about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2013-02-04contrib/README: add more filesAlexander Barton
2013-02-03Rename ports_initlisteners() to Init_Listeners()Alexander Barton
2013-02-03NewListener(): Code cleanupAlexander Barton
2013-02-03Enable WHOIS to display information about IRC ServicesAlexander Barton
This patch introduces the new numeric 310(RPL_WHOISSERVICE) and enables WHOIS to display information about IRC services. This numeric is used for this purpose by InspIRCd, for example -- but as usual, other numerics are in use, too, like 613 in UltimateIRCd ... Please note that neither the Operator (+o) not the "bot status" (+B) of an IRC service id displayed in the output. Change suggested by Federico G. Schwindt <fgsch@lodoss.net>, Thanks.
2013-01-27Exit message: use singular & plural :-)Alexander Barton
2013-01-27autogen.sh: Check for autoconf/automake wrapper scriptsAlexander Barton
For example OpenBSD uses a "autoconf" and "automake" wrapper script which tells the user to set AUTOCONF_VERSION and AUTOMAKE_VERSION environment variables. This patch enhances autogen.sh to not detect these wrapper scripts as regular autoconf/automake commands but to set the required environment variables after detecting the real "command-X.Y" commands. Tested on OpenBSD 5.1.
2013-01-27autogen.sh: Don't use "egrep -o", use "sed"Alexander Barton
"egrep -o" isn't portable and not available on OpenBSD, for example. So let's use sed instead to get the automake version. The expression used now is less specific but should work as well ...
2013-01-27IRC_WHO_Channel(): Use strlcpy() instead of strcpy()Alexander Barton
This fixes the following warning, at least on OpenBSD 4.8: irc-info.o(.text+0x2427): In function `IRC_WHO': src/ngircd/irc-info.c:896: warning: strcpy() is almost always misused, please use strlcpy()
2013-01-26Streamline punctuation of log messagesAlexander Barton
Make sure that all log messages end with a correct punctuation mark. The rules for formatting log messages are: 1. Add punctuation marks to all messages passed to the actual logging functions like Log() and LogDebug(). 2. Don't add any punctuation marks to messages that are stored in variables for later use or are passed over the network. 3. IP addresses, DNS host names and IRC server names should be quoted. 4. Messages originating in the network should be quoted (at least if they are "untrusted" or variable). Most probably this patch doesn't fix all mistakes, but it should be a good starting point ...
2013-01-24configure: "netinet/in_systm.h" is optionalAlexander Barton
The header file "netinet/in_systm.h" already is optional in ngIRCd, so don't require it in the configure script. Now ngIRCd can be built on Minix 3 again :-)
2013-01-23contrib/Debian/rules: Do no compress Commands.txtDNS
This is required, because ngIRCd can't use a compressed file as help text ... (cherry picked from commit 6d09b4f366f656f6d2732ea96a653e086380e458)
2013-01-23AUTHORS: Update list of contributorsAlexander Barton
2013-01-23AUTHORS: Use "email address syntax"Alexander Barton
2013-01-23ngircd.service: Use "forking" service typeAlexander Barton
Don't run ngIRCd in forground mode but let it daemonize itself. This enhances the log output of "systemctl status ngircd.service", because now ngIRCd doesn't print out its PID and timestamp on each log message which is redundant: it becomes logged by systemd/journald already.
2013-01-22Return better "Connection not registered as server link" errorsAlexander Barton
Now ngIRCd returns a more specific error message for numeric ERR_NOTREGISTERED(451) when a regular user tries to use a command that isn't allowed for users but for servers: ERR_NOTREGISTEREDSERVER(451).
2013-01-13MODE: don't report error on "more modes than parameters"Alexander Barton
Don't report ERR_NEEDMOREPARAMS(461) when a MDOE command with more modes than nicknames is handled, as well as for channel limit and key changes without specifying the limit or key parameters. This is how a lot (all?) other IRC servers behave, including ircd2.11, InspIRCd, and ircd-seven. And because of clients (tested with Textual and mIRC) sending bogus MODE commands like "MODE -ooo nick", end-users got the expected result as well as correct but misleading error messages ... If ngIRCd is compiled using "strict mode", these errors are still reported. Reported-by: Tim <tim@stackwatch.net>
2013-01-07Correctly detect when SSL subsystem must be initializedAlexander Barton
This patch introduces the new function Conf_SSLInUse() to check when the current server configuration requires the SSL subsystem to be initialized and accounts incoming as well as outgoing connections -- so this fixes commit bb20aeb9 ("Initialize SSL when needed only, and disable SSL on errors") which only handled the inbound case ... Tested-by: Brett Smith <brett@w3.org>
2013-01-06configure: use AS_HELP_STRING for --with-iconvAlexander Barton
2013-01-05autogen.sh: Enforce serial test harness on automake >=1.13Alexander Barton
2013-01-05autogen.sh: Reformat messages.Alexander Barton
2013-01-02Merge branch 'bug145-ProvideHelp'Alexander Barton
* bug145-ProvideHelp: Use "${docdir}/Commands.txt" as help text file Add a note that "help file" is updated on startup and REHASH only Add doc/Commands.txt which should document all commands Implement Help() function parsing and returning the help text Document "HelpFile" in sample-ngircd.conf and ngircd.conf.5 Implement new configuration option "HelpFile" IRC_HELP(): Code cleanup Refactor Read_Motd() into Read_TextFile()
2013-01-02ngIRCd Release 20.1 rel-20.1Alexander Barton
2013-01-01Use "${docdir}/Commands.txt" as help text fileAlexander Barton
2013-01-01Update Copyright notices for 2013Alexander Barton
2013-01-01Add a note that "help file" is updated on startup and REHASH onlyAlexander Barton
2013-01-01Add doc/Commands.txt which should document all commandsAlexander Barton
This document can be used as "help text", too, see configuration option "HelpFile" in ngircd.conf(5). Please note that this file in its current state is far from complete, only a few commands are documented, but you should get an idea how it works. So please send in patches adding the remaining parts! :-)
2013-01-01Implement Help() function parsing and returning the help textAlexander Barton
This function parses the already read in help text and sends the requested portions to the user. Parsing is done as following when a user user issues a "HELP <cmd>" command: 1. Search the file for a line "- <cmd>", 2. Output all subsequent lines that start with a TAB (ASCII 9) character to the client using NOTICE commands, treat lines containing a single "." after the TAB as empty lines. 3. Break at the first line not starting with a TAB character. This format allows to have information to each command stored in this file which will not be sent to an IRC user requesting help which enables us to have additional annotations stored here which further describe the origin, implementation details, or limits of the specific command. A special "Intro" block is returned to the user when the HELP command is used without a command name.
2012-12-31Allow ERROR command on server and service links onlyAlexander Barton
Ignore it and add a penalty time on all other link types.
2012-12-31Document "HelpFile" in sample-ngircd.conf and ngircd.conf.5Alexander Barton
2012-12-31Implement new configuration option "HelpFile"Alexander Barton
This new configuration option allows to specify a specially formatted text file which can be used by the HELP command to provide information about the commands and their syntaxes.
2012-12-31IRC_HELP(): Code cleanupAlexander Barton
2012-12-31Refactor Read_Motd() into Read_TextFile()Alexander Barton
Now this function allows to read arbitrary text files into arrays.
2012-12-31Get rid of Conn_ResetPenalty(), it is unusedAlexander Barton
2012-12-31Mode setting: only check channel user modes when on channelAlexander Barton
Only check the channel user modes of the initiator if he is joined to this channel and not an IRC operator enforcing modes (which requires the configuration option "OperCanUseMode" to be enabled), because trying to check channel user modes of a non-member results in this assertion: Assertion failed: (cl2chan != NULL), function Channel_UserModes, file channel.c, line 742. This closes bug #147, thanks to James Kirwill <james.kirwill@bk.ru> for tracking this down!
2012-12-25Add some more casts in assert() statemensAlexander Barton
This fixes the following warning messages of gcc 4.5.3 on Cygwin when building with debug code enabled: ng_ipaddr.c: In function ‘ng_ipaddr_init’: ng_ipaddr.c:52:2: warning: comparison between signed and unsigned integer expressions ng_ipaddr.c:53:20: warning: comparison between signed and unsigned integer expressions resolve.c: In function ‘ForwardLookup’: resolve.c:271:3: warning: comparison between signed and unsigned integer expressions
2012-12-25Makefiles: Correctly quote sed expressionsAlexander Barton
Now the Makefiles support spaces in "$sysconfdir", which isn't uncommon for Cygwin for example, when $HOME contains whitespaces ("/home/User Name") and ngIRCd is installed into the user home ("./configure --prefix=$HOME").
2012-12-25Add Cygwin binaries (*.exe) to .gitignore filesAlexander Barton
2012-12-25Add a cast in ForwardLookup() to fix a gcc warning on CygwinAlexander Barton
This fixes the following warning message of 4.5.3 on Cygwin: resolve.c: In function ‘ForwardLookup’: resolve.c:273:21: warning: comparison between signed and unsigned integer expressions
2012-12-17ngIRCd Release 20 rel-20Alexander Barton
2012-12-12Update NEWS and ChangeLog filesAlexander Barton
2012-12-10Allow user names up to 20 charactersAlexander Barton
This patch allows user names up to 20 characters when ngIRCd has not been configured for "strict RFC mode". Patch suggested by Brett Smith <brett@w3.org>, see <http://arthur.barton.de/pipermail/ngircd-ml/2012-October/000579.html>.
2012-12-02ngIRCd 20~rc2 rel-20-rc2Alexander Barton
2012-12-02Update NEWS and ChangeLog filesAlexander Barton
2012-11-26Update doc/Platforms.txtAlexander Barton
2012-11-24Rework cloaked hostname handling, implement "METADATA cloakhost"Alexander Barton
Now ngIRCd uses two fields internally, one to store the "real" hostname and one to save the "cloaked" hostname. And both fields can be set independently using the "METADATA host" and "METADATA cloakhost" commands. This allows "foreign servers" (aka "IRC services") to alter the real and cloaked hostnames of clients without problems, even when the user itself issues additional "MODE +x" and "MODE -x" commands.
2012-11-24RPL_UMODEIS: send correct target name, even on server linksAlexander Barton
2012-11-24Client_HostnameCloaked() -> Client_HostnameDisplayed()Alexander Barton
2012-11-13platformtest.sh: Only generate configure script when missingAlexander Barton
2012-11-13Update platformtest.sh to follow autoconf changesAlexander Barton
2012-11-13Test suite: correctly execute tests when stdout is redirectedAlexander Barton