Commits


TLS/SSL support: code changes. This adds the required code to enable ssl/tls support during compile and run time, respectively.


Fix t_diff(): declaration of 'div' shadows a global declaration This patch fixes the following GCC warning message: irc-info.c:422: warning: declaration of 'div' shadows a global declaration


Cleaned up PRIVMSG and NOTICE patches.


This patch implements a (maybe) compliant WHOWAS command. 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.


Fix secret channel information leak /who on a secret channel that the user is not a member of now returns proper RPL_ENDOFWHO_MSG instead of nothing.


Implement IRC commands SERVICE, SERVLIST, and SQUERY as dummy functions 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 ...


Get rid of cvs-version.* and CVSDATE definition. (cherry picked from commit b187fac244f4e14705f882ba7c43eef0238e2830)


Implemented IRC commands INFO, USERS (dummy), and SUMMON (dummy).


Include flags in RPL_WHOREPLY messages. RPL_WHOREPLY messages generated by IRC_WHO don't include flags (*,@,+) that should appear according to this description: http://www.mishscript.de/reference/rawhelp3.htm#raw352 Other IRC servers do include the flags. Modify who-test.e to expose missing flags, modify ngircd-test.conf to accommodate who-test.e, and fix irc-info.c to correct these problems.


Make IRC_WHO also search username/servername/hostname. Dana Dahlstrom reported that IRC_WHO did not follow RFC 2812, Section 3.6.1. Specifically: - IRC_WHO did not send "G" flag instead if "H" if client was away - did not search username/servername/hostname etc. if argument was not a channel. Fix all of the above and tidy things up a bit. Also add IRC_WHO test script contributed by Dana.


implement '/STAT u' (uptime)


Introduce option to configure the maximum nick name lenth in ngircd.conf - New configuration option "MaxNickLength" to specify the allowed maximum length of user nick names. Note: must be unique in an IRC network! - Enhanced the IRC+ protocol to support an enhanced "server handshake" and enable server to recognice numeric 005 (ISUPPORT) and 376 (ENDOFMOTD). See doc/Protocol.txt for details.


Fix code to compile using K&R C compiler and ansi2kr again.


Numeric 317: implemented "signon time" (displayed in WHOIS result).


-Whitespace Damage; Client_OperCount(), Client_UnknownCount(), Client_MyServerCount() return unsigned long


channel maxusers now unsigned long


Changed Numerics 265 and 266 to follow ircd 2.11.x "standards".


fix embarassing fileptr leak


Use some more specific data types (e. g. pid_t vs. int), make "SPLint" happy :-)


Client_GetFromConn() removed and replaced with new function Conn_GetClient()


simplify IRC_Show_MOTD()


use strlcpy


Implemented IRC function "WHOWAS".


Remove INT, LONG, BOOLEAN, STATIC, CONST, CHAR datatypes. use stdbool.h / inttypes.h if available.


Implemented support for "secret channels" (channel mode "s").


Don't create version information string each time a client connects but insetead on server startup. By Florian Westphal.


Use ngt_TrimLastChr() where useful, by Florian Westphal.


Fixed a typo in variable name ...


Fixed a possible buffer underrun when reading the MOTD file. Thanks to Florian Westphal, <westphal@foo.fh-furtwangen.de>.


New "chroot" feature (from Benjamin Pineau), introducing new configuration variables "ChrootDir" and "MotdPhrase".


Added #include for strings.h to fix compiler warnings.


Removed "USE_" prefixes of configuration #defines.


Extended version reporting of CVS builds.


Fixed and enhanced penalty handling; changed internal time resoluiton of the server to one second. Code cleanup.


VERSION shows the CVS date if apropriate now.


Removed unportable %z formater in strftime().


Changed all PACKAGE's to PACKAGE_NAME and all VERSION's to PACKAGE_VERSION.


- Fixed up command forwarding: only to servers! - Forwarding of WHOIS was broken in some situations.


- Adjusted includes for new "conn-func.h" header.


- Renamed functions now found in "conn-zip.c".


- replaced some calls to sprintf() with snprintf() -- more secure :-)


- replaced a lot of strcat() calls with strlcat() which is more secure.


- enhanced LUSERS reply: RPL_LOCALUSERS, RPL_NETUSERS.


- implemented subfunction "m" of STATS command.


- "STATS l" now only shows server-server-links and the own connection.


- fixed some error messages and prefixes.


- new file header format (in english); - new file ident semantics.


- bei ISON und USERHOST fehlte im Ergebnis-String der korrekte Absender.


- STATS: Unterfunktion "L" implementiert.


- bei STATS wurde der Target-Server aus dem falschen Argument bestimmt.


- neues Source-Modul "irc-info"; neuer Befehl STATS.