about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2008-09-13TLS/SSL support: core files.Florian Westphal
Contains support for both OpenSSL and GNU TLS. Certificate Authentification is not yet supported.
2008-08-30Fix handling of MaxConnections optionFlorian Westphal
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.
2008-08-18Include "mcheck.h" when using mtrace().Alexander Barton
2008-08-17SECURITY: Fixed a message handling bug which could crash the daemon.Alexander Barton
Some message targets could lead to a NULL pointer dereference and therefore could crash the daemon (denial of service). (cherry picked from commit e493ad2d30ff80bca2556cde2212e367cb006517)
2008-08-13Enable GNU libc "memory tracing" when compiled with debug code.Alexander Barton
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)
2008-08-12New make target: "osxpkg" to create an Mac OS X installer package.Alexander Barton
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.
2008-08-11Clean up Mac OS X Xcode environment.Alexander Barton
- Remove obsolete contrib/MacOSX/cvs-version.h - Change SDK to 10.4
2008-08-10doc/Platforms.txt: added Debian GNU/Hurd, "i686/unknown/gnu0.3"Alexander Barton
2008-08-10Added CVE identifiers to ChangeLog.Alexander Barton
see http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=ngircd
2008-08-06Remove de.barton.ngircd.plist on "make clean", its a generated file.Alexander Barton
2008-08-01Make ngIRCd compile and run on NeXTSTEP 3.3 and OPENSTEP 4.2Alexander Barton
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."
2008-07-31Merge branch 'master' of git://ngircd.barton.de/ngircdAlexander Barton
2008-07-31Install /Library/LaunchDaemons/de.barton.ngircd.plist into $(DESTDIR)Alexander Barton
2008-07-31FAQ: add entry about /OPER and OperCanUseModeFlorian Westphal
2008-07-27GIT: added src/testsuite/message-test to ignore list.Alexander Barton
2008-07-27Fix Validate_Args(): unused parameter "Idx" and "Req"Alexander Barton
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"
2008-07-27message-test: Disable two tests using "localhost" as host nameAlexander Barton
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.
2008-07-27Fix Send_Message(): "lastCurrentTarget" may be used uninitializedAlexander Barton
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
2008-07-27Fix t_diff(): declaration of 'div' shadows a global declarationAlexander Barton
This patch fixes the following GCC warning message: irc-info.c:422: warning: declaration of 'div' shadows a global declaration
2008-07-27Cosmetic whitespace and line length fixes, mostly in Send_Message().Alexander Barton
2008-07-27Added "message-test" to Makefile, so it is distrubuted and run.Alexander Barton
2008-07-27Cleaned up PRIVMSG and NOTICE patches.Brandon Beresini
2008-07-27Cumulative Message PatchBrandon Beresini
2008-07-22Don't allow empty channel names ("#") in strict RFC mode.Alexander Barton
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!
2008-07-22Return 461 (syntax error) on "JOIN :" and "PART :"Alexander Barton
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.
2008-07-22Channel_Join(): Code cleanup.Alexander Barton
2008-07-21Added more supported and tested platforms to doc/Platforms.txt.Alexander Barton
2008-07-21Fixes to misc-test: accept "localhost.<domain>" as well as "localhost"Alexander Barton
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)
2008-07-09Revert "dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..]"Alexander Barton
- 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.
2008-07-09dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..]Florian Westphal
(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.
2008-06-27Merge autogen.sh changesAlexander Barton
Merge commit 'alex/master'
2008-06-27autogen.sh: Don't set AUTO{CONF|MAKE}_VERSION and WANT_AUTO{CONF|MAKE}Alexander Barton
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.
2008-06-27autogen.sh: correctly test for and export ACLOCAL variableAlexander Barton
2008-06-16Translated comments from German to EnglishEric Grunow
2008-06-16Fix GCC warnings for possibly uninitialized variables in IRC_JOINAlexander Barton
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
2008-06-11GIT: added src/src/config.h.in~ to ignore list.Alexander Barton
2008-06-11Allow mixed line terminations (CR+LF/CR/LF) in non-RFC-compliant modeAlexander Barton
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!
2008-05-30Don't allow stray \r or \n in command parametersAlexander Barton
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.
2008-05-28GIT: ignore de.barton.ngircd.plist, it is a generated file.Alexander Barton
2008-05-28ngircd.init: use LSB logging functions, if available.Alexander Barton
2008-05-28--configtest: return non-zero exit code if there are errorsAlexander Barton
2008-05-26Handle_Buffer(): code cleanup.Alexander Barton
Both callers ignore the return code of this function, so get rid of it, but make sure that the client is disconnected on errors.
2008-05-26Conn_Handler(): cleanup code, add/translate comments.Alexander Barton
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.
2008-05-26Use strtok_r instead of strchr in IRC_JOIN.Scott Perry
This patch does significant cleanup on the join code by using strtok_r instead of mangling strchr to parse channel names and keys in parallel when a JOIN command contains a list of channels and keys. Also adds an strtok_r implementation to libportab.
2008-05-26Mac OS X LaunchDaemon script: log messages to /Library/Logs/ngIRCd.logAlexander Barton
2008-05-25configure.in: don't check for "obvious" standard functions.Florian Westphal
Drop checks for the following C standard functions: malloc, memmove, memset, realloc, strchr, strcspn, strerror, strstr. Rationale: These are standard K&R/C89 functions, no point in ''making sure they exist''.
2008-05-24Reset client idle time on NICK, JOIN, and PARTAlexander Barton
2008-05-19Remove ListenIPv4/ListenIPv6 options.Florian Westphal
Use "Listen = list,of,addresses" instead.
2008-05-19make Listen parameter a comma-seperated list of addresses.Florian Westphal
this also obsoletes ListenIPv4 and ListenIPv6 options. If Listen is unset, it is treated as Listen="::,0.0.0.0". Note: ListenIPv4 and ListenIPv6 options are still recognized, but ngircd will print a warning if they are used in the config file. Also, some plattforms require that ai_socktype is set in the getaddrinfo() hints structure.
2008-05-18Add option aliases -V (for --version) and -h (for --help).Jari Aalto
This patch adds -h and -V short options (to complement the usage). It is based on a patch attached to Debian bug #466063, see <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=466063>. Idea by Jari Aalto <jari.aalto@cante.net>, patch adapted by Alexander Barton <alex@barton.de>.