about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)Author
2012-01-01New configuration option "PAMIsOptional"Alexander Barton
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.
2011-12-31PAM: don't use global password buffer for conv structAlexander Barton
Use the pointer of the password of the client directly. Eventually we can get rid of the global password again ...
2011-12-30Fixed handling of WHO commandsAlexander Barton
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-30Remove unused "time_t now" from Lists_Check()Alexander Barton
This fixes: lists.c: In function ‘Lists_Check’: lists.c:330:9: warning: variable ‘now’ set but not used
2011-12-30Fixed some spelling errors in documentation and code commentsAlexander Barton
Thanks to Christoph Biedl!
2011-12-30Fixed typo in two error messagesAlexander Barton
Thanks to Christoph Biedl!
2011-12-28LUSERS reply: only count "visible" channelsAlexander Barton
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-28IRC_Send_LUSERS(): Code cleanupAlexander Barton
2011-12-28Don't stop mode handling on unknown modes; skip itAlexander Barton
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-25IRC_xLINE(): output an error message for unexpected "lines"Alexander Barton
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-25Update list item, if it already existsAlexander Barton
This updates the "validity" (timeout) as well as the "reason" text, if given.
2011-12-25Lists_CheckDupeMask(): return pointer to already existing itemAlexander Barton
The old behavior of returning true/false is compatible to this change, so there are no other code changes required.
2011-12-25Log better error messages when rejecting clientsAlexander Barton
2011-12-25Synchronize G-Lines on server loginAlexander Barton
2011-12-25Op_Check(): always accept commands from a remote server itselfAlexander Barton
2011-12-25Class_GetList() now retuns a pointer to list_head structureAlexander Barton
2011-12-25Check G-Line and K-Line lists after authenticating clientsAlexander Barton
2011-12-25New functions Lists_Expire() and Class_Expire()Alexander Barton
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-25Implement IRC_xLINE(): handler for "GLINE" and "KLINE" commandsAlexander Barton
2011-12-25Op_Check(): return client that initiated the request or NULLAlexander Barton
The old behavior of returning true/false is compatible to this change, so there are no other code changes required.
2011-12-25irc-oper.c: code cleanup; more documentationAlexander Barton
2011-12-25Implement IRC "STATS g" and "STATS k" commandAlexander Barton
2011-12-25New function Class_GetList()Alexander Barton
2011-12-25lists.{c|h}: code cleanup; more documentationAlexander Barton
2011-12-25List and class handling: add optional "reason" textAlexander Barton
Adjust Lists_Add() and Class_AddMask() accordingly, implement Lists_GetReason() and Lists_GetValidity().
2011-12-24Add new class.{c|h} to projectAlexander Barton
Implement Class_{AddMask|DeleteMask|IsMember}() functions.
2011-12-24Lists: change "only once" property into "valid until"Alexander Barton
The old "only once" true/false behavior is still supported, so there are no other code changes required.
2011-12-07Configuration: get rid of Conf_Oper_Count and Conf_Channel_CountAlexander Barton
Count elements dynamically when needed.
2011-12-04Suppress 'Can't create pre-defined channel: invalid name: ""' messagesAlexander Barton
Skip predefined channel structures that have configured no name, like the "--configtest" does.
2011-11-25Only use poll() when poll.h exists as wellAlexander Barton
2011-11-10whois-test: handle local hostname = "localhost.localdomain"Alexander Barton
Use the pattern "localhost*" for valid local hostnames.
2011-11-06Test for gai_strerror()Alexander Barton
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-06Only use AI_NUMERICHOST if it is #define'dAlexander Barton
It isn't using GNU libc 2.0.7, for example ...
2011-11-05defines.h: fix comment: "lenth" -> "length"Alexander Barton
Reported by Christoph Biedl in #ngircd. Thanks!
2011-11-05Init_Server_Struct(): correctly zero Server->bind_addrAlexander Barton
Don't use the size of the pointer, use the size of the variable!
2011-11-03Clean up and fix comments of Check_ArgIsTrue()Alexander Barton
Thanks to kaFux for pointing this out! And fix code formatting as well ...
2011-09-07Only close "unrelated" sockets in forked child processesAlexander Barton
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)
2011-08-26Implemented user mode "R" and channel mode "R"Alexander Barton
- 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-23Use Proc_Close() to remove no longer unused pipes to child processesAlexander Barton
This removes spurious (but harmless) debug messages.
2011-08-23New function Proc_Close() to shutdown pipes to child processesAlexander Barton
2011-08-23Introduce DEBUG_BUFFER, rework some debug messagesAlexander Barton
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-22Testsuite: bind to loopback (127.0.0.1) interface onlyAlexander Barton
2011-08-19New 2nd message "Nickname too long" for error code 432Alexander Barton
2011-08-19Client_CheckNick(), Client_IsValidNick(): code cleanupAlexander Barton
2011-08-13Merge branch 'ServerMode'Alexander Barton
* 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]
2011-08-09Merge branch 'bug113-SrvPrefix'Alexander Barton
* bug113-SrvPrefix: Slightly change (and document!) IRC_KILL() calling convention Spoofed prefixes: close connection on non-server links only
2011-08-02Cast getpid() and time() results for srand() inputAlexander Barton
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)
2011-08-02IRC_QUIT(): disconnect directly linked servers sending QUITAlexander Barton
Without this patch, the server becomes removed from the network and the client structures, but the connection isn't shut down at all ...
2011-08-01Handle channel user modes 'a', 'h', and 'q' from remote serversAlexander Barton
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.
2011-08-01Handle unknown channel modes on server linksAlexander Barton