1
0
mirror of https://github.com/osmarks/ngircd.git synced 2025-03-12 12:08:12 +00:00

1850 Commits

Author SHA1 Message Date
Alexander Barton
b00a08ef40 Free topic array on channel deletion.
The topic array in the CHANNEL structure must be free()'d before the
channel itself becomes deleted.

(backport of commit 18efc7469c of master branch)
2009-01-04 15:57:33 +01:00
Florian Westphal
aede22901c Fix handling of MaxConnections option
Config option claimed to be 'number of connections' but in reality this
was treated as 'largest file descriptor allowed'.

This also fixes another bug in New_connection, where the
ng_ipaddr_tostr_r error path was missing a return statement.
2008-08-31 18:43:42 +02:00
Alexander Barton
62b668a7b1 ngIRCd 0.12.1 rel-0-12-1 2008-07-09 12:37:37 +02:00
Alexander Barton
ecddfb7010 Updated ChangeLog for 0.12.1. 2008-06-11 16:39:25 +02:00
Alexander Barton
fb46757c48 Allow mixed line terminations (CR+LF/CR/LF) in non-RFC-compliant mode
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!

(manually cherry picked from commit a84f7dcee5a1b32c74188aa5374d30eddd24852b)
2008-06-11 16:38:11 +02:00
Alexander Barton
b6b019dddc Updated NEWS and ChangeLog in preparation for ngIRCd 0.12.1. 2008-05-30 19:26:19 +02:00
Alexander Barton
ce3215acaf Don't allow stray \r or \n in command parameters
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.
(cherry picked from commit 8644cbf197807909e4caea184278872cdeca1963)
2008-05-30 15:12:17 +02:00
Alexander Barton
edb59b8317 --configtest: return non-zero exit code if there are errors
(cherry picked from commit 6f7b669becb0ebf2058fa2bbe834de48c01de933)
2008-05-30 15:12:07 +02:00
Alexander Barton
42207d160b Update ngIRCd manual pages
- Update timestamp,
- enhance some phrasing,
- and fix "Passive" ([Server]) formatting.
(cherry picked from commit aad49bd260494878aed6795c7a897ad1d28c3082)
2008-05-30 15:08:40 +02:00
Jari Aalto
a3dc42534b Add option aliases -V (for --version) and -h (for --help).
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>.
(cherry picked from commit 818a206a4261f3d4153b0ab5c2025d77002290f5)
2008-05-19 14:59:41 +02:00
Florian Westphal
bb81927ce4 Fix 'no-ipv6' compile error. 2008-05-19 14:59:35 +02:00
Florian Westphal
b2c0a89f45 make Listen parameter a comma-seperated list of addresses.
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-19 14:27:04 +02:00
Alexander Barton
f44007f42f ngIRCd 0.12.0 rel-0-12-0 2008-05-13 12:42:59 +02:00
Alexander Barton
1a56c77751 Updated NEWS and ChangeLog for ngIRCd 0.12.0. 2008-05-13 12:42:27 +02:00
Florian Westphal
78257374f0 If bind() fails, also print ip address and not just the port number. 2008-05-13 12:30:41 +02:00
Florian Westphal
fc93044909 Fix complie on FreeBSD 5.4 and AIX.
This is picked from commits

d9c26f3aeb35e979b72f7b0ac4220dbd07d7bc15
"ng_ipaddr.h must include netinet/in.h."

and
4e507881f30c8b4296d87de519658e45f8cb417f
"On AIX (for example) socklen_t is defined in sys/socket.h"
2008-05-10 21:53:39 +02:00
Ali Shemiran
2e0c62df91 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.

