Commit Graph

1513 Commits

Author SHA1 Message Date
Alexander Barton 2a790861a1 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).
2008-05-02 02:14:15 +02:00
Alexander Barton 4e507881f3 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).
2008-05-01 20:25:39 +02:00
Florian Westphal f7c2e8223f Always enable modeless channels.
Modeless channels (+channels) are described in RFC 2811;
so my modifications to
530112b114
('Add support for modeless channels')
to disable +channels for --strict-rfc configurations
were wrong. This reverts those changes.
2008-05-01 18:08:07 +02:00
Alexander Barton 60acc62af7 Prevent GIT to complain about opless-channel-test link 2008-05-01 16:31:13 +02:00
Ali Shemiran 530112b114 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 ]
2008-05-01 15:55:12 +02:00
Alexander Barton 4a81367dac --configtest: fix missing whitespace at "ConnectIPv4" option. 2008-04-29 15:27:44 +02:00
Alexander Barton bb6ee46892 Merge branch 'master' of git://git.breakpoint.cc/fw/ngircd-fw 2008-04-29 15:15:28 +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 33b1204349 Get rid of cvs-version.* and CVSDATE definition.
(cherry picked from commit b187fac244f4e14705f882ba7c43eef0238e2830)
2008-04-25 00:14:11 +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 a0efcdccfa Updated copyright notice to read "2001-2008". 2008-04-20 15:48:22 +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
Alexander Barton 7b33424c13 Added "portabtest" binary to .gitignore file in src/portabtest/. 2008-04-09 19:46:26 +02:00
Alexander Barton bc63064d5c Moved .cvsignore files to .gitignore
Since we are using GIT starting from now, I converted all the
.cvsignore files to .gitignore files.
2008-04-09 18:54:52 +02:00
Florian Westphal be844d74d3 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?
2008-04-04 23:22:06 +02:00
Florian Westphal 637d739285 io.c: kill select FD_SETSIZE sanity check in io_library_init.
We already have way too many.
2008-04-03 23:20:26 +02:00
Florian Westphal 66e68de16a io.c: fix select FD_SETSIZE check when using epoll as io backend 2008-04-03 23:20:22 +02:00
Florian Westphal 7f44a2ad1c 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.
2008-03-27 16:53:39 +01:00
Florian Westphal abb1abeb77 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.
2008-03-26 21:31:13 +01:00
Alexander Barton ab1f48a346 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() ... 2008-03-11 15:42:58 +01:00
Florian Westphal feb31e4200 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.
2008-02-26 23:50:35 +01:00
Rolf Eike Beer 44cdf1b1ca 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.
2008-02-26 23:49:33 +01:00
Florian Westphal e710e8ae37 Channel_Mode cleanups
- better indentation
- move answering request into seperate function.
2008-02-26 23:49:33 +01:00
Alexander Barton 5147b675cb Removed the SQUIT test for now, actually we don't support it yet. 2008-02-26 23:49:33 +01:00
Alexander Barton ddecfcd831 Implemented IRC commands INFO, USERS (dummy), and SUMMON (dummy). 2008-02-26 23:49:33 +01:00
Dana Dahlstrom 2f71fbb2a1 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.
2008-02-26 23:49:33 +01:00
Dana Dahlstrom 1784180bf3 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.
2008-02-26 23:49:33 +01:00
Florian Westphal 634ef8c131 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)
2008-02-26 23:49:33 +01:00
Florian Westphal 4d152b771e 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.
2008-02-26 23:49:33 +01:00
Dana Dahlstrom c634303765 Remove duplicate Channel_FirstChannelOf().
noticed there's a way to make the loop
slightly more elegant.

