]> arthur.barton.de Git - ngircd-alex.git/log
ngircd-alex.git
14 years agoUpdated NEWS and ChangeLog file for ngIRCd 16-rc1
Alexander Barton [Thu, 25 Mar 2010 13:55:31 +0000 (14:55 +0100)]
Updated NEWS and ChangeLog file for ngIRCd 16-rc1

14 years agoDon't use port 6668 as example for both "Ports" and "SSLPorts"
Alexander Barton [Tue, 16 Mar 2010 15:16:03 +0000 (16:16 +0100)]
Don't use port 6668 as example for both "Ports" and "SSLPorts"

14 years agoconfigure.in: only add -lnsl when needed
Florian Westphal [Wed, 17 Feb 2010 21:23:14 +0000 (22:23 +0100)]
configure.in: only add -lnsl when needed

dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..]
(they use none of its symbols).

As shown via commit 2b14234abc252383679bae2d23861b773dc9713e
(dpkg-shlibdeps: warning: dependency on libnsl.so.1) and the
following revert of that commit, we cannot simply drop
the AC_CHECK_LIB(nsl). Although -lnsl is indeed unneeded
when glibc is used, some platforms (e.g. Solaris) need it.

Use AC_SEARCH_LIBS instead to only link when the library exports
a particular symbol.

14 years agoImplement WEBIRC command
Alexander Barton [Wed, 10 Feb 2010 23:01:53 +0000 (00:01 +0100)]
Implement WEBIRC command

The WEBIRC command is used by some Web-to-IRC gateways to set the correct
user name and host name of users instead of their own.

Syntax: WEBIRC <password> <username> <hostname> <ip-address>

The <password> must be set using the new configuration variable "WebircPassword" in the [Global] section of ngircd.conf.

Please note that the <ip-address> is currently not used by ngIRCd (we don't store it in the CLIENT structure, only the resolved hostname).

14 years agongircd.conf.5: Document missing "Password" variable
Alexander Barton [Wed, 10 Feb 2010 22:47:05 +0000 (23:47 +0100)]
ngircd.conf.5: Document missing "Password" variable

14 years agoRe-format Init_New_Client() function
Alexander Barton [Wed, 10 Feb 2010 22:40:03 +0000 (23:40 +0100)]
Re-format Init_New_Client() function

14 years agoNew README-Interix.txt for running ngIRCd on MS SFU and MS SUA
Alexander Barton [Thu, 4 Feb 2010 23:24:33 +0000 (00:24 +0100)]
New README-Interix.txt for running ngIRCd on MS SFU and MS SUA

14 years agoAdded "i586/pc/interix3.5" (MS Services for UNIX) to Platforms.txt
Alexander Barton [Fri, 22 Jan 2010 17:26:26 +0000 (18:26 +0100)]
Added "i586/pc/interix3.5" (MS Services for UNIX) to Platforms.txt

14 years agoQuote received messages of ERROR commands in log output
Alexander Barton [Tue, 19 Jan 2010 18:20:56 +0000 (19:20 +0100)]
Quote received messages of ERROR commands in log output

14 years agoImplemented new "secure clients only" channel mode: +z
Alexander Barton [Sun, 17 Jan 2010 13:19:35 +0000 (14:19 +0100)]
Implemented new "secure clients only" channel mode: +z

Only clients using a SSL encrypted connection to the server are
allowed to join such a channel.

But please note three things:

a) already joined clients are not checked when setting this mode,
b) IRC operators are always allowed to join every channel, and
c) remote clients using a server not supporting this mode are not
   checked either and therefore always allowed to join.

14 years agoClean up and document IRC_STATS() function
Alexander Barton [Sat, 16 Jan 2010 22:24:19 +0000 (23:24 +0100)]
Clean up and document IRC_STATS() function

14 years agoClean up and document IRC_JOIN() and join_allowed() functions
Alexander Barton [Sat, 16 Jan 2010 21:30:55 +0000 (22:30 +0100)]
Clean up and document IRC_JOIN() and join_allowed() functions

