<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ngircd/src, branch rel-25</title>
<subtitle>ngircd with make
</subtitle>
<id>http://git.nakidai.ru/ngircd/atom?h=rel-25</id>
<link rel='self' href='http://git.nakidai.ru/ngircd/atom?h=rel-25'/>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/'/>
<updated>2019-01-01T23:10:06+00:00</updated>
<entry>
<title>2019!</title>
<updated>2019-01-01T23:10:06+00:00</updated>
<author>
<name>Alexander Barton</name>
<email>alex@barton.de</email>
</author>
<published>2019-01-01T23:10:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/commit/?id=96bad2b861cffcd7724cf26464da4568852241de'/>
<id>urn:sha1:96bad2b861cffcd7724cf26464da4568852241de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement new configuration option "MaxPenaltyTime" (#251)</title>
<updated>2018-11-28T13:13:09+00:00</updated>
<author>
<name>Alexander Barton</name>
<email>alex@barton.de</email>
</author>
<published>2018-11-28T13:13:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/commit/?id=456eea6f1896528dad344ed2c254fd07bdc3a4b1'/>
<id>urn:sha1:456eea6f1896528dad344ed2c254fd07bdc3a4b1</id>
<content type='text'>
This option configures the maximum penalty time increase in seconds, per
penalty event. Set to -1 for no limit (the default), 0 to disable
penalties altogether. ngIRCd doesn't use penalty increases higher than 2
seconds during normal operation, so values higher than 1 rarely make
sense.

Disabling (or reducing) penalties can greatly speed up "make check" runs
for example, see below, but are mostly a debugging feature and normally
not meant to be used on production systems!

Some example timings running "make check" from my macOS workstation:

- MaxPenaltyTime not set: 4:41,79s
- "MaxPenaltyTime = 1":   3:14,71s
- "MaxPenaltyTime = 0":     25,46s

Closes #249.</content>
</entry>
<entry>
<title>Fix compilation without deprecated OpenSSL APIs (#252)</title>
<updated>2018-11-28T13:10:46+00:00</updated>
<author>
<name>Rosen Penev</name>
<email>rosenp@gmail.com</email>
</author>
<published>2018-11-28T13:10:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/commit/?id=7690716e4fa8ac3ae9b513f4adba685f9e2c0e1f'/>
<id>urn:sha1:7690716e4fa8ac3ae9b513f4adba685f9e2c0e1f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix some compiler warnings of Apple Xcode/Clang</title>
<updated>2018-10-30T00:53:24+00:00</updated>
<author>
<name>Alexander Barton</name>
<email>alex@barton.de</email>
</author>
<published>2018-10-30T00:53:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/commit/?id=c8162a80beba80f3b1d04fdba8e74bf5366c47f7'/>
<id>urn:sha1:c8162a80beba80f3b1d04fdba8e74bf5366c47f7</id>
<content type='text'>
For example:

* src/ngircd/irc-login.c:102:21: Implicit conversion loses integer
  precision: 'int' to 'char'

* src/ngircd/conn.c:1084:9: Implicit conversion turns floating-point
  number into integer: 'double' to 'bool'

* src/tool/tool.c:85:10: Implicit conversion loses integer precision:
  'int' to 'char'
</content>
</entry>
<entry>
<title>Fix typos/errors/... in file comments</title>
<updated>2018-10-30T00:48:31+00:00</updated>
<author>
<name>Alexander Barton</name>
<email>alex@barton.de</email>
</author>
<published>2018-10-30T00:48:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/commit/?id=e8e04b4c8fd63d075ffa6b85327c4b90d7005051'/>
<id>urn:sha1:e8e04b4c8fd63d075ffa6b85327c4b90d7005051</id>
<content type='text'>
Found by Xcode/Clang code analyzer. No functional changes.
</content>
</entry>
<entry>
<title>Allow a 5th parameter in WEBIRC</title>
<updated>2018-10-07T21:33:27+00:00</updated>
<author>
<name>ItsOnlyBinary</name>
<email>ItsOnlyBinary@users.noreply.github.com</email>
</author>
<published>2018-10-07T21:33:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/commit/?id=d0f9d3d92e8f3f1d33ece89f751b01343b5e1141'/>
<id>urn:sha1:d0f9d3d92e8f3f1d33ece89f751b01343b5e1141</id>
<content type='text'>
According to an IRCv3 extension, the 5th parameter can be used for extra
flags that are fine to ignore for now, but limiting WEBIRC params to 4
causes a syntax error.

See https://github.com/ircv3/ircv3-ideas/issues/12 for more information.

This closes #247.</content>
</entry>
<entry>
<title>Initialize listening socket: Streamline error message</title>
<updated>2018-04-01T00:19:08+00:00</updated>
<author>
<name>Alexander Barton</name>
<email>alex@barton.de</email>
</author>
<published>2018-04-01T00:18:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/commit/?id=6af9476cad286d898c7bf72d477039425cb788e7'/>
<id>urn:sha1:6af9476cad286d898c7bf72d477039425cb788e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Correctly retry outgoing conenctions when forking a resolver failed</title>
<updated>2018-03-25T19:59:01+00:00</updated>
<author>
<name>Alexander Barton</name>
<email>alex@barton.de</email>
</author>
<published>2018-03-25T19:55:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/commit/?id=b4f7aae67e1ab3be8f01c27190316683fbe9f0d8'/>
<id>urn:sha1:b4f7aae67e1ab3be8f01c27190316683fbe9f0d8</id>
<content type='text'>
When ngIRCd failed to spawn a new resolver subprocess, the connection
structure was still marked as "SERVER_WAIT", and no new attempt to
connect to this server was made.

Thanks to Robert Obermeier for reporting this bug!

Closes #243.
</content>
</entry>
<entry>
<title>Fix use-after-free while handling ERROR during client login</title>
<updated>2018-03-11T20:18:38+00:00</updated>
<author>
<name>Alexander Barton</name>
<email>alex@barton.de</email>
</author>
<published>2018-03-11T20:06:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/commit/?id=798de94d6556bdf2c6019f368ad7441fe6e2d1be'/>
<id>urn:sha1:798de94d6556bdf2c6019f368ad7441fe6e2d1be</id>
<content type='text'>
This patch fixes a "use after free" bug which is hit while processing
ERROR commands while a new client is logging into the server, which
leads to only the CLIENT structure becoming freed, but not the
CONNECTION structure, too. And this leads to the daemon accessing the
already freed CLIENT structure later on ...

So now IRC_ERROR() uses the correct function Conn_Close() to correctly
free both structures.

The CONNECTION structure is cleaned up later on, and the freed CLIENT
structure can't be overwritten during normal operations, therefore this
bug normally can't crash (DoS) the service -- but you can easily hit it
when using the GCC option "-fsanitize=address", or run ngIRCd with
Valgrind.

Thanks a lot to Joseph Bisch &lt;joseph.bisch@gmail.com&gt; for discovering
and reporting this issue!
</content>
</entry>
<entry>
<title>Only send TOPIC updates to a channel when the topic actually changed</title>
<updated>2018-03-11T20:01:45+00:00</updated>
<author>
<name>Alexander Barton</name>
<email>alex@barton.de</email>
</author>
<published>2018-03-11T19:57:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.nakidai.ru/ngircd/commit/?id=ac341176da5bbe99a9b07353f6e9790575ce1493'/>
<id>urn:sha1:ac341176da5bbe99a9b07353f6e9790575ce1493</id>
<content type='text'>
This prevents the channel from becoming flooded by unecessary TOPIC
update messages, that can happen when IRC services try to enforce a
certain topic but which is already set (at least on the local server),
for example. Therefore still forward it to all servers, but don't inform
local clients (still update setter and timestamp information, though!)
</content>
</entry>
</feed>
