1
0
mirror of https://github.com/osmarks/ngircd.git synced 2026-06-30 00:28:53 +00:00
Commit Graph

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 a84f7dcee5)
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 8644cbf197)
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 6f7b669bec)
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 aad49bd260)
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 818a206a42)
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

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

and
4e507881f3
"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 b187fac244)
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 6e9389b86c)
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 a8e0eb62e9)
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 4ea2932967)
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