about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)Author
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
2007-06-11fix compile /w gcc 2.95 (reported by Tassilo Schweyer)Florian Westphal
2007-05-17Reworked read and write buffer handling, introduced WRITEBUFFER_SLINK_LEN.Alexander Barton
2007-05-17Zip_Flush(): close the connection in all error cases.Alexander Barton
2007-05-17array_start() cannot legally return NULL if array_length() > 0 --> use assert().Florian Westphal
2007-05-17Make Zip_Flush() more graceful.Alexander Barton
2007-05-17there is no need to treat servers differently than clients on the read side.Florian Westphal