Commits
- Commit:
69797845cb8bbabcf64a15e51079395db062fdf4
- From:
- jrmu <jrmu@ircnow.org>
- Date:
Remove debug/sniffer build options by default
- Commit:
7dd294693b9cacafb18987a2fb50685aca9ddd93
- From:
- jrmu <jrmu@ircnow.org>
- Date:
Added build script for OpenBSD
- Commit:
aa020ad7cd0c4c9e019ff4652499f87ce7e6b59f
- From:
- jrmu <jrmu@ircnow.org>
- Date:
Increase buffer size to prevent buffer exhaustion
- Commit:
71ae2b7d7f9ae7bc02ed072c07100de0027373d6
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 26.1
- Commit:
65558a46e5200b8b2dd79209ecdbff3da523202b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update AUTHORS file
- Commit:
afb17ff08e650d2b78fdf463e97a7ef4da08dfc1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update config.guess and config.sub to recent versions
- config.guess: 2020-12-22
- config.sub: 2020-12-22
- Commit:
cbd8e5b5d6214c394e4482ab3720522af0f5ff58
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
dc832cd34804b9e37f427cebee6a6a440c7f3ec6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Platforms.txt
- Add aarch64/apple/darwin (Apple CLang 12.0.0)
- Add x86_64/unknown/openbsd6.7 (gcc 4.2.1)
Thanks to Götz Hoffart <goetz@hoffart.de>
- Commit:
2ff76d7f480b87e811af81cf9eaa9822b77863c4
- From:
- Alexander Barton <alex@barton.de>
- Date:
2021! :-)
Happy new year!
- Commit:
f3c89af845ede2dd2e1ccc5e9f1bfdc036409b88
- From:
- Alexander Barton <alex@barton.de>
- Date:
Explicitely cast Conf_MaxPenaltyTime (time_t) to "long"
This fixes the following compiler warning, for example on OpenBSD:
conf.c: In function 'Conf_Test':
conf.c:391: warning: format '%ld' expects type 'long int', but argument
2 has type 'time_t'
Thanks to Götz Hoffart for reporting this!
- Commit:
d777ce6600825208cca21b97fd3ab55385de3424
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't set AI_ADDRCONFIG, even when it exists
Basically, the issue described in #281 is that the test suite uses the
IPv4 address 127.0.0.1 on an IPv6-only host. But this is the "safest"
thing to do in (almost) all other setups: relaying on DNS host names
makes things even more complex, as different systems map 127.0.0.1
differently (including the reverse lookup; that's why we switched to
127.0.0.1 back in 2014, see commit 3f807e10457).
But with AI_ADDRCONFIG set, on an IPv6-only host, we prevent 127.0.0.1
to get translated properly, even when the loopback interface has this
address configured! So don't set it any more.
The drawback is that the resolver possibly returns more addresses now,
even of an unsupported/not connected address family; but this shouldn't
do much harm in practice, as ngIRCd iterates over all returned addresses
while trying to establish an outgoing connection.
Closes #281.
- Commit:
5ccdb26885ff5216b068ccd3ba169aa3cbbb6a73
- From:
- Alexander Barton <alex@barton.de>
- Date:
FAQ.txt: There is no "CVS" anymore, we use Git!
- Commit:
c7781cf7eff5e199fce2b4a7babad0b59d7b315e
- From:
- Rolf Eike Beer <eike@sf-mail.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Fix typo in comment: operaor -> operator
- Commit:
2056de82ae47a9128e857bb32313f9106b1c3f0f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Revert "Show allowed channel types in ISUPPORT(005) numeric only"
The ISUPPORT(005) numeric lists only channel prefixes which are listed
in the "AllowedChannelTypes" configuration option. And if this is the
empty string ("") for example, this now results in IRC clients assuming
"oh, no channel prefix characters at all, so no channels at all, so no
PRIVMSG can go to any channel" -- which is not the case when there are
pre-defined channel set up or other servers still having channels!
So "allowed channel types" != "supported channel types", and we always
have to list all supported ones in the ISUPPORT(005) numeric!
This reverts commit 4b7e8db418340576c95f1edad8470b66d6fe886d.
Closes #285.
- Commit:
5cf0eabd841b644eef8022dad97fa96aa3661c6a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: Wait 2 seconds after reloading the daemon
On reload, all listening ports are closed, configuration updated, and
then opened again. Which leads to subsequent tests running while the
daemon isn't listening on any ports, and that's why the tests fail.
The "proper" way whould be to loop and check for open ports, but waiting
is what the start-server.sh script does right now, so stick with this in
reload-server.sh for now as well.
This fixes the issue, at least on my RaspberryPi ...
Closes #280.
- Commit:
6e382889a30462382e84a426874881d2f7da80e4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Platforms.txt
- Update powerpc/apple/darwin8.11.0 (gcc 4.0.1)
- Add x86_64/apple/darwin19.6.0 (Apple clang 12.0.0)
- Add x86_64/unknown/freebsd12.1 (FreeBSD clang 8.0.1)
- Update x86_64/pc/linux-gnu (gcc 8.3.0)
- Add x86_64/unknown/netbsd9.0 (gcc 7.4.0)
- Add x86_64/unknown/openbsd6.6 (gcc 4.2.1)
- Add x86_64/unknown/openbsd6.6 (OpenBSD clang 8.0.1)
Thanks to Götz Hoffart <goetz@hoffart.de> for the PowerPC test!
- Commit:
e699325fd043d747b7256291154bf4fcaa9aa90e
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Try to mangle CLang name more intellligently
- Commit:
0ae158a492221421f9e8b531d16651e3bcd9ccee
- From:
- xnaas <8271327+xnaas@users.noreply.github.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Fixed Atheme Links
.org and not .net
- Commit:
0f717bfd772e0aa904e357983f25a6299b6b7e71
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 26
- Commit:
ed9d8e79507b0a10290d1c5b1acfaa3a1c1ab2a9
- From:
- Alexander Barton <alex@barton.de>
- Date:
INSTALL.md: Add instructions for ArchLinux (pacman)
- Commit:
4bcf4613f9719f70f94ef4efd290fcc35d9c51f2
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 26~rc2
- Commit:
c55a83280662a692e46a4ca3f7252d81aa01b50e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS, ChangeLog and doc/Platforms.txt files
- Commit:
3dedd57f7f9e6e8c647ff87ee9015af2e728181b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add AppStream metadata file: contrib/de.barton.ngircd.metainfo.xml
- Commit:
07cb8ed9ae14307b7b9335faa957baa340632e57
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't send invalid CHANINFO commands when no key is set
It can happen that a channel is +k, but no key is set: for example by
misconfiguring a pre-defined channel. In this case, ngIRCd sent an
invalud CHANINFO command ("CHANINFO #test +Pk 0 :'", note the unset
key represented by the two spaces) to its peers.
Fix this and enhance the CHANINFO documentation.
- Commit:
b003d469f18c843725de4f6f46b7ca0714e0a984
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
15c744428358b2a9a1014e10ce803604cc72deae
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update description text in manual page, too!
- Commit:
eb46f3d96d9617fad2887cf465516ea9c03dd174
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.spec: Fix name of README.md and INSTALL.md
- Commit:
a84cba8f78d126bbdbc185db9b70e3c6e7d34b1e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update description texts
Bring them in line with the updated texts on the homepage.
- Commit:
d697de31862bc659461498bb5169e7a9bdd525b2
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_SQUIT(): Fix use-after-free when unregistering the sending client
- Commit:
02cf31c0e267a4c9a7656d43ad3ad4eeb37fc9c5
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_SERVER: Make sure that the client sent a prefix
The SERVER command is only valid with a prefix when received from other
servers, so make sure that there is one and disconnect the peer if not
(instead of crashing ...).
This obsoletes PR #275.
Thanks Hilko Bengen (hillu) for finding & reporting this as well for the
patch & pull request! But I think this is the "more correct" fix.
- Commit:
430bb223765281487e5c6d415a8efb91e2bf3320
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance debug logging for PONG commands
Distinguish between expected and unexpected PONG commands.
- Commit:
dc6807338e240d8093f43337dab7bfe488c35c4a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix PING-PONG handling when processing backlog in read buffers
Prior to this commit, the PONG wasn't registered correctly, becauuse the
"last ping" time was set to time(NULL), which could be bigger than the
"last data" time stamp, for example when handling the read buffer took
more than 1 second -- and this resulted in the PONG time out kicking in
effectively disconnecting a newly linked server for example, because
ngIRCd thought it was still waiting for a PONG: last data < last ping.
Now the "last ping" value has three possible values:
0: new connection, no PING, no PONG so far.
1: got a PONG, no longer waiting for a PONG.
<t>: time stamp of last sent out PING command.
- Commit:
0d503945cb527e275ef6644a234a6876ff61322b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Revert "Set the "last data" time to "last ping" time when updating the latter"
This patch completely broke the PING-PONG logic: now ngIRCd never
disconnects any stale peers but keeps sending out PINGs over and over
again ...
The real issue (server disconnects right after connect) will be fixed in
the next commit, but let's revert to the somewhat "half-broken but
'known' state" first ...
This reverts commit 79a917f954bef8089967786bd3597a6e5ff5c336.
- Commit:
bae68eb612ef0d8aa515e03c1479e2a57d243dee
- From:
- Hilko Bengen <bengen@hilluzination.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
testsuite: Add missing files to EXTRA_DIST
26~rc1 as extracted from tarball cannot be built/tested with SSL
support because of a missing script and certificates.
- Commit:
03aec7d0b3e40faac852a26abdeb0242e8e77b3f
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 26~rc1
- Commit:
5d5fdfb3fd582d963b406b2003d1f0f2b5abbeb1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update config.guess and config.sub to recent versions
- config.guess: 2020-04-26
- config.sub: 2020-05-04
And set both scripts +x, they are executable.
- Commit:
05261c020e2c0c4a843f915b3d8ec0dc886a131c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
e8608075006ba3aef2b3bbe26405fb342870e24f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add missing authors to AUTHORS, tweak ".mailmap" file
- Commit:
e889de9d92adf09f9c77df03d8a85736bc15d380
- From:
- Alexander Barton <alex@barton.de>
- Date:
Tweak & update doc/HowToRelease.txt a bit ...
- Commit:
fcf2874a9d64675c64afbce58cd4cdc73de54978
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow more characters per line in MOTD and help text files
Change the line buffer in the Read_TextFile() function from 127 to
COMMAND_LEN (=512) bytes. Lines can't even get that long, because they
have to be prefixed before being sent to the client, so this is a sane
maximum.
This allows for even more "fancy" and "wider" MOTDs :-)
Closes #271.
- Commit:
4b7e8db418340576c95f1edad8470b66d6fe886d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Show allowed channel types in ISUPPORT(005) numeric only
Don't show the static list of all possibly available channel types ...
Closes #273.
- Commit:
bc22f41c513f053374be64058db7494974b65a8f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add x86_64/apple/darwin19.0.0
- Add x86_64/apple/darwin19.0.0 (Apple clang 11.0)
- Commit:
d11f13f187ec9b03693812b3d97040c81f5eb8a5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Platforms.txt
- Update powerpc/apple/darwin8.11.0 (gcc 4.0.1)
- Add mips/sgi/irix6.5 (SGI C compiler)
- Add mipsel/unknown/netbsd8.0 (gcc 5.5.0)
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
21f33e591185fcd8ea5fa02924ffca6f7bf6a686
- From:
- Alexander Barton <alex@barton.de>
- Date:
SSL test server: Use port 6790, like "test server #2"
Don't use the "standard" IRC SSL port 6697, as this easily collides with
real (ng)IRCd instances running on the same machine.
And by reusing port 6790, which is already used by the "test server #2",
we don't need any other port than the test suite already uses.
- Commit:
db88b92c8adf93ac130d9a9f955119e59c90aa1d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Git: Ignore generated files of SSL tests
- Commit:
02850008f4a4e8fff5799157d21ee7924345b3e1
- From:
- Alexander Barton <alex@barton.de>
- Via:
- GitHub <noreply@github.com>
- Date:
Merge pull request #269 from hillu/gnutls-reload-cert
Add support for GnuTLS certificate reload.
Thanks a lot, Hilko Bengen!
- Commit:
52d8fa2c09c36632c1cacd8242e22e9de920ec9f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Client_SetHostname() to not use strpbrk()
Not sure about the portability of strpbrk() in really ancient OS, and
this was the only place where it became used recently in ngIRCd ...
So let's play it safe! ;-)
- Commit:
11ea6a5070e27194a28267937067203d13e5b4a4
- From:
- Johann Hartwig Hauschild <git@hauschild.it>
- Date:
updating testsuite to support ssl-tests
- Commit:
1f40776bc166ece8dad0d333905481aa28786cb5
- From:
- michi <michi+ngircd@dataswamp.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Allow hostmask cloaking when rDNS is disabled
- Commit:
86f3c563d6a6f86fd4f8c9fc303808bbf85d29c3
- From:
- Hilko Bengen <bengen@hilluzination.de>
- Date:
GnuTLS: Eliminate memory leaks for DH parameters, priorities cache
The DH parameters reference has to be stored next to the x509_cred
which holds a reference to it.
- Commit:
387a29a7fdbf00f5d792ba1450c608db8670308a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't wait for the network when read buffers possibly hold commands
There is no point in waiting up to one second for the network receiving
new data when there is still a read buffer holding at least one command;
we shouldn't waste time but handle it immediately!
- Commit:
eead4a631feb4d3cb8d7fefb2b09207d771035ca
- From:
- Hilko Bengen <bengen@hilluzination.de>
- Date:
Add support for GnuTLS certificate reload
This requires keeping track of currently active certificates, so those
are stored separately, along with a reference counter, and discarded
when they are no longer in use.
- Commit:
54fac576030d7aaf8bce4a982c880fe18680741e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Handle commands in the read buffer before reading more data
If there are more bytes in the read buffer already than a single valid
IRC command can get long (513 bytes, COMMAND_LEN), wait for this/those
command(s) to be handled first and don't try to read even more data from
the network (which most probably would overflow the read buffer of this
connection soon).
- Commit:
9c5e42458ea8dc2aa8db5f122aaa4296d31df67b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update documentation to reflect "[Channel]->Modes" changes
No longer mention "[Channel]->Key" and "[Channel]->MaxUsers".
- Commit:
9f05f5ee61d23292d55edef09439c38936b86037
- From:
- Alexander Barton <alex@barton.de>
- Date:
Read_Request(): Clean up code and add some more comments
No functional changes.
- Commit:
61ac8be2fd36ffbf55d73215aa3a32ab01e94284
- From:
- Alexander Barton <alex@barton.de>
- Date:
Convert INSTALL and README files to Markdown
This requires some changes to the build system, for example to comply
with the expectations of the GNU autoconf/automake tools ...
- Commit:
629a45ee0f4469729f6a9c22a983000fcc39fe61
- From:
- Alexander Barton <alex@barton.de>
- Date:
Revert "Increase read buffer size for server connections"
This reverts commit c6e3c13f27744971fcb1d2de4e561d3bcdaa5aed.
This sounded like the right approach at first, but I'm not that sure
that it really makes sense to have different sizes of read buffers: the
per-connection read buffer only needs to keep data that is needed to
parse one full command, be it plain text, encrypted and/or compressed.
Then ngIRCd should handle this one command, move leftover data to the
beginning of the buffer and read the next chunk from the network that is
missing to get the next complete command (512 bytes at max).
So I revert this for now and try to fix the logic in Read_Request(),
which is broken nevertheless, as it results in servers becoming
disconnected during "server burst" when "big" lists are transferred.
- Commit:
3aa1d880fe824fd8a3e6ce1db3a66bd4ae56b6bc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add deprecation warnings for "Key" and "MaxUsers" in [Channel]
- Commit:
8d414b079c1b4b0b8c88c8ab5cf4b27bf0942752
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly use Config_Error() instead of Log() in Read_Config()
The name of the Config_Error() function is misleading: it is not only
used to show configuraton errors, but all messages shown during normal
operation as well as for "config testing": it takes care of the correct
formatting of the messages (syslog, forground logging, config testing).
This fixes commit bb1d014abad8.
- Commit:
ba3b22b851d1b20fc918569a50e328ed7edf906d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: Test multiple "Modes" lines in [Channel] sections
- Commit:
8a37695bf363a7cc2eb4bf3d17ff651f92cab253
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/nglog.sh: Looks like GNU awk (gawk) is needed ...
- Commit:
4d519cfdbf57344aeaa3610a302bf4c654c058f6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Predefined channles: Fix handling of legacy configuration options
Fix the handling of legacy "Key" and "MaxUsers" [Channel] settings:
- Activate them before evaluating the "Modes" parameter, to allow the
latter to override those legacy options.
- Enforce setting the respective +k/+l mode(s) to support the legacy
"Mode = kl" notation, which was valid but is an invalid MODE string:
key and limit are missing! So set them manually when "k" or "l" are
detected in the first MODE parameter.
- Sort modes +kl alphabetically, adjust test suite accordingly.
- Commit:
71e9bb1ca6378d517b491db54c42e992e0707ed1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Travis-CI configuration, "sudo" is depreacted
- Commit:
fed22184c57be6959b1906138ce83f5476ec2efa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance logging while setting up predefined channels
- Commit:
0dc692b1f77a147d9d5bf63c1eb7889a239420b4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Log G-/K-Line changes only when not initiated by a server
This prevents the log from becomming spammed during "net bursts".
- Commit:
a3072ce698873d3732160b1cee63a35ccb75d5b4
- From:
- michi <michi+ngircd@dataswamp.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Allow multiple "Modes =" lines per [Channel] section
- Commit:
79a917f954bef8089967786bd3597a6e5ff5c336
- From:
- Alexander Barton <alex@barton.de>
- Date:
Set the "last data" time to "last ping" time when updating the latter
This is required because the PING can be received quite a bit earlier
than it is actually handled, for example during "server burst" or other
heavy operations:
So the times won't match and PING-PONG logic would become garbled,
because we test for "last ping > last data" to determine if a PING
already was sent or not.
- Commit:
decf98d5efce97f1abfbd125a9aae92a2e94b89f
- From:
- michi <michi+ngircd@dataswamp.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Evaluate initial channel modes
Allow setting arbitrary channel modes in the config file.
Closes #55.
- Commit:
42e8654d7b04197eb90ce1ccd8a055ffb6309c3d
- From:
- Alexander Barton <alex@barton.de>
- Date:
INSTALL.md: Add not about removed legacy options
- Commit:
a77353361bc11a25f30bd1ea13d54cb92e1134a4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: add missing files in src/testsuite, and sort them
- Commit:
1fc54ebef1e511c7a512f01e05dea064b2f0e0b9
- From:
- sam_c <11667869+thesamesam@users.noreply.github.com>
- Via:
- GitHub <noreply@github.com>
- Date:
Makefile.am: Replace make with ${MAKE} (#270)
Fixes warnings such as:
"warning: jobserver unavailable: using -j1. Add `+' to parent make rule."
Signed-off-by: Sam James (sam_c) <sam@cmpct.info>
- Commit:
3f7caff630d3268beb657dfc0f2662fd5b567dcd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "FNC" (forced nick changes) to ISUPPORT(005) numeric
Most probably this doesn't make any difference to any client, but it
seems correct. See <http://www.irc.org/tech_docs/005.html> for details.
- Commit:
c2c84a1d261fc84ce9234d212bdff705548d8465
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update AUTHORS file
- Commit:
8d173a33286f47ac5678a8ce8cdd756295342cb1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix memory leak in portabtest Check_strtok_r()
Fix the following Clang "LeakSanitizer" error (which isn't quite
relevant in this test program, but anyway):
ERROR: LeakSanitizer: detected memory leaks
Direct leak of 7 byte(s) in 1 object(s) allocated from:
#0 0x7f8c4d022810 in strdup (/lib/x86_64-linux-gnu/libasan.so.5+0x3a810)
#1 0x5601a801491a in Check_strtok_r (/net/arthur/home/alex/Develop/ngIRCd/ngIRCd.git/src/portab/portabtest+0x291a)
#2 0x5601a8014d77 in main (/net/arthur/home/alex/Develop/ngIRCd/ngIRCd.git/src/portab/portabtest+0x2d77)
#3 0x7f8c4c69009a in __libc_start_main ../csu/libc-start.c:308
SUMMARY: AddressSanitizer: 7 byte(s) leaked in 1 allocation(s).
FAIL: portabtest
- Commit:
05324b232f1e35204f7470d375247a87791041b7
- From:
- Alexander Barton <alex@barton.de>
- Date:
ChangeLog: Add missing patch attribution
- Commit:
e7cb9b1a001a97b1edf0e862808cbd0be5264a7a
- From:
- michi <michi+ngircd@dataswamp.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Reuse old SSL key if loading a new one failed
- Commit:
ea1207238f554779964df81e0b0153c2da47b25c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
c411643d451ea9ca196c931bcdffced04ea42ad1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Xcode project for latest Xcode version (11.3.1)
- Commit:
830f00e9536daf35692b2d17ea3ddd3b6b27ea17
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/nglog.sh: Use bash(1) as interpreter
bash(1) is required to handle the forking and output redirection
connectly, sh(1) -- at least dash(1) on Debian -- fails ...
This fixes the last commit, 14777c18c.
- Commit:
2e1797d5a59a960dd2822d855a1d6a813538f738
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove outdated OpenBSD/NetBSD systrace.policy
Systrace was removed from OpenBSD and NetBSD, so remove this (old and
outdated?) configuration file from the ./contrib directory.
See <https://en.wikipedia.org/wiki/Systrace>.
Thanks to "michi" for pointing this out on #ngircd!
- Commit:
14777c18cfc92e020b937d58e0bfb6f4779f8f2c
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/nglog.sh: Fork awk(1), deal better with signals (CTRL-C)
- Commit:
f5fa7db4ba46521e49a4ae4e1ba9d09c918926b3
- From:
- Alexander Barton <alex@barton.de>
- Date:
2020!
- Commit:
e4a6bd509966396390c8d6affceedf35785159bf
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Xcode project for latest Xcode version (11.4.1)
- Commit:
22cae1b5fc6779a1d74a5ca10ba6c8af45028e98
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance handling of command line errors, and "--help" & "--version"
Return with exit code 0 ("no error") when "--help" or "--version" was
used (this resulted in exit code 1, "error" before).
And exit with code 2 ("command line error") for all invalid command
line options, and show the error message on stderr (message was printed
to stdout before, and exit code was 1, "generic error").
This new behaviour is more in line with the GNU "coding standards",
see <https://www.gnu.org/prep/standards/html_node/_002d_002dhelp.html>.
- Commit:
ab62dd27dc8482c9df0d6bcc64627708371699c0
- From:
- michi <michi+ngircd@dataswamp.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Remove legacy configuration options
Remove legacy configuration options and related functions that have
been marked for removal for some time:
- PredefChannelsOnly (v22)
- NoticeAuth (v24)
- NoXXX (v19)
- Old '[GLOBAL]' section handling (v19)
- Commit:
fb5aa8f65213e97816fc16c2b794e030e0bd6da6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix and update Xcode project
- Reference correct contrib/Makefile.am file
- Correctly sort contrib/nglog.sh
- Add "ORGANIZATIONNAME" setting
- Commit:
c6e3c13f27744971fcb1d2de4e561d3bcdaa5aed
- From:
- michi <michi+ngircd@dataswamp.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Increase read buffer size for server connections
This applies the same logic we have for write buffers to distinguish
between server and client connections and sets the maximum buffer size
accordingly. As a result peering with servers with many GLINE/KLINEs
does not kill the connecting server connection anymore.
- Commit:
91e87af605e06aeed0986ed7ae826221bc1dc56f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update ngindent.sh name in Makefile and Xcode project, too
- Commit:
04de1423eb26da60c192d343a7e7a6bcda2aca37
- From:
- michi <michi+ngircd@dataswamp.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Fix recursion bug on write error
Depending on the stack size, too many clients on the same channel
quitting at the same time would trigger a crash due to too many
recursive calls to Conn_Close().
- Commit:
9286686c0926274ef222a37d65fbd2b4f3ad1918
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/README: Add nglog.sh script to the list
- Commit:
13b8324c4a6f46e18e58883630808bc8c4ed9e80
- From:
- michi <michi+ngircd@dataswamp.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Fix hostmask cloaking bug for IPv6 too
- Commit:
1f69f1d0abe8fade4dd3e968220ea6309598c3b3
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/nglog.sh: Use bright colors for warning & error messages
- Commit:
f27827d7937375b5348107ca7427abf74c9eff3d
- From:
- michi <michi+ngircd@dataswamp.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Unbreak GCC 10 (-fno-common) build
- Commit:
b03fcaab5aaa07d943561dca6948358f9dc51d4c
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/ngindent.sh: Enhance and rename script
Add more GNU indent options for better results, and add the ".sh" suffix
to bring this script in line with the others in the contrib/ folder.
- Commit:
70eb1ee57da9cd0d09d94c05e52308ec2e5ba45b
- From:
- Windree <57554809+Windree@users.noreply.github.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Update install documentation: libgnutls-dev
According https://packages.debian.org/search?keywords=libgnutls28-dev
in Ubuntu and Debian libgnutls-dev package name is libgnutls28-dev
Closes #264.
Thanks Windree!
- Commit:
80437b253377fdd19274d974eb8ccc248ac7beb0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add simple log colorization script: ./contrib/nglog.sh
This script parses the log output of ngircd(8), and colorizes the
messages accoring to their log level. Example usage:
ngircd -f $PWD/doc/sample-ngircd.conf -np | ./contrib/nglog.sh
- Commit:
de1de4055123e95fd9dc1b7e40c69a760777079d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Log received signals (using strsignal(3), when available)
- Commit:
4169cb25e620cbd8a54cd19b509a8f88d7c295f9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make test suite compatible with Haiku
- Commit:
9a69c02567ed415286caa67f238e98018ccd758d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add VIM "swap files" (*.swp) to .gitignore file
- Commit:
147e424d98091a3627091edbfdab9fca52f21938
- From:
- JRMU <jrmu@lecturify.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Fix hostmask cloaking bug, don't cloak multiple times
Previously, each server would cloak every user's hostmask. The problem
is that if a network has more than one server, then a user's hostmask
would get cloaked twice. This patch ensures that a server only cloaks
the hostmask if it has not yet been cloaked (the period indicates it's
still an IP address).
Closes #228.
- Commit:
e954b59d414fb32b89291514d0d690c9ebabba49
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix some typos (documentation files, ngircd.conf manual page, ...)
Spotted by Étienne Mollier <etienne.mollier@mailoo.org> and Christoph
Biedl <debian.axhn@manchmal.in-ulm.de>, see Debian bug #932462
(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932462). Thank you!
- Commit:
b1893e740e745cc5081ef59719bb10bc5f729fdb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make sure HAVE_LIBSSL is defined, even when using pkg-config
Without this, the configure script assumes and states that OpenSSL will
be used, but the code won't include support for it because there we use
the "HAVE_LIBSSL" define to test for it ("#ifdef HAVE_LIBSSL").
So define the latter when pkg-config(1) is used, too.
This fixes #257, a regression introduced by commit ad86a41ee :-/
- Commit:
2c495a1fe7c25494248204b725afaffc8c71411a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enlage buffers of info texts to 128 bytes.
This includes:
- "Real name" of a client (4th filed of the USER command).
- Server info text ("Info" configuration option).
- Admin info texts and email address ("AdminInfo1", "AdminInfo2" and
"AdminEmail" configuration options).
- Network name ("Network" configuration option).
The limit was 64 bytes before ...
Closes #258.
- Commit:
52c53f523a8fc81de7b4b2398f1e09e5df482690
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add ".vscode" to .gitignore file
- Commit:
f8002057f20e71f24b52c3aab5df3dc1760a151e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Streamline handling of invalid and unset server name
Don't exit during runtime (REHASH command, HUP signal), because the
server name can't be changed in this case anyway and the new invalid
name will be ignored.
- Commit:
13122bc97d13c2630ab4b25a621486d0b7a0d134
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix and extend documentation a little bit
- Fix syntax of LINKS amd LIST commands.
- Whitespace and spelling fixes.
- Add some more information about IRCv3 support.
- Commit:
bb1d014abad85b6938cf9d3e88e64f4ee6757ede
- From:
- Alexander Barton <alex@barton.de>
- Date:
Slightly reoder startup steps, and enhance logging
- Show name of configuration file at the beginning of start up.
- Add a message when ngIRCd is ready, including its host name.
- Show name of configuration file on REHASH (SIGHUP), too.
- Change level of "done message" to NOTICE, like "starting" & "ready".
- Initialize IO functions before channels, connections, clients, ...
- Commit:
ad8c4b8efb4c77c961516db6ed8917a6421e3d56
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update autogen.sh & INSTALL for pkg-config requirements
- Commit:
ad86a41eeed9f85d74bb50a25fa0bf4515aaf3af
- From:
- Fabrice Fontaine <fontaine.fabrice@gmail.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
configure.ng: use pkg-config to find PpenSSL dependencies
OpenSSL can depends on lz or latomic so use pkg-config to find those
dependencies and fallback to existing mechanism.
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Closes #256.
- Commit:
aec86aa84c7033757d36ad31aa6d87b271fe1e5b
- From:
- Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.conf.5: Fix wording as suggested by lintian
- Commit:
74631fa72870fd23040cd6fdda7797c4f0a2c50d
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 25
- Commit:
1d4f80b42297555ef1a72eec553c59f9ee1e8dce
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Update x86_64/apple/darwin16.5.0 (Apple clang 8.1)
- Add x86_64/apple/darwin17.7.0 (Apple clang 10.0)
- Add x86_64/apple/darwin18.2.0 (Apple clang 10.0)
- Add x86_64/unknown/haiku (gcc 7.3)
- Update x86_64/pc/linux-gnu (gcc 6.3.0)
- Commit:
fe01ef9a518d3596f60e0aa1602762c05132d31f
- From:
- shankari <shankari@eecs.berkeley.edu>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Fix documentation of MotdPhrase length (#254)
The max length is actually 126 (< 127), since the check errors out if
length >= 127. See
<https://github.com/ngircd/ngircd/blob/master/src/ngircd/conf.c#L1487>.
I didn't look through the history to see when the change happened. I
just happened to find during a migration that my 140 character MOTD
didn't work.
Update sample configuration file as well as the man page.
- Commit:
96bad2b861cffcd7724cf26464da4568852241de
- From:
- Alexander Barton <alex@barton.de>
- Date:
2019!
- Commit:
456eea6f1896528dad344ed2c254fd07bdc3a4b1
- From:
- Alexander Barton <alex@barton.de>
- Via:
- GitHub <noreply@github.com>
- Date:
Implement new configuration option "MaxPenaltyTime" (#251)
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.
- Commit:
7690716e4fa8ac3ae9b513f4adba685f9e2c0e1f
- From:
- Rosen Penev <rosenp@gmail.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Fix compilation without deprecated OpenSSL APIs (#252)
- Commit:
c97fb2e93e9c7d66b1ce70fa681a762d1f430521
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Xcode project for latest Xcode version (10.0)
- Commit:
c8162a80beba80f3b1d04fdba8e74bf5366c47f7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix some compiler warnings of Apple Xcode/Clang
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'
- Commit:
e8e04b4c8fd63d075ffa6b85327c4b90d7005051
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix typos/errors/... in file comments
Found by Xcode/Clang code analyzer. No functional changes.
- Commit:
a38eea8987b32f3d17ae04eabdd9d114af57bd25
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update doc/Protocol.txt for IRCv3 WEBIRC extension
See commit d0f9d3d92.
- Commit:
d0f9d3d92e8f3f1d33ece89f751b01343b5e1141
- From:
- ItsOnlyBinary <ItsOnlyBinary@users.noreply.github.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Allow a 5th parameter in WEBIRC
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.
- Commit:
bb4101cd6c1149cbb9a8b7e886c67f637de22541
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update HowToRelease.txt: Include the website
- Commit:
e29e15ca27b7ede90415fddaf3406974cf634a95
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Update x86_64/unknown/freebsd10.0 (FreeBSD clang 3.3)
- Add x86_64/unknown/freebsd10.3 (FreeBSD clang 3.4)
- Update i386/pc/solaris2.11 (gcc 4.8.2)
- Add mipsel/openwrt/linux-uclibc (gcc 4.8) [cross-compiler]
- Add x86_64/pc/linux-gnu (gcc 5.4.0) [Win10/WSL]
- Platforms.txt: Update "pre-ANSI compiler" foot note.
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
8bd88be8ad428138155a8658c3a723d06e64d2fe
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 25~rc1
- Commit:
fb760d94736897aea32bf81a864d87a150015276
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update and fix logcheck(8) rules
- Commit:
7f2d21f96242af14d7ef4e0af0c6121373f20792
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update config.guess and config.sub to recent versions
- config.guess: 2018-03-08
- config.sub: 2018-03-08
- Commit:
6af9476cad286d898c7bf72d477039425cb788e7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Initialize listening socket: Streamline error message
- Commit:
263c5edb606459a74bc3d18f455ae117c1268f69
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
b4f7aae67e1ab3be8f01c27190316683fbe9f0d8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly retry outgoing conenctions when forking a resolver failed
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.
- Commit:
798de94d6556bdf2c6019f368ad7441fe6e2d1be
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix use-after-free while handling ERROR during client login
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 <joseph.bisch@gmail.com> for discovering
and reporting this issue!
- Commit:
ac341176da5bbe99a9b07353f6e9790575ce1493
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only send TOPIC updates to a channel when the topic actually changed
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!)
- Commit:
6a622c0084ec69563609804520e2753501254503
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Xcode project for latest Xcode version (9.2)
This includes adding missing and deleting obsolete file references.
- Commit:
91ef17aba2b063d6e6eb1f38123acc6875d8662d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use .mailmap to fix spelling of Götz Hoffart
- Commit:
13761f1ec9b689c21d785521665bb7cb7370246a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Little code cleanups, better comments
- Commit:
03acae970df0ebe713a4be791e6c75915d34a365
- From:
- Alexander Barton <alex@barton.de>
- Date:
User mode "C": Allow messages from servers, services, and IRC Ops
Update user mode "C" handling ("Only users that share a channel are
allowed to send messages") to behave like user mode "b" ("block private
messages and notices") and therefore allow messages from servers, services,
and IRC Operators, too.
Change proposed by "wowaname" in #ngircd, thanks!
- Commit:
8f0c705029501141528fbe7671e4107b4e1f395f
- From:
- Alexander Barton <alex@barton.de>
- Date:
portab/Makefile: Split list into separate lines
- Commit:
d803ff052585b29defb41f7e5c3c0915f767bebc
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.ng: Split list into separate lines
- Commit:
3559940e4affa674048ebebef32e6325504befcc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
34bdb0d98afada4af4e723acabdd7c829d30ec99
- From:
- Alexander Barton <alex@barton.de>
- Date:
2018!
- Commit:
7ed22d0b22dc1ed624c3931e1cff9e21f4156bd9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix compiler warning in ForwardLookup()
When compiling without "working getaddrinfo()", the "af" parameter of
ForwardLookup() is unused by that function. Mark it as such!
This prevents the following compiler warning:
resolve.c:235:56: warning: unused parameter ‘af’
[-Wunused-parameter]
- Commit:
d9f81ac66942000861d46cd33708585a729b1207
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix compiler warning in Option_String()
When compiling ngIRCd without support for SSL and without support for
ZLIB, gcc outputs the following warning:
irc.c:493:9: warning: variable ‘options’ set but not used
[-Wunused-but-set-variable]
Fix it by providing a dummy function in this case.
- Commit:
7207bef418c655107d3076b20dd797418ad82cd7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix Get_Error() usage, take II
This should fix the following compiler warning:
resolve.c:113:1: warning: ‘Get_Error’ defined but not used
[-Wunused-function]
Which can happen, because the logic of commit 543f44bf isn't sufficient:
Get_Error() is only used when neither HAVE_WORKING_GETADDRINFO nor
HAVE_GETNAMEINFO are set ...
Enhances 543f44bf.
Closes #241.
- Commit:
619a3f3ff28e49d0f827924d1dbe84c6c3a284c0
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/ngircd.logcheck: Add sample logcheck(8) rules
- Commit:
05640f9285e28ce64180833d39f7ceda88d3915a
- From:
- Alexander Barton <alex@barton.de>
- Via:
- GitHub <noreply@github.com>
- Date:
Allow IRC Ops and remote servers to KILL service clients (#242)
In the end, service clients behave like regular users, therefore IRC
operators and servers should be able to KILL them: for example to
resolve nick collisions.
This is related to #238.
- Commit:
e009fc87d54602cc2a4d9b60257f40bad14fc081
- From:
- James Lu <james@overdrivenetworks.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Don't forward KILLs to other servers if they've been blocked locally
This prevents clients from killing IRC services, for example.
Closes #238.
Closes #239.
- Commit:
c37d6971d66a2d840a2b20fe2b995443c2bd6c87
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update AUTHORS file
- Commit:
ddeb7b20ebd660683c6a8638c552e27bde828a9d
- From:
- Alexander Barton <alex@barton.de>
- Via:
- GitHub <noreply@github.com>
- Date:
Merge pull request #240 from bkuhls/fix_Get_Error
Fix Get_Error usage
- Commit:
543f44bff8d56785dc13a74a14d4eaa96465bf05
- From:
- Bernd Kuhls <bernd.kuhls@t-online.de>
- Date:
Fix Get_error usage
The usage of Get_Error is guarded by "ifdef h_errno" in this file, the
definition of this function should follow the same rules.
Fixes a build error when cross-compiling:
https://github.com/ngircd/ngircd/issues/223
- Commit:
bc728f92de5aca1ae14c51696e35103b77a71657
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update HowToRelease.txt
- Freshmeat is no more, and
- GitHub issues doesn't allow us to configure "releases".
- Commit:
2f6f6929d84138ea4812da820d6aeab0ed262406
- From:
- Alexander Barton <alex@barton.de>
- Date:
Services.txt: Show Atheme "name" in example configuration
- Commit:
f244ab22195d58f1eec74e2c2be4a4e36f431a53
- From:
- Alexander Barton <alex@barton.de>
- Date:
Services.txt: Show ngIRCd "Name" in example configuration
- Commit:
e17d4bdec7857e7af9deb02681585fad15eb1ebd
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 24
- Commit:
b2ba3e745a9e400e8fce431fc74801874a5e453a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Update i386/unknown/freebsd7.3 (gcc 4.2.1)
- Update i386/unknown/netbsdelf4.0 (gcc 4.1.2)
- Update x86_64/apple/darwin16.3.0 (Apple clang 8.0)
- Update x86_64/unknown/freebsd8.4 (gcc 4.2.1)
- Update x86_64/pc/linux-gnu (gcc 4.4.5)
- Update x86_64/pc/linux-gnu (gcc 4.8.4)
- Update x86_64/pc/linux-gnu (gcc 4.9.2)
- Update x86_64/pc/linux-gnu (gcc 6.2.1)
- Add x86_64/pc/linux-gnu (gcc 6.3.1)
- Commit:
3890304b5446315786eb0a9cba6d48c80379390e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make sure that platformtest.sh aborts when autogen.sh fails
- Commit:
a69866f3f9ccbd7dbd0fe1adc9ae49e7dd33bd9c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Specify Debian "source format"
- Commit:
7071476d2aac9e797f668a7b4f8da4fbfef8e652
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update config.guess and config.sub to recent versions
- config.guess: 2016-10-02
- config.sub: 2016-11-04
- Commit:
3c627dd70d032fa2c5087617da27586cf85e899a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Build Debian packages with OpenSSL instead of GnuTLS
OpenSSL allows to reload used certificates on runtime for example (which
is very useful when using Let's Encrypt), and therefore is preferred ...
- Commit:
879d5504081e09600464f503db8282e47f79abaa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix handling of connection pool allocation and enlargement
The daemon only enlarged its connection pool when accepting new client
connections, not when establishing new outgoing server links.
Thanks to Lukas Braun (k00mi) for reporting this!
In addition this patch streamlines the connection pool allocation, so
that there is only one place in the code allocating the pool: the now
updated Socket2Index() function. The name doesn't quite fit, but this
existing and today quite useless function (because the mapping from
socket number to connection index is 1:1 today) already became called
in almost all relevant code paths, so I decided to reuse it to keep the
patch small ...probably we want to fix the naming in a second patch?
Closes #231.
- Commit:
2bb917f05aafaf526736d0b7ade2f330835bbbe1
- From:
- Alexander Barton <alex@barton.de>
- Date:
2017!
- Commit:
72acf53d6951fb661b80ce76dc9f318881a41885
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update doc/RFC.txt, add RFC 7194
- Commit:
479d7d99c143c3b7900646fc6d490b72219955cc
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 24~rc1
- Commit:
181da30997f93a908a419778a6455c4fbdc16ee4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: Use "dh_prep" instead deprecated "dh_clean -k"
- Commit:
bfebdaece83db1b2b6b43a0169f8a45bc81109bf
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.conf.5.tmpl: Fix spelling
Thanks to Christoph Biedl.
- Commit:
d2a134b79c2b5473446e9e851bb0ad8c6c36b52f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Add x86_64/apple/darwin16.3.0 (Apple clang 8.0)
- Update x86_64/pc/linux-gnu (gcc 4.9.2)
- Add x86_64/pc/linux-gnu (gcc 6.2.1.)
- Commit:
74f021fb444acd5a19b907aa5bc886c5dc58e5a9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Further enhance systemd unit file
- Add more comments/documentation.
- Add dependencies for services and proxy scanners.
- Add more limit configurations.
- Allow AF_UNIX address family, required for syslog!
- Commit:
8e09180295350692ec2ab82b06c6f70b7cd5c6fa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Install systemd service file in Debian package
- Commit:
f0532c98cd2fcd1443f8f80ed45772d56bf4cd9e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance systemd service file
- Add homepage :-)
- Remote CAP_SETUID and CAP_SETGID from CapabilityBoundingSet: This is
nor needed, because the unit already sets User=irc and Group=irc.
- Add RestrictAddressFamilies, and restrict it to AF_INET and AF_INET6.
- Read in the Debian "default files", but note: only PARAMS is supported!
- Commit:
9e0e955daf57b997792ca55a236498694ce634e2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Debian package
- Update debhelper compatibility to version 9.
- Update build-dependencies.
- Change group of ngircd.conf to "irc" in postinst script (this makes
starting ngIRCd as user "irc" easier, for example when using systemd).
- Don't create /var/run/ircd during installation: this is handled by the
SysV init script and the systemd service already.
- Commit:
3e447384168a619e79c163dab5bd5493acf33734
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
02c8887543b298abcc7b79d752e22cbd34ea8069
- From:
- Alexander Barton <alex@barton.de>
- Date:
Log privilege violations and failed OPER as "error" and to &server
- Commit:
77861f6fe24a7a6be85c6f8112f08172ad7ffa67
- From:
- Alexander Barton <alex@barton.de>
- Date:
Immediately shut down connection on receiving ERROR
Don't wait for the peer to close the connection. This allows us to
forward the ERROR mesage in the network, instead of the very generic
"client closed connection" message.
- Commit:
e9e3df27b70b7d3c7de2f0208431c8b8803a4da9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: Fix "duplicate symbols" error in current Xcode
- Commit:
0dc3c134697444e1470c87c6f22211ba220ec4ec
- From:
- Alexander Barton <alex@barton.de>
- Date:
x-Line synchronization: Don't send negative durations
- Commit:
d0d4de498000ff80d11aaa35509f082a80bb317e
- From:
- Alexander Barton <alex@barton.de>
- Date:
List expiration: use same log level as when setting
And log this event to the &SERVER channel, too.
- Commit:
85df41490710fcefd158e4e8d8175207d24feb2f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove leftover debug message. Oops!
- Commit:
f5ff22d98febeddcc51668c49f35940cbffe599e
- From:
- Alexander Barton <alex@barton.de>
- Date:
G-LINES: Forbid remote modifications if "AllowRemoteOper" is not set
Explicitely forbid remote servers to modify "x-lines" (G-LINES) when the
"AllowRemoteOper" configuration option isn't set, even when the command
seems to originate from the remote server itself: this prevents GLINE's
to become set during server handshake in this case (what wouldn't be
possible during regular runtime when a remote IRC Op sends the command)
and what can't be undone by IRC Ops later on (because of the missing
"AllowRemoteOper" option) ...
- Commit:
995bbfd62787a783a768cda9171f778a47099fa0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make scripts and init-files in ./contrib executable
- Commit:
dd6d75d37d67a05a439322ef3ca941f63afaaed6
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh: Fix some shellcheck(1) warning messages
- Commit:
daa88b765111b14047c97256bd2a9a2daabe123b
- From:
- Christoph Biedl <ngircd.anoy@manchmal.in-ulm.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Fix building ngIRCd with OpenSSL 1.1
At the moment, ngIRCd fails to build against OpenSSL 1.1 since the
configure check probes for the SSL_library_init symbol which was
removed, but probing for a different function availabe in both versions
solves that problem: SSL_new().
And as SSL_library_init is no longer needed, the patch boils down to
probing SSL_new to assert libssl is available, and disabling the
SSL_library_init invokation from OpenSSL 1.1 on, see also another
application[1] (NSCA-ng) that did pretty much the same.
Patch was compile-tested on both Debian jessie (OpenSSL 1.0.2) and
stretch (OpenSSL 1.1).
[1] <https://www.nsca-ng.org/cgi-bin/repository/nsca-ng/commit/?id=8afc22031ff174f02caad4afc83fa5dff2c29f8a>
(Patch by Christoph, commit message cherry-picked from the email thread
on the mailing list by Alex. Thanks!)
- Commit:
2924b3d52ac2ab89e3bc517a1f664ec056a45edd
- From:
- Alexander Barton <alex@barton.de>
- Date:
gcc 6.2 warnings: fix code indentation
This fixes the following correct -Wmisleading-indentation warning
messages of gcc 6.2:
irc-write.c: In function ‘IRC_SendWallops’:
irc-write.c:521:4: warning: this ‘if’ clause does not guard...
irc-write.c:524:5: note: ...this statement, but the latter is
misleadingly indented as if it is guarded by the ‘if’
irc-write.c:526:4: warning: this ‘if’ clause does not guard... []
irc-write.c:529:5: note: ...this statement, but the latter is
misleadingly indented as if it is guarded by the ‘if’
irc-info.c: In function ‘IRC_STATS’:
irc-info.c:895:3: warning: this ‘else’ clause does not guard...
irc-info.c:897:4: note: ...this statement, but the latter is
misleadingly indented as if it is guarded by the ‘else’
No functional changes, the code has been correct, but the indentation
was wrong ...
- Commit:
a335e480c59f382d51a4f3d6d2c348c35d60c82f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update config.guess and config.sub to recent versions
- config.guess: 2016-04-02
- config.sub: 2016-03-30
- Commit:
dde89b12678f37cf1eb56a1073e6c6350c2649a9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Update systems
- Update x86_64/apple/darwin15.6.0 (Apple clang 8.0)
- Update x86_64/unknown/linux-gnu (gcc 4.9.2)
- Update i386/pc/solaris2.11 (gcc 4.8.2), tests have been run both on
Solaris 11.2 and Solaris 11.3 successfully, but the system identifier
is the same ... Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
455f07368735b7d98eee463172824df9c966894d
- From:
- Alexander Barton <alex@barton.de>
- Date:
PAM.txt: Add note about /etc/pam.d/ngircd permissions
- Commit:
804c2403203258ba8b9bf869be3f9ef057c2d39a
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh, ngindent, platformtest.sh: Fix warnings of "shellcheck"
- SC2006: Use $(..) instead of legacy `..`.
- SC2015: Note that A && B || C is not if-then-else. C may run
when A is true.
- SC2086: Double quote to prevent globbing and word splitting.
- SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.
- Commit:
fb99d7c92efb432e1b10af9e8672b38d30b3d4ab
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Xcode project for latest Xcode version (8.0)
- Commit:
1d06ed02ce71c1c266cbe32f56bbb633ab4063b9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Xcode project for latest Xcode version (7.3)
- Commit:
c283b52a786d34c8d7468506936047859cda76ff
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated config.sub to version 2014-09-11
- Commit:
b708c951735266ab4df8f02d1e2c5d9cd0793742
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "Documentation" variables to systemd configuration files
- Commit:
722afc1b810cef74dbd2738d71866176fd974ec2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make sure that SYSCONFDIR is always set
This is useful when ./configure hasn't been run but some source code
linters are run in an editor, for example.
- Commit:
86a64ce6aa522e5cbdb3a90b878e09a3b61d07bf
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "PAMServiceName" configuration option
This setting allows to run multiple ngIRCd instances with separate PAM
configurations on each instance. If one sets it to ngircd-foo, PAM will
use /etc/pam.d/ngircd-foo instead of the default /etc/pam.d/ngircd.
Thanks to "somechris" for the patch & pull request!
Closes #226.
- Commit:
e84000f7b8b8fb8ae29f53f66dea488f904e0838
- From:
- Christian Aistleitner <christian@quelltextlich.at>
- Date:
Add PAMServiceName setting to specify the used PAM configuration
This setting allows to run multiple ngIRCd instances with
PAM configurations on each instance.
If one sets it to "ngircd-foo", PAM will use `/etc/pam.d/ngircd-foo`
instead of the default `/etc/pam.d/ngircd`.
- Commit:
a93247d32f79d4b354c4a9e15bf05d787610eb2c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add an ".editorconfig" file to the project
- Commit:
a673a6e3af783c9c80cadd0cf3c963c754d84649
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Remove x86_64/unknown/linux-gnu, tcc 0.9.25
This combination had been successfully tested with ngIRCd 21, but after
further investigation didn't build correctly: it seems as if tcc fails
to correctly link external libraries (e. g. ngipaddr).
Astonishingly the test suite passed nevertheless, with garbled output,
but without the daemon crashing!?
When using tcc with ngIRCd 23 (and current master), the test suite fails
completely because the daemon crashes ... (which actually is good!)
- Commit:
0ab4e7bffd09dc28d46f0b270eb8be5e7d41608f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add systems
- Add armv7l/unk./linux-gnueabihf (gcc 4.9.2)
- Add x86_64/unknown/linux-gnu (icc 16)
- Commit:
8f0d24c831dc5099278b9844a2ece346ccc06149
- From:
- Alexander Barton <alex@barton.de>
- Date:
Travis-CI: use "container-based infrastructure"
See <https://docs.travis-ci.com/user/migrating-from-legacy/> for
details.
- Commit:
0a6e28458296c8a7b72039d88b5754f3e8053b28
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Delete ngIRCd binary before test run
This ensures that we definitely don't test an old binary later on ...
- Commit:
2254e92e60fbe09da5adef1111ddcd60b7e98252
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Only show "runs=Y" when test suite succeeded
Display "?" in the "runs" colum when the simple "run test" succeeded but
the test suite failed. And display a message to double check the actual
status, because it is somewhat unclear, if the daemon actually "works"
or not in this case.
- Commit:
7cda2f13f48d7cd09df5644c44ed222e81029289
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Add i386/pc/minix (clang 3.4)
- Update i686/pc/cygwin (gcc 4.9.3)
- Add x86_64/apple/darwin15.2.0 (Apple clang 7.0)
- Commit:
7dba1a0766b35d01cd8892753d1e0dd578ca2cd9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Send_Message: Fix handling of "empty" targets
Clients can specify multiple targets for the "PRIVMSG", "NOTICE", and
"SQUERY" commands, separated by commas (e. g. "PRIVMSG a,#b,c :text").
Since commit 49ab79d0 ("Limit the number of message targes, and suppress
duplicates"), ngIRCd crashed when the client sent the separator character
only as target(s), e. g. "," or ",,,," etc.!
This patch fixes the bug and adds a test case for this issue.
Thanks to Florian Westphal <fw@strlen.de> for spotting the issue!
- Commit:
055d6e80561cc56fd2218c7698b3063931c8c17e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update README file
- Commit:
432a9297f88953911ae7b8d128957fa5d70a6718
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Update i586/pc/interix3.5 (gcc 3.3)
- Add i686/pc/linux-gnu (gcc 2.6.3)
- Add i686/pc/linux-gnu (gcc 2.95.2)
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
4dcd5f1225eb733895fd9dc923a064d2c8d96bb4
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Use $LOGNAME instead of $USER
LOGNAME is more standard than USER.
- Commit:
6a5569c27d47674b2e7483ddf6f1fafd8fe65a2e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update copyright notices for 2016
- Commit:
49ab79d0e64c73d575dfe87edce40637b8f2adef
- From:
- Alexander Barton <alex@barton.de>
- Date:
Limit the number of message targes, and suppress duplicates
This prevents an user from flooding the server using commands like this:
PRIVMSG nick1,nick1,nick1,...
Duplicate targets are suppressed silently (channels and clients).
In addition, the maximum number of targets per PRIVMSG/NOTICE/... command
are limited to MAX_HNDL_TARGETS (25). If there are more, the daemon sends
the new 407 (ERR_TOOMANYTARGETS_MSG) numeric, containing the first target
that hasn't been handled any more.
Closes #187.
- Commit:
cedba36965c3b89a5ab7222764bd751fd7fc88bf
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "_MSG" postfix to ERR_WILDTOPLEVEL_MSG
- Commit:
40bea95c0896433fe07c7d4fe210200e50bddace
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt, PRIVMSG: Fix "server mask" description
- Commit:
7c7d03b7309062995583595cfbdbd0f356d7a23b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enahnce comments for Send_Message() and Send_Message_Mask()
No functional changes.
- Commit:
4693226d6983b5ed4bd74b32a8daa9a3124ed17c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Get rid of unclever assert() in Send_Message_Mask()
Either we use assert() to _guarantee_ a certain condition, or we use
if(...) to test for it. But never both.
So get rid of the assert() in Send_Message_Mask() and handle the case
that the target mask doesn't contain a dot (".") as regular error,
don't require the caller to assure that any more.
This polishes commit 5a312824.
Please note:
The test in Send_Message() is still _required_ to detect whether the
target is a channel (no dot) or a "target mask" (at least one dot)!
- Commit:
afb59ab8e5ccf5d48c78dab53e8ec64d21829a8d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: Add new test for server-server logins
This test detects the recent NJOIN breakage, for example ...
- Commit:
d90f0323e5c2574f10b0445901f731c4c892b6ac
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix NJOIN handler killing all clients
This bug has been introduced by commit 1e386fb7ac which had
the logic reversed :-(
Reported by "ninguno" in #ngircd, thanks a lot!
- Commit:
01e590b007aaf36b8f6ac201b9ca4a7904800e00
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/ngindent: Fix shebang line
- Commit:
7b7ee6a3ca54bf0c8442a1e990dd1e230783c2e6
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/platformtest.sh: Warn when external tools are missing
- Commit:
46838510ab53889a05eececd5fc0bb6b38ce95cb
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/platformtest.sh: Make script more portable
- Commit:
0903343f857d40060230e72686d3252e3ac4787a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Update i386/unknown/openbsd3.5 (gcc 2.95.3)
- Update i686/pc/linux-gnu (gcc 2.7.2.1)
- Add x86_64/unknown/linux-gnu (gcc 5.3.0)
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
182bfac855567a5388beee1624d6b4cc2891bf05
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: Sort list
- Commit:
1e386fb7acdf6754a9ee4e6ddc8fa7180f6e5c1e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make NJOIN handler more fault-tolerant
Don't crash the daemon when the NJOIN handler can't join the new client
to a channel (when the Channel_Join() function failed) but try to KILL this
client -- which is the only possible reaction besides crashing: otherwise
the network would get out of sync.
- Commit:
52ccba5d1e8cd2e648cf3c14598332bde6b9910d
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_KillClient(): Don't break when called without "Client"
The IRC_KillClient() function is documented to handle the case that the
"Client" structure is NULL, so make sure that this actually works and
can't crash the daemon.
Please note:
The current code doesn't make use of this feature, so this fix is
definitely the "right" thing to do but doesn't fix an actual problem.
- Commit:
98e9467c85b1a81fbbcebf2be21b3a0d83fb60c4
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_NJOIN(): Code cleanup
No functional changes.
- Commit:
e8dacb68dc1c496afe4d14897f0a2e7898fa4900
- From:
- Alexander Barton <alex@barton.de>
- Date:
Modes.txt: Add "name prefixes" to channel user mode description
- Commit:
398022631a573a2b8de7811cacb6c202e90f263e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix NJOIN not propagating "half ops" status
ngIRCd tested for the wrong prefix of "half ops" when processing NJOIN
commands and therefore never classified a remote user as "half op".
Thanks to wowaname for pointing this out on #ngircd!
- Commit:
f2cef85fde733d332b6ae3083274fd1165ca6ce2
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 23
- Commit:
6ed59a8548f714dd014df8b77a90814fcbd1d519
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update ChangeLog file
- Commit:
49acb68584aee4eab2fd9e89c81cc9fdf54eee7c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update doc/Platforms.txt
- Commit:
d8aba40f07d739692cdeccbd49a1c163998945ba
- From:
- Alexander Barton <alex@barton.de>
- Date:
Explicitly cast time_t to long when printing it out
This prevents wrong sizes data types on platforms where time_t doesn't
equal a long any more, for example on OpenBSD.
- Commit:
87887bc632b6226514fc02b01e507ae155bd6531
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/Debian/changelog: Fix email address
- Commit:
cb3a4321a23143f310d06dab4b65dc86998ed770
- From:
- Alexander Barton <alex@barton.de>
- Date:
Documentation: Spelling fixes
- Commit:
1e84b2640e3ca3fef0bdc0a63198cb98c8c6f7e3
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 23~rc1
- Commit:
86d27eaf8977c5e6f92fa192d0b2db82ea60b647
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update AUTHORS and .mailmap file
And add a note to doc/HowToRelease.txt to not forget to update the list
of authors in the future ...
- Commit:
4acf95ab616ee2f0d0fea81abb738101e7eb34ec
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update ChangeLog file
- Commit:
57cd41d28969038a3fe6fca93ba13b9ceb1f8c1e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add ".clang_complete" file
This file is used of the "linter-clang" package of the Atom editor,
for example.
- Commit:
eb9929e82c735100a0b432f878f83fce091eb636
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make server-to-server protocol more robust
Now ngIRCd catches more errors on the server-to-server (S2S) protocol
that could crash the daemon before. This hasn't been a real problem
because the IRC S2S protocol is "trusted" by design, but the behavior
is much better now.
Thanks to wowaname on #ngircd for pointing this out!
- Commit:
c2e4c304e3adde2217056c2e6d674fd24e0cd800
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Fix quoting
- Commit:
c56138c2808bdfc22811c5617c58b149f7725e62
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh: Fix parameter quoting
- Commit:
a1ce3fc779c66f1febcc4c861cfd593a1ab48002
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.init: Fix non-POSIX "==" test operator
- Commit:
ccc899c7f4751ba72dcd7330c55614cf986f0fa3
- From:
- Christoph Biedl <ngircd.anoy@manchmal.in-ulm.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Reproducible builds
At the moment ngircd fails the tests for reproducible builds in Debian
since it uses the __DATE__ and __TIME__ macros for the INFO command.
Instead of patching this out I decided to implement an optional
constant BIRTHTIME that allows you to set a time stamp for the "Birth
Date" information, in seconds since the epoch, like in
export CFLAGS += -DBIRTHTIME=$(shell date +%s --date="2015/08/15 23:42:22")
In the future, Debian will provide a SOURCE_DATE_EPOCH environment
variable, dealing with the situation until then will be my job.
The time format was taken from the NGIRCd_StartStr formatting in
ngircd.c so the "Birth Date" and "On-line since" lines in the INFO
output look similar:
:irc.example.net 371 nick :ngIRCd 22.1-IDENT+IPv6+IRCPLUS+PAM+SSL+SYSLOG+ZLIB-x86_64/pc/linux-gnu
:irc.example.net 371 nick :Birth Date: Tue Aug 25 2015 at 18:11:11 (CEST)
:irc.example.net 371 nick :On-line since Tue Aug 25 2015 at 18:11:33 (CEST)
:irc.example.net 374 nick :End of INFO list
The format of the time stamped is changed, but as far as I can tell, there's no
rule that is violated by that.
Bonus level: Reformat the messages so the time stamps are aligned.
- Commit:
2a52befa56eec493d4179c1568c7e6cd26d9ae23
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update systemd service file
- Commit:
2c18e9a7f803ff74613354c8912eddd79fa0ed5c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
9811223fb882413645db38948ac05fa21ddd3514
- From:
- Alexander Barton <alex@barton.de>
- Date:
Whitespace fixes (no functional changes)
- Commit:
0083fe177f727af6ab43e190e3bea8a94555348e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix debug message "Client ... is closing connection"
It should be "host:port"!
- Commit:
34578b8b300bdb39d6fef7dba0ba8e02fe6c17fd
- From:
- Alexander Barton <alex@barton.de>
- Date:
INSTALL: Add deprecation notice for "PredefChannelsOnly"
Obviously I forgot to list this for ngIRCd 21 ... oops!
- Commit:
85dc4d87770f821b777f5dbf6372956dbffc770c
- From:
- Alexander Barton <alex@barton.de>
- Date:
"NoticeAuth" configuration variable is deprecated now!
- Commit:
64c265cf33d09cfb9ab5e7d0bbc8033dc85f7c64
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge pull request #217 from SaberUK/master+notice-auth
Use "NOTICE *" before registration instead of "NOTICE AUTH".
- Commit:
b72a7a4b96df11859dd5f5d7112d9d1409a9f0e5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Channel mode "N" is targeted for ngIRCd 23.
- Commit:
5545e1bebf31ddb9f89c80979c0be93e3fdf6f0c
- From:
- Peter Powell <petpow@saberuk.com>
- Date:
Rename NoticeAuth to NoticeBeforeRegistration.
The old name is still supported for compatibility reasons.
- Commit:
b8482fd3cfdb429aec75575958f4d5d4e9ae22df
- From:
- Alexander Barton <alex@barton.de>
- Date:
First check if channel has mode "N", then check membership
This should be more efficient.
- Commit:
d118cd74b6ff342b978b493d56f9306028e364cf
- From:
- Peter Powell <petpow@saberuk.com>
- Date:
Use "NOTICE *" before registration instead of "NOTICE AUTH".
AUTH is a valid nickname so sending notices to it is probably not
a good idea. Use * as the target instead as done with numerics
when the nick is not available.
This mimics the behaviour in Charybdis, IRCD-Hybrid, InspIRCd 2.2,
Plexus 4, etc.
- Commit:
90ea23ab4fe3032824e22eb59bee305f35c4aae7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge pull request #214 from Flupsy/channel-mode-N
Channel mode N (users on this channel can't change their nick)
- Commit:
571b1a8b83bee56a75728d44d2586a816401d434
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge pull request #215 from tejr/master
Specify session context for OpenSSL clients.
Closes #182.
- Commit:
6e7e744cc6c3d378ac9bace41586e4f32f456551
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "build+*" to .gitignore file
- Commit:
599626d570f5bd5284a7a30fb8c3ca8dc3636371
- From:
- Ian Chard <ian@chard.org>
- Date:
Only enforce channel mode N on users (not servers or services)
- Commit:
b71a0ddbd570f5163ede198d635c3b03abd3e27e
- From:
- Tom Ryder <tom@sanctum.geek.nz>
- Date:
Specify session context for OpenSSL clients
Reconnecting to ngIRCd 22.1 built with OpenSSL with some OpenSSL
clients, including Pidgin and stunnel 5.06, attempts to reuse a session
and fails due to the absence of this line.
The error message in syslog from ngIRCd is:
> SSL protocol error: SSL_accept (error:140D9115:SSL
> routines:SSL_GET_PREV_SESSION:session id context uninitialized)
This patch appears to fix the problem for both Pidgin and stunnel; it
may work for other OpenSSL clients that attempt to re-use sessions.
* <https://github.com/ngircd/ngircd/issues/182>
* <https://developer.pidgin.im/ticket/11568>
* <https://www.openssl.org/docs/ssl/SSL_CTX_set_session_id_context.html>
- Commit:
f6b7764eb5d85692c9242d2d20cb53f091083139
- From:
- Unit 193 <unit193@ubuntu.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Fix several broken URLs.
- Commit:
24cec978eec8f565c1b0c3b1966248b95d2af10e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remote GIT.txt from Makefile[.am], too!
- Commit:
7ff16e81163b3bee43ce053cb86fb2df2a023d53
- From:
- Ian Chard <ian@chard.org>
- Date:
Don't bother looking for +N channels for an op
- Commit:
d28d838cb9a8488208c10ea73b25532e1aef8e06
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge remote-tracking branch 'LucentW/master'
* LucentW/master:
Fix with oneshot invites
Fixed building issues\
Implement timestamp tracking of invites
Keep track of who placed bans/invites/excepts
IRC operators w/OperCanMode can kick anyone [already cherry-picked]
Closes #203, Closes #205.
- Commit:
a02524465e243d1c4ed3a4d5543e185374da3706
- From:
- Alexander Barton <alex@barton.de>
- Date:
READNE, AUTHORS: Update mailing list and issue tracker URLs
- Commit:
adfe5affedac5dcf3f66a1a8363429ba1a13ebeb
- From:
- Ian Chard <ian@chard.org>
- Date:
Don't use a standard message number
- Commit:
2fc61ce8a6a6c2ac8652b8cea33d57acd50681c2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make setgroups(3) function optional
For example, Interix is missing this function, which prevented
ngIRCd to build on this platform. When setgroups(3) isn't available,
a warning message is issued when ngIRCd starts up.
- Commit:
93a872a36bca8880d1285ba0222a9294d513df91
- From:
- LucentW <LucentW@users.noreply.github.com>
- Date:
Fix with oneshot invites
This should finally implement correctly oneshot invites sent via /INVITE
- Commit:
813ea874f86931b97df7f1e91a9e6921fb5cb139
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Contributing.txt: Add note about using GitHub
- Commit:
27934afd7e0acd3562fe899982560207c0b3f02a
- From:
- Ian Chard <ian@chard.org>
- Date:
Add documentation for channel mode N
- Commit:
5c48d7e9c7f0181772c14b133030a3c0e978fdc5
- From:
- LucentW <LucentW@users.noreply.github.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
IRC operators w/OperCanMode can kick anyone
Closes #202.
(cherry picked from commit 10c7ba99e73b42ec8c4c191ccdae60bdd35bba7d)
- Commit:
03c8997af346badcd1c47c6c0c7f84daaa7f7852
- From:
- LucentW <lucent@zebes.info>
- Date:
Fixed building issues\
Now builds cleanly. Pass all tests from make check.
- Commit:
813897023e16e1215507923d16c3ab9d9acb04e6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove doc/GIT.txt: it is outdated
ngIRCd uses GitHub, and Git itself is quite common today. So don't
include an own Git "mini HowTo" any longer.
- Commit:
f64cb901efe2f303413816b725520dfd4caee7bf
- From:
- Ian Chard <ian@chard.org>
- Date:
Add channel mode N (normal user can't change nick while on channel)
- Commit:
0f490b5caec3439a0e67aa989eea26b352770c94
- From:
- LucentW <lucent@zebes.info>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Implement numeric RPL_LISTSTART(321)
lightIRC and other clients expecting RPL_LISTSTART should now behave correctly.
Closes #207.
(cherry picked from commit 0680ce5fd99bc643651d1433bcdaf271aeb73c46)
- Commit:
4396936f383cfc8098e43cece8e4b2af8f0a6fa4
- From:
- LucentW <LucentW@users.noreply.github.com>
- Date:
Implement timestamp tracking of invites
Now lists nodes also have the "onlyonce" field, since the valid_until is
used to keep the timestamp of placing. Found no references to onlyonce
or about valid_until being == 1, though, so it might be unused, but
still available for other enhancements.
- Commit:
a5ca8be6588590c6c5feb35bb0f149c0619122c4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Streamline ".gitignore" files
- Commit:
a43d79aeff4d9612588043e2561294faead1ae8a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update ngircd.conf.5: "CloadUserToNick" hides user and real name
Closes #208.
- Commit:
4da04640e6429e6cc61ca9dd4c7293b520d4b3bc
- From:
- LucentW <LucentW@users.noreply.github.com>
- Date:
Keep track of who placed bans/invites/excepts
Implements #203.
WARNING: it does not track the time of placement of invites, since the
time_t is already used as a flag for single use invites!
- Commit:
c364d67f800acd1715005fff9ccde3b56932da24
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
c4245220deefc91ebcc41f264ec6e4dd7993f35b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix MatchCaseInsensitive[List]](): lowercase string _and_ pattern
Up to now, only the the string ("haystack") became lowercased and was
the compared to the pattern ("needle") -- which failed, when the pattern
itself wasn't all lowercase ...
- Commit:
10c7ba99e73b42ec8c4c191ccdae60bdd35bba7d
- From:
- LucentW <LucentW@users.noreply.github.com>
- Date:
IRC operators w/OperCanMode can kick anyone
- Commit:
f8f7f83f5a2228bb9deeb8324be015cd76b84ced
- From:
- Alexander Barton <alex@barton.de>
- Date:
Streamline effect of "MorePrivacy" option (WHOIS, LIST)
- Update documentation in ngircd.conf(5)
- LIST: Don't hide channels for IRC Ops when "MorePrivacy" is in effect
- WHOIS: Don't hide IP addresses/hostnames when "MorePrivacy" is in effect
Closes #198
- Commit:
1136b9769099e8e163fabbf68fd07f0db086398e
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Modes.txt: Fix indentation
- Commit:
d9a97f2857bffb30c8161e4752e7d75bb5fe0359
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge pull request #197 from LucentW/master
Implement user mode "I": Hide channels on WHOIS
User mode +I prevents ngIRCd from showing channels on WHOIS.
IRC Operators can always see those.
Closes #197.
- Commit:
a4af9024fd12d4a755ddf2a7aa1d0036ff997672
- From:
- LucentW <LucentW@users.noreply.github.com>
- Date:
Fixed indents 2
- Commit:
c5da48368569383d064a2325ab3b99d10287a085
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make sure that the target user is able to join a local channel
Implement ERR_USERNOTONSERV(504) numeric and make sure that the
target user is on the same server when inviting other users to
local ("&") channels.
ircd-ratbox uses the ERR_USERNOTONSERV(504) numeric for this, and I
think this is a good idea -- other IRC daemons (like ircu) silently
drop such impossible invites, but thats not a big benefit ...
Idea by Cahata, thanks! Closes #183.
- Commit:
6fc53558ed2117e5dd4e6bd1e9fb595bba67aa79
- From:
- LucentW <LucentW@users.noreply.github.com>
- Date:
Fixed indents and documentation
(also updated the copyright date on the txt I edited)
- Commit:
4330f5d1c9119c4461c8fb7c8cf1f78a3ea53e4d
- From:
- Alexander Barton <alex@barton.de>
- Date:
INVITE command: Enforce 1 second penalty time
This prevents flooding of the target client.
This closes #186. Reported by Cahata, thanks!
- Commit:
21767c968d5799ce153f860db6c119eb4b7f9518
- From:
- LucentW <LucentW@users.noreply.github.com>
- Date:
Implement +I (private channel list on whois)
Implements enhancement requested in issue #179
- Commit:
81b81c818cb60abe8bcfb1cd22769ae831b942e7
- From:
- Alexander Barton <alex@barton.de>
- Date:
MODE command: Always report channel creation time
Up to now when receiving a MODE command, ngIRCd only reported the channel
creation time to clients that were members of the channel. This patch
reports the channel creation time to all clients, regardless if they are
joined to that channel or not.
At least ircd-seven behaves like this.
This closes #188. Thanks Cahata!
- Commit:
52825cde29afdbee0d186a0bb33d36c9afed6416
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Xcode project for latest Xcode version (6.3)
- Commit:
03e656807930cffc34a76a31635e4d3ad79c4378
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 22.1
- Commit:
7dacc314f91a134d6a84290c7b35858836b0ae55
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog for ngIRCd 22.1
- Commit:
24adfb88b4b251468a84d9f31098f9b9f0b3920b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update some copyright notices for 2015
- Commit:
6ed440a030a439df3c47528088e0584757697c9f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Update powerpc/apple/darwin7.9.0
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
c7bbc9a39095344156a5e9871329b418cca72088
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix spelling of RPL_WHOISBOT message text
- Commit:
6171beb7ab5dc0586581660852576f437470df63
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't send nick name as default PART reason
No other IRC daemon seems to do this (today?), don't remember why
ngIRCd did it in the first place ...
Closes #185.
Reported by Cahata in #ngircd, thanks!
- Commit:
2196e945e4ac5f41d6650c4ceb9120cfd8fc8d56
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix "WHO #<chan>" showing invisible users and hiding all visible
The logic is reversed ...
This bug has been introduced by commit c74115f2, "Simplify mode checking on
channels and users within a channel", ngIRCd releases 21, 21.1, and 22 are
affected :-(
Problem reported by Cahata in #ngircd, Thanks!
- Commit:
f16eb1b686ab3cd3c0b313ef6853dce3ee129677
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix typo in src/testsuite/README
- Commit:
c41f18e3f90512afcf38f42695c26708a1f34772
- From:
- Alexander Barton <alex@barton.de>
- Date:
Auth PING: Fix our information text for manual sending of "PONG"
Up to now, ngIRCd doesn't send a valid IRC command at all, oops!
- Commit:
dbfe1beca83a80c7fc9e25470a75bca78f64d634
- From:
- Alexander Barton <alex@barton.de>
- Date:
Auth PING: The numeric ID is a "long", use atol()
- Commit:
6bdae55177bf3d8910a77bc0af14c0de3d4fd4c9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Auth PING: Don't send a prefix in our PING command
The prefix confuses WeeChat, at least, which doesn't send an appropriate
PONG in the case ...
Debugging and patch by "wowaname" on #ngircd, thanks!
- Commit:
fb5ae9e844ee30208f81204cd977469543fd1cc0
- From:
- Alexander Barton <alex@barton.de>
- Date:
FAQ: How can I "auto-op" users in channels?
- Commit:
bd8d4e710c0cb597ef10f23691602256d44895ea
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix syntax of ERR_LISTFULL_MSG(478) numeric
Pointed out by "wowaname" in #ngircd, thanks!
- Commit:
9a931a549b7e1b0979ce5f6088edf5136546f3ed
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance debug messages while sending CHANINFO commands
- Commit:
3c30490d54da941e368d54aeb63cf56cf1aef345
- From:
- Alexander Barton <alex@barton.de>
- Date:
Reset "last try" timer when enabling a passive server
This results in a new connection attempt as soon as possible.
- Commit:
62503353525fd893156731521edc95b2bd6a1f6f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Change log message for "Can't resolve address"
- Commit:
7e14bd3b58522ac34f0af29182248df1577d99c9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Change log messages issued for IP address forgeries
- Commit:
31b3c83c1f1b18fa1ed0501e95ed8e5f6cc6d407
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge remote-tracking branch 'alex/TestsuiteNoDNS'
* alex/TestsuiteNoDNS:
Test suite: Don't use DNS lookups
- Commit:
6e4235443eb4dee0930a65e613c8bf5e00331f73
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'CipherListNoSSL3'
* CipherListNoSSL3:
INSTALL: List the changed SSL CipherList default value.
Update "CipherList" to not enable SSLv3 by default
- Commit:
3f807e104572b38143a1015be57d875088ceaebb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: Don't use DNS lookups
Different operating systems do behave quite differently when doing DNS
lookups, for example "127.0.0.1" sometimes resolves to "localhost" and
sometimes to "localhost.localdomain" (for example OpenBSD). And other
systems resolve "localhost" to the real host name (for example Cygwin).
So not using DNS at all makes the test site much more portable.
- Commit:
cdcf474f159ad0c3c2a652cdbfa5e7f09171667c
- From:
- Alexander Barton <alex@barton.de>
- Date:
INSTALL: List the changed SSL CipherList default value.
- Commit:
f33a4067a16747c8fc5f1c0b5eb5e5520ee1e7a7
- From:
- Alexander Barton <alex@barton.de>
- Date:
HowToRelease.txt: Add note about the bug tracker
- Commit:
39b8fc65b69c7534228e314c08604341bdf6125f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "tests-skipped.lst" to src/testsuite/.gitignore
- Commit:
100de3e4ccaab10524821d4262f6a8c3342224f8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update "CipherList" to not enable SSLv3 by default
Idea, initial patch, and testing by Christoph Biedl
<ngircd.anoy@manchmal.in-ulm.de>
- Commit:
7b58538074ad947ab493c45206cec61eae681f7c
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 22
- Commit:
3de972e0bdbb5da7b13db5628e5373e3ec57cf51
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite/platformtest.sh: Detect when tests have been skipped
Detect if some tests have been skipped, for example when telnet(1) or expect(1)
is missing: ./contrib/platformtest.sh will echo a warning message now.
- Commit:
3f436e1810e242176895c69e58978c47966c666d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Add armv7l/unk./linux-gnueabihf
- Update hppa/unknown/openbsd5.4
- Update i686/unknown/gnu0.5
- Update i686/pc/cygwin
- Add i386/pc/linux-gnu, gcc 4.4.5
- Update x86_64/apple/darwin14.0.0
- Update x86_64/unknown/freebsd8.4
- Update x86_64/unknown/freebsd9.2
- Add x86_64/unknown/freebsd10.0
- Add/update x86_64/unknown/linux-gnu, various compilers
- Update x86_64/unknown/openbsd4.8
- Add x86_64/unknown/openbsd5.5
Tested version is "rel-22-rc1-3-g967deeb".
- Commit:
ec2bf5c5a23e791fda3f2ea4d92c663abb94490a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Add sparc/unknown/openbsd5.5
- Update powerpc/apple/darwin7.9.0
- Update x86_64/unknown/linux-gnu, Open64
- Update x86_64/unknown/linux-gnu, Sun C 5.12/Solaris Studio 12.3
- Update x86_64/unknown/linux-gnu, tcc 0.9.25
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
967deebacd4340b1fdb49402ff99a1985fadc1a6
- From:
- Alexander Barton <alex@barton.de>
- Date:
User mode "F": Fix description in NEWS and ChangeLog
- Commit:
70160b3a5b2b03d998263ba497dc944c2fb7a503
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "cov-int" directory (Coverity test tool) to .gitignore file
- Commit:
74262a40935fa67b98e95c02f4bba4056dc21831
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog for ngIRCd 22 once more ...
- Commit:
a90004b9133b62b3dc2ee80c572a8d0c9c607141
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: Update file headers and comments
- Commit:
be887070273c47a07c9bf488630f6fb707976f67
- From:
- Alexander Barton <alex@barton.de>
- Date:
Match list patterns case-insensitive
The invite-, ban-, and except lists are affected by this change,
as well as G-Lines an K-Lines.
Problem pointed out by "wowaname" on #ngircd, thanks!
- Commit:
9e79ed86058c88b1264e4507acbd0ae82f5c1290
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update links to "Arthur" to use the HTTP protocol
- Commit:
7d7eb735f0c8b541e7809a68cb49174605147904
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 22~rc1
- Commit:
cdd6b961af5d5858cf75bf35603b46e5bba5a8ff
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 21.1
(cherry picked from commit ee28e76df2a73f3bb4bcf69c644eae9a10298a58)
- Commit:
fa7fac88d27861beec9533fb4b141aca1dcb3f2d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog for ngIRCd 22 once more ...
- Commit:
bfc727ce4927bca788896f29b1147ff6eac8de26
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Update i686/unknown/gnu0.5
- Commit:
84ff5a6eb975fbabfaaa92447246571721a016bc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Sync "except lists" between servers
Up to now, ban, invite, and G-Line lists have been synced between servers
while linking -- but obviously nobody noticed that except list have been
missing ever since. Until now.
Thanks to "j4jackj", who reported this issue in #ngircd.
- Commit:
dee824a3f06a555e4be9022833a2c7bd0ba02414
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Update powerpc/apple/darwin7.9.0
- Update powerpc/apple/darwin7.9.0, gcc 3.3
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
bf2eae3249cd7890c0189dfcf1a50b0e40e199b2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow longer usernames for authentication
- Commit:
f5ae1dd36c6b37351e6cd2252bcdd88c981630ad
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Update x86_64/unkn./linux-gnu, clang 3.x
- Update x86_64/unknown/linux-gnu, clang 3.2 => clang 3.3
- Commit:
ffad2da835e26a1a457d4f4a16acf6797d4cc71e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly check that a server has a valid hostname and port
David Binderman <dcb314@hotmail.com> reported the following compiler warning,
which is a real bug in ngIRCd, thanks!
conn.c:2077:55: warning: logical not is only applied to the left hand
side of comparison [-Wlogical-not-parentheses]
- Commit:
794cb51e4bb99118f623aecf7983d14d8def1dca
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update more systems
- update i686/pc/linux-gnu, gcc 2.7.2
- update powerpc/apple/darwin6.8, gcc 3.1
- add powerpc/apple/darwin9.8.0, gcc 4.0.1
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
3f1547ecdec24fd685f05e40733ae0d907bcb9d8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix spelling and whitespaces in INSTALL
- Commit:
dd4b74e29b3efa476efb7a3627b1878bf0ce52e2
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Bopm.txt: Update file header
- Commit:
7893dc524192715ef004028f8959819f53d34660
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog for ngIRCd 22
- Commit:
daed2467dd4132e1aaea889b7988264399c197ff
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Bopm.txt: Update "connregex" and "kline" for current ngIRCd
Thanks to "kerin" on IRC for pointing this out!
- Commit:
896d45471aa4324d6c86cfc5613feab760151c70
- From:
- Alexander Barton <alex@barton.de>
- Date:
Lists_MakeMask: Don't destroy source buffer
- Commit:
d314c75a37f0132a1a16658494d0f60a0c0083f2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow "DefaultUserModes" to set all possible modes
Let IRC_MODE() detect that the "fake" MODE command originated on the local
sever, which enables all modes to be settable using "DefaultUserModes"
that can be set by regular MODE commands, including modes only settable by
IRC Operators.
- Commit:
01c3552140f710fd1efc5b1037e99500c2a292d7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Initialize Conf_ScrubCTCP even when SYSLOG isn't #define'd
The "SYSLOG" #define isn't related to "Conf_ScrubCTCP" at all, so
initialize the latter even when "SYSLOG" isn't #define'd.
Pointed out by wowaname on #ngircd, thanks!
- Commit:
5009ab3e8c5a6fe7db5c5ad1d3fdc8aecfc64b55
- From:
- Alexander Barton <alex@barton.de>
- Date:
Spoofed prefixes: Really kill connection on non-server links
This fixes commit 6cbe1308 which only killed the connection when the
spoofed prefix itself belonged to a non-server client.
- Commit:
ce3c4074ba08a6a851e45864d1f88ca4b8820a53
- From:
- Alexander Barton <alex@barton.de>
- Date:
Platforms.txt: Add and update systems
- Add armv7l/unk./linux-gnueabihf
- Add x86_64/apple/darwin14.0.0
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
5713c49c8480639f08f7fff82fb5a40e8566e1dc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement user mode "F": "relaxed flood protection"
ngIRCd relaxes its flood protection for users having the user mode "F" set
and allows them to rapidly send data to the daemon. This mode is only
settable by IRC Operators and can cause problems in the network -- so be
careful and only set it on "trusted" clients!
User mode "F" is used by Bahamut for this purpose, for example, see
<http://docs.dal.net/docs/modes.html#4.9>.
- Commit:
40ed94a1f23aa120cb80bcf8224cef69124909f1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Increase MAX_SERVERS from 16 to 64
There are installations out there that would like to configure more
than 16 links per server, so increase this limit. Best would be to
get rid of MAX_SERVERS altogether and make if fully dynamic, but
start with this quick and dirty hack ...
- Commit:
35f1db5f28245579efbbb06eed6eaf1a3d6d84bc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Handle "throttling" in a single function
ngIRCd uses "command throttling" and "bps throttling" (bytes per second).
The states are detected in different functions, Conn_Handler() and
Read_Request(), but handle the actual "throttling" in a common function:
this enables us to guarantee consistent behavior and to disable throttling
for special connections in only one place, eventually.
- Commit:
c1f180b87b424b65d9b75299047148b7d01c2cc2
- From:
- Alexander Barton <alex@barton.de>
- Date:
New "Debian release" 21.1-0ab2
(cherry picked from commit 48fcb97fa4a2762a873d9d693c7a126588a1811d)
- Commit:
4c2acd55c6ecb8d9a6a1c6c5c86295fdd859820c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated config.{guess|sub} to version 2014-03-13
- Commit:
f5944a17e44b1acd642aaeaf1ad551e3b0074fb5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: Don't adjust path names that are correct by default
- Commit:
f547981188a28844068e864dc1ed955ff173d216
- From:
- Alexander Barton <alex@barton.de>
- Date:
Streamline DEBUG_ARRAY, DEBUG_BUFFER, DEBUG_IO, DEBUG_ZIP
Change all #define's to follow the form
#define DEBUG_xxx {0|1}
to disable (0, default) or enable (1) additional debug messages.
And somewhat enhance some DEBUG_BUFFER messages.
- Commit:
06920df4bb88260aba7d5bf1c2000d2e521bab3e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: Correctly set and use "docdir"
- Commit:
b35f8916a5252182070d0e4502a540e81a3ced90
- From:
- Alexander Barton <alex@barton.de>
- Date:
conn.c: Code cleanup
Reformat and restructure some code, move all SSL related code into
one single #ifdef block, for example.
- Commit:
e864b1f33e7dafacd4b3af5b217567709c49ea2e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update config.guess and config.sub to recent versions
- config.guess: 2014-03-23
- config.sub: 2014-05-01
- Commit:
3d7aa9f90626bb16ef9db9c9c739ba748976448c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: remove imp.h and exp.h from project file
These files have been removed from ngIRCd in commit 259c314d,
"Remove imp.h and exp.h header files".
- Commit:
a534e71e8da9a7bab55e7e76358a60dcbd3e25d5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Re-add #include's for header files of the C file itself
This partially reverts commit b130b35f4, "Update #include's: remove
unused and add missing ones", but fixes the following compiler and
analyzer warnings of Apple Xcode 5:
"Semantic issue: No previous prototype for function 'yyy'"
- Commit:
a13bb78b1e7adf7c261ac427341c397ef9a6a1ed
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update copyright notices of recently changed files
- Commit:
b130b35f48d19450240748425e12d21f2c38350f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update #include's: remove unused and add missing ones
The "deheader" tool (<http://www.catb.org/~esr/deheader/>) has been
used to find unused #include directives as well as missing ones.
Tested on:
- A/UX 3.1.1
- ArchLinux (2014-03-17)
- Debian GNU/Hurd
- Debian GNU/Linux 6.0.9
- Debian GNU/Linux 7.4
- Fedora 20
- FreeBSD 9.2
- OpenBSD 4.8
- OpenBSD 5.1
- OS X 10.9
- Solaris 11
- Commit:
37090a28e8319650e49b4bd3e0518c2f8cbc8ae4
- From:
- Alexander Barton <alex@barton.de>
- Date:
portab.h: Restructure and clean up code
- Don't use HAVE_SYS_TYPES_H, <sys/types.h> is a required header now.
- Streamline check for boolean data types.
- Better indent #ifdef constructs.
- Commit:
67256f9da1cd43a31e3e703d15fbd4cf75c23923
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure[.ng]: <sys/types.h> is a required header file
ngIRCd already includes <sys/types.h> in a lot of places without
checking for its existence (for example in "ngircd.c", "io.c", ...),
therefore make it a required header file.
- Commit:
7b10a0e4ee64657e138dc9ef3a0d8a68c0e275f0
- From:
- Alexander Barton <alex@barton.de>
- Date:
io.c: <sys/time.h> is only needed when using select()
Only include the <sys/time.h> header when using the select() IO API,
it isn't required otherwise.
- Commit:
259c314d142abd6f9295047c116235cfdd119563
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove imp.h and exp.h header files
These include files don't have a function any more, remove them.
- Commit:
51396f8f1c10506b558ce98aafb80aff4b2a95bd
- From:
- Alexander Barton <alex@barton.de>
- Date:
strdup.c: Code cleanup
- Commit:
6238196dac6cab9dae0b4d01190a7fad307d5a93
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't define SSL_Want{Read|Write}() when SSL is disabled
Not even call the "dummy" functions.
- Commit:
43fb18f2f5a506c4d78967e4b6e961b7339c98dc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Code cleanup, remove blank lines
- Commit:
a4ed90ba9af1dce4df3f57f6a7c84097000c7256
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix two K&R C portability issues
Fix the following two errors emitted by the Apple K&R C compiler
on Apple A/UX:
"./class.c", line 47: no automatic aggregate initialization
"./class.c", line 47: illegal lhs of assignment operator
"./conf.c", line 1052: syntax error
Tested on A/UX 3.1.1.
- Commit:
af9161a9bc32817c44fe6f743b402d554e60ddf2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge pull request #6 from norrs/pam_server_password_fix
Validate server password when PAM is disabled.
- Commit:
485d0aec813db9966922f17aae044df2d82b0b67
- From:
- Roy Sindre Norangshol <roy.sindre@norangshol.no>
- Date:
Use server password when PAM is compiled in but disabled
- Commit:
abf280d5bd5648817135c487a19941b2ef4b0701
- From:
- Alexander Barton <alex@barton.de>
- Date:
CHARCONV: Fix handling conversion errors
Don't overwrite already converted text!
- Commit:
ccc9e1baa41c2b81d641d87acaefbf07eb499ad4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Streamline punctuation of log messages
See commit d38d153f for details.
- Commit:
755562d1477ed28e4e793fb42fa0cc0b295ea1b5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Services.txt: Update information for Anope 2.x
- Commit:
384b27cee0c31ba26c58480b015ef2feb52c79f9
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_INVITE(): Code cleanup
- Commit:
6496fa46554ce099a451eac338090bd6fe6554e1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Streamline punctuation of log messages
See commit d38d153f for details.
- Commit:
20b52fe33dc3387d50790ed6da8c47c34277527a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly use cloaked IRC masks on "INVITE nickname"
The cloaked IRC mask of a user is his visible mask, so the daemon has
to use it for generating the "one time" entries for the invite list of
the given channel.
Without this patch, ngIRCd records the real IRC mask which will never
match while the target client is "+x", and even worse, will disclose
the real mask on "MODE #channel +I" commands :-/
Bug reported by Cahata on #ngircd, thanks!
- Commit:
0fc822d8c44be42a62d3c26bbab99d5d0bc88346
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use correct sender as target for ISUPPORT replies on "VERSION"
This fixes commit 2e168c78 ("Return ISUPPORT(005) numerics on
'VERSION'") and make sure, that the 005 numerics are correctly
routed back to the sender.
- Commit:
2e168c7809f8c149710a75bf3bf5b98e72217c61
- From:
- Alexander Barton <alex@barton.de>
- Date:
Return ISUPPORT(005) numerics on "VERSION"
This is how ircd-seven, Charybdis, Hybrid, and InspIRCd behave,
for example.
- Commit:
14a84dfca57efeb744aa6219ca7776dc629871b7
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure: Only link "contrib/Debian" if it exists
This isn't the case on "VPATH builds", for example.
- Commit:
4cb36e370ec37554ff0ba3e26001b6bef5e4563d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge pull request #5 from grawity/accountname-whois
Show account name in WHOIS
- Commit:
e273bd226a10d3b6165763d533a8df8af3d3d375
- From:
- Mantas Mikulėnas <grawity@gmail.com>
- Date:
Show account name in WHOIS
This uses the same numeric as Charybdis and ircu families.
- Commit:
3b24ebf122fd8661437be244eb851d8f7d04408f
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.conf.5: Update manual page
- Commit:
599cfd09441816bfe90395a4ec1dff630bc6ce0c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'no-range-matching' of git://arthur.barton.de/ngircd-alex
* 'no-range-matching' of git://arthur.barton.de/ngircd-alex:
Remove "range matching" functionality
- Commit:
90062111f7fd3be5941d94781470b391bebfccaa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use $(MKDIR_P) instead of $(mkinstalldirs) in Makefile's
And test for "mkdir -p" using AC_PROG_MKDIR_P in "configure".
- Commit:
e73d70ce6fab3acdefe914520a4296acb6d50eac
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove "range matching" functionality
Don't support "range marching" in our pattern matching code using
the "[...]" syntax, because [ and ] are valid characters in nick
names and one has to quote them currently using the "\" character,
which is quite unexpected. For example:
Nick "te[st" => "MODE #channel +b te\[st"
And remove quoting altogether, too, because "*" and "?" don't need
to be quoted because these characters are not allowed in IRC masks,
nicks, and hostnames.
Reported by "hifi" (Toni Spets) on IRC, thanks!
- Commit:
e747fe92775f577a38f8dd681f7a58f751348f5e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix configure script and "make check" for TCP Wrappers
Add missing #include's and static variables.
Problem spotted on OpenBSD.
- Commit:
2560e5f1560b6b4a225e77de67876a588543c53d
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Allow using separate source and build trees
Now you can call platformtest.sh using its complete path name from an
other directory which is then used for building.
See <http://www.gnu.org/software/automake/manual/html_node/VPATH-Builds.html>
Please not that the build system itself is still (re-)genrated in the
original source tree. This can be avoided by passing the "-x" switch to
the platformtest.sh script.
- Commit:
0f85c4c6a70a71c935af9c28e2c469ea4b66220a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add libwrap at the end of the configure run
If libwrap becomes added earlier, other tests may fail because of not all
external variables required by libwrap are available when linking: for
example allow_severity and deny_severity.
This patch adds generic support for the LDFLAGS_END and LIBS_END variables
(CFLAGS_END has been implemented already).
Problem spotted on OpenBSD.
- Commit:
1f5508d0497f1cace5a482fcd7f50ecfce0715f7
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Show only up to 10 bytes of version information
- Commit:
97b4fd8a086af9d4a979e8fa3a714352fcffdca3
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: New option "-x", don't renegerate build system
- Commit:
fe73835666238247809d6390661f66df10362a6e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Client_SetHostname(): Don't use strlen() to test for value
- Commit:
5b4b7e2f55cee950f86966df3e0f335884cf8598
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: explicitely enable glibc memory checking
- Commit:
8ae2cdfce9f8ba75fe72d65603d4c05c87f6d9c2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Send "fake '*' key" in "MODE -k" replies
According to RFC 2812 3.2.3 "Channel mode message" and the examples
there, it looks like clients should use "MODE -k <key>" to unset channel
keys; and that's how other servers and services behave and do expect it.
(But please note that this is NOT the case for "MODE -l"!)
In the end, it doesn't make sense to specify a key when UNsetting it at
all, and different services behave diffrently when clients do not send
the currently set key to unset it - some ignore such calls, for example!
But this implementation is quite relaxed, it accepts any key when
unsetting channel mode "k" and even accepts no key at all. But the reply
will always include an "*" character for every "-k" parameter.
- Commit:
6685ae063f4e7dd75346cf50cff84c8c109e2d6b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "config.cache" to .gitignore file
- Commit:
e2b85ccde360ccc389afb0af12d5d75f0549f666
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: don't use "test -e", it isn't portable
- Commit:
7b358a57acfbb6e70f7c63d796b1e45e86431d1f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Makefile.am: don't use "test -e", it isn't portable
- Commit:
5d88030bd1a197041f84530a88c2590e6bb1bbb1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Support non-standard vsnprintf() return code
C99 states that vsnprintf() "returns the number of characters that
would have been printed if the n were unlimited"; but according to the
Linux manual page "glibc until 2.0.6 would return -1 when the output
was truncated" -- so we have to handle both cases ...
- Commit:
8872653ef6155bdaabd15c62ee67bd23d119305b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Partially revert bc098794: don't require autoconf 2.67
GNU autoconf 2.61 is still sufficient to generate the configure script, even
after updating configure.{ng|in}, so don't require a newer version.
- Commit:
4d4512cd726ddec3d9aac7648cca00c59b8adfdf
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: Update some systems to ngIRCd 21
- update i686/pc/cygwin, gcc 4.8.2
- update x86_64/apple/darwin13.0.0, Apple clang 5.0
- update x86_64/unknown/freebsd8.4, gcc 4.2.1
- update x86_64/unknown/freebsd9.1, gcc 4.2.1
- update x86_64/unknown/linux-gnu, gcc 4.8.2
- update x86_64/unknown/linux-gnu, Open64
- update x86_64/unknown/openbsd4.8, gcc 4.2.1
- update x86_64/unknown/openbsd5.1, gcc 4.2.1
- Commit:
bc098794ee45b5d5a2b9bb1a9c4f5be4136a2209
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update configure.ng for autoconf 2.67
We already require GNU autoconf 2.67 for generating our build system (at
least this is what the INSTALL document states), so update the build system
accordingly and implement all changes that autoupdate(1) suggests:
- Update AC_PREREQ and AC_INIT
- Use AC_LINK_IFELSE, AC_RUN_IFELSE, and AC_COMPILE_IFELSE
- Remove AC_TYPE_SIGNAL (we don't use RETSIGTYPE)
- Commit:
788da901ee3fa525a38dc99016d2612f6b945352
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Copyright notices for 2014
- Commit:
2a40112f09cc58d43447cc2665b7924c8a69c580
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug167-WebircIPAnoDNS' of git://arthur.barton.de/ngircd-alex
* 'bug167-WebircIPAnoDNS' of git://arthur.barton.de/ngircd-alex:
WEBIRC: Don't respect hostname when DNS is disabled
- Commit:
61b7932e82383f03cf751ff246c0610ce30dfd20
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug165-005-NETWORK' of git://arthur.barton.de/ngircd-alex
* 'bug165-005-NETWORK' of git://arthur.barton.de/ngircd-alex:
Implement new configuration option "Network"
- Commit:
1a628fff51fcfddde391e6c0f27686835e1b6d2e
- From:
- Alexander Barton <alex@barton.de>
- Date:
WEBIRC: Don't respect hostname when DNS is disabled
When DNS lookups are disabled, don't set the hostname received by the
WEBIRC command, but use the IP address instead.
Reported by Toni Spets <toni.spets@iki.fi>, thanks!
Closes bug #167.
- Commit:
f024a4992a9a38d64d0fd63283cd0c484bdec683
- From:
- Alexander Barton <alex@barton.de>
- Date:
portabtest: Add checks for strdup(), strndup(), and strtok_r()
- Commit:
86bdf6e1d4539da1076afe10b57b177fb54dd147
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement new configuration option "Network"
The new configuration variable "Network" is used to set the (completely
optional) "network name", to which this instance of the daemon belongs.
When set, this name is used in the ISUPPORT(005) numeric which is sent to
all clients connecting to the server after logging in.
Closes bug #165.
- Commit:
bd33bd770decd470577487fa4bd399cb1d8426fc
- From:
- Alexander Barton <alex@barton.de>
- Date:
OS X has a working getaddrinfo() implementation
- Commit:
d38747d951a8a5007e97693cade3551e11e50569
- From:
- Alexander Barton <alex@barton.de>
- Date:
portabtest: Actually test functions
Test functions snprintf(), strlcpy(), strlcat(), vsnprintf() for
correctness, not only existance (which was quite useless, because
if they weren't available, the program could not have been linked
at all ...).
- Commit:
b8433e9261c516d7b8743b33681050b6666192e5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Check for working getaddrinfo() function
At least AIX 4.3.3 and 5.1 have a broken implementation of getaddrinfo()
which doesn't handle "0" as numeric service correctly. This patch adds
a configure check for this case and changes all calling functions to only
use getaddrinfo() if it "works".
See <http://www.stacken.kth.se/lists/heimdal-discuss/2004-05/msg00059.html>
- Commit:
18070e5381b7d66963dbe990c98b06b5c601e280
- From:
- Alexander Barton <alex@barton.de>
- Date:
portabtest: Only use one exit code to indicate errors
- Commit:
5a424f60dad660815d89285da9a7a07e4991461a
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Fix spelling
- Commit:
d913323ca9a0900e836bc4f786850f303c0486ea
- From:
- Alexander Barton <alex@barton.de>
- Date:
portabtest: Code cleanup
- Commit:
444308ccde9bcf58c652ec6ed8f662f81854624a
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: Add and update more systems
- add i386/unknown/netbsdelf1.5.2, egcs-1.1.2
- update i386/unknown/openbsd5.3, gcc 4.2.1
- add i386/unknown/openbsd5.4, gcc 4.2.1
- add x86_64/unknown/linux-gnu, nwcc 0.8.2
- update x86_64/unknown/linux-gnu, tcc 0.9.25
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
9230f2fff1d374ecef93dafeb14099f22c9ef787
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Fix permanent k/gline
Reported by Toni Spets (hifi - at - jnz - dot - fi).
- Commit:
1ad536eeed009768395d6c71f7529992d2f74bd1
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: Add and update more systems
- add i386/unknown/openbsd3.5, gcc 2.95.3
- add x86_64/unknown/linux-gnu, Sun C 5.12
- update mipsel/unknown/linux-gnu, gcc 4.4.5
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
c68ae1a9f5923dcc590aad13ebc1e828ae6e17e0
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: add DragonflyBSD 3.4 on x86_64
Thanks to Götz Hoffart <goetz@hoffart.de>!
- Commit:
df7ea9e7b4a3953e8ee2e60865e20984fbc3895a
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: add OpenBSD 5.4 on HPPA
- Commit:
34824abe0dbf86477ec77385ed97c25f0a2375d8
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure: clean up function definitions
- Commit:
ae00c100acdb4d2d3f99524d30258d07eefcfb6d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only use unsetenv() when it is available
AIX 4.3 dosn't support it, for example.
- Commit:
61d1c864c55291c1f5f81f284e984b044fe2722f
- From:
- Alexander Barton <alex@barton.de>
- Date:
conf-ssl.h: make code compatible with pre-ANSI C compilers
- Commit:
8d25044ce515e25f453d22426c484a11d00af0f1
- From:
- Alexander Barton <alex@barton.de>
- Date:
vsnprintf.c: make code compatible with ansi2knr tool
- Commit:
c3c719b978698f016c7084f2b88c70523f73cf68
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove unused vsnprintf.c test function
- Commit:
9ee3760493a8c64f7d84ffb69c0b04a3e1a8a1c0
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Add comments around some IRC_SetPenalty() calls
- Commit:
344185b1bd6254ac4a198b3caeaf08db285016c8
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Rework the penalty handling slightly
Increase the penalty for a command before checking its arguments. This
makes the handling more consistent and allow us to move more penalties to
Handle_Request().
- Commit:
fcf61e9e0264d081e72eedddbd4a45b619e82b01
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Move IRC_SetPenalty() to Handle_Request() when possible
This centralizes the penalty handling. It also exposes some commands that
lack it for our attention.
- Commit:
9f236c4b9155f3d4f1c7f1bf3b22e8a106e29df3
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Introduce a macro to define the command list
This will pave the way to other changes and simplifies the entries somewhat.
- Commit:
00249f3c805ec0b4564901dce0f3a7b0c20ce439
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
When sending an error use the IRC_WriteErrClient() variant
This ensures that all errors have a 2 second penalty.
- Commit:
925b4de2981b55a279f28368446f0a862c621d5e
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
On bad /oper set the penalty to 10 seconds
This helps against brute-force attempts.
- Commit:
48ea69d778279e7256a167e6f4147eb5766bbdda
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Remove unneded IRC_SetPenalty() calls
IRC_WriteErrClient() already calls IRC_SetPenalty(). While here convert
some IRC_SetPenalty() + IRC_WriteStrClient() to IRC_WriteErrClient().
- Commit:
80d0613bf256f48b1dd20bface4c52b57cff8d28
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Use sizeof() intead of the explicit size
- Commit:
4ab688c5e82281c4d9ad2a4498523b1722c1f738
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove wrong #ifdef in Option_String()
This fixes the following error when compiling without zlib support:
irc.c: In function ‘Option_String’:
irc.c:487: error: ‘options’ undeclared (first use in this function)
Reported by "der_baer" on #ngircd.
- Commit:
2e931298778af0410c8f8ff61e3323810b0fd88e
- From:
- Alexander Barton <alex@barton.de>
- Date:
NEWS/ChangeLog: Clean up version numbers and release dates
- Commit:
94148c37f5b29dffe1f37192d3930a2e3de2377d
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 21
- Commit:
f25be28ab85a17c57eea4504e2924c2793150669
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: add Mac OS X 10.6.8
- Commit:
fae7bd1bb74c482bc714d7fb4dcf8b3f211acd0d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update doc/Platforms.txt
- Commit:
0556aa19011bb16e58bf436fc0199e18c4f3ec21
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.init: Make sure no stale PID file is left over
- Commit:
48698f14a283fe1b618ab7b09cb8d7a552bda61c
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh/Platforms.txt: allow user names up to 8 characters
- Commit:
8e6db769ac549cfe26042f7d51ae8a301d8fc569
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Check and call arc4random_stir() if present
FreeBSD prior to 10.0 does not automatically stir on fork(). Same with
current NetBSD. If arc4random_stir() is present assume is needed and
call it instead of srand().
- Commit:
8a041373bb81f75a91a00e692979619938199989
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: Fix sed(1) rules adjusting "ngircd-full" package
Error introduced by last commit :-/
- Commit:
37c8699f3403f8d45c1cfb1679be4248cfb1e726
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: Fix default "HelpFile" file name in ngircd.conf
The "full" package variants must use "/usr/share/doc/ngircd-full/Commands.txt"
and "/usr/share/doc/ngircd-full-dbg/Commands.txt" respectively.
- Commit:
788b3002d8f7340e709dda2de94dfdd812f1c400
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 21~rc2
- Commit:
beb9f65dc8dfb4517ab59512ddaf1e111a4e3132
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Detect clang compilers
- Commit:
62865f7e1910d08ad8d72cb89f830f6d9411ffa2
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Add support for longer config lines
With the introduction of CipherList we could have longer config lines.
Handle up to 1024 bytes and warn if the line will be truncated.
- Commit:
a7dda1b28c5d425b3fc4e946ff238ca06c9bb64e
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Report the correct file on error
- Commit:
cba5a2579f911c8527e5c51c4c57e6beaefe26d8
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: Add Open64 and tcc C compilers on Linux
Thanks to Götz Hoffart!
- Commit:
a2479bb9069ea2b61cf606dbefc2cb3ad0eb8e1d
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Detect tcc compiler
- Commit:
17589534d0ccff05463910d1f0ba673d7d1630fd
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Add support for arc4random
If arc4random is present it will be used over the srand/rand interface.
This fixes some warnings in OpenBSD-current.
- Commit:
ea26fd2840f6c7f286407e86f832d6ec5e93eeeb
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Fix another strcat warning missed in commit 4c5b43
- Commit:
45d3e6aa91295bee056df8be5c3ed224420fba02
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Clean up GIT source tree, when possible
- Commit:
0bd3fb88b2c2a433a68c82c3eaba2fd13b8fcd0b
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Detect Apple LLVM (clang) compiler
- Commit:
c34b91d8ddd23c0f04da949b4f3b592ed081c729
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update (date of) manual pages
- Commit:
56da86b4f4f162851f802d9e90b2779d804f411b
- From:
- Alexander Barton <alex@barton.de>
- Date:
ChnageLog file: even more spelling fixes ...
- Commit:
ea8a2bf1fc786874010c8a6ef84b3142c536112e
- From:
- Alexander Barton <alex@barton.de>
- Date:
INSTALL file: Update "Upgrade Information"
- Commit:
1b349b05d5040de19921f087785310dfe24ef5df
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix spelling in NEWS and ChangeLog files
- Commit:
4c5b439992ce99f1bed84c51e4d9c3a3cd118858
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.c, main(): use strlcat() instead of strcat()
This fixes the following warning on OpenBSD 5.3:
ngircd.o(.text+0xeb4): In function `main':
src/ngircd/ngircd.c:300: warning: strcat() is almost always misused,
please use strlcat()
Thanks to Götz Hoffart for reporting this!
- Commit:
86cd2da8d5dc08eedbf23be5249d1cc3a16f0787
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 21~rc1
- Commit:
9b1fee8995f5e1ee5390ba36635804744a368c94
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
2798a12444bce91613388ceb7ab52d1e97787687
- From:
- Alexander Barton <alex@barton.de>
- Date:
Actually KILL clients on GLINE/KLINE
Kill all clients that match a new GLINE/KLINE mask and genrate apropriate
KILL commands. These KILL commands can be superfluous, but are required
when the IRC Operator isn't allowd to set remote G-Lines or if there are
older servers in the network that don't kill clients on GLINE/KLINE.
Closes bug #156.
- Commit:
02182143c30288b54cf84325c796ec9b7a7b2d34
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't forward KILL commands for unknown clients
- Commit:
b5faf3055b61afaef73ac49a448cac1a5b063127
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function IRC_KillClient() to kill clients
The old local function Kill_Nick() in irc.c has been an ugly hack. This
patch implements a generic function for killing clients.
Adjust all callers of Kill_Nick() and respect the return code!
- Commit:
cccd8fc957e893e250324b65146df8fca4680f11
- From:
- Alexander Barton <alex@barton.de>
- Date:
Adjust log messages for invalid and spoofed prefixes
Now invalid prefixes aren't logged no more when originating from an other
server (besides in debug mode), and spoofed prefixes are correctly logged
using LOG_WARNING (from an other server) or LOG_ERR (from a client) levels.
In addition, the log message texts have been adjusted to better reflect
what will happen: commands with invalid prefixes are ignored and logged,
commands with spoofed prefixes will result in the client being disconncted
(regular users) or the command being ignored (other servers).
This cleans up logging of commands related to already KILL'ed clients.
- Commit:
eccbd97e1f2599bfb76818fe6bc32967ed07e0c7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove CLIENT.oper_by_my, Client_SetOperByMe() and Client_OperByMe()
All places where Client_OperByMe() is used can either be converted to
Client_HasMode(Client, 'o') or Op_Check().
And Op_Check() itself can use the connection handle for deciding whether
the IRC Operator is a local user or not.
- Commit:
ec5ab4fcd1bc361cacb56e999b2b8f0a00caf5a9
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Add support to show user links using "STATS L"
Change "stats L" to show servers and user links and restrict it to
IRC Operators.
- Commit:
13a5358a3d9a439e2f6d70f7770d4b7673bfbbc1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Log an error (not info) when working directory can't be changed
- Commit:
99db111bca731490e8e91dfe3efe075179177005
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/PAM.txt: add a slightly more useful example
- Commit:
27b9d32bf2a851c4acbfdc4d9aa5a55d12c92c10
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Change the certificate fingerprint digest to sha256
While here correct some indentation.
- Commit:
0985d69cc6c1daa7cdc8f15f93772b12ab3e8271
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Change cipher defaults
Switch cipher defaults to HIGH:!aNULL:@STRENGTH (OpenSSL) or
SECURE128 (GnuTLS).
- Commit:
d0977258ee14a5178e98c9a00c064d90f0eac9d6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge remote-tracking branch 'alex/bug162-SSLCipherList'
* alex/bug162-SSLCipherList:
Cipher list selection for GnuTLS
ConnSSL_Init_SSL(): correctly set CONN_SSL flag
Cipher list selection for OpenSSL
ConnSSL_InitLibrary(): Code cleanup
- Commit:
2cebfc54f5c450577e0a6d4f61a421ac2396e44e
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Fix server reconnection
In some error cases conn_id will be left as SERVER_WAIT and
subsequently ignored in Check_Servers(). Ensure conn_id is set to
NONE before returning from New_Server() if we couldn't establish
the connection.
Prompted by a report from gabrielgi-at-gmail-dot-com.
- Commit:
b9006acee3649600226652a8361f13c859726cf2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Cipher list selection for GnuTLS
This patch implements the missing functionality for cipher list selection
using GnuTLS (our OpenSSL code has this already).
- Commit:
de3e5fa77ca1b726fe242d869836d3c1c71c2cfb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't ignore SSL-related errors during startup
Without this patch, ngIRCd ignores SSL-related messages and continues
to start up but only listens on plain text communication ports -- and
this most probably isn't what the administrator wanted ...
Closes bug #163.
- Commit:
51231ac8d45bf329f4724a145e6bc7a3ea118570
- From:
- Alexander Barton <alex@barton.de>
- Date:
ConnSSL_Init_SSL(): correctly set CONN_SSL flag
The CONN_SSL flag must be set before any calls to ConnSSL_Free()!
- Commit:
84ed46d4c1caaa4ec79a6223c35785afcf1c9d53
- From:
- Alexander Barton <alex@barton.de>
- Date:
Cipher list selection for OpenSSL
This patch introduces the possibility to arbitrarily select ciphers which
should be promoted resp. declined when establishing a SSL connection
with a client by implementing the new configuration option "CipherList".
By default, OpenSSL would accept low and medium strength and RC-4 ciphers,
which nowadays are known to be broken.
This patch only implements the feature for OpenSSL. A GnuTLS counterpart
has to be implemented in another patch ...
Original patch by Bastian <bastian-ngircd@t6l.de>.
Closes bug #162.
- Commit:
e8e03519857f26315e5571c10ae1752ba5262f5c
- From:
- Alexander Barton <alex@barton.de>
- Date:
TRACE: fix error message when there are too many parameters
ircd 2.11 ignores additional parameters silently, but I don't think
that this is the correct behaviour either ...
- Commit:
849f85a05c17828c592bed26bd99707f211fad1c
- From:
- Alexander Barton <alex@barton.de>
- Date:
ConnSSL_InitLibrary(): Code cleanup
- Commit:
131364def157263d1416e559636593a4daaca72a
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_SetPenalty(): Code cleanup
- Commit:
bcb45da1b416e7ee4b50dcf16947fb9703f713cf
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Add more penalty times
Ensure before every numeric 461 there is a call to IRC_SetPenalty().
- Commit:
08f9d31d60220e8a389a2d24f42625be7749f090
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Rework check for number of parameters
Move most of the checks that return numeric 461 into Handle_Request().
- Commit:
37609d6a4f036b175fdc304d0ee466bd8ad57bf9
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Reorder checks
Move oper and Conf_MorePrivacy checks after checking the number of
parameters.
- Commit:
33c2d5e4e255f314d5d7136d8edeb662128bd79a
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Move the IRC_SetPenalty() call after the asserts
- Commit:
a98bbc8e0b937f4fedf7ad852eaf109c6a9c5b8f
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Correct numeric returned by whois
As per RFC whois should return 431 if no nick is provided. While
here convert upper check to use irc-macros. As a bonus we get to set
the penalty for free.
- Commit:
9f74c0ff075dc67e068b8c2da0c069b6c622e436
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Minor cosmetic change
Add a define to indicate any client. While I'm here use hex values
instead of decimal, it's somewhat clearer that they could be OR'ed
together.
- Commit:
e5cdd61fe3d78fa976836192dbca64874160a493
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Document proprietary DIE <message> parameter
- Commit:
e3a2a6c44d30a68f3afeab17ba19a5559e09f3a5
- From:
- Alexander Barton <alex@barton.de>
- Date:
getpid.sh: use /bin/pidof when available
- Commit:
aad92ceafe8b4b0091867415504f83930a74428b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't enforce channel types for other servers
The configuration option "AllowedChannelTypes" must only be enforced for
regular clients and not for remote servers. Channels created by other
servres are always allowed, because they already exist and the daemon
must stay in sync with the network.
- Commit:
4102e8fdfea33a5d8c398c98db90914c5dc29610
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only log "IDENT ... no result" when IDENT was looked up
Without this patch, ngIRCd logged the "IDENT lookup for connection X:
no result"-message even when IDENT lookups have been disabled using the
"Ident = no" configuration option, which is a little bit misleading.
Reported by "btwe" in #ngircd.
- Commit:
f8f8a9a04146fb7a4e1570ce0474ea86806879ed
- From:
- Florian Westphal <fw@strlen.de>
- Date:
ngircd: use setgid/setuid errno value in error path
Need to use saved errno value as strerror argument, else you
get bogus output ('success') in the log message.
- Commit:
04b947cdc3ad1f3370aae2ba2e7308587bea0dda
- From:
- Alexander Barton <alex@barton.de>
- Date:
Show connection flag "s" (SSL) in RPL_TRACE{LINK|SERVER}
Now you can check if a server-to-server link is SSL-encrypted or not
using the IRC "TRACE" command.
Idea by Götz Hoffart, thanks!
- Commit:
be2e611680834cf469c31ff0a230f1bf6d55c554
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Change away to be allocated dynamically
- Commit:
41f75b69740bd205864bd34afbb65ab0a3776136
- From:
- Alexander Barton <alex@barton.de>
- Date:
Ignore "operation not permitted" while dropping groups
Without this exception, you can't start ngIRCd as user any more,
it is analog to setting the user and group ID.
- Commit:
e009ccbe66f67a4c5344d6a1f415c50b699765ad
- From:
- Florian Westphal <fw@strlen.de>
- Date:
ngircd: discard supplementary group ids on startup
The intention was to switch to JUST uid:gid, but setgid is not
sufficient.
Reported-by: Michael Scherer <misc@zarb.org>
- Commit:
46d43dc09c82e05762ec05585eed65ba953e6887
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: update project settings for Xcode 5
- Commit:
44698e44e8a9bf9f3a1211e10b4d59e00be5864f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug159-WebircIPA'
* bug159-WebircIPA:
Introduce Free_Client() function to free CLIENT structure
Save client IP address text for "WebIRC" users
- Commit:
0ff33777febca1ac06417c976a4a3e76b68c93d8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Introduce Free_Client() function to free CLIENT structure
- Commit:
2bacb8210b4f0807eb50587bcc4329c7ea7a50c3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement new configuration option "DefaultUserModes"
The new configuration option "DefaultUserModes" lists user modes that
become automatically set on new local clients right after login.
Please note that only modes can be set that the client could set on
itself, you can't set "a" (away) or "o" (IRC Op), for example! User
modes "i" (invisible) or "x" (cloaked) etc. are "interesting", though.
Default: set no modes (like without this patch).
Closes bug #160.
- Commit:
1dc93286a0d5b80259604b4f25021fcc5a730b5b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Save client IP address text for "WebIRC" users
This patch introduces a new field in the CLIENT structure, "ipa_text",
which points to an optional textual representation of the client IP
address (or NULL) which can be used to store the "real" IP address
information of a client using the "WEBIRC" protocol.
Without this patch, ngIRCd ignored the <ip-address> paramater ...
In addition, the functions Client_SetIPAText() and Client_IPAText()
have been introduced to set and get the textual representation of the
client IP address.
Client_IPAText() can be used even when no "IP address text" has been
set before, it then returns the real IP address of the connection.
Closes bug #159.
- Commit:
3b65f4e38d1ab019513f16b70581ae10574006e8
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Change strdup() to strndup()
- Commit:
6ac5a82eecb76ec35f3f484149ad668073a52620
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
private strndup() implementation in case libc does not provide it
- Commit:
086cf3a2723e2dcc8e1acf49d166e254fe22e7cf
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Cosmetic changes to METADATA
Update certfp and sort entries.
- Commit:
8d01be7bbd2bbfd2524384af3cb9bdefaa87ea48
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Silence warning
Cast the result of the operation to long, not the time(NULL) call.
On systems where sizeof(time_t) is other than long this will produce
a warning.
- Commit:
eb86d234f8553cb018fe86483ee754817689439a
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Plug memory leak
- Commit:
3af0ece2bcf550cccd7b647c111ce503c2faa459
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Implement account login support
This is done via the `accountname' METADATA command and used to
automatically identify users after netsplits or across service
restarts.
- Commit:
a9ffbdea3f3e245326eaa4242f97803b6edad522
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Fix spelling
- Commit:
6dc5471a758b75e58f3855f086f1e5ba1676d931
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 20.3
(cherry picked from commit bb6e2779636aa6d74bbff474880829f0183a3c94)
Conflicts:
ChangeLog
NEWS
- Commit:
309122017ebc6fff039a7cab1b82f632853d82d5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly handle return code of Handle_Write()
There have been code paths that ignored the return code of Handle_Write()
when sending "notice auth" messages to new clients connecting to the
server. But because Handle_Write() would have closed the client connection
again if an error occurred, this would have resulted in new errors and
assert()'s later on that could have crashed the server (denial of service).
Only setups having the configuration option "NoticeAuth" enabled are
affected, which is not the default.
CVE-2013-5580.
- Commit:
8f530eb3154c7d62201c28a53fac5594a956b447
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance log messages on "recursive" connection errors
- Commit:
d56341c77b19b3e1d4cf13c2f95ec1612e8d52c9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add some assert() calls to ng_ipaddr library
- Commit:
212d99146d4a3681976450b5ff0dfa57e1d2e44f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update ChangeLog file
- Commit:
e2f09213bcef479e7b3a35d67b1cc6b76f2205fb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian init script: test for binary after reading defaults
This allows the system administrator to overwrite the DAEMON variable in
/etc/defaults/<name> and to use this init script even when the default
"/usr/sbin/ngircd" doesn't exist on the system.
- Commit:
c8b12af1d2d155ec79dc2044a4ff177cf07de4fe
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'ssl-log-messages'
* ssl-log-messages:
Make SSL-related log messages more readable
ConnSSL_HandleError: Code cleanup, more documentation
- Commit:
a919e02ba1670277fd5a501e8c112b7c5e9771ac
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make SSL-related log messages more readable
- Don't use internal function names but describe the error.
- Streamline wording, use "SSL" for SSL and TLS.
- Streamline punctuation.
- Commit:
b081cfb628d8a1d8d8c9c8eec7606ad0e3ff8584
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Use _IRC_ARGC_BETWEEN_OR_RETURN_ when possible
- Commit:
dd4c60cf392ecabeeadd616c7fc561af87a7cef5
- From:
- Alexander Barton <alex@barton.de>
- Date:
ConnSSL_HandleError: Code cleanup, more documentation
- Commit:
4828bae8d321c6a87a724092ef0f258db7cd7e50
- From:
- Alexander Barton <alex@barton.de>
- Date:
Change log level of "SSL connection shutting down"
- Commit:
cd38e9580e428103cef39e2e29f62472b2f336d3
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Fix 2 bugs introduced in 74514b8c23
Channel_Modes() and Channel_Topic() return static memory that is zeroed at
creation time. Fix checking for empty modes and topic so they're propagated
correctly.
- Commit:
aeebde4642580e806c04a339bb9befd1ece61775
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure: Don't quote IO backend type(s)
It's not needed and inconsistent compared to the other settings.
Reported by "allerbest" (Götz Hoffart) on #ngircd, thanks!
- Commit:
298158501dd928954fa542b9a2ee0ccc9b0ab2ac
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_SERVER(): Code cleanup
- Commit:
904c8a4375cb9deed64007b06c6a7ba42313d93d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Introduce new function IRC_WriteErrClient()
This function is used to send "error messages", including numerics,
back to clients and to automatically enforce a 2 second penalty. With
this patch, all error results enforces a delay for the client.
All callers of IRC_WriteStrClient(ERR_xxx) have been converted.
Please note that this patch prolongs the time "make check" needs
to complete its tests, because of lots of new enforced penalties ...
- Commit:
b86e33ef4945e21078b2c1f37a5d276e615450ee
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-macros.h: Update copyright, don't forget contributors!
- Commit:
0a3d8d60d3c3ac66d09346aa02c10c9649b62e99
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-write.c: Clean up code and add more documentation comments
- Commit:
08d49a8fa02ef11b22d611d11c595812ce207ac8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix return code of some IRC_WriteXXX() functions
These functions usually write to more than one target, and therefore
can't return value indicating success or failure in a sane way. And, even
more omportant, these functions should send to as much as possible clients
and not stop at the first client which isn't reachable any more!
- Commit:
8f5cbe51a79c786be30ebc93466988cf67a825e1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Streamline punctuation of log messages
See commit d38d153f for details.
- Commit:
bd0de15d314e6eacd0ea77be49473fedc7b2667f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
fcdb5cf8dd1579172ad894ddc8c07defa16f0822
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
More spelling corrections
- Commit:
7db84815000adcf561f2be7de1234cd8277bc0be
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Inline who_flags_status
- Commit:
74514b8c233eebc95fe0cc1116074dcf6899d841
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Convert more code to use Channel_HasMode
- Commit:
c74115f25c8ea3f67c75120c0a1398975bac03ad
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Simplify mode checking on channels and users within a channel
Add Channel_HasMode() and Channel_UserHasMode() and use it where
possible.
- Commit:
672a1679639d597cf1c4336687ac78dcc24a9559
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Use Client_HasMode and Client_HasFlag where appropriate
- Commit:
139f5961a078dfd23a469d98c3942f42595854aa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug152-AllowedChannelTypes'
* bug152-AllowedChannelTypes:
Implement new configuration option "AllowedChannelTypes"
Introduce "CHANTYPES" #define
- Commit:
5258fb7f7c3d92a35083f869bae4f05ab988d2da
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement new configuration option "AllowedChannelTypes"
The new configuration variable "AllowedChannelTypes" lists all allowed
channel types (channel prefixes) for newly created channels on the local
server. By default, all supported channel types are allowed.
If set to the empty string, local clients can't create new channels at
all, which equals the old "PredefChannelsOnly = yes" setting.
This patch deprecates the "PredefChannelsOnly" variable, too, but it is
still supported and translated to the apropriate "AllowedChannelTypes"
setting. When "PredefChannelsOnly" is processed, a warning message is
logged.
Closes bug #152.
- Commit:
15dfdaac823c5927b096b2980753a6198a6a7741
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
More spelling fixes
Remove superflous comments, mostly in German. Fix spelling and
use american variants for consistency.
- Commit:
bb8d207efa56b8dbdf366d980b848b0abd072a7d
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Change cloaked hostname to be malloc'd on demand
This shaves a few bytes when cloaked hostnames are not used and
restricts the cloakhost announcement iif there is something to
send.
- Commit:
5e775a3faec6a6a3a9bae6a0921dc1a82e5df1da
- From:
- Alexander Barton <alex@barton.de>
- Date:
Introduce "CHANTYPES" #define
This #define lists all the prefix characters of all supported channel
types, this is "#&+" at the moment.
- Commit:
e03d8eb7284147f7d44ff192cec18ad9716fedff
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Add Client_HasFlag() to check if a client has certain flag
- Commit:
69ce65bacb0155be5fb9159a3dfc5c8e3390cc0d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge remote-tracking branch 'fgsch/certfp'
* fgsch/certfp:
Simplify MOTD handling
Add certificate fingerprint support
- Commit:
a95d3e05e7c01fb82981898cdcfe162d727952bc
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Fix spelling
- Commit:
bf8e03c46652100547755322a797f0bf8e2da586
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Simplify MOTD handling
Merge Show_MOTD_Start, Show_MOTD_Sendline and Show_MOTD_End into
IRC_Show_MOTD.
- Commit:
4ec19c03323c872a576d6891b3c5fa3fe70261c4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update irc-server.c to use irc-macros.h
And add some comments :-)
- Commit:
646a97de5fea240f8e06e1b38aa9e72ea50e0c8c
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Rename XXX_Fingerprint to XXX_CertFp
- Commit:
1254d315b9d33010035aaf7eba61ac4e8e1cc98f
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Add certificate fingerprint support
- Commit:
61a6691b364fbb58b49de62ad191855d7a1f06f4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update more descriptions
Update description of "CHANINFO", "METADATA", "NJOIN", "SERVER", "SQUIT",
"GET", and "POST".
- Commit:
8e60fac73b791129b69d20c9e5b02ee1e89f6eaa
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Improved client announcement
Move Announce_User() to client.c and rename it to Client_Announce().
Use this in cb_introduceClient() instead of duplicating the code.
This fix the certificate fingerprint announcement for new clients.
Also ensure the certificate fingerprint is only announced if the
client supports it (`M' flag).
- Commit:
78c8212280127b421d4a8bb1094560441ffb7eef
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update irc-oper.c to use irc-macros.h
- Commit:
313881d0c1466e6b8f52b4456b66a2477ccba9cf
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add penalty times in error paths of generic IRC helper macros
Add a 2 second penalty time when the number of parameters is invalid.
- Commit:
adc8d4f6c89a11e08f5214e4ceb1323376a42ec5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update more descriptions
Update description of "CONNECT", "DIE", "DISCONNECT", "GLINE", "KILL",
"KLINE", "OPER", "REHASH", "RESTART" and "WALLOPS".
- Commit:
3bd973037a1664387161a465f801b78ff0180fa1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add more penalty times in error paths
This patch changes the handlers of the "PASS", "NICK", "USER",
and "SERVICE" commands to enforce a 2 second penalty when an error
like "need more/other parameters" occurs.
More functions should follow, I think ...
- Commit:
24183b1a918d7475f9fac28a10c6ae49c93e24b3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Fix <target> description of TRACE command
- Commit:
f494023b0d99be0e4b07701b983b71ecf4920465
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update irc-login.c to use irc-macros.h
This includes code cleanups, too :-)
- Commit:
888c52468373e3680fa1138830643848675779e5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update irc-mode.c to use irc-macros.h
This includes code cleanups and more comments, too.
- Commit:
659d1264607e780708ace76181b0dc556b54e39a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update more descriptions
Update descriptions of "NICK", "PASS", "PING", "PONG", "QUIT", "USER",
"WEBIRC", "SERVICE", and "SVSNICK".
- Commit:
ae0af66d504125104eca984f92449b2bd78bc192
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update irc-channel.c to use irc-macros.h
This includes code cleanups, too :-)
- Commit:
76dcb08266de81ff37aab7aeb25d6378150ed7da
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of "PRIVMSG", "NOTICE", and "SQUERY"
- Commit:
a8ecde255377c4235440c491cb28711a7b59869e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update more descriptions
Update descriptions of "AWAY", "JOIN", "LIST", "MODE", "PART",
"TOPC", and "TRACE".
- Commit:
4cb2edf020286719f8ab65d57771f7fefcdbef00
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "compile" to .gitignore file
- Commit:
fef10f590b38371439c35b5e0a7f2e1a9a373a8a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Streamline references to IRC+ protocol
- Commit:
720eb874a9397672de06055947a057db8cf62007
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "ERROR" command
- Commit:
771e539c18669d6c20b557be79675b94ca191c59
- From:
- Alexander Barton <alex@barton.de>
- Date:
Show IRC Operator name when logging a successful OPER command
- Commit:
fa15eb169814c1ca434e49464d6f5d150057ae31
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update irc.c to use irc-macros.h
This includes code cleanups and better documentation for some
functions, too.
- Commit:
b54e664a635bf20cdfcc09dfbc68a909f9344968
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge pull request #4 from fgsch/master
Changes for ngircd 21.
- Commit:
7adc4b8e99c64c150861c6ad5a197d88141afa13
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Handle services in IRC_WHOIS_SendReply()
If the target is a service, advertise it as such and ignore operator mode.
- Commit:
5115756b793dffda86173d424444daf5801967a9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Slightly update ngircd.8 manual page
- Commit:
5021977bb1bf6c13323b7ef2a73f64e9533a379a
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Fix spelling
- Commit:
f6ac0d89ae058794e82f62660f7fe2164ffc3ca1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Travis-CI: Enable OpenSSL and libiconv support
- Commit:
11240376a5008dea9e970f40df659931d1321e8b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated NEWS and ChangeLog files
- Commit:
e377f4ea475bae2753e4728f657f146cdeac4d37
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance Travis-CI configuration file
It now configures the sandbox to build ngIRCd with IPv6, IDENT, PAM,
TCP-Wrappers, and zlib support. And it installs expect(1) and telnet(1)
for the test suite.
- Commit:
9d3800fd15a273f23f51c1f1ab3bc75dacf6c589
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge pull request #3 from Cofyc/master
irc-info.c: some commands use LINE_LEN as command buffer len
- Commit:
4f525d39d4ca885da69800c396045459af8bb0eb
- From:
- Yecheng Fu <cofyc.jackson@gmail.com>
- Date:
LINE_LEN -> COMMAND_LEN
LINE_LEN is configuration file line length
- Commit:
7ea3864a9369086024a2d541b053963958b19899
- From:
- Alexander Barton <alex@barton.de>
- Date:
IncludeDir: default to "$SYSCONFDIR/ngircd.conf.d"
Now "IncludeDir" defaults to "$SYSCONFDIR/ngircd.conf.d" instead
of no directory, but a missing directory is only reported as an
error if it has explicitely configured in the main configuration
file and simply ignored otherwise.
Therefore it is now possible not to touch the default (sample)
configuration file at all, and set all distribution and/or system
specific configuration options in "*.conf" files stored in
"$SYSCONFDIF/ngircd.conf.d/".
Thanks to "Elmasloco" for the idea!
- Commit:
891dbd2acc59a6d9ff6dd8a5b12e91f5a8fa20ed
- From:
- Alexander Barton <alex@barton.de>
- Date:
"IncludeDir" can't be overwritten by included files
- Commit:
27fd92d580f472e1ecacd3a9597416a5c23bd289
- From:
- Alexander Barton <alex@barton.de>
- Date:
Rename "Mask" variables into "Pattern" in assert() statements
This completes commit 3ab00e3a11 which broke debug builds.
- Commit:
f206fda8ae14e9c76e3dca6aa67412d5ae9ee9f7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement new configuration option "IncludeDir"
The option "IncludeDir" in the [Options] section can be used
to specify a directory which can contain further configuration
files and configuration file snippets matching the pattern
"*.conf" that should be read in after the main configuration
file ("ngircd.conf" by default) has been parsed.
Closes bug #157.
- Commit:
51e5ba94b3f28f84aadc140f0c340d03d2a11d6c
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Ensure there is enough space for the mask
As pointed by Alex while strl{cat,cpy} take the full length
we need to leave space to ensure a proper mask is always created
so revert the removal of - N from my last change.
- Commit:
6beb0fad3ff09ae92a7aea0e4b8ad7b00fe2e26d
- From:
- Alexander Barton <alex@barton.de>
- Date:
conf.c: New function Read_Config_File()
This function reads in and parses a single configuration file.
Adjust all other functions to display the correct name of the
file being read in currently.
- Commit:
b4d0a4038398c23d015bd3faf6247a0dd91016a9
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Better description for Lists_CheckReason()
- Commit:
3ab00e3a11acfd22741e58aa409bb2026e0665ba
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Change Lists_MakeMask() to receive a buffer for the mask
Change callers accordingly so they don't rely on a global buffer and
rename Mask to Pattern where it makes sense since some functions
where indeed receiving a pattern and not a mask.
- Commit:
cde2e8a2775e8b01266627a60a08e2560eac42c8
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Date:
Fix use-after-free on Lists_CheckReason()
Change Lists_CheckReason() to receive a buffer where the reason
will be stored and its length. Change callers accordingly.
Change Class_GetMemberReason() (and its callers) in a similar way
so it doesn't rely on a global buffer for the rejected reason.
- Commit:
528c8fc244cb689d83d10203330718ba6b593458
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update doc/Platforms.txt a little bit ...
- Commit:
7f9bce705c72b7fc8ab597b67c0255a154b8b3bd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Build OS X package with correct file permissions
This requires to have the correct permissions in the source tree, which
is "root:wheel", which in turn requires root privileges. Therefore the
Makefile now tries to become root on "make osxpkg-dest" but tries hard
not to require root privileges on "clean" etc.
- Commit:
ce3e41cf4ce7a968bc092d7028e5744e7220c8df
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: fix detection of host OS, vendor, and CPU
- Commit:
dd6a0589929b2a02e56b1c9ad4cac3d409100d98
- From:
- Alexander Barton <alex@barton.de>
- Date:
PackageMaker: use relativ path names
- Commit:
7ed06b21895929f652b2d950e9ecd2e3ec9cfcce
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add Travis-CI configuration file
- Commit:
a14eb495b75c8c2a2a32ddb6eecf50dc174f811c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make configure[.ng] compatible with autoconf 1.10 again
The incompatibility has been introduced by commit d0c9f4a6,
"configure: search for iconv_open as well as libiconv_open".
- Commit:
0131e1e00bc8ad35b030dfa6b8ab769b0657e174
- From:
- Sebastian Köhler <sebkoehler@whoami.org.uk>
- Date:
Lists_CheckReason(): Check for Client_MaskCloaked()
Look for possible cloaked Masks in Lists. Users with +x usermode can be
banned with their cloaked hostname now.
- Commit:
8618e942e6c6de37dfebb9fbca992d173e8a8382
- From:
- Alexander Barton <alex@barton.de>
- Date:
Services.txt: Anope 1.9.8 has been released now
- Commit:
2fea782efc480a71a36a9877d3c31d479bd3072f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "KILL" command
- Commit:
a2e26aad1e106aac256991a3d0c43c6c3fda7d4b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Conn_Handler(): Don't test for penalty times
The Conn_Handler() main loop calls Handle_Buffer() which checks for the
"penalty time" of each client itself, so don't do it twice.
- Commit:
b4393277ea1cc67bc8433fcbeded3fc2186f5c54
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't read SSL client data before DNS resolver is finished
Fix the cb_clientserver_ssl() callback function to not read in and store SSL
encrypted client data before the asynchronous DNS resolver sub-process has
finished: This could have resulted in discarding the resolved client hostname
and IDENT reply afterwards, because in some situations (timing dependent) the
NICK and USER commands could have already been read in from the client,
stored in the buffer, and been processed.
Thanks to Julian Brost for reporting the issue and testing, and to Federico
G. Schwindt <fgsch@lodoss.net> for helping to debug it!
- Commit:
b33da9b8f3e46f3174093c01aa9e75b65964ecf2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Increase password length limit to 64 characters
Closes bug #154.
- Commit:
3e3585708010cc0da22355aca84c9e79f8286e0b
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Services.txt: Update Anope status and URL
- Commit:
b25fd8a98ca48abdabfe52ce3bfdd00a8f9fc003
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "KICK" command
- Commit:
be08349dcb2ed3e89040112a241e022ee802baa4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "INVITE" command
- Commit:
3228f1b2677e6edd1b0cfe81ac31069914ecd61b
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-op.c: use irc-macros.h
- Commit:
a53de63ba7fcb4144f4fcc2db221556177528900
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-cap.c: use irc-macros.h
- Commit:
e8f512bfe70a6c620e09aa221fb7058dc2c6687e
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-op.c: Update source code documentation
- Commit:
bb31d7b88cd11ceec65aed08a99ac9a2270ce3ef
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-cap.c: Update source code documentation
- Commit:
7f99f7c14f923c1e9aa8fe075a908c1e9e5b6239
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add new _IRC_ARGC_EQ_OR_RETURN_ macro to irc-macros.h
- Commit:
883a8fa6f185033102748be6dde1b386ddef54ac
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add new _IRC_ARGC_BETWEEN_OR_RETURN_ macro to irc-macros.h
- Commit:
a7b04ce6cff3613a45864a127dde082a1a4c6aec
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-cap.c: move static functions to the top of the file
And remove now unnecessary (local) prototypes.
- Commit:
bd1b72718758c7f49aaab31a1bb34018880c10aa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Doxygen configuration
- Commit:
19d6f4740eb6dc058f02379b0abca96b94eb8159
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up Xcode project file, remove outdated files, add missing
- Commit:
0f0f4f41b88ac4473cd826f9e1027a04bbb51c8a
- From:
- Alexander Barton <alex@barton.de>
- Date:
src/testsuite/README: add whois-test.e
- Commit:
221365d8efcdc8930ad462756fa2851879f51f7e
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-login.c: conenction -> connection
Introduced by commit d3ef2239 as of Sun Jan 16 2011 ...
Thanks to Patrik Schindler <poc@pocnet.net> for reporting this!
- Commit:
2c96966431d99ce611736ed841e813c1fac6df8c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug151-iconv' into master
* bug151-iconv:
configure: search for iconv_open as well as libiconv_open
- Commit:
65359ff8f722efdf24700ce05011afc0fef28924
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug153-ServerMask' into master
* bug153-ServerMask:
Update irc-info.c to use irc-macros.h
Add new irc-macros.h to project
irc-info.c: add/streamline function documentation comments
irc-info: move static functions at the top of the file
Implement new function Client_SearchServer()
Conflicts:
src/ngircd/irc-info.c
- Commit:
d0c9f4a692877d0a232499031f82413b02a45739
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure: search for iconv_open as well as libiconv_open
On some installations iconv_open() is actually libiconv_open().
iconv_open() is the glibc version while libiconv_open() is the libiconv
version. This patch enables ngIRCd to detect both cases.
Tested on OpenBSD 5.1.
Closes bug #151.
- Commit:
d5763937ad8d482f3e62299428f8cb4b601c6ace
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure: conversation -> conversion
- Commit:
5dce3301bd3e9c26e1c1371379366a0aaba32e20
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update irc-info.c to use irc-macros.h
This includes:
- move IRC_SetPenalty() at the beginning of the handler functions,
- use macros provided by irc-macros.h,
- code cleanup.
The main benefits of this patch are core size reduction, streamlined
structure of the handler functions, and enhanced functionality:
because of the _IRC_GET_TARGET_SERVER_OR_RETURN_() macro using the
Client_SearchServer() function, the target of the specific IRC command
can now be given server names, server mask, or the nickname of a user
connected to the server.
Closes bug #153.
- Commit:
25b19e08e2083f7b1972820ca4c096687d7eeaca
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 20.2
(cherry picked from commit c45d9dd1f08fddb95fa01d62c69848cd753a3161)
- Commit:
a9175145462335ef69dbc2509e2db6f2c96e635c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add new irc-macros.h to project
This file prvides some macros for common tasks required by functions
implementing handlers for IRC commands:
* _IRC_ARGC_LE_OR_RETURN_
* _IRC_ARGC_GE_OR_RETURN_
* _IRC_GET_SENDER_OR_RETURN_
* _IRC_GET_TARGET_SERVER_OR_RETURN_
- Commit:
0e63fb3fa7ac4ca048e8c2b648d2be3fd0572311
- From:
- Sebastian Köhler <sebkoehler@whoami.org.uk>
- Date:
KICK: Fix denial of service bug
Test if the user that it is to be kicked is on the channel before user
channel modes are tested. Otherwise assert( cl2chan != NULL ); in
line 742 would fail and stop the service.
- Commit:
4dc940f59e8499b929b8bad8791a7d337cc62a23
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-info.c: add/streamline function documentation comments
Add missing comments, streamline wording, and remove references to the
RFCs: this will be added to ./doc/Commands.txt with an other patch and
we want to avoid redundancy ...
- Commit:
3e723318961b452c851eda2bec2a322fc249bfce
- From:
- Alexander Barton <alex@barton.de>
- Date:
sighandlers.c: Update some log messages
- Commit:
5facf5c15ecc49bad1c12e8f624877fb8637e63b
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-info: move static functions at the top of the file
- Commit:
1438771124ed4730aca2d722595166e31ecd88c5
- From:
- Alexander Barton <alex@barton.de>
- Date:
my_sd_listen_fds(): really return an "int"
This fixes the following warning using Apple LLVM version 4.2
(clang-425.0.24) on OS X:
src/ngircd/conn.c:157:9: Implicit conversion loses integer
precision: 'long' to 'int'
- Commit:
0ad0fe207ab1705a2b042e7f47f1e0d8ce46e2a9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement new function Client_SearchServer()
This function returns the server structure of a client or a given "mask";
it is useful for implemention handlers for commands like "COMMAND *.net",
which should work on a server matching "*.net".
Please note that the local server is always returned when it matches the
mask, but besides that, the order is completely arbitrary.
- Commit:
b95dfb3ffd798e00df54b52496963d2a998ccbb0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug155-allowAtInUser'
* bug155-allowAtInUser:
Allow "@" character in user names for authentication
- Commit:
999c11ad49ea1e9c2615e4668f23aae483e549dc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Exit message: use singular & plural :-)
- Commit:
4b15f10fbb036da96caaf9ffcffd27cd9f6815d2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow "@" character in user names for authentication
The "@" character isn't allowed in IRC usernames, because it is the
separator between user name and hostname in IRC masks:
<nickname>!<username>@<hostname>
This patch accepts user names including "@" characters, saves the
unmodified name for authentication but stores only the part in front
of the "@" character as "IRC user name". And the latter is how
ircd2.11, Bahamut, and irc-seven behave as well.
Closes bug #155.
- Commit:
628c14d65686c4c848a17381b8ef61c78dbcf405
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'systemd'
* systemd:
ngircd.sock: explicitely bind to IPv4 and IPv6 addresses
Show address and port of sockets passed-in by systemd(8)
Check type of sockets passed-in by systemd(8)
Adjust severity levels of some log messages
New configuration option "IdleTimeout": exit daemon when idle
Implement support for systemd(8) "socket activation"
contrib/README: add more files
- Commit:
c891b5f250c71c1b8f94a002c13db6035ad28305
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh: Check for autoconf/automake wrapper scripts
For example OpenBSD uses a "autoconf" and "automake" wrapper script which
tells the user to set AUTOCONF_VERSION and AUTOMAKE_VERSION environment
variables. This patch enhances autogen.sh to not detect these wrapper
scripts as regular autoconf/automake commands but to set the required
environment variables after detecting the real "command-X.Y" commands.
Tested on OpenBSD 5.1.
- Commit:
2cb7023e2835e9c29bec5a6d3a911894c847005d
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.sock: explicitely bind to IPv4 and IPv6 addresses
- Commit:
ac32d07aaff0e7a1c4a544353dadbf397859d8f9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: spelling fixes ...
- Commit:
1e8b775a7a6d0c390e037bd73332072e7c510525
- From:
- Alexander Barton <alex@barton.de>
- Date:
"WHO <hostmask>": use displayed hostname for matching
Use the currently "displayed hostname" (which can be cloaked!) for
hostname matching, not the real one. In other words: don't display
all the cloaked users on a specific real hostname!
Thanks to DNS <dns@rbose.org> for reporting this issue.
- Commit:
419ff38a07cb0b1637b444c96cd6868a7a9e5524
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh: Don't use "egrep -o", use "sed"
"egrep -o" isn't portable and not available on OpenBSD, for example. So
let's use sed instead to get the automake version. The expression used
now is less specific but should work as well ...
- Commit:
69c3f9699892e55edb82f6e9497389024e61badc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Show address and port of sockets passed-in by systemd(8)
- Commit:
7fce71914287dc962d3c3cfdb7ebda7bfaa7311d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'HelpText'
* HelpText: (22 commits)
Commands.txt: Update description of the "USERS" command
Commands.txt: Update description of the "SUMMON" command
Commands.txt: Update description of the "SERVLIST" command
Commands.txt: Update description of the "WHOWAS" command
Commands.txt: Update description of the "WHOIS" command
Commands.txt: Update description of the "WHO" command
Commands.txt: Update description of the "VERSION" command
Commands.txt: Update description of the "USERHOST" command
Commands.txt: Update description of the "TIME" command
Commands.txt: Update description of the "STATS" command
Commands.txt: Update description of the "NAMES" command
Commands.txt: Update description of the "MOTD" command
Commands.txt: Update description of the "LUSERS" command
Commands.txt: Update description of the "LINKS" command
Commands.txt: Update description of the "ISON" command
Commands.txt: Update description of the "INFO" command
Commands.txt: Update description of the "ADMIN" command
Commands.txt: Add description for the "CHARCONV" command
Commands.txt: Add description for the "CAP" command
Commands.txt: Import descriptions from "rbose/command_help"
...
- Commit:
f16d230530424f93541b4ca36e2686ddfb76834a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Rename ports_initlisteners() to Init_Listeners()
- Commit:
8d8201502f79bfe6fdaf8e94a11544332bb9630a
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_WHO_Channel(): Use strlcpy() instead of strcpy()
This fixes the following warning, at least on OpenBSD 4.8:
irc-info.o(.text+0x2427): In function `IRC_WHO':
src/ngircd/irc-info.c:896: warning: strcpy() is almost always misused,
please use strlcpy()
- Commit:
5c6875d7686e1b4dbf1a82b6d159bd5f18da4a52
- From:
- Alexander Barton <alex@barton.de>
- Date:
Check type of sockets passed-in by systemd(8)
This patch makes sure that ngIRCd doesn't try to handle sockets of
unsupported types, for example of AF_INET6 sockets when ngIRCd isn't
compiled with support for IPv6 ...
- Commit:
cb7e4e8679af5906069f840cca32cd365ebf26c7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "USERS" command
- Commit:
3a3b3225d42ede7a062fa5e4403a7f445baf518b
- From:
- Alexander Barton <alex@barton.de>
- Date:
NewListener(): Code cleanup
- Commit:
d38d153f51738da31d40036c7c48b32d82234018
- From:
- Alexander Barton <alex@barton.de>
- Date:
Streamline punctuation of log messages
Make sure that all log messages end with a correct punctuation mark.
The rules for formatting log messages are:
1. Add punctuation marks to all messages passed to the actual logging
functions like Log() and LogDebug().
2. Don't add any punctuation marks to messages that are stored in
variables for later use or are passed over the network.
3. IP addresses, DNS host names and IRC server names should be quoted.
4. Messages originating in the network should be quoted (at least if
they are "untrusted" or variable).
Most probably this patch doesn't fix all mistakes, but it should be a
good starting point ...
- Commit:
a78c7b3898e8f2b037fb42aac599ed8f8ec9bd58
- From:
- Alexander Barton <alex@barton.de>
- Date:
Adjust severity levels of some log messages
- Commit:
35452b31579174e0714ff7912a5857b82c787804
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "SUMMON" command
- Commit:
84a599ece472c4f2ef6d2f553addf898e0ed73f9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enable WHOIS to display information about IRC Services
This patch introduces the new numeric 310(RPL_WHOISSERVICE) and enables
WHOIS to display information about IRC services. This numeric is used
for this purpose by InspIRCd, for example -- but as usual, other numerics
are in use, too, like 613 in UltimateIRCd ...
Please note that neither the Operator (+o) not the "bot status" (+B)
of an IRC service id displayed in the output.
Change suggested by Federico G. Schwindt <fgsch@lodoss.net>, Thanks.
- Commit:
fd260404caa7ce174ada663024d19cd789c152b5
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure: "netinet/in_systm.h" is optional
The header file "netinet/in_systm.h" already is optional in ngIRCd, so
don't require it in the configure script. Now ngIRCd can be built on
Minix 3 again :-)
- Commit:
e90d30a2cc30cddd797602dcc63adebdec8d0538
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "SERVLIST" command
- Commit:
f295117fba615333908e707a656b6cd0fb0493ed
- From:
- Alexander Barton <alex@barton.de>
- Date:
New configuration option "IdleTimeout": exit daemon when idle
This patch implements a new configuration option "IdleTimeout" in the
[Limits] section of the configuration file which can be used to set a
timeout (in seconds) after which the whole daemon will shutdown when no
more connections are left active after handling at least one client.
The default is 0, "never".
This can be useful for testing or when ngIRCd is started using "socket
activation" with systemd(8), for example.
- Commit:
a551942635bf2569851013e5a92d8ae918af7ca0
- From:
- DNS <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
contrib/Debian/rules: Do no compress Commands.txt
This is required, because ngIRCd can't use a compressed file as
help text ...
(cherry picked from commit 6d09b4f366f656f6d2732ea96a653e086380e458)
- Commit:
45ab73ac81ac8167b7e3b2efde6ec2c54127fa68
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "WHOWAS" command
- Commit:
8ab097afb743061c6c9b865bdb401ba51285c347
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement support for systemd(8) "socket activation"
This patch enables ngIRCd to work with listening sockets already
initialized and passed-in by systemd(8) and hereby to support on-demand
"socket activation".
systemd(8) uses two environment variables to pass information about the
sockets to ngIRCd, LISTEN_PID and LISTEN_FDS, and this mechanism only
kicks in when both variables are set. In all other cases, and therefore
in most installations out there, nothing changes at all.
Please note:
If socket activation is in effect, ngIRCd will not initialize any (other)
soeckets on its own! All sockets must be configured in the systemd(8)
socket unit configuration file in this case, see ./contrib/ngircd.socket
for example.
Probably it would be interesting to match passed-in sockets to configured
listening sockets and to initialize all the remaining ones not already
set up by systemd(8), but this is kept back for an other patch ...
See
- <http://0pointer.de/blog/projects/socket-activation.html>
- <http://0pointer.de/blog/projects/socket-activation2.html>
- <http://www.freedesktop.org/software/systemd/man/systemd.socket.html>
- Commit:
b60d5a0a11e77b4197454a8ddadea20969b1ba78
- From:
- Alexander Barton <alex@barton.de>
- Date:
AUTHORS: Update list of contributors
- Commit:
78978994dfeab446f45817ec78c0e1c9aced3acc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "WHOIS" command
- Commit:
84e24afd2f6607a2345c4df2b2f9ad81e9dd4bbc
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/README: add more files
- Commit:
fae0054d3146e64c7a2cbbd631c5f48fc4d848b0
- From:
- Alexander Barton <alex@barton.de>
- Date:
AUTHORS: Use "email address syntax"
- Commit:
19cb29da514a397268f2965c08496a7b6ff89aa0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "WHO" command
- Commit:
3d49e8ac84b49be07565bc1a19759184b4006317
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.service: Use "forking" service type
Don't run ngIRCd in forground mode but let it daemonize itself. This
enhances the log output of "systemctl status ngircd.service", because
now ngIRCd doesn't print out its PID and timestamp on each log message
which is redundant: it becomes logged by systemd/journald already.
- Commit:
6ed3b6f85c6cfa25d1607a8efa51a82ad7a8e012
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "VERSION" command
- Commit:
508ca3044dd6d1a88686efceda92a7f2a9b4a926
- From:
- Alexander Barton <alex@barton.de>
- Date:
Return better "Connection not registered as server link" errors
Now ngIRCd returns a more specific error message for numeric
ERR_NOTREGISTERED(451) when a regular user tries to use a command that
isn't allowed for users but for servers: ERR_NOTREGISTEREDSERVER(451).
- Commit:
5b8f13a4a975a7b60d44fa2d3817409feb234f16
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "USERHOST" command
- Commit:
d8f2964710985597281de73aecd0a1ece30ecb03
- From:
- Alexander Barton <alex@barton.de>
- Date:
MODE: don't report error on "more modes than parameters"
Don't report ERR_NEEDMOREPARAMS(461) when a MDOE command with more modes
than nicknames is handled, as well as for channel limit and key changes
without specifying the limit or key parameters.
This is how a lot (all?) other IRC servers behave, including ircd2.11,
InspIRCd, and ircd-seven. And because of clients (tested with Textual and
mIRC) sending bogus MODE commands like "MODE -ooo nick", end-users got the
expected result as well as correct but misleading error messages ...
If ngIRCd is compiled using "strict mode", these errors are still reported.
Reported-by: Tim <tim@stackwatch.net>
- Commit:
b6e6e2e1da632a022abf7530ed028ba79d453614
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "TIME" command
- Commit:
ab009976984ede815c31c9a6b318c80006823b81
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly detect when SSL subsystem must be initialized
This patch introduces the new function Conf_SSLInUse() to check when the
current server configuration requires the SSL subsystem to be initialized
and accounts incoming as well as outgoing connections -- so this fixes
commit bb20aeb9 ("Initialize SSL when needed only, and disable SSL on
errors") which only handled the inbound case ...
Tested-by: Brett Smith <brett@w3.org>
- Commit:
7c7fc8b5c4d6e7d6be3cf840688c3e34a8cb05a3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "STATS" command
- Commit:
b4966aa1bd8d11ed2bc97cc5fea418fab3485b08
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure: use AS_HELP_STRING for --with-iconv
- Commit:
1a5e08f3f6d240f865434e9274f01e6f39a704cb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "NAMES" command
- Commit:
0703fcd71983bd04f70101fd0143660174d22f84
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh: Enforce serial test harness on automake >=1.13
- Commit:
e051ea06fc601f8ae8d91b3b3f360e6f6e48db70
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "MOTD" command
- Commit:
4594583f52c46105ffd77eaaf4d9784809567324
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh: Reformat messages.
- Commit:
a7023113e7546e3b278f753f0d38161f11afdb79
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "LUSERS" command
- Commit:
68cb1a8c2e507e7c99f787fab3540b904cfa1cc1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug145-ProvideHelp'
* bug145-ProvideHelp:
Use "${docdir}/Commands.txt" as help text file
Add a note that "help file" is updated on startup and REHASH only
Add doc/Commands.txt which should document all commands
Implement Help() function parsing and returning the help text
Document "HelpFile" in sample-ngircd.conf and ngircd.conf.5
Implement new configuration option "HelpFile"
IRC_HELP(): Code cleanup
Refactor Read_Motd() into Read_TextFile()
- Commit:
02e24f5d1e6f098f2452f344331871a9d9a64280
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "LINKS" command
- Commit:
21493731dffa0f5d9f62d24cdef290be6a6856fd
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 20.1
- Commit:
950aeec3ff0e15c456ac32d8fecee8c73f7c5df3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use "${docdir}/Commands.txt" as help text file
- Commit:
13740c1bf4518c2d82476948f43d675524c42221
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "ISON" command
- Commit:
1f59821270e7298b380183778672e6db9c87971b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Copyright notices for 2013
- Commit:
60a9a7f11860a3953d215a377d31714e02d09eba
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add a note that "help file" is updated on startup and REHASH only
- Commit:
8212b730c707da88dcadd6384a5ecd559a2b393f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "INFO" command
- Commit:
8ec09e3ca47a8d2ca0502831d77f7edc8c4749a6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add doc/Commands.txt which should document all commands
This document can be used as "help text", too, see configuration option
"HelpFile" in ngircd.conf(5).
Please note that this file in its current state is far from complete, only
a few commands are documented, but you should get an idea how it works.
So please send in patches adding the remaining parts! :-)
- Commit:
3e47bc9af511716bbe388f0a29b5fdbb617cee4c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow ERROR command on server and service links only
Ignore it and add a penalty time on all other link types.
- Commit:
a4daa613ae4ce3c87b1f711d7700383fac591f16
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Update description of the "ADMIN" command
- Commit:
289a26e9e43be303a7355ab530ddcaa84aca60b9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement Help() function parsing and returning the help text
This function parses the already read in help text and sends the requested
portions to the user. Parsing is done as following when a user user
issues a "HELP <cmd>" command:
1. Search the file for a line "- <cmd>",
2. Output all subsequent lines that start with a TAB (ASCII 9) character
to the client using NOTICE commands, treat lines containing a single "."
after the TAB as empty lines.
3. Break at the first line not starting with a TAB character.
This format allows to have information to each command stored in this file
which will not be sent to an IRC user requesting help which enables us to
have additional annotations stored here which further describe the origin,
implementation details, or limits of the specific command.
A special "Intro" block is returned to the user when the HELP command is
used without a command name.
- Commit:
5d921984873b708c2f91bed01689f6351d95c233
- From:
- Alexander Barton <alex@barton.de>
- Date:
Get rid of Conn_ResetPenalty(), it is unused
- Commit:
b7690a0add0d46f952cc44ce522bb0e2e802b24c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Add description for the "CHARCONV" command
- Commit:
d2a1f6aa4be7e42dd76e5342b309b8331d86bab4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Document "HelpFile" in sample-ngircd.conf and ngircd.conf.5
- Commit:
20ddffca0d5ae5393adc57b67ba90e15d33e2ee3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Mode setting: only check channel user modes when on channel
Only check the channel user modes of the initiator if he is joined to
this channel and not an IRC operator enforcing modes (which requires
the configuration option "OperCanUseMode" to be enabled), because trying
to check channel user modes of a non-member results in this assertion:
Assertion failed: (cl2chan != NULL), function Channel_UserModes,
file channel.c, line 742.
This closes bug #147, thanks to James Kirwill <james.kirwill@bk.ru>
for tracking this down!
- Commit:
18ecc2fd811d3419c597fc31663f3f4a0e14824b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Add description for the "CAP" command
- Commit:
f68aa02272d05ffbceea9e0188984d9bf9b83dd1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement new configuration option "HelpFile"
This new configuration option allows to specify a specially formatted
text file which can be used by the HELP command to provide information
about the commands and their syntaxes.
- Commit:
25e56a5e837173a567a0873bd5a9ccc126cff333
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add some more casts in assert() statemens
This fixes the following warning messages of gcc 4.5.3 on Cygwin when
building with debug code enabled:
ng_ipaddr.c: In function ‘ng_ipaddr_init’:
ng_ipaddr.c:52:2: warning: comparison between signed and
unsigned integer expressions
ng_ipaddr.c:53:20: warning: comparison between signed and
unsigned integer expressions
resolve.c: In function ‘ForwardLookup’:
resolve.c:271:3: warning: comparison between signed and
unsigned integer expressions
- Commit:
73fded75150a72c68b4c382d90e6d7c3374d5f6c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Import descriptions from "rbose/command_help"
Import command description texts from the "rbose/command_help" branch,
which have been written by DNS <dns@rbose.org> -- thanks a lot!
- Commit:
588af510a35b5b28cb8c1063ac865f86c65d7a8a
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_HELP(): Code cleanup
- Commit:
1e5a7aac877f2b5d105d8cb291b107217b140632
- From:
- Alexander Barton <alex@barton.de>
- Date:
Makefiles: Correctly quote sed expressions
Now the Makefiles support spaces in "$sysconfdir", which isn't uncommon
for Cygwin for example, when $HOME contains whitespaces ("/home/User Name")
and ngIRCd is installed into the user home ("./configure --prefix=$HOME").
- Commit:
7630e8ffc636045b94699e36127bdd601137ba0e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Reorder some commands
Reorder some commands and introduce new section "Connection Handling".
Idea by DNS <dns@rbose.org>, thanks!
- Commit:
9e1c25a889d7a18c1df7f13da64dc38e1a3a9eec
- From:
- Alexander Barton <alex@barton.de>
- Date:
Refactor Read_Motd() into Read_TextFile()
Now this function allows to read arbitrary text files into arrays.
- Commit:
b5b3dd9cfd7e1a10eecc92c8b23bd65945b61a31
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add Cygwin binaries (*.exe) to .gitignore files
- Commit:
4552ad5269367be15f3b38adeeb43815bcf1d558
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands.txt: Fix some wording and spelling
- Commit:
92fba63ad88e0a3260c75468fb3407fae7074dc6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add a cast in ForwardLookup() to fix a gcc warning on Cygwin
This fixes the following warning message of 4.5.3 on Cygwin:
resolve.c: In function ‘ForwardLookup’:
resolve.c:273:21: warning: comparison between signed and
unsigned integer expressions
- Commit:
25d35dd6f4e3f116e22c87533b4e2d2a372e847c
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 20
- Commit:
a445abc10eeaaf3a082188e13332fb1e2eba897e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
1342f78b0901b33c4b8a63b7676b6c5e98f19760
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow user names up to 20 characters
This patch allows user names up to 20 characters when ngIRCd has not been
configured for "strict RFC mode".
Patch suggested by Brett Smith <brett@w3.org>, see
<http://arthur.barton.de/pipermail/ngircd-ml/2012-October/000579.html>.
- Commit:
a0d57a6afd6d9e97388e8336762a3359fa4d80b5
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd 20~rc2
- Commit:
c6ae353756d833a5c7392f5a1892c9338b7d3dce
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
12768e7a548f31c71d4149884acaf32c0e30d8ce
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update doc/Platforms.txt
- Commit:
35e2dcff88e29617db0e5af1d016ab76a31ab677
- From:
- Alexander Barton <alex@barton.de>
- Date:
Rework cloaked hostname handling, implement "METADATA cloakhost"
Now ngIRCd uses two fields internally, one to store the "real" hostname
and one to save the "cloaked" hostname. And both fields can be set
independently using the "METADATA host" and "METADATA cloakhost" commands.
This allows "foreign servers" (aka "IRC services") to alter the real and
cloaked hostnames of clients without problems, even when the user itself
issues additional "MODE +x" and "MODE -x" commands.
- Commit:
dc89e42ef5a60dda96707d2520fad998bf9ac74f
- From:
- Alexander Barton <alex@barton.de>
- Date:
RPL_UMODEIS: send correct target name, even on server links
- Commit:
4a2d74c9abb6dbf5c64062c984c6f9e87a2c17ae
- From:
- Alexander Barton <alex@barton.de>
- Date:
Client_HostnameCloaked() -> Client_HostnameDisplayed()
- Commit:
cd48b8128ea514a0fd87033571dbba103e1c41d6
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Only generate configure script when missing
- Commit:
301d4915bc7bd8f86461c1d47f72a50d6005e761
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update platformtest.sh to follow autoconf changes
- Commit:
8061056cec2a4105212d257fcb278b3248c41e4c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: correctly execute tests when stdout is redirected
- Commit:
44926b7f9ff031c37be48b33c314e47e2f84ff9f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add a few casts, fix compiler warnings on NetBSD 5
This fixes a few warnings of this type:
XXX.c: In function 'AAA':
XXX.c:YY: warning: array subscription has type 'char'
Tested on NetBSD 5.0.2 with gcc 4.1.3.
- Commit:
d11a700589b2abab71b67ffb81f17f38936a169c
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-info.c: Use strlcpy() instead of strcpy()
This fixes the following warning of gcc (tested on OpenBSD 5.0:)
irc-info.c:990: warning: strcpy() is almost always misused,
please use strlcpy
- Commit:
0a26079af2f5ee2bf5d0c67d1c701abf77d3cd56
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd 20~rc1
- Commit:
b6e49f3920193a202d78fec134092976e159ed90
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Xcode project files
- Commit:
4123118d5a1a92e74fb82131b29f65d5067442dc
- From:
- Alexander Barton <alex@barton.de>
- Date:
conf.c: Use strlcpy() instead of strcpy()
This fixes the following warning of gcc on OpenBSD 5.0:
conf.c:728: warning: strcpy() is almost always misused, please use strlcpy()
- Commit:
e29d198700a9e1c026d7f4b2601d127045adbe53
- From:
- Alexander Barton <alex@barton.de>
- Date:
tool.h: Don't check for and #define PF_INET
This is correctly handled by ipaddr/ng_ipaddr.h today, and the check
in tool.h isn't required any more -- and caused errors on OpenBSD 5.0:
In file included from ./../tool/tool.h:23:
/usr/include/arpa/inet.h:74:
warning: "struct in_addr" declared inside parameter list
- Commit:
6f531a3c99ca267370b8f77cd3e51d751fb48826
- From:
- Alexander Barton <alex@barton.de>
- Date:
conf-ssl.h: Use "gnutls_session_t" instead of "gnutls_session"
This fixes the following warning with current versions of GnuTLS:
conf-ssl.h:36: warning: "gnutls_session" is deprecated
- Commit:
53917fa4b80753fc189ed5a516c06c804f2cf415
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add new IRC+ server flag "X": "XOP modes supported"
This flag indicates, that the server supports the enhanced "xop channel
user modes", like channel owner, admin, and halfop. This information is
used to make sure that no unsupported CHANINFO commands are sent to
servers not supporting such mode prefixes, for example.
- Commit:
646218e6f4d936b7448b2b407ffb6a53650658de
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update autoconf/automake version numbers in doc/HowToRelease.txt
- Commit:
4185c4a44aeb69ee6b970809a1f604e600ee88eb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
45b0bb5aff6157409ea88b344c34b7bf84dc8886
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove Anope "ngircd" protocol module patches
Starting with Anope 1.9.8, the ngIRCd protocol module is included in the
Anope distribution, so there's no longer any need to support our own (but
now heavily outdated!) patches. Therefore remove them.
- Commit:
c7db2f8429c161835f6a9ed4523f45c23918892b
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Services.txt: Update documentation for Anope 1.9.8
Starting with Anope 1.9.8, the ngIRCd protocol module is rewritten from
scratch by "DukePyrolator" and included in the Anope distribution. So no
patching is required any more, yeah!
Drawback: Anope 1.9.8 is in development and not yet released ...
- Commit:
f0b86e6c2685be460d06961e92ce840c35f93a19
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly add irc-metadata.{c|h} to Makefile.ng ...
- Commit:
7871a904d766e325bd2ce94dd8bea37f45198771
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Protocol.txt: Document METADATA command
- Commit:
40e3daf560799df1d16629b35078979583cb4349
- From:
- Alexander Barton <alex@barton.de>
- Date:
Generate "METADATA host" commands on "MODE +/-x"
Use "METADATA host" commands to let servers supporting this command
know which (possibly cloaked) hostname is in effect for a specific
client. This prevents "double cloaking" of hostnames and even cloaked
hostnames are in sync on all servers supporting "METADATA" now.
- Commit:
44b7ff02fd34731c6ed0d552dbde5c9981d53127
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't cloak already cloaked hostname when using METADATA
A client for which a METADATA command has been received from one of
its peers got the client flag "M" set. So it's safe to assume that
such a client gets "METADATA host" commands for its cloaked hostname
and the server must not cloak the hostname on its own, even when the
client mode "+x" is set.
- Commit:
35ed57e6c160dc13c2bbca2ca042406285d4ced3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement METADATA command to update client metadata
The METADATA command can be used by other servers to update "metadata"
of registered clients, like the client info text ("real name"), user
name, and hostname:
:<prefix> METADATA <target> <key> :<value>
It is distributed in the network, unknown <key> names are silently ignored
and passed on, too. This allows for further extensions.
- Commit:
79731a57f3f35744236407f128cdd09c32b700fa
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Protocol.txt: add/fix CHARCONV description
- Commit:
a7f37cebdc300b3b87bb8d6b558769cf11441f61
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
PredefChannelsOnly: Fix message for non pre-defined channels
If PredefChannelsOnly is enabled, and if someone tries to create
a channel which does not exist, then the error message is a 474.
The 474 Error message changed recently and does not match anymore:
'Cannot join channel (+b) -- You are banned'.
Changed the error message to numeric 403 'No such channel'.
Bug introduced by commit 9a82304a.
(cherry picked from commit 2c2e08f34187a33c1da745995c5f213e33a91410)
- Commit:
47b99c69cc411ec35078917ab6d9d7278ed2a1da
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: add some "remote checks" to whois-test.e
- Commit:
757f3497bc594a5a950806279349d361be7a1515
- From:
- Alexander Barton <alex@barton.de>
- Date:
Send NICK commands with prefix of (target) user
Now NICK commands are always generated using the prefix of the target
user, even when the nickname change has been initiated by some other
(pseudo) server or using the SVSNICK command. In this case, the prefix
of the initiator has been used, but this isn't compatible with clients
(at least weechat and irssi don't handle such NICK commands correctly).
- Commit:
f2455cbe33aed1bbbef9dc31363cbf46ee87a4a3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update doc/Services.txt, sort services alphabetically
- Commit:
e3f300d3231f56efe2831fb79f7b484d96d051f5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement SVSNICK command to change remote nicknames
The SVSNICK command allows other servers (and services on
"pseudo-servers") to forcefully change nicknames of remote users.
Syntax: ":<from> SVSNICK <oldnick> <newnick>"
The SVSNICK command itself doesn't change the nickname, but it becomes
forwarded to the server to which the user is connected to. And then this
server initiates the real nickname changing using regular NICK commands.
This allows to still run networks with old servers not supporting the
SVSNICK command, because SVSNICK commands for nicknames on such servers
are silently ignored and don't cause a desync of the network.
- Commit:
497edbaf3eb51e6c67975713ee5c52d2d1b48105
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_NICK(): Code cleanup, new function Change_Nick()
- Commit:
48326e061aacd954e24f76c53ded10448cbc28eb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Spelling fix: "nick name" -> "nickname"
- Commit:
84e9dcbab080b03b2057df8b22327172895833be
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: correctly #define PACKAGE and PACKAGE_NAME
- Commit:
30b32e84fe352f7c39ceca1a9c6df60ca50e83ab
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix warning message introduced when cleaning up IRC_SERVER()
This reverts a not intentional code change and fixes the following compiler
warning message (tested with gcc 4.4.5):
irc-server.c: In function "IRC_SERVER":
irc-server.c:142: warning: suggest parentheses around operand of "!"
or change "&" to "&&" or "!" to "~"
- Commit:
fb924933765238808feb05fb7178402058026897
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make server reconnect time a little bit more random
Add randomly up to 15 seconds to the reconnect delay for outgoing server
links when the connection has been "short" and therefore the "ConnectRetry"
delay is being enforced.
This should make it even more unlikely that two servers deadlock each
other when both are trying to connect to the other one at the same time,
for example in test environments.
- Commit:
eb4f9eac0c35071838c9367f1204db0d0b98ad2e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't accept connections for servers already beeing linked
If two servers try to link each other, there was a time frame that
could result in one connection overwriting the other, e. g. the incoming
connection overwriting the status of the outgoing one. And this could
lead to all kind of weirdness (even crashes!) later on.
So now such incoming connections are dropped. But this most probably
prevents the two servers from linking until timing changes somehow
(network latency?) because each server drops the incoming connection of
the other one, so no connection survives in the end.
But this has to be addressed by an other patch ...
- Commit:
d7b5dd1bbf44ff9c8537def6d2083891b4f7d102
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_SERVER(): Code cleanup
- Commit:
b18e81b6313b097101f35e9b69870be6f2467828
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use lowercase "package name" for syslog logging again
This is how ngIRCd up to release 19.2 behaved; "bug" introduced by commit
67e882, "configure.in: require autoconf 2.67 and automake 1.11", which
changed the "PACKAGE_NAME" to "ngIRCd"; so use "PACKAGE" which still is
the lowercase version for initializing syslog logging.
- Commit:
8ff153d7d40e4933e5ac66016ac30d35cbde3227
- From:
- Alexander Barton <alex@barton.de>
- Date:
Document new configuration option "MaxListSize"
- Commit:
32f63abb59b5c9f47b4d517e0bbf9cc73fd044dc
- From:
- Brett Smith <brett@w3.org>
- Date:
Make the maximum /list reply length a configurable limit.
- Commit:
23572af942399288bcf4e67245563b05ff4fc0f7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
8d9cfa157a7fd067dab3483614d427f35dfa4ad1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow remote servers and IRC Ops to change channel topics
Remote servers are always allowed to change all channel topics,
and IRC Operators are allowed to change all channel topics if the
configuration option "OperCanUseMode" is enabled.
Bug introduced by commit 7b01bb8 and reported by DNS777.
- Commit:
58abd0777b0924e5cb8fa6c01b56305d9b175608
- From:
- DNS <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Increased maximum number of possible user and channel modes
Currntly ngIRCd supports 13 user and 15 channel modes, because there
have been quite a few additions since our last release. But our data
structures can only hold 15 user and -- even worse! -- only 9 channel
modes! So enlarge the buffers to 20 bytes (actually 21 including NULL)
to allow storing of all mode characters and to have some space left
for more modes to come ...
(cherry picked from commit 8996d777621d88d4bcc439ab4792b2814920687f)
- Commit:
3ee98d9f72449c88861744aebdd0a2e570bc3bc5
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Update error messages for user mode +b and channel Mode +M.
Replaced error message for channel mode +M with ERR_NEEDREGGEDNICK_MSG
(used by Bahamut, inspircd, ircu & Unreal too) and using numeric 477
and the msg simliar like inspircd.
Replaced the error message ERR_CANNOTSENDTONICK_MSG for user mode +b
with ERR_NONONREG_MSG and using numeric 486, similar like unrealircd.
(cherry picked from commit 55a61ab17f63a9e757b7c7598c31b98ce5a132e8
and commit 3737d9ab7da1ea0485cefc07c65dc5308bf0db02)
- Commit:
b1a5ade88f304d7e7c5a2c41511061141842dadd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: add more checks to whois-test.e
- Commit:
73229249d893f05f4b2d98c41a5a4839100c0c9e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "i586/pc/haiku" to doc/Platforms.txt
- Commit:
e0da56fc7b1dae4e21dfda7e0ac8ad7594135986
- From:
- Alexander Barton <alex@barton.de>
- Date:
Disable UID/GID checks on "single user OS"
Don't abort on "single user operating systems" that don't know more than
one user account and therefore can't change user and group IDs.
Currently, the only such system supported by ngIRCd is Haiku, a BeOS
clone.
- Commit:
cdaaae0cb2c2b30db8bb61506a826ff87c58f7c8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Search gethostbyname() in libbind and libnetwork
This is required for Haiku (BeOS clone) at least.
- Commit:
c319fb8eaa859e1c5b4e0333abf4dabf6023708d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update manual pages
Among other little things, bring project description in line with website.
- Commit:
538e612a47ba8eb83e749e8fe57d27f9322cc717
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: add test for user mode "b"
- Commit:
9d97004a287589681342a0116746796f2764100c
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Implement user mode "b": block messages
When a user has set mode "b", all private messages and notices to this
user are blocked if they don't originate from a registered user, an IRC Op,
server or service. The originator gets an error numeric sent back in this
case, ERR_CANNOTSENDTONICK_MSG(976), which is/was(?) used by KineIRCd, too.
This closes bug #144.
- Commit:
87deb430125413cbb2ba415936b40d6420703572
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix ERR_CANNOTSENDTOCHAN_MSG message
This error message is not only used if one can not send to a channel
because it is moderated, but for _all_ reasons when a message can not
be delivered (moderated, banned, no external messages, ...), so strip
the "(+m) -- Moderated" part of the error message again.
Bug introduced by commit 9a82304a.
- Commit:
a9cbb375b77576c371c0c9b48e8e8cf64f7731a4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Shorten filenames of Anope protocol module patchfiles
Filenames have been too long and couldn't be stored in all tar
archive formats ...
- Commit:
161adbb1aa6235acda9677ab14edd19581d9fcf4
- From:
- Alexander Barton <alex@barton.de>
- Date:
WHOIS: show RPL_WHOISHOST_MSG to all IRC Ops in the network
Not only show RPL_WHOISHOST_MSG to local IRC opreators, but show
it to all IRC operators in the network. And don't show it to anybody
if the "more privacy" configuration option is enabled.
This closes bug #134.
- Commit:
de2fa78d92447d2acc3d349b8044524f5b616f59
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: make expect scripts more verbose
Now tests.sh transforms each expect script it executes using sed(1)
and inserts a 'puts -nonewline stderr "."' in front of each "expect"
command.
- Commit:
8bede388af99cee1b0b32c108ca4704548c0b790
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: remove indentation of messages
- Commit:
c9d166747d4ea161c55c765edc23e2cd3bd7dec4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug141-ModesQq'
This closes bug #141.
* bug141-ModesQq:
KICK-protect IRC services
Implement channel mode "Q" and user mode "q"
Conflicts:
src/ngircd/defines.h
src/ngircd/messages.h
- Commit:
56cdc2175c4cbe6abdf45f2d32016c260f3728f7
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Show active user modes in WHOIS reply
Implement numeric RPL_WHOISMODES_MSG(379) and show user modes in the
reply of the WHOIS command for the user himself or, if MorePrivacy
isn't set, for request initiated by an IRC operator.
Numeric 379 is used by Unreal and InspIRCd for this purpose, too.
Closes bug #129.
- Commit:
9ac94339dca746d830a877944e30d1cc9c45c47f
- From:
- Alexander Barton <alex@barton.de>
- Date:
KICK-protect IRC services
- Commit:
de453d71cb1bcd78b365f16e994003e913a03148
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Implement channel mode 'V' (invite disallow)
If the new channel mode "V" is set, the INVITE command becomes invalid
and all clients get the new ERR_NOINVITE_MSG(518) reply.
Unreal and InspIRCd uses this mode, too.
This closes bug #143.
- Commit:
d3ae351236e605b400b94fcfa8e7670e26e19c89
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement channel mode "Q" and user mode "q"
Both modes protect users from channel kicks: only IRC operators and
servers can kick users having mode "q" or in channels with mode "Q".
Original patch by DNS777 <dns@rbose.org>, thanks!
This closes bug #141.
- Commit:
23b07bdf50ef5cc7b57c057b6088e4f5e4d7d6da
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Allow channel admins to "de-admin" channel members
This patch fixes unsetting of channel user mode "+a" (channel admin)
and adds a better error message: without this patch, a channel admin is
unable to unset this mode.
This closes bug #142.
- Commit:
4790d78c980c79abfd71c064be1eb085717210f8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Define HAVE_SETSID for Mac OS X Xcode builds
- Commit:
46b0eef721b9b3eec37d29aff65b6a7fc488a887
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug109-CHARCONV'
This closes bug #109.
* bug109-CHARCONV:
Debian: require "telnet" or "telnet-ssl" for building
Debian ngircd-full[-dbg]: enable CHARCONV
Add "CHARCONV" to "feature string" when enabled
Implement new IRC+ "CHARCONV" command
Added new configure option "--with-iconv"
Conflicts:
src/ngircd/messages.h
- Commit:
c66e20ce6e1b6fd333fc6fe13953178547470c44
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix spelling: ERR_CHANOPPRIVTOLOW_MSG -> ERR_CHANOPPRIVTOOLOW_MSG
Thanks to DNS for pointing this out, see bug #126!
- Commit:
343a90dc376eb9979151752ec33c64ca45b04802
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: require "telnet" or "telnet-ssl" for building
- Commit:
114644cdb0a54804e4f68818235cc2d99b90322c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Makefile.am: don't use "make -C", it isn't portable
- Commit:
09ab0704f4b2bf15b8c108f05ee003bf0107c3ee
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian ngircd-full[-dbg]: enable CHARCONV
- Commit:
cf9f9e1f30857d615fed9b83d3d58167c8a3d0ed
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: don't use "mkdir -p"
"mkdir -p" is not supported on all platforms.
Tested with Apple A/UX 3.1.x.
- Commit:
19ce256a95c6e8c5498c80aa730ffe5f83b7814e
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
ERR_CHANNELISFULL_MSG: better wording
(cherry picked from commit 0fcfa7e00fa8e098dd3724c7188c88ac82a52881)
- Commit:
e9d0b2f0393d70a07dda4d347604faf2a2058ac9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "CHARCONV" to "feature string" when enabled
- Commit:
eba53f652ce8e0e7600b337628883d17fc3af2f2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix getpid.sh to work on Apple A/UX again
- Commit:
222ecbffbb5f0c21e64002c95fe9447b4f6b6320
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement new IRC+ "CHARCONV" command
See bug 109 and doc/Protocol.txt for details and documentation.
- Commit:
d8ee498a65aa86222c4ed1ffa05bf8d822aed6fd
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Send RPL_REHASHING if rehash was accepted
(cherry picked from commit f1b171a09cd076f743a7fff221fa7aa752abb374)
- Commit:
ce736fc15bd80044f3206ae36c7c0462decaf1be
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added new configure option "--with-iconv"
The iconv library should be used for implementing the new CHARCONV
IRC command discussed in bug 109.
And because CHARCONV will be an IRC+ feature, we only test for libiconv
if IRC+ is enabled as well.
- Commit:
e3a1a618683da1ff6d98565de71e716a5d112e34
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Change variable name "SSLDHFile" to "DHFile" in log messages
(cherry picked from commit d96db0a2e56d310177edb45d0a8b164a37992ab1)
- Commit:
1413a4886ffa120e82d4963368e82b4d5ec6eb2d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Sort "feature string" alphabetically
- Commit:
1a2bdd9e4cb31125792482b8b6d8bfcf56cd115a
- From:
- Federico G. Schwindt <fgsch@lodoss.net>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Move ConnSSL_InitLibrary() "dummy" from header into C file
(cherry picked from commit 5fd88c81a70d0c9e627f08522e57d251586288eb)
- Commit:
cfec819f0d3009b12063958d4c8813b9d720b84d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Include CAP command even when using "strict RFC mode"
- Commit:
384f965fba126c4724bffb6f7e2d30d8b7fb50cb
- From:
- Alexander Barton <alex@barton.de>
- Date:
NJOIN: correctly reset channel level flags
This fixes commit 7b01bb83.
Bug reported by DNS777 <dns@rbose.org>, thanks!
- Commit:
107bfdc821cfb179996e1186cff0ec4970ef4fbd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'autoconf-update'
Update GNU autoconf and automake infrastructure.
Tested on modern systems as well as Apple A/UX :-)
* autoconf-update:
AUTOMAKE_OPTIONS: fix ansi2knr option, include path
Don't use AC_FUNC_MALLOC and AC_FUNC_REALLOC
Make our own targets "silent", if enabled
configure.in: use AC_CHECK_{FUNCS|HEADERS}_ONCE
Updated config.{guess|sub} to version 2012-08-14
Make autogen.sh more verbose when VERBOSE=1 is set
configure.in: use AC_SEARCH_LIBS (not AC_CHECK_LIB)
configure.in: use AS_HELP_STRING macro
configure.in: use AC_CANONICAL_HOST (not AC_CANONICAL_TARGET)
configure.in: inttypes.h is an optional header file
Use HAVE_SETSID #define when testing for setsid()
Don't include <stdint.h>, it is included by "portab.h"
Don't check type.h availability, it is required
configure.in: Use AC_CONFIG_FILES macro
configure.in: Don't use AC_C_PROTOTYPES
configure.in: Update checks for required and optional features
configure.in: require autoconf 2.67 and automake 1.11
configure.in: sort some lists (templates, output, ...)
- Commit:
005340c83f3f481bdcdc6a03ae9b9b2973248ceb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Simplify check for valid user names in IRC_USER().
Patches from Federico G. Schwindt, thanks!
(cherry picked from commit a44b7126227ba1118ec02b399e31b08102af5e8c
and 6fbe9583753b2620da275676cde46a89cb4d06c2)
- Commit:
5c160921ff898653666e72eb2e6c33575ada9672
- From:
- Alexander Barton <alex@barton.de>
- Date:
AUTOMAKE_OPTIONS: fix ansi2knr option, include path
Set correct relative path to ansi2knr.c in AUTOMAKE_OPTIONS, so that
ansi2knr.{1|c} is only included once in the distribution archive.
- Commit:
85abfd84beee0a5fc6725624b0bd0260c7b2d856
- From:
- Brett Smith <brett@w3.org>
- Date:
Allow limited punctuation in usernames, for better PAM integration.
- Commit:
d21afce2b6fdc919a80c4eb1d6ba781c1cf63f3c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow user mode +x only when "CloakHostModeX" is set
Allow users to "cloak" their hostname only when the configuration
variable "CloakHostModeX" (introduced in 19.2) is set. Otherwise, only
IRC opertators, other servers, and services are allowed to set mode +x.
This prevents regular users from changing their hostmask to the name
of the IRC server itself, which confused quite a few people ;-)
This fixes bug #133.
- Commit:
fe3bef55b75c5fbfbf87b098cbc61453b718435e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't use AC_FUNC_MALLOC and AC_FUNC_REALLOC
We don't expect the GNU'ish behaviour of of malloc() and realloc() and never
implemented the replacement functions rpl_malloc()/rpl_realloc() -- so these
test result in linking failues on systems that don't have a GNU'ish malloc()
and realloc() even though we don't require it!
Introduced by commit 47ad9afc.
- Commit:
a072180c9262f8a1c6bba6b8f0613bccc2863f48
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge pull request #2 from briancollins/master
Fix IRC_Send_NAMES not sending correct prefix for certain clients.
- Commit:
808c291c76b7ecb4ae13b6ee12e8afe658b627c1
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
New configuration option "OperChanPAutoOp"
If disabled, IRC operators don't become channel operators in persistent
channels when joining. Enabled by default, which has been the behavior
of ngIRCd up to this patch.
Closes bug #135.
(Cosmetic fixes by Alex.)
- Commit:
5300f0082cf834b60d36859acc0be3c17b3848c9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make our own targets "silent", if enabled
- Commit:
0fd9a8505a2dc325d0a17c7ebbed4b08a76576bf
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly re-initialize signal handlers on RESTART
This fixes part 2 of bug #127 :-)
- Commit:
16f94546f5d7c941a0d49b49e8cd523e7b67b19d
- From:
- Brian Collins <bricollins@gmail.com>
- Date:
Fix NAMES response when client has multi-prefix
Two fixes here: IRC_Send_NAMES was checking the capability of the
wrong client when responding, and it didn't return any prefix for
clients that had either +v or +o but not both.
- Commit:
62a07596d6a3a8da206bde8d34edc8b02781d33d
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Allow opers to see secret (+s) channels in LIST command
As long as 'MorePrivacy' isn't enabled in the configuration file, local
IRC operators can see secret (+s) channels when using the LIST command.
Closes bug #136.
- Commit:
005ffeaa8c27d29efd3037d52a26a948b71cbc0c
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: use AC_CHECK_{FUNCS|HEADERS}_ONCE
- Commit:
f5441d217068cdb4a34c27b2fde9ca59558e7a5b
- From:
- Alexander Barton <alex@barton.de>
- Date:
New_Connection(): mark "IsSSL" parameter as UNUSED
This fixes the following warning message when building without SSL support:
conn.c: In function "New_Connection":
conn.c:1365: warning: unused parameter "IsSSL"
Introduced by commit 01b62202.
- Commit:
55859c1befa7cd04a130f1816cb73a9629637105
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'better-chan-errors'
By Alexander Barton (1) and DNS777 (1)
* better-chan-errors:
Remove unused ERR_CANNOTSENDTOCHAN2_MSG message
Add some more information to channel error numerics
- Commit:
b730b64bbecfb325e28f7df1fba46942ac19968d
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure: only use AM_PROG_AR when available
This fixes commit 78d189fb on systems with older automake ...
- Commit:
5c8c6d3c70b5797ce2f10a180519f545df7a6b38
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated config.{guess|sub} to version 2012-08-14
- Commit:
f38a9035e5439cb395b2de6b9bdfa36102bfe80c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Show a warning on startup if config file is not a full path
ngIRCd is a long-running process and changes its working directory to "/" to
not block mounted filesystems and the like when running as daemon ("not in the
foreground"); therefore the path to the configuration file must be relative to
"/" (or the chroot() directory), which basically is "not relative", to ensure
that "kill -HUP" and the "REHASH" command work as expected later on.
This fixes parts of bug #127.
- Commit:
bcefdef1eaed14d3156b7fb5b9ad6d3b7078efcf
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'move-connection-password' of git://arthur.barton.de/ngircd-alex
This patch series converts the statically allocated password buffer in the
CLIENT structure into a dynamically (and only when needed) allocated buffer
which is referenced by the CONNECTION structure.
This a) saves memory for clients not using passwords at all and b) allows
for "arbitrarily" long passwords.
By Brett Smith (5) and Alexander Barton (2).
* 'move-connection-password' of git://arthur.barton.de/ngircd-alex:
Login_User(): use "conn" insted of calling Client_Conn(Client)
Free already saved password when storing a new one
Indentation and style fixes.
Connection password is not constant.
Implementation clean-ups.
Dynamically allocate memory for connection password.
Move client password from the Client to the Connection struct.
- Commit:
a5984c702ae3d141d0fff70b0b634b47dade72c3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove unused ERR_CANNOTSENDTOCHAN2_MSG message
- Commit:
3e22fc32f3941ef839b570043283c53eea37470a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove all geneerated Makefile.am on "make maintainer-clean"
- Commit:
7eb3932d3a3d6684b4c58c357bab12c2125c1775
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make autogen.sh more verbose when VERBOSE=1 is set
- Commit:
a12d6ff257813d47657d53f00699d21bfaf0e301
- From:
- Alexander Barton <alex@barton.de>
- Date:
Create &SERVER channel after predefined channels
This patch allows you to define &SERVER in a [Channel] block yourself
and to overwrite the built-in topic and channel modes.
Fixes bug #131.
- Commit:
f79d41e92741fa2f6bc6fef957d278707ad4236a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Login_User(): use "conn" insted of calling Client_Conn(Client)
- Commit:
9a82304ae96ae74ae28b8c584bd4811078806577
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Add some more information to channel error numerics
- Commit:
360a254be0e55e975998d0f3a5ff301ac3346f72
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance "ServiceMask" to handle a list of masks
The "ServiceMask" variable in "Server" blocks now can handle more than
one mask using the new MatchCaseInsensitiveList() function.
This makes marking "service clients" much more specific, which is a
good thing per se, but which is the prerequisite for reasonably
blocking these nick names, too (see commit a6dd2e3 for details).
- Commit:
e65a35e964e6a32de748f18e1f70ffe2ad146119
- From:
- Alexander Barton <alex@barton.de>
- Date:
Rename configure.in to configure.ac
This fixes
automake: warning: autoconf input should be named 'configure.ac',
not 'configure.in'
when running the autogen.sh script.
- Commit:
ebf2f991b58372e01e018e0f769762b85360ed3e
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: use AC_SEARCH_LIBS (not AC_CHECK_LIB)
Use the AC_SEARCH_LIBS macro to test for "sometimes but not always"
required libraries, not AC_CHECK_LIB.
- Commit:
2205227c3b3cbc8788bcf97a037c9e3016f71c9c
- From:
- Alexander Barton <alex@barton.de>
- Date:
WHO #channel: don't limit list size
It makes no sense to limit the list size when doing WHO for a channel
and not to return all the users in that channel, so I removed the check.
But if there are more than MAX_RPL_WHO(25) replies, the client requesting
the list will be "penalized" one second more (then 2 in total).
This fixes bug #125.
- Commit:
1680ea02da10dff49748214f6e01538808c7ee65
- From:
- Alexander Barton <alex@barton.de>
- Date:
Free already saved password when storing a new one
This shouldn't happen (clients aren't allowed to send more than one PASS
command), but who knows ...
- Commit:
ab1fcebeff1593bf50bd091706a9b2f447db88cf
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function MatchCaseInsensitiveList() to check list of patterns
- Commit:
78d189fbf745741f42271557206cdde60d3ae857
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.ng: use AM_PROG_AR to check ar(1) command
This fixes
automake-1.12/am/library.am: warning: 'libngipaddr.a':
linking libraries using a non-POSIX .../automake-1.12/am/library.am:
archiver requires 'AM_PROG_AR' in 'configure.in'
src/ipaddr/Makefile.am:12: while processing library 'libngipaddr.a'
and similar warnings of automake.
- Commit:
a451cb22f1906de2c0ed354b1e79eaae654b3abd
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: use AS_HELP_STRING macro
- Commit:
d2d867ea36b57c594546c5486aa8c2d4ef199af0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Define EV_SET() for kqueue() on systems that don't have it
Some systems, notably FreeBSD 4.x, do have the kqueue() function but
lack the definition of EV_SET() in their header files -- but don't
worry, we can #define it on our own ;-)
Definition taken from /usr/include/sys/event.h of FreeBSD 8.1.
Patch tested on FreeBSD 4.1 by Götz Hoffart. Thanks!
- Commit:
a6dd2e33c2c9e60bbd286bb07a7a6273566dec7d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Block nicknames that are reserved for services
This patch introduces the new function Conf_NickIsBlocked() which checks
if a given nick name matches with the "service mask" of a configured server.
And Client_CheckNick() uses this information to deny such names for regular
IRC users.
So nick names intended for IRC services are more protected and can't be used
by regular users even when the "services pseudo-server" isn't connected to
the network.
But please note:
Up to now, there can be only one "ServiceMask" pattern per server, which
most probably blocks much more nick names than really required ...
So "ServiceMask" should allow more than one pattern which can be more
specific, and most probably it should be possible to block nick names in
the global server configuration as well.
Nick names introduced by other servers/services are never restricted.
- Commit:
be97fa8ab1c47a17f6d4c17c69de89d084dc1402
- From:
- Brett Smith <brett@w3.org>
- Date:
Indentation and style fixes.
- Commit:
8cfb9104419d3c00fbef3fe8639eb04f03d83f3d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'automake-am11-am12'
* automake-am11-am12:
autogen.sh: detect automake version format a.b.c and a.b
configure.ng: don't require GIT tree to detect version string
Include .mailmap file in distribution archives
Include all build-system files into distribution archives
Change build system to support new and old GNU automake
- Commit:
82bf4eb0591631e638120e0540fbbb7ceb4e19a9
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: use AC_CANONICAL_HOST (not AC_CANONICAL_TARGET)
See the autoconf manual for details:
http://www.gnu.org/software/autoconf/manual/autoconf.html#Specifying-Target-Triplets
- Commit:
b232ae2f1727cfa8ae9106f0d65fc4cebe3a9d40
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix contrib/Makefile.am to list all files in EXTRA_DIST
- Commit:
9d8974d5098e9426f9185f31b2b3853e55513f3e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Rename Conf_IsService() to Conf_NickIsService()
- Commit:
164954a78856893c9be03d95dac73e781e4f78f5
- From:
- Brett Smith <brett@w3.org>
- Date:
Connection password is not constant.
Saying otherwise makes a warning when we assign this to
conv.appdata_ptr in pam.c.
- Commit:
039a939cb8a85f242a017cb4c68003af2b02dfca
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh: detect automake version format a.b.c and a.b
- Commit:
a3f3a1097b41d96571c0606b7096aabeeccb8e70
- From:
- Alexander Barton <alex@barton.de>
- Date:
INSTALL: update GNU automake/autoconf requirements
- Commit:
d53d58fff21a306ac0de20153a215121547bcd84
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: inttypes.h is an optional header file
- Commit:
53b2acc00b60777b622e471ae6eef67e1876a01d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update project description
- Commit:
037b4b76df6122f86d8c9536eb761664a5d71e53
- From:
- Alexander Barton <alex@barton.de>
- Date:
Check_Connections(): code cleanup
- Commit:
c1d7f6216fc26772160f50269d87a74171f8c0a2
- From:
- Brett Smith <brett@w3.org>
- Date:
Implementation clean-ups.
* Have Conn_Password return an empty string when no password has been set,
to play better with pam.c.
* Use strdup in Conn_SetPassword.
- Commit:
d7d5f4330b15667d9f364ebabd886a062b2741fb
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.ng: don't require GIT tree to detect version string
- Commit:
d4df626d8872576b3fb54280764f16f3b94d783b
- From:
- Alexander Barton <alex@barton.de>
- Date:
automake: don't use INCLUDES, it's AM_CPPFLAGS nowadays
- Commit:
b2482b39e40bd5355cb6ea935d7dc1f1bd18f7ab
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use HAVE_SETSID #define when testing for setsid()
- Commit:
01b62202b2caa1b8161e62f149a9d6f705713869
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Conn_StartLogin() to finish connection initialization
Conn_StartLogin() is called after the connection has been established and
fully innitialized, including the SSL handshake, for example.
Up to this patch, the "NoticeAuth" option broke the SSL handshake ...
- Commit:
7df4c12da96b2bbc23556c0c334e1d06dd9e4887
- From:
- Brett Smith <brett@w3.org>
- Date:
Dynamically allocate memory for connection password.
- Commit:
4b0f526006adb30bb127cde29ff67e8bd97352c2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: use certificate of Alex for code signing
When doing non-debug Xcode builds, use the "Developer ID Application:
Alexander Barton" certificate for code signing by default.
- Commit:
79c122289657afcac0ad15d3946be52906dbf3d9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Include .mailmap file in distribution archives
- Commit:
eed8a4ee6e2ba814d2cc6041eb9ac8df10d01e9e
- From:
- Alexander Barton <alex@barton.de>
- Date:
automake: enable colored test output, if available
The "color-tests" option can't be checked for, but is available starting
with automake 1.11 which introduced AM_SILENT_RULES -- so we check this ...
- Commit:
74c7d7131f6754e1afa9b1ec7b95e95824475c97
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't include <stdint.h>, it is included by "portab.h"
- Commit:
b68bb560e9140c0ec783ea02773aef50d11ac06d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Convert CONN_ID and Conf_MaxConnections to "int" datatype
We can't handle more connections than accept(2) can supply, and
accept(2) returns an "int" ...
- Commit:
0d5de60584f094ef3b7c27806d6cd7f79e861d7b
- From:
- Brett Smith <brett@w3.org>
- Date:
Move client password from the Client to the Connection struct.
This is a relatively naive implementation, basically doing the bare minimum
necessary to make the switchover go. Subsequent commits can focus on
improving the implementation.
- Commit:
4cf65b973c780880047b0ad4e77e95cf7315cb0f
- From:
- Alexander Barton <alex@barton.de>
- Date:
"make uninstall": remove ngircd.conf if not modified
Now "make uninstall" removes the installed "ngircd.conf" file, if it
is still equal to our "sample-ngircd.conf" file and therefore hasn't
been modified by the user. If it has been modified, it isn't removed
and a notice is displayed to the user.
In addition, "make install" now displays a message when no ngircd.conf
file exists and the "sample-ngircd.conf" file will be installed as a
starting point.
- Commit:
b1b83831d199cc893606e924255a8747c97cd572
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add doc/Contributing.txt to distribution archive
- Commit:
8e1beae4e7e57f5ef74fcc82532162a228e2e831
- From:
- Alexander Barton <alex@barton.de>
- Date:
Include all build-system files into distribution archives
- Commit:
4dd1c31dc70e97015f6bff4344de30742db073e8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't check type.h availability, it is required
- Commit:
21467c76f15a7773695ce3a37c7c843cb4682ac2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Introduce numeric RPL_HOSTHIDDEN_MSG(396)
This numeric is sent to the client each time it changes its displayed
hostname using "MODE +/-x", and if "CloakHost" is set right after the
MOTD has been sent.
- Commit:
160f728530806385dbeee398a20fe5eac7318c5a
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/ngircd.service: systemd service file for ngircd
Thanks to Kyle Keen <keenerd@gmail.com>:
Date: Sat, 18 Aug 2012 08:28:22 -0400
Message-ID: <CAAKTTKNNmrB=8XtxcV6w1Q-RQ6J_xTTDGD4MHQFaDy6V3=B19Q@mail.gmail.com>
From: keenerd <keenerd@gmail.com>
To: ngircd-ml@ngircd.barton.de
Subject: [ngIRCd-ML] systemd service
Hello all.
Linked is a service file for ngircd. Please add this to your source
tree so other people don't have to learn to write service files ;-)
https://projects.archlinux.org/svntogit/community.git/plain/trunk/ngircd.service?h=packages/ngircd
-Kyle Keen
Arch Linux TU
http://kmkeen.com
- Commit:
baed0618ed9e1a9140624205035d991d7852ee6b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Loose GNU autoconf / automake requirements a bit
Now ngIRCd requires at least GNU autoconf 2.61 and automake 1.10, the
requirements of commit 67e882d4 have been too restrictive:
19.2 67e882d4 now
---------- --------- --------- ---------
autoconf >=2.50 >=2.67 >=2.61
automake >=1.6 >=1.11 >=1.10
The tools required now are supported by Debian GNU/Linux 4.0 "Etch",
RedHat Enterprise Linux 5, and Mac OS X 10.6.x for example.
I read the changelogs of autoconf and automake, and I think ther's nothing
that prevents it from working with these older versions; and we don't want
to force users to upgrade without real benefits.
Please note: the recommended versions are still autoconf 1.11.x and the
most recent autoconf release that works with automake 1.11.x!
- Commit:
192e304b94f239de13b0f10ca01f6694fe6eea40
- From:
- Alexander Barton <alex@barton.de>
- Date:
Change build system to support new and old GNU automake
Starting with GNU automake 1.12, the "de-ANSI-fication support" has been
removed, which ngIRCd used to enable building itself on very old systems.
Now the problem is, that using automake >= 1.12 isn't working because of
the now unsupported M4 macros. Therefore the solution that this patch
implements is to dynamically generate the automake input files with our
own ./autogen.sh script:
configure.ng => configure.in
Makefile.ng => Makefile.am
This is quite an ugly approach, but it works and enables us to:
1. use current automake >= 1.12 for development and "private builds",
2. still build distribution archives using automake 1.11.x that have
"de-ANSI-fication support" enabled in the generated Makefile's.
And if you are using Makefile's generated with a automake version newer
than 1.11.x (without "de-ANSI-fication support"), the ./configure script
warns you not to use this generated build system to generate distribution
archives.
Drawback of this patch: you MUST use our autogen.sh script, you can't call
the autoconf/automake commands directly any more; but autoreconf should
still work ...
- Commit:
2e13e821f89d38ebb3b6b90d44f1a40f9c61fb31
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: Use AC_CONFIG_FILES macro
- Commit:
33fae67579eeab31d7f96f9e53f0529f584b0b1f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Always cloak client hostname, if needed
Not only cloak the hostname in Client_MaskCloaked(), but also in
Client_HostnameCloaked() -- so move the actual cloaking to this function
and call it in Client_MaskCloaked() to get the (cloaked) hostname.
This fixes USERHOST not displaying the correctly cloaked hostname,
for example.
- Commit:
922540306e968b3c64150e771d0773273535b661
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngt_RandomStr(): Add implicit cast to "unsigned".
This fixes the following warning of Xcode 4.5:
src/tool/tool.c:150:19:
Implicit conversion loses integer precision: 'long' to 'unsigned int'
- Commit:
e3e181f4b3eae0e552632bce19bdff990196938f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug92-xop'
By Alexander Barton (5) and Sebastian Köhler (2)
* bug92-xop:
Fix NAMES/WHO response when client has multi-prefix
Fix prefix of "halfop" when "multi-prefix" is active
Clean up doc/.gitignore
doc/Modes.txt: add version number to new channel modes
Fix some "whitespace glitches"
Tests and documentation for xop
Implemented xop support
Conflicts (because of "multi-prefix fix"):
src/ngircd/irc-info.c
This fixes bug #92 "ngircd does not support XOP usermodes".
- Commit:
2478c5816bca01c73b7c832945ddbeb815922ce0
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: Don't use AC_C_PROTOTYPES
Don't use AC_C_PROTOTYPES, AM_C_PROTOTYPES is already used.
- Commit:
864015fa3ff42a026b90e39f73fb9d5f6eaab826
- From:
- Alexander Barton <alex@barton.de>
- Date:
NoticeAuth: make sure messages are flushed immediately
- Commit:
d48e440a722cb56fd3c2996d2d3c87ce7f471042
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix a buffer overflow when initializing the random salt for "+x"
This "off by one" buffer overflow has been introduced in commit 49385a98,
"Implemented hashed cloaked hostnames for +x".
- Commit:
1f2aa4da6f62124bdbed4f2dce7e40ed4b411e2a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix NAMES/WHO response when client has multi-prefix
This has been fixed by commit 16f94546 "Fix NAMES response when
client has multi-prefix" in the master branch, fix it in this patch
series, too.
- Commit:
ef82ef4ddb8b93e3d02197ffeed977d76dd99ba5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Free all listen ports on initialization
Now you can reconfigure listen ports and reload the server configuration
on runtime. Without this patch, no ports could be removed.
- Commit:
47ad9afcf38d91059dd23dc2e6f6c2d9d4c3ad80
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: Update checks for required and optional features
Update checks for required and optional header files, data types,
and functions.
- Commit:
1d3def0cc6271ff77b39deec07eee240e1968d52
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'umode-B'
This patch series allows ngIRCd to support the user mode "B" ("Bot flasg"):
it is settable and unsettable by every (non-restricted) client.
According to DNS777, this is how Unreal and InspIRCd do behave, so do we :-)
By Alexander Barton (1) and DNS777 (1)
* umode-B:
Add new user mode "B" to doc/Modes.txt
Implement an Unreal-like user mode "B" ("Bot mode")
- Commit:
0709a0f050044db2d76a3142f02f7efd86321898
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER
AM_CONFIG_HEADER is marked obsolete and will be removed in Automake 1.13.
- Commit:
fc39146f48f556de0a26693cd4275667d3f82ab2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix prefix of "halfop" when "multi-prefix" is active
- Commit:
bb20aeb9bcbb27eda540a6df2faf2d07e71d23f3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Initialize SSL when needed only, and disable SSL on errors
With this patch, the SSL subsystem will only be initialized if at least
one SSL ports is configured; so you won't get "SSL initialization failed"
messages if you didn't configured it at all.
And if SSL initialization fails, no SSL listen ports will be enabled
later which never could establish a working SSL connection at all ...
- Commit:
67e882d4bbda97fb65ed4d58ae44e6c79d4cb708
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: require autoconf 2.67 and automake 1.11
And use newer features such as bug reporting address and project URL.
- Commit:
e01e8f1cb6812ac24821fa540fd6ce4e61ccbc12
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'recognize-umode-R'
By Alexander Barton (1) and DNS777 (1)
* recognize-umode-R:
Only allow IRC services to modify user mode "R"
Recognize user mode "R"
- Commit:
a26e37b7463d21e12be69b0bbdfdd74c8737dc36
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add new user mode "B" to doc/Modes.txt
- Commit:
cfd0bddc3014e87dead4db72ef206c6f61ee12c1
- From:
- Alexander Barton <alex@kfreebsd.barton.de>
- Date:
Fix compiler warning when not building with ZLIB support
This fixes:
irc.c: In function ‘Option_String’:
irc.c:333:9: error: variable ‘options’ set but not used
- Commit:
1744a8d145c35edbb4abf093dd7336ecde4965d5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up doc/.gitignore
- Commit:
25c216cbdf0a5db739bdf0551db16a510e8ac4a1
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure.in: sort some lists (templates, output, ...)
- Commit:
186ab51137886166ad56f1682d7caafff61cf304
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only allow IRC services to modify user mode "R"
- Commit:
74be9040183c113d5cb62ad25782099479a5c450
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngt_RandomStr(): : make it buildable with pre-ANSI C compilers
- Commit:
c2b39fdedef18b7cb634509bb3f1dd67bf47c214
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Implement an Unreal-like user mode "B" ("Bot mode")
- Commit:
b53b12aa5fd4189035c7473ee4d91eb89fcecb60
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files for hashed cloaked hostnames
- Commit:
b12acddf4fd143a91a825ba40ef0a15d7f2c3e4a
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Modes.txt: add version number to new channel modes
- Commit:
298cd9a327dca9717ff352d78f964dd49ca5f9f4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Get_CAP_String(): make it buildable with pre-ANSI C compilers
- Commit:
8349a1c0d94eab61b872bb4625cbdc55feb0b86f
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Recognize user mode "R"
This allows users to unset the user mode "R".
- Commit:
d0bb185cf55655fc68ad54508c84314c2520d54c
- From:
- Sebastian Köhler <sebkoehler@whoami.org.uk>
- Date:
Hashed hostnames for CloakHost
Implemented support for hashed hostnames for CloakHost. The admin can
use '%x' in both the CloakHost and CloakHostModeX setting. The config
option CloakHostModeX was renamed to CloakHostSalt. This salt is used
for both cloaking options.
- Commit:
0d67be3f301e280225d8a04048ebb77a976d8169
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix some "whitespace glitches"
Some have been introduced by commit 7b01bb83, some are older.
- Commit:
414bfe65ebe8ac1076476b25ed0bb91faad74f47
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance "NOTICE AUTH": show hostname and IDENT reply
- Commit:
49385a98b2878ae6f19dd0925e0dc90fcc3d6372
- From:
- Sebastian Köhler <sebkoehler@whoami.org.uk>
- Date:
Implemented hashed cloaked hostnames for +x
CloakHostModeX can now contain '%x'. It will be replace by the hash of
the original client hostname. The new config option CloakHostModeXSalt
defines the salt for the hash function. When CloakHostModeXSalt is not
set a random salt will be generated after each server restart.
Spelling fix in defines.h
- Commit:
f37600ee01f6cfd86e8fa80f77ee26ebaf3012b2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'xop' of https://github.com/kart0ffelsack/ngircd into bug92-xop
* 'xop' of https://github.com/kart0ffelsack/ngircd:
Tests and documentation for xop
Implemented xop support
Conflicts (because of merge of the 'cmode-M' branch):
src/ngircd/channel.c
src/ngircd/defines.h
src/ngircd/messages.h
- Commit:
c519ba9920d2d9b12016d0825382cd236219112c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'cmode-M'
By Alexander Barton (2) and DNS777 (1)
* cmode-M:
Add new channel mode "M" to doc/Modes.txt
Remove Can_Send_To_Channel_Identified()
Implement channel mode "M"
- Commit:
b9e6cb3e556730f74464026a33d6904ffd340874
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 19.2
- Commit:
fee8ff37b3a8bedf1403e67d8384a7227c4f7b40
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add new channel mode "M" to doc/Modes.txt
- Commit:
097c72aa65d9914d688eaece718648ca060e287a
- From:
- Sebastian Köhler <sebkoehler@whoami.org.uk>
- Date:
Tests and documentation for xop
- Commit:
dffe5a9d6049609cfa02f44d978feef295c215d8
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Capabilities.txt: document "multi-prefix" capability
- Commit:
fee591b7597dfd9b438b6902d7971787dfd69d60
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove Can_Send_To_Channel_Identified()
Move the functionality directly into Can_Send_To_Channel() function.
There should be no functional change ...
- Commit:
7b01bb833f5bc3386611dc0c015a99c236e941f6
- From:
- Sebastian Köhler <sebkoehler@whoami.org.uk>
- Date:
Implemented xop support
3 new channel user modes have been added.
Half Op: +h(Prefix: %) can set the channel modes +imntvIbek
and kick all +v and normal users.
Admin: +a(Prefix: &) can set channel modes +imntvIbekoRsz and kick all
+o, +h, +v and normal users.
Owner: +q(Prefix: ~) can set channel modes +imntvIbekoRsz and kick all
+a, +o, +h, +v and normal users
- Commit:
d7eb343ea03e404ee2ca086e570216ee824598d4
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 19.2~rc1
- Commit:
1aaf54ac24e8e24d5a3ce5b7b00a775f5237d7a9
- From:
- DNS777 <dns@rbose.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Implement channel mode "M"
Only the server, identified users and IRC operators are able to talk.
- Commit:
bf5610a3b9ceef67da9777c5f4a72b9733124a33
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug124-CloakHostModeX'
* bug124-CloakHostModeX:
Describe "CloakHostModeX" in sample-ngircd.conf an ngircd.conf(5)
Rename "CloakModeHost" option to "CloakHostModeX"
Introduce new configuration option "CloakModeHost"
This closes bug #124.
- Commit:
7bce6780ca0099f38efc801a7e613939cb90c99a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update ChangeLog and NEWS files
- Commit:
bf121ae95fa352d74ec710fda33c08148562a52c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Describe "CloakHostModeX" in sample-ngircd.conf an ngircd.conf(5)
- Commit:
7b6b492bdd259c25c4477e33392510872107ca6a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Rename "CloakModeHost" option to "CloakHostModeX"
- Commit:
684e50f0a4d827965b61c4b9feeda403ec3c3b87
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly handle asynchronously re-established server links
Don't try to establish an outgoing server link after DNS lookup when this
server re-connected on its own in the meantime.
In addition, log a warning message if we try to update the connection
index of an already connected server structure -- and ignore it.
Up to now, both behaviour could lead to a race when the remote server
connects to this daemon while it still prepares the outgoing connection:
- The local server prepares the new outgoing connection ...
- in the meantime the remote server becomes connected and registered.
- Now the new outgoing connection overwrites the (correct) socket handle,
- then the 2nd connection becomes disconnected: "already registered",
- and the 1st connection becomes unhandled ("gets lost") because the
configuration structure is reset because of the wrong socket handle.
This patch hopefully fixes all these problems.
- Commit:
aa7db2c0e9e1112591cbdb3d346342d34ca21a6a
- From:
- Christoph Biedl <ngircd.anoy@manchmal.in-ulm.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Introduce new configuration option "CloakModeHost"
This closes bug #124.
- Commit:
4a90959cb563e7c6ca57d32779074b448982c94f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Log a debug message when SIGUSR2 is handled
- Commit:
9b1cf420f1e8768166e823891d7897590bdec638
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: more updates
Added:
- armv6l/unkn./linux-gnueabi, gcc 4.4.5
- i686/pc/linux-gnu, gcc 2.7.2
Updated:
- i386/pc/solaris2.11, gcc 4.2.3
Thanks to Götz Hoffart!
- Commit:
e7e47e77a3886c258368a14a8c0bb393280aac64
- From:
- Alexander Barton <alex@barton.de>
- Date:
NoticeAuth: Fix test if IDENT reply has been invalid
This fixes
conn.c: In function ‘cb_Read_Resolver_Result’:
conn.c:2252: warning: comparison between pointer and integer
- Commit:
695df6532ec717e5571e1ddc2c88a8c968603c5a
- From:
- Alexander Barton <alex@barton.de>
- Date:
IDENT reply: only allow alphanumeric characters in user name
Only alphanumeric characters are allowed in the user name, so ignore
all IDENT replies that would violate this rule and use the one supplied
by the USER command.
- Commit:
6680b536c4da7dc27e11490fe098e98cb0393fa2
- From:
- Alexander Barton <alex@barton.de>
- Date:
USER command: only allow alphanumeric characters in user name
Only alphanumeric characters are allowed in the user name, so terminate
the connection if any "strage" characters have been supplied by the user.
This is how other IRC daemons (like ircd2.11 and ircd-seven) behave ...
- Commit:
a21a7d8b66bada3c581b7d1fe4279432344f2fd5
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: add powerpc/apple/darwin7.9.0
- Commit:
c0d059cd0ed4403e50820437d9a4cce1648c6b5a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Change wording of "TLS initialized" message
Don't use the word "socket" to identify the connection number, but use the
word "connection" like on all the other messages logged.
- Commit:
7faa3ed7d6613f23e998604461f543e763278f7e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Pidfile_Create(): Don't leak file descriptor on error path
Detected by cppcheck:
[src/ngircd/ngircd.c:502]: (error) Resource leak: pidfd
- Commit:
c9b152fa4119bc0f4ca27a2e163840a1e2dfbbc5
- From:
- Alexander Barton <alex@barton.de>
- Date:
INSTALL: Add "satisfy prerequisites" section
Include information for RedHat/Fedora and Debian/Ubuntu based
Linux distributions.
- Commit:
ae27571414bcf1b9e06bfb057b201fcae44fac53
- From:
- Alexander Barton <alex@barton.de>
- Date:
NEWS, ChangeLog: fixed some misspellings
- Commit:
5e5377a0631841db7d16e0d4693a3d4cee9b75f6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Numeric 005 (ISUPPORT), CHANMODES: add missing mode "r"
- Commit:
884c5bcff1dc1f4fb0e41b12af76d56db28d7de3
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: add "armv7l/unknown/linux-gnueabi"
- Commit:
3a2fcc32cd60822bf08c8e3e75061791e0abbf9d
- From:
- William Pitcock <nenolod@dereferenced.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Add instructions for setting up Atheme.
- Commit:
a8aa8c6cbced060890ba1203c8a360b70ef0c98c
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-cap.c: mark arguments of Handle_CAP_ACK() as "unused"
This fixes
irc-cap.c: In function ‘Handle_CAP_ACK’:
irc-cap.c:163: warning: unused parameter ‘Client’
irc-cap.c:163: warning: unused parameter ‘Arg’
- Commit:
f01b09ce847b6895c84be378a324482170d3b56f
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-login.c, login.c: add missing include of "string.h"
This fixes the following warnings with GCC 4.4.5 on Linux:
irc-login.c: In function ‘IRC_PASS’:
irc-login.c:92: warning: implicit declaration of function ‘strlen’
irc-login.c:92: warning: incompatible implicit declaration of built-in function ‘strlen’
irc-login.c:113: warning: incompatible implicit declaration of built-in function ‘strlen’
irc-login.c:129: warning: implicit declaration of function ‘strchr’
irc-login.c:129: warning: incompatible implicit declaration of built-in function ‘strchr’
irc-login.c:133: warning: implicit declaration of function ‘strcmp’
irc-login.c: In function ‘IRC_SERVICE’:
irc-login.c:556: warning: incompatible implicit declaration of built-in function ‘strchr’
login.c: In function ‘Login_User’:
login.c:131: warning: implicit declaration of function ‘strcmp’
- Commit:
2419a701d8d255275e731c8bcd594d92a46b7067
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Modes.txt: Document missing channel mode "e"
- Commit:
110be707c306683c666bd736a8dcd7aef86d9f21
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'master' of /srv/git/ngircd
* 'master' of /srv/git/ngircd:
"multi-prefix" capability 2/2: adjust NAME and WHO handlers
"multi-prefix" capability 1/2: implement complete CAP infrastructure
IRC_Send_NAMES(): Code cleanup
New function Client_CapSet() in addition to Client_Cap{Add|Del}
"CAP REQ" starts capability negotiation and delays user registration
Xcode: update project file for Xcode 4.3
Correctly handle "CAP END", new client type CLIENT_WAITCAPEND
Implement core IRC capability handling and "CAP" command
New "login" source file
Introduce_Client() => Client_Introduce(), and move it to client.c
- Commit:
b2743af0ed438798f3025e253b157257b9774bd5
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/platformtest.sh: support "CC=xxx MAKE=yyy ./platformtest.sh"
Now you can use contrib/platformtest.sh on platforms that require a "special"
make (not "make") or compiler (not cc/gcc) binary.
- Commit:
76565022fbda9a4054d7f74a46439db4145e5655
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'capabilities'
* capabilities:
"multi-prefix" capability 2/2: adjust NAME and WHO handlers
"multi-prefix" capability 1/2: implement complete CAP infrastructure
IRC_Send_NAMES(): Code cleanup
New function Client_CapSet() in addition to Client_Cap{Add|Del}
"CAP REQ" starts capability negotiation and delays user registration
Correctly handle "CAP END", new client type CLIENT_WAITCAPEND
Implement core IRC capability handling and "CAP" command
New "login" source file
Introduce_Client() => Client_Introduce(), and move it to client.c
- Commit:
4602cb9891a0234e391d56ac4b2491d134020f1b
- From:
- Alexander Barton <alex@barton.de>
- Date:
"multi-prefix" capability 2/2: adjust NAME and WHO handlers
The NAME and WHO commands now return multiple usermode prfixes when
the "multi-prefix" capability is in effect for the requesting client.
See <http://ircv3.atheme.org/extensions/multi-prefix-3.1>
- Commit:
359732af85e8566d919a2e0bc580a490ead49d9e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: update project file for Xcode 4.3
(No changes needed)
- Commit:
1dea0d91a0547fe5c0a9cb025b205cf1d9b1d3b8
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Detect Open64 C compiler
- Commit:
1d7e99531a6f713a04bbc91a6f7f2963c9ece75c
- From:
- Alexander Barton <alex@barton.de>
- Date:
"multi-prefix" capability 1/2: implement complete CAP infrastructure
Now ngIRCd is able to handle "CAP LS", "CAP REQ", "CAP LIST", and
"CAP CLEAR" commands.
"multi-prefix" can be set/unset, but has no functionality - yet!
- Commit:
d67d077a711f21e722d969dc1bf7ab787042d70b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix 8ec17063: "Lists_Add(): use size of destination when copying data"
Thanks to Florian Westphal for spotting my silliness ...
- Commit:
f0a9dbe3ad59d3518f406f0b32a90246977ac58e
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_Send_NAMES(): Code cleanup
- Commit:
69be7a85a2117f0526ca4e113a806be989dc2f53
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: correctly sort conn-ssl.{c|h} files in file list
- Commit:
245782897b4a8ca092a87bf6d3961cbda1dea962
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Client_CapSet() in addition to Client_Cap{Add|Del}
- Commit:
8ec17063a6e651229e04605592ce3d6114075655
- From:
- Alexander Barton <alex@barton.de>
- Date:
Lists_Add(): use size of destination when copying data
This fixes the following warning of clang:
/src/ngircd/lists.c:152:44:
warning: size argument in 'strlcpy' call appears to be size of the
source; expected the size of the destination [-Wstrlcpy-strlcat-size]
But it isn't a real problem, because the size of the source always is the
same than the size of the destination ...
- Commit:
2327b17656b329d6210628f24c77f51533c05620
- From:
- Alexander Barton <alex@barton.de>
- Date:
"CAP REQ" starts capability negotiation and delays user registration
New helper function Set_CAP_Negotiation().
- Commit:
67bd1bf34fc3f7bebb304cdf84284523c8ea09f5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Makefiles: list each source files on a separate line
Patches that add/remove source files become much nicer this way :-)
- Commit:
da4c1ebe81bbd1335356ef40c91741b953c9f8d8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly handle "CAP END", new client type CLIENT_WAITCAPEND
- Commit:
9f3af061cf4a48c2d580a4bb42eb49c71b96e09d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add missing documentation files to Xcode project
- Commit:
bd3a7ccb158c9f2eac1af77804529b76d99c3e79
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement core IRC capability handling and "CAP" command
This patch implements the core functions to support "IRC Capabilities"
and the IRC "CAP" command as used by other servers and specified here:
<http://www.leeh.co.uk/draft-mitchell-irc-capabilities-02.html>.
It enables ngIRCd to support the defined handshake, but it doesn't
implement any capabilities, so "CAP LS" and "CAP LIST" always return
the empty set and "CAP REQ ..." always fails with "CAP NAK".
- Commit:
88c3d4896af6c09de5d360d93ad8b02793aeb234
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't ignore "permission denied" errors when enabling chroot
Up to now, ngIRCd silently ignored permission denied errors when trying
to enable a chroot setup: only the "not running chrooted" message became
logged later on.
This patch lets ngIRCd exit with a fatal error when the chroot can't
be enabled on startup -- this is the much safer bevahiour!
- Commit:
edfcc2f9d5b796fd30f60138591e4f96d54cfcf6
- From:
- Alexander Barton <alex@barton.de>
- Date:
New "login" source file
Rename Hello_User[_PostAuth] to Login_User[_PostAuth] and move it to the
new login.c; and move cb_Read_Auth_Result(), too. This will enable further
code to easily call Login_User() when required.
- Commit:
7b6ef3bc8eef8a084bc77155e4cd64a35198aad9
- From:
- Alexander Barton <alex@barton.de>
- Date:
FAQ: enhance description of chroot setup
- Commit:
ee362b3bd2e31db4cb6b7832ca01e64a643f9b96
- From:
- Alexander Barton <alex@barton.de>
- Date:
Introduce_Client() => Client_Introduce(), and move it to client.c
- Commit:
fbaa751da824d0dd2a58086d2cec860cc88afa1d
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 19.1
- Commit:
06b63278754464792529ee0594dc218fa02b4c44
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update ChangeLog for upcoming ngIRCd 19.1 release
- Commit:
0d9740b9fa1a432d35f73fafa7fb2ecd9a435502
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix gcc warning, initialize "list" variable to NULL
This fixes the following warning with gcc 4.6.3.:
irc-mode.c: In function "Channel_Mode":
irc-mode.c:947:26: error: "list" may be used uninitialized
in this function
irc-mode.c:884:25: error: "list" may be used uninitialized
in this function
(The variable has never been used uninitialized, so don't worry)
- Commit:
e9be3334d1f0a40e44aac7754d828a4ce28a94b7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix manual page "hyphen-used-as-minus-sign" error (lintian)
Thanks to Christoph Biedl for reporting this!
- Commit:
0ae74ceaedef2583c333b7cf2a95802009d7707e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix typo: Please not -> Please note
Thanks to Götz Hoffart!
- Commit:
17ffda1c8a06855adb7a411734b1f7f8cc28d497
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix typo: recieved -> received
Thanks to Christoph Biedl.
- Commit:
0de11ead3663a1248ae0f0f97a2896845774a7d4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
9d486db460c05c24e3a6b3264529a10f968cce2f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Really include _all_ patches to build the Anope module
- Commit:
257fe922d2c2ee822c372bc5b979075271915553
- From:
- Christoph Biedl <ngircd.anoy@manchmal.in-ulm.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
getpid.sh: Fix testcase error for Debian using sbuild
When
* building the ngircd Debian package (on Linux at least) and
* using the sbuild build system,
the command "ps -af" does not include the commands running inside the
sbuild system. Therefore, start-server.sh will report a fail as getpid.sh
cannot not find the ./T-ngircd1 just started although it's actually
running. This results in a funny build log ...
starting server 1 ... failure!
FAIL: start-server1
running connect-test ... ok.
PASS: connect-test
The self-test of getpid.sh however will likely succeed as it's happy if
it sees any process with "sh" somewhere in the name. Things go downhill
from there.
The confusing things are:
* The alternative cowbuilder/pbuilder does not have this problem.
* The alternative usage "ps ax" does fine.
So, as a quick hack, the patch attached adds another switch to getpid.sh.
- Commit:
1068f883779ad9b8bf3e1e1b8234781e4223761d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't log "ngIRCd hello message" two times
Start "regular" logging not until the configuration file has been read in
and "SyslolgFacility" is set, and log all configuration errors using the
generic "daemon" facility.
So if there are no configuration errors, logging starts right after parsing
the configuration and we log the configuration file used _after_ reading it.
But this is no problem because every configuration error message includes
the configuration file name as well.
(The "double hello" has been introduced by commit 3641e5110952)
- Commit:
9e7360e5faea1468f0906f993c965b8b085ee46a
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 19
- Commit:
273d4bdd32de33d4632ee48b681d3ffff158e359
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'master' of /srv/git/ngircd
* 'master' of /srv/git/ngircd:
Update doc/Platforms.txt for ngIRCd 19
doc/README-Interix.txt: note that GNU make should be used
- Commit:
27d244dfae5e0909957dab9f2e5958de215608c8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update doc/Platforms.txt for ngIRCd 19
- Commit:
ef392e7d3781e3919718cf55fa87d5a8f8bdd354
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update config.guess and config.sub to recent versions
- Commit:
a39a1a5273f953c7c25bcb5b89c607444368d072
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/README-Interix.txt: note that GNU make should be used
- Commit:
c38751191f5811cbd45a0723e39c88785a854e9f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't accept "[SSL]" in config when no SSL support is built in
- Commit:
5cbdcf4f0d44709798469f09a72d4b4bd56d6e93
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix C syntax: duplicate ";;" should be ";"
Using gcc 2.7.2, this fixes:
irc-channel.c: In function `join_allowed':
irc-channel.c:86: parse error before `const'
- Commit:
3641e511095203818df7ca05439cf42eb7c7c954
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly re-open syslog logging after reading of configuration
Syslog logging has been initialized before reading the configuraton
file, so ngIRCd always used the default facility and ignored the
"SyslogFacility" configuration option.
Thanks to Patrik Schindler for reporting this issue!
- Commit:
3f46e93ccc429722ed4298127d664673d9e8f37d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Logging: remove "Activating ..." info message
- Commit:
8e3c56e5b2ad57576d2342f2971e33778cb1dd72
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 19~rc1
- Commit:
e1026d5dd1c871299bb75ce1751190f485893352
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update RPM spec file description to match Debian "control file"
- Commit:
f7bdee5f1360a10b3422a6e0a8e28c2be387c2dd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
391aa8d1f714d5dc2fc1b47ec466082169ef2177
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix forwarding of LIST commands
Bug reported by Cahata, thanks!
- Commit:
89d99e2ff97e5217e80190765d3e1e9bb59239d6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update preliminary ngIRCd protocol module for Anope 1.9.6
- Commit:
c16133c5ee72256ef5b8fa586e72e5e3598e75bb
- From:
- Alexander Barton <alex@barton.de>
- Date:
New_Connection(): don't set the client hostname twice
Setting the hostname twice doesn't do much harm a lot, but isn't elegant.
And for IPv6 addresses, it isn't correct the first time (missing []) ...
- Commit:
48889844299e036515e567aa5f992df18ccdf2d7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Client_SetHostname(): Code cleanup, more debug logging
- Commit:
44bb22d23ec6841457db41732caa6f5f9129b615
- From:
- Florian Westphal <fw@strlen.de>
- Date:
io: use define for number of possible events
- Commit:
c7dd5ea0baeff589a569cdc7ffd46fc83e885ab2
- From:
- Florian Westphal <fw@strlen.de>
- Date:
io: remove outer do {} while loops for epoll/kqueue/devpoll backends
simplifies things a bit. io_dispatch() is called repeatedly from the
main loop.
- Commit:
871760583cb4f90e908d3dac94679ce876d78c83
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance server command limits
This patch updates the limits for handling commands from a remote server:
- "<user count> / 5 + <min>" using "<min>=10" during normal operation,
- the above count multiplied with 5 while servers are syncing.
The intention is to a) make the limit dependent of the number of users
in the network (the more users, the more commands required to sync) and
b) to significantly rise this limit while servers are joining the network
to make the login and synchronization faster.
- Commit:
bc20f9ec1076a67a81ed8e7c3489ffbdf3387e53
- From:
- Alexander Barton <alex@barton.de>
- Date:
Send a PING at the end of the server sync to detect it
At the end of sending all "state" to the remote server, a PING command
is sent to request a PONG reply. Until then, no "regual" PING was sent,
so Conn_LastPing(<connection>) is null and now becomes non-null in the
PONG command handler.
So the servers are still synchronizing when Conn_LastPing(<connection>)
is 0, which could easily be tested.
- Commit:
5a200e154347bde2a885ad1ede620d8d946b6420
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Conn_UpdatePing() to update the "ping timestamp"
- Commit:
d2df7396a89b3e8de44379c305916bfee93ceb9b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Conn_UpdateIdle(): Code cleanup
- Commit:
3d27073d61ab52277a3237c9a2375e5deda9d690
- From:
- Alexander Barton <alex@barton.de>
- Date:
RPL_ISUPPORT_MSG(005): add "EXCEPTS=e INVEX=I"
Thanks to Cahata for the idea!
- Commit:
b6f19ea8feceeb2246995222f03790e6f00b0dfd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix "MAXLIST=beI:50": the limit is the sum of all lists
"Modes which are specified in the same pair share the same maximum size",
so "beI:50" means a total of 50 entries, regardless of the list.
See <http://www.irc.org/tech_docs/draft-brocklesby-irc-isupport-03.txt>,
thanks to Cahata for reporting this!
- Commit:
8c46067b34b71dac23b388c0acc28fdf8db111fa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
594fdd02aaa482b8273a8d24aa48510ecf0981ba
- From:
- Alexander Barton <alex@barton.de>
- Date:
New RPL_WHOISHOST_MSG(378): show hostname and IP address
The numeric RPL_WHOISHOST_MSG(378) returns the DNS hostname (if
available) and the IP address of a client in the WHOIS reply.
Only the user itself and local IRC operators get this numeric.
- Commit:
6a308fcb42eae1de168699ed432b49b610073ede
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Conn_GetIPAInfo(): get IP address of a connection
- Commit:
1537c791320086df83b8fbecb057e70c7120ea12
- From:
- Alexander Barton <alex@barton.de>
- Date:
G/K-Lines: only add and delete valid IRC masks
- Commit:
e0c9931ad8db8a9bd7d6c030d856ccc28c6facc2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Check G/K-Lines before the client has been registered, too
This allows to use "*!<user>@<host>" or "*!*@<host>" masks to reject
clients even before receiving PASS, NICK and USER commands and before
forking authentication child processes which reduces resource usage.
- Commit:
eba95bb0d240aa3c8791cb6eb830ced5023db0b0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Streamline handling of connection rejects (bad password, G/K-line)
- Use Client_Reject(), get rid of Reject_Client().
- Refactor Class_IsMember() to Class_GetMemberReason(),
- New function Class_HandleServerBans().
- Commit:
51a6a33056486c19da6b8d6e4809dde57be00ece
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Client_Reject() to reject clients on connect
- Commit:
6e28f4a7d13a81db99196da23958e81f2bb8418e
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Lists_CheckReason() to get reason of list entries
- Commit:
9882e578e9cbb9d86d235b45938fa57bf1e85e54
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
73781c1b381d6b15c3d3610392deed72737d766c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix ERR_{SUMMON|USERS}DISABLED: don't repeat command name in reply
- Commit:
f2fa1045e24f81e5c844dd50d6e299cb1ad9acb2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement channel exception list (mode 'e')
This allows a channel operator to define exception masks that allow users
to join the channel even when a "ban" would match and prevent them from
joining: the exception list (e) overrides the ban list (b).
- Commit:
33a165721b79bf896a1895e79fa0809fd6f71174
- From:
- Alexander Barton <alex@barton.de>
- Date:
{Add|Del}_Ban_Invite > {Add_To|Del_From}_List(): more generic
- Commit:
a3a4b5f6966c4378dc023ed37942e0e8f315aa56
- From:
- Alexander Barton <alex@barton.de>
- Date:
Rename ShowInvitesBans() to ShowChannelList(), make it more flexible
- Commit:
39412d648652b3fcb387cf04bf7fa9004cfcd8ba
- From:
- Alexander Barton <alex@barton.de>
- Date:
PRIVMSG/NOTICE: handle nick!user@host masks case-insensitive
And enhance our test suite to check this a little bit better :-)
- Commit:
c1656256df687c4a093ceb502de84bf4b0447f3c
- From:
- Alexander Barton <alex@barton.de>
- Date:
PRIVMSG/NOTICE: don't stop list processing on invalid target
Process further targets, even if one has been a server ID:
just skip this one with an error message and continue.
- Commit:
1f4711a5474d2f0ea4664bd9b54f036af11f96cd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement user mode 'C': require "same channel" to send message
If the target user of a PRIVMSG or NOTICE command has the user mode 'C'
set, it is required that both sender and receiver are on the same channel.
This prevents private flooding by completely unknown clients.
- Commit:
4d0069c3a8021c32b5bdeeec57f1d41d369587ce
- From:
- Alexander Barton <alex@barton.de>
- Date:
New RPL_WHOISREGNICK_MSG(307) numeric: indicate if nick is registered
- Commit:
12c60a670efe2a3270e7385c7358e87770562c95
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_WHOIS_SendReply(): Code cleanup
- Commit:
2f7d0c08395b3239e446841e713e0e84385200ea
- From:
- Alexander Barton <alex@barton.de>
- Date:
Limit channel invite and ban lists to 50 entries
- New function Lists_Count().
- New limit #define MAX_HNDL_CHANNEL_LISTS = 50.
- New numeric #define ERR_LISTFULL_MSG(478).
- Adjust numeric RPL_ISUPPORT2_MSG(005) accordingly ("MAXLIST")
- Commit:
1afbf7123635fde41953a5791bed247b12540b63
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make Send_ListChange() a little bit more generic
- Commit:
7ed08f01efb4e1b0c1aed2de8d9f145604cdfac0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove unused prototype of Lists_AlreadyRegistered()
This prototype has been introduced by commit fa7bb279 in 2006,
but as far as I can see, this function never existed ...
- Commit:
81cc5f82b50de80bff9d2d1c37fc726baea5fac5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Channel lists: Fix duplicate check and error messages
- Check correct list for duplicates when adding items.
- Don't generate any messages when adding duplicates or removing
non-existing items (this is how ircd-seven and ircu behave).
- Code cleanup: Add_Ban_Invite(), Del_Ban_Invite().
- Commit:
78a3b4c7d64e87845d6babef9a4d1619f9691aba
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't enforce MAX_HNDL_MODES_ARG on server and service links
- Commit:
39d630c00d5b4680642d52463284e3282c2303ac
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update documentation (fix some URL, update some info)
- Commit:
4fe6b42c53eb483f4a6accadb41b362f1eca7841
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog for next ngIRCd release once more
- Commit:
d4d8102fc99a57e2b1f6604f8a5956c33e88bf2c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't stop join handling on faulty channel, skip it (part #2)
Commit 565523cb allowed processing of further channel names given to the
JOIN command when a single name was invalid.
After this patch, the JOIN command handler continues to process channel
name lists even after errors like "channel is full", "too many channels",
and the like and generates appropriate error messages for all the
channels given by the client.
- Commit:
77f68b4fd140404848e203a6634ecd472294723f
- From:
- Alexander Barton <alex@barton.de>
- Date:
JOIN command: don't check channel limit if already member
Don't check the channel limit and don't report "too many channels"
when trying to join a channel that the client is already a member of.
- Commit:
2f8877ded4f0831a2f6033c589fcd36d9cecd0ba
- From:
- Alexander Barton <alex@barton.de>
- Date:
Return ERR_UNKNOWNMODE(472) for unknown channel modes
The daemon reported ERR_UMODEUNKNOWNFLAG(501), which is wrong.
- Commit:
4bff3daf92f59c61cb43995118875a33580b81e3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Numberic 005 (ISUPPORT), CHANMODES: add "O", "R", "z" modes
- Commit:
c5beca8aabab6d1822f63e86e5db02649d7b1a41
- From:
- Alexander Barton <alex@barton.de>
- Date:
Limit list replies of LIST, WHO, WHOIS, and MAX_RPL_WHOWAS
Introduce new #define's MAX_RPL_LIST(100), MAX_RPL_WHO(25),
MAX_RPL_WHOIS(10), and MAX_RPL_WHOWAS(25).
- Commit:
f8405b1a4f032a125372b03711f6bed1ecac2bd6
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function IRC_CheckListTooBig() to check size of list replies
It the limit is reached, a NOTICE is sent to the client and list
processing should stop.
- Commit:
fdfc27265ef27e445de89217d08f9a57219355df
- From:
- Alexander Barton <alex@barton.de>
- Date:
LIST command: compare pattern case insensitive
- Commit:
a4d1e6007fe50e14888769aab2b650ba1792fa9f
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_LIST(): Code cleanup
- Commit:
9260759cec948b5b3f1a5e84c435d7afe4313718
- From:
- Alexander Barton <alex@barton.de>
- Date:
DEFAULT_WHOWAS->DEF_RPL_WHOWAS; MAX_CMODES_ARG->MAX_HNDL_MODES_ARG
To streamline naming, in preparation for MAX_RPL_WHO and MAX_RPL_WHOWAS :-)
- Commit:
c2ac1ad3ba67a36018e5b4833928d5f2b5e658ef
- From:
- Alexander Barton <alex@barton.de>
- Date:
defines.h: Code cleanup and (a little bit) more documentation
- Commit:
470d2e236258ce72c6d574b04f1400c0fedc4a3a
- From:
- Alexander Barton <alex@barton.de>
- Date:
RPL_ISUPPORT (numeric 005): Report MODES=<MAX_CMODES_ARG>
"Maximum number of channel modes with parameter allowed per MODE command."
See <http://www.irc.org/tech_docs/005.html> for details.
- Commit:
888664435aa81f20b204e2f9629678b606697bc5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Channel modes: really break handling when MAX_CMODES_ARG is hit
This fixes 98493077.
- Commit:
98493077a2d044aa08ee5cb4bd7054579e30fb57
- From:
- Alexander Barton <alex@barton.de>
- Date:
channel modes: only handle MAX_CMODES_ARG modes with arguments
Limit the MODE command to handle a maximum of MAX_CMODES_ARG (5) channel
modes that require an argument (+Ibkl) per call.
Please note: Further modes that require arguments are silently ignored
and end the handling of any further modes.
This is similar to the behavior of ircd2.11 (silently ignores but seems
to handle other modes) as well as ircd-seven (silently ignores but handles
some(!) other modes) ...
- Commit:
1fa2af5b3a95cad24c3e8b56ee7e57aa5084bfdb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix handling of channel mode sequence with/without arguments
For example, don't generate wrong error messages when handling
"MODE #chan +IIIIItn *!aa@b *!bb@c *!cc@d *!dd@e *!ee@f".
- Commit:
05cc9bf9b064c7048f6b197462a686c5a9100798
- From:
- Alexander Barton <alex@barton.de>
- Date:
Conn_Write(): Make sure there is a client when detecting its type
The assert(client != NULL) got triggered during our tests, so there is
an error path that resulted in the connection being still established
(sock >= 0) but the client structure already freed.
So Conn_Write() should handle it!
- Commit:
cc06e1ff89ae4b7ffc8d95a8ab1d9b6787a5d142
- From:
- Alexander Barton <alex@barton.de>
- Date:
Proc_Close(): Only close socket if it is still valid
It could be invalid when calling Proc_Close() a 2nd time, for exmaple,
which could happen when we hit a timeout doing IDENT requests :-(
- Commit:
9fbf592924d4ed1e37b42f295ec9c9ab0fc3cd08
- From:
- Alexander Barton <alex@barton.de>
- Date:
WHOIS command: make sure matching is case-insensitive
And make sure that RPL_ENDOFWHOIS replies with the unmodified mask
like it has been received from the client.
- Commit:
adf92302bf9bb6420acd1f1153515586794b1574
- From:
- Alexander Barton <alex@barton.de>
- Date:
WHOIS command: don't anser queries for IRC servers
Thanks to Cahata for spotting this!
- Commit:
566a451299cab41810bafc5ed11a5021e30d9b3d
- From:
- Alexander Barton <alex@barton.de>
- Date:
WHOIS command: make sure the reply ends with RPL_ENDOFWHOIS
Up to now, each reply for itself ended in RPL_ENDOFWHOIS and queries
for unknown nick names lacked the RPL_ENDOFWHOIS -- both is wrong.
- Commit:
e0f8ce093ad2cc389fe8ffd404addaf609451b3f
- From:
- Alexander Barton <alex@barton.de>
- Date:
README: update features list, borrow from list on our website
- Commit:
5e3449a241b3ee1e8f60bc33c0b1342543254397
- From:
- Alexander Barton <alex@barton.de>
- Date:
LINKS command: support <mask> parameter
The <mask> can be used to limit the servers shown in the listing.
- Commit:
762b0325df921622686096affc7ead41ba028959
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_LINKS(): Code cleanup; more documentation
- Commit:
6b62a5ec4f39238068b440fd7f6877582c54ec77
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add 1 second penalty for every further target on PRIVMSG/NOTICE
This reduces the possibility of flooding channels with commands like
"PRIVMSG/NOTICE #a,#n,#c,... :message" a little bit.
Problem noticed by Cahata -- thanks!
- Commit:
b24d645ca183194b0158cd7bba1e0c1f468a7de9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Conn_SetPenalty(): Add new "penalty time" on each function call
Until now, the penalty time has only been set when longer as the
already set one, so it didn't accumulate.
And add documentation for and clean up code in Conn_SetPenalty() and
Conn_ResetPenalty() functions.
- Commit:
1bb2fbedcc975aa6e424fd201f59a178a03d45b0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance log messages when setting user and group
- Commit:
3193d5477c9f70e34f7ae636e51771b8e6039138
- From:
- Alexander Barton <alex@barton.de>
- Date:
NGIRCd_getNobodyID(): Code cleanup
- Commit:
edab86e0f843dc07815477e25a0a6184d7500120
- From:
- Alexander Barton <alex@barton.de>
- Date:
Display correct error message when "Server{UID|GID}" is invalid
This partly closes bug #118. ngIRCd still starts up even when
Server{UID|GID} is invalid: then the daemon falls back to "nobody"
when running with root(0) privileges (as before).
- Commit:
e4006a93e3999ce5ab9dc82b29ef7e01ac370948
- From:
- Alexander Barton <alex@barton.de>
- Date:
NGIRCd_Init(): Code cleanup
- Commit:
9069380ddfe8f1cf92ad711fbf050d2d65242091
- From:
- Alexander Barton <alex@barton.de>
- Date:
main(): Code cleanup