ngircd-alex.git
11 years agoMerge commit 'aad49bd260494878aed6795c7a897ad1d28c3082' alex/master origin/HEAD origin/master
Alexander Barton [Tue, 13 May 2008 10:14:14 +0000 (12:14 +0200)]
Merge commit 'aad49bd260494878aed6795c7a897ad1d28c3082'

11 years agoThis patch implements a (maybe) compliant WHOWAS command.
Scott Perry [Mon, 12 May 2008 10:59:55 +0000 (12:59 +0200)]
This patch implements a (maybe) compliant WHOWAS command.

It is hard to test this in the test suite because we 1) shouldn't rely on
previous tests populating WHOWAS and 2) don't connect a user for more than 30
seconds.

Also makes WHOWAS return ERR_NONICKNAMEGIVEN_MSG as implied by RFC.

11 years agoIf bind() fails, also print ip address and not just the port number.
Florian Westphal [Mon, 12 May 2008 16:46:55 +0000 (18:46 +0200)]
If bind() fails, also print ip address and not just the port number.

11 years agoUpdate ngIRCd manual pages
Alexander Barton [Sun, 11 May 2008 15:08:46 +0000 (17:08 +0200)]
Update ngIRCd manual pages

- Update timestamp,
- enhance some phrasing,
- and fix "Passive" ([Server]) formatting.

11 years agoGIT: ignore symbolic links to tests in testsuite directory
Alexander Barton [Sun, 11 May 2008 13:20:46 +0000 (15:20 +0200)]
GIT: ignore symbolic links to tests in testsuite directory

Added symbolic links to new tests (invite-test, join-test, and kick-test)
to .gitignore file.

11 years agoFixes to who-test: accept "localhost.<domain>" as well as "localhost"
Alexander Barton [Sun, 11 May 2008 13:17:22 +0000 (15:17 +0200)]
Fixes to who-test: accept "localhost.<domain>" as well as "localhost"

Some operating systems, for example OpenBSD, use "localhost.<domain>"
instead of "localhost", so the "who-test" expecting "localhost" failed
on such systems.

11 years agong_ipaddr.h must include netinet/in.h.
Florian Westphal [Sat, 10 May 2008 19:49:51 +0000 (21:49 +0200)]
ng_ipaddr.h must include netinet/in.h.

