about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)Author
2008-04-09Moved .cvsignore files to .gitignoreAlexander Barton
Since we are using GIT starting from now, I converted all the .cvsignore files to .gitignore files.
2008-04-04Fix client.c sparse warnings.Florian Westphal
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?
2008-04-03io.c: kill select FD_SETSIZE sanity check in io_library_init.Florian Westphal
We already have way too many.
2008-04-03io.c: fix select FD_SETSIZE check when using epoll as io backendFlorian Westphal
2008-03-27io.c: try to cut down the number of ifdefs.Florian Westphal
consolidate backend-specific helpers and add empty statinc inle stubs in the ifndef case to let the compiler remove the functions at compile time.
2008-03-26Do not exit unconditionally if config file cannot be openedFlorian Westphal
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.
2008-03-11Fix #include's: search log.h locally, include string.h. The latter is ↵Alexander Barton
required because we include conn.h, which includes resolve.h, which includes ng_ipaddr.h, which contains a macro using strlcpy() ...
2008-02-26IPv6 support.Florian Westphal
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.
2008-02-26Fix sending of JOINs between servers.Rolf Eike Beer
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.
2008-02-26Channel_Mode cleanupsFlorian Westphal
- better indentation - move answering request into seperate function.
2008-02-26Removed the SQUIT test for now, actually we don't support it yet.Alexander Barton
2008-02-26Implemented IRC commands INFO, USERS (dummy), and SUMMON (dummy).Alexander Barton
2008-02-26Include flags in RPL_WHOREPLY messages.Dana Dahlstrom
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.
2008-02-26Don't send trailing space in MODE messagesDana Dahlstrom
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.
2008-02-26IRC_JOIN cleanups.Florian Westphal
- 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)
2008-02-26Make IRC_WHO also search username/servername/hostname.Florian Westphal
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.
2008-02-26Remove duplicate Channel_FirstChannelOf().Dana Dahlstrom
noticed there's a way to make the loop slightly more elegant. [fw@strlen.de: Extra () to silence gcc.]
2008-02-26Make Channel_Part name and reason parameters 'const'.Florian Westphal
2008-02-26Implement RFC 2812 handling of "0" argument to JOINDana Dahlstrom
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]
2008-02-26Don't use Client_Type after command has been processed.Florian Westphal
This caused a read from already free'd memory, if the processed command (IRC_QUIT) calls Client_Destroy.
2008-02-26Fix wrong strncpy usage if CVSDATE definedFlorian Westphal
Hello_User() used strncpy with overlapping src/dest. Use memmove instead.
2008-02-26This adds support for sending NOTICEs to a channel.Florian Westphal
[also see Bug #70 in ngircd bugzilla]. Based on a patch by Fabian Schlager <fabian.schlager@gmail.com>.
2008-01-13[Parser]: Fix minor sparse warningsFlorian Westphal
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.
2008-01-07IRC_PART could reference invalid memory.Florian Westphal
2008-01-02[Resolver]: Use dotted-decimal IP address if hostname is >= 64Florian Westphal
2008-01-02io_event_disable: return if event-to-disable is already offFlorian Westphal
2007-12-27kqueue: check for EV_ERROR in .flagsFlorian Westphal
if kevent() returns events, check for EV_ERROR in event flags, too.
2007-12-13Fix format arg: ListenAddress was printed instead of Bind address.Florian Westphal
2007-12-13Fix format string in error path: didn't print strerror(errno)Florian Westphal
2007-12-11implement '/STAT u' (uptime)Florian Westphal
2007-12-07Fix fmt string: int, not longFlorian Westphal
2007-11-25include <arpa/inet.h> inside tool.hFlorian Westphal
In file included from hash.c:24: ../tool/tool.h:27: warning: `struct in_addr' declared inside parameter list
2007-11-23remove ip-string from Conf_Server structFlorian Westphal
struct Conf_Server stored the ip address to connect to in dotted-decimal notation; but we only need this for connect() so long-time storage isn't necessary.
2007-11-23bind ListenAddress for outgoing connectionsFlorian Westphal
ngircd would always use INADDR_ANY for outgoing connections; which might not be desirable. Added new [Server] option "Bind" to set source ip.
2007-11-21Funktions to handle numerics sent to the server.Alexander Barton
2007-11-21Introduce option to configure the maximum nick name lenth in ngircd.confAlexander Barton
- New configuration option "MaxNickLength" to specify the allowed maximum length of user nick names. Note: must be unique in an IRC network! - Enhanced the IRC+ protocol to support an enhanced "server handshake" and enable server to recognice numeric 005 (ISUPPORT) and 376 (ENDOFMOTD). See doc/Protocol.txt for details.
2007-11-20Fixes the wrong logging output when nested servers are introducedAlexander Barton
to the network as well as the wrong output of the LINKS command.
2007-11-18Adjust test suite to be usable on HP/UX 11.11 :-)Alexander Barton
2007-11-18Fix code to compile using K&R C compiler and ansi2kr again.Alexander Barton
2007-11-15if ngircd doesn't run chrooted, it tries to chdirFlorian Westphal
to the users working directory (as returned by getpwuid()). Failing to chdir to that directory isn't an error; so log with LOG_INFO and prefix the message with "Notice".
2007-10-25New config option NoDNS: disables all DNS queries.Florian Westphal
2007-10-24configtest would still print "-1" for MaxConnections, MaxConnectionsIP and ↵Florian Westphal
MaxJoins if any of those values was set to 0.
2007-10-14Fixed propagation of channel mode 'P' on server links.Alexander Barton
2007-10-13accoring to comments in the code, MaxConnections, MaxConnectionsIP and MaxJoinsFlorian Westphal
options allow setting values < 0 -- this isn't the case. Comments adjusted.
2007-10-04Numeric 317: implemented "signon time" (displayed in WHOIS result).Alexander Barton
2007-08-02implement /WALLOPS as described in RFC 2812, section 4.7.Florian Westphal
2007-07-31SECURITY: Fixed a severe bug in handling JOIN commands, which couldAlexander Barton
cause the server to crash. Thanks to Sebastian Vesper, <net@veoson.net>.
2007-07-21last fix accidentially broke reconnect timer.Florian Westphal
2007-06-28Don't connect to a server if a connection to another server within the same ↵Florian Westphal
group is in progress.
2007-06-28Add new server config option to disable automatic connect. (Tassilo Schweyer)Florian Westphal