[picked from 12cd554af1709c44f35024d7d2fc368fb22f133d; without testcase]
2008-05-09 21:52:54 +02:00
Alexander Barton
c5ba599140 ngIRCd 0.12.0-pre2 rel-0-12-0-pre2 2008-04-29 23:57:11 +02:00
Alexander Barton
afc67ff323 Merge branch 'master' into branch-0-12-x 2008-04-29 15:36:16 +02:00
Alexander Barton
6cfc56064e Updated NEWS and ChangeLog for ngIRCd 0.12.0-pre2. 2008-04-29 15:34:15 +02:00
Alexander Barton
4a81367dac --configtest: fix missing whitespace at "ConnectIPv4" option. 2008-04-29 15:27:44 +02:00
Alexander Barton
8c425945a2 --enable-ipv6: fix indentation in ./configure --help output. 2008-04-29 15:26:20 +02:00
Alexander Barton
bb6ee46892 Merge branch 'master' of git://git.breakpoint.cc/fw/ngircd-fw 2008-04-29 15:15:28 +02:00
Alexander Barton
6052d04c60 Merge branch 'master' into branch-0-12-x 2008-04-29 14:41:24 +02:00
Florian Westphal
9194319399 Testsuite: remove erroneous ConfUID setting in config file.
The config file for ngircds test suite contained obsolete
ConfUID/ConfGID settings, causing ngircd to needlesly complain when
started as non-root (which is hopefully the _normal_ case...)
2008-04-29 13:32:29 +02:00
Alexander Barton
32bf6d4de0 Merge branch 'master' into branch-0-12-x
Fixed bug 81:
When trying to part a channel ("PART #channel") the client is not member of
the daemon now correctly reports the numeric ERR_NOTONCHANNEL (442) insted
of ERR_NOSUCHCHANNEL (403).
2008-04-25 00:20:35 +02:00
Alexander Barton
33b1204349 Get rid of cvs-version.* and CVSDATE definition.
(cherry picked from commit b187fac244f4e14705f882ba7c43eef0238e2830)
2008-04-25 00:14:11 +02:00
Alexander Barton
09968ee843 Documentation: get rid of some more references to CVS, switch to GIT.
(cherry picked from commit 6e9389b86c906c53a7797b8ced87a19195e16333)
2008-04-25 00:13:07 +02:00
Alexander Barton
523a6fad09 Report ERR_NOTONCHANNEL when trying to part a channel one is not member of.
When trying to part a channel ("PART #channel") the client is not member of
the daemon now correctly reports the numeric ERR_NOTONCHANNEL (442) insted
of ERR_NOSUCHCHANNEL (403).
2008-04-24 23:52:54 +02:00
Alexander Barton
54b17fc201 Channel_Part(): Code and comment cleanup. 2008-04-24 23:47:33 +02:00
Alexander Barton
25f48a2a34 IRC_PART(): code and comment cleanup. 2008-04-24 23:46:59 +02:00
Florian Westphal
22fa782be7 IPv6: Add config options to disabe ipv4/ipv6 support.
This also enables ipv6-only setups.
2008-04-21 00:45:19 +02:00
Alexander Barton
b187fac244 Get rid of cvs-version.* and CVSDATE definition. 2008-04-20 23:10:22 +02:00
Alexander Barton
6e9389b86c Documentation: get rid of some more references to CVS, switch to GIT. 2008-04-20 22:48:05 +02:00
Alexander Barton
2f6d7a649c Don't include doc/CVS.txt in distribution archive, use doc/GIT.txt now!
(cherry picked from commit a8e0eb62e9dce81ca4a5c5911428561b90bf2c6e)
2008-04-20 17:37:21 +02:00
Alexander Barton
a8e0eb62e9 Don't include doc/CVS.txt in distribution archive, use doc/GIT.txt now! rel-0-12-0-pre1 2008-04-20 16:46:49 +02:00
Alexander Barton
7df90846e1 Synchronized branch-0-12-x (ngIRCd 0.12.0-pre1) with master.
(cherry picked from commit 4ea29329674ff8ec6d772991a57c146b5d78d2ad)
2008-04-20 16:20:53 +02:00
Alexander Barton
4ea2932967 ngIRCd 0.12.0-pre1 2008-04-20 15:53:49 +02:00
Alexander Barton
92a9092208 Updated NEWS and ChangeLog for upcoming 0.12.0-pre1 release. 2008-04-20 15:48:49 +02:00
Alexander Barton
a0efcdccfa Updated copyright notice to read "2001-2008". 2008-04-20 15:48:22 +02:00
Alexander Barton
012aeca32b Added make target "testsuite"
This make target runs the testsuite located in src/testsuite without running
alle the other tests that "make check" would run.
2008-04-20 14:52:00 +02:00
Alexander Barton
c4a505d3a8 Fixed "xcode" make target (used to build ngIRCd with Mac OS X Xcode) 2008-04-20 14:50:46 +02:00
Florian Westphal
8df445316a Channel_Mode: Remove duplicate code.
Incidentially, this doesn't even change the
generated code...
2008-04-19 16:58:00 +02:00
Florian Westphal
11af32466f Channel_Mode: change order of if (set) and if (client) check. 2008-04-19 16:51:42 +02:00
Florian Westphal
5538115537 Channel_Mode: Re-indent switch.
No functional changes were made.
2008-04-19 16:45:31 +02:00
Florian Westphal
b8643477ba Channel_Mode: check return type of Invite/Ban Add/Del function 2008-04-19 16:17:11 +02:00
Florian Westphal
796dcf6a62 Channel_Mode: unify 'b' and 'I' switch/case handling. 2008-04-19 14:16:17 +02:00
Florian Westphal
6b0c094809 Channel_Mode: Unify Del_Invite and Del_Ban handler 2008-04-19 14:12:06 +02:00
Florian Westphal
b36fc3b095 Constify Lists_MakeMask argument and return type. 2008-04-19 14:11:25 +02:00
Florian Westphal
2dd51a98e4 Channel_Mode: Unify Add_Invite and Add_Ban handler 2008-04-19 14:02:54 +02:00