14 years agoShow our name (IRCD=ngIRCd) in ISUPPORT (005) numeric
Alexander Barton [Sat, 16 Jan 2010 13:59:07 +0000 (14:59 +0100)]
Show our name (IRCD=ngIRCd) in ISUPPORT (005) numeric

Inspired by Hyperion IRC daemon.

14 years agoAdded missing modes to USERMODES #define
Alexander Barton [Sat, 16 Jan 2010 13:07:27 +0000 (14:07 +0100)]
Added missing modes to USERMODES #define

Now the numeric 004 correctly reports all the supported user and channel
modes (user modes "r" and "w" were missing), e. g.:

  :a.irc.net 004 a a.irc.net ngircd-15 aiorsw biIklmnoPstv

14 years agoUpdated links to ngIRCd homepage (bug tracker, mailing list)
Alexander Barton [Fri, 1 Jan 2010 17:58:56 +0000 (18:58 +0100)]
Updated links to ngIRCd homepage (bug tracker, mailing list)

14 years agosetsockopt(): use IPPROTO_IP instead of SOL_IP to set IPTOS_LOWDELAY
Alexander Barton [Wed, 30 Dec 2009 23:55:42 +0000 (00:55 +0100)]
setsockopt(): use IPPROTO_IP instead of SOL_IP to set IPTOS_LOWDELAY

14 years agoReally test for netinet/ip.h and set HAVE_NETINET_IP_H
Alexander Barton [Wed, 30 Dec 2009 23:38:47 +0000 (00:38 +0100)]
Really test for netinet/ip.h and set HAVE_NETINET_IP_H

14 years agoReverseLookup(): fix documentation comment
Alexander Barton [Wed, 30 Dec 2009 22:45:02 +0000 (23:45 +0100)]
ReverseLookup(): fix documentation comment

14 years agoMove NewConnection handling from callbacks to New_Connection()
Alexander Barton [Wed, 30 Dec 2009 22:42:43 +0000 (23:42 +0100)]
Move NewConnection handling from callbacks to New_Connection()

14 years agoConnection functions: add some more documentation comments
Alexander Barton [Wed, 30 Dec 2009 22:35:17 +0000 (23:35 +0100)]
Connection functions: add some more documentation comments

14 years agoClean up conn.{c|h} a little bit
Alexander Barton [Wed, 30 Dec 2009 22:32:47 +0000 (23:32 +0100)]
Clean up conn.{c|h} a little bit

14 years agoXcode: fix "-Wuninitialized is not supported without -O"
Alexander Barton [Sun, 27 Dec 2009 16:21:37 +0000 (17:21 +0100)]
Xcode: fix "-Wuninitialized is not supported without -O"

Fix Apple Xcode warning "cc1: warning: -Wuninitialized is not supported
without -O" when using the "Debug" build target:

Detection of uninitialized automatic variable requires data flow analsys
that is only enabled during optimized compilation.

14 years agoAdded i686/unknown/kfreebsd7.2-gnu
Alexander Barton [Wed, 2 Dec 2009 21:22:35 +0000 (22:22 +0100)]
Added i686/unknown/kfreebsd7.2-gnu

14 years agoplatformtest.sh: Only show latest commit
Alexander Barton [Sun, 15 Nov 2009 17:25:36 +0000 (18:25 +0100)]
platformtest.sh: Only show latest commit

Only show latest GIT commuit ID as version number,
even when the last commit has been a merge.

14 years agoMerge commit 'cade80dcf516f40e7d53124bc98526e6e5b3fb66'
Alexander Barton [Sat, 7 Nov 2009 20:51:36 +0000 (21:51 +0100)]
Merge commit 'cade80dcf516f40e7d53124bc98526e6e5b3fb66'

* commit 'cade80dcf516f40e7d53124bc98526e6e5b3fb66':
  Added missing contrib/platformtest.sh to distribution

14 years agoAdded missing contrib/platformtest.sh to distribution rel-15
Alexander Barton [Sat, 7 Nov 2009 20:06:30 +0000 (21:06 +0100)]
Added missing contrib/platformtest.sh to distribution

