]> arthur.barton.de Git - ngircd-alex.git/log
ngircd-alex.git
13 years agoDon't access already freed memory in IRC_KILL()
Alexander Barton [Sat, 22 May 2010 15:03:54 +0000 (17:03 +0200)]
Don't access already freed memory in IRC_KILL()

It is not possible to call Conn_Close() after Client_Destroy() has been
called, because Conn_Close wants to access the CLIENT structure which
then has been freed already.

Fix IRC_KILL to use Conn_Close() for local clients and Client_Destroy()
for remote clients only (and never both).

13 years agofix "beeing" typo
Florian Westphal [Fri, 14 May 2010 17:43:08 +0000 (19:43 +0200)]
fix "beeing" typo

reported by Fabio Scotoni via bugzilla #101.

13 years agoSSL/TLS: fix bogus 'socket closed' error message
Florian Westphal [Fri, 7 May 2010 21:25:59 +0000 (23:25 +0200)]
SSL/TLS: fix bogus 'socket closed' error message

When we get there then the ssl handshake has failed, or
we could not create a ssl context because ssl library
initialization failed on startup.

Reflect that in the log message.

13 years agongIRCd release 16 rel-16
Alexander Barton [Sun, 2 May 2010 13:25:35 +0000 (15:25 +0200)]
ngIRCd release 16

13 years agodoc/SSL: remove line continuation marker
Florian Westphal [Sat, 1 May 2010 18:29:14 +0000 (20:29 +0200)]
doc/SSL: remove line continuation marker

some people got confused by the '\' line continuation marker,
thus put everything in a single line, even if the line gets overly long.

13 years agongIRCd release 16~rc2 rel-16-rc2
Alexander Barton [Sun, 25 Apr 2010 11:13:11 +0000 (13:13 +0200)]
ngIRCd release 16~rc2

13 years agoDon't reset counters on RESTART numeric-250
Alexander Barton [Sun, 25 Apr 2010 10:54:13 +0000 (12:54 +0200)]
Don't reset counters on RESTART

When ngIRCd restarts, all the connection counters are preserved now,
as well as the command counters for example.

It's unclear if resetting or not resetting is the "correct" behaviour,
but it's quite clear that the behaviour should be consistent for all the
counters ngIRCd uses ...

And initializing "WCounter", the global but temporary write counter,
is not necessarry at all: it is initialized (reset) before its use in
the command parser (see parse.c).

13 years agoNew numeric RPL_STATSCONN (250): display connection statistics
Alexander Barton [Fri, 23 Apr 2010 21:30:14 +0000 (23:30 +0200)]
New numeric RPL_STATSCONN (250): display connection statistics

The RPL_STATSCONN numeric (250) displays information about the
highest simoultaneous connection count and the number of all
accepted connections since the daemon started up.

Used by ircd-Hybrid, Bahamut, and Unreal for example.

13 years agoDisplay total number of served connections on daemon shutdown
Alexander Barton [Fri, 23 Apr 2010 21:29:22 +0000 (23:29 +0200)]
Display total number of served connections on daemon shutdown

13 years agoEnhace connection statistics counters
Alexander Barton [Fri, 23 Apr 2010 21:25:34 +0000 (23:25 +0200)]
Enhace connection statistics counters

This patch enables ngIRCd to count the highest maximum simultaneous
connections and all the connections accepted since startup.

New functions:
- Conn_Count(): get current connections
- Conn_CountMax(): maximum simultaneous connections
- Conn_CountAccepted(): number of connections accepted

13 years agoConn_Init: code cleanup
Alexander Barton [Fri, 23 Apr 2010 20:23:51 +0000 (22:23 +0200)]
Conn_Init: code cleanup

13 years agoUpdated doc/Platforms.txt
Alexander Barton [Fri, 23 Apr 2010 09:04:39 +0000 (11:04 +0200)]
Updated doc/Platforms.txt

13 years agoOnly include <netinet/in_systm.h> if it exists
Alexander Barton [Fri, 23 Apr 2010 09:04:15 +0000 (11:04 +0200)]
Only include <netinet/in_systm.h> if it exists

13 years agoInclude netinet/{in.h, in_systm.h} when checking for netinet/ip.h
Alexander Barton [Fri, 23 Apr 2010 08:55:50 +0000 (10:55 +0200)]
Include netinet/{in.h, in_systm.h} when checking for netinet/ip.h

This solves warning messages of autoconf on e.g. FreeBSD 8:

configure: WARNING: netinet/ip.h: present but cannot be compiled
configure: WARNING: netinet/ip.h:   check for missing prerequisite headers?

14 years agoInclude netinet/in_systm.h alongside netinet/ip.h
Alexander Barton [Sun, 11 Apr 2010 16:58:29 +0000 (16:58 +0000)]
Include netinet/in_systm.h alongside netinet/ip.h

This fixes the following error when compiling on e.g. FreeBSD 6.x:

In file included from conn.c:40:
/usr/include/netinet/ip.h:160: error: syntax error before "n_long"
/usr/include/netinet/ip.h:163: error: syntax error before "n_long"

14 years agoFix gcc warning "ignoring return value of ..."
Alexander Barton [Fri, 9 Apr 2010 18:08:47 +0000 (20:08 +0200)]
Fix gcc warning "ignoring return value of ..."

This patch fixes two warnings of gcc 4.4.3 when used with eglibc 2.11.1:

ngircd.c: In function ‘NGIRCd_Init’:
ngircd.c:801: warning: ignoring return value of ‘chdir’, declared with
 attribute warn_unused_result
conn.c: In function ‘Simple_Message’:
conn.c:2041: warning: ignoring return value of ‘write’, declared with
 attribute warn_unused_result

The first by checking the return code and an appropriate error message,
the second by "better" ignoring it (which is correct there!) ...

14 years agoOnly compile in Get_Error() if really needed
Alexander Barton [Fri, 9 Apr 2010 18:06:44 +0000 (20:06 +0200)]
Only compile in Get_Error() if really needed

This fixes "resolve.c:150: warning: ‘Get_Error’ defined but not used".

14 years agoUpdated some more copyright notices, it's 2010 already (part 2)
Alexander Barton [Fri, 2 Apr 2010 12:22:07 +0000 (14:22 +0200)]
Updated some more copyright notices, it's 2010 already (part 2)

Silly me forgot the most important place, the program output itself ...

14 years agoUpdated some more copyright notices, it's 2010 already :-)
Alexander Barton [Fri, 2 Apr 2010 12:19:36 +0000 (14:19 +0200)]
Updated some more copyright notices, it's 2010 already :-)

14 years agongIRCd release 16~rc1 rel-16-rc1
Alexander Barton [Thu, 25 Mar 2010 14:57:11 +0000 (15:57 +0100)]
ngIRCd release 16~rc1

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