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
Alexander Barton
8e193df973
Only use poll() when poll.h exists as well
2011-11-25 22:06:44 +01:00
Alexander Barton
9d348d00d9
Not only check for poll(), make sure poll.h exists as well
...
This fixes building ngIRCd on Debian GNU/Linux 1.3 "Bo" :-)
2011-11-25 21:56:33 +01:00
Alexander Barton
9e48f3f8f8
whois-test: handle local hostname = "localhost.localdomain"
...
Use the pattern "localhost*" for valid local hostnames.
2011-11-10 11:54:22 +01:00
Alexander Barton
e4a06844a3
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 .
2011-11-08 21:12:01 +01:00
Alexander Barton
20ccc1bba7
Update GPL 2 license text to current version
...
See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt >.
2011-11-06 21:53:15 +01:00
Alexander Barton
13d9e0c5a7
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().
2011-11-06 14:16:59 +01:00
Alexander Barton
a7911e35af
Only use AI_NUMERICHOST if it is #define'd
...
It isn't using GNU libc 2.0.7, for example ...
2011-11-06 14:13:49 +01:00
Alexander Barton
60812b6fdf
defines.h: fix comment: "lenth" -> "length"
...
Reported by Christoph Biedl in #ngircd. Thanks!
2011-11-05 00:35:18 +01:00
Alexander Barton
1ea6811616
Init_Server_Struct(): correctly zero Server->bind_addr
...
Don't use the size of the pointer, use the size of the variable!
2011-11-05 00:21:19 +01:00
Alexander Barton
d2f54abbed
Clean up and fix comments of Check_ArgIsTrue()
...
Thanks to kaFux for pointing this out!
And fix code formatting as well ...
2011-11-03 09:54:28 +01:00
Alexander Barton
07dbb73c92
Update doc/GIT.txt
2011-09-07 15:39:41 +02:00
Alexander Barton
30796698a9
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 6ebb31ab35
)
2011-09-07 14:51:16 +02:00
Alexander Barton
f173a974be
Added doc/Modes.txt: document modes supported by ngIRCd
2011-08-26 16:16:53 +02:00
Alexander Barton
8aac366802
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.
2011-08-26 15:26:38 +02:00
Alexander Barton
69803d6ff1
Use Proc_Close() to remove no longer unused pipes to child processes
...
This removes spurious (but harmless) debug messages.
2011-08-23 12:32:05 +02:00
Alexander Barton
be6994aece
New function Proc_Close() to shutdown pipes to child processes
2011-08-23 12:31:17 +02:00
Alexander Barton
1361b3742d
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."
2011-08-23 12:28:04 +02:00
Alexander Barton
d3036c74e9
Testsuite: bind to loopback (127.0.0.1) interface only
2011-08-22 16:54:24 +02:00
Alexander Barton
553e8b6aa3
doc/Platforms.txt: ngIRCd 18 on Nexenta works
...
Thanks to Götz Hoffart for testing!
2011-08-19 15:51:56 +02:00
Alexander Barton
51d7674ee7
New 2nd message "Nickname too long" for error code 432
2011-08-19 11:09:40 +02:00
Alexander Barton
1189200d4a
Client_CheckNick(), Client_IsValidNick(): code cleanup
2011-08-19 10:44:26 +02:00