14 years agoRemove limit on max number of configured irc operators.
Florian Westphal [Sat, 7 Nov 2009 11:14:37 +0000 (12:14 +0100)]
Remove limit on max number of configured irc operators.

14 years agongIRCd release 15
Alexander Barton [Sat, 7 Nov 2009 12:57:15 +0000 (13:57 +0100)]
ngIRCd release 15

14 years agoconfigtest: print ssl config options even when unset
Florian Westphal [Sat, 17 Oct 2009 12:31:27 +0000 (14:31 +0200)]
configtest: print ssl config options even when unset

Print "SSLOptionVar =" instead of omitting the option when
running --configtest with ssl enabled.
This better matches the behaviour of other options, e.g.  ChrootDir.

14 years agongIRCd release 15~rc1 rel-15-rc1
Alexander Barton [Thu, 15 Oct 2009 08:04:34 +0000 (10:04 +0200)]
ngIRCd release 15~rc1

14 years agoUpdated NEWS and ChangeLog files
Alexander Barton [Sat, 3 Oct 2009 14:45:09 +0000 (16:45 +0200)]
Updated NEWS and ChangeLog files

14 years agoMake sure forwarded CONNECT commands are handled correctly bug73-SQUIT
Alexander Barton [Wed, 9 Sep 2009 21:00:45 +0000 (23:00 +0200)]
Make sure forwarded CONNECT commands are handled correctly

14 years agoGenerate WALLOPS message on operator-generated SQUIT
Alexander Barton [Tue, 19 May 2009 21:06:28 +0000 (23:06 +0200)]
Generate WALLOPS message on operator-generated SQUIT

14 years agoEnable SQUIT command for IRC Operators
Alexander Barton [Tue, 19 May 2009 20:41:45 +0000 (22:41 +0200)]
Enable SQUIT command for IRC Operators

This patch enables IRC Operators to use the SQUIT command as specified in
RFC 2812, section 3.1.8 "Squit".

When forwarding SQUIT commands, the server connected to the target will
drop the connection (not the target server itself!).

Please note:

 - the configuration option "AllowRemoteOper" mus be enabled on the
   server disconnecting the target to allow forwarding of SQUIT commands.
 - if the remote server is configured to establish the connection, it
   will just do this; so the disconnect is not permanent in this case!

14 years agoXcode: added new op.{c|h} to project file
Alexander Barton [Fri, 24 Apr 2009 22:37:27 +0000 (00:37 +0200)]
Xcode: added new op.{c|h} to project file

14 years agoUse functions provided by op.c "module"
Alexander Barton [Wed, 22 Apr 2009 21:24:15 +0000 (23:24 +0200)]
Use functions provided by op.c "module"

Local functions Check_Oper() and No_Privileges() have been replaced by
global functions in op.c "module": Op_Check() and Op_NoPrivileges().

14 years agoNew "module" op.c/op.h for IRC operator related functions
Alexander Barton [Wed, 22 Apr 2009 21:17:25 +0000 (23:17 +0200)]
New "module" op.c/op.h for IRC operator related functions

The new "module" op.c is used to implement functions related to IRC Ops.
At the moment, these two functions are available:

 - Op_Check() to check for a valid IRC Op, and
 - Op_NoPrivileges() to generate "permission denied" messages.

14 years agoAllow forwarding of CONNECT commands.
Alexander Barton [Tue, 22 Jul 2008 16:38:05 +0000 (18:38 +0200)]
Allow forwarding of CONNECT commands.

The syntax of the CONNECT command now is:

  - CONNECT <server-id>
  - CONNECT <server-id> <port>
  - CONNECT <server-id> <port> <target>
  - CONNECT <server-id> <port> <host> <my-pwd> <peer-pwd>
  - CONNECT <server-id> <port> <host> <my-pwd> <peer-pwd> <target>

Note: the configuration option "AllowRemoteOper" mus be enabled on the
target server to allow forwarding of CONNECT commands.

14 years agoCheck_Oper(): check origin of forwarded messages instead of server.
Alexander Barton [Tue, 22 Jul 2008 16:35:35 +0000 (18:35 +0200)]
Check_Oper(): check origin of forwarded messages instead of server.

