summary refs log tree commit diff
AgeCommit message (Collapse)Author
2010-07-13Don't Proc_Kill() childs after Proc_Read(): done there already.Alexander Barton
2010-07-13Don't even fork a PAM-subprocess if "NoPAM" option is setAlexander Barton
2010-07-13Use Proc_GenericSignalHandler() as handler for SIGTERM by defaultAlexander Barton
2010-07-13Mark some variables as "unused" to prevent compiler warningsAlexander Barton
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.
2010-07-13Set NoPAM=yes in configuration files used for the testsuiteAlexander Barton
2010-07-13New configuration option "NoPAM" to disable PAMAlexander Barton
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.
2010-07-12io.c: Include conn.h when using the select() APIAlexander Barton
2010-07-12Use correct preprocessor syntax when testing for PAM and IDENTAUTHAlexander Barton
2010-07-12Make sure signal.h is #include'd when neededAlexander Barton
2010-07-12Initial documentation for using PAM with ngIRCdAlexander Barton
2010-07-12Implement asynchronous user authentication using PAMAlexander Barton
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.
2010-07-12Add new pam.{c|h} module to Xcode projectAlexander Barton
Adjust Xcode project and Mac OS X static config.h header to use PAM.
2010-07-12Add pam.{c|h} to project and implement PAM_Authenticate() functionAlexander Barton
2010-07-11New functions Client_[Set]OrigUser() to get/set user specified by peerAlexander Barton
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.
2010-07-11Detect PAM librariesAlexander Barton
2010-07-11Refactor Resolve_Read() into generic Proc_Read() functionAlexander Barton
2010-07-11Make Proc_Kill() more fault-tolerantAlexander Barton
2010-07-11New function Conn_GetProcStat()Alexander Barton
Get PROC_STAT sub-process structure of a given connection.
2010-07-11Code cleanup: don't reset penalty time on DNS resolver resultAlexander Barton
See commit d4632a727fbee6: it's not necessary any more!
2010-07-01New function Proc_GenericSignalHandler()Alexander Barton
2010-07-01Rename Log_[{Init|Exit}_]Resolver to Log_[{Init|Exit}_]SubprocessAlexander Barton
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.
2010-06-30Don't #include client.h when conn.h/conn-func.h is already includedAlexander Barton
conn.h and cinn-func.h both already #include client.h, so it is not needed to do it twice.
2010-06-29New function Conn_GetFromProc() to get CONN_ID of a subprocessAlexander Barton
Get CONN_ID from file descriptor associated to a subprocess structure.
2010-06-29Resolver: Implement signal handler and catch TERM signalAlexander Barton
2010-06-29Don't set a penalty time when doing DNS lookupsAlexander Barton
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.
2010-06-29Update comments: subprocesses not only can be resolver processesAlexander Barton
2010-06-29Refactoring: Rename CONNECTION.res_stat to .proc_statAlexander Barton
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.
2010-06-29New "module" proc.c/proc.h for generic process handlingAlexander Barton
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.
2010-06-29Only #include resolve.h if it is really neededAlexander Barton
2010-06-26Fix redundant redeclaration of Conn_Count*() functionsAlexander Barton
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
2010-06-26const'ify Conn_WriteStr() functionAlexander Barton
2010-06-26const'ify Send_ListChange() function in irc-mode.cAlexander Barton
2010-06-26const'ify IRC_WriteStrXXX() and Get_Prefix() functionsAlexander Barton
2010-06-26const'ify command name variable in _COMMAND strcutureAlexander Barton
2010-06-26const'ify Client_TypeText()Alexander Barton
2010-06-25Add some documentation for using BOPM with ngIRCdAlexander Barton
2010-06-25Implement user mode "c": receive connect/disconnect NOTICEsAlexander Barton
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.
2010-06-25Refactor Wall_ServerNotice() into more generic Log_ServerNotice()Alexander Barton
Log_ServerNotice() sends a messages to all users having a given user mode set.
2010-06-25New function Conn_IPA(): get client IP address as stringAlexander Barton
2010-06-25ngircd.init: require $network $remote_fs when stopping ngircdAlexander Barton
2010-06-23Show SSL status in WHOIS, numeric 275Neale Pickett
"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.)
2010-06-09Include correct header files when testing for arpa/inet.h (Closes: #105)Alexander Barton
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!
2010-06-09Revert "configure: make implicit declarations fatal"Florian Westphal
This reverts commit b3a6c33da0b12ba74dc395979b677813d4bc2c0f. apparently not all gcc versions support this 8-(
2010-06-09configure: make implicit declarations fatalFlorian Westphal
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.
2010-05-22Don't access already freed memory in IRC_KILL()Alexander Barton
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).
2010-05-14fix "beeing" typoFlorian Westphal
reported by Fabio Scotoni via bugzilla #101.
2010-05-07SSL/TLS: fix bogus 'socket closed' error messageFlorian Westphal
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.
2010-05-02ngIRCd release 16 rel-16Alexander Barton
2010-05-01doc/SSL: remove line continuation markerFlorian Westphal
some people got confused by the '\' line continuation marker, thus put everything in a single line, even if the line gets overly long.
2010-04-25ngIRCd release 16~rc2 rel-16-rc2Alexander Barton