[fw@strlen.de: Extra () to silence gcc.]
2008-02-26 23:49:33 +01:00
Florian Westphal cb0d594e61 Make Channel_Part name and reason parameters 'const'. 2008-02-26 23:49:33 +01:00
Dana Dahlstrom 6bd35bf090 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]
2008-02-26 23:49:33 +01:00
Florian Westphal 3022d7cff3 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.
2008-02-26 23:49:33 +01:00
Florian Westphal 42db159d26 Fix wrong strncpy usage if CVSDATE defined
Hello_User() used strncpy with overlapping src/dest.
Use memmove instead.
2008-02-26 23:49:33 +01:00
Florian Westphal 59b19ea6a3 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>.
2008-02-26 23:49:33 +01:00
Florian Westphal 4add9c29ed [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.
2008-01-13 16:12:49 +00:00
Florian Westphal 463c5cb7c5 IRC_PART could reference invalid memory. 2008-01-07 11:42:00 +00:00
Florian Westphal 61e6b5c0aa [Resolver]: Use dotted-decimal IP address if hostname is >= 64 2008-01-02 11:03:29 +00:00
Florian Westphal 91a6fffaa0 io_event_disable: return if event-to-disable is already off 2008-01-02 10:29:51 +00:00
Florian Westphal 2ce5b734bd kqueue: check for EV_ERROR in .flags
if kevent() returns events, check for EV_ERROR in event flags, too.
2007-12-27 18:25:26 +00:00
Florian Westphal f99f9a8f02 Fix format arg: ListenAddress was printed instead of Bind address. 2007-12-13 01:30:16 +00:00
Florian Westphal 4715ccf9ca Fix format string in error path: didn't print strerror(errno) 2007-12-13 01:05:01 +00:00
Florian Westphal 8974e90552 implement '/STAT u' (uptime) 2007-12-11 11:29:43 +00:00
Florian Westphal 2fe13f0a45 Fix fmt string: int, not long 2007-12-07 21:19:01 +00:00
Florian Westphal 20ce56cc5b include <arpa/inet.h> inside tool.h
In file included from hash.c:24:
../tool/tool.h:27: warning: `struct in_addr' declared inside parameter list
2007-11-25 18:42:37 +00:00
Florian Westphal 47a0379e2b remove ip-string from Conf_Server struct
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-23 16:28:37 +00:00
Florian Westphal 82d32ffb28 bind ListenAddress for outgoing connections
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-23 16:26:03 +00:00
Alexander Barton 024588dbe7 Funktions to handle numerics sent to the server. 2007-11-21 12:20:32 +00:00
Alexander Barton 47ca178a21 Introduce option to configure the maximum nick name lenth in ngircd.conf
- 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-21 12:16:33 +00:00
Alexander Barton 53b98fd7e9 Fixes the wrong logging output when nested servers are introduced
to the network as well as the wrong output of the LINKS command.
2007-11-20 20:02:40 +00:00
Alexander Barton 68f896eee0 Adjust test suite to be usable on HP/UX 11.11 :-) 2007-11-18 15:07:16 +00:00
Alexander Barton 06bfb3adfb Fix code to compile using K&R C compiler and ansi2kr again. 2007-11-18 15:05:35 +00:00
Florian Westphal ad7361dfe0 if ngircd doesn't run chrooted, it tries to chdir
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-11-15 01:03:01 +00:00
Florian Westphal 001c00b273 New config option NoDNS: disables all DNS queries. 2007-10-25 11:01:19 +00:00
Florian Westphal b861f536b2 configtest would still print "-1" for MaxConnections, MaxConnectionsIP and MaxJoins
if any of those values was set to 0.
2007-10-24 00:48:41 +00:00
Alexander Barton 8f162f4e17 Fixed propagation of channel mode 'P' on server links. 2007-10-14 12:08:57 +00:00
Florian Westphal d223b587e4 accoring to comments in the code, MaxConnections, MaxConnectionsIP and MaxJoins
options allow setting values < 0 -- this isn't the case. Comments adjusted.
2007-10-13 19:11:06 +00:00
Alexander Barton d4ed056147 Numeric 317: implemented "signon time" (displayed in WHOIS result). 2007-10-04 15:03:55 +00:00
Florian Westphal 4b9e52eb4d implement /WALLOPS as described in RFC 2812, section 4.7. 2007-08-02 10:14:26 +00:00
Alexander Barton 69081851ac SECURITY: Fixed a severe bug in handling JOIN commands, which could
cause the server to crash. Thanks to Sebastian Vesper, <net@veoson.net>.
2007-07-31 18:56:13 +00:00
Florian Westphal efcca62a35 last fix accidentially broke reconnect timer. 2007-07-21 18:46:28 +00:00
Florian Westphal cd65e0a56e Don't connect to a server if a connection to another server within the same group
is in progress.
2007-06-28 15:13:38 +00:00
Florian Westphal 2275add327 Add new server config option to disable automatic connect. (Tassilo Schweyer) 2007-06-28 05:15:12 +00:00
Florian Westphal 5675be4cd9 fix compile /w gcc 2.95 (reported by Tassilo Schweyer) 2007-06-11 20:06:46 +00:00
Alexander Barton 255edf7eab Reworked read and write buffer handling, introduced WRITEBUFFER_SLINK_LEN. 2007-05-17 23:34:24 +00:00
Alexander Barton 5930a29197 Zip_Flush(): close the connection in all error cases. 2007-05-17 15:16:47 +00:00
Florian Westphal 07d8da60de array_start() cannot legally return NULL if array_length() > 0 --> use assert(). 2007-05-17 14:46:14 +00:00
Alexander Barton 44afe042d1 Make Zip_Flush() more graceful. 2007-05-17 13:49:49 +00:00
Florian Westphal a073bc89c4 there is no need to treat servers differently than clients on the read side. 2007-05-17 12:39:25 +00:00
Florian Westphal 63e89ceb21 make needlesly global function Conn_Write static. 2007-05-09 13:21:11 +00:00
Florian Westphal 09416f36bf remove ZBUFFER constants and increase max buffer size of server links 2007-05-09 08:55:14 +00:00
Florian Westphal 508b55126f fix compressed server links 2007-05-02 12:34:30 +00:00
Alexander Barton 9f65979979 2007 :-) 2007-04-09 01:24:05 +00:00
Florian Westphal 09deb857ce - change return type of Conn_InitListeners to unsigned
- remove minor whitespace damage
2007-04-04 21:52:12 +00:00
Florian Westphal 8c14d397ba put parentheses around argument 2007-04-03 22:08:10 +00:00
Florian Westphal 99eab1e216 if we can't bind a socket we now Log the port number, too. 2007-02-21 11:06:06 +00:00
Florian Westphal c93d089736 return false instead of NULL in error path 2007-01-29 21:13:26 +00:00
Alexander Barton 429f85b77a Remove Client_DestroyNow() to keep semantik "every CONNECTON has a CLIENT". 2007-01-23 16:07:19 +00:00
Florian Westphal ea2a4b3370 fix broken IO_DEBUG build 2007-01-19 13:52:54 +00:00
Florian Westphal f9b9850662 io_event_add: return if eventtype is already registered. 2007-01-18 00:25:26 +00:00
Florian Westphal 1b852fce72 add support for predefined-channel configuration of k and l modes 2006-12-29 14:09:48 +00:00
Alexander Barton 43f8d149bb added "portabtest" binary to list of files to ignore. 2006-12-28 13:34:43 +00:00
Alexander Barton 949a4ef793 Added .cvsignore files to hide generated files from CVS. 2006-12-28 13:20:07 +00:00
Alexander Barton f74781647a array_free(): enable debug code only when DEBUG_ARRAY is #define'd. 2006-12-28 12:53:41 +00:00
Alexander Barton 5c78230283 New configure option "--without-select"; when usin epoll() IO API include
support for select() as well by default and fall back on runtime when needed.
2006-12-26 16:00:45 +00:00
Alexander Barton 262d945284 Fixed typo in #ifdef which tests if this header is already included or not. 2006-12-25 22:53:52 +00:00
Florian Westphal 4243cae985 register io handler before creating new local client structure 2006-12-25 01:11:12 +00:00
Florian Westphal 40226d26b2 revert to last good revision again 8-/ 2006-12-17 23:04:45 +00:00
Florian Westphal d2f7d3087d do not call Conn_Close when io_event_create fails 2006-12-17 22:55:07 +00:00
Florian Westphal 3f1e03edd9 fix possibe buffer-off-by one 2006-12-17 22:52:43 +00:00
Florian Westphal 23e7f7f0dd don't call Resolve_Shutdown() when io_event_create fails 2006-12-17 22:50:51 +00:00
Florian Westphal 8cb0e3af68 removed errouneous FD_SETSIZE limit when not using select() 2006-12-16 22:48:34 +00:00
Florian Westphal 5040d56489 minor cleanup 2006-12-07 22:24:14 +00:00
Florian Westphal fb0fbe908d remove unused function Channel_PCount 2006-12-07 22:23:39 +00:00
Florian Westphal fa7bb2790a moved invite/ban lists to channel structure 2006-12-07 17:57:20 +00:00
Florian Westphal 5877bca4bc fix RPL_LOCALUSERS_MSG (%ld -> %lu) 2006-12-02 14:24:36 +00:00
Florian Westphal 37602d1523 Log(LOG_DEBUG, .. -> LogDebug() 2006-12-02 14:10:48 +00:00
Florian Westphal a09034563a predefined channels MUST start with '#', but this is not very intuitive,
since # is also used as a comment character in ngircd.conf. Thus
we prefix the name with '#' if it is missing.
2006-11-20 19:32:07 +00:00
Alexander Barton 5b35b101f2 Fixed validation of server names containing digits. 2006-11-10 10:05:00 +00:00
Florian Westphal 058d3085a9 New configuration option "PredefChannelsOnly": if set, make
all JOINs to-non existants channel return ERR_BANNEDFROMCHAN_MSG,
restricting users to those channels defined in the config file.
2006-11-05 13:03:46 +00:00
Florian Westphal 018e351630 -Whitespace Damage; Client_OperCount(), Client_UnknownCount(), Client_MyServerCount() return unsigned long 2006-10-07 10:40:52 +00:00
Florian Westphal 6e105bf87e channel maxusers now unsigned long 2006-10-06 21:32:58 +00:00
Florian Westphal 61966a6088 add const qualifier to Hash() and Matche() Arguments 2006-10-06 21:23:47 +00:00
Florian Westphal 27c96632f1 Client_IsValidNick: no need to strcpy. 2006-10-06 19:57:56 +00:00
Florian Westphal 4108e16be6 Channel_Join was severely broken. 2006-10-05 18:26:54 +00:00
Alexander Barton 4e02bdc322 Update info text of local server after re-reading configuration. 2006-10-03 10:59:40 +00:00
Alexander Barton ca5e09865e Removed an unused variable -- but where did it come from!? Strange ... 2006-10-03 10:28:38 +00:00
Florian Westphal d8950c5dd0 cleaned up Channel_IsValidName (now uses strcspn()) 2006-10-02 21:55:49 +00:00
Alexander Barton 257312b102 Changed Numerics 265 and 266 to follow ircd 2.11.x "standards". 2006-10-01 19:13:32 +00:00
Alexander Barton 27d947fb7d Allow PASS syntax defined in RFC 1459 for server links, too.
Removed client status CLIENT_GOTPASSSERVER.
2006-10-01 19:05:00 +00:00
Alexander Barton bed98979dc Enhanced ISUPPORT message (numeric 005). 2006-10-01 19:03:05 +00:00
Florian Westphal 4c6c6ecf0e array_get: no need to multiply again. remove unneeded checks. remove array_free_wipe(). 2006-09-30 21:49:46 +00:00
Florian Westphal a2f5a05ff8 io_close_poll()s closing brace mysteriously disappeared... fixed. 2006-09-19 18:21:30 +00:00
Florian Westphal 639eb40035 Added support for the /dev/poll i/o interface. 2006-09-17 10:41:06 +00:00
Florian Westphal 0d6f9d4e3e simplify io_library_init* 2006-09-16 16:47:27 +00:00
Florian Westphal 147de9dfa9 add support for the poll() interface 2006-09-16 15:00:09 +00:00
Florian Westphal f6e729443e cleanup 2006-09-16 14:49:26 +00:00
Florian Westphal e426c131c7 fix embarassing fileptr leak 2006-09-16 12:22:09 +00:00
Florian Westphal e2aacff7d4 s/Log(LOG_DEBUG/LogDebug(/ , translated comments, etc. 2006-08-12 11:58:21 +00:00
Florian Westphal 0eccdbc137 -whitespace damage 2006-08-12 11:56:24 +00:00
Florian Westphal 939ee6a39b simplify Resolve_Read(). 2006-08-12 11:54:23 +00:00
Florian Westphal 83caef4598 if compiling without -DDEBUG, make LogDebug 'static inline' so gcc optimizes it away. 2006-08-05 09:16:21 +00:00
Alexander Barton 6eb3f3055d Added support for Solaris 11. 2006-08-05 00:15:28 +00:00
Alexander Barton 47026e14ce Don't assert() when a pre-defined channel has no topic. 2006-07-24 22:54:09 +00:00
Alexander Barton 63626449f8 Flag the format parameter of LogDebug() as "unused" when not compiling with
debug code to avoid gcc warnings. Added some documentation comments.
2006-07-23 23:23:45 +00:00
Alexander Barton 184eb1c54b Removed unused variable "ret" when using the select() API. 2006-07-23 23:11:44 +00:00
Alexander Barton 5ce6bf28d1 Removed (theoretically) division by zero; reformated some code. 2006-07-23 23:05:20 +00:00
Alexander Barton f1f94f07e1 Validate "ServerName" variable. 2006-07-23 16:42:45 +00:00
Alexander Barton 3e8978d836 Allow DIE to send a message to all locally connected clients. Closes bug #48. 2006-07-23 15:43:18 +00:00
Alexander Barton 9a2d4eef44 "Enhanced" debug message for Handle_Write(), only print when data in buffer. 2006-07-23 15:22:56 +00:00
Alexander Barton 0d5fc770d3 Output some debug messages only if DEBUG_ZIP is #define'd. 2006-07-23 15:19:20 +00:00
Alexander Barton 5590f8624b Don't include conn.h, conn-func.h is enough. 2006-07-23 14:55:40 +00:00
Alexander Barton 47e581e453 Updated copyright notice ;-) 2006-07-23 12:07:33 +00:00
Florian Westphal 3833f8aae3 remove fd from io_event structure 2006-07-12 19:27:12 +00:00
Florian Westphal 161340d486 ALIGN_XXX( v ) macros now leave v alone if it was already aligned. 2006-07-01 22:11:48 +00:00
Alexander Barton e9e1fa459b Sorted channel modes alphabetically. 2006-06-15 20:28:15 +00:00
Alexander Barton 00ab67dcdb The third parameter of bind() is of type "socklen_t", not "int". 2006-05-12 11:53:04 +00:00
Alexander Barton dd3a3bc603 Use some more specific data types (e. g. pid_t vs. int), make "SPLint" happy :-) 2006-05-10 21:24:01 +00:00
Florian Westphal 0a3f562f36 make splint complain less... 2006-05-10 17:33:36 +00:00
Florian Westphal 9dfd42a7e6 disabled most (rather annoying) debug messages using DEBUG_ARRAY / DEBUG_IO defines 2006-05-09 17:02:40 +00:00
Alexander Barton 2af87e9152 Handle time shifts backwards gracefully. 2006-05-09 14:49:08 +00:00
Florian Westphal 185004cb30 kqueue support was completely broken; seemed to work on FreeBSD just because of sheer luck. 2006-05-07 10:54:42 +00:00
Florian Westphal 4a2eea2939 minor cleanup, removed unneeded check in safemult_sizet 2006-05-07 10:52:47 +00:00
Alexander Barton 6d3686e73d Send invite and ban lists only once and not repeatedly for every channel. 2006-04-30 21:31:43 +00:00
Florian Westphal 5d0ba011c7 Fix Connection Pool resizing. 2006-04-29 16:19:46 +00:00
Florian Westphal 87f4b1c6f6 Client_GetFromConn() removed and replaced with new function Conn_GetClient() 2006-04-23 10:37:27 +00:00
Florian Westphal 8067bab106 changes some comments, minor cleanup 2006-04-23 10:33:37 +00:00
Alexander Barton 097c7bd741 Fix up ngt_TrimStr() once more ... :-/ 2006-04-09 12:53:07 +00:00
Florian Westphal bebfbedf3f fix ngt_TrimStr(), fix format string 2006-03-24 23:25:38 +00:00
Alexander Barton cba9270845 ngt_TrimStr(): code cleanup. 2006-03-22 08:05:10 +00:00
Florian Westphal 2a9ffe7037 use strlcat return value; don't call time() repeatedly. 2006-03-18 22:27:09 +00:00
Florian Westphal 4000e01b28 corrected return value 2006-03-16 20:14:16 +00:00
Florian Westphal 68d3d36dd6 removed silly if (foo) { if (foo){ }} statement 2006-03-16 19:56:34 +00:00
Florian Westphal eedfc35bbc s/gehoert// 2006-03-11 10:43:49 +00:00
Florian Westphal d39d3ec4b9 Client_RegisterWhowas(): call time() only once 2006-03-11 10:33:30 +00:00
Alexander Barton 79dfd60a0c Don't use "awk" directly, instead use $(AWK) variable. 2006-03-11 01:48:50 +00:00
Alexander Barton 29ad5e0d94 Moved now local prototype of Client_New() to C file, renamed it to
Init_New_Client() and cleaned up some code and comments.
2006-03-11 01:37:31 +00:00
Florian Westphal 7e8ac0afcf Client_New() not used outside client.c -> static 2006-03-10 20:25:29 +00:00
Florian Westphal 93df629b69 changed connection structure to array-api 2006-02-16 19:21:57 +00:00
Florian Westphal 66060dbce9 new Function: LogDebug() 2006-02-08 17:33:28 +00:00
Florian Westphal 0701afedee removed Resolve_SUCCESS() Macro and Res_Stat->sucess boolean (no longer used/needed) 2006-02-08 15:24:10 +00:00
Florian Westphal a17745d6d7 Make connid same as connection fd. 2006-02-08 15:20:21 +00:00
Florian Westphal 1249acfdba removed obsolete "int Conn_MaxFD" 2006-02-02 21:00:21 +00:00
Florian Westphal c8fb6a2258 simplify IRC_Show_MOTD() 2006-01-27 17:19:58 +00:00
Alexander Barton fb9707de98 Added test if the stress-test expect script itself completes without errors. 2005-12-30 22:13:21 +00:00
Alexander Barton db9afbbf0e Modified expect script to work with servers having IDENT support. 2005-12-30 22:12:28 +00:00
Florian Westphal 4b2f966b7e Fix Bugzilla #64 -- ngicrd did not reconnect to other servers after failed forward dns lookup. 2005-12-09 09:26:55 +00:00
Alexander Barton 0570e13cac Minor whitespace fixes. 2005-11-21 16:31:30 +00:00
Alexander Barton 6b21249151 Remove direct call of Conf_UnsetServer(): it's already indirectly called
by Conn_Close() a few lines above.
2005-11-21 15:06:37 +00:00
Alexander Barton bc09a3e487 Changed Handle_Write() to not close sockets itself but to call Conn_Close. 2005-10-11 19:29:23 +00:00
Alexander Barton ff218617db gcc 4: "warning: declaration of 'dup' shadows a global declaration". 2005-09-24 17:06:54 +00:00
Florian Westphal b65358b17c avoid 2nd time() call in Check_Servers(), improve comments 2005-09-24 02:48:46 +00:00
Florian Westphal e9f3e69f36 use io_close instead of plain close in Conn_ExitListeners() 2005-09-24 02:20:00 +00:00
Florian Westphal 5b2364b236 merge new resolver code 2005-09-12 19:10:20 +00:00
Florian Westphal 4db29b0076 Minimal changes (needed for merging resolver changes) 2005-09-11 11:42:48 +00:00
Florian Westphal 0aae3ec5d7 Mostly formatting; changes needed for SSL merge 2005-09-10 23:42:12 +00:00
Florian Westphal 468a1c7767 Handle_Write(): Report write attempts on closed sockets when in debug mode. 2005-09-05 09:10:08 +00:00
Alexander Barton ab3ac4e466 Removed obsolete debug message. 2005-09-05 08:11:11 +00:00
Alexander Barton 4d18ac83a2 Set one second penalty on unknown commands. 2005-09-04 23:42:24 +00:00
Alexander Barton 660b529c10 Add debug code to Conn_SetPenalty(). 2005-09-04 23:38:32 +00:00
Florian Westphal 565129f992 io_close(): explicitly remove fd from epoll set 2005-09-04 13:38:59 +00:00
Florian Westphal fc4cd39202 Wait for DNS reverse lookup (and ident request) before writing results to pipe. 2005-09-03 11:17:16 +00:00
Florian Westphal 6444442931 fix fd leak (happens on failure of fork() ). 2005-09-02 21:47:30 +00:00
Alexander Barton e899c75d7e Updated copyright notice. 2005-09-02 17:12:58 +00:00
Florian Westphal cae9a3aee5 small formatting change 2005-09-02 17:01:23 +00:00
Alexander Barton e708790566 JOIN now supports more than one channel key at a time. 2005-09-02 15:46:49 +00:00
Florian Westphal dd3d2e2c39 Complain if MyPassword starts with ':'. (Reported by Ben Korvemaker) 2005-09-02 13:58:52 +00:00
Florian Westphal 9275dc4dc4 reformatted Handle_SERVER() 2005-09-02 13:50:52 +00:00
Alexander Barton af9123fd82 Cleaned up some code, comments and log/debug messages. 2005-09-02 13:28:30 +00:00
Alexander Barton ca32c1b311 Implementec numeric "333": Time and user name who set a channel topic. 2005-09-02 12:50:25 +00:00
Alexander Barton a5b5a6a99a Make PONG handler compatible with ngIRCd <= 0.9 ("make it more relaxed"). 2005-09-01 10:51:24 +00:00
Florian Westphal c65343e719 reformatted a few lines. 2005-08-30 22:08:00 +00:00
Florian Westphal 30c11b2313 use size_t for array length variables 2005-08-30 13:38:16 +00:00
Florian Westphal b7033e1478 use size_t instead of unsigned int. 2005-08-30 13:36:32 +00:00
Florian Westphal db992975eb last cleanup accidentally broke kqueue backend. 2005-08-29 13:58:54 +00:00
Alexander Barton c12dc45f17 Added prefix to connection statistic NOTICE. 2005-08-29 11:11:15 +00:00
Alexander Barton a2e4eb5aaf Fixed server NOTICEs to users with "s" mode ("server messages"). 2005-08-29 10:58:00 +00:00
Florian Westphal 58b8fb5d12 remove unneeded variable "bool action" 2005-08-28 16:51:20 +00:00
Florian Westphal 8efeae1714 fix embarassing cut&paste error 2005-08-28 12:18:50 +00:00
Florian Westphal 21ad5dcfff array_cat0_temporary(): removed confusing DEBUG messages 2005-08-28 11:47:02 +00:00
Alexander Barton 4074fd9149 Enhanced the handler for PING and PONG commands: fix forwarding and enable
back-passing of a client supplied additional argument of PING.
2005-08-28 11:40:13 +00:00
Florian Westphal 2f105b1c0a if the request is empty, remove \r\n (or single \n or \r) from receive buffer. 2005-08-28 00:19:29 +00:00
Florian Westphal a2cdc08c39 fix handling of empty requests 2005-08-27 23:42:23 +00:00
Alexander Barton e728bd2e1a Changed handling of timeouts for unregistered connections: don't reset
the counter if data is received and disconnect clients earlier.
2005-08-27 23:33:10 +00:00
Florian Westphal 12e288c062 removed misleading const qualifier 2005-08-27 23:23:54 +00:00
Florian Westphal f36337fab3 fix kevent() warning on powerpc-apple-darwin8-gcc-4.0.0 2005-08-27 20:27:07 +00:00
Florian Westphal 1a46b37bd5 remove unneeded call io_event_kqueue_commit_cache() 2005-08-27 20:25:54 +00:00
Florian Westphal 6434d0b23e return PING argument in PONG reply if STRICT_RFC is not defined. 2005-08-27 18:39:56 +00:00
Alexander Barton ac96fe5877 Changed log level of "Initialization failed" message from ERR to ALERT. 2005-08-25 08:48:43 +00:00
Alexander Barton a6d1d26a43 Fixed line lengths ... 2005-08-25 08:40:15 +00:00
Alexander Barton c2f5399b51 Fixed format string bug in "connection statistics" message; code cleanups. 2005-08-15 23:02:40 +00:00
Alexander Barton ae6e6616a6 Made test script run a longer time. 2005-08-12 21:38:52 +00:00
Alexander Barton a5915f75c9 Set timeout. 2005-08-12 21:35:12 +00:00
Alexander Barton f2ba8abec5 Detect source directory correctly. 2005-08-12 21:34:19 +00:00
Alexander Barton b15d906dff The KILL command killed much more than desired (including server links!)
when the target user is connected to a remote server.  [from 0.9.x]
2005-08-02 23:19:21 +00:00
Alexander Barton 1c14e2e0a2 Removed some line feeds in debug statements. 2005-08-02 22:48:57 +00:00
Alexander Barton 77f54693ef Removed unnecessary #define of "LOCAL", now use plain C "static" instead. 2005-07-31 20:13:07 +00:00
Alexander Barton b61407713d Removed "U" unsignet suffix: caused problems with older compilers and is
not necessary for this constants.
2005-07-30 22:53:16 +00:00
Florian Westphal 51ccb5928a internal changes needed for future ssl support 2005-07-29 09:29:47 +00:00
Florian Westphal 84706af7fe topic no longer limited to 127 chars (now only limited by protocol) 2005-07-28 16:23:55 +00:00
Florian Westphal 46a191caf6 changed RES_STAT buffer to array 2005-07-28 16:13:09 +00:00
Florian Westphal 20ff63a8a1 add array_cat0_temporary() and array_init() 2005-07-28 16:12:50 +00:00
Florian Westphal 2e794a6943 Reverse lookup now checks result by additional forward lookup 2005-07-25 09:20:10 +00:00
Florian Westphal 6ecccd2644 add reverse lookup check 2005-07-24 21:42:00 +00:00
Alexander Barton 74cb2e2768 Eliminate some compiler warnings ("unused parameter"). 2005-07-22 21:31:05 +00:00
Alexander Barton 68dc35b548 Removed "srcdoc" target for src/ tree (now in doc/ subdirectory). 2005-07-22 21:01:03 +00:00
Florian Westphal 987559e46d change Handle_OPERATOR() formatting 2005-07-17 18:58:04 +00:00
Florian Westphal fca29bfa23 prevent io_masterfd leak when library_init() is called twice 2005-07-14 14:35:38 +00:00
Alexander Barton 63db3daafe Cleaned up some log messages. 2005-07-14 09:20:39 +00:00
Alexander Barton 2e858755c5 Brought some debug log messages "in line". 2005-07-14 09:14:12 +00:00
Alexander Barton b682a5e485 Reformatted some comments. 2005-07-14 09:11:38 +00:00
Florian Westphal efbfe4ae83 removed unneeded variable "bsize" 2005-07-13 16:06:55 +00:00
Florian Westphal c92e57fec3 add better error checks for io_ routines 2005-07-12 20:44:46 +00:00
Florian Westphal ca130e6db6 removed unneeded return statement 2005-07-12 20:44:13 +00:00
Florian Westphal 248d75e566 fix embarassing buffer-off-by one 2005-07-11 20:58:05 +00:00
Florian Westphal 4715b17106 make Conn_NewListener local to conn.c 2005-07-11 14:56:38 +00:00
Florian Westphal 70facb7f6e made a few config options unsigned. 2005-07-11 14:11:35 +00:00
Florian Westphal 76604f847a change assertions to stop splint from complaining 2005-07-11 14:10:53 +00:00
Florian Westphal c7693f625e s/strcpy/strlcpy/ 2005-07-10 21:07:22 +00:00
Florian Westphal e50d049074 minor cosmetic changes 2005-07-09 21:35:20 +00:00
Florian Westphal dd003e23b7 removed some Debug-Code. 2005-07-09 20:23:00 +00:00
Florian Westphal 178b564c51 io_library_shutdown: return void 2005-07-09 20:22:29 +00:00
Alexander Barton 8916b201fa Only setuid()/setgid() if it differs from current UID/GID.
Solves problems with Cygwin.
2005-07-08 23:19:20 +00:00
Alexander Barton ead79d3e39 Use "ServerUID" (and not internal variable name) for error message. 2005-07-08 21:04:39 +00:00
Alexander Barton 02b0a51517 Renamed "Rendezvous" to "Zeroconf". 2005-07-08 16:18:38 +00:00
Florian Westphal 7b5a1bbe3c safemult_uint(): return bool 2005-07-07 21:26:31 +00:00
Florian Westphal 0d180a913f use new io event API. 2005-07-07 18:49:04 +00:00
Florian Westphal 60ae9c827e use dynamically sized unzip/zip buffer 2005-07-07 18:48:33 +00:00
Florian Westphal c857e9c887 new io/buffer api. 2005-07-07 18:47:46 +00:00
Florian Westphal 579fce1831 remove FD_SETSIZE check (now in io_* functions) 2005-07-07 18:46:46 +00:00
Florian Westphal 2bf77fb0c3 use dynamic io buffers 2005-07-07 18:45:33 +00:00
Florian Westphal 774c6cda4d use new buffer API 2005-07-07 18:39:45 +00:00
Florian Westphal afef7dee82 cleanup, use new io layer. 2005-07-07 18:39:08 +00:00
Florian Westphal 7eca418465 add new IO layer 2005-07-07 18:38:35 +00:00
Florian Westphal ebbf92898e add new buffer abstraction layer 2005-07-07 18:38:14 +00:00
Florian Westphal 733ef4c815 removed Resolve_Init() 2005-07-07 18:37:36 +00:00
Alexander Barton e5a19fa3a0 Fixed maximum length of user names, now allow up to 9 characters. 2005-07-05 22:44:47 +00:00
Alexander Barton 9a6b6f527b Handle oversized messages which should be sent to the network better. 2005-07-02 14:36:03 +00:00
Alexander Barton 43d644ed92 Code and comment cleanups, new #define "CUT_TXTSUFFIX". 2005-07-02 14:33:45 +00:00
Alexander Barton 0e3ce63ec1 Fix compiler warning "comparision between signed and unsigned". 2005-06-26 13:43:59 +00:00
Alexander Barton 162338b8c8 Ignore unknown commands received before the client is registered. 2005-06-24 20:56:46 +00:00
Alexander Barton de395db8e3 Get rid of Log_SetDaemonized(). 2005-06-24 19:55:10 +00:00
Florian Westphal dbea187373 removed global variable NGIRCd_NoDaemon 2005-06-24 19:20:56 +00:00
Florian Westphal d81dab99fa put badchars back in 2005-06-18 08:57:37 +00:00
Florian Westphal 9dc5e50226 fix embarassing cut&paste error (add missing } ) 2005-06-17 23:17:09 +00:00
Florian Westphal c06c815c28 fix "Can't get user information for UID" error message 2005-06-17 23:13:41 +00:00
Florian Westphal 04169f34cf only chdir() to users home when running as daemon 2005-06-17 20:35:45 +00:00
Florian Westphal aec535c8b6 s/sprintf/snprintf 2005-06-17 19:16:53 +00:00
Florian Westphal 2d4dd33627 use strlcpy 2005-06-17 19:15:43 +00:00
Florian Westphal b0699efdab remove unneeded strpy() 2005-06-17 19:14:58 +00:00
Florian Westphal bc2dac3c74 startup: fork only once, never run with uid 0. 2005-06-17 18:22:45 +00:00
Alexander Barton 94dd7fa7d6 IRC_LIST(): Added missing calls of Client_ID() and cleand up the code. 2005-06-12 18:23:59 +00:00
Florian Westphal fcf65beea4 changed formatting to match ngircd coding style 2005-06-12 18:02:09 +00:00
Florian Westphal 1cf8ccd8fe Make sure SimpleMessage() sends <= 512 chars 2005-06-12 17:21:46 +00:00
Florian Westphal 74424cb1a5 set 3 second penalty after failed /oper command. 2005-06-12 17:18:27 +00:00
Alexander Barton 5c20474fdb Only register clients that have been connected at least 30 sec. in WHOIS database. 2005-06-12 16:39:42 +00:00
Alexander Barton 8b0ac2306e Modified Conn_StartTime() to use information of the CLIENT structure. 2005-06-12 16:32:17 +00:00
Alexander Barton 5195555c5a Removed CONNECTION[].starttime, now saved in CLIENT structure. 2005-06-12 16:28:55 +00:00
Alexander Barton a4660f40db New function Client_StartTime(). 2005-06-12 16:18:49 +00:00
Florian Westphal cac9f279fa send RFC compliant netsplit messages. 2005-06-04 12:32:09 +00:00
Florian Westphal 517321807e Fix Handling of quit messages: always send only one QUIT message. 2005-06-04 11:53:24 +00:00
Florian Westphal ae98008c1c remove Try_Write(), Call Handle_Write() directly instead. 2005-06-04 11:49:20 +00:00
Alexander Barton 45404a1644 Added some Doxygen documentation. 2005-06-01 21:52:18 +00:00
Florian Westphal 8ac701d6c8 add FreeRes_stat(), wait for resolver timeout. 2005-06-01 21:28:50 +00:00
Florian Westphal 158bf554c3 minor cleanup 2005-05-28 10:46:50 +00:00
Alexander Barton 9c3c7e5a09 Handle splint errors more gracefully. 2005-05-23 00:11:15 +00:00
Alexander Barton cd0dc8627d Don't exit server if closing of a socket fails; instead ignore it and
pray that this will be "the right thing" ...
2005-05-22 23:55:57 +00:00
Alexander Barton 95f8b963a6 Reformatted and documented code of the first part of the IRC_NICK()
function; and register WHOWAS entries on nickname changes, too.
2005-05-17 23:24:43 +00:00
Alexander Barton 1aeaf64c66 New function Client_RegisterWhowas(). 2005-05-17 23:18:54 +00:00
Alexander Barton 06caecb0c4 Implemented IRC function "WHOWAS". 2005-05-16 12:25:15 +00:00
Alexander Barton b1c14598e1 New functions Client_GetWhowas and Client_GetLastWhowasIndex; new structure WHOWAS. 2005-05-16 12:24:31 +00:00
Alexander Barton 7f0d101184 New functions Client_GetWhowas, Client_GetLastWhowasIndex, and Register_Whowas. 2005-05-16 12:23:48 +00:00
Alexander Barton 9f247ebd5a New defines MAX_WHOWAS and DEFAULT_WHOWAS. 2005-05-16 12:22:32 +00:00
Alexander Barton dd9b4bc956 Away status texts set due to "a"-Modes received from other servers have
been fixed: the status text of the server has been set instead of the
away status text of the client (most probably introduced by patch 1.36).
2005-05-14 20:29:34 +00:00
Alexander Barton a02f25a810 Added #include of "defines.h", necessary due to removal of the #include of
"defines.h" in the client.h header file.
2005-04-27 07:46:50 +00:00
Alexander Barton aa25cd7da2 Reorder #includes, necessary due to removal of #include "defines.h" in
the client.h header file.
2005-04-27 07:38:00 +00:00
Alexander Barton 70fcdf1b5c Removed "invalid" #include of "defines.h" (don't include further header
files from a header file!).
2005-04-27 07:36:25 +00:00
Alexander Barton dfe662ad45 Added missing #include of "defines.h". 2005-04-27 07:34:25 +00:00
Florian Westphal 7daa7fb278 removed Conn_UnsetOption() function. It was not used anymore.
removed Conn_SetOption(). replaced its only call (in conn-zip.c) with Conn_OPTION_ADD() macro.
2005-04-25 18:37:16 +00:00
Florian Westphal e7c2c86aee removed "my_connects" fd_set. 2005-04-23 14:28:44 +00:00
Florian Westphal c4bc2114c9 conn.h: option filed in CONNECTION struct is now UINT16.
conn-func.h: add accessor Macros

Conn_OPTION_ADD( conn, CONN_OPTION )
Conn_OPTION_DEL( conn, CONN_OPTION )
Conn_OPTION_ISSET( conn, CONN_OPTION )

To add, remove or test for a certain option field attribute (e.g. CONN_ISCLOSING)
These Macros should be used instead of accessing conn->options directly.
2005-04-18 21:08:31 +00:00
Alexander Barton 129a22a29b Cleaned up (and documented) the IRC_KILL() function. 2005-04-18 15:44:39 +00:00
Florian Westphal 8304210c06 fix spelling 2005-04-16 20:50:03 +00:00
Florian Westphal aee48a3b38 added kludge to make ngircd (with syslog) compile on mips-dec-ultrix4.5 2005-04-16 09:31:30 +00:00
Florian Westphal 77faf14b29 use strdup() to add oper hostname mask. 2005-04-16 09:23:01 +00:00
Florian Westphal 8b17579e60 private strdup() implementation in case libc does not provide it. 2005-04-16 09:20:53 +00:00
Florian Westphal b4363162ce s/malloc(x*y)/calloc(x,y)/ 2005-04-16 09:19:49 +00:00
Alexander Barton ca8ab38cac Use typedef instead of #define to declare the socklen_t type if needed. 2005-04-09 18:27:16 +00:00
Alexander Barton dec7eba531 Added "-unrecog" to splint command line. 2005-04-09 18:23:37 +00:00
Alexander Barton b0ae15e01d Target "lint": check whether splint command is available and suppress
warnings related to the used command line in the output.
2005-04-09 12:30:55 +00:00
Alexander Barton 811ac48bd2 Added new target "srcdoc" to generate the Doxygen source documentation. 2005-04-09 12:22:41 +00:00
Alexander Barton e936a79f6b Added the control file for the Doxygen source documentation system. 2005-04-09 12:21:51 +00:00
Alexander Barton 4d0b03b423 Debine NDEBUG if DEBUG isn't defined to disable all assert() checks as well. 2005-03-30 16:37:02 +00:00
Alexander Barton f6df13d5f8 When validationg the configuration file wait for a keypress only if both
stdin and(!) stdout are valid tty's.
2005-03-22 18:57:08 +00:00
Alexander Barton f56a1bdf20 Use tabulator, not 8 spaces ... 2005-03-21 22:22:09 +00:00
Florian Westphal 49f5a4d454 Conf_Test(): check if stdin (and not stdout...) is connected to a terminal. 2005-03-20 15:00:25 +00:00
Florian Westphal 326607eea1 changed type of Conf_ListenPorts[] from "unsigned int" to UINT16. 2005-03-20 13:54:06 +00:00
Florian Westphal bfba1f37ed Init_Conn_Struct(): Zero structure using memset(). 2005-03-20 11:00:31 +00:00
Florian Westphal 8adff59223 Remove INT, LONG, BOOLEAN, STATIC, CONST, CHAR datatypes.
use stdbool.h / inttypes.h if available.
2005-03-19 18:43:48 +00:00
Florian Westphal 27d93d7d8c fix Config_Error_NaN prototype (first argument missed "const") 2005-03-19 15:46:38 +00:00
Florian Westphal 8a2ed0a75f removed unneeded log.h include. 2005-03-19 14:50:59 +00:00
Alexander Barton 1d08d51e2e New configuration option "OperServerMode". 2005-03-15 16:56:16 +00:00
Alexander Barton 5e929effca New function New_Res_Stat() to initialize RES_STAT structure. 2005-03-05 12:57:14 +00:00
Alexander Barton e618041168 Reduce the number of calls of strlen(). Idea by Florin Westphal. 2005-03-05 11:44:01 +00:00
Alexander Barton e7f8782831 Added missing include of "match.h". 2005-03-03 08:36:19 +00:00
Alexander Barton 4ef172d603 Implemented support for "secret channels" (channel mode "s"). 2005-03-02 16:35:10 +00:00
Alexander Barton 490c9d04d7 New configuration option "Mask" for [Operator] sections to limit OPER command. 2005-03-02 16:07:30 +00:00
Alexander Barton 8579b2a1e5 Clean up the mode handling code: remove redundant parts ... 2005-02-27 20:09:44 +00:00
Alexander Barton 3da942e237 Updated to latest strl{cat|cpy} code of rsync:
- Make sure that strlcpy() returns the right value when the bufsize is 0.
- Fixed a bug in strlcat() where it would not properly detect a no-change
  condition if called with an initial string longer than the specified
  size limit (due to an unsigned var's inability to go negative).
Patch by Florian Westphal, <westphal@foo.fh-furtwangen.de>.
2005-02-27 09:29:13 +00:00
Alexander Barton ec30cd4e5f Whitespace fixes. 2005-02-11 13:52:37 +00:00
Alexander Barton f2fbf206b6 Don't play games with FILE* stdin/out/err, only touch "real" descriptors. 2005-02-10 16:55:52 +00:00
Alexander Barton 1fdd5478c6 Renamed NGIRCd_FillVersion() to Fill_Version(); Code cleanups. 2005-02-10 13:09:11 +00:00
Alexander Barton 9537542647 Write "error file" (/tmp/ngircd-XXX.err) only if compiled with debug
code ("--enable-debug") and running as daemon process.
2005-02-10 12:49:04 +00:00
Alexander Barton 894cd2cd68 Don't create version information string each time a client connects but
insetead on server startup. By Florian Westphal.
2005-02-09 09:52:58 +00:00
Alexander Barton 8edeed8418 Make sure that errno of fopen() isn't overwritten by the logging code. 2005-02-07 19:31:34 +00:00
Alexander Barton 112102b10c New configuration variable "PidFile", section "[Global]": if defined,
the server writes its process ID (PID) to this file. Default: off.
Idea by Florian Westphal, <westphal@foo.fh-furtwangen.de>.
2005-02-04 14:24:20 +00:00
Alexander Barton 85acb82469 Use ngt_TrimLastChr() where useful, by Florian Westphal. 2005-02-04 13:15:38 +00:00
Alexander Barton 51d09fb4f7 Add ngt_TrimLastChr() to header file. By Florian Westphal. 2005-02-04 13:09:03 +00:00
Alexander Barton 8308c170db Fixed a bug that could case a root exploit when the daemon is compiled
to do IDENT lookups and is logging to syslog. Bug discovered by CoKi,
<coki@nosystem.com.ar>, thanks a lot!
(http://www.nosystem.com.ar/advisories/advisory-11.txt)
2005-02-03 09:26:42 +00:00
Alexander Barton 18c92d9de7 We are in the year 2005 now! :-) 2005-01-26 22:03:15 +00:00