14 years agoNo_Privileges(): handle forwarded messages.
Alexander Barton [Tue, 22 Jul 2008 16:33:44 +0000 (18:33 +0200)]
No_Privileges(): handle forwarded messages.

14 years agoIRC_SendWallops(): support format string and variable parameter lists.
Alexander Barton [Tue, 22 Jul 2008 14:54:12 +0000 (16:54 +0200)]
IRC_SendWallops(): support format string and variable parameter lists.

14 years agoCONNECT, DISCONNECT: generate WALLOPS messages
Alexander Barton [Tue, 6 May 2008 15:51:45 +0000 (17:51 +0200)]
CONNECT, DISCONNECT: generate WALLOPS messages

14 years agoNew function IRC_SendWallops().
Alexander Barton [Tue, 6 May 2008 13:30:29 +0000 (15:30 +0200)]
New function IRC_SendWallops().

Implement new global function IRC_SendWallops() that can be called by
other functions to generate WALLOPS messages to users with +w mode.

14 years agoCode cleanup of IRC_DISCONNECT().
Alexander Barton [Sun, 13 Apr 2008 01:19:29 +0000 (03:19 +0200)]
Code cleanup of IRC_DISCONNECT().

14 years agoCode cleanup of IRC_SQUIT() in preparation to deal with bug #73.
Alexander Barton [Wed, 9 Apr 2008 17:49:34 +0000 (19:49 +0200)]
Code cleanup of IRC_SQUIT() in preparation to deal with bug #73.

14 years agoNew local functions Check_Oper() and No_Privileges().
Alexander Barton [Sun, 13 Apr 2008 17:25:46 +0000 (19:25 +0200)]
New local functions Check_Oper() and No_Privileges().

14 years agoBad_OperPass(): code cleanup.
Alexander Barton [Sun, 13 Apr 2008 15:30:04 +0000 (17:30 +0200)]
Bad_OperPass(): code cleanup.

14 years agoNew configuration option "AllowRemoteOper"
Alexander Barton [Sun, 13 Apr 2008 14:39:08 +0000 (16:39 +0200)]
New configuration option "AllowRemoteOper"

Added new configuration option "AllowRemoteOper" to control whether
remote IRC operators are allowed to use administrative commands that
affect this server or not

This commit introduces the configuration variable, but actually no
function is using it. That's up for the next patches to come ...

14 years agofix assertion failure in ng_ipaddr.c
Florian Westphal [Sat, 26 Sep 2009 09:12:47 +0000 (11:12 +0200)]
fix assertion failure in ng_ipaddr.c

when building with debugging enabled, but without ipv6 support,
ngircd dumped core when loading a config file that specified an ipv6
listen address.

