Commits
- Commit:
c45d9dd1f08fddb95fa01d62c69848cd753a3161
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 20.2
- Commit:
b3d4cf9081fc32df969760b5b58a21954a27d073
- From:
- Sebastian Köhler <sebkoehler@whoami.org.uk>
- Via:
- Alexander Barton <alex@barton.de>
- 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.
(cherry picked from commit 0e63fb3fa7ac4ca048e8c2b648d2be3fd0572311)
- Commit:
1265eb15b8b3eae1a25906daaa4e38de3feb3f16
- 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.
(cherry picked from commit 1e8b775a7a6d0c390e037bd73332072e7c510525)
- Commit:
84612fe773ee57d57822107bb65671def135db30
- 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 ...
(cherry picked from commit 419ff38a07cb0b1637b444c96cd6868a7a9e5524)
- Commit:
84f5839c174e25af57f8d082cbbe8a603501dcaa
- 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 :-)
(cherry picked from commit fd260404caa7ce174ada663024d19cd789c152b5)
- Commit:
cb3b411166384da9460da69d242d350249e15f3a
- 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).
(cherry picked from commit 508ca3044dd6d1a88686efceda92a7f2a9b4a926)
- Commit:
121bcacb9889bb6318a508586f364647500a64e3
- 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>
(cherry picked from commit d8f2964710985597281de73aecd0a1ece30ecb03)
- Commit:
4105635566b3b2d8bd56f0ce1e556d5c3642f319
- 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>
(cherry picked from commit ab009976984ede815c31c9a6b318c80006823b81)
- Commit:
90fce2ed16fbfd5e6e37acfae997d756b426a347
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh: Enforce serial test harness on automake >=1.13
(cherry picked from commit 0703fcd71983bd04f70101fd0143660174d22f84)
- Commit:
21493731dffa0f5d9f62d24cdef290be6a6856fd
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 20.1
- Commit:
1f59821270e7298b380183778672e6db9c87971b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Copyright notices for 2013
- 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:
5d921984873b708c2f91bed01689f6351d95c233
- From:
- Alexander Barton <alex@barton.de>
- Date:
Get rid of Conn_ResetPenalty(), it is unused
- 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:
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:
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:
b5b3dd9cfd7e1a10eecc92c8b23bd65945b61a31
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add Cygwin binaries (*.exe) to .gitignore files
- 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
- Commit:
ab188c148659959060fb7a27ffa00214093ced6f
- From:
- Alexander Barton <alex@barton.de>
- Date:
README: point to included COPYING file, not gnu.org
- Commit:
5eb9f2e7172620874d5ad4c247b82fc2aee3ac1b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update Copyright notices for 2012
- Commit:
abfc5c6e27bcabec450b7e91ebc0bdca48ac8ef6
- From:
- Florian Westphal <fw@strlen.de>
- Date:
lists: don't crash if reason ptr is NULL
commit 15fec92ed75c3de0b32c40d005e93e3f61aef77e
(Update list item, if it already exists) can make ngircd
crash because 'Reason' can be NULL, as reported by
Cahata on the ngircd mailing list.
Doesn't affect any released ngircd versions.
Also, make sure that we do not pass NULL as arguments
to a '%s' printf-like function.
- Commit:
565523cbb4a5e2f34d584002916faba411a94187
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't stop join handling on faulty channel, skip it
When JOIN is received with more than one channel name, don't stop
processing on the first error (e.g. bad name, wrong channel key, ...)
but report an error and continue with the other given channel names.
Reported by Cahata -- thanks!
- Commit:
013298d4c68cc82c8b723fedb81ea87ced7fb306
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_JOIN(): Code cleanup
- Commit:
af13732ec7bb09c9e1bc942a355990ab2767eca7
- From:
- Alexander Barton <alex@barton.de>
- Date:
ISON command: reply with correct upper-/lowercase nick names
Reported by Cahata -- thanks!
- Commit:
408a74b86582a2fc315d61880f30d4ac050d8d8a
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_ISON(): Code cleanup
- Commit:
f47904bf954696803c0df8e756a57a3dabaa8845
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove unused "bool have_arg" from IRC_WHO()
This fixes:
irc-info.c: In function ‘IRC_WHO’:
irc-info:936:18: warning: variable ‘have_arg’ set but not used
- Commit:
70eb8219f526a7c3cbcab54e97733572ac16e50d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog for next ngIRCd release
- Commit:
9e5b9ddad03d77c036824bd17a133a2ad3b1e974
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.conf.5: reword description of "Ports" variable
- Commit:
56b7e67307c1be110eaa4e84681bca03df21bd69
- From:
- Alexander Barton <alex@barton.de>
- Date:
New configuration option "PAMIsOptional"
When "PAMIsOptional" is set, clients not sending a password are still
allowed to connect: they won't become "identified" and keep the "~"
character prepended to their supplied user name.
- Commit:
b681aa5b9f985247df31772282e520479ffb2ece
- From:
- Alexander Barton <alex@barton.de>
- Date:
PAM: don't use global password buffer for conv struct
Use the pointer of the password of the client directly.
Eventually we can get rid of the global password again ...
- Commit:
b32f3b76e9f7d608d6772c889f093608abf4d995
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Modes.txt: document channel mode "r"
And make clear, that user mode "r" and channel mode "r" are not set by
ngIRCd itself but by IRC services.
- Commit:
1a5ed654b43b7d4b14636fddd4ee79d3ebe749fa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fixed handling of WHO commands
This fixes two bugs:
- "WHO <nick>" returned nothing at all if the user was "+i"
(reported by Cahata, thanks).
- "WHO <nick|nickmask>" returned channel names instead of "*"
when the user was member of a (visible) channel.
Clean up code and add documentation as well.
- Commit:
9cbb8f3bb8f7c39e133c6910f40ec2b03ccd8847
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove unused "time_t now" from Lists_Check()
This fixes:
lists.c: In function ‘Lists_Check’:
lists.c:330:9: warning: variable ‘now’ set but not used
- Commit:
e19ce437cadca5697a052ade944118a42709eabd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fixed some spelling errors in documentation and code comments
Thanks to Christoph Biedl!
- Commit:
4e550bf9ef9d8c05a753f27c6deec8ada0fb0ce9
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/Debian/control: Update and complete "Build-Depends"
- Commit:
1d29a59f7eff92ac2b9afe493ad9cdb801e80acc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update our Debian package descriptions with "official" ones
See Debian Bug #648241 for details.
- Commit:
765c2f26ea29d5930d19dab5307c302e473e1120
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fixed typo in two error messages
Thanks to Christoph Biedl!
- Commit:
69fa6f268af88128248523b33b85aa1ab2759a82
- From:
- Alexander Barton <alex@barton.de>
- Date:
LUSERS reply: only count "visible" channels
Rename Channel_Count() to Channel_CountVisible() and only count channels
that are visible to the requesting client, so the existence of secret
channels is no longer revealed by using LUSERS.
Reported by Cahata -- thanks!
- Commit:
43509fd22c30e0ce1f1eb02fd584a0693177d880
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_Send_LUSERS(): Code cleanup
- Commit:
a71abfef4b82aace4989db6a4ed3c94d1266b287
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't stop mode handling on unknown modes; skip it
Unknown user and channel modes no longer stop the mode parser, but are
simply ignored. Therefore modes after the unknown one are now handled.
This is how ircd2.10/ircd2.11/ircd-seven behave, at least.
Reported by Cahata -- thanks!
- Commit:
8a8e8a3a23576ccdf06aec7d0a2e6a0d8584a9d8
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_xLINE(): output an error message for unexpected "lines"
This fixes:
irc-oper.c: In function ‘IRC_xLINE’:
irc-oper.c:429: warning: ‘class’ may be used uninitialized in this function
irc-oper.c:430: warning: ‘class_c’ may be used uninitialized in this function
- Commit:
65befdafaa53843eacf5abf9c079cf8f0d2597b0
- From:
- Alexander Barton <alex@barton.de>
- Date:
README: Update list of implemented commands
- Commit:
15fec92ed75c3de0b32c40d005e93e3f61aef77e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update list item, if it already exists
This updates the "validity" (timeout) as well as the "reason" text,
if given.
- Commit:
1e4a00f94f32edf5c2240864b7e56f69636312f4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Lists_CheckDupeMask(): return pointer to already existing item
The old behavior of returning true/false is compatible to this change,
so there are no other code changes required.
- Commit:
338758799d601a4f70c379d2d692b0178cea882f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Log better error messages when rejecting clients
- Commit:
164e15b8c6eb86d4ae640d64a849945e0b4395b0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Synchronize G-Lines on server login
- Commit:
32bfafafd9e90f9e224bf95e4f2512cea729aac1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Op_Check(): always accept commands from a remote server itself
- Commit:
6ef20e0f9a6c6f82fbb82b6c60f98b8e8b401b8d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Class_GetList() now retuns a pointer to list_head structure
- Commit:
e86e193e010b44bc567c0fb2dfbebd81b9735358
- From:
- Alexander Barton <alex@barton.de>
- Date:
Check G-Line and K-Line lists after authenticating clients
- Commit:
ae5ebfb9f0dc1b628a5eebbb39615b3483fe05db
- From:
- Alexander Barton <alex@barton.de>
- Date:
New functions Lists_Expire() and Class_Expire()
GLINE and KLINE lists are cleared automatically now, not when they are
checked. So "STATS g" and "STATS k" no longer show expired entries :-)
- Commit:
e9e6224aaeac6aab825caa12172bc207a00a86f9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement IRC_xLINE(): handler for "GLINE" and "KLINE" commands
- Commit:
e23f025dd6006eec2fe854ca0eaa623f0feb18ba
- From:
- Alexander Barton <alex@barton.de>
- Date:
Op_Check(): return client that initiated the request or NULL
The old behavior of returning true/false is compatible to this change,
so there are no other code changes required.
- Commit:
3ca87033099f4bcf3f51a8ee53abeee218e4505b
- From:
- Alexander Barton <alex@barton.de>
- Date:
irc-oper.c: code cleanup; more documentation
- Commit:
fc82efc3e8931e1670972e594140e03671370c1f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement IRC "STATS g" and "STATS k" command
- Commit:
dc9fcb0fb2716757ef336e60febeb58f59325388
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Class_GetList()
- Commit:
2b95c69ea19c6711bb98ee048ee71cee94c5dde9
- From:
- Alexander Barton <alex@barton.de>
- Date:
lists.{c|h}: code cleanup; more documentation
- Commit:
af70c3dbc927c77167a26c1f4d8ed6bf2b97e3c5
- From:
- Alexander Barton <alex@barton.de>
- Date:
List and class handling: add optional "reason" text
Adjust Lists_Add() and Class_AddMask() accordingly, implement
Lists_GetReason() and Lists_GetValidity().
- Commit:
1e054e0b82f2d3037365bc212b917e3434dc1733
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add new class.{c|h} module to Xcode project
- Commit:
06a20b87c464c67b288daf8bff841ce21e9105f3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add new class.{c|h} to project
Implement Class_{AddMask|DeleteMask|IsMember}() functions.
- Commit:
fea2194fc066af6f3b47fd94a93359dbd7aab8ff
- From:
- Alexander Barton <alex@barton.de>
- Date:
Lists: change "only once" property into "valid until"
The old "only once" true/false behavior is still supported, so there
are no other code changes required.
- Commit:
872dc5042d47a43f02c10df9c74ee2c0e7b28c81
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: update project file for Xcode 4.2
- Commit:
e1315f30fd2e1984907dc42cf1fd0370354d4f55
- From:
- Alexander Barton <alex@barton.de>
- Date:
define HAVE_GAI_STRERROR for Mac OS X Xcode builds
On Mac OS X 10.7 Lion, this fixes
In file included from .../contrib/MacOSX/../../src/ngircd/client.c:28:
/Developer/SDKs/MacOSX10.7.sdk/usr/include/netdb.h:272:13:
error: expected identifier or '('
- Commit:
0a85c58878a594ed0b0767771b128d4e288057cf
- From:
- Alexander Barton <alex@barton.de>
- Date:
Configuration: get rid of Conf_Oper_Count and Conf_Channel_Count
Count elements dynamically when needed.
- Commit:
ee21490887690a4c1dcdd7aafd3ffc745c2ca0ca
- From:
- Alexander Barton <alex@barton.de>
- Date:
./configure: Fix logic and quoting of poll() detection code
This fixes commit 8e193df ...
- Commit:
8fa92f0a24bb97a972ef82b8fa057d737c9f55b7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Suppress 'Can't create pre-defined channel: invalid name: ""' messages
Skip predefined channel structures that have configured no name,
like the "--configtest" does.
- Commit:
8e193df973bef0765754ccf4d6cb3ea21c226955
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only use poll() when poll.h exists as well
- Commit:
9d348d00d9eda2aede0ea9052bcc34cd070d3b5a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Not only check for poll(), make sure poll.h exists as well
This fixes building ngIRCd on Debian GNU/Linux 1.3 "Bo" :-)
- Commit:
9e48f3f8f8c312ee20caef70cfb377a0d89260bb
- From:
- Alexander Barton <alex@barton.de>
- Date:
whois-test: handle local hostname = "localhost.localdomain"
Use the pattern "localhost*" for valid local hostnames.
- Commit:
e4a06844a3b0ad1bbb7307cbe40f7d2bfb2f1226
- From:
- Alexander Barton <alex@barton.de>
- Date:
sample-ngircd.conf: show correct default for "PAM" variable
The default of "PAM" is "yes" when ngIRCd has been configured to use it,
so show the correct default value in the sample configuration file.
Closes #119.
- Commit:
20ccc1bba7773c0f73afe2bbcc0ffecc7b11269b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update GPL 2 license text to current version
See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
- Commit:
13d9e0c5a7e03559a2b5bf405b526098b15bd0e6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test for gai_strerror()
If gai_strerror() isn't available, use a macro that simply returns
a static error message (regardless of the real error code).
For example, GNU libc 2.0.7 doesn't implement gai_strerror().
- Commit:
a7911e35afce4de5f387f9dae0f414ae35006b25
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only use AI_NUMERICHOST if it is #define'd
It isn't using GNU libc 2.0.7, for example ...
- Commit:
60812b6fdf8ec8b644e1209802cd001a0a032d23
- From:
- Alexander Barton <alex@barton.de>
- Date:
defines.h: fix comment: "lenth" -> "length"
Reported by Christoph Biedl in #ngircd. Thanks!
- Commit:
1ea681161652c118d7acb7932678e1acf6646611
- From:
- Alexander Barton <alex@barton.de>
- Date:
Init_Server_Struct(): correctly zero Server->bind_addr
Don't use the size of the pointer, use the size of the variable!
- Commit:
d2f54abbedb299a8c3d32295c24397535a4bd2af
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up and fix comments of Check_ArgIsTrue()
Thanks to kaFux for pointing this out!
And fix code formatting as well ...
- Commit:
07dbb73c929aa3f478abc51575c2dcafe6a62111
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update doc/GIT.txt
- Commit:
30796698a9fca0037ea48f70ceafac1e783d06fb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only close "unrelated" sockets in forked child processes
This fixes the problem that ngIRCd can't do any IDENT lookups because
of the socket has already been closed in the child process.
The bug has been introduced starting with ngIRCd 17 ... :-(
(commit ID 6ebb31ab35e)
- Commit:
f173a974bee5181d8131519ed07b3b5261bf6366
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added doc/Modes.txt: document modes supported by ngIRCd
- Commit:
8aac36680265124067994391e7efef4e241a0ffd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implemented user mode "R" and channel mode "R"
- User mode "R": indicates that the nick name of this user is "registered".
This mode isn't handled by ngIRCd itself, but must be set and unset by
IRC services like Anope.
- Channel mode "R": only registered users (having the user mode "R" set)
are allowed to join this channel.
- Commit:
69803d6ff1ac8deb95e023bda6ad2aef435dc69a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use Proc_Close() to remove no longer unused pipes to child processes
This removes spurious (but harmless) debug messages.
- Commit:
be6994aece929425a7ac6bbdc770477cc527f2e8
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Proc_Close() to shutdown pipes to child processes
- Commit:
1361b3742df0c5c8d51272248ff70164d0a3cd11
- From:
- Alexander Barton <alex@barton.de>
- Date:
Introduce DEBUG_BUFFER, rework some debug messages
DEBUG_BUFFER is off by default and therefore disables these messages:
- "Handle_Write() called for connection XX, YY bytes pending ..."
- "Connection XX: ZZ bytes left in read buffer."
- Commit:
d3036c74e9336f8e1ab8b39ebe8e13fabad74802
- From:
- Alexander Barton <alex@barton.de>
- Date:
Testsuite: bind to loopback (127.0.0.1) interface only
- Commit:
553e8b6aa3fd7bcf9e8c1f586c16c2b8ae16f877
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: ngIRCd 18 on Nexenta works
Thanks to Götz Hoffart for testing!
- Commit:
51d7674ee7b17553a7481b7a154145300797d6e3
- From:
- Alexander Barton <alex@barton.de>
- Date:
New 2nd message "Nickname too long" for error code 432
- Commit:
1189200d4a1df4cf338c7d5979c2a54fc7edfc8d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Client_CheckNick(), Client_IsValidNick(): code cleanup
- Commit:
7795b07c53f29bfdcfb2e4ebb5a9d18e283773c0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'ServerMode'
* ServerMode:
Handle channel user modes 'a', 'h', and 'q' from remote servers
Handle unknown channel modes on server links
Handle unknown user modes on server links
IRC_MODE(), Client_Mode(): code cleanup [2/2]
Enlarge client user mode buffer, reduce client flags buffer
Infom clients when other servers change their user modes
IRC_MODE(), Client_Mode(): code cleanup [1/2]
- Commit:
d9325e803010d9a305182a4216bfbde168094dfa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'bug113-SrvPrefix'
* bug113-SrvPrefix:
Slightly change (and document!) IRC_KILL() calling convention
Spoofed prefixes: close connection on non-server links only
- Commit:
989c9fa531d83c9b1a302b222a4bcfeef767c2b6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Handle channel user modes 'a', 'h', and 'q' from remote servers
These channel user modes aren't used for anything at the moment, but
ngIRCd knows that these three modes are "channel user modes" and not
"channel modes", that is that these modes take an "nick name" argument.
Like unknown user and channel modes, these modes are saved and forwarded,
but ignored otherwise.
- Commit:
641045249cb4c11244b772012dc5b36005c89517
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: update project file to Xcode 3.2 or newer
Xcode requires Mac OS X 10.6 or newer; Xcode 4 supports this project
format as well, so effectively you can use Mac OS X 10.6.x or 10.7.x
for building ngIRCd with the Apple Xcode IDE.
- Commit:
2fd42667c2a064bab6e28523a7e68383604a1e15
- From:
- Alexander Barton <alex@barton.de>
- Date:
Handle unknown channel modes on server links
- Commit:
456e55921dddb4ae24bfc887b668c0e6407caace
- From:
- Alexander Barton <alex@barton.de>
- Date:
Slightly change (and document!) IRC_KILL() calling convention
- Commit:
69f81a359a0a9b764200172c004e41fa357f3e75
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: Mac OS X config.h: support 10.5 as well as 10.6/10.7 SDK
- Commit:
2dfa24d2fa42bdfece472da57c823a3968230fae
- From:
- Alexander Barton <alex@barton.de>
- Date:
Handle unknown user modes on server links
- Commit:
6cbe13085d3c8767a70d2394840a0a03ac6f290a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Spoofed prefixes: close connection on non-server links only
On server-links, spoofed prefixes can happen because of the asynchronous
nature of the IRC protocol. So don't break server-links, only log a message
and ignore the command.
This fixes bug 113, see:
<https://arthur.barton.de/bugzilla/show_bug.cgi?id=113>
- Commit:
be03bc672cf37881afe31c466576595f2976f5e7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: exclude more Xcode 4 specific directories in ".gitignore"
- Commit:
1ed602eb47ef7c9257559209407a5b9363c532f8
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_MODE(), Client_Mode(): code cleanup [2/2]
- Commit:
b7780e3f2acb989fab7d98cb79d5f5dff65accbc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix typo in doc/Platforms.txt; make Linux footnote more generic
- Commit:
160c52400fe17f83069cdda7c6d2a92e9c430244
- From:
- Alexander Barton <alex@barton.de>
- Date:
Cast getpid() and time() results for srand() input
This fixes:
src/ngircd/ngircd.c:596: warning: implicit conversion
shortens 64-bit value into a 32-bit value
(i686-apple-darwin11-llvm-gcc-4.2)
- Commit:
ea725b99b7cc308de6a035e016e4d89e268cbf1f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enlarge client user mode buffer, reduce client flags buffer
We have to enlage our user mode buffer, so we can handle even unknown
user modes in the future; and reduce the client flags buffer, because
I can't imagine why we ever would need ~100 flags!?
Now we support up to 15 user modes (was: 8) and up to 15 flags (was: 99).
So in the end, we even save 99-15+8-15=77 bytes for each client structure!
- Commit:
04744e9d8998e6526b30673c099982eda1217af3
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 18
- Commit:
0b8acf120529754b3a23d2cce563da9a45ef26e4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: update and add missing files to project
- Commit:
3dc3a035386789852ba5a9fbc22b9b3c2793f0b0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Infom clients when other servers change their user modes
- Commit:
54f04f81e9ee7bdcdc1f01a447bcdb37bd7eb1d6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update ChangeLog and NEWS for ngIRCd release 18
- Commit:
88f6fc5fd8617a2d517c1e7ed689a29dce2a217f
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_QUIT(): disconnect directly linked servers sending QUIT
Without this patch, the server becomes removed from the network and
the client structures, but the connection isn't shut down at all ...
- Commit:
d692286d7a5a31f5ccef4f8d6b3ddee2188950ff
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_MODE(), Client_Mode(): code cleanup [1/2]
- Commit:
95e156b51963b0554bf815bbfc258cbc3b488598
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated doc/Platforms.txt for ngIRCd release 18
- Commit:
da897a2a14ac229dbd542f2f11c970dcb005944d
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/ngindent: detect "gindent" as GNU indent
- Commit:
9f3690c39c2bd7cefbed8e3ea1f9519dd25d35c8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Testsuite: make getpid.sh work even when run as root
Use ps(1) flag "-a" (as well as "-f"):
"Select all processes except both session leaders (see getsid(2)) and
processes not associated with a terminal."
Thanks to Götz Hoffart for reporting this problem!
- Commit:
e160121698e7ec51f3e763dbdb1b76f755e47729
- From:
- Alexander Barton <alex@barton.de>
- Date:
MorePrivacy: Don't register WHOWAS information
Citing an email from Florian to the ngIRCd mailing list:
"I wonder what the expected behaviour is when Conf_MorePrivacy is changed
from 'yes' to 'no' and the config is reloaded.
At the moment, WHOWAS will start giving out information on Users that
were connected during Conf_MorePrivacy=yes period. If this is not
wanted, Client_RegisterWhowas() should be changed to not store a record
when Conf_MorePrivacy is enabled."
And I think it is "not wanted" :-)
- Commit:
95f0e4033c97285e82113f1bde97a11875767153
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: re-add mipsel/unknown/linux-gnu with gcc 4.1.2
- Commit:
54566b6b32441044660c8fca784ef7b09b933a7e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add preliminary ngIRCd protocol module for Anope 1.9
See contrib/Anope/README and doc/Services.txt for more details
and installation instructions!
- Commit:
409b2c86c89820a918ff7625be322caa603cdaf1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated doc/Platforms.txt: mipsel/unknown/linux-gnu
- Commit:
c041bb340cd69654cab68fe6e9cefd62b1c1c30a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update timestamp of ngircd(8) manual page
- Commit:
af60f04fef1bdad9ca1c8384f6479f4c33f1b923
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 18~rc2
- Commit:
2d35731399890316610e85d7a7aea41529b1fea9
- From:
- Alexander Barton <alex@barton.de>
- Date:
GnuTLS: use 1024 (DH_BITS_MIN) as minimum size of the DH prime
For outgoing connections, we use 2048 (DH_BITS) since commit 49b2d0e.
This patch enables ngIRCd to accept incoming connections from other servers
and clients that use at least 1024 bits (and no longer requires 2048 for
incoming connections, too).
Patch proposed by Florian Westphal.
- Commit:
7ae7ace579915dc023722f733f30e941d371cab3
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.8: document debugging options
- Commit:
5f400694cfee5bed6be0ac0a5c1638ed9b413c55
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.conf.5: strip "SSL" prefix from variables in [SSL] section
- Commit:
bd118c65fdb1428daf4775205b0f40918b3f22fb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix some wording, use spellchecker ;-)
- Commit:
29c49f643fdaa5db2604d129a2dc3814e3f54700
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/SSL.txt: adopt to new configuration file layout
- Commit:
b6185b1ac8dedfc3a0f261c82aaf1facde5b55ee
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 18~rc1
- Commit:
14afdaee087dd1243800dd0697785c47ccbf931e
- From:
- Alexander Barton <alex@barton.de>
- Date:
hash: Use UINT32 instead of uint32_t
- Commit:
949c8ea7c74c81c7a5387ff4334553ceb31ecb86
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog file for our upcoming next release
- Commit:
1765f0ae0b8932a4977c181c07d174f124143cef
- From:
- Florian Westphal <fw@strlen.de>
- Date:
hash: use more recent lookup3 algorithm instead of lookup2
Bob Jenkins published a newer hash function in May 2006, it has
better distribution.
See http://burtleburtle.net/bob/hash/doobs.html for lengthy
comparisions.
- Commit:
7f8d0ea5a3e927b8b6dd84eae63849ae17cdf5ae
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use srand()/rand() instead of srandom()/random(); seems to be more portable
- Commit:
d99edb7728e058a889e4734f8592f495effa5bc3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'MorePrivacy'
* MorePrivacy:
New configuration opion "MorePrivacy" to "censor" some user information
- Commit:
cb28c4ff03d775825b698fcff3fbe68b50a8f8a6
- From:
- Alexander Barton <alex@barton.de>
- Date:
sample-ngircd.conf: remove "SSL" prefix from SSL-related variables
- Commit:
b80e115f3947eae39aba39d1647f0a81f3d95fa3
- From:
- xor <xorboy@gmail.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
New configuration opion "MorePrivacy" to "censor" some user information
this patch contains:
* Fix for Conf_CloakUserToNick to make it conceal user details
* Adds MorePrivacy-feature
MorePrivacy censors some user information from being reported by the
server. Signon time and idle time is censored. Part and quit messages
are made to look the same. WHOWAS requests are silently dropped. All
of this is useful if one wish to conceal users that access the ngircd
servers from TOR or I2P.
- Commit:
269310f04b7624675f0e609a18c645474d9e5c6f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'ScrubCTCP'
* ScrubCTCP:
Add documentation for "ScrubCTCP" configuration option
New option to scrub incoming CTCP commands
- Commit:
6aad5a6706f2487019ff92da01509abda1d09b33
- From:
- Alexander Barton <alex@barton.de>
- Date:
INSTALL: document changed location of configuration variables
- Commit:
3282c1325e491f2fbc7ee388c557f40e1f9eaed6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'newconfig'
* newconfig:
sample-ngircd.conf: "SyslogFacility" should be commented out
Move SSL-related configuration variables to new [SSL] section
CheckFileReadable(): only check when a filename is given ...
PAM: make clear which "Password" config option is ignored
Really remove [Features] in our manual pages
INSTALL: document changed location of configuration variables
Update sample config file and manual page for new config structure
Testsuite: update configuration files for new config file format
Display configuration errors more prominent on "--configtest"
conf.c: code cleanup
Check for redability of SSL-related files like for MOTD file
Restructure ngIRCd configuration, introduce [Limits] and [Options]
- Commit:
5410d96748bbc93fa9479ddaad0fffc51d816f92
- From:
- xor <xorboy@gmail.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Add documentation for "ScrubCTCP" configuration option
- Commit:
eba14d937d7d8980a1d178ca0066c577bf66c806
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update sample config file and manual page for new config structure
- Commit:
3d0ce77f12117df9e12d364c725c3c54332901bd
- From:
- Alexander Barton <alex@barton.de>
- Date:
sample-ngircd.conf: "SyslogFacility" should be commented out
- Commit:
f087c68a99951d12ba91c5f6e1e0e548c5a5d912
- From:
- xor <xorboy@gmail.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
New option to scrub incoming CTCP commands
This patch makes it possible to scrub incomming CTCP commands from
other servers and clients alike. The ngircd oper can enable it from
the config file, by adding "ScrubCTCP = yes" under [OPTIONS]. It is
default off.
CTCP can be used to profile IRC users (get user clients name and
version, and also their IP addresses). This is not something we like
to happen when user pseudonymity/secrecy is important.
The server silently drops incomming CTCP requests from both other
servers and from users. The server that scrubs CTCP will not forward
the CTCP requests to other servers in the network either, which can
spell trouble if not every oper knows about the CTCP-scrubbing.
Scrubbing CTCP commands also means that it is not possible to send
files between users.
There is one exception to the CTCP scrubbing performed: ACTION ("/me
commands") requests are not scrubbed. ACTION is not dangerous to users
(unless they use OTR, which does not encrypt CTCP requests) and most
users would be confused if they were just dropped.
A CTCP request looks like this:
ctcp_char, COMMAND, arg0, arg1, arg2, .. argN, ctcp_char
ctcp_char is 0x01. (just like bold is 0x02 and color is 0x03.)
They are sent as part of a message and can be delivered to channels
and users alike.
- Commit:
c438c227b554684f4fc92c1548f42731469696c7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Testsuite: update configuration files for new config file format
- Commit:
b1786f309ecc29216a8d0b919cd514c8f69f24bf
- From:
- Alexander Barton <alex@barton.de>
- Date:
New documentation: "how to contribute"
- Commit:
946d838de4b6aee588e1136dcea018259a17e778
- From:
- Alexander Barton <alex@barton.de>
- Date:
Move SSL-related configuration variables to new [SSL] section
- Commit:
d41f4d6d20797c9dfdde272b8689f4cc7622fe38
- From:
- Alexander Barton <alex@barton.de>
- Date:
Display configuration errors more prominent on "--configtest"
- Commit:
42b32f8a2adcbe0d7b011083cc0549ae89139449
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conn: fix error handling when connecting to server
The io_event_create error handling seems to miss a 'return'
statement.
Fix this by moving io_event_create() call around so we do not
need the Conn_Close/Init calls in the error case.
- Commit:
a085444035016061ca71d43f077d715138708f4e
- From:
- Alexander Barton <alex@barton.de>
- Date:
CheckFileReadable(): only check when a filename is given ...
- Commit:
391cf4e2a11a1ca3969cb01db062037a9cd8caf3
- From:
- Alexander Barton <alex@barton.de>
- Date:
conf.c: code cleanup
- Commit:
49b2d0ec98d001fbc8eedd5a183d66974f70fd52
- From:
- Florian Westphal <fw@strlen.de>
- Date:
ssl: gnutls: bump dh bitsize to 2048
problem is that some clients refuse to connect to severs that only offer
1024. For interoperability it would be best to just use 4096, but that
takes minutes, even on current hardware.
- Commit:
449ad1eeea20b08d2fe049725f71e98e105ec5f4
- From:
- Alexander Barton <alex@barton.de>
- Date:
PAM: make clear which "Password" config option is ignored
- Commit:
7ef6cb4584c8604b73cbc82d07162757217dc08c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Check for redability of SSL-related files like for MOTD file
Remove functions ssl_print_configvar() and ConfSSL_Puts(), introduce
new function CheckFileReadable().
- Commit:
dd7d64f577633d68a11b6dc0e97ec00df0645343
- From:
- Alexander Barton <alex@barton.de>
- Date:
Mac OS X: split up make targets
New targets are: "have-packagemaker", "osxpkg-dest"
- Commit:
9dfde13f0cd6f960565ea2da5734e5b91b497e7a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Really remove [Features] in our manual pages
- Commit:
e7256bb8acc5f6cd221f5cffb463ca7463de8d92
- From:
- Alexander Barton <alex@barton.de>
- Date:
Restructure ngIRCd configuration, introduce [Limits] and [Options]
The intention of this restructuring is to make the [Global] section much
cleaner, so that it only contains variables that most installations must
adjust to the local requirements.
All the optional variables are moved to [Limits], for configurable limits
and timers of ngIRCd, and [Options], for optional features.
The old variables in the [Global] section are deprecated now, but still
recognized.
- Commit:
605b6a67bc7f41432d25ab646c232e347fd7a33f
- From:
- Florian Westphal <fw@strlen.de>
- Date:
fix clang warning about dead stores
clang 'scan-build':
Value stored to 'r' is never read
Value stored to 'fd' is never read
- Commit:
10c7a156876f75ab5e21385d2775143dceefe2e9
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/platformtest.sh: fix gcc version detection
Now the version of GNU C is detected correctly on SuSE Linux, too ...
- Commit:
05748aa5eeaf75438a0bb238967667605fe4d52e
- From:
- Florian Westphal <fw@strlen.de>
- Date:
parse: fix logical expression testing for non RFC1459 links
parse.c:284: warning: suggest parentheses around operand of '!' or
change '&' to '&&' or '!' to '~'
The expression looks dubious, this should probably be
an if-not-set, then... test.
- Commit:
0bb892bb5fe1f0d9d783808d211c039e11e12f3b
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conn: avoid needlesly scary 'buffer overflow' messages
When the write buffer space grows too large, ngircd has to disconnect
the client to avoid wasting too much memory.
ngircd logs this with a scary 'write buffer overflow' message.
Change this to a more descriptive wording.
- Commit:
c26ca7773bfc92ca41344a0994bee45ec917b261
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only require server prefixes on non RFC1459 links
Not all servers (and services!) using the RFC1459 protocol style send
prefixes on all commands; so don't require them to do so.
This relaxes the requirements introduced by commit 15775e679.
- Commit:
1cb2f5739d867502c45cad1c8edfa4c5dcd47933
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'master' of git://arthur.barton.de/ngircd-alex
* 'master' of git://arthur.barton.de/ngircd-alex:
Do reverse lookups using the AF of the incoming connection
resolve: fix reverse lookups of client connections with ConnectIPv6=no
- Commit:
160f5725a6646d432f70fe8b677ffdbcbdeb02ce
- From:
- Alexander Barton <alex@barton.de>
- Date:
Do reverse lookups using the AF of the incoming connection
This fixes errors like this one:
Address mismatch: 2001:1234:abcd:1::1 != 192.168.1.1
- Commit:
66315cab9aaf6f9c2acf9fae86f577dc8a30da23
- From:
- Alexander Barton <alex@barton.de>
- Date:
Mac OS X: install on root volume only, and set correct permissions
Update Mac OS X Installer.app description bundle, so that the ngIRCd
package can only be installed on the root volume ("/"); and make sure
that all installed files and directories have correct ownership and
permissions.
- Commit:
e4e1595bffdb6c43cd163ae576ee9715b859e494
- From:
- Florian Westphal <fw@strlen.de>
- Date:
resolve: fix reverse lookups of client connections with ConnectIPv6=no
We re-use the same helper function for both forward lookups
(when we want to connect to a peer server) and for validation of reverse
loopups (where we make a lookup on the hostname returned
by a reverse lookup on the IP address that connected).
Problem:
When ConnectIPv6=no, the forward lookup helper sets the adderss family
to AF_INET, and, if out client connected via ipv6, we fail to validate
the result.
Thus move the ConnectIPvX check out of the helper.
- Commit:
67a9d994e33e3adbb32019a199678e84537a040c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Mac OS X: update installer texts and add logo.
- Commit:
1cd8d7f3867c5548ed47626c232fa5dcef411469
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen'ify conf.c
- Commit:
9a102ca96b7d2cbecdbe1a7fcec1444cad22d50b
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Config_Error_Section(); and code cleanup
- Commit:
e70e81460b99d6b00cb6d13d7ce7537dcd4965f8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add some type casts to random() and srandom() functions
This fixes two gcc warnings (on Mac OS X):
"warning: implicit conversion shortens 64-bit value into a 32-bit value"
- Commit:
5acb90fafc9dea012967751fb6a5c7847da1820a
- From:
- Florian Westphal <fw@strlen.de>
- Date:
ngircd: improve rng initialisation
we do not need this for cryptographic purposes, but we can do better
than plain srandom(getpid()).
Also, keep in mind that rng state is inherited across fork(), so re-init
it in the child.
- Commit:
d61fbfc6e3a0a85ced036d8c1fa161fab0d9ba3d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'AuthPing'
* AuthPing:
Add documentation for "RequireAuthPing" configuration option
New configuration option "RequireAuthPing": PING-PONG on login
- Commit:
cf7e3b1c0201ec298acb43e52dc1f05abcb8c80d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'NoticeAuth'
* NoticeAuth:
Add documentation for "NoticeAuth" configuration option
Configuration: move "NoticeAuth" to GLOBAL section
New configuration option "NoticeAuth": send NOTICE AUTH on connect
- Commit:
fc0b0261496d2251e9917da96d5741da771f4bc1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add documentation for "RequireAuthPing" configuration option
- Commit:
1b5d1064deb4a4e382be1132e2ef058a8dc415f6
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.conf.5: Add variable type to "CloakHost" and "CloakUserToNick"
- Commit:
680db6755bdd7904a5aaae8290e074cb008425b5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add documentation for "NoticeAuth" configuration option
- Commit:
162433398e320c45f3c8a523814518aa6b78372e
- From:
- Alexander Barton <alex@barton.de>
- Date:
New configuration option "RequireAuthPing": PING-PONG on login
When enabled, this configuration option lets ngIRCd send a PING with an
numeric "token" to clients logging in; and it will not become registered
in the network until the client responds with the correct PONG.
This is used by QuakeNet for example (ircu/snircd), and looks like this:
NICK nick
:irc.example.net PING :1858979527
USER user . . :real name
PONG 1858979527
:irc.example.net 001 nick :Welcome to the Internet Relay Network ...
- Commit:
5b2512c2156443dbadec4ad66457d43dee87291e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: don't list sample-ngircd.conf, use sample-ngircd.conf.tmpl
- Commit:
f99d33ddd93b41eca3fd113ba5308cffdba58142
- From:
- Alexander Barton <alex@barton.de>
- Date:
Configuration: move "NoticeAuth" to GLOBAL section
- Commit:
f1a4a4dc882e28affb0f2f3b940e5762df230ccd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Warn when unknown variables are found in [Features] section
- Commit:
d29e389779dfeda52cb42e8b8f2cf36c4bd9cd56
- From:
- Alexander Barton <alex@barton.de>
- Date:
New configuration option "NoticeAuth": send NOTICE AUTH on connect
When enabling "NoticeAuth" in the [Features] section, ngircd will send
"NOTICE AUTH" messages on client connect like e.g. snircd (QuakeNet) does.
- Commit:
6cb90f399d21f0bdbf3744423c923402f3419b99
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update doc/GIT.txt
- Commit:
d587926eb091929faa4f57c8e79d181ce7946357
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update INSTALL text
- Commit:
770a58ac6df8099cfa8e7cf3b105ef495f2cf437
- From:
- Alexander Barton <alex@barton.de>
- Date:
Generate WALLOPS message on SQUIT from IRC operator
So SQUIT now behaves like CONNECT and DISCONNECT commands, when called
by an IRC operator (and not received from an other server).
- Commit:
15775e67900d914cc174aa80e615fa24d65d115c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Commands received from other servers must have prefixes
Make sure that all commands received from other servers do have
valid prefixes.
Only exceptions are PING and ERROR commands that can occure without
prefixes when generated by the remote peer itself.
- Commit:
62f705f97e580fe61520793b3387081915f240ba
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow servers to send more commands in the first 10 secods
This helps to speed up server login and network synchronisation.
- Commit:
a39e2f22c928a8bd8d16c2e008a62800f6412fe6
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_CHANINFO(): Code cleanup
- Commit:
dcb1951efdc21fc175817bca67aed01bee9749b4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Handle_GLOBAL(): don't use multi-line strings
They aren't supported by elder C compilers ...
- Commit:
fa8b83e69b0d7edcfdcf8f0a4496c79f9c5ec161
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branches 'CloakUserHost', 'QuitOnHTTP' and 'bug72-WHOIS-List'
* CloakUserHost:
Add a note not to use a percent sign ("%") in CloakHost variable
Rename ClientHost to CloakHost, and ClientUserNick to CloakUserToNick
Don't use "the.net" in sample-ngircd.conf, use "example.net"
ngircd.conf.5: document "ClientHost" and "ClientUserNick"
Move "ClientHost" and "ClientUserNick" to end of [Global] section
ClientUserNick setting
ClientHost setting
* QuitOnHTTP:
Only "handle" HTTP commands on unregistered connections
Don't use IRC_QUIT_HTTP() if STRICT_RFC is #define'd
IRC_QUIT_HTTP(): enhance error message
Move IRC_QUIT_HTTP() below IRC_QUIT()
quit on HTTP commands: GET & POST
* bug72-WHOIS-List:
Add "whois-test" to testsuite and distribution archive
Add support for up to 3 targets in WHOIS queries.
- Commit:
acd7a5d6d41ca8017d3c2217b0c0bde129b4e041
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add a note not to use a percent sign ("%") in CloakHost variable
The percent sign is reserved for future extensions, for example to
expand some variables like %H to a hash value of the real host name ...
Idea by kaFux in #ngircd.
- Commit:
d1f604ab89f34412cbe44aaf323b450b800a49d9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add "whois-test" to testsuite and distribution archive
Test script proposed by Dana Dahlstrom, 2008-02-17.
See <https://arthur.barton.de/bugzilla/show_bug.cgi?id=72> ...
- Commit:
b19f7d73cb3759630072d28d1db5219dc656348b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only "handle" HTTP commands on unregistered connections
- Commit:
ae7470ceb546d87cbd366d508641276313ec9130
- From:
- Alexander Barton <alex@barton.de>
- Date:
Rename ClientHost to CloakHost, and ClientUserNick to CloakUserToNick
- Commit:
ff2a425ab899a782145186d4e9a829ea9950fb47
- From:
- Florian Westphal <fw@strlen.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Add support for up to 3 targets in WHOIS queries.
also allow up to one wildcard query from local hosts.
Follows ircd 2.10 implementation rather than RFC 2812.
At most 10 entries are returned per wildcard expansion.
WHOIS test cases by Dana Dahlstrom.
- Commit:
38747b40dcadd320220bb050974d5e5860a8ecbb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't use IRC_QUIT_HTTP() if STRICT_RFC is #define'd
- Commit:
f419a369bff178c84525f600180878c2ca61110e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen: Remove header.inc.html and ngircd-doc.css from distribution
- Commit:
fc55c945dbec745ff7b82652dd5f5b3b69096c82
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't use "the.net" in sample-ngircd.conf, use "example.net"
"the.net" is an existing domain of the Texas Higher Education Network ...
See RFC 2606.
- Commit:
dbb66695c938a7c13e0d399937f191456c7b1119
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_QUIT_HTTP(): enhance error message
- Commit:
152b529abf6caa60f4fbd705b39bd19bbb9deae9
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.conf.5: describe types of variables
Describe the possible types of variables in ngircd.conf:
booleans, text strings, integer numbers.
And add type information to each variable description.
- Commit:
77cff9e47c33d1b1bc22d1fba09607e347e55e8a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Move IRC_QUIT_HTTP() below IRC_QUIT()
- Commit:
c0d13c47135adb32be36226b64367447330b3d43
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.conf.5: document "ClientHost" and "ClientUserNick"
- Commit:
25dd193e9b49b38db39cf549f94df4ba11812fe9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Move "ClientHost" and "ClientUserNick" to end of [Global] section
- Commit:
33e8c2480649193799d88d003b9257873aaf2b31
- From:
- Gabor Adam Toth <tg@tgbit.net>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
quit on HTTP commands: GET & POST
- Commit:
5417a72536954927371d597e9a4e0453e70620e3
- From:
- Florian Westphal <fw@strlen.de>
- Date:
channel: always reject zero-length channel key
previously, any client could join in this configuration:
[Channel]
Name = #test
Modes = tnk
KeyFile = /tmp/foobar
fix this by checking for zero-length key before comparing
key to channel key.
- Commit:
71d8c371711f70e2d4b7ef9c908443a018cd6701
- From:
- Gabor Adam Toth <tg@tgbit.net>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
ClientUserNick setting
- Commit:
94e4562c1c732f7bf67bed2f77cc7b3b0aeaeafe
- From:
- Alexander Barton <alex@barton.de>
- Date:
PAM-Auth child: log if result can't be reported
This fixes the followin GCC warning on modern Linux systems as well:
irc-login.c: In function ‘Hello_User’:
irc-login.c:876: warning: ignoring return value of ‘write’,
declared with attribute warn_unused_result
- Commit:
52f59149adf4dbbb7c917225a7c66ac4aa053700
- From:
- Gabor Adam Toth <tg@tgbit.net>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
ClientHost setting
- Commit:
6caa947f989b692cf8bf3568cffa03b5c21374e9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Protocol.txt: Update description of CHANINFO command
- Commit:
e49109e36deedc50188124126b66bd3ae40e451f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add cscope.out to .gitignore file
- Commit:
adfa968f995c9f65130b96efef2cf389c1017efe
- From:
- Alexander Barton <alex@barton.de>
- Date:
Correctly detect errors when handling "MODE x" commands
- Commit:
07f241ff6d3afee88d6c6b3e2ed1e195c0367c91
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance documentation for the WEBIRC command
- Commit:
53fecf5a2b3e0f396b08b2a00a73eb73c46e1853
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen'ify irc-login.c
- Commit:
8a674c3263a2b4e0dfbac40acfd9e3320bbc5321
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen'ify irc-channel.c
- Commit:
1f5fbd5992d447c5814171ddb907f4268566a1f5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen'ify conn.c
- Commit:
5858dc3886e492f96a42b61decdda3c1acd920a4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen'ify proc.h
- Commit:
af6ac0fa41a10889cdaf9898d995980bebcefec1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen'ify parse.h
- Commit:
f3ec90f3f0e3e3b3ccfddda209ac94ba5ad92e42
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen'ify and update comments in ngircd.{c|h}
- Commit:
c6a7de869cce97c88d813921304a2c5498273e1e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen'ify and update comments in match.c
- Commit:
4ef23df8137557cee0e657d5b05fa09c4c61c6ca
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update and translate comments in hash.c
- Commit:
5555b6cc8612e08d21750af0cd9dadb1196ff115
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen'ify conf.h
- Commit:
72a982ae7e436b98102699b4f090d992d0600b44
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add missong Doxygen @file tags to ngircd.h and irc-op.h
- Commit:
2a7dd06ebd9cc72d45a6a4becdbef5213d7b7800
- From:
- Alexander Barton <alex@barton.de>
- Date:
Code cleanup: mostly removing empty lines
- Commit:
ebfcdb088be271adfe17303163534956715b85e9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen: define ZLIB, PAM, and ZEROCONF
- Commit:
03628dbeaf40a9de34b3eb6d5bf6dd34eed8248c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add Doxygen @file documentation to each source and header file
- Commit:
408cefd15d4540d340283cdfbfad62a8e432cf8e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated Doxygen configuration file
Removed unnecessary variables DETAILS_AT_TOP, EXTRACT_PRIVATE,
EXTRACT_LOCAL_CLASSES, added SHOW_DIRECTORIES=YES, STRIP_CODE_COMMENTS=NO,
REFERENCED_BY_RELATION=YES, REFERENCES_RELATION=YES,
HTML_DYNAMIC_SECTIONS=YES and GENERATE_DOCSET=NO; updated PREDEFINED.
- Commit:
f59f773cfeffeb945c3924f27b4122c9170af31d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen: remove own header and CSS file
Use the ones of Doxygen instead, this has the advantage that we
benefit of new functionality of Doxygen without having to make changes.
- Commit:
f732c7117e5a4b74b47c4594470506dcb2773760
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make write buffers bigger, but flush early
This patch
- makes the server write buffer bigger: 64k,
- makes the regular write buffer bigger: 32k,
- tries to flush the write buffer starting at 4K.
Before this patch, a client got disconnected if the buffer flushing at 4k
failed, now regular clients can store up to 32k and servers up 64k even
if flushing is not possible at the moment (e.g. on slow links).
- Commit:
477224be5c0d5e117d26d1181647bf9697c12c79
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance logging on "write buffer overflow"
- Commit:
493ccd57f41bea8c9bca5311ca597b37fadc9e7f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up Validate_Prefix(); don't send punctuation in ERROR commands
- Commit:
8700f4d93cb50ebe7639e7a32e93b94c36ed3fae
- From:
- Alexander Barton <alex@barton.de>
- Date:
Better check for invalid IRC+ PASS command
Don't do a NULL-pointer dereference when a remote server using the
IRC+ protocol sends an invalid PASS command without the required
<serverversion> parameter ...
- Commit:
765dc320f11f117d63e5285a903dfe8af4a48795
- From:
- Alexander Barton <alex@barton.de>
- Date:
Read_Request(): don't access possibly free'd CLIENT structure
Handle_Buffer() can shut down connections and remove clients, so after
calling it, we have to make sure that our CLIENT pointer is still valid.
- Commit:
9fff9f6a2b1f113513b95eae3eaa3c55052f8b91
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd-test2.conf: really disable Ident and PAM ...
- Commit:
b856a580511a0e25be375bd83efd480c61e62a80
- From:
- Alexander Barton <alex@barton.de>
- Date:
Log "Can't read MOTD file" as "configuration error"
Now this error message is displayed in the console without debug prefix
when running the configuration test (--configtest).
- Commit:
8927700b221ba3cffbde50005319868efbdb1f3e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow "Port = 0" in [Server] blocks
Port number 0 marks remote servers that try to connect to this
daemon, but where this daemon never tries to establis a connection
on its own: only incoming connections are allowed.
- Commit:
58a4dae56dd34e41b32dd3e5cede03a7ea5c7bb5
- From:
- Alexander Barton <alex@barton.de>
- Date:
conf: fix 'Value of "..." is not a number!' for negative values
Don't use isdigit() function any more, because it only checks the
first character of the variable value and because it doesn't know
about the minus sign which is required e.g. for "Group = -1".
- Commit:
914d6a26d85ecaf7e0962c40392769cf4764e987
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't read MOTD file twice
The MOTD file is read in Read_Config(), so don't read it when handling
the "MotdFile" configuration variable. Instead make sure that it is
initialized properly when (re-)reading the configuration.
- Commit:
c98e794b38684d39d51a964e5b1670908be01691
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add [Features] section to ngircd-test{1|2}.conf
Fix commit 5a34bb203a:
It is not enough to strip the "No" prefix from "Ident" and "PAM",
but we have to introduce the new [Features] section to fix all
warning messages of ngIRCd.
Variables "Ident" and "PAM" in [Global] are completely wrong :-(
- Commit:
a990bd72ece1569ec24b598cfa7ac83d25a3cb8f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enable WHOIS command to return information about services
- Commit:
5a34bb203ae61c22edbf64741cf9222a04eeead9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update testsuite configuration: strip No... prefixes
- Commit:
d3ef2239e1d0f3477a4b7f0f7a31ef3bb36ef1e7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add connection/socket information to some log messages
- Commit:
a57748e1a14dc6fa51291d31dae92c9a5abdd7c0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement channel mode 'O': "IRC operators only"
This channel mode is used on DALnet (bahamut), for example.
- Commit:
6600ce3445c5363c75e743a0eec173cc73d79434
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove ZeroConf variable from sample-ngircd.conf
- Commit:
4a6d44dce2436103dafaad199597ada354d9b794
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove support for ZeroConf/Bonjour/Rendezvous service registration
- Commit:
5ed7a4ea5755954dc6e25349125963cff7a4355c
- From:
- Alexander Barton <alex@barton.de>
- Date:
TOPIC command: test for channel admin rights correctly
This enables other servers, services and IRC operators to change
channel topics, even when the client is not joined to this channel.
Now the handler for TOPIC behaves like the one for MODE.
- Commit:
ba32d594fd7a93305cd01a14978971d948392510
- From:
- Alexander Barton <alex@barton.de>
- Date:
Channel_CheckAdminRights(): test if client can admin a channel
This generic function tests if a client is allowed to do administrative
tasks to a specific channel:
- servers and services are always truested ("allowed everything"),
- channel operators are allowed,
- IRC operarors are allowed if OperCanUseMode is set in the config.
- Commit:
3460c87c589b0bfd735dbdd761e9a508a2d9a3c7
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conf: fix 'unknown section' FEATURES parse error
pointed out by Alex:
ngircd.conf, line 105: Unknown section "[Features]"!
- Commit:
02592f912e9f4e43f4501ff4f15953d21b77d8b2
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_TOPIC(): code cleanup
- Commit:
1964bda252ceb499f4a1f76f3e06d996acc2c821
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conf: move 'run-time-feature-disable' options to new FEATURE section
- Commit:
23ce0393b23779f19d6d56103c46f9d929fdef53
- From:
- Florian Westphal <fw@strlen.de>
- Date:
array: remove check for allocated == 0
allocated can only be zero if ->mem is NULL.
- Commit:
994a003aba9aac4a8adca7f4f4fec0889b0f2bb1
- From:
- Florian Westphal <fw@strlen.de>
- Date:
array: remove alignment of requested size
libc should know better than us.
Also, this helps debugging with tools like valgrind:
When you allocate an array of size x, and then erronoulsy
use x+1 valgrind cannot detect the bug because due to ALIGN_()
made by array.c we might have allocated more than size x...
- Commit:
eda2556e0919e48aa8fb7556383aa81a089b4135
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conf: Warn if PAM=true when ngircd was built without PAM support
- Commit:
9402bcaa73a9365f861108f1b53eec1c09837eef
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conf: add missing static qualifier
internal helper, so it should be static.
also, add UNUSED to 'Line'.
- Commit:
6d11fb149707194e986b0d64af3d44f21e158fcc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update copyright notices for 2010 :)
And update the NEWS and ChangeLog file as well.
- Commit:
28bbd7e27a44ff3c03f86aa6f17a578ad15ee498
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make NoZeroConf option work with Howl
- Commit:
1dca082fc6f0595d6bde431bf50132445340fb7f
- From:
- Florian Westphal <fw@strlen.de>
- Date:
config: deprecate NoXX-Options
ngircd unfortunately uses several options using double-negation, e.g.
NoIdent = No, NoPam = No, etc.
This renames all options by dropping the "No" prefix, e.g.
"NoIdent = no" becomes "Ident = yes".
The old options will continue to work, but will cause a warning
message.
Also update man pages and default config.
To prevent silly
'Ident = yes' from appearing in --configtest output in the
'ident support not compiled in and Ident Option not used' case,
make default value depend on feature availability.
If feature is available, enable by default, otherwise disable.
We might consider moving these options to a new
[Feature]
section, or something like that, because none of these options are
essential.
Another possible improvement:
'Ident = yes' option in ngircd.conf causes a warning if ngircd was
built without ident support.
This does not happen with e.g. zeroconf....
- Commit:
4a5dfcc3ace54de033f16503065831ed62433b2d
- From:
- Florian Westphal <fw@strlen.de>
- Date:
channel: fix confusing "adding to invite list" debug output
adding entries to ban list produced 'invite list' debug output...
- Commit:
f37e495a2badf94fff2eaff24ed730dbceef94e0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Command throttling: introduce MAX_COMMANDS_SERVICE
New MAX_COMMANDS_SERVICE (currently set to MAX_COMMANDS_SERVER[10]),
so that services are handled like servers (and not regular users).
- Commit:
21cbf37db5647159eced6ed1275e0e2e6980155c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't throttle services and servers beeing registered
- Commit:
4188a82e7674a46903c87e257ebbeeb013dc8146
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: correctly sort files
- Commit:
36d4f6c6015a0c93a2785e135d43dc8f23797b38
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't assert() when serching a client for an invalid server token
This is only relevant when a trusted server on a server-server link
sends invalid commands.
- Commit:
186b14f332810dd8e828c4f07ec89efcc298d4b0
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 17.1
- Commit:
8ea1c5bb82e224326d1a73c462c74dfcb5badef6
- From:
- Alexander Barton <alex@barton.de>
- Date:
--configtest: remember if MOTD is configured by file or phrase
Configuration variables "MotdFile" and "MotdPhrase" are mutually
exclusive; so don't display content in both of them when running
"ngircd --configtest": instead remember which one is beeing used.
- Commit:
79ca5fe04d0081468aa09cf0a7caca45a45b9864
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance log messages when establishing server links a little bit
- Commit:
60bb40d67a8d7c1e38a5d8ca2b7968cf08706008
- From:
- Alexander Barton <alex@barton.de>
- Date:
Reset ID of outgoing server link on DNS error correctly
Not resetting the ID prevents the daemon from trying to re-establish
outgoing server links when the DNS resolver failed to resole a hostname.
- Commit:
5da98ec389de2a6d671d270abba86c395e593537
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't log critical (or worse) messages to stderr
stderr isn't redirected to the "error file" any more, so there is
no point in trying to log to it ...
- Commit:
0305f75456fde86ff9d0179146d2ea821cff1457
- From:
- Alexander Barton <alex@barton.de>
- Date:
Manual page ngircd(8): add SIGNALS section
- Commit:
65bcff35ffae56878a8c14a6aee0018115d660b3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Manual pages: update and simplyfy AUTHORS section
- Commit:
790fa89e67afbea7025479aad0bd5ef9d384d909
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove "error file" when compiled with debug code enabled
The information written to the "error file" (/tmp/ngircd-<PID>.err) when
ngIRCd is compiled with debug code enabled isn't that usefule, so don't
create this file at all.
- Commit:
ce448e90778f634a3349e3a7dad1d98019f2d5b5
- From:
- Alexander Barton <alex@barton.de>
- Date:
README: Updated list of implemented commands
- Commit:
dd580d3ea73445f17010b6fc0864b6cf132cce55
- From:
- Alexander Barton <alex@barton.de>
- Date:
add doc/README-Interix.txt and doc/Bopm.txt to distribution tarball
- Commit:
de6f08cc040240fdec662f18fb51d95859c4ab5a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'numeric-329'
* numeric-329:
New numeric 329: get channel creation time on "MODE #chan" commands
Save channel creation time; new function Channel_CreationTime()
- Commit:
678d5411e23b3361ef32617f520d051109de8eef
- From:
- Florian Westphal <fw@strlen.de>
- Date:
add doc/PAM.txt to distribution tarball
doc/PAM.txt was not included in the release tarball.
reported by Christoph Biedl.
- Commit:
7321be2ccd861f1a260e16bf8ddbd32490fbc340
- From:
- Alexander Barton <alex@barton.de>
- Date:
New numeric 329: get channel creation time on "MODE #chan" commands
- Commit:
9bc5d565bbbd1131aaa7608076598167036f261b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Save channel creation time; new function Channel_CreationTime()
- Commit:
0d19f2b43a0c5cc5c2c87e949bd3d32efcd2f935
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 17
- Commit:
5a14942b0a01bbb144589d6d7ba33184d924f495
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated doc/Platforms.txt for upcoming release 17
- Commit:
2bca14b52e69d3ca3dd5591fd11300860ccfd050
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/platformtest.sh: make command name quoting consistent
- Commit:
29b41a4eccf024348631830d7fa087f88556f81a
- From:
- Alexander Barton <alex@barton.de>
- Date:
contrib/ngircd-redhat.init: updated email address of Naoya Nakazawa
- Commit:
30b6e72b96e8092f3a0884b1a02eb403b8a4b12c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix up generation and distribution of sample-ngircd.conf
- Add generated sample-ngircd.conf to new .gitignore file,
- refactor Makefile.am to generate sample-ngircd.conf on "make all",
to clean it up on "make clean", and to install it to the correct place.
- Make sure path names in sample-ngircd.conf are separated by "/".
- Commit:
4a197638688d4e39d57f201ac735a38c9fc5a260
- From:
- Florian Westphal <fw@strlen.de>
- Date:
doc: change path names in sample-ngircd.conf depending on sysconfdir
- Commit:
bdcf3f0e246c5aa3072c4f82dd9cd0541f4e79aa
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd Release 17~rc3
- Commit:
d7ad956a06af2bde1cfcf2ed8194b6a84d69d968
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix connect attempts to further IP addresses of outgoing server links
If a hostname resolves to more than one IP address (round-robin DNS,
IPv4 and IPv6) and an attempt to connect to the first address fails,
ngIRCd should try to connect to the 2nd address, 3rd address etc.
But because of a wrong variable used in the call to New_Server(),
the wrong server structure has been used in further connection attemps
which possibly lead to connection attempts to already connected servers.
- Commit:
e2c92900300604c000af86008dad086527a04345
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: Install default /etc/pam.d/ngircd allowing all logins
This is required for backwards compatibility when installing the -full
or -full-dbg package variant: PAM is enabled now but no configuration
present, so all login attempts would be denied ...
Creating /etc/pam.d/ngircd including "auth required pam_permit.so"
restores the old behaviour of allowing all connections.
- Commit:
5edde9a760e1e46eeeddd6b228e3a2ea4ca971db
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: update standards to 3.9.1; add libpam0g-dev dependency
- Commit:
864f3df575eafc91f4f97ef48b34c27afd08999e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make contrib/platformtest.sh more portable
- Commit:
ffccfb09753c6ff7fd62417a0141ba95f105785f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Mac OS X package ("make osxpkg"): generate PAM configuration
- Commit:
76f40bdb988440a73431eb14a27f30aeaa18ebe5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode builds ("make xcode"): disable pam_fail_delay()
disable pam_fail_delay() only is available starting with Mac
OS X 10.6; but we use the 10.5 SDK for campatibility, so don't use
this function at all when building using Xcode.
- Commit:
3dd91923e442cef439744636f6abd80cde85792f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: update project file, use 10.5.x SDK
This is required for universal 32 bit and 64 bit builds: now code
for ppc, i386, and x86_64 is generated (which requires 10.5 or newer).
- Commit:
a4de27deee264714099c652cb87b3b8519cbb739
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode builds ("make xcode"): detect version number correctly
- Commit:
8449e082455fc69c5a062c4cfeb1b1ad9aca437c
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 17~rc2
- Commit:
05d1df97c300485d24dc31b4cf7f280fe1d693f4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated contrib/platformtest.sh (new version scheme)
- handle version numbers generated by "git describe"
- detect gcc compiler version correctly when "-std=xxx" is used
- Commit:
01c39ba0015f715b2082f5ed54dc769d09c09bd0
- From:
- Alexander Barton <alex@barton.de>
- Date:
New doc/HowToRelease.txt file describing the release process
- Commit:
0c0cac641d07a92aea72ccc165fb0cbe3f834464
- From:
- Alexander Barton <alex@barton.de>
- Date:
ZeroConf: include header files missing since commit a988bbc86a
- Commit:
8288878122468e47df8cc77dfafd5c558508bbec
- From:
- Alexander Barton <alex@barton.de>
- Date:
Generate ngIRCd version number from GIT tag
Now the ngIRCd release/version number is deduced from the "current"
annotated GIT tag; see "git describe --help" for details. This is the
same scheme the Linux kernel uses and gives much more details version
numbers for interim releases and inofficial source archives generated
using "make dist".
Please note: the version number is only updated it the autogen.sh
script is run; so after pulling in and pushing out new commits, you
should run ./autogen.sh!
- Commit:
596bc096b02ef94efe3d73bb747c6ab0368f63bf
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make sourcecode compatible with ansi2knr again
This allows to compile ngIRCd using a pre-ANSI K&R C compiler again:
all source files are automatically converted by the included ansi2knr
program (of GNU automake/autoconf) before compiling them with the
K&R C compiler, but a few coding standards must be met.
Tested on Apple A/UX 3.x.
Regression testing on Linux and Mac OS X.
- Commit:
5700329f8c7dda39610f5836d641f4cea6912197
- From:
- Alexander Barton <alex@barton.de>
- Date:
./configure: check if C compiler can compile ISO Standard C
This is required for enabling ansi2knr on systems that don't have an
ANSI C compiler installed (e.g. on A/UX with Apple standard C compiler).
- Commit:
3b7428087910a79cf7d332206470efb59182a22f
- From:
- Alexander Barton <alex@barton.de>
- Date:
./configure: check support for C prototypes again
- Commit:
f1267ca375b0b754bb466e6c95713566072d3345
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't use PARAMS() macro for function implementations
The PARAMS() macro is only needed for function prototypes;
don't use it for the actual implementations.
- Commit:
ccb175dce6dc257c9baf561e8a9f704f26e49f17
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added m68k/apple/aux3.0.1 (gcc 2.7.2) to doc/Platforms.txt
- Commit:
99e08eaced30fc80c91be9fdb8635409a4b93500
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only try to set FD_CLOEXEC if this flag is defined
A/UX 3.x doesn't implement this constant, for example.
- Commit:
5f2bc55d36810499a4533589acb45839f4721c84
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only use "__attribute__ ((unused))" if GCC >=2.8 is used
At least GCC 2.7.2 doesn't support this attribute.
- Commit:
1fa5b119950780b8ad2c052d737b8b8f89e0ef2d
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Makefile.am: don¹t set docdir, automake handles it already
And elder make(1) programs don¹t like "x ?= y" ...
- Commit:
d00a0f1e7c8b7e247f26a8fc265ca8217eaace8b
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 17~rc1
- Commit:
a988bbc86aed404b7bcfdbceafc030ea4bc5ecab
- From:
- Alexander Barton <alex@barton.de>
- Date:
New configuration option "NoZeroConf" to disable ZeroConf registration
If ngIRCd is compiled to register its services using ZeroConf (e.g. using
Howl, Avahi or on Mac OS X) this parameter can be used to disable service
registration at runtime.
- Commit:
4226db873fa01e0c50a48fc8c96605e5420f5732
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: only build current architecture in "Debug" target
- Commit:
f5790436710adcbe0fd399d4b5ba3a8603876413
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: added NetBSD 5.0.2
- Commit:
50cb321bb1006a97729096451bb4898b78e90582
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated doc/Platforms.txt
- Commit:
ade8902b88a525622a40dc3c2276e35a8dad29ac
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make sure sighandlers.h is listed in noinst_HEADERS
... because it must be included in the distribution archive :-)
- Commit:
3a826b774a10a069d2f18b1a07842acf8da8fc49
- From:
- Alexander Barton <alex@barton.de>
- Date:
const'ify ngt_SyslogFacilityName() function
This fixes the following gcc compiler warning:
tool.c: In function 'ngt_SyslogFacilityName':
tool.c:195: warning: return discards qualifiers from pointer target type
- Commit:
c51cc88eb08eb3aa3fd626347bd9c87f2ae7f9c1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian packages: build "-full" and "-full-dbg" with support for PAM
- Commit:
5e82a91d1337b78510bc62fe3c7e43f9c0b7d3d1
- From:
- Alexander Barton <alex@barton.de>
- Date:
New configuration option "SyslogFacility"
The new option "SyslogFacility" deines the syslog "facility" to which
ngIRCd should send log messages.
Possible values are system dependant, but most probably "auth", "daemon",
"user" and "local1" through "local7" are possible values; see syslog(3).
Default is "local5" for historical reasons.
- Commit:
4943bbb066bb49603743ae03846689d2f82441b6
- From:
- Alexander Barton <alex@barton.de>
- Date:
New functions ngt_SyslogFacilityName() and ngt_SyslogFacilityID()
These both functions translate syslog facility names to ID numbers
and vice versa. On systems that don't define the facilitynames[] array
in syslog.h, we try to build one ourself.
- Commit:
e2ba7e08b4a4ca73a74c10e7189b46f6d8dcfc75
- From:
- Alexander Barton <alex@barton.de>
- Date:
Explicitly cast return value of read(2) to "int"
This fixes the following gcc warning, emitted by Xcode:
src/ngircd/sighandlers.c: In function 'Signal_Callback':
src/ngircd/sighandlers.c:239: warning: implicit conversion shortens 64-bit value into a 32-bit value
- Commit:
b1a117cd98bad64ac56f06f854d4b00f488e44ea
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add sighandlers.{c|h} to Xcode project
And update static Mac OS X config.h used by the Xcode project.
- Commit:
4a770e8e2deaa90bd99edd8132de09f778158a87
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't call sigaction() if it is not available on the system
- Commit:
ba720fcbaeaacee700d7d23936cf481e6fcb83b1
- From:
- Florian Westphal <fw@strlen.de>
- Date:
Fix signalpipe file descriptor leak on RESTART
Signals_Init() must only be called once.
This does not affect any ngircd release version.
Earlier version of this patch moved the io and sighandler
initialization before the while() loop, but as Alexander
Barton noticed that broke all systems without builtin select
support in io.c...
- Commit:
b3cfbc3d28de9098be7cffc22ea9c5b98c36443f
- From:
- Alexander Barton <alex@barton.de>
- Date:
sighandlers.{c|h}: Code cleanup
- declare signals_catch[] array not between the function implementations.
- rename now local function NGIRCd_Rehash() to Rehash().
- remove empty and therefore not used "catch SIGHUP; break;".
- Commit:
74578890b71dc16aadaf299af875b45fc7fbe081
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make sighandlers.{c|h} compatible with ansi2knr
- Commit:
212311efc5ab9a0196d163e40f01d56cf1a6d237
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated ChangeLog to include signal handler changes
- Commit:
fe5c7cb22d1dad4840872c79933f4a9ddbdff15b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Bump version number to "17-dev"
- Commit:
cdae82413d20c802bbde11f994b8736df38e978b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update ChangeLog and NEWS: include SIGUSR1/SIGUSR2 changes
- Commit:
3600dc60fc54e4317b04ca5896515cf9913910c0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Output connection status when dumping the internal server state
- Commit:
cd954ee7e902743cd679b418edf1630225c512c4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Reformat "server state" debug messages a little bit
- Commit:
355828e64f6fa07eb96bc6b27eef964b529d8778
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enable the daemon to dump its internal state in debug-mode.
This patch allows ngIRCd to dump its internal state (connected clients,
actual configuration) when compiled with --enable-debug. The daemon
catches two more signals:
- SIGUSR1: toggle debug mode (on/off),
- SIGUSR2: dump internal state to console/syslog.
- Commit:
755f54b1501334d827b5c30c03b4551ebb5cbe0d
- From:
- Florian Westphal <fw@strlen.de>
- Date:
signalhandlers: add fallback to deprecated sysv API
- Commit:
ef3dbf96eb977c5296e092c6a48f8a3ca51598e2
- From:
- Florian Westphal <fw@strlen.de>
- Date:
remove NGIRCd_SignalRehash
now that the main signal handling is done from the dispatcher
loop we can call NGIRCD_Rehash() directly.
the /REHASH handler can queue the Rehash() function for
execution by sending a SIGHUP. It will be run when we
return back to the dispatch loop.
- Commit:
1fe17e246cba4ee2f4349196c544296790ab5d55
- From:
- Florian Westphal <fw@strlen.de>
- Date:
Add new 'delayed' signal handlers.
Allows to defer/queue signal processing for execution on the next
event dispatch call, i.e. we can perform any signal action in
normal, non-signal context.
Example uses:
- Reload everything on HUP without writing a global "SIGHUP_received"
variable
- Dump status of internal Lists on SIGUSR1, etc.
- Commit:
c135d0dded909e2e5780697c4066ad44a3f488c8
- From:
- Florian Westphal <fw@strlen.de>
- Date:
io: add io_cloexec to set close-on-exec flag.
- Commit:
1e281a8baa5dc0499ad8f0b75d5f366b498511f6
- From:
- Florian Westphal <fw@strlen.de>
- Date:
ng_ipaddr.h: include assert.h
We use assert() in this header, so we should include assert.h.
- Commit:
6349ec8bb33d74aa73f0ffa17c29d54119ab9d77
- From:
- Alexander Barton <alex@barton.de>
- Date:
Conn_SyncServerStruct(): test all connections; and work case insensitive
Fix synchronization of established connections and configured server
structures after a configuration update:
- Not only test servers that already have a connection, but also check
and update configured servers to which a new connection is beeing
established (SERVER_WAIT state).
- And do the server name comparision case-insensitive.
- Commit:
8d68fe3f867732cbec094cdf7240a46e631c2838
- From:
- Alexander Barton <alex@barton.de>
- Date:
Check_Servers(): skip servers already beeing connected
Let CheckServers() not only skip servers that already have a
connection, but also skip servers to which a new connection is
already beeing established (SERVER_WAIT state).
- Commit:
4f6c19712eace7f981902ddc90d9b8393b676ae5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Check_Servers(): Code cleanup
- Commit:
4833f9e5c8cdc9440fa86ed53ca50099b7139a18
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update ChangeLog and NEWS in preparation for the next release ...
- Commit:
90a186158be1c9bdfdb35d62381b89f718c65b93
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix linebreak in INSTALL text to fit in 80 columns
- Commit:
b52d5e2a78c669eccdee1291714f7bd420c9b74c
- From:
- Alexander Barton <alex@barton.de>
- Date:
configure: correctly indent IPv6 yes/no summary output
- Commit:
04e38f17ae671f84b93e06c6eefa9235dd71d6ce
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't reset My_Connections[Idx].lastping when reading data
This fixes PING-PONG lag calculation (which resulted in "0" before).
The "lastping" time is still reset it if a time shift backwards has
been detected to prevent the daemon from miscalculating ping timeouts.
- Commit:
32188d821b24198e4f6b5283fec1060b6700b66b
- From:
- Alexander Barton <alex@barton.de>
- Date:
write_whoreply(): respect hostname cloaking
- Commit:
6f4a348b753d8a4ddb5a2dc40578807d4722e0c6
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_USERHOST(): respect hostname cloaking
- Commit:
a51670005fde772c2b967bfb6a1166a05c1f5c33
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_USERHOST(): Code cleanup & some documentation
- Commit:
0263fa4c6623478d0ff6680b65bfcadd25f5f6df
- From:
- Alexander Barton <alex@barton.de>
- Date:
Send_Message(): respect hostname cloaking
- Commit:
31ea0f8ee963087728558e55298ff519c956d4f3
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_WriteStrClientPrefix() / Get_Prefix(): respect hostname cloaking
- Commit:
fd4dfccc30fdbb61120e3c51f4b987cc725b603d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Refactor IRC_WriteStr{Channel|Related}Prefix(); support cloaking
Move common code to new local function Send_Marked_Connections()
and respect hostname cloaking.
- Commit:
2a4bf67aaceebd3567dcd0ac1db2b9027560f574
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement user mode "x": hostname cloaking (closes: #102)
When a client has user mode "x" set, its real hostname is cloaked
by substituting it with the server name (as configured in ngircd.conf).
Restricted clients (user mode "r") aren't allowed to change mode "x".
Please note that hostname cloaking is only in effect in server-client
communication! The server still uses the real hostname for its own
logging and for all server-server communication -- therefore all servers
in the network must support user mode "x" to prevent older servers
from leaking the real hostname of a cloaked client!
- Commit:
575485eb82698a926d38634be2b3e4dce4a5dfd6
- From:
- Alexander Barton <alex@barton.de>
- Date:
WHOWAS: respect hostname cloaking
Store cloaked hostname if user mode "x" is set when the client
disconnects from the server.
- Commit:
3fd4f320b726e91f674c424e0c5ff5abce2c6f09
- From:
- Alexander Barton <alex@barton.de>
- Date:
WHOIS: respect hostname cloaking
- Commit:
6fdd3479f126a866c022c39dcd424d6042de6875
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement Client_HostnameCloaked() and Client_MaskCloaked()
These two functions return the cloaked hostname, if the client has
enabled hostname cloaking indicated by the -- still to implement --
user mode "x". See furter patches :-)
- Commit:
617640e0a358dc29c5e4f82eb6b828030ef21670
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up an document Client_Hostname() and Client_Mask()
- Commit:
f72e22d3611161af79a7c3240ff4700c0d70eb26
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make configure switch "--docdir" work (closes: #108)
- Commit:
c65bf5d2ce2603df3d832f79d6365b064b8eb13f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Reformat and update FAQ.txt a little bit
- Commit:
9c6230e1773634b9633bd3ab9a31eb036919f476
- From:
- Florian Westphal <fw@strlen.de>
- Date:
INSTALL: mention SSL and IPv6
- Commit:
479a43b1c68d033a5ffe7a1e36dad31714a29cb1
- From:
- Florian Westphal <fw@strlen.de>
- Date:
INSTALL: mention changed handling of MotdFile.
- Commit:
056de78e315a79edc1166649514bf8dfeb18abb1
- From:
- Florian Westphal <fw@strlen.de>
- Date:
ngircd: change MOTD file handling
previously, the given MotdFile file was read whenever a client
requested it.
Change handling to read the MotdFile contents into memory once
during config file parsing.
Two side effects:
- changes to the MOTD file do not have any effect until ngircds
configuration is reloaded
- MOTD file does no longer have to reside in the chroot directory
(the MOTD contents will then not be re-read on reload in that case)
- Commit:
a02bc9cc6f821a604f6ae4a865b0da8eec4da5a4
- From:
- Florian Westphal <fw@strlen.de>
- Date:
startup: open /dev/null before chroot
before people had to create a /dev/null inside the chroot to make
redirection work.
- Commit:
01e40f4b55ee8b5ee5e6f32d41f53989e858f54a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow IRC ops to change channel modes even without OperServerMode set
- Commit:
acb66d64637d33661ff4345e9bb37444109e9d11
- From:
- Florian Westphal <fw@strlen.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Allow IRC operators to use MODE command on any channel (closes: #100)
This allows IRC operators to change channel modes of ANY channel,
even without joining these channels first.
- Commit:
63a304755acc107287ac6fd86d6aca6f7b6e004b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added mailmap file for git-[short]log and git-blame
- Commit:
6ebb31ab35e7f9258f4df9d0bfd111dc75677bfe
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove Proc_Kill(), use timeout to kill child processes
This avoids a race and potentionally killing the wrong process on
systems that use randomized process IDs; now the child itself is
responsible to exit in a timely manner using SIGALRM.
- Commit:
cf93881dfbd7b6317d2a41f87e9751b74354203b
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Conn_CloseAllSockets() to close all open sockets
This is useful in forked child processes, for example, to make sure that
they don't hold connections open that the main process wants to close.
- Commit:
560492a4a4bd2182e3eaa32a5d5db7582be97963
- From:
- Alexander Barton <alex@barton.de>
- Date:
Authenticated users should be registered without the "~" mark
- Commit:
9cd3494de92eccaa201f42fc8b02fc68c752aca8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't Proc_Kill() childs after Proc_Read(): done there already.
- Commit:
6131822af6c0e2476dd539239d497dc0067271bc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't even fork a PAM-subprocess if "NoPAM" option is set
- Commit:
57a2faf4a74c65a6f12caf2d69c34e4f08c659f9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use Proc_GenericSignalHandler() as handler for SIGTERM by default
- Commit:
41034950d9cb6bdfc14abe99bf080058189d8933
- From:
- Alexander Barton <alex@barton.de>
- Date:
Mark some variables as "unused" to prevent compiler warnings
Some variables are only used when compiling with IDENT or PAM support
or when the debug code is enabled. Mark them as "unused" so that gcc
doesn't generate warnings when neither of these options is enabled.
- Commit:
6faf44bc6daf1b8d2e01c08ab15d234aa23ced59
- From:
- Alexander Barton <alex@barton.de>
- Date:
Set NoPAM=yes in configuration files used for the testsuite
- Commit:
f369177617a0f54e34a1af6fa44d1d1e3f953aeb
- From:
- Alexander Barton <alex@barton.de>
- Date:
New configuration option "NoPAM" to disable PAM
When the "NoPAM" configuration option is set and ngIRCd is compiled
with support for PAM, ngIRCd will not call any PAM functions: all
connection attemps without password will succeed instead and all
connection attemps with password will fail.
If ngIRCd is compiled without PAM support, this option is a dummy
option and nothing changes: the global server password will still be
in effect.
- Commit:
37ee0a331394d990e514a1a7b2b52ecb879b9701
- From:
- Alexander Barton <alex@barton.de>
- Date:
io.c: Include conn.h when using the select() API
- Commit:
03457135b727fc39bb6601b8fb434db2680edc82
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use correct preprocessor syntax when testing for PAM and IDENTAUTH
- Commit:
28424d013d4909a7d5a2501537ad39ae74873724
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make sure signal.h is #include'd when needed
- Commit:
583c50476bee24a8da9459163b609ac80353e63e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Initial documentation for using PAM with ngIRCd
- Commit:
808d4f6e85c13ff231321de76f9b356ec13110d4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement asynchronous user authentication using PAM
For each client connection a child process is forked which handles the
actual PAM authentication and reports the result back to the master
process using a pipe for communication.
While the PAM authentication is in process the daemon does not block.
- Commit:
fb4b5acfb8871c43e34dc2aa9c354a86f14f9293
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add new pam.{c|h} module to Xcode project
Adjust Xcode project and Mac OS X static config.h header to use PAM.
- Commit:
77870ddf2d87ddf222d87b58cb9afdf0609d49dd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add pam.{c|h} to project and implement PAM_Authenticate() function
- Commit:
1995af0ed62a4bbf544e0b5d9e0613fc912c9e3b
- From:
- Alexander Barton <alex@barton.de>
- Date:
New functions Client_[Set]OrigUser() to get/set user specified by peer
The Client_SetOrigUser() function is used to store the peer-provided
user name (see USER command) in its original form, not changed by
IDENT results, for example.
- Commit:
761b2284b953de0d5c2f847e55e3fbc030243178
- From:
- Alexander Barton <alex@barton.de>
- Date:
Detect PAM libraries
- Commit:
79be1c477e167892b12b77dcef1d298d9d017d3c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Refactor Resolve_Read() into generic Proc_Read() function
- Commit:
7b5e2fe38e7af696155e687924462c4b9fe951bc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make Proc_Kill() more fault-tolerant
- Commit:
bf8b64630443b2bd3fe2a298f860ea0d492df649
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Conn_GetProcStat()
Get PROC_STAT sub-process structure of a given connection.
- Commit:
e4ffcd00bdbe6d66d419e2f364a0d2dd317202b5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Code cleanup: don't reset penalty time on DNS resolver result
See commit d4632a727fbee6: it's not necessary any more!
- Commit:
4cc4c29e380b24a0f53d99f702d6678f71a31ff3
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Proc_GenericSignalHandler()
- Commit:
0db9a31e50598db6c01d67ea72e2970256e0558b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Rename Log_[{Init|Exit}_]Resolver to Log_[{Init|Exit}_]Subprocess
Rename Log_Init_Resolver, Log_Exit_Resolver, and Log_Resolver to
Log_Init_Subprocess, Log_Exit_Subprocess, and Log_Subprocess and
make it more generic thereby.
- Commit:
5462c6c50fd01fd516e29a42ee0b15c946c11d27
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't #include client.h when conn.h/conn-func.h is already included
conn.h and cinn-func.h both already #include client.h, so it is
not needed to do it twice.
- Commit:
3d49fa5bffac43f2fcf535c8b1aedae732d1f9f5
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Conn_GetFromProc() to get CONN_ID of a subprocess
Get CONN_ID from file descriptor associated to a subprocess structure.
- Commit:
2d4ea288353c2240c8d13e41c8da1557fc32168b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Resolver: Implement signal handler and catch TERM signal
- Commit:
d4632a727fbee65cb1585c6f6e9968d830f23a19
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't set a penalty time when doing DNS lookups
The logic isn't as described in the source and intended by this code:
ngIRCd doesn't wait for the asynchronous resolver process until the set
penalty time is over, but until the forked process terminates or the
initial connection timeout (= PongTimeout) triggers.
So don't set the penalty time at all and remove the wrong comment.
- Commit:
60f5dd5b29e701b3ab601addd3cdefb508acc7d1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update comments: subprocesses not only can be resolver processes
- Commit:
89e73ad4b4e66921fc20c5afbe17042aee77a329
- From:
- Alexander Barton <alex@barton.de>
- Date:
Refactoring: Rename CONNECTION.res_stat to .proc_stat
We want to use this process status variable not only for the
resolver subprocesses but other asynchronous tasks as well;
so let's name it more generic.
- Commit:
54e67ea9ee6c2b00c43f759edc55b57b969c9e2d
- From:
- Alexander Barton <alex@barton.de>
- Date:
New "module" proc.c/proc.h for generic process handling
The new "module" proc.c is used for functions dealing with child
processes. At the moment, it is only used by the asynchronous resolver.
All the functions already implemented habe been migrated from the
resolver code base, and the rest of the ngIRCd source code has been
adepted to the new namespace and calling conventions.
The goal is to develop "generic" process handling functions that can
be used for other purposes as well, e.g. running processes on client
connects etc.
- Commit:
cc336b75580d012c1caee58a252d1ad14b2cee23
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only #include resolve.h if it is really needed
- Commit:
ae55d4f500703114cf10d07be786f1108d66b27d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix redundant redeclaration of Conn_Count*() functions
The wrongly placed #endif lead to the following compiler warnings:
conn.h:125: warning: redundant redeclaration of ‘Conn_Count’
conn.h:125: warning: previous declaration of ‘Conn_Count’ was here
conn.h:126: warning: redundant redeclaration of ‘Conn_CountMax’
conn.h:126: warning: previous declaration of ‘Conn_CountMax’ was here
conn.h:127: warning: redundant redeclaration of ‘Conn_CountAccepted’
conn.h:127: warning: previous declaration of ‘Conn_CountAccepted’ was here
- Commit:
edfa2154816932ce184f9db65093711bc9957cb3
- From:
- Alexander Barton <alex@barton.de>
- Date:
const'ify Conn_WriteStr() function
- Commit:
c6742192a6d64d0fd74a23f49dca7cdbf72037ac
- From:
- Alexander Barton <alex@barton.de>
- Date:
const'ify Send_ListChange() function in irc-mode.c
- Commit:
0c0d4af55ae6d098ccfabc258508a6b85b8c7449
- From:
- Alexander Barton <alex@barton.de>
- Date:
const'ify IRC_WriteStrXXX() and Get_Prefix() functions
- Commit:
8605e9c0fe7ffa42149271c9af31288bd4a0dfac
- From:
- Alexander Barton <alex@barton.de>
- Date:
const'ify command name variable in _COMMAND strcuture
- Commit:
a68103771ccdf041c426277bc3a1f8dc345f3642
- From:
- Alexander Barton <alex@barton.de>
- Date:
const'ify Client_TypeText()
- Commit:
8ad1c23ae453e2f8ff95bccfdabdfed688539760
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add some documentation for using BOPM with ngIRCd
- Commit:
f76e0a1db689dadfe32f211002248d03416b3982
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement user mode "c": receive connect/disconnect NOTICEs
Users having the user mode "c" set receive NOTICE messages on each
new client connection to the local server as well as disconnects.
Only IRC operators (users having the mode "o" set) are allowed to
set the 'c' user mode.
These connect/disconnect messages can be useful for open proxy
scanners -- BOPM (http://wiki.blitzed.org/BOPM) is now functional
with ngIRCd, for example.
- Commit:
51ed74205432036f729d96bf5683ca858aae9f10
- From:
- Alexander Barton <alex@barton.de>
- Date:
Refactor Wall_ServerNotice() into more generic Log_ServerNotice()
Log_ServerNotice() sends a messages to all users having a given
user mode set.
- Commit:
60eac5e952ef4096557d63e323e34498cc88928f
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Conn_IPA(): get client IP address as string
- Commit:
139d6303e73079f48adfe37be2b88efed31e47df
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.init: require $network $remote_fs when stopping ngircd
- Commit:
28f8b501744a3c24cd7f5eec44707d656cc987c7
- From:
- Neale Pickett <neale@woozle.org>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Show SSL status in WHOIS, numeric 275
"I've been wanting this for years and finally took the 5 minutes to
patch it in. I took the response code (275) from whatever's running
OFTC's IRC network."
-- Neale Pickett <neale@woozle.org>, Fri, 11 Jun 2010 17:32:41 -0500
(OFTC is running Hybrid ircd.)
- Commit:
e2930f3f5e7356d24f4b5e1616cb7674bd0123ec
- From:
- Alexander Barton <alex@barton.de>
- Date:
Include correct header files when testing for arpa/inet.h (Closes: #105)
Tested on OpenBSD 4.7, OpenBSD 4.1, FreeBSD 8, Linux and Mac OS X.
Thanks to rck <dev.rck@gmail.com> for reporting and testing!
- Commit:
059e70724945264c2ab4f25edd48a50d173697f6
- From:
- Florian Westphal <fw@strlen.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Revert "configure: make implicit declarations fatal"
This reverts commit b3a6c33da0b12ba74dc395979b677813d4bc2c0f.
apparently not all gcc versions support this 8-(
- Commit:
b849e63fbfcddae7c770944816544c4799856042
- From:
- Florian Westphal <fw@strlen.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
configure: make implicit declarations fatal
from bugzilla #105:
"ngircd-16 works great under openbsd4.7/i386, but it segfaults on
openbsd4.7/amd64."
Caused by missing function prototypes and the resulting truncation of
pointer to int.
Lets try to catch these bugs during compilation instead of SIGSEGV.
- Commit:
55190f2d3ddf9b4bd43b0555df784c95eed82390
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't access already freed memory in IRC_KILL()
It is not possible to call Conn_Close() after Client_Destroy() has been
called, because Conn_Close wants to access the CLIENT structure which
then has been freed already.
Fix IRC_KILL to use Conn_Close() for local clients and Client_Destroy()
for remote clients only (and never both).
- Commit:
6dc80bd195ad0760bb560177d6f91c86b7698758
- From:
- Florian Westphal <fw@strlen.de>
- Date:
fix "beeing" typo
reported by Fabio Scotoni via bugzilla #101.
- Commit:
df359835d1f8679b5d8a07c83bffe78008e85834
- From:
- Florian Westphal <fw@strlen.de>
- Date:
SSL/TLS: fix bogus 'socket closed' error message
When we get there then the ssl handshake has failed, or
we could not create a ssl context because ssl library
initialization failed on startup.
Reflect that in the log message.
- Commit:
defd7e09afb62ac71859ad910e6dd52a86fb0ae2
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 16
- Commit:
29d448ed637968359394b1189f3f2be8076f1134
- From:
- Florian Westphal <fw@strlen.de>
- Date:
doc/SSL: remove line continuation marker
some people got confused by the '\' line continuation marker,
thus put everything in a single line, even if the line gets overly long.
- Commit:
bdec5ac1f37110a8456631e0155b5c9efeee35ee
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 16~rc2
- Commit:
73fd26e9fa708727e3f870052df0cc32e295bfc0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't reset counters on RESTART
When ngIRCd restarts, all the connection counters are preserved now,
as well as the command counters for example.
It's unclear if resetting or not resetting is the "correct" behaviour,
but it's quite clear that the behaviour should be consistent for all the
counters ngIRCd uses ...
And initializing "WCounter", the global but temporary write counter,
is not necessarry at all: it is initialized (reset) before its use in
the command parser (see parse.c).
- Commit:
79e1ec2b1e852e16fbf72c0a1af982d866f215b6
- From:
- Alexander Barton <alex@barton.de>
- Date:
New numeric RPL_STATSCONN (250): display connection statistics
The RPL_STATSCONN numeric (250) displays information about the
highest simoultaneous connection count and the number of all
accepted connections since the daemon started up.
Used by ircd-Hybrid, Bahamut, and Unreal for example.
- Commit:
615d09459ee7c485be38c6957447d73838249054
- From:
- Alexander Barton <alex@barton.de>
- Date:
Display total number of served connections on daemon shutdown
- Commit:
1338ade65032e5aea4891694a61d8ee3d1c795e1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhace connection statistics counters
This patch enables ngIRCd to count the highest maximum simultaneous
connections and all the connections accepted since startup.
New functions:
- Conn_Count(): get current connections
- Conn_CountMax(): maximum simultaneous connections
- Conn_CountAccepted(): number of connections accepted
- Commit:
21140500f1d77bdb0912c67a5402ab7280f2ba42
- From:
- Alexander Barton <alex@barton.de>
- Date:
Conn_Init: code cleanup
- Commit:
77ceb9f8ab8080a5b9188d137554e981f1d973a7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated doc/Platforms.txt
- Commit:
b042363e88a6d89790a9cc5061bdff78108c6909
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only include <netinet/in_systm.h> if it exists
- Commit:
6b0bb665c3cb31ba93fb5ac8197f033532614fd4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Include netinet/{in.h, in_systm.h} when checking for netinet/ip.h
This solves warning messages of autoconf on e.g. FreeBSD 8:
configure: WARNING: netinet/ip.h: present but cannot be compiled
configure: WARNING: netinet/ip.h: check for missing prerequisite headers?
- Commit:
1caa3fb94b6e23d7b63183f6cb6c97ed1821350c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Include netinet/in_systm.h alongside netinet/ip.h
This fixes the following error when compiling on e.g. FreeBSD 6.x:
In file included from conn.c:40:
/usr/include/netinet/ip.h:160: error: syntax error before "n_long"
/usr/include/netinet/ip.h:163: error: syntax error before "n_long"
- Commit:
025342fe46ae504a08be8c642901ec7eb7c4fccb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix gcc warning "ignoring return value of ..."
This patch fixes two warnings of gcc 4.4.3 when used with eglibc 2.11.1:
ngircd.c: In function ‘NGIRCd_Init’:
ngircd.c:801: warning: ignoring return value of ‘chdir’, declared with
attribute warn_unused_result
conn.c: In function ‘Simple_Message’:
conn.c:2041: warning: ignoring return value of ‘write’, declared with
attribute warn_unused_result
The first by checking the return code and an appropriate error message,
the second by "better" ignoring it (which is correct there!) ...
- Commit:
628c6c962b1054de4c27304f53c4ac7c50c79a11
- From:
- Alexander Barton <alex@barton.de>
- Date:
Only compile in Get_Error() if really needed
This fixes "resolve.c:150: warning: ‘Get_Error’ defined but not used".
- Commit:
1ed49de83a335713ee437171335c93725dd19ee6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated some more copyright notices, it's 2010 already (part 2)
Silly me forgot the most important place, the program output itself ...
- Commit:
bb914b93e9cd2a2e92d75e1d611f1541365e2e76
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated some more copyright notices, it's 2010 already :-)
- Commit:
50e8a62c5cfe8eaaeeaaccc5ff577cedf72e848d
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 16~rc1
- Commit:
aa32fec1b6d5d1679ede9e5109c7f6ebe95c0983
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated NEWS and ChangeLog file for ngIRCd 16-rc1
- Commit:
cbe41ec87506003e484a85301b3c0a6e05bf0ad7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't use port 6668 as example for both "Ports" and "SSLPorts"
- Commit:
20276f7cc967ec1a472715574adc6792b1598314
- From:
- Florian Westphal <fw@strlen.de>
- Date:
configure.in: only add -lnsl when needed
dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..]
(they use none of its symbols).
As shown via commit 2b14234abc252383679bae2d23861b773dc9713e
(dpkg-shlibdeps: warning: dependency on libnsl.so.1) and the
following revert of that commit, we cannot simply drop
the AC_CHECK_LIB(nsl). Although -lnsl is indeed unneeded
when glibc is used, some platforms (e.g. Solaris) need it.
Use AC_SEARCH_LIBS instead to only link when the library exports
a particular symbol.
- Commit:
6e8cf51bb216f956e7a6fdb5c61b0f2799bf8d2d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement WEBIRC command
The WEBIRC command is used by some Web-to-IRC gateways to set the correct
user name and host name of users instead of their own.
Syntax: WEBIRC <password> <username> <hostname> <ip-address>
The <password> must be set using the new configuration variable "WebircPassword" in the [Global] section of ngircd.conf.
Please note that the <ip-address> is currently not used by ngIRCd (we don't store it in the CLIENT structure, only the resolved hostname).
- Commit:
53fc0ebff6fe09bb6a3ae3b134647b3499fc6618
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.conf.5: Document missing "Password" variable
- Commit:
9b3e143a26f1079d185c41611cd2475f8fbdae39
- From:
- Alexander Barton <alex@barton.de>
- Date:
Re-format Init_New_Client() function
- Commit:
f1bbc92b391f2dabd8c07234689f4f36207f81c6
- From:
- Alexander Barton <alex@barton.de>
- Date:
New README-Interix.txt for running ngIRCd on MS SFU and MS SUA
- Commit:
1da3e25e65c7bcc3e47d18f114f7c4e76e274250
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added "i586/pc/interix3.5" (MS Services for UNIX) to Platforms.txt
- Commit:
e1de769ab9958f6debbd884a1555de09d1191d32
- From:
- Alexander Barton <alex@barton.de>
- Date:
Quote received messages of ERROR commands in log output
- Commit:
9f58418765576950983b4a95c4f5f71f068f424f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implemented new "secure clients only" channel mode: +z
Only clients using a SSL encrypted connection to the server are
allowed to join such a channel.
But please note three things:
a) already joined clients are not checked when setting this mode,
b) IRC operators are always allowed to join every channel, and
c) remote clients using a server not supporting this mode are not
checked either and therefore always allowed to join.
- Commit:
ef157715a00f565c8e17cf5618eb437b2df6d4bc
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up and document IRC_STATS() function
- Commit:
ecad9f32c82f50312010ab41f7702d1329bc511e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up and document IRC_JOIN() and join_allowed() functions
- Commit:
f58c8b94d9f4052c280a776797cd02e199e34f7e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Show our name (IRCD=ngIRCd) in ISUPPORT (005) numeric
Inspired by Hyperion IRC daemon.
- Commit:
3a2ac66f7ff5985cae4de390a8e510ae7ff2a5a6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added missing modes to USERMODES #define
Now the numeric 004 correctly reports all the supported user and channel
modes (user modes "r" and "w" were missing), e. g.:
:a.irc.net 004 a a.irc.net ngircd-15 aiorsw biIklmnoPstv
- Commit:
cf05bf31a7dbcb9228d07bb21c4673d515d908f3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated links to ngIRCd homepage (bug tracker, mailing list)
- Commit:
a4d7c6f14594e1331885ff83afd584f7573c1a6c
- From:
- Alexander Barton <alex@barton.de>
- Date:
setsockopt(): use IPPROTO_IP instead of SOL_IP to set IPTOS_LOWDELAY
- Commit:
1ddc74f13e3feb5be6af4294e1f6a8162edca8a7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Really test for netinet/ip.h and set HAVE_NETINET_IP_H
- Commit:
75dabcaae52eb9f2dcfbccc19743670962dbafb3
- From:
- Alexander Barton <alex@barton.de>
- Date:
ReverseLookup(): fix documentation comment
- Commit:
1b73e68e6eb82693c4821758879ae632aff3664f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Move NewConnection handling from callbacks to New_Connection()
- Commit:
03cde2efd3044a226b94b72810113080a3250d05
- From:
- Alexander Barton <alex@barton.de>
- Date:
Connection functions: add some more documentation comments
- Commit:
cb6faed61c770f3af73e96658ef46c0627ba6cfd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up conn.{c|h} a little bit
- Commit:
c62c2d349b718ad71ccabd88a42abe1ee5801ee3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: fix "-Wuninitialized is not supported without -O"
Fix Apple Xcode warning "cc1: warning: -Wuninitialized is not supported
without -O" when using the "Debug" build target:
Detection of uninitialized automatic variable requires data flow analsys
that is only enabled during optimized compilation.
- Commit:
60137a7139cbeb40bb75fa40148c01715436aad5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added i686/unknown/kfreebsd7.2-gnu
- Commit:
513a75c9195f480b25a6bbd605a00ef066636211
- From:
- Alexander Barton <alex@barton.de>
- Date:
platformtest.sh: Only show latest commit
Only show latest GIT commuit ID as version number,
even when the last commit has been a merge.
- Commit:
4f1b5400e90f2e5107eda8e4f4f8e0b4e2beb14d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge commit 'cade80dcf516f40e7d53124bc98526e6e5b3fb66'
* commit 'cade80dcf516f40e7d53124bc98526e6e5b3fb66':
Added missing contrib/platformtest.sh to distribution
- Commit:
cade80dcf516f40e7d53124bc98526e6e5b3fb66
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added missing contrib/platformtest.sh to distribution
- Commit:
28ca31e5761c0f5e746fcd0f4cdfac98e344bdb7
- From:
- Florian Westphal <fw@strlen.de>
- Date:
Remove limit on max number of configured irc operators.
- Commit:
c414d0bd3ae670fdcc5d1b81c4e01b486bca91d8
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 15
- Commit:
bc88b2cb06a1663210de5f517a99687713ec91c3
- From:
- Florian Westphal <fw@strlen.de>
- Date:
configtest: print ssl config options even when unset
Print "SSLOptionVar =" instead of omitting the option when
running --configtest with ssl enabled.
This better matches the behaviour of other options, e.g. ChrootDir.
- Commit:
bc1ac7fbc57bb6341b0b553c29d2da82464fc866
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 15~rc1
- Commit:
37e950a40ceef1e28fde92dd3b2c3bcd03800295
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated NEWS and ChangeLog files
- Commit:
55c04e691d2e069eebf1f2cc7d9992d2510f681f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make sure forwarded CONNECT commands are handled correctly
- Commit:
881b9af2512a9707cdd599f84628a03c4e22cf2b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Generate WALLOPS message on operator-generated SQUIT
- Commit:
294320ed62bdb7dac546cea43fac3b4c916788a4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enable SQUIT command for IRC Operators
This patch enables IRC Operators to use the SQUIT command as specified in
RFC 2812, section 3.1.8 "Squit".
When forwarding SQUIT commands, the server connected to the target will
drop the connection (not the target server itself!).
Please note:
- the configuration option "AllowRemoteOper" mus be enabled on the
server disconnecting the target to allow forwarding of SQUIT commands.
- if the remote server is configured to establish the connection, it
will just do this; so the disconnect is not permanent in this case!
- Commit:
03b70229eb95e218f56ab22ce30fa6279b3ae91f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: added new op.{c|h} to project file
- Commit:
9918dfc1d595a680573910d12beb337cf4a58b14
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use functions provided by op.c "module"
Local functions Check_Oper() and No_Privileges() have been replaced by
global functions in op.c "module": Op_Check() and Op_NoPrivileges().
- Commit:
e46cf64cc1e3bf21060df1d1125502277d035170
- From:
- Alexander Barton <alex@barton.de>
- Date:
New "module" op.c/op.h for IRC operator related functions
The new "module" op.c is used to implement functions related to IRC Ops.
At the moment, these two functions are available:
- Op_Check() to check for a valid IRC Op, and
- Op_NoPrivileges() to generate "permission denied" messages.
- Commit:
113bd34878c17f730d8fb878157b0dbba9380326
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow forwarding of CONNECT commands.
The syntax of the CONNECT command now is:
- CONNECT <server-id>
- CONNECT <server-id> <port>
- CONNECT <server-id> <port> <target>
- CONNECT <server-id> <port> <host> <my-pwd> <peer-pwd>
- CONNECT <server-id> <port> <host> <my-pwd> <peer-pwd> <target>
Note: the configuration option "AllowRemoteOper" mus be enabled on the
target server to allow forwarding of CONNECT commands.
- Commit:
4a3e40bc95e783145855da611fa5944401a9c2c9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Check_Oper(): check origin of forwarded messages instead of server.
- Commit:
45b1a45c979d0418591a1c62204d5a607cf86cde
- From:
- Alexander Barton <alex@barton.de>
- Date:
No_Privileges(): handle forwarded messages.
- Commit:
7d6de7c352f7b91b396cbdb6f2d194e2422b35b3
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_SendWallops(): support format string and variable parameter lists.
- Commit:
30b584c2e8632f94312dc9575fccc510a2b437c0
- From:
- Alexander Barton <alex@barton.de>
- Date:
CONNECT, DISCONNECT: generate WALLOPS messages
- Commit:
eaaf0c3bd5ce4f48205ca928fba994d0c44e59b2
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function IRC_SendWallops().
Implement new global function IRC_SendWallops() that can be called by
other functions to generate WALLOPS messages to users with +w mode.
- Commit:
9a7499af8bb3c4b781492fef216c86cf7ab04134
- From:
- Alexander Barton <alex@barton.de>
- Date:
Code cleanup of IRC_DISCONNECT().
- Commit:
bce16c2864309d5fc7da8d0591120466303aa966
- From:
- Alexander Barton <alex@barton.de>
- Date:
Code cleanup of IRC_SQUIT() in preparation to deal with bug #73.
- Commit:
926204cacd05f49f24e79d0af404c2da4cfdbe3a
- From:
- Alexander Barton <alex@barton.de>
- Date:
New local functions Check_Oper() and No_Privileges().
- Commit:
3bf0c6f3b9cbeded68c2c7f7a6f2a020616b73f5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Bad_OperPass(): code cleanup.
- Commit:
f78b0c61e967c66386803a3dc77069c66bd664de
- From:
- Alexander Barton <alex@barton.de>
- Date:
New configuration option "AllowRemoteOper"
Added new configuration option "AllowRemoteOper" to control whether
remote IRC operators are allowed to use administrative commands that
affect this server or not
This commit introduces the configuration variable, but actually no
function is using it. That's up for the next patches to come ...
- Commit:
fa09883c72855768a0f827a330097bf3dc5c839e
- From:
- Florian Westphal <fw@strlen.de>
- Date:
fix assertion failure in ng_ipaddr.c
when building with debugging enabled, but without ipv6 support,
ngircd dumped core when loading a config file that specified an ipv6
listen address.
ngircd: ng_ipaddr.c:45: ng_ipaddr_init: Assertion `sizeof(*addr) >=
res0->ai_addrlen' failed.
- Commit:
affa03b277bb479c050f2d6967ae410e49e0d2ac
- From:
- Florian Westphal <fw@strlen.de>
- Date:
configtest: complain when ssl keys are not readable
- Commit:
5b1efaee67044b56f6ecac1ee70883bfc61f8c5d
- From:
- Alexander Barton <alex@barton.de>
- Date:
Check for sockaddr_in.sin_len and initialize it
Test for sockaddr_in.sin_len and initialize it to the correct value
which some systems (notably Mac OS X) require.
Note: this code path is only relevant when not using getaddrinfo().
- Commit:
d5f80b2a8deda30d0dcd69bea81a3ca862cf46ca
- From:
- Alexander Barton <alex@barton.de>
- Date:
Always use get{addr|name}info() when available
Both getaddrinfo() and getnameinfo() are now used always when available, and
not only when compiling ngIRCd with support for IPv6.
This not only enables ngIRCd to handle multiple addresses per hostname when
compiled without support for IPv6, but fixes binding ngIRCd to IP addresses
on Mac OS X (and probably other BSD-based systems) as well: these systems
require that sockaddr_in is zeroed out and sockaddr_in.sin_len is set to
sizeof(sockaddr_in) like that:
src/ipaddr/ng_ipaddr.c, line 54:
assert(ip_str);
+ memset(addr, 0, sizeof *addr);
+ addr->sin4.sin_len = sizeof(addr->sin4);
addr->sin4.sin_family = AF_INET;
But this would break all the systems not using sockaddr_in.sin_len, for
example Linux -- so we assume that all these systems provide getaddrinfo()
and use that for now.
- Commit:
60fc4d6335a2696f88532322b797978ef9e9005f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: add "debug" configuration to project
- Commit:
536538968c6d2cd22669d4622a83d32f95d4eb55
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix cb_connserver() to handle aborted outgoing connections
A configured server could have been removed while a connection apptempt
is still in progress. So the cb_connserver() callback has to test if the
server configuration record is still valid.
- Commit:
4daf780f0188e6b7658047588399c813d74de917
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conn.c: fix more sizeof(..dst_addr) misuse
the wrong sizeof() usage fixed in
d76910ce7b9fad5679b7c614ed086e036560e37d
(conn.c: fix resolver server address backlog) was a bit more
widespread, fix all others, too.
- Commit:
ed72bf4cebe47dda78a41fbeebe803caa13f2cfa
- From:
- Florian Westphal <fw@strlen.de>
- Date:
resolve.c: fix valgrind 'uninitialized memory' warning
fix the following warning generated by valgrind if ipv6 is enabled:
Syscall param write(buf) points to uninitialised byte(s)
at 0x4000982: (within /lib/ld-2.9.so)
by 0x80681A8: Resolve_Name (resolve.c:477)
by 0x805439F: Conn_Handler (conn.c:1658)
by 0x804AA7C: main (ngircd.c:331)
The warning is because ng_ipaddr_t can be a union, and only the
necessary parts are initialised. The callers know what part
of the union is valid, so this is not a bug.
- Commit:
d76910ce7b9fad5679b7c614ed086e036560e37d
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conn.c: fix resolver server address backlog
if more than one ip address is returned for a single host
name, ngircd is supposed to try other addresses in case
connect() to the first address returned fails for some
reason.
Alexander Barton noticed that this did not work at all,
as the additional results were not stored.
- Commit:
8fd0e29d463c934756dce7a562f09ea831b5d968
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix "implicit conversion shortens 64-bit value" warning
This patch fixes the following gcc warning in our sources:
"implicit conversion shortens 64-bit value into a 32-bit value"
- Commit:
bfa48f3448a140048386810f97049ad8200c1842
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: use gcc 4.0 for Mac OS X 10.4 compatibility
- Commit:
66c6458ae7aa575c0a7a8250476472d59a155e28
- From:
- Alexander Barton <alex@barton.de>
- Date:
Channel_Mode(): fix return code of function
Fix error handling of Channel_Mode() to return the correct connection
status ("connected"/"disconnected") insted of always returning success.
- Commit:
3b37ad334b6a7fbc5ca907e1af72efd3d3f8bd3b
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_SERVER(): code cleanup, remove unneeded variable
- Commit:
c191ea53a9600467c9b36baa6b930e2fa1a5796f
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_PASS(): remove unnecessary variable initialization
- Commit:
e1598e2670d599441f63c01f8df2ee5158ead2d4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Conn_Close(): remove unused variable "txt"
- Commit:
44acf41cc172e8131c3a987d430b9f948afd26ad
- From:
- Alexander Barton <alex@barton.de>
- Date:
Mac OS X: fix test for packagemaker(1) tool in Makefile
- Commit:
933da741c6485e090990f296ad89e6173583829b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix --with-{openssl|gnutls} to accept path names
This patch fixes --with-openssl and --with-gnutls and enables both to
accept path names, so that you can use "./configure --with-XXX=/path".
All the other --with-XXX parameters support this already.
- Commit:
cf7e19193b79af0711c5a03ac7da33bd84947b16
- From:
- Florian Westphal <fw@strlen.de>
- Date:
do not add default listening port if ssl ports were specified
Cosmo Kastemaa reported that its impossible to create an ssl-only setup,
as ngircd binds to port 6667 by default, even if setting "Ports =".
Only add the default port if _both_ "Ports" and "SSLPorts" are
unspecified.
Fixes bugzilla #98.
- Commit:
5f1e43416a7ff8185928ce8538b8d0826c61b93f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix LSB header of Debian init script
- Commit:
5debe205097ed6c7b17e15a1798a32a7393b26fa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Use AM_SILENT_RULES([yes]), if available
Starting with GNU automake 1.11 "AM_SILENT_RULES([yes])" is available to
make the build process less verbose ("Linux 2.6 style") which helps to
spot warning and error messages.
So we use it if it is available.
- Commit:
a7eef6666bf534c6cb3c395db429fb80bb8bee19
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog for next release
- Commit:
56a8abc253d0565a75fb9066ec933dc7db96b93a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated doc/Platforms.txt
- Commit:
21bb2bd65808dbeacc5959a9ac3bc4fd9b3087c7
- From:
- Alexander Barton <alex@barton.de>
- Date:
New script contrib/platformtest.sh
This script analyzes the build process of ngIRCd and generates output
suitable for inclusion in doc/Platforms.txt.
- Commit:
bddfd67550d65402eb93e5ce152438bd513acf40
- From:
- Florian Westphal <fw@strlen.de>
- Date:
doc/Platforms.txt: ngircd builds on hppa2.0w-hp-hpux11.11 target
Goetz Hoffart reports successful compile on HPUX/HPPA (on ngircd mailing list):
Target: hppa2.0w-hp-hpux11.11
Compiler: gcc
Compiler flags: -g -O2 -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes -fstack-protector -D_XOPEN_SOURCE_EXTENDED
-DSYSCONFDIR='"$(sysconfdir)"'
Libraries: -lz -lnsl
Syslog support: yes Enable debug code: no
zlib compression: yes IRC sniffer: no
Use TCP Wrappers: no Strict RFC mode: no
Zeroconf support: no IRC+ protocol: yes
IDENT support: no I/O backend: "poll()"
IPv6 protocol: no SSL support: no
- Commit:
805bf0349064a1a1f6412c19a3a3bcb7fb7ccbe1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Client_CheckID(): fix connection information
This patch fixes the following silly log messages:
'ID "XXX" already registered (on connection -1)!'
If the ID is already registered on a local connection, the local
connection ID is printed; and if the ID is connected via a remote
server, "via network" is displayed.
- Commit:
63cbc6cd4262971d0ef795d2404bc545413e159a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix return code of Conf_EnableServer()
Conf_EnableServer() only reports success if all required variables,
including host name and port, are set for the specific server.
- Commit:
b3cacf86df000ed22734b4a5e06d7d7eb8ae6ffa
- From:
- Florian Westphal <fw@strlen.de>
- Date:
AUTHORS: update my email address
- Commit:
0ef94edad75eb9053d8899512aba6a3fb14e21b6
- From:
- Florian Westphal <fw@strlen.de>
- Date:
add section and rfc number to comment about QUIT error
- Commit:
643ae1b48bc83edad5ba5fa337f81564c79fd0cd
- From:
- Florian Westphal <fw@strlen.de>
- Date:
enforce upper limit on maximum number of handled commands
reported on #ngircd: pasting lots of lines into a channel can kill off
many people on the channel if the read buffer is drained quickly enough
and the client-side TCP can't keep up with the incoming data.
This implements a throttling scheme:
- an irc client may send up to 3 commands per second before a one second
pause is enforced.
- an irc client may send up to 256 bytes per second before a one second
pause is enforced.
After discussion with Alexander Barton, server <-> server links are
treated specially: There is no artificial limit on the number of bytes
sent per second, and up to 10 commands are processed per second before
a pause is enforced.
It may be neccessary to make those limits tuneable to accomondate larger
networks, but for now they are compile time values.
- Commit:
9b1c47220fafeacda1e83b4732e1c8574062aac6
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conn.c: fix NumConnections imbalance
New_Server() can call Conn_Close() in its error paths,
but that function decrements the number of current active
connections. Thus we need to increment it earlier.
- Commit:
8e2c5816eec58a5de63399a54773dda6a5729c36
- From:
- Florian Westphal <fw@strlen.de>
- Date:
SSL/TLS: fix error handling when ssl ctx init for outgoing server link fails
- Commit:
f31c3a3aa283bd6a34386e3c2fcdcad9ab36e5c4
- From:
- Florian Westphal <fw@strlen.de>
- Date:
SSL/TLS: fix error path in gnutls ssl ctx allocation
- Commit:
b0931f322b527f24215419e9c73eda7d7f22de6a
- From:
- Florian Westphal <fw@strlen.de>
- Date:
manpage: move SSLConnect option to the right section
- Commit:
5196e9bcb17111c43a71df2d11634b0705600b9f
- From:
- Florian Westphal <fw@strlen.de>
- Date:
SSL/TLS: remove redundant asserts/ifdefs
- Commit:
57aa64e1176b47830801cec8615affcc24cfb142
- From:
- Florian Westphal <fw@strlen.de>
- Date:
SSL/TLS: proper indentation, remove erroneous comment
- Commit:
fd7e85b798c422f4b95de05b20ad56f59695938a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update copyright notice, it's 2009 already!
- Commit:
b1852f30296501a7e0858260bd0c7533d041d627
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated Debian "changelog" file for ngIRCd 14.1
- Commit:
822c1e9265cfe31de6688924528dd7dc788872b5
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 14.1
- Commit:
5b4a3eda08029b01fb00c3968cac4df5848e06a7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added start/stop script for Red Hat based distributions
Script contributed by Naoya Nakazawa <naoya@sanow.net>.
- Commit:
a83554b572255add47d0694d9e85a301a3a0e6b8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Renamed contrib/ngircd.sh to contrib/ngircd-bsd.sh
- Commit:
627b0b713c52406e50c84bb9459e7794262920a2
- From:
- Florian Westphal <fw@strlen.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
security: fix remotely triggerable crash in SSL/TLS code
When a server is running with SSL/TLS support compiled in,
it is trivial to crash the server by sending an MOTD request
via another server in the network.
- ONLY servers without ssl/tls support compiled in are not affected.
Disabling SSL in the configuration (no ssl listening ports, etc)
does NOT help.
- servers that are running standalone (i.e., not connected to any
other servers) are not affected, either.
This affects all ngircd releases since ngircd 13 (earlier versions
have no SSL/TLS support).
- Commit:
95428a72ffb5214826b61d5e77f860e7ef6a6c9e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fixed "Conflicts:" line in debian/control: missing comma
- Commit:
6b83d1740eb892c90f92fac55d9bbc362346feb5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: build ngircd-full-dbg package
In addition to the "ngircd" and "ngircd-full" packages a new package named
"ngircd-full-dbg" is build: this package contains all the features of the
"full" package but includes debug code and both the --debug and --sniffer
options and the resulting binaries are _not_ stripped.
- Commit:
c8bba8e5c360519e3d6401a62dbc023515ddd8d7
- From:
- Alexander Barton <alex@barton.de>
- Date:
debian/rules: whitespace fixes
- Commit:
37359799eba5233958b8b6fe665928c4e3c64889
- From:
- Tassilo Schweyer <dev@welterde.de>
- Via:
- Florian Westphal <fw@strlen.de>
- Date:
Fix server list announcement
When ngircd announces the list of currently known servers
to a new (connecting) server, it sent the introducer of
the servers instead of the top server.
Assuming this network:
irc1.example.com
|--irc2.example.com
| `--irc3.example.com
| `--irc4.example.com
`--irc5.example.com
When irc4 connects to irc3, irc3 tells irc4 that irc5 was
connected to irc2. (irc2 had introduced irc5 to irc3; but thats
not what ngircd should have sent to the new server).
This also placed users on the wrong servers.
- Commit:
4a14fb252d1eb93905eb1dc71a11601acadf66d3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Doxygen: update source code repository link to GIT
- Commit:
9b59f043c8bc0eb0e88cb31158c61cccdf67f23b
- From:
- David Kingston <deathking1337@aim.com>
- Via:
- Florian Westphal <fw@strlen.de>
- Date:
allow ping timeout quit messages to show the timeout value
- Commit:
b545d38ae4458257be4de9031d4d3501690ced9c
- From:
- Florian Westphal <fw@strlen.de>
- Date:
irc-server: do not remove hostnames from info text
that code does not really make sense -- the info
text is freely cofngiureable and des not follow a specific
format.
Also, that "+2" might have caused invalid memory accesses.
- Commit:
84eaed6c9afa92dcfd45181d5796cd7efd7e8b98
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conn-zip: fix error handling
callers of (Un)Zip_Buffer() assume that
the function closes the connection on error.
However, this was not always the case.
- Commit:
544b9884f4ccab6488b6f75b5fafd68a85aa8cd7
- From:
- Florian Westphal <fw@strlen.de>
- Date:
remove or translate old comments
- Commit:
5e16b6df2dbe7a953bf6c29f270221163cd517c1
- From:
- Florian Westphal <fw@strlen.de>
- Date:
client.c: remove unecessary comments
- Commit:
ea041b8838714707dca4500f63e2b40344b506c2
- From:
- Florian Westphal <fw@strlen.de>
- Date:
add const qualifier to pointers where possible
- Commit:
68835a1d1acb36a5e38870a83a261a969b1878e4
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 14
- Commit:
54879b432b99bb22df905b8e22c3f83205ea8d60
- From:
- Alexander Barton <alex@barton.de>
- Date:
Display IPv6 addresses as "[<addr>]" when accepting connections.
With this patch ngIRCd displays IPv6 addresses as "[<addr>]:<port>" when
accepting new connections and later, if no successful DNS lookup could
be made (or DNS is disabled altogether).
- Commit:
d9355d53f8c9b6ed81e8df61f52cb8506b077d05
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: #define include __DATE__ in VERSION
Change VERSION to include the __DATE__ when compiling from within Xcode.
When building using "make xcode" or "make osxpkg" VERSION already is defined
to the "real" version number set in configure.in.
- Commit:
8c0137a6e07a70340c54fc25717797591bbe697b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix ChangeLog: Local channels are already implemented in Release 13
- Commit:
166ab3925e8f3960cc761201a8fd96a026bf317c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix up last Debian changelog entry
- Commit:
1f6a5744f62956704e11c2acef3778cdf5e1d46a
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 14~rc1
- Commit:
156569d263a9fe9e6eb64df1730e7a9d73dcdb85
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated NEWS and ChangeLog files
- Commit:
c3a8d6a73edd66a26ec731dd4bb02a8c272e3d9c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated Debian/Linux init script
- PidFile, ServerUID and ServerGID are read from actual server configuration
- Exit code and behaviour is more LSB compliant
- New "status" and "test" sub-functions
- Commit:
3a7d59c1ac6bb9d3fae546fba9d041738bbe849e
- From:
- Dana Dahlstrom <dana+ngIRCd@cs.ucsd.edu>
- Via:
- Florian Westphal <fw@strlen.de>
- Date:
misspelling in ERR_NORECIPIENT reply
- Commit:
51b88b12f390a98a79c8665d779e6484a1c7147a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add missing contributors to AUTHORS file
- Commit:
ea35ba74b68d8d6906b6cd2d1ad85a348c647beb
- From:
- Florian Westphal <fw@strlen.de>
- Date:
testsuite: add more predefined channels to server config
make sure it creates & and +, and accepts channel names without
a special character (ngircd should treat
'Name = chan' as 'Name = #chan').
- Commit:
2d4361d088f75bdcbc0deced824e2b3aafbb8fa0
- From:
- Florian Westphal <fw@strlen.de>
- Date:
allow creation of persistent modeless channels
- Commit:
e9e7fc33f15d7ead5f547ebdfcc7836b75f54f83
- From:
- Florian Westphal <fw@strlen.de>
- Date:
add and use Channel_IsModeless()
avoid "name[0] == '+'" where possible, having Channel_IsModeless()
makes things much more obvious.
- Commit:
c09742c5189802103900fc84ded42f4f84f27ae9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enhance INFO command to report compile time, if available
- Commit:
c56ab962706c7b60ab649d77f317cd5086fad368
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update NEWS and ChangeLog files
- Commit:
0a9608a26f4c5fec7d09f13a814bf4e384b17759
- From:
- Alexander Barton <alex@barton.de>
- Date:
Channel mode changes: break on error
Don't echo multiple syntax error messages (461) on invalid commands,
but break after the first one.
In addition, this solves corrupted 'Unknown mode "+' messages.
- Commit:
dee89c2355f973db0ba7c7ca81c83940caefc3d4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Channel_Mode(): code cleanup (no functional changes)
- Commit:
b8c6dd503fe4e7814f4b9327a8cd43007a4ec150
- From:
- Florian Westphal <fw@strlen.de>
- Date:
TLS/SSL: remove useless error message when ssl connection is closed
When using OpenSSL, the following annoying "error" message was logged whenever
an encrypted connection was shut down in a orderly fashion:
TLS/SSL Connection shutdown: ConnSSL_Read: Unable to determine error
of course, this isn't an error at all.
- Commit:
66d6c3c84b092c422b094bddeff3e04fd2488cfc
- From:
- Florian Westphal <fw@strlen.de>
- Date:
update ChangeLog.
- Commit:
2fce4667a86e42589db8dd84a51c472aa18ac80e
- From:
- Florian Westphal <fw@strlen.de>
- Date:
SSL/TLS: clear all ssl realted flags on shutdown
one ssl related flags was not cleared on ssl shutdown.
introduce and use CONN_SSL_FLAGS_ALL to zap them all.
- Commit:
c6a43fbaf0579741ebf34e88ca7f0586b471062e
- From:
- Florian Westphal <fw@strlen.de>
- Date:
TLS/SSL: fix memory leak when using compressed server links with ssl
commit 6bc2d3d06e9cb4da68ea4b63d9b6b219d88ab927
(New connection option CONN_RFC1459) forgot to adjust the ssl bitmasks.
The result is that when a compressed AND encrypted server link goes down
the memory allocated by zlib and the r/w buffers are no longer
free'd as the previous ConnSSL_Free() would then also remove the CONN_ZIP flag
from the flag mask.
- Commit:
3be9c477be674228c86378e017a70bf49acf06a4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix spelling of log message: "channek" vs. "channel" ...
- Commit:
d09094812f5a8998e779fd75d265396486878117
- From:
- Alexander Barton <alex@barton.de>
- Date:
Channel key file: store file name and open on each access.
Store the file name of channel key files and reopen them on each access
(on each JOIN command) insted of just storing the file handles.
This eliminates the special requirements (no delete) and makes sure
that always the actual file contents are used in all circumstances.
- Commit:
c5000694d16da0a205e7dde49681d589d552d144
- From:
- Alexander Barton <alex@barton.de>
- Date:
Support individual channel keys for pre-defined channels.
This patch introduces the new configuration variable "KeyFile" for
[Channel] sections in ngircd.conf. Here a file can be configured for each
pre-defined channel which contains individual channel keys for different
users. This file is line-based and must have the following syntax:
<user>:<nick>:<key>
<user> and <nick> can contain the wildcard character "*".
Please not that these channel keys are only in effect, when the channel
has a regular key set using channel mode "k"!
- Commit:
2c1b6280fac393c8977df03d94cc6a1dcf2a5f5d
- From:
- Alexander Barton <alex@barton.de>
- Date:
RFC 2812, sec. 3.3.1: really check for the last dot
This fixes commit 5a3128243f4b60 and makes the test suite ("make check")
run again without errors.
- Commit:
5a3128243f4b609b79a2b97ed8cef780198338bb
- From:
- Florian Westphal <fw@strlen.de>
- Date:
irc.c: reject masks with wildcard after last dot
RFC 2812 says in section 3.3.1 ("Private Messages"):
The mask MUST have at least 1 (one) "." in it and no wildcards
following the last ".".
- Commit:
95e8320ca99eb9546102d10a329d708458257c56
- From:
- Florian Westphal <fw@strlen.de>
- Date:
irc.c: Fix handling of channels containing dots
commit 2546a13ad2949192eb70bf21e114ec60af287ee4
('Cumulative Message Patch') broke PRIVMSG to channels
containing dots.
Fix this by switching evaluation order:
Check first if the target matches a existing channel and only do a check
for target masks if that failed.
PRIVMSG with host/server masks is described in RFC 2812, section 3.3.1.
Makes one wonder how a server is _really_ supposed to tell the difference
between hostmasks and channel names.
Sigh.
- Commit:
8f46681bc86162936ffdf56d7f534221ba20fbf5
- From:
- Ask Bjørn Hansen <ask@develooper.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Update ngircd.spec file
- Change Copyright to License
- Update URL
- Make BuildRoot use %{_tmppath} macro
- Add basic BuildRequires
- Compile with zlib and openssl
- Install all docs in standard document location
Signed-off-by: Ask Bjørn Hansen <ask@develooper.com>
- Commit:
1c7b9dbe931ecbb0f355ab66c9b422f7e6001058
- From:
- Florian Westphal <fw@strlen.de>
- Date:
remove unneeded LOG_DEBUG when not compiling with DEBUG support
when ngircd is build without DEBUG enabled, LOG_DEBUG messages
are always discarded.
To avoid the extra code, ngircd has a LogDebug() wrapper which
gets removed by the compiler when compiling without DEBUG defined.
Update a few functings which were using the
Log(LOG_DEBUG, .. interface directly without #ifdef DEBUG guards.
text data bss dec hex filename
127748 1900 28280 157928 268e8 ngircd.before
126836 1896 28280 157012 26554 ngircd.after
- Commit:
0acef7c598765e4cd786b875395c6601f7e41a19
- From:
- Florian Westphal <fw@strlen.de>
- Date:
documentation: gnutls does not support password-protected privkeys
already mentioned in man page and sample config file, but for
completeness also document it in doc/SSL.txt.
- Commit:
00c8dfa8beed7d5765f6f765714a72cb01832cac
- From:
- Alexander Barton <alex@barton.de>
- Date:
Mac OS X: update texts for Mac OS X Installer.app
- Commit:
75243ffb37aa1947a40435e79802626eb1ae11b3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: build ngIRCd with IPv6 support on Mac OS X
- Commit:
5468ba37446a85bfb8a84eed74bf6c091156f682
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: get release number dynamically; new make target "xcode-clean".
- make target "xcode" now detects the release number stored in the
configure.in file and passes it to Xcode.
- new make target "xcode-clean" which removes all files generated by
"make xcode" and removes the Xcode build directory.
- Commit:
eb159e0a8d38449c10680cf3ed747fdb5c5adbc8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Xcode: define TARGET_VENDOR and TARGET_OS
- Commit:
df3473c9c102aef7ccbdf0d8188dac318e72ac5e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add new and missing files to Mac OS X Xcode project
- Commit:
a11e895045a52f4b57cfc69a8f051af6f0c25997
- From:
- Alexander Barton <alex@barton.de>
- Date:
Rename Channel_Free() to Free_Channel(), it is a local function
- Commit:
175f0af979bfdb6dfde1535dd7de6a452cf98e32
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up channel allocation table on shutdown/restart.
Silly bug: the condition of a while() loop in the Channel_Exit() function
used the wrong variable and therefore got never executed ...
This bug is in the code since the beginning (see commit bb19cfda in 2002);
shame on me!
- Commit:
40a0e9abbe8cfd959dd920f2af32976f1eda1a6a
- From:
- Florian Westphal <fw@strlen.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Add Channel_Free().
Central function to free a channel structure and all its resources
(invite/ban lists, topic, ...).
- Commit:
0659503afd8b8ea4909e4609a7ae65d20de47091
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up (reformat and comment) Delete_Channel() function.
- Commit:
18efc7469c5923a298a218ee2d17f518cff184fa
- From:
- Alexander Barton <alex@barton.de>
- Date:
Free topic array on channel deletion.
The topic array in the CHANNEL structure must be free()'d before the
channel itself becomes deleted.
- Commit:
fd9266df78e32104af3fa72eb5528b5615a2030e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix spelling in some documents.
- Commit:
0e4e22a7a671d1e8efbc44bffd80062191f75c38
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow pre-defined server local channels ("&").
- Commit:
9d20397470e579e603897dc4e3a80538e278491f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Spell check and enhance ngIRCd manual pages.
- Commit:
307cdce90819ec3371d18c1f46374462220d6fa3
- From:
- Florian Westphal <fw@strlen.de>
- Date:
man ngircd.conf: line break missing before the SSLConnect description
reported by Christoph Biedl.
- Commit:
dc9f42dc3c646e0c44350760e86cbe97977196c7
- From:
- Florian Westphal <fw@strlen.de>
- Date:
defines.h: remove MAX_LISTEN_PORTS, MAX_SERVICES
_SERVICES was never used; _LISTEN_PORTS is a leftover from
commit 51ccb5928ad1453b0593fedd934298384d09e619
('internal changes needed for future ssl support').
- Commit:
a971047bc5491358b2d4f7873708af5458ba5f85
- From:
- Florian Westphal <fw@strlen.de>
- Date:
Remove limit on max number of predefined channels.
This resolves Bugzilla Bug 68 ('Too many pre-defined channels configured.')
- Commit:
6500d443fc27300127e1c3b33e7c0bf1ad4407e4
- From:
- Florian Westphal <fw@strlen.de>
- Date:
channel.c: constify a few function arguments.
- Commit:
d26a283ea9ae86c5c4633a46aaec69b02def7c66
- From:
- Florian Westphal <fw@strlen.de>
- Date:
use %ld as format specifier for posix data types
in the same vein as the earlier commit:
cast posix data types (pid_t, ...) to long and use
%ld as format specifier. This will avoid problems
when sizeof(int) != sizeof(type).
We could also cast to int, but this might truncate the value.
- Commit:
4b83a23d9d3aa4644dc497f14eaca2bd7f1cc347
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 13
- Commit:
8a94ec9728cef27c0b1e3a7df62f5530c6394308
- From:
- Florian Westphal <fw@strlen.de>
- Date:
don't print pid_t type with %ld format specifier
Reported by Christoph Biedl:
ngircd[21581]: Running as user irc(39), group irc(39), with PID 140733193409613.
cast pid_t to long to avoid this.
While we are there, cast uid_t and gid_t, too.
- Commit:
e5fea5380d29f02027b41d55bddf89cccd44d0b7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Update the date ("Dec 2008") of the manual pages.
- Commit:
9a82ca0d6b3309636da38129285971d8080cd6f6
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: added x86_64/unknown/linux-gnu
- Commit:
e573f54b0cb9fd182cfcdbbb70e4e01936d33c0a
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: update list of tested platforms.
- Commit:
e070d93f649f76a57ce4c01782887e375f3cfba3
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/SSL.txt: enhance documentation.
- Commit:
1519afa391d7cb33957892fded23e1b1e178f1f3
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Services.txt: explain which IRC Services versions are compatible
- Commit:
85ce82e504d4cd7d505d215c973e55cf14101cd8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Testsuite start-server.sh: return correct exit code.
src/testsuite/start-server.sh returns 0 when no errors occurred and the
daemon has been startet and 1 on errors. Always returning 0 is wrong ...
- Commit:
83c699d5a559acecc9b62767e4ffcf8fb50dfbb5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make testsuite (getpid.sh) work on OpenSolaris (i386/pc/solaris2.11).
- Commit:
56cf95278e24fb2df8742bcfddd2d6ea0a61accb
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Services.txt: document using ngIRCd with IRC Services.
- Commit:
d0b2526a01c57f54e3899d4c8fd878005d701116
- From:
- Alexander Barton <alex@barton.de>
- Date:
sample-ngircd.conf: remove now unused CVS "$Id$"
- Commit:
7cf9d93aeebad0b7b5bdf1ef1de58d2e7b2300e4
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngIRCd release 13~rc1
- Commit:
ffc5f93ef543189626e0e4e269f125aea15a5053
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix double minus signs in manual pages
This patch fixes the following lintian(1) warning: "Manual page seems
to contain a hyphen where a minus sign was intended. '-' chars are
interpreted as hyphens (U+2010) by groff, not as minus signs (U+002D).
Since options to programs use minus signs (U+002D), this means for
example in UTF-8 locales that you cannot cut&paste options, nor search
for them easily. '-' must be escaped ('\-') to be interpreted as minus."
- Commit:
97d97ef5c4e0d5494e4b1301903c7730df6421a1
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian package ("make deb"): fix some lintian(1) warnings
- Commit:
2eb564ccaa0c560a49cb46bfc2ce8bd5dec77b57
- From:
- Alexander Barton <alex@barton.de>
- Date:
Change formatting of some log messages
- Fix formatting of some log messages, mostly punctuation.
- cb_Connect_to_Server(): don't use string concatenation, because it
is not supported by pre-ANSI C compilers ...
- Commit:
14baf64f41b696e7a04eb7c63b1776d0dc94a980
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix pem_passwd_cb(): unused variable "rwflag" (OpenSSL)
This patch fixes the following warning of GCC (version 4.3.2) in
function pem_passwd_cb() when compiling with OpenSSL support and
without debug code:
conn-ssl.c: In function 'pem_passwd_cb':
conn-ssl.c:122: warning: unused parameter 'rwflag'
- Commit:
4c113d8850dfc423e3dae2d2f90e7e9a9d42f0b0
- From:
- Alexander Barton <alex@barton.de>
- Date:
New configuration option "NoIdent" to disable IDENT lookups
The new configuration option "NoIdent" in ngircd.conf can be used to
disable IDENT lookups even when the ngIRCd daemon is compiled with IDENT
lookups enabled.
- Commit:
3243d9ee441e9cd4338965bac7c2ed3b49a3c2dd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement the IRC command "SERVLIST"
The IRC command "SERVLIST" lists all the registered services, see RFC 2811, section 3.5.1.
The syntax is "SERVLIST [<mask> [<type>]]". The parameter <type> is not used by ngIRCd at
the moment, all registered services are of type 0 (which is the default when omitted).
- Commit:
672b391523fcc33e4645980c10342478dd1baeb0
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated NEWS and ChangeLog, using NEWS for news only :-)
- Commit:
0eda085f1e001cb1f2381ffe3ca70299d32632d3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Create local &SERVER channel and log server messages to it
ngIRCd now creates a server-local channel &SERVER with channel modes
+mnPt (moderated, no messages from outside the channel, persistent and
with the topic locked) and logs all the messages to it that a user with
mode +s ("server messages") receives.
If an IRC operator withdraws the +P ("persistent") mode and the &SERVER
channel is freed because of no members, nothing special happens. The
channel can be recerated any time later and ngIRCd would begin logging
to it again.
- Commit:
2cc21caf32323ebd778c16c8a7b69cd12d6ff01f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implement local channels (prefix "&")
This patch implements server-local channels, prefix "&", that are only
visible to users of the same local server and not in the network.
Patch written by Scott Perry (2008-06-04), see:
- http://arthur.barton.de/cgi-bin/bugzilla/show_bug.cgi?id=87
- http://arthur.barton.de/cgi-bin/bugzilla/attachment.cgi?id=24&action=view
- Commit:
7b69bc2ae80f43bb6ed823760c01132be83fa2b9
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added some missing files of GIT tree to distribution archives
The following bits and bytes were not included in distribution archives:
- contrib: ngindent, ngircd.sh
- contrib/Debian: ngircd.postinst
- contrib/MacOSX: preinstall.sh, postinstall.sh
- doc/src: Doxyfile, header.inc.html, footer.inc.html, ngircd-doc.css
- src/portab: splint.h
- Commit:
7ad167f4c43948f19125123a27dbe68a93e863b8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Test suite: start two servers and test server-server links
I changed the test suite to start two test servers (on port 6789 and 6790),
so server-server links can be tested as well for which I included the new
test script "server-link-test.e".
In addition the documentation of the test suite (src/testsuite/README) has
been updated and is more complete now.
- Commit:
920d0636ff5741cb191f895e97ad151186701816
- From:
- Alexander Barton <alex@barton.de>
- Date:
Add conf-ssl.h to "noinst_HEADERS"
conf-ssl.h must be listed in "noinst_HEADERS" so that it becomes included
in distribution archives generated by "make dist" and "make distcheck".
- Commit:
54e6a2dce5ef34a3ccc971af622fef33e6cb8950
- From:
- Alexander Barton <alex@barton.de>
- Date:
Re-add CVE identifiers to ChangeLog.
I'm lame. My last commit removed all the CVE numbers recently added in
commit 598df0758 to the ChangeLog ... shame on me!
See all the CVE entries of ngIRCd at:
<http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=ngircd>
- Commit:
b01a9bd86473c3100be059b9e6f35f97bcbbf6d2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated NEWS and ChangeLog to include 0.12.1 and the development version
- Commit:
9f067a059d9f64c68a73a2f7fbf5308ee342fe2a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Connection counter: count outgoing connections as well.
This patch lets ngIRCd count outgoing connections as well as incoming
connections (up to now only outgoing connections have been counted). This
change is required because the Conn_Close() function doesn't know whether
it closes an outgoing connection or not and therefore would decrement the
counter below zero when an outgoing connection existed -- which would
trigger an assert() call ...
Please note that this patch changes the (so far undocumented but now fixed)
behaviour of the "MaxConnections" configuration option to account the sum
of the in- and outbound connections!
- Commit:
5a91d621009d6a0f3b8e5ff054aa6ae7e3195191
- From:
- Alexander Barton <alex@barton.de>
- Date:
Ignore numeric 020 ("please wait while we process your coinnection")
Some servers send the numeric 020 ("please wait while we process your
connection") when a client connects. This is no useful information for
this server, so we simply ignore it :-)
- Commit:
3a5b7b63ae493aeff7b6ec85ebbfbc39202d0bc4
- From:
- Alexander Barton <alex@barton.de>
- Date:
GNUTLS: define new API types when installed library is too old
This patch enables ngIRCd to use GNUTLS in really old versions, tested
with version 1.0.16, that don't define the "new" data types ending in
xxx_t. LIBGNUTLS_VERSION_MAJOR isn't defined there as well, so we use
it to test if we must define the new types on our own.
- Commit:
9308541e6df05d141ea51125877239e01ee5a1f5
- From:
- Alexander Barton <alex@barton.de>
- Date:
Console log: output timestamp (seconds since start) for resolver, too
- Commit:
027cf22267e18cc8dec8f4e729267f9dec2060c3
- From:
- Alexander Barton <alex@barton.de>
- Date:
Console log: output timestamp (seconds since start of daemon)
- Commit:
125c05fba0315da143c3431a41bd930fcb992501
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conn-ssl.c: work around gnutls API problems on 64 bit platforms
Alexander Barton reported a compiler warning on 64-bit platforms:
cc1: warnings being treated as errors
conn-ssl.c: In function 'ConnSSL_Init_SSL':
conn-ssl.c:403: error: cast to pointer from integer of
different size
Unfortunately, I couldn't find a real solution; the GNUTLS
API expects 'gnutls_transport_ptr_t' (which is void*),
but the default push/pull functions (send/recv) expect an int.
The only alternative solution is to pass in an address to the
file descriptor, then add send/recv wrappers that expect a pointer.
What a mess[tm].
- Commit:
fb19b05e1e3d638062dcfc4c263b02e7429c4d20
- From:
- Alexander Barton <alex@barton.de>
- Date:
GIT: don't ignore cvs-version.{h|new}, because it isn't used any more.
- Commit:
34b2f0085d8bf15d1187e743ae17f069acec7090
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix ForwardLookup(): "ISO C90 forbids specifying subobject to initialize"
This patch fixes the following warning of GCC (version 4.3.2) in
function ForwardLookup():
resolve.c: In function 'ForwardLookup':
resolve.c:282: warning: ISO C90 forbids specifying subobject to initialize
resolve.c:284: warning: ISO C90 forbids specifying subobject to initialize
resolve.c:285: warning: ISO C90 forbids specifying subobject to initialize
- Commit:
ce2541a8266a1029ad7fef3aa82bfca22adec697
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix ConnSSL_LogCertInfo(): unused variable "cred" (GNUTLS)
This patch fixes the following warning of GCC (version 4.3.2) in
function ConnSSL_LogCertInfo() when compiling with GNUTLS support:
conn-ssl.c: In function 'ConnSSL_LogCertInfo':
conn-ssl.c:542: warning: unused variable 'cred'
- Commit:
d44a7dac26c8dc1e756fb82074a3e7f298803f13
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: build ngircd-full with support for GNU TLS and IPv6.
- Commit:
475ce1e93c25241a9e72289ce11d4b3ac2bbfdc2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Debian: make sure that /var/run/ircd is owned by user "irc".
- Commit:
0cba8f362a29af3cbe26a24525f3899dcf5bbc1e
- From:
- Alexander Barton <alex@barton.de>
- Date:
GIT: Ignore Debian-related generated files.
Added files that become generated while building Debian GNU/Linux
packages of ngIRCd to the .gitignore lists.
- Commit:
afd65bc728911b539749025bbac9b154dcf8aae7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Updated config.{guess|sub} to version 2008-01-16.
- Commit:
f92a614a35699f5192b8ea85a5844c3bf57ec0b6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enable KICK to be handled from remote servers and from services.
- Commit:
ec0b405d9d75045e521136ff28e42d7212f14834
- From:
- Alexander Barton <alex@barton.de>
- Date:
Respect RFC 1459 compatibility mode when announcing channels (no NJOIN).
- Commit:
1d6dcb25c4d9cc87646e9a9de34d2df4e9502161
- From:
- Alexander Barton <alex@barton.de>
- Date:
Document the server flag "S": SERVICE command is supported.
- Commit:
178f9cbdac3bbeb58600268791916f3bfbcbd958
- From:
- Alexander Barton <alex@barton.de>
- Date:
Announce IRC services in the network.
This patch
- introduces a new server flag "S" to indicate that the server can handle
the SERVICE command (on server links),
- implements the IRC command "SERVICE" for server-server links,
- uses the "SERVICE" command to announce IRC services when a new
server connects to it,
- and fixes the Send_Message() function to let it send messages to
services using a "target mask".
If the remote server doesn't indicate that it can handle the "SERVICE"
command (it has not set the "S" flag), services are announced as regular
users as before.
- Commit:
6356418ae5fd66f94abda78f1ae67bbc7a59b0e4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Change Introduce_Client() to set the correct client type (user/service).
- Commit:
28e98887643bf881c11ba3b8df5e9cbcc7e967ba
- From:
- Alexander Barton <alex@barton.de>
- Date:
Convert SQUERY to PRIVMSG on RFC 1459 compliant links.
- Commit:
3afa0e06583d7f5d353f398147e9a3fd570d2720
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't allow SQUERY to send to "target masks" and channels; only services!
- Commit:
3913de3cffaa4a3641075d4b4df4aea388bc3717
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix PRIVMSG/NOTICE handler (II): keep command when forwarding to channels.
- new function ngt_UpperStr().
- change Channel_Write() to take command name and error flag.
- remove now unneeded function Channel_Notice().
- Commit:
91e87a37051018c100cff6c72eb7aaf823efe894
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function ngt_UpperStr()
- Commit:
71e9ac486f1bdbe7e14adc20969c065f6bbeafe4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix PRIVMSG/NOTICE handler Send_Message(): don't forward NOTICE as PRIVMSG.
- Commit:
d93030ad27af9cd6a807de8f672ae73ec0e1dff8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make real use of the CLIENT_SERVICE client type.
This patch enables ngIRCd to handle IRC services as real services, and not
as "fake users":
- Set correct client type CLIENT_SERVICE for services,
- Change log messages to include correct client type,
- PRIVMSG: allow users to send messages to services,
- Send services nick names to other servers (as users).
Please note that this patch doesn't announce services as services in the
network, but as regular users (as before). Only the local server knows
of services as services (see LUSERS command, for example). It is up to
one of the next patches to fix this and to introduce the SERVICE command
in server to server communication.
The propagation of services as regular users between servers doesn't limit
the functionality of the IRC services and will be the fallback for servers
that don't support "real" services propagation in the future.
- Commit:
4e125fb67cf9d00a9da0bf4602a4e5c0745bf282
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow IRC services to change their nick names.
- Commit:
33f32dbd6707f15374ca626f036ab7ada9dbb112
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Client_TypeText() and Destroy_UserOrService().
Client_TypeText() is used to get correct naming ("Client", "Service", ...)
for log messages, and Destroy_UserOrService() is used to correctly destroy
user and services clients.
- Commit:
74aac88dbf674979795a90f855f96883b43d18e6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Send_Message(): really enforce target client type.
- Commit:
0337b1ac1e128661b81901bdf2384e4ee51fa0df
- From:
- Alexander Barton <alex@barton.de>
- Date:
sample-ngircd.conf & ngircd.conf(5): document "ServiceMask" option.
- Commit:
02d76230743a63d29800afc4d2f1f2473e624793
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow ngIRCd to detect services connected to an "virtual services server".
Introduce a new configuration variable "ServiceMask" in SERVER blocks to
define a mask matching nick names that should be treated as services.
Regular servers don't need this parameter (leave it empty, the default),
but you should set it to "*Serv" when connection ircservices, for example.
This patch allows ngIRCd to detect services, it doesn't change the
functionality: you only get different log messages ;-)
- Commit:
c5342fb4670387fb7f7335e36ac3260c1e8ab514
- From:
- Alexander Barton <alex@barton.de>
- Date:
Centralize logging functions in Introduce_Client().
- Commit:
557be8c56b652751a1797f1ac1365f1ace38146a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Get rid of INTRO_INFO structure again: we don't need it at all!
All the required information is already stored in the CLIENT structure
of new new connection, so pass this to Introduce_Client() and don't
invent an unneeded new structure ...
- Commit:
687784d276feecf3c87735eef180b7df61852823
- From:
- Alexander Barton <alex@barton.de>
- Date:
Announce_User(): support RFC 1459 compatibility mode.
- Commit:
92603f7c809c79f442edfd3413a5be7906d1eacb
- From:
- Alexander Barton <alex@barton.de>
- Date:
Introduce_Client(): send MODES in RFC 1459 mode, too.
- Commit:
d070ec08ab92cb60f6d0cb7375cebfc747c1ec0f
- From:
- Alexander Barton <alex@barton.de>
- Date:
numeric.c: whitespace fixes ...
- Commit:
a60465be3ec6e6960a981c5e2c21846839359653
- From:
- Alexander Barton <alex@barton.de>
- Date:
Server links: detect RFC 1459 mode direct after SERVER command
This patch allows ngIRCd to detect right after receiving the SERVER command
from the peer whether the RFC 1459 compatibility mode must be used or not.
And it fixes the announcement of users during establishing new server links
with such peers.
- Commit:
14048c471757ad63c9ca6aab38877bf4579a5062
- From:
- Alexander Barton <alex@barton.de>
- Date:
Send and handle NICK+USER commands for user registration (RFC 1459).
This patch enables ngIRCd to deal with NICK and USER commands following
RFC 1459 to register new clients, and to send these commands instead of one
full NICK command as specified in RFC 2813 on connections that are in RFC
1459 compatibility mode.
Can be useful for e. g. IRC services that simulate a RFC 1459 server.
- Commit:
f199d637246fcd64ebf44b12ffa89fc1375e0665
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function IRC_WriteStrServersPrefixFlag_CB() using a callback function.
- Commit:
4f759d811347a578624dde37462b9a056cca0720
- From:
- Alexander Barton <alex@barton.de>
- Date:
New function Introduce_Client() to announce new local and remote users.
- Commit:
6bc2d3d06e9cb4da68ea4b63d9b6b219d88ab927
- From:
- Alexander Barton <alex@barton.de>
- Date:
New connection option CONN_RFC1459.
This new connection option CONN_RFC1459 indicates that the peer on this
link only supports the IRC protocol as defined in RFC 1459 and that the
compatibility mode (e. g. for outgoing commands like NICK) should be used.
- Commit:
a5735f68d7dd8cc7b106e0183b44002785dd8425
- From:
- Alexander Barton <alex@barton.de>
- Date:
New global function Conn_SetOption().
- Commit:
13f1d57e84c0c95876d69bde3b9990fb6c9ebaeb
- From:
- Alexander Barton <alex@barton.de>
- Date:
USER: servers and services can alter user information after registration.
This is required to do RFC 1459 style user registration on server links,
and is used by some services packages, too. See RFC 1459 section 4.1.3.
- Commit:
068d43352d98ca584af944c70a87134c28880c0e
- From:
- Alexander Barton <alex@barton.de>
- Date:
NICK: allow servers and services to use RFC 1459 syntax (2 parameters).
This patch allows servers and services to call the NICK command using the
syntax defined in RFC 1459 to register new users, with only two parameters.
See section 4.1.2.
Useful for some services packages, which emulate this protocol.
- Commit:
e56bd8ff89b224ba9d78dee69587643be909605b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Whitespace fixes: remove trailing tabulator characters.
- Commit:
2fce881d969402642cffff1ee336a37dd404b212
- From:
- Florian Westphal <fw@strlen.de>
- Date:
conn-ssl.c: don't append a newline to ConnSSL_GetCipherInfo
- Commit:
ef3327d372c159bd2a395d6854843982a5e9c54d
- From:
- Florian Westphal <fw@strlen.de>
- Date:
TLS/SSL support: code changes.
This adds the required code to enable ssl/tls support
during compile and run time, respectively.
- Commit:
ebf5edfd8788037c39818461d09874a851b845fc
- From:
- Florian Westphal <fw@strlen.de>
- Date:
TLS/SSL support: documentation.
- Commit:
bdd44eb0ab7e6ee080989c672ce6deeffae987c2
- From:
- Florian Westphal <fw@strlen.de>
- Date:
TLS/SSL support: core files.
Contains support for both OpenSSL and GNU TLS.
Certificate Authentification is not yet supported.
- Commit:
c997e043259af2663f40349490729668c7b61256
- From:
- Florian Westphal <fw@strlen.de>
- Date:
Fix handling of MaxConnections option
Config option claimed to be 'number of connections' but in reality this
was treated as 'largest file descriptor allowed'.
This also fixes another bug in New_connection, where the
ng_ipaddr_tostr_r error path was missing a return statement.
- Commit:
2c2c93e311c09faa68cbdb4939902c2bca2d5383
- From:
- Alexander Barton <alex@barton.de>
- Date:
Include "mcheck.h" when using mtrace().
- Commit:
41a23d20e4bb5dfaebc7be3241addc5251ebc158
- From:
- Alexander Barton <alex@barton.de>
- Date:
SECURITY: Fixed a message handling bug which could crash the daemon.
Some message targets could lead to a NULL pointer dereference and therefore
could crash the daemon (denial of service).
(cherry picked from commit e493ad2d30ff80bca2556cde2212e367cb006517)
- Commit:
c769cbecb6214f518135c4bb2a52479747c2bf7b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Enable GNU libc "memory tracing" when compiled with debug code.
This patch lets ngIRCd activate "memory tracing" of the GNU libc when
compiled with debug code (configure: --enable-debug) and the functionality
is available on the system.
(http://www.gnu.org/software/libc/manual/html_node/Allocation-Debugging.html)
- Commit:
707cc42dec2439da1fdee4ed3eb0e0a44d5ea9fe
- From:
- Alexander Barton <alex@barton.de>
- Date:
New make target: "osxpkg" to create an Mac OS X installer package.
This patch adds a new make target, "osxpkg", to the main Makefile which
gereates a Apple Mac OS X installer package of ngIRCd. The packagemaker(1)
project bundle is stored in contrib/MacOSX/ngIRCd.pmdoc.
- Commit:
30f1ed211d5014b964f147539970befcd7c9f7d2
- From:
- Alexander Barton <alex@barton.de>
- Date:
Clean up Mac OS X Xcode environment.
- Remove obsolete contrib/MacOSX/cvs-version.h
- Change SDK to 10.4
- Commit:
415ebc04a28579c72b5bc48b13ec21f197d2e45b
- From:
- Alexander Barton <alex@barton.de>
- Date:
doc/Platforms.txt: added Debian GNU/Hurd, "i686/unknown/gnu0.3"
- Commit:
598df07584d4a8ed69d39dde140a6e77c2d74fc4
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added CVE identifiers to ChangeLog.
see http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=ngircd
- Commit:
e4b4bb5e71f93501489bfd1f54636d3afbf49697
- From:
- Alexander Barton <alex@barton.de>
- Date:
Remove de.barton.ngircd.plist on "make clean", its a generated file.
- Commit:
dfc3de131c349a8677d4d4b885dc27f2b2f73567
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make ngIRCd compile and run on NeXTSTEP 3.3 and OPENSTEP 4.2
by Steven D. Blackford <kb7sqi@aol.com>:
"I wanted to let you know that I've done a quick port of ngircd-0.12.0 for
NEXTSTEP3.3/OPENSTEP4.2. There wasn't a lot of changes required to get it
to compile clean, but I did make the necessary changes so that I didn't
have to use -posix flag. The NeXT has a pretty buggy POSIX implementation
so I always try to work around it. :-)
Anway, here's the changes required to get it to compile."
- Commit:
338c6432501e9c50a5fc03b8b2f917b54b8f5a0b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge branch 'master' of git://ngircd.barton.de/ngircd
- Commit:
5af91fc0052cabeee956c8b0b3c61299d85f795e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Install /Library/LaunchDaemons/de.barton.ngircd.plist into $(DESTDIR)
- Commit:
0ca8156efdd730a4b625d4beed08d54ea8dab7bf
- From:
- Florian Westphal <fw@strlen.de>
- Date:
FAQ: add entry about /OPER and OperCanUseMode
- Commit:
ccbbd7d1a543728c2639b7546213f1daf8f6dd3e
- From:
- Alexander Barton <alex@barton.de>
- Date:
GIT: added src/testsuite/message-test to ignore list.
- Commit:
e5cf73b9ee97bedce655dc1b404022772189717b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix Validate_Args(): unused parameter "Idx" and "Req"
This patch fixes the following error message of GCC (tested with version
4.3.0) when not compiling ngIRCd in "strict RFC" mode:
parse.c: In function "Validate_Args":
parse.c:341: error: unused parameter "Idx"
parse.c:341: error: unused parameter "Req"
- Commit:
5df56111c492a0509c7b31d22021975778431bf3
- From:
- Alexander Barton <alex@barton.de>
- Date:
message-test: Disable two tests using "localhost" as host name
Some operating systems, for example OpenBSD and OpenSolaris, use
"localhost.<domain>" instead of just "localhost" for 127.0.0.1, so
the "message-test" using "localhost" failed on such systems.
Don't have an idee how to make this work on all platforms ... :-/
So I simply disabled the two affected tests to make the testsuite
run on OpenBSD and OpenSolaris again.
- Commit:
e5174c629c67ba84eedc6e057c66833632293e3f
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix Send_Message(): "lastCurrentTarget" may be used uninitialized
This patch fixes the following warning of GCC 4.3.1:
irc.c: In function "Send_Message":
irc.c:315: error: "lastCurrentTarget" may be used uninitialized in
this function
- Commit:
3358ad07d78f82f6aad973f56667be9f24e00563
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix t_diff(): declaration of 'div' shadows a global declaration
This patch fixes the following GCC warning message:
irc-info.c:422: warning: declaration of 'div' shadows a global declaration
- Commit:
318c8b238b1a562578e994450cb9fd08b6b65873
- From:
- Alexander Barton <alex@barton.de>
- Date:
Cosmetic whitespace and line length fixes, mostly in Send_Message().
- Commit:
f8381aafb465fce3b33ff0c0eef2a2bea4676ea8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added "message-test" to Makefile, so it is distrubuted and run.
- Commit:
d4eb55c79fb130844a08279cd574a19f188ffa99
- From:
- Brandon Beresini <beresini@google.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Cleaned up PRIVMSG and NOTICE patches.
- Commit:
2546a13ad2949192eb70bf21e114ec60af287ee4
- From:
- Brandon Beresini <beresini@google.com>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Cumulative Message Patch
- Commit:
b92a7627f3dc6b85310964d4b602bea2509dade6
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't allow empty channel names ("#") in strict RFC mode.
This closes Bug #88.
Patch proposed by Eric <egrunow@ucsd.edu>, but with wrong length
comparision: please note that Channel_IsValidName() checks the name
INCLUDING the prefix, so the test must be length<=1!
- Commit:
258143897ca1a4cbc8b97c9691a0cf83b963705a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Return 461 (syntax error) on "JOIN :" and "PART :"
Up to this patch ngIRCd did not return any result (GIT master) or a badly
formated 403 (":irc.server 403 test :No such channel" [note the two
spaces!], branch-0-12-x) on the above commands, this patch changes the
behaviour to reflect ircd 2.11 which returns 461 in both cases.
- Commit:
477f2fd9e719d757ff3d6f3515f845c37e13e354
- From:
- Alexander Barton <alex@barton.de>
- Date:
Channel_Join(): Code cleanup.
- Commit:
e37080400b6d8a80828c986e90991fcb598d5399
- From:
- Alexander Barton <alex@barton.de>
- Date:
Added more supported and tested platforms to doc/Platforms.txt.
- Commit:
3f013241605484ac2b4dba6412ae7680a21ee46c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fixes to misc-test: accept "localhost.<domain>" as well as "localhost"
Some operating systems, for example OpenBSD, use "localhost.<domain>"
instead of "localhost", so the "who-test" expecting "localhost" failed
on such systems.
(Please see 149859c5fecc..., which fixes this for the who-test already)
- Commit:
4467d127c2306c5bd0c0e3fe50ee470b604f5946
- From:
- Alexander Barton <alex@barton.de>
- Date:
Revert "dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..]"
- Solaris needs both -lsocket _and_ -lnsl
- A/UX needs -lUTIL
"... which totally sucks because we'd link libnsl on Linux, too
(where its not needed at all). So, we have to figure out how to tell
autocrap to NOT put -lnsl there unless it exports a symbol we need.
This also means that [...] has to be reverted (or done properly)."
-- Florian Westphal @ #ngircd
This reverts commit 2b14234abc252383679bae2d23861b773dc9713e.
- Commit:
2b14234abc252383679bae2d23861b773dc9713e
- From:
- Florian Westphal <fw@strlen.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..]
(they use none of its symbols).
So, rip out that AC_CHECK_LIB cruft, pointed out by Christoph Biedl.
If there are platforms that really need that we should
only link when we actually use these libraries.
- Commit:
b945726ac22ae237c14508593fe63cc9f9d025fd
- From:
- Alexander Barton <alex@barton.de>
- Date:
Merge autogen.sh changes
Merge commit 'alex/master'
- Commit:
da160d020ee2c2911a0d2ad2fd1074e8971db0ad
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh: Don't set AUTO{CONF|MAKE}_VERSION and WANT_AUTO{CONF|MAKE}
On some systems (for example Gentoo Linux, FreeBSD, and OpenBSD), these
variables are used to select which version of GNU automake and autoconf
to use, but we shouldn't depend on a specific version -- instead we
should use the "system default". So probably it is up to the user to
set these variables accordingly to set up some wrapper scripts of his
operating system distribution.
- Commit:
71562ebe572d70c9b8e5fd5990001e9e2b149a51
- From:
- Eric Grunow <egrunow@ucsd.edu>
- Via:
- Florian Westphal <fw@strlen.de>
- Date:
Translated comments from German to English
- Commit:
b95345731ec6875415ebe108d27f5517e113e53b
- From:
- Alexander Barton <alex@barton.de>
- Date:
autogen.sh: correctly test for and export ACLOCAL variable
- Commit:
258e39e89f494600cf142ba1fd768f2faa285dbf
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix GCC warnings for possibly uninitialized variables in IRC_JOIN
This patch fixes the following two warnings of GCC 4.2.4:
irc-channel.c: In function "IRC_JOIN":
irc-channel.c:185:
warning: "lastkey" may be used uninitialized in this function
irc-channel.c:185:
warning: "lastchan" may be used uninitialized in this function
- Commit:
e142c50ae69182d484e55a3da1f065f3d958d93e
- From:
- Alexander Barton <alex@barton.de>
- Date:
GIT: added src/src/config.h.in~ to ignore list.
- Commit:
a84f7dcee5a1b32c74188aa5374d30eddd24852b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Allow mixed line terminations (CR+LF/CR/LF) in non-RFC-compliant mode
Up to now ngIRCd accepted CR+LF as well as a single CR or LF in "non RFC
compliant" mode (the default). But ngIRCd became confused when it received
data containing mixed line endings (e. g. "111\r222\n333\r\n").
This patch enables ngIRCd (in "non RFC compliant" mode) to detect CR+LF,
CR, and LF as equally good line termination sequences and to always end the
command after the first one detected.
Some clients (for exmaple Trilian) are that ... broken to send such mixed
line terminations ...
First patch proposed by Scott Perry <scperry@ucsd.edu>,
Thanks to Ali Shemiran <ashemira@ucsd.edu> for testing!
- Commit:
8644cbf197807909e4caea184278872cdeca1963
- From:
- Alexander Barton <alex@barton.de>
- Date:
Don't allow stray \r or \n in command parameters
If ngircd receives an input line like "COMMAND arg\nIRRELEVANT\r\n",
"arg\nIRRELEVANT" is passed as an argument to COMMAND. This can lead
to output like:
:ngircd.test.server 322 nick #chan 1 :
topicwithprecedingnewline
:ngircd.test.server 322 nick #nxtchan 1 :
[..]
Worse, this allows clients to piggyback irc commands, e.g.
"TOPIC #a :test\n:fake!~a@nonexistant JOIN :#a\r\n", which
causes the client to receive a JOIN command during /LIST output.
Bug reported by Scott Perry, first patch by Florian Westphal.
- Commit:
4c121f277da634d62a382457eb1df354cfb77b9b
- From:
- Alexander Barton <alex@barton.de>
- Date:
GIT: ignore de.barton.ngircd.plist, it is a generated file.
- Commit:
12f5b0579bbb0bd754348270ce22b4ad885e9374
- From:
- Alexander Barton <alex@barton.de>
- Date:
ngircd.init: use LSB logging functions, if available.
- Commit:
6f7b669becb0ebf2058fa2bbe834de48c01de933
- From:
- Alexander Barton <alex@barton.de>
- Date:
--configtest: return non-zero exit code if there are errors
- Commit:
951314cb79fa18c00ff2443521b2d84c5199715e
- From:
- Alexander Barton <alex@barton.de>
- Date:
Handle_Buffer(): code cleanup.
Both callers ignore the return code of this function, so get rid of it,
but make sure that the client is disconnected on errors.
- Commit:
d36087139482812b6a537e88fa689cca84d4b844
- From:
- Alexander Barton <alex@barton.de>
- Date:
Conn_Handler(): cleanup code, add/translate comments.
In addition, the "timeout" variable has been removed because it is
unnecessary today: Handle_Buffer() handles all the data it can handle,
and io_dispatch() returns immediately when new data is available. So
we don't have to double-check but better sleep. Pointed out by Florian.