compile on FreeBSD 5.4 failed with:
./../ipaddr/ng_ipaddr.h:34: error: field `sin4' has incomplete type

Reported and tested by Jefferson S Almeida.

11 years agoRemoved space after # so that Cygwin's version of expect recognizes comments.
Brandon Beresini [Fri, 9 May 2008 17:23:43 +0000 (10:23 -0700)]
Removed space after # so that Cygwin's version of expect recognizes comments.

11 years agoFix secret channel information leak
Ali Shemiran [Fri, 9 May 2008 19:47:31 +0000 (21:47 +0200)]
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.

11 years agoAdded Cygwin uid kludge. (verified working)
ashemira@ucsd.edu [Thu, 8 May 2008 05:38:00 +0000 (22:38 -0700)]
Added Cygwin uid kludge. (verified working)

11 years agoAnglified and improved comments in channel.c and channel.h
Eric Grunow [Thu, 8 May 2008 01:15:04 +0000 (03:15 +0200)]
Anglified and improved comments in channel.c and channel.h

[Dana Dahlstrom: repair tab/space conversion in patch]

11 years agoImplement IRC commands SERVICE, SERVLIST, and SQUERY as dummy functions bug74-SrvCmds
Alexander Barton [Mon, 5 May 2008 16:06:43 +0000 (18:06 +0200)]
Implement IRC commands SERVICE, SERVLIST, and SQUERY as dummy functions

SERVICE, SERVLIST, and SQUERY are required by RFC 2812 (it states in
section 3 that "all commands described in this section MUST be implemented
by any server for this protocol." -- So we implement them without (much)
actual functionality ...

11 years agoAdd invite-test.e to test suite.
Florian Westphal [Sun, 4 May 2008 21:34:36 +0000 (23:34 +0200)]
Add invite-test.e to test suite.

11 years agoTests for the INVITE command.
Dana Dahlstrom [Sun, 4 May 2008 03:02:12 +0000 (20:02 -0700)]
Tests for the INVITE command.

11 years agoInvite: prefix last argument with colon when necessary.
Dana Dahlstrom [Sun, 4 May 2008 21:20:05 +0000 (23:20 +0200)]
Invite: prefix last argument with colon when necessary.

11 years agotests for JOIN and various replies
Dana Dahlstrom [Sat, 3 May 2008 22:46:02 +0000 (00:46 +0200)]
tests for JOIN and various replies

Brandon Beresini sent me a patch yesterday adding tests for JOIN under
various circumstances, which I believe he worked on with Bryan Caldwell
and Ali Shemiran. I made a few modifications; the result is below.

11 years agoAllow KICK to handle comma-delimited lists (of channels, nicks).
Bryan Caldwell [Mon, 5 May 2008 14:04:48 +0000 (16:04 +0200)]
Allow KICK to handle comma-delimited lists (of channels, nicks).

includes test cases.

[fw@strlen.de:
- move code around to avoid duplication
- use const where possible
- integrate test case]

11 years agoInvite: Send RPL_AWAY to client sending the invite if target is away.
Florian Westphal [Sun, 4 May 2008 13:07:21 +0000 (15:07 +0200)]
Invite: Send RPL_AWAY to client sending the invite if target is away.

11 years agoFixes to who-test: accept any ident, escape some '*' flags.
Dana Dahlstrom [Sun, 4 May 2008 23:01:58 +0000 (16:01 -0700)]
Fixes to who-test: accept any ident, escape some '*' flags.

This prevents who-test.e from failing when ngircd
is performing ident lookups and an ident server is running.

11 years agoIRC_INVITE: coding style cleanup.
Florian Westphal [Sun, 4 May 2008 13:00:39 +0000 (15:00 +0200)]
IRC_INVITE: coding style cleanup.

11 years agoConstify some of Channel_Kick()s arguments.
Florian Westphal [Sat, 3 May 2008 19:41:32 +0000 (21:41 +0200)]
Constify some of Channel_Kick()s arguments.

11 years agoconstify Client_Search() argument.
Florian Westphal [Sat, 3 May 2008 19:20:02 +0000 (21:20 +0200)]
constify Client_Search() argument.

11 years agoAllow IRC ops to ignore channel limits when joining
Rolf Eike Beer [Sun, 4 May 2008 13:27:34 +0000 (15:27 +0200)]
Allow IRC ops to ignore channel limits when joining

Allow IRC ops to ignore any channel limit (bans, invite only etc.) when they
want to join a channel.

11 years agoHandle 1-character messages terminated with CR or LF correctly
Alexander Barton [Fri, 2 May 2008 00:14:15 +0000 (02:14 +0200)]
Handle 1-character messages terminated with CR or LF correctly

Code cleanup and fix for Bug #83, "ngIRCd chokes on 1-character messages" in
function Handle_Buffer(): the buffer is now correctly cleared when ngIRCd
receives 1-character messages terminated with either CR or LF (in violation
to RFC 2812, section 2.3 "Messages", 5th paragraph).

11 years agoOn AIX (for example) socklen_t is defined in sys/socket.h
Alexander Barton [Thu, 1 May 2008 18:25:39 +0000 (20:25 +0200)]
On AIX (for example) socklen_t is defined in sys/socket.h

On AIX and probably other systems socklen_t is defined in sys/socket.h,
so we have to include it here explicitly (tested by Florian).

11 years agoAlways enable modeless channels.
Florian Westphal [Thu, 1 May 2008 16:00:33 +0000 (18:00 +0200)]
Always enable modeless channels.

Modeless channels (+channels) are described in RFC 2811;
so my modifications to
530112b114ffa7d5352c0733790ddf90253f41f9
('Add support for modeless channels')
to disable +channels for --strict-rfc configurations
were wrong. This reverts those changes.

11 years agoPrevent GIT to complain about opless-channel-test link
Alexander Barton [Thu, 1 May 2008 14:31:13 +0000 (16:31 +0200)]
Prevent GIT to complain about opless-channel-test link

11 years agoAdd support for modeless channels
Ali Shemiran [Thu, 1 May 2008 13:19:31 +0000 (15:19 +0200)]
Add support for modeless channels

Add support for modeless channels (+channels).

[fw@strlen.de:
 - integrate test cases
 - don't support +channels when compiled with --strict-rfc
 - do not set +o mode for channel creator
 - force +nt mode when channel is created ]

11 years agoUpdated NEWS and ChangeLog for ngIRCd 0.12.0-pre2.
Alexander Barton [Tue, 29 Apr 2008 13:34:15 +0000 (15:34 +0200)]
Updated NEWS and ChangeLog for ngIRCd 0.12.0-pre2.

11 years ago--configtest: fix missing whitespace at "ConnectIPv4" option.
Alexander Barton [Tue, 29 Apr 2008 13:27:44 +0000 (15:27 +0200)]
--configtest: fix missing whitespace at "ConnectIPv4" option.

11 years ago--enable-ipv6: fix indentation in ./configure --help output.
Alexander Barton [Tue, 29 Apr 2008 13:26:20 +0000 (15:26 +0200)]
--enable-ipv6: fix indentation in ./configure --help output.

11 years agoMerge branch 'master' of git://git.breakpoint.cc/fw/ngircd-fw
Alexander Barton [Tue, 29 Apr 2008 13:15:28 +0000 (15:15 +0200)]
Merge branch 'master' of git://git.breakpoint.cc/fw/ngircd-fw

11 years agoTestsuite: remove erroneous ConfUID setting in config file.
Florian Westphal [Fri, 25 Apr 2008 22:38:57 +0000 (00:38 +0200)]
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...)

11 years agoGet rid of cvs-version.* and CVSDATE definition.
Alexander Barton [Sun, 20 Apr 2008 21:10:22 +0000 (23:10 +0200)]
Get rid of cvs-version.* and CVSDATE definition.
(cherry picked from commit b187fac244f4e14705f882ba7c43eef0238e2830)

11 years agoDocumentation: get rid of some more references to CVS, switch to GIT.
Alexander Barton [Sun, 20 Apr 2008 20:48:05 +0000 (22:48 +0200)]
Documentation: get rid of some more references to CVS, switch to GIT.
(cherry picked from commit 6e9389b86c906c53a7797b8ced87a19195e16333)

11 years agoReport ERR_NOTONCHANNEL when trying to part a channel one is not member of. bug81-PART
Alexander Barton [Thu, 24 Apr 2008 21:52:54 +0000 (23:52 +0200)]
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).

11 years agoChannel_Part(): Code and comment cleanup.
Alexander Barton [Thu, 24 Apr 2008 21:47:33 +0000 (23:47 +0200)]
Channel_Part(): Code and comment cleanup.

11 years agoIRC_PART(): code and comment cleanup.
Alexander Barton [Thu, 24 Apr 2008 21:46:59 +0000 (23:46 +0200)]
IRC_PART(): code and comment cleanup.

11 years agoIPv6: Add config options to disabe ipv4/ipv6 support.
Florian Westphal [Sun, 20 Apr 2008 22:45:19 +0000 (00:45 +0200)]
IPv6: Add config options to disabe ipv4/ipv6 support.

This also enables ipv6-only setups.

11 years agoDon't include doc/CVS.txt in distribution archive, use doc/GIT.txt now!
Alexander Barton [Sun, 20 Apr 2008 14:46:49 +0000 (16:46 +0200)]
Don't include doc/CVS.txt in distribution archive, use doc/GIT.txt now!
(cherry picked from commit a8e0eb62e9dce81ca4a5c5911428561b90bf2c6e)

11 years agoSynchronized branch-0-12-x (ngIRCd 0.12.0-pre1) with master.
Alexander Barton [Sun, 20 Apr 2008 14:20:53 +0000 (16:20 +0200)]
Synchronized branch-0-12-x (ngIRCd 0.12.0-pre1) with 
(cherry picked from commit 4ea29329674ff8ec6d772991a57c146b5d78d2ad)

11 years agoUpdated NEWS and ChangeLog for upcoming 0.12.0-pre1 release.
Alexander Barton [Sun, 20 Apr 2008 13:48:49 +0000 (15:48 +0200)]
Updated NEWS and ChangeLog for upcoming 0.12.0-pre1 release.

11 years agoUpdated copyright notice to read "2001-2008".
Alexander Barton [Sun, 20 Apr 2008 13:48:22 +0000 (15:48 +0200)]
Updated copyright notice to read "2001-2008".

11 years agoAdded make target "testsuite"
Alexander Barton [Sun, 20 Apr 2008 12:52:00 +0000 (14:52 +0200)]
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.

11 years agoFixed "xcode" make target (used to build ngIRCd with Mac OS X Xcode)
Alexander Barton [Sun, 20 Apr 2008 12:50:46 +0000 (14:50 +0200)]
Fixed "xcode" make target (used to build ngIRCd with Mac OS X Xcode)

11 years agoChannel_Mode: Remove duplicate code.
Florian Westphal [Sat, 19 Apr 2008 14:58:00 +0000 (16:58 +0200)]
Channel_Mode: Remove duplicate code.

Incidentially, this doesn't even change the
generated code...

11 years agoChannel_Mode: change order of if (set) and if (client) check.
Florian Westphal [Sat, 19 Apr 2008 14:51:42 +0000 (16:51 +0200)]
Channel_Mode: change order of if (set) and if (client) check.

11 years agoChannel_Mode: Re-indent switch.
Florian Westphal [Sat, 19 Apr 2008 14:45:31 +0000 (16:45 +0200)]
Channel_Mode: Re-indent switch.

No functional changes were made.

11 years agoChannel_Mode: check return type of Invite/Ban Add/Del function
Florian Westphal [Sat, 19 Apr 2008 14:17:11 +0000 (16:17 +0200)]
Channel_Mode: check return type of Invite/Ban Add/Del function

11 years agoChannel_Mode: unify 'b' and 'I' switch/case handling.
Florian Westphal [Sat, 19 Apr 2008 12:16:17 +0000 (14:16 +0200)]
Channel_Mode: unify 'b' and 'I' switch/case handling.

11 years agoChannel_Mode: Unify Del_Invite and Del_Ban handler
Florian Westphal [Sat, 19 Apr 2008 12:12:06 +0000 (14:12 +0200)]
Channel_Mode: Unify Del_Invite and Del_Ban handler

11 years agoConstify Lists_MakeMask argument and return type.
Florian Westphal [Sat, 19 Apr 2008 12:11:25 +0000 (14:11 +0200)]
Constify Lists_MakeMask argument and return type.

11 years agoChannel_Mode: Unify Add_Invite and Add_Ban handler
Florian Westphal [Sat, 19 Apr 2008 12:02:54 +0000 (14:02 +0200)]
Channel_Mode: Unify Add_Invite and Add_Ban handler

11 years agoEnable more compiler warnings when using Xcode.
Alexander Barton [Sun, 13 Apr 2008 21:43:12 +0000 (23:43 +0200)]
Enable more compiler warnings when using Xcode.

11 years agoGIT should ignore user preferences files inside Xcode projects.
Alexander Barton [Sat, 12 Apr 2008 21:29:58 +0000 (23:29 +0200)]
GIT should ignore user preferences files inside Xcode projects.

Added filter for GIT to ignore Xcode user preferences files (*.mode1v3 and
*.pbxuser) which are automatically generated inside the project bundle when
opened in Xcode.

11 years agoUpdated Xcode project file.
Alexander Barton [Sat, 12 Apr 2008 21:27:11 +0000 (23:27 +0200)]
Updated Xcode project file.

11 years agoConvert CVS commands to their git equivalents.
Florian Westphal [Sat, 12 Apr 2008 19:10:47 +0000 (21:10 +0200)]
Convert CVS commands to their git equivalents.

Also mention that patches should be sent to the mailing list.

11 years agoAdded "portabtest" binary to .gitignore file in src/portabtest/.
Alexander Barton [Wed, 9 Apr 2008 17:46:26 +0000 (19:46 +0200)]
Added "portabtest" binary to .gitignore file in src/portabtest/.

11 years agoInclude Mac OS X Xcode project in distribution archives. (Part 2)
Alexander Barton [Wed, 9 Apr 2008 17:24:22 +0000 (19:24 +0200)]
Include Mac OS X Xcode project in distribution archives. (Part 2)
I forgot to include the new Makefile.am in contrib/MacOSX/ngIRCd.xcodeproj/ ...

11 years agoInclude Mac OS X Xcode project in distribution archives.
Alexander Barton [Wed, 9 Apr 2008 17:09:23 +0000 (19:09 +0200)]
Include Mac OS X Xcode project in distribution archives.
Oops, it has not been included since ... ages??

11 years agoMoved .cvsignore files to .gitignore
Alexander Barton [Wed, 9 Apr 2008 16:54:52 +0000 (18:54 +0200)]
Moved .cvsignore files to .gitignore
Since we are using GIT starting from now, I converted all the
.cvsignore files to .gitignore files.

11 years agoFix client.c sparse warnings.
Florian Westphal [Fri, 4 Apr 2008 19:30:01 +0000 (19:30 +0000)]
Fix client.c sparse warnings.

client.c:72:6: warning: symbol 'Max_Users' was not declared. Should it be static?
client.c:72:21: warning: symbol 'My_Max_Users' was not declared. Should it be static?

11 years agoio.c: kill select FD_SETSIZE sanity check in io_library_init.
Florian Westphal [Thu, 3 Apr 2008 20:56:44 +0000 (20:56 +0000)]
io.c: kill select FD_SETSIZE sanity check in io_library_init.

We already have way too many.

11 years agoio.c: fix select FD_SETSIZE check when using epoll as io backend
Florian Westphal [Thu, 3 Apr 2008 14:17:42 +0000 (14:17 +0000)]
io.c: fix select FD_SETSIZE check when using epoll as io backend

11 years agoio.c: try to cut down the number of ifdefs.
Florian Westphal [Thu, 27 Mar 2008 15:47:21 +0000 (15:47 +0000)]
io.c: try to cut down the number of ifdefs.

consolidate backend-specific helpers and
add empty statinc inle stubs in the ifndef case
to let the compiler remove the functions at compile time.

11 years agoDo not exit unconditionally if config file cannot be opened
Florian Westphal [Tue, 18 Mar 2008 20:12:47 +0000 (20:12 +0000)]
Do not exit unconditionally if config file cannot be opened

ngircd will exit if the config file cannot be opened. While
thats okay if ngircd starts up for the first time, it isn't
when we are re-reading the config file after a /REHASH or SIGHUP.

11 years agoFix #include's: search log.h locally, include string.h. The latter is required becaus...
Alexander Barton [Tue, 11 Mar 2008 14:05:27 +0000 (14:05 +0000)]
Fix #include's: search log.h locally, include string.h. The latter is required because we include conn.h, which includes resolve.h, which includes ng_ipaddr.h, which contains a macro using strlcpy() ...

12 years agoIPv6 support.
Florian Westphal [Tue, 26 Feb 2008 22:50:35 +0000 (23:50 +0100)]
IPv6 support.

all references to struct sockaddr/in_addr have been
removed from src/ngircd.
libngipaddr (in src/ipaddr/) hides all the gory details.
See src/ipaddr/ng_ipaddr.h for API description.

12 years agoUpdated ChangeLog to include 0.11.1.
Alexander Barton [Tue, 26 Feb 2008 20:35:43 +0000 (20:35 +0000)]
Updated ChangeLog to include 0.11.1.

12 years agoFix sending of JOINs between servers.
Rolf Eike Beer [Sun, 24 Feb 2008 18:57:38 +0000 (18:57 +0000)]
Fix sending of JOINs between servers.

This does hit only operators that join a channel with at least 2 servers active in the net
the server the oper connects to sends "channel^Go" to the other servers
the other server first searches for the channel and then strips the modes from the channel name
he has to do the other way round: first strip and then check the channel name.

12 years agoChannel_Mode cleanups
Florian Westphal [Sun, 24 Feb 2008 18:44:41 +0000 (18:44 +0000)]
Channel_Mode cleanups

- better indentation
- move answering request into seperate function.

12 years agoLaunchDaemon plist for Mac OS X/Darwin launchd.
Alexander Barton [Sun, 17 Feb 2008 15:35:46 +0000 (15:35 +0000)]
LaunchDaemon plist for Mac OS X/Darwin launchd.

12 years agoInstall a LaunchDaemon script to start/stop ngIRCd on Mac OS X.
Alexander Barton [Sun, 17 Feb 2008 15:31:14 +0000 (15:31 +0000)]
Install a LaunchDaemon script to start/stop ngIRCd on Mac OS X.

12 years agoAdded new test files to Xcode project.
Alexander Barton [Sun, 17 Feb 2008 13:59:39 +0000 (13:59 +0000)]
Added new test files to Xcode project.

12 years agoRemoved the SQUIT test for now, actually we don't support it yet.
Alexander Barton [Sun, 17 Feb 2008 13:51:00 +0000 (13:51 +0000)]
Removed the SQUIT test for now, actually we don't support it yet.

12 years agoImplemented IRC commands INFO, USERS (dummy), and SUMMON (dummy).
Alexander Barton [Sun, 17 Feb 2008 13:26:41 +0000 (13:26 +0000)]
Implemented IRC commands INFO, USERS (dummy), and SUMMON (dummy).

12 years agoInclude flags in RPL_WHOREPLY messages.
Dana Dahlstrom [Sun, 17 Feb 2008 00:00:12 +0000 (00:00 +0000)]
Include flags in RPL_WHOREPLY messages.

RPL_WHOREPLY messages generated by IRC_WHO don't include flags (*,@,+)
that should appear according to this description:

http://www.mishscript.de/reference/rawhelp3.htm#raw352

Other IRC servers do include the flags.

Modify who-test.e to expose missing flags,
modify ngircd-test.conf to accommodate who-test.e, and fix
irc-info.c to correct these problems.

12 years agoDon't send trailing space in MODE messages
Dana Dahlstrom [Sat, 16 Feb 2008 11:27:48 +0000 (11:27 +0000)]
Don't send trailing space in MODE messages

Under some circumstances ngIRCd currently issues a channel MODE message
with a trailing space after the last parameter, which isn't permitted by
the grammar in RFC 2812 section 2.3.1:

http://tools.ietf.org/html/rfc2812#section-2.3.1

The following patch modifies mode-test.e to expose this, and modifies
irc-mode.c to correct it.

12 years agoIRC_JOIN cleanups.
Florian Westphal [Sat, 16 Feb 2008 11:21:33 +0000 (11:21 +0000)]
IRC_JOIN cleanups.

- put sending of mode and forwarding of JOIN to other clients
 into seperate function.
- put sending of topic/channel names into seperate function.
- put access check into seperate function.
- translate/remove remaining german comments.
- stop if JOIN to a channel in a list (JOIN #a,#,b,#c...) fails
(This doesn't change the behaviour: skip-to-next-channel-on-error
did never work as intended)

12 years agoMake IRC_WHO also search username/servername/hostname.
Florian Westphal [Mon, 11 Feb 2008 11:06:31 +0000 (11:06 +0000)]
Make IRC_WHO also search username/servername/hostname.

Dana Dahlstrom reported that IRC_WHO did not follow
RFC 2812, Section 3.6.1. Specifically:

- IRC_WHO did not send "G" flag instead if "H" if client was away
- did not search username/servername/hostname etc. if argument
  was not a channel.

Fix all of the above and tidy things up a bit.
Also add IRC_WHO test script contributed by Dana.

12 years agoRemove duplicate Channel_FirstChannelOf().
Dana Dahlstrom [Tue, 5 Feb 2008 19:00:52 +0000 (19:00 +0000)]
Remove duplicate Channel_FirstChannelOf().

noticed there's a way to make the loop
slightly more elegant.

[fw@strlen.de: Extra () to silence gcc.]

12 years agoMake Channel_Part name and reason parameters 'const'.
Florian Westphal [Tue, 5 Feb 2008 16:31:35 +0000 (16:31 +0000)]
Make Channel_Part name and reason parameters 'const'.

12 years agoUpdated NEWS to reflect ChangeLog.
Florian Westphal [Tue, 5 Feb 2008 14:41:50 +0000 (14:41 +0000)]
Updated NEWS to reflect ChangeLog.

12 years agoImplement RFC 2812 handling of "0" argument to JOIN
Dana Dahlstrom [Tue, 5 Feb 2008 13:31:50 +0000 (13:31 +0000)]
Implement RFC 2812 handling of "0" argument to JOIN

The students in my software-engineering class are writing IRC clients in
Java, and I'm running ngIRCd as a sandbox for them to play in. We
noticed ngIRCd doesn't obey the "JOIN 0" command specified in RFC 2812:

   JOIN 0             ; Leave all currently joined
                      channels.

http://tools.ietf.org/html/rfc2812#section-3.2.1
I believe the following patch addresses this. Cheers!

[fw@strlen.de: put it into a seperate function]

12 years agoDon't use Client_Type after command has been processed.
Florian Westphal [Tue, 5 Feb 2008 13:07:14 +0000 (13:07 +0000)]
Don't use Client_Type after command has been processed.

This caused a read from already free'd memory, if the processed
command (IRC_QUIT) calls Client_Destroy.

12 years agoUpdated NEWS to reflect ChangeLog.
Alexander Barton [Tue, 5 Feb 2008 12:02:59 +0000 (12:02 +0000)]
Updated NEWS to reflect ChangeLog.

12 years agoFix wrong strncpy usage if CVSDATE defined
Florian Westphal [Tue, 5 Feb 2008 11:46:55 +0000 (11:46 +0000)]
Fix wrong strncpy usage if CVSDATE defined

Hello_User() used strncpy with overlapping src/dest.
Use memmove instead.

12 years agoThis adds support for sending NOTICEs to a channel.
Florian Westphal [Tue, 15 Jan 2008 22:28:14 +0000 (22:28 +0000)]
This adds support for sending NOTICEs to a channel.

[also see Bug #70 in ngircd bugzilla].

Based on a patch by Fabian Schlager <fabian.schlager@gmail.com>.

12 years ago[Parser]: Fix minor sparse warnings
Florian Westphal [Sun, 13 Jan 2008 16:12:49 +0000 (16:12 +0000)]
[Parser]: Fix minor sparse warnings

parse.c:56:9: warning: symbol 'My_Commands' was not declared. Should it be static?
parse.c:107:9: warning: symbol 'My_Numerics' was not declared. Should it be static?

Also move handling of numerics into a seperate helper function.

12 years agoUpdated ChangeLog to reflect changes in 0.10.x and 0.11.x branches.
Alexander Barton [Mon, 7 Jan 2008 23:08:14 +0000 (23:08 +0000)]
Updated ChangeLog to reflect changes in 0.10.x and 0.11.x branches.

12 years agoUpdated Debian changelog [from 0.10.x; 0.11.x]
Alexander Barton [Mon, 7 Jan 2008 23:06:24 +0000 (23:06 +0000)]
Updated Debian changelog [from 0.10.x; 0.11.x]

12 years agoDocument NoDNS configuration option.
Alexander Barton [Mon, 7 Jan 2008 23:02:29 +0000 (23:02 +0000)]
Document NoDNS configuration option.

12 years agoIRC_PART could reference invalid memory.
Florian Westphal [Mon, 7 Jan 2008 11:42:00 +0000 (11:42 +0000)]
IRC_PART could reference invalid memory.

12 years agoRemove entry about ngircd failing on Linux 2.4:
Alexander Barton [Wed, 2 Jan 2008 22:47:58 +0000 (22:47 +0000)]
Remove entry about ngircd failing on Linux 2.4:
ngircd can now fall back to select. [from 0.11.x]

12 years agoUpdated NEWS and ChangeLog files.
Alexander Barton [Wed, 2 Jan 2008 11:31:48 +0000 (11:31 +0000)]
Updated NEWS and ChangeLog files.

12 years ago[Resolver]: Use dotted-decimal IP address if hostname is >= 64
Florian Westphal [Wed, 2 Jan 2008 11:03:29 +0000 (11:03 +0000)]
[Resolver]: Use dotted-decimal IP address if hostname is >= 64

12 years agoio_event_disable: return if event-to-disable is already off
Florian Westphal [Wed, 2 Jan 2008 10:29:51 +0000 (10:29 +0000)]
io_event_disable: return if event-to-disable is already off

12 years agokqueue: check for EV_ERROR in .flags
Florian Westphal [Thu, 27 Dec 2007 18:25:26 +0000 (18:25 +0000)]
kqueue: check for EV_ERROR in .flags

if kevent() returns events, check for EV_ERROR in event flags, too.

12 years agoFix format arg: ListenAddress was printed instead of Bind address.
Florian Westphal [Thu, 13 Dec 2007 01:30:16 +0000 (01:30 +0000)]
Fix format arg: ListenAddress was printed instead of Bind address.

12 years agoFix format string in error path: didn't print strerror(errno)
Florian Westphal [Thu, 13 Dec 2007 01:05:01 +0000 (01:05 +0000)]
Fix format string in error path: didn't print strerror(errno)