about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)Author
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-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-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-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-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>.
2008-05-15Add tests for MOTD, VERSION, TIME, USERHOSTBrandon Beresini
The misc-test.e file is also somewhat reorganized and commented here. Patch from Brandon Beresini, Bryan Caldwell and Dana Dahlstrom.
2008-05-13Merge commit 'aad49bd260494878aed6795c7a897ad1d28c3082'Alexander Barton
2008-05-12This patch implements a (maybe) compliant WHOWAS command.Scott Perry
It is hard to test this in the test suite because we 1) shouldn't rely on previous tests populating WHOWAS and 2) don't connect a user for more than 30 seconds. Also makes WHOWAS return ERR_NONICKNAMEGIVEN_MSG as implied by RFC.
2008-05-12If bind() fails, also print ip address and not just the port number.Florian Westphal
2008-05-11GIT: ignore symbolic links to tests in testsuite directoryAlexander Barton
Added symbolic links to new tests (invite-test, join-test, and kick-test) to .gitignore file.
2008-05-11Fixes to who-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.
2008-05-10ng_ipaddr.h must include netinet/in.h.Florian Westphal
compile on FreeBSD 5.4 failed with: ./../ipaddr/ng_ipaddr.h:34: error: field `sin4' has incomplete type Reported and tested by Jefferson S Almeida.
2008-05-09Removed space after # so that Cygwin's version of expect recognizes comments.Brandon Beresini
2008-05-09Fix secret channel information leakAli Shemiran
/who on a secret channel that the user is not a member of now returns proper RPL_ENDOFWHO_MSG instead of nothing.
2008-05-08Added Cygwin uid kludge. (verified working)ashemira@ucsd.edu
2008-05-08Anglified and improved comments in channel.c and channel.hEric Grunow
[Dana Dahlstrom: repair tab/space conversion in patch]
2008-05-05Implement IRC commands SERVICE, SERVLIST, and SQUERY as dummy functionsAlexander Barton
SERVICE, SERVLIST, and SQUERY are required by RFC 2812 (it states in section 3 that "all commands described in this section MUST be implemented by any server for this protocol." -- So we implement them without (much) actual functionality ...
2008-05-05Add invite-test.e to test suite.Florian Westphal
2008-05-05Tests for the INVITE command.Dana Dahlstrom
2008-05-05Invite: prefix last argument with colon when necessary.Dana Dahlstrom
2008-05-05tests for JOIN and various repliesDana Dahlstrom
Brandon Beresini sent me a patch yesterday adding tests for JOIN under various circumstances, which I believe he worked on with Bryan Caldwell and Ali Shemiran. I made a few modifications; the result is below.
2008-05-05Allow KICK to handle comma-delimited lists (of channels, nicks).Bryan Caldwell
includes test cases. [fw@strlen.de: - move code around to avoid duplication - use const where possible - integrate test case]
2008-05-05Invite: Send RPL_AWAY to client sending the invite if target is away.Florian Westphal
2008-05-05Fixes to who-test: accept any ident, escape some '*' flags.Dana Dahlstrom
This prevents who-test.e from failing when ngircd is performing ident lookups and an ident server is running.
2008-05-05IRC_INVITE: coding style cleanup.Florian Westphal
2008-05-05Constify some of Channel_Kick()s arguments.Florian Westphal
2008-05-05constify Client_Search() argument.Florian Westphal
2008-05-05Allow IRC ops to ignore channel limits when joiningRolf Eike Beer
Allow IRC ops to ignore any channel limit (bans, invite only etc.) when they want to join a channel.
2008-05-02Handle 1-character messages terminated with CR or LF correctlyAlexander Barton
Code cleanup and fix for Bug #83, "ngIRCd chokes on 1-character messages" in function Handle_Buffer(): the buffer is now correctly cleared when ngIRCd receives 1-character messages terminated with either CR or LF (in violation to RFC 2812, section 2.3 "Messages", 5th paragraph).
2008-05-01On AIX (for example) socklen_t is defined in sys/socket.hAlexander Barton
On AIX and probably other systems socklen_t is defined in sys/socket.h, so we have to include it here explicitly (tested by Florian).
2008-05-01Always enable modeless channels.Florian Westphal
Modeless channels (+channels) are described in RFC 2811; so my modifications to 530112b114ffa7d5352c0733790ddf90253f41f9 ('Add support for modeless channels') to disable +channels for --strict-rfc configurations were wrong. This reverts those changes.
2008-05-01Prevent GIT to complain about opless-channel-test linkAlexander Barton