ngircd: ng_ipaddr.c:45: ng_ipaddr_init: Assertion `sizeof(*addr) >=
res0->ai_addrlen' failed.

14 years agoconfigtest: complain when ssl keys are not readable
Florian Westphal [Sun, 20 Sep 2009 18:43:12 +0000 (20:43 +0200)]
configtest: complain when ssl keys are not readable

14 years agoCheck for sockaddr_in.sin_len and initialize it
Alexander Barton [Sun, 13 Sep 2009 23:23:19 +0000 (01:23 +0200)]
Check for sockaddr_in.sin_len and initialize it

Test for sockaddr_in.sin_len and initialize it to the correct value
which some systems (notably Mac OS X) require.

Note: this code path is only relevant when not using getaddrinfo().

14 years agoAlways use get{addr|name}info() when available
Alexander Barton [Sun, 13 Sep 2009 22:25:48 +0000 (00:25 +0200)]
Always use get{addr|name}info() when available

Both getaddrinfo() and getnameinfo() are now used always when available, and
not only when compiling ngIRCd with support for IPv6.

This not only enables ngIRCd to handle multiple addresses per hostname when
compiled without support for IPv6, but fixes binding ngIRCd to IP addresses
on Mac OS X (and probably other BSD-based systems) as well: these systems
require that sockaddr_in is zeroed out and sockaddr_in.sin_len is set to
sizeof(sockaddr_in) like that:

  src/ipaddr/ng_ipaddr.c, line 54:

        assert(ip_str);
      + memset(addr, 0, sizeof *addr);
      + addr->sin4.sin_len = sizeof(addr->sin4);
        addr->sin4.sin_family = AF_INET;

But this would break all the systems not using sockaddr_in.sin_len, for
example Linux -- so we assume that all these systems provide getaddrinfo()
and use that for now.

14 years agoXcode: add "debug" configuration to project
Alexander Barton [Sun, 13 Sep 2009 22:21:25 +0000 (00:21 +0200)]
Xcode: add "debug" configuration to project

14 years agoFix cb_connserver() to handle aborted outgoing connections
Alexander Barton [Fri, 11 Sep 2009 22:17:42 +0000 (00:17 +0200)]
Fix cb_connserver() to handle aborted outgoing connections

A configured server could have been removed while a connection apptempt
is still in progress. So the cb_connserver() callback has to test if the
server configuration record is still valid.

14 years agoconn.c: fix more sizeof(..dst_addr) misuse
Florian Westphal [Fri, 11 Sep 2009 21:30:42 +0000 (23:30 +0200)]
conn.c: fix more sizeof(..dst_addr)  misuse

the wrong sizeof() usage fixed in
d76910ce7b9fad5679b7c614ed086e036560e37d
(conn.c: fix resolver server address backlog) was a bit more
widespread, fix all others, too.

14 years agoresolve.c: fix valgrind 'uninitialized memory' warning
Florian Westphal [Fri, 11 Sep 2009 21:09:11 +0000 (23:09 +0200)]
resolve.c: fix valgrind 'uninitialized memory' warning

fix the following warning generated by valgrind if ipv6 is enabled:

Syscall param write(buf) points to uninitialised byte(s)
   at 0x4000982: (within /lib/ld-2.9.so)
   by 0x80681A8: Resolve_Name (resolve.c:477)
   by 0x805439F: Conn_Handler (conn.c:1658)
   by 0x804AA7C: main (ngircd.c:331)

The warning is because ng_ipaddr_t can be a union, and only the
necessary parts are initialised.  The callers know what part
of the union is valid, so this is not a bug.

14 years agoconn.c: fix resolver server address backlog
Florian Westphal [Fri, 11 Sep 2009 20:51:00 +0000 (22:51 +0200)]
conn.c: fix resolver server address backlog

if more than one ip address is returned for a single host
name, ngircd is supposed to try other addresses in case
connect() to the first address returned fails for some
reason.

Alexander Barton noticed that this did not work at all,
as the additional results were not stored.

14 years agoFix "implicit conversion shortens 64-bit value" warning
Alexander Barton [Fri, 11 Sep 2009 20:52:12 +0000 (22:52 +0200)]
Fix "implicit conversion shortens 64-bit value" warning

This patch fixes the following gcc warning in our sources:
"implicit conversion shortens 64-bit value into a 32-bit value"

14 years agoXcode: use gcc 4.0 for Mac OS X 10.4 compatibility
Alexander Barton [Fri, 11 Sep 2009 18:19:51 +0000 (20:19 +0200)]
Xcode: use gcc 4.0 for Mac OS X 10.4 compatibility

14 years agoChannel_Mode(): fix return code of function
Alexander Barton [Thu, 10 Sep 2009 22:44:41 +0000 (00:44 +0200)]
Channel_Mode(): fix return code of function

Fix error handling of Channel_Mode() to return the correct connection
status ("connected"/"disconnected") insted of always returning success.

14 years agoIRC_SERVER(): code cleanup, remove unneeded variable
Alexander Barton [Thu, 10 Sep 2009 22:41:12 +0000 (00:41 +0200)]
IRC_SERVER(): code cleanup, remove unneeded variable

14 years agoIRC_PASS(): remove unnecessary variable initialization
Alexander Barton [Thu, 10 Sep 2009 09:50:43 +0000 (11:50 +0200)]
IRC_PASS(): remove unnecessary variable initialization

14 years agoConn_Close(): remove unused variable "txt"
Alexander Barton [Thu, 10 Sep 2009 09:49:39 +0000 (11:49 +0200)]
Conn_Close(): remove unused variable "txt"

14 years agoMac OS X: fix test for packagemaker(1) tool in Makefile
Alexander Barton [Thu, 10 Sep 2009 09:48:14 +0000 (11:48 +0200)]
Mac OS X: fix test for packagemaker(1) tool in Makefile

14 years agoFix --with-{openssl|gnutls} to accept path names
Alexander Barton [Wed, 2 Sep 2009 12:28:09 +0000 (14:28 +0200)]
Fix --with-{openssl|gnutls} to accept path names

This patch fixes --with-openssl and --with-gnutls and enables both to
accept path names, so that you can use "./configure --with-XXX=/path".
All the other --with-XXX parameters support this already.

14 years agodo not add default listening port if ssl ports were specified
Florian Westphal [Mon, 31 Aug 2009 17:42:59 +0000 (19:42 +0200)]
do not add default listening port if ssl ports were specified

Cosmo Kastemaa reported that its impossible to create an ssl-only setup,
as ngircd binds to port 6667 by default, even if setting "Ports =".

Only add the default port if _both_ "Ports" and "SSLPorts" are
unspecified.

Fixes bugzilla #98.

14 years agoFix LSB header of Debian init script
Alexander Barton [Sat, 29 Aug 2009 21:57:39 +0000 (23:57 +0200)]
Fix LSB header of Debian init script

14 years agoUse AM_SILENT_RULES([yes]), if available
Alexander Barton [Sun, 16 Aug 2009 14:08:21 +0000 (16:08 +0200)]
Use AM_SILENT_RULES([yes]), if available

Starting with GNU automake 1.11 "AM_SILENT_RULES([yes])" is available to
make the build process less verbose ("Linux 2.6 style") which helps to
spot warning and error messages.

So we use it if it is available.

14 years agoUpdate NEWS and ChangeLog for next release
Alexander Barton [Wed, 12 Aug 2009 12:48:33 +0000 (14:48 +0200)]
Update NEWS and ChangeLog for next release

14 years agoUpdated doc/Platforms.txt
Alexander Barton [Tue, 4 Aug 2009 20:53:38 +0000 (22:53 +0200)]
Updated doc/Platforms.txt

14 years agoNew script contrib/platformtest.sh
Alexander Barton [Tue, 4 Aug 2009 20:30:59 +0000 (22:30 +0200)]
New script contrib/platformtest.sh

This script analyzes the build process of ngIRCd and generates output
suitable for inclusion in doc/Platforms.txt.

14 years agodoc/Platforms.txt: ngircd builds on hppa2.0w-hp-hpux11.11 target
Florian Westphal [Wed, 22 Jul 2009 20:06:36 +0000 (22:06 +0200)]
doc/Platforms.txt: ngircd builds on hppa2.0w-hp-hpux11.11 target

Goetz Hoffart reports successful compile on HPUX/HPPA (on ngircd mailing list):

             Target: hppa2.0w-hp-hpux11.11
           Compiler: gcc
     Compiler flags: -g -O2 -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes -fstack-protector -D_XOPEN_SOURCE_EXTENDED
-DSYSCONFDIR='"$(sysconfdir)"'
          Libraries: -lz -lnsl

     Syslog support: yes     Enable debug code: no
   zlib compression: yes           IRC sniffer: no
   Use TCP Wrappers: no        Strict RFC mode: no
   Zeroconf support: no          IRC+ protocol: yes
      IDENT support: no            I/O backend: "poll()"
      IPv6 protocol: no            SSL support: no

14 years agoClient_CheckID(): fix connection information
Alexander Barton [Fri, 17 Jul 2009 14:16:04 +0000 (16:16 +0200)]
Client_CheckID(): fix connection information

This patch fixes the following silly log messages:
'ID "XXX" already registered (on connection -1)!'

If the ID is already registered on a local connection, the local
connection ID is printed; and if the ID is connected via a remote
server, "via network" is displayed.

14 years agoFix return code of Conf_EnableServer()
Alexander Barton [Fri, 17 Jul 2009 12:55:30 +0000 (14:55 +0200)]
Fix return code of Conf_EnableServer()

Conf_EnableServer() only reports success if all required variables,
including host name and port, are set for the specific server.

14 years agoAUTHORS: update my email address
Florian Westphal [Mon, 8 Jun 2009 10:25:35 +0000 (12:25 +0200)]
AUTHORS: update my email address

14 years agoadd section and rfc number to comment about QUIT error
Florian Westphal [Thu, 4 Jun 2009 23:39:33 +0000 (01:39 +0200)]
add section and rfc number to comment about QUIT error

14 years agoenforce upper limit on maximum number of handled commands
Florian Westphal [Mon, 25 May 2009 20:25:18 +0000 (22:25 +0200)]
enforce upper limit on maximum number of handled commands

reported on #ngircd: pasting lots of lines into a channel can kill off
many people on the channel if the read buffer is drained quickly enough
and the client-side TCP can't keep up with the incoming data.

This implements a throttling scheme:
- an irc client may send up to 3 commands per second before a one second
pause is enforced.
- an irc client may send up to 256 bytes per second before a one second
pause is enforced.

After discussion with Alexander Barton, server <-> server links are
treated specially: There is no artificial limit on the number of bytes
sent per second, and up to 10 commands are processed per second before
a pause is enforced.

It may be neccessary to make those limits tuneable to accomondate larger
networks, but for now they are compile time values.

14 years agoconn.c: fix NumConnections imbalance
Florian Westphal [Sun, 17 May 2009 19:32:53 +0000 (21:32 +0200)]
conn.c: fix NumConnections imbalance

New_Server() can call Conn_Close() in its error paths,
but that function decrements the number of current active
connections. Thus we need to increment it earlier.

14 years agoSSL/TLS: fix error handling when ssl ctx init for outgoing server link fails
Florian Westphal [Sun, 17 May 2009 19:27:27 +0000 (21:27 +0200)]
SSL/TLS: fix error handling when ssl ctx init for outgoing server link fails

14 years agoSSL/TLS: fix error path in gnutls ssl ctx allocation
Florian Westphal [Sun, 17 May 2009 19:18:04 +0000 (21:18 +0200)]
SSL/TLS: fix error path in gnutls ssl ctx allocation

14 years agomanpage: move SSLConnect option to the right section
Florian Westphal [Sat, 16 May 2009 23:22:18 +0000 (01:22 +0200)]
manpage: move SSLConnect option to the right section

14 years agoSSL/TLS: remove redundant asserts/ifdefs
Florian Westphal [Fri, 15 May 2009 21:28:59 +0000 (23:28 +0200)]
SSL/TLS: remove redundant asserts/ifdefs

14 years agoSSL/TLS: proper indentation, remove erroneous comment
Florian Westphal [Wed, 13 May 2009 15:29:10 +0000 (17:29 +0200)]
SSL/TLS: proper indentation, remove erroneous comment

14 years agoUpdate copyright notice, it's 2009 already!
Alexander Barton [Tue, 5 May 2009 15:08:48 +0000 (17:08 +0200)]
Update copyright notice, it's 2009 already!

14 years agoUpdated Debian "changelog" file for ngIRCd 14.1 rel-14-1
Alexander Barton [Tue, 5 May 2009 11:14:23 +0000 (13:14 +0200)]
Updated Debian "changelog" file for ngIRCd 14.1

14 years agongIRCd release 14.1
Alexander Barton [Tue, 5 May 2009 10:58:51 +0000 (12:58 +0200)]
ngIRCd release 14.1

14 years agoAdded start/stop script for Red Hat based distributions
Alexander Barton [Tue, 5 May 2009 10:50:55 +0000 (12:50 +0200)]
Added start/stop script for Red Hat based distributions

Script contributed by Naoya Nakazawa <naoya@sanow.net>.

14 years agoRenamed contrib/ngircd.sh to contrib/ngircd-bsd.sh
Alexander Barton [Tue, 5 May 2009 09:41:26 +0000 (11:41 +0200)]
Renamed contrib/ngircd.sh to contrib/ngircd-bsd.sh

14 years agosecurity: fix remotely triggerable crash in SSL/TLS code
Florian Westphal [Mon, 4 May 2009 21:51:24 +0000 (23:51 +0200)]
security: fix remotely triggerable crash in SSL/TLS code

When a server is running with SSL/TLS support compiled in,
it is trivial to crash the server by sending an MOTD request
via another server in the network.

- ONLY servers without ssl/tls support compiled in are not affected.
  Disabling SSL in the configuration (no ssl listening ports, etc)
  does NOT help.
- servers that are running standalone (i.e., not connected to any
  other servers) are not affected, either.

This affects all ngircd releases since ngircd 13 (earlier versions
have no SSL/TLS support).

14 years agoFixed "Conflicts:" line in debian/control: missing comma
Alexander Barton [Mon, 4 May 2009 09:23:19 +0000 (11:23 +0200)]
Fixed "Conflicts:" line in debian/control: missing comma

14 years agoDebian: build ngircd-full-dbg package
Alexander Barton [Wed, 29 Apr 2009 00:13:27 +0000 (02:13 +0200)]
Debian: build ngircd-full-dbg package

In addition to the "ngircd" and "ngircd-full" packages a new package named
"ngircd-full-dbg" is build: this package contains all the features of the
"full" package but includes debug code and both the --debug and --sniffer
options and the resulting binaries are _not_ stripped.

14 years agodebian/rules: whitespace fixes
Alexander Barton [Wed, 29 Apr 2009 00:12:56 +0000 (02:12 +0200)]
debian/rules: whitespace fixes

14 years agoFix server list announcement
Tassilo Schweyer [Sat, 25 Apr 2009 22:23:40 +0000 (00:23 +0200)]
Fix server list announcement

When ngircd announces the list of currently known servers
to a new (connecting) server, it sent the introducer of
the servers instead of the top server.

Assuming this network:

irc1.example.com
|--irc2.example.com
|    `--irc3.example.com
|         `--irc4.example.com
`--irc5.example.com

