Alexander Barton
edab86e0f8
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).
2012-01-03 20:37:41 +01:00
Alexander Barton
e4006a93e3
NGIRCd_Init(): Code cleanup
2012-01-03 19:34:54 +01:00
Alexander Barton
9069380ddf
main(): Code cleanup
2012-01-03 19:25:31 +01:00
Alexander Barton
ab188c1486
README: point to included COPYING file, not gnu.org
2012-01-03 18:56:31 +01:00
Alexander Barton
5eb9f2e717
Update Copyright notices for 2012
2012-01-03 11:30:45 +01:00
Florian Westphal
abfc5c6e27
lists: don't crash if reason ptr is NULL
...
commit 15fec92ed7
(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.
2012-01-02 23:43:13 +01:00
Alexander Barton
565523cbb4
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!
2012-01-02 15:23:17 +01:00
Alexander Barton
013298d4c6
IRC_JOIN(): Code cleanup
2012-01-02 15:22:52 +01:00
Alexander Barton
af13732ec7
ISON command: reply with correct upper-/lowercase nick names
...
Reported by Cahata -- thanks!
2012-01-02 15:06:44 +01:00
Alexander Barton
408a74b865
IRC_ISON(): Code cleanup
2012-01-02 15:04:40 +01:00
Alexander Barton
f47904bf95
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
2012-01-02 00:56:31 +01:00
Alexander Barton
70eb8219f5
Update NEWS and ChangeLog for next ngIRCd release
2012-01-01 23:14:28 +01:00
Alexander Barton
9e5b9ddad0
ngircd.conf.5: reword description of "Ports" variable
2012-01-01 17:39:07 +01:00
Alexander Barton
56b7e67307
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.
2012-01-01 17:12:36 +01:00
Alexander Barton
b681aa5b9f
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 ...
2011-12-31 18:06:17 +01:00
Alexander Barton
b32f3b76e9
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.
2011-12-31 18:04:58 +01:00
Alexander Barton
1a5ed654b4
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.
2011-12-30 14:57:12 +01:00
Alexander Barton
9cbb8f3bb8
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
2011-12-30 01:03:59 +01:00
Alexander Barton
e19ce437ca
Fixed some spelling errors in documentation and code comments
...
Thanks to Christoph Biedl!
2011-12-30 00:50:27 +01:00
Alexander Barton
4e550bf9ef
contrib/Debian/control: Update and complete "Build-Depends"
2011-12-30 00:40:18 +01:00
Alexander Barton
1d29a59f7e
Update our Debian package descriptions with "official" ones
...
See Debian Bug #648241 for details.
2011-12-30 00:36:26 +01:00
Alexander Barton
765c2f26ea
Fixed typo in two error messages
...
Thanks to Christoph Biedl!
2011-12-30 00:32:11 +01:00
Alexander Barton
69fa6f268a
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!
2011-12-28 15:11:01 +01:00
Alexander Barton
43509fd22c
IRC_Send_LUSERS(): Code cleanup
2011-12-28 14:52:21 +01:00
Alexander Barton
a71abfef4b
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!
2011-12-28 14:46:17 +01:00
Alexander Barton
8a8e8a3a23
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
2011-12-25 20:11:43 +01:00
Alexander Barton
65befdafaa
README: Update list of implemented commands
2011-12-25 20:01:28 +01:00
Alexander Barton
15fec92ed7
Update list item, if it already exists
...
This updates the "validity" (timeout) as well as the "reason" text,
if given.
2011-12-25 19:43:00 +01:00
Alexander Barton
1e4a00f94f
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.
2011-12-25 19:42:03 +01:00
Alexander Barton
338758799d
Log better error messages when rejecting clients
2011-12-25 19:27:06 +01:00
Alexander Barton
164e15b8c6
Synchronize G-Lines on server login
2011-12-25 19:12:40 +01:00
Alexander Barton
32bfafafd9
Op_Check(): always accept commands from a remote server itself
2011-12-25 19:11:43 +01:00
Alexander Barton
6ef20e0f9a
Class_GetList() now retuns a pointer to list_head structure
2011-12-25 19:11:07 +01:00
Alexander Barton
e86e193e01
Check G-Line and K-Line lists after authenticating clients
2011-12-25 18:03:35 +01:00
Alexander Barton
ae5ebfb9f0
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 :-)
2011-12-25 17:44:20 +01:00
Alexander Barton
e9e6224aae
Implement IRC_xLINE(): handler for "GLINE" and "KLINE" commands
2011-12-25 16:57:36 +01:00
Alexander Barton
e23f025dd6
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.
2011-12-25 16:52:31 +01:00
Alexander Barton
3ca8703309
irc-oper.c: code cleanup; more documentation
2011-12-25 16:08:00 +01:00
Alexander Barton
fc82efc3e8
Implement IRC "STATS g" and "STATS k" command
2011-12-25 14:50:19 +01:00
Alexander Barton
dc9fcb0fb2
New function Class_GetList()
2011-12-25 14:49:52 +01:00
Alexander Barton
2b95c69ea1
lists.{c|h}: code cleanup; more documentation
2011-12-25 14:48:13 +01:00
Alexander Barton
af70c3dbc9
List and class handling: add optional "reason" text
...
Adjust Lists_Add() and Class_AddMask() accordingly, implement
Lists_GetReason() and Lists_GetValidity().
2011-12-25 14:19:45 +01:00
Alexander Barton
1e054e0b82
Add new class.{c|h} module to Xcode project
2011-12-24 14:24:07 +01:00
Alexander Barton
06a20b87c4
Add new class.{c|h} to project
...
Implement Class_{AddMask|DeleteMask|IsMember}() functions.
2011-12-24 13:40:27 +01:00
Alexander Barton
fea2194fc0
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.
2011-12-24 13:34:25 +01:00
Alexander Barton
872dc5042d
Xcode: update project file for Xcode 4.2
2011-12-24 13:22:34 +01:00
Alexander Barton
e1315f30fd
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 '('
2011-12-24 13:16:38 +01:00
Alexander Barton
0a85c58878
Configuration: get rid of Conf_Oper_Count and Conf_Channel_Count
...
Count elements dynamically when needed.
2011-12-07 10:52:30 +01:00
Alexander Barton
ee21490887
./configure: Fix logic and quoting of poll() detection code
...
This fixes commit 8e193df
...
2011-12-05 00:20:27 +01:00
Alexander Barton
8fa92f0a24
Suppress 'Can't create pre-defined channel: invalid name: ""' messages
...
Skip predefined channel structures that have configured no name,
like the "--configtest" does.
2011-12-04 22:35:20 +01:00