Commit Graph

1083 Commits

Author SHA1 Message Date
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
Alexander Barton 2440ed080c Fixed a buffer overflow that could cause the daemon to crash. Bug found
by Florian Westphal, <westphal@foo.fh-furtwangen.de>.
2005-01-26 13:23:24 +00:00
Alexander Barton 39f1ddd9d0 New function ngt_TrimLastChr(), prototype by Florian Westphal. 2005-01-25 16:16:48 +00:00
Alexander Barton 34e912d9f2 Fixed a typo in variable name ... 2005-01-24 14:19:04 +00:00
Alexander Barton 44172a8c7f Fixed a possible buffer underrun when reading the MOTD file. Thanks to
Florian Westphal, <westphal@foo.fh-furtwangen.de>.
2005-01-24 14:17:21 +00:00
Alexander Barton a6d7fb8739 Code cleanups from Florian Westphal, <westphal@foo.fh-furtwangen.de>:
wrote functions for common error messages.
2005-01-20 00:13:08 +00:00
Alexander Barton d16ce5a735 Code cleanups from Florian Westphal, <westphal@foo.fh-furtwangen.de>. 2005-01-20 00:11:49 +00:00
Alexander Barton a40a026d15 Fixed detection of IRC lines which are too long to send. Detected by
Florian Westphal, <westphal@foo.fh-furtwangen.de>.
2005-01-19 23:33:53 +00:00
Alexander Barton 6c5f4beb53 Fixed return values of our own implementation of strlcpy(). The code has
been taken from rsync and they fixed it, but we didn't until today :-/
2005-01-18 09:05:37 +00:00
Alexander Barton 26b0ddf200 Translated source code comments. 2005-01-17 13:14:36 +00:00
Alexander Barton b6690df2be Raised the maximum length of passwords to 20 characters. 2005-01-17 13:01:34 +00:00
Alexander Barton 429b5f3ec9 Fixed a memory leak when resizing the connection pool and realloc() failed.
Now we don't fall back to malloc(), which should be sane anyway.
Patch from Florian Westphal, <westphal@foo.fh-furtwangen.de>.
2005-01-17 11:57:39 +00:00
Alexander Barton 5049c5c694 Don't use a POSIX thread for the Howl "run loop". 2004-12-26 16:48:53 +00:00
Alexander Barton 292879aca4 Added support for the Howl (http://www.porchdogsoft.com/products/howl/)
Rendezvous API, in addition to the API of Apple (Mac OS X).
2004-12-26 00:14:33 +00:00
Alexander Barton 58736b3902 Fixed indentation and added some more debug code. 2004-12-22 17:37:41 +00:00
Alexander Barton c1f32e8214 Made ngIRCd compile on HP/UX 10.20 with native HP pre-ANSI C compiler and
most probably other older C compilers on other systems.
2004-10-20 13:47:32 +00:00
Alexander Barton eee2762852 Changed "read buffer" to "receive buffer" as suggested by Goetz. 2004-10-04 23:23:41 +00:00
Alexander Barton c79fa28a66 Added some missing words: "address" :-) 2004-10-04 23:09:04 +00:00
Alexander Barton 1e692e5890 Fixed wrong variable names in output of "ngircd --configtest". 2004-09-24 18:00:40 +00:00
Alexander Barton ceafdf109b Added functions.inc to EXTRA_DIST files. 2004-09-08 09:40:51 +00:00
Alexander Barton 450251f082 Fixed echo without newline for systems not understanding "echo -n"; added
new file "functions.inc" for functions usable by all test scripts.
2004-09-06 22:04:06 +00:00
Alexander Barton ceef058065 Reverted extension of the "make all" target in the test-suite. 2004-09-06 20:35:28 +00:00
Alexander Barton b04a526a19 Fixed wrong exit code check of "kill -0". 2004-09-06 20:22:30 +00:00
Alexander Barton 8ca1e4d548 If ServerUID is defined change the working directory to the home directory
of this user.
2004-09-04 20:28:51 +00:00
Alexander Barton c5bdd86f96 Enhanced messages and exit codes. 2004-09-04 19:14:46 +00:00
Alexander Barton aa26e2ef36 Added all test scripts to target "all". 2004-09-04 19:14:02 +00:00
Alexander Barton 9445962237 Changed text "test scripts" to "processes": some versions of expect(1)
fork child processes ...
2004-09-04 18:22:42 +00:00
Alexander Barton 6b898b63f0 Removed counting of test processes; don't check running processes by default. 2004-09-04 18:20:16 +00:00
Alexander Barton f7a4d03ba2 Added detection of flags for ps(1). 2004-09-04 16:14:47 +00:00
Alexander Barton ade1e2eb7b Added README, test-loop.sh and wait-tests.sh to EXTRA_DIST files. 2004-09-04 15:46:56 +00:00
Alexander Barton a9a605de3e Made stress-server.sh to use wait-tests.sh to limit number of parallel tests. 2004-09-04 15:45:27 +00:00