When irc4 connects to irc3, irc3 tells irc4 that irc5 was
connected to irc2. (irc2 had introduced irc5 to irc3; but thats
not what ngircd should have sent to the new server).

This also placed users on the wrong servers.

14 years agoDoxygen: update source code repository link to GIT
Alexander Barton [Fri, 24 Apr 2009 22:53:47 +0000 (00:53 +0200)]
Doxygen: update source code repository link to GIT

14 years agoallow ping timeout quit messages to show the timeout value
David Kingston [Fri, 24 Apr 2009 05:01:37 +0000 (00:01 -0500)]
allow ping timeout quit messages to show the timeout value

15 years agoirc-server: do not remove hostnames from info text
Florian Westphal [Wed, 22 Apr 2009 21:15:17 +0000 (23:15 +0200)]
irc-server: do not remove hostnames from info text

that code does not really make sense -- the info
text is freely cofngiureable and des not follow a specific
format.

Also, that "+2" might have caused invalid memory accesses.

15 years agoconn-zip: fix error handling
Florian Westphal [Tue, 21 Apr 2009 17:49:15 +0000 (19:49 +0200)]
conn-zip: fix error handling

callers of (Un)Zip_Buffer() assume that
the function closes the connection on error.

However, this was not always the case.

15 years agoremove or translate old comments
Florian Westphal [Tue, 21 Apr 2009 06:40:10 +0000 (08:40 +0200)]
remove or translate old comments

15 years agoclient.c: remove unecessary comments
Florian Westphal [Mon, 20 Apr 2009 06:34:09 +0000 (08:34 +0200)]
client.c: remove unecessary comments

15 years agoadd const qualifier to pointers where possible
Florian Westphal [Sat, 11 Apr 2009 23:09:42 +0000 (01:09 +0200)]
add const qualifier to pointers where possible