Alexander Barton
ef157715a0
Clean up and document IRC_STATS() function
2010-01-16 23:24:19 +01:00
Alexander Barton
ecad9f32c8
Clean up and document IRC_JOIN() and join_allowed() functions
2010-01-16 22:30:55 +01:00
Alexander Barton
f58c8b94d9
Show our name (IRCD=ngIRCd) in ISUPPORT (005) numeric
...
Inspired by Hyperion IRC daemon.
2010-01-16 14:59:07 +01:00
Alexander Barton
3a2ac66f7f
Added missing modes to USERMODES #define
...
Now the numeric 004 correctly reports all the supported user and channel
modes (user modes "r" and "w" were missing), e. g.:
:a.irc.net 004 a a.irc.net ngircd-15 aiorsw biIklmnoPstv
2010-01-16 14:07:27 +01:00
Alexander Barton
a4d7c6f145
setsockopt(): use IPPROTO_IP instead of SOL_IP to set IPTOS_LOWDELAY
2009-12-31 00:57:02 +01:00
Alexander Barton
75dabcaae5
ReverseLookup(): fix documentation comment
2009-12-30 23:45:02 +01:00
Alexander Barton
1b73e68e6e
Move NewConnection handling from callbacks to New_Connection()
2009-12-30 23:42:43 +01:00
Alexander Barton
03cde2efd3
Connection functions: add some more documentation comments
2009-12-30 23:35:17 +01:00
Alexander Barton
cb6faed61c
Clean up conn.{c|h} a little bit
2009-12-30 23:32:47 +01:00
Florian Westphal
28ca31e576
Remove limit on max number of configured irc operators.
2009-11-07 17:42:54 +01:00
Florian Westphal
bc88b2cb06
configtest: print ssl config options even when unset
...
Print "SSLOptionVar =" instead of omitting the option when
running --configtest with ssl enabled.
This better matches the behaviour of other options, e.g. ChrootDir.
2009-10-17 15:35:26 +02:00
Alexander Barton
55c04e691d
Make sure forwarded CONNECT commands are handled correctly
2009-09-30 16:00:06 +02:00
Alexander Barton
881b9af251
Generate WALLOPS message on operator-generated SQUIT
2009-09-30 16:00:06 +02:00
Alexander Barton
294320ed62
Enable SQUIT command for IRC Operators
...
This patch enables IRC Operators to use the SQUIT command as specified in
RFC 2812, section 3.1.8 "Squit".
When forwarding SQUIT commands, the server connected to the target will
drop the connection (not the target server itself!).
Please note:
- the configuration option "AllowRemoteOper" mus be enabled on the
server disconnecting the target to allow forwarding of SQUIT commands.
- if the remote server is configured to establish the connection, it
will just do this; so the disconnect is not permanent in this case!
2009-09-30 16:00:06 +02:00
Alexander Barton
9918dfc1d5
Use functions provided by op.c "module"
...
Local functions Check_Oper() and No_Privileges() have been replaced by
global functions in op.c "module": Op_Check() and Op_NoPrivileges().
2009-09-30 16:00:06 +02:00
Alexander Barton
e46cf64cc1
New "module" op.c/op.h for IRC operator related functions
...
The new "module" op.c is used to implement functions related to IRC Ops.
At the moment, these two functions are available:
- Op_Check() to check for a valid IRC Op, and
- Op_NoPrivileges() to generate "permission denied" messages.
2009-09-30 16:00:06 +02:00
Alexander Barton
113bd34878
Allow forwarding of CONNECT commands.
...
The syntax of the CONNECT command now is:
- CONNECT <server-id>
- CONNECT <server-id> <port>
- CONNECT <server-id> <port> <target>
- CONNECT <server-id> <port> <host> <my-pwd> <peer-pwd>
- CONNECT <server-id> <port> <host> <my-pwd> <peer-pwd> <target>
Note: the configuration option "AllowRemoteOper" mus be enabled on the
target server to allow forwarding of CONNECT commands.
2009-09-30 16:00:06 +02:00
Alexander Barton
4a3e40bc95
Check_Oper(): check origin of forwarded messages instead of server.
2009-09-30 16:00:05 +02:00
Alexander Barton
45b1a45c97
No_Privileges(): handle forwarded messages.
2009-09-30 16:00:05 +02:00
Alexander Barton
7d6de7c352
IRC_SendWallops(): support format string and variable parameter lists.
2009-09-30 16:00:05 +02:00
Alexander Barton
30b584c2e8
CONNECT, DISCONNECT: generate WALLOPS messages
2009-09-30 16:00:05 +02:00
Alexander Barton
eaaf0c3bd5
New function IRC_SendWallops().
...
Implement new global function IRC_SendWallops() that can be called by
other functions to generate WALLOPS messages to users with +w mode.
2009-09-30 16:00:05 +02:00
Alexander Barton
9a7499af8b
Code cleanup of IRC_DISCONNECT().
2009-09-30 16:00:05 +02:00
Alexander Barton
bce16c2864
Code cleanup of IRC_SQUIT() in preparation to deal with bug #73 .
2009-09-30 16:00:05 +02:00
Alexander Barton
926204cacd
New local functions Check_Oper() and No_Privileges().
2009-09-30 16:00:05 +02:00
Alexander Barton
3bf0c6f3b9
Bad_OperPass(): code cleanup.
2009-09-30 16:00:05 +02:00
Alexander Barton
f78b0c61e9
New configuration option "AllowRemoteOper"
...
Added new configuration option "AllowRemoteOper" to control whether
remote IRC operators are allowed to use administrative commands that
affect this server or not
This commit introduces the configuration variable, but actually no
function is using it. That's up for the next patches to come ...
2009-09-30 16:00:04 +02:00
Florian Westphal
fa09883c72
fix assertion failure in ng_ipaddr.c
...
when building with debugging enabled, but without ipv6 support,
ngircd dumped core when loading a config file that specified an ipv6
listen address.
ngircd: ng_ipaddr.c:45: ng_ipaddr_init: Assertion `sizeof(*addr) >=
res0->ai_addrlen' failed.
2009-09-26 11:12:47 +02:00
Florian Westphal
affa03b277
configtest: complain when ssl keys are not readable
2009-09-20 23:22:28 +02:00
Alexander Barton
5b1efaee67
Check for sockaddr_in.sin_len and initialize it
...
Test for sockaddr_in.sin_len and initialize it to the correct value
which some systems (notably Mac OS X) require.
Note: this code path is only relevant when not using getaddrinfo().
2009-09-14 01:23:19 +02:00
Alexander Barton
536538968c
Fix cb_connserver() to handle aborted outgoing connections
...
A configured server could have been removed while a connection apptempt
is still in progress. So the cb_connserver() callback has to test if the
server configuration record is still valid.
2009-09-12 00:17:42 +02:00
Florian Westphal
4daf780f01
conn.c: fix more sizeof(..dst_addr) misuse
...
the wrong sizeof() usage fixed in
d76910ce7b
(conn.c: fix resolver server address backlog) was a bit more
widespread, fix all others, too.
2009-09-11 23:31:46 +02:00
Florian Westphal
ed72bf4ceb
resolve.c: fix valgrind 'uninitialized memory' warning
...
fix the following warning generated by valgrind if ipv6 is enabled:
Syscall param write(buf) points to uninitialised byte(s)
at 0x4000982: (within /lib/ld-2.9.so)
by 0x80681A8: Resolve_Name (resolve.c:477)
by 0x805439F: Conn_Handler (conn.c:1658)
by 0x804AA7C: main (ngircd.c:331)
The warning is because ng_ipaddr_t can be a union, and only the
necessary parts are initialised. The callers know what part
of the union is valid, so this is not a bug.
2009-09-11 23:09:11 +02:00
Florian Westphal
d76910ce7b
conn.c: fix resolver server address backlog
...
if more than one ip address is returned for a single host
name, ngircd is supposed to try other addresses in case
connect() to the first address returned fails for some
reason.
Alexander Barton noticed that this did not work at all,
as the additional results were not stored.
2009-09-11 22:55:32 +02:00
Alexander Barton
8fd0e29d46
Fix "implicit conversion shortens 64-bit value" warning
...
This patch fixes the following gcc warning in our sources:
"implicit conversion shortens 64-bit value into a 32-bit value"
2009-09-11 22:52:12 +02:00
Alexander Barton
66c6458ae7
Channel_Mode(): fix return code of function
...
Fix error handling of Channel_Mode() to return the correct connection
status ("connected"/"disconnected") insted of always returning success.
2009-09-11 00:48:07 +02:00
Alexander Barton
3b37ad334b
IRC_SERVER(): code cleanup, remove unneeded variable
2009-09-11 00:41:12 +02:00
Alexander Barton
c191ea53a9
IRC_PASS(): remove unnecessary variable initialization
2009-09-10 11:50:43 +02:00
Alexander Barton
e1598e2670
Conn_Close(): remove unused variable "txt"
2009-09-10 11:49:39 +02:00
Florian Westphal
cf7e19193b
do not add default listening port if ssl ports were specified
...
Cosmo Kastemaa reported that its impossible to create an ssl-only setup,
as ngircd binds to port 6667 by default, even if setting "Ports =".
Only add the default port if _both_ "Ports" and "SSLPorts" are
unspecified.
Fixes bugzilla #98 .
2009-08-31 22:08:35 +02:00
Alexander Barton
805bf03490
Client_CheckID(): fix connection information
...
This patch fixes the following silly log messages:
'ID "XXX" already registered (on connection -1)!'
If the ID is already registered on a local connection, the local
connection ID is printed; and if the ID is connected via a remote
server, "via network" is displayed.
2009-07-17 16:16:04 +02:00
Alexander Barton
63cbc6cd42
Fix return code of Conf_EnableServer()
...
Conf_EnableServer() only reports success if all required variables,
including host name and port, are set for the specific server.
2009-07-17 14:55:30 +02:00
Florian Westphal
0ef94edad7
add section and rfc number to comment about QUIT error
2009-06-05 01:39:33 +02:00
Florian Westphal
643ae1b48b
enforce upper limit on maximum number of handled commands
...
reported on #ngircd: pasting lots of lines into a channel can kill off
many people on the channel if the read buffer is drained quickly enough
and the client-side TCP can't keep up with the incoming data.
This implements a throttling scheme:
- an irc client may send up to 3 commands per second before a one second
pause is enforced.
- an irc client may send up to 256 bytes per second before a one second
pause is enforced.
After discussion with Alexander Barton, server <-> server links are
treated specially: There is no artificial limit on the number of bytes
sent per second, and up to 10 commands are processed per second before
a pause is enforced.
It may be neccessary to make those limits tuneable to accomondate larger
networks, but for now they are compile time values.
2009-05-25 22:25:18 +02:00
Florian Westphal
9b1c47220f
conn.c: fix NumConnections imbalance
...
New_Server() can call Conn_Close() in its error paths,
but that function decrements the number of current active
connections. Thus we need to increment it earlier.
2009-05-17 21:32:53 +02:00
Florian Westphal
8e2c5816ee
SSL/TLS: fix error handling when ssl ctx init for outgoing server link fails
2009-05-17 21:27:27 +02:00
Florian Westphal
f31c3a3aa2
SSL/TLS: fix error path in gnutls ssl ctx allocation
2009-05-17 21:18:04 +02:00
Florian Westphal
5196e9bcb1
SSL/TLS: remove redundant asserts/ifdefs
2009-05-16 20:48:43 +02:00
Florian Westphal
57aa64e117
SSL/TLS: proper indentation, remove erroneous comment
2009-05-14 00:00:55 +02:00
Alexander Barton
fd7e85b798
Update copyright notice, it's 2009 already!
2009-05-05 17:08:48 +02:00
Florian Westphal
627b0b713c
security: fix remotely triggerable crash in SSL/TLS code
...
When a server is running with SSL/TLS support compiled in,
it is trivial to crash the server by sending an MOTD request
via another server in the network.
- ONLY servers without ssl/tls support compiled in are not affected.
Disabling SSL in the configuration (no ssl listening ports, etc)
does NOT help.
- servers that are running standalone (i.e., not connected to any
other servers) are not affected, either.
This affects all ngircd releases since ngircd 13 (earlier versions
have no SSL/TLS support).
2009-05-05 10:21:20 +02:00
Tassilo Schweyer
37359799eb
Fix server list announcement
...
When ngircd announces the list of currently known servers
to a new (connecting) server, it sent the introducer of
the servers instead of the top server.
Assuming this network:
irc1.example.com
|--irc2.example.com
| `--irc3.example.com
| `--irc4.example.com
`--irc5.example.com
When irc4 connects to irc3, irc3 tells irc4 that irc5 was
connected to irc2. (irc2 had introduced irc5 to irc3; but thats
not what ngircd should have sent to the new server).
This also placed users on the wrong servers.
2009-04-26 00:30:49 +02:00
David Kingston
9b59f043c8
allow ping timeout quit messages to show the timeout value
2009-04-23 21:39:45 +02:00
Florian Westphal
b545d38ae4
irc-server: do not remove hostnames from info text
...
that code does not really make sense -- the info
text is freely cofngiureable and des not follow a specific
format.
Also, that "+2" might have caused invalid memory accesses.
2009-04-22 23:15:17 +02:00
Florian Westphal
84eaed6c9a
conn-zip: fix error handling
...
callers of (Un)Zip_Buffer() assume that
the function closes the connection on error.
However, this was not always the case.
2009-04-21 21:00:43 +02:00
Florian Westphal
544b9884f4
remove or translate old comments
2009-04-21 20:58:30 +02:00
Florian Westphal
5e16b6df2d
client.c: remove unecessary comments
2009-04-21 20:58:28 +02:00
Florian Westphal
ea041b8838
add const qualifier to pointers where possible
2009-04-21 20:58:23 +02:00
Alexander Barton
54879b432b
Display IPv6 addresses as "[<addr>]" when accepting connections.
...
With this patch ngIRCd displays IPv6 addresses as "[<addr>]:<port>" when
accepting new connections and later, if no successful DNS lookup could
be made (or DNS is disabled altogether).
2009-04-10 13:22:03 +02:00
Dana Dahlstrom
3a7d59c1ac
misspelling in ERR_NORECIPIENT reply
2009-03-25 20:44:40 +01:00
Florian Westphal
ea35ba74b6
testsuite: add more predefined channels to server config
...
make sure it creates & and +, and accepts channel names without
a special character (ngircd should treat
'Name = chan' as 'Name = #chan').
2009-03-07 00:30:11 +01:00
Florian Westphal
2d4361d088
allow creation of persistent modeless channels
2009-03-07 00:21:43 +01:00
Florian Westphal
e9e7fc33f1
add and use Channel_IsModeless()
...
avoid "name[0] == '+'" where possible, having Channel_IsModeless()
makes things much more obvious.
2009-03-07 00:13:25 +01:00
Alexander Barton
c09742c518
Enhance INFO command to report compile time, if available
2009-03-05 16:04:36 +01:00
Alexander Barton
0a9608a26f
Channel mode changes: break on error
...
Don't echo multiple syntax error messages (461) on invalid commands,
but break after the first one.
In addition, this solves corrupted 'Unknown mode "+' messages.
2009-03-03 16:33:40 +01:00
Alexander Barton
dee89c2355
Channel_Mode(): code cleanup (no functional changes)
2009-03-03 15:06:34 +01:00
Florian Westphal
b8c6dd503f
TLS/SSL: remove useless error message when ssl connection is closed
...
When using OpenSSL, the following annoying "error" message was logged whenever
an encrypted connection was shut down in a orderly fashion:
TLS/SSL Connection shutdown: ConnSSL_Read: Unable to determine error
of course, this isn't an error at all.
2009-02-05 23:47:28 +01:00
Florian Westphal
2fce4667a8
SSL/TLS: clear all ssl realted flags on shutdown
...
one ssl related flags was not cleared on ssl shutdown.
introduce and use CONN_SSL_FLAGS_ALL to zap them all.
2009-02-04 23:23:12 +01:00
Florian Westphal
c6a43fbaf0
TLS/SSL: fix memory leak when using compressed server links with ssl
...
commit 6bc2d3d06e
(New connection option CONN_RFC1459) forgot to adjust the ssl bitmasks.
The result is that when a compressed AND encrypted server link goes down
the memory allocated by zlib and the r/w buffers are no longer
free'd as the previous ConnSSL_Free() would then also remove the CONN_ZIP flag
from the flag mask.
2009-02-04 23:01:53 +01:00
Alexander Barton
3be9c477be
Fix spelling of log message: "channek" vs. "channel" ...
2009-01-20 17:20:30 +01:00
Alexander Barton
d09094812f
Channel key file: store file name and open on each access.
...
Store the file name of channel key files and reopen them on each access
(on each JOIN command) insted of just storing the file handles.
This eliminates the special requirements (no delete) and makes sure
that always the actual file contents are used in all circumstances.
2009-01-20 17:20:30 +01:00
Alexander Barton
c5000694d1
Support individual channel keys for pre-defined channels.
...
This patch introduces the new configuration variable "KeyFile" for
[Channel] sections in ngircd.conf. Here a file can be configured for each
pre-defined channel which contains individual channel keys for different
users. This file is line-based and must have the following syntax:
<user>:<nick>:<key>
<user> and <nick> can contain the wildcard character "*".
Please not that these channel keys are only in effect, when the channel
has a regular key set using channel mode "k"!
2009-01-20 17:20:30 +01:00
Alexander Barton
2c1b6280fa
RFC 2812, sec. 3.3.1: really check for the last dot
...
This fixes commit 5a3128243f
and makes the test suite ("make check")
run again without errors.
2009-01-20 16:49:34 +01:00
Florian Westphal
5a3128243f
irc.c: reject masks with wildcard after last dot
...
RFC 2812 says in section 3.3.1 ("Private Messages"):
The mask MUST have at least 1 (one) "." in it and no wildcards
following the last ".".
2009-01-18 00:36:38 +01:00
Florian Westphal
95e8320ca9
irc.c: Fix handling of channels containing dots
...
commit 2546a13ad2
('Cumulative Message Patch') broke PRIVMSG to channels
containing dots.
Fix this by switching evaluation order:
Check first if the target matches a existing channel and only do a check
for target masks if that failed.
PRIVMSG with host/server masks is described in RFC 2812, section 3.3.1.
Makes one wonder how a server is _really_ supposed to tell the difference
between hostmasks and channel names.
Sigh.
2009-01-18 00:20:38 +01:00
Florian Westphal
1c7b9dbe93
remove unneeded LOG_DEBUG when not compiling with DEBUG support
...
when ngircd is build without DEBUG enabled, LOG_DEBUG messages
are always discarded.
To avoid the extra code, ngircd has a LogDebug() wrapper which
gets removed by the compiler when compiling without DEBUG defined.
Update a few functings which were using the
Log(LOG_DEBUG, .. interface directly without #ifdef DEBUG guards.
text data bss dec hex filename
127748 1900 28280 157928 268e8 ngircd.before
126836 1896 28280 157012 26554 ngircd.after
2009-01-10 00:54:07 +01:00
Alexander Barton
a11e895045
Rename Channel_Free() to Free_Channel(), it is a local function
2009-01-05 13:53:33 +01:00
Alexander Barton
175f0af979
Clean up channel allocation table on shutdown/restart.
...
Silly bug: the condition of a while() loop in the Channel_Exit() function
used the wrong variable and therefore got never executed ...
This bug is in the code since the beginning (see commit bb19cfda
in 2002);
shame on me!
2009-01-05 12:58:37 +01:00
Florian Westphal
40a0e9abbe
Add Channel_Free().
...
Central function to free a channel structure and all its resources
(invite/ban lists, topic, ...).
2009-01-05 12:48:48 +01:00
Alexander Barton
0659503afd
Clean up (reformat and comment) Delete_Channel() function.
2009-01-04 15:25:07 +01:00
Alexander Barton
18efc7469c
Free topic array on channel deletion.
...
The topic array in the CHANNEL structure must be free()'d before the
channel itself becomes deleted.
2009-01-04 15:22:32 +01:00
Alexander Barton
0e4e22a7a6
Allow pre-defined server local channels ("&").
2008-12-30 19:23:03 +01:00
Florian Westphal
dc9f42dc3c
defines.h: remove MAX_LISTEN_PORTS, MAX_SERVICES
...
_SERVICES was never used; _LISTEN_PORTS is a leftover from
commit 51ccb5928a
('internal changes needed for future ssl support').
2008-12-27 23:51:52 +01:00
Florian Westphal
a971047bc5
Remove limit on max number of predefined channels.
...
This resolves Bugzilla Bug 68 ('Too many pre-defined channels configured.')
2008-12-26 01:07:56 +01:00
Florian Westphal
6500d443fc
channel.c: constify a few function arguments.
2008-12-26 01:07:52 +01:00
Florian Westphal
d26a283ea9
use %ld as format specifier for posix data types
...
in the same vein as the earlier commit:
cast posix data types (pid_t, ...) to long and use
%ld as format specifier. This will avoid problems
when sizeof(int) != sizeof(type).
We could also cast to int, but this might truncate the value.
2008-12-26 01:07:13 +01:00
Florian Westphal
8a94ec9728
don't print pid_t type with %ld format specifier
...
Reported by Christoph Biedl:
ngircd[21581]: Running as user irc(39), group irc(39), with PID 140733193409613.
cast pid_t to long to avoid this.
While we are there, cast uid_t and gid_t, too.
2008-12-17 22:55:20 +01:00
Alexander Barton
85ce82e504
Testsuite start-server.sh: return correct exit code.
...
src/testsuite/start-server.sh returns 0 when no errors occurred and the
daemon has been startet and 1 on errors. Always returning 0 is wrong ...
2008-12-03 16:49:55 +01:00
Alexander Barton
83c699d5a5
Make testsuite (getpid.sh) work on OpenSolaris (i386/pc/solaris2.11).
2008-12-03 16:49:17 +01:00
Alexander Barton
2eb564ccaa
Change formatting of some log messages
...
- Fix formatting of some log messages, mostly punctuation.
- cb_Connect_to_Server(): don't use string concatenation, because it
is not supported by pre-ANSI C compilers ...
2008-11-20 23:50:26 +01:00
Alexander Barton
14baf64f41
Fix pem_passwd_cb(): unused variable "rwflag" (OpenSSL)
...
This patch fixes the following warning of GCC (version 4.3.2) in
function pem_passwd_cb() when compiling with OpenSSL support and
without debug code:
conn-ssl.c: In function 'pem_passwd_cb':
conn-ssl.c:122: warning: unused parameter 'rwflag'
2008-11-20 23:46:20 +01:00
Alexander Barton
4c113d8850
New configuration option "NoIdent" to disable IDENT lookups
...
The new configuration option "NoIdent" in ngircd.conf can be used to
disable IDENT lookups even when the ngIRCd daemon is compiled with IDENT
lookups enabled.
2008-11-19 19:11:39 +01:00
Alexander Barton
3243d9ee44
Implement the IRC command "SERVLIST"
...
The IRC command "SERVLIST" lists all the registered services, see RFC 2811, section 3.5.1.
The syntax is "SERVLIST [<mask> [<type>]]". The parameter <type> is not used by ngIRCd at
the moment, all registered services are of type 0 (which is the default when omitted).
2008-11-19 18:16:26 +01:00
Alexander Barton
0eda085f1e
Create local &SERVER channel and log server messages to it
...
ngIRCd now creates a server-local channel &SERVER with channel modes
+mnPt (moderated, no messages from outside the channel, persistent and
with the topic locked) and logs all the messages to it that a user with
mode +s ("server messages") receives.
If an IRC operator withdraws the +P ("persistent") mode and the &SERVER
channel is freed because of no members, nothing special happens. The
channel can be recerated any time later and ngIRCd would begin logging
to it again.
2008-11-17 23:27:06 +01:00
Alexander Barton
2cc21caf32
Implement local channels (prefix "&")
...
This patch implements server-local channels, prefix "&", that are only
visible to users of the same local server and not in the network.
Patch written by Scott Perry (2008-06-04), see:
- http://arthur.barton.de/cgi-bin/bugzilla/show_bug.cgi?id=87
- http://arthur.barton.de/cgi-bin/bugzilla/attachment.cgi?id=24&action=view
2008-11-17 21:52:56 +01:00
Alexander Barton
7b69bc2ae8
Added some missing files of GIT tree to distribution archives
...
The following bits and bytes were not included in distribution archives:
- contrib: ngindent, ngircd.sh
- contrib/Debian: ngircd.postinst
- contrib/MacOSX: preinstall.sh, postinstall.sh
- doc/src: Doxyfile, header.inc.html, footer.inc.html, ngircd-doc.css
- src/portab: splint.h
2008-11-13 23:17:32 +01:00
Alexander Barton
7ad167f4c4
Test suite: start two servers and test server-server links
...
I changed the test suite to start two test servers (on port 6789 and 6790),
so server-server links can be tested as well for which I included the new
test script "server-link-test.e".
In addition the documentation of the test suite (src/testsuite/README) has
been updated and is more complete now.
2008-11-13 22:46:06 +01:00
Alexander Barton
920d0636ff
Add conf-ssl.h to "noinst_HEADERS"
...
conf-ssl.h must be listed in "noinst_HEADERS" so that it becomes included
in distribution archives generated by "make dist" and "make distcheck".
2008-11-13 00:22:25 +01:00
Alexander Barton
9f067a059d
Connection counter: count outgoing connections as well.
...
This patch lets ngIRCd count outgoing connections as well as incoming
connections (up to now only outgoing connections have been counted). This
change is required because the Conn_Close() function doesn't know whether
it closes an outgoing connection or not and therefore would decrement the
counter below zero when an outgoing connection existed -- which would
trigger an assert() call ...
Please note that this patch changes the (so far undocumented but now fixed)
behaviour of the "MaxConnections" configuration option to account the sum
of the in- and outbound connections!
2008-11-12 01:26:04 +01:00
Alexander Barton
5a91d62100
Ignore numeric 020 ("please wait while we process your coinnection")
...
Some servers send the numeric 020 ("please wait while we process your
connection") when a client connects. This is no useful information for
this server, so we simply ignore it :-)
2008-11-11 23:11:49 +01:00
Alexander Barton
3a5b7b63ae
GNUTLS: define new API types when installed library is too old
...
This patch enables ngIRCd to use GNUTLS in really old versions, tested
with version 1.0.16, that don't define the "new" data types ending in
xxx_t. LIBGNUTLS_VERSION_MAJOR isn't defined there as well, so we use
it to test if we must define the new types on our own.
2008-11-11 22:03:11 +01:00
Alexander Barton
9308541e6d
Console log: output timestamp (seconds since start) for resolver, too
2008-11-11 22:01:27 +01:00
Alexander Barton
027cf22267
Console log: output timestamp (seconds since start of daemon)
2008-11-10 18:41:19 +01:00
Florian Westphal
125c05fba0
conn-ssl.c: work around gnutls API problems on 64 bit platforms
...
Alexander Barton reported a compiler warning on 64-bit platforms:
cc1: warnings being treated as errors
conn-ssl.c: In function 'ConnSSL_Init_SSL':
conn-ssl.c:403: error: cast to pointer from integer of
different size
Unfortunately, I couldn't find a real solution; the GNUTLS
API expects 'gnutls_transport_ptr_t' (which is void*),
but the default push/pull functions (send/recv) expect an int.
The only alternative solution is to pass in an address to the
file descriptor, then add send/recv wrappers that expect a pointer.
What a mess[tm].
2008-10-29 23:51:39 +01:00
Alexander Barton
fb19b05e1e
GIT: don't ignore cvs-version.{h|new}, because it isn't used any more.
2008-10-29 22:33:03 +01:00
Alexander Barton
34b2f0085d
Fix ForwardLookup(): "ISO C90 forbids specifying subobject to initialize"
...
This patch fixes the following warning of GCC (version 4.3.2) in
function ForwardLookup():
resolve.c: In function 'ForwardLookup':
resolve.c:282: warning: ISO C90 forbids specifying subobject to initialize
resolve.c:284: warning: ISO C90 forbids specifying subobject to initialize
resolve.c:285: warning: ISO C90 forbids specifying subobject to initialize
2008-10-19 20:07:35 +02:00
Alexander Barton
ce2541a826
Fix ConnSSL_LogCertInfo(): unused variable "cred" (GNUTLS)
...
This patch fixes the following warning of GCC (version 4.3.2) in
function ConnSSL_LogCertInfo() when compiling with GNUTLS support:
conn-ssl.c: In function 'ConnSSL_LogCertInfo':
conn-ssl.c:542: warning: unused variable 'cred'
2008-10-19 20:06:30 +02:00
Alexander Barton
f92a614a35
Enable KICK to be handled from remote servers and from services.
2008-09-23 11:53:16 +02:00
Alexander Barton
ec0b405d9d
Respect RFC 1459 compatibility mode when announcing channels (no NJOIN).
2008-09-23 11:53:16 +02:00
Alexander Barton
178f9cbdac
Announce IRC services in the network.
...
This patch
- introduces a new server flag "S" to indicate that the server can handle
the SERVICE command (on server links),
- implements the IRC command "SERVICE" for server-server links,
- uses the "SERVICE" command to announce IRC services when a new
server connects to it,
- and fixes the Send_Message() function to let it send messages to
services using a "target mask".
If the remote server doesn't indicate that it can handle the "SERVICE"
command (it has not set the "S" flag), services are announced as regular
users as before.
2008-09-23 11:53:16 +02:00
Alexander Barton
6356418ae5
Change Introduce_Client() to set the correct client type (user/service).
2008-09-23 11:53:16 +02:00
Alexander Barton
28e9888764
Convert SQUERY to PRIVMSG on RFC 1459 compliant links.
2008-09-23 11:53:16 +02:00
Alexander Barton
3afa0e0658
Don't allow SQUERY to send to "target masks" and channels; only services!
2008-09-23 11:53:16 +02:00
Alexander Barton
3913de3cff
Fix PRIVMSG/NOTICE handler (II): keep command when forwarding to channels.
...
- new function ngt_UpperStr().
- change Channel_Write() to take command name and error flag.
- remove now unneeded function Channel_Notice().
2008-09-23 11:53:15 +02:00
Alexander Barton
91e87a3705
New function ngt_UpperStr()
2008-09-23 11:53:15 +02:00
Alexander Barton
71e9ac486f
Fix PRIVMSG/NOTICE handler Send_Message(): don't forward NOTICE as PRIVMSG.
2008-09-23 11:53:15 +02:00
Alexander Barton
d93030ad27
Make real use of the CLIENT_SERVICE client type.
...
This patch enables ngIRCd to handle IRC services as real services, and not
as "fake users":
- Set correct client type CLIENT_SERVICE for services,
- Change log messages to include correct client type,
- PRIVMSG: allow users to send messages to services,
- Send services nick names to other servers (as users).
Please note that this patch doesn't announce services as services in the
network, but as regular users (as before). Only the local server knows
of services as services (see LUSERS command, for example). It is up to
one of the next patches to fix this and to introduce the SERVICE command
in server to server communication.
The propagation of services as regular users between servers doesn't limit
the functionality of the IRC services and will be the fallback for servers
that don't support "real" services propagation in the future.
2008-09-23 11:53:15 +02:00
Alexander Barton
4e125fb67c
Allow IRC services to change their nick names.
2008-09-23 11:53:15 +02:00
Alexander Barton
33f32dbd67
New function Client_TypeText() and Destroy_UserOrService().
...
Client_TypeText() is used to get correct naming ("Client", "Service", ...)
for log messages, and Destroy_UserOrService() is used to correctly destroy
user and services clients.
2008-09-23 11:53:15 +02:00
Alexander Barton
74aac88dbf
Send_Message(): really enforce target client type.
2008-09-23 11:53:14 +02:00
Alexander Barton
02d7623074
Allow ngIRCd to detect services connected to an "virtual services server".
...
Introduce a new configuration variable "ServiceMask" in SERVER blocks to
define a mask matching nick names that should be treated as services.
Regular servers don't need this parameter (leave it empty, the default),
but you should set it to "*Serv" when connection ircservices, for example.
This patch allows ngIRCd to detect services, it doesn't change the
functionality: you only get different log messages ;-)
2008-09-23 11:51:16 +02:00
Alexander Barton
c5342fb467
Centralize logging functions in Introduce_Client().
2008-09-23 11:47:17 +02:00
Alexander Barton
557be8c56b
Get rid of INTRO_INFO structure again: we don't need it at all!
...
All the required information is already stored in the CLIENT structure
of new new connection, so pass this to Introduce_Client() and don't
invent an unneeded new structure ...
2008-09-23 11:47:17 +02:00
Alexander Barton
687784d276
Announce_User(): support RFC 1459 compatibility mode.
2008-09-23 11:47:17 +02:00
Alexander Barton
92603f7c80
Introduce_Client(): send MODES in RFC 1459 mode, too.
2008-09-23 11:47:17 +02:00
Alexander Barton
d070ec08ab
numeric.c: whitespace fixes ...
2008-09-23 11:47:17 +02:00
Alexander Barton
a60465be3e
Server links: detect RFC 1459 mode direct after SERVER command
...
This patch allows ngIRCd to detect right after receiving the SERVER command
from the peer whether the RFC 1459 compatibility mode must be used or not.
And it fixes the announcement of users during establishing new server links
with such peers.
2008-09-23 11:47:17 +02:00
Alexander Barton
14048c4717
Send and handle NICK+USER commands for user registration (RFC 1459).
...
This patch enables ngIRCd to deal with NICK and USER commands following
RFC 1459 to register new clients, and to send these commands instead of one
full NICK command as specified in RFC 2813 on connections that are in RFC
1459 compatibility mode.
Can be useful for e. g. IRC services that simulate a RFC 1459 server.
2008-09-23 11:47:17 +02:00
Alexander Barton
f199d63724
New function IRC_WriteStrServersPrefixFlag_CB() using a callback function.
2008-09-23 11:47:17 +02:00
Alexander Barton
4f759d8113
New function Introduce_Client() to announce new local and remote users.
2008-09-23 11:47:17 +02:00
Alexander Barton
6bc2d3d06e
New connection option CONN_RFC1459.
...
This new connection option CONN_RFC1459 indicates that the peer on this
link only supports the IRC protocol as defined in RFC 1459 and that the
compatibility mode (e. g. for outgoing commands like NICK) should be used.
2008-09-23 11:47:17 +02:00
Alexander Barton
a5735f68d7
New global function Conn_SetOption().
2008-09-23 11:47:16 +02:00
Alexander Barton
13f1d57e84
USER: servers and services can alter user information after registration.
...
This is required to do RFC 1459 style user registration on server links,
and is used by some services packages, too. See RFC 1459 section 4.1.3.
2008-09-23 11:47:16 +02:00
Alexander Barton
068d43352d
NICK: allow servers and services to use RFC 1459 syntax (2 parameters).
...
This patch allows servers and services to call the NICK command using the
syntax defined in RFC 1459 to register new users, with only two parameters.
See section 4.1.2.
Useful for some services packages, which emulate this protocol.
2008-09-23 11:47:16 +02:00
Alexander Barton
e56bd8ff89
Whitespace fixes: remove trailing tabulator characters.
2008-09-23 11:47:16 +02:00
Florian Westphal
2fce881d96
conn-ssl.c: don't append a newline to ConnSSL_GetCipherInfo
2008-09-15 12:25:54 +02:00
Florian Westphal
ef3327d372
TLS/SSL support: code changes.
...
This adds the required code to enable ssl/tls support
during compile and run time, respectively.
2008-09-13 15:10:32 +02:00
Florian Westphal
bdd44eb0ab
TLS/SSL support: core files.
...
Contains support for both OpenSSL and GNU TLS.
Certificate Authentification is not yet supported.
2008-09-13 15:08:11 +02:00
Florian Westphal
c997e04325
Fix handling of MaxConnections option
...
Config option claimed to be 'number of connections' but in reality this
was treated as 'largest file descriptor allowed'.
This also fixes another bug in New_connection, where the
ng_ipaddr_tostr_r error path was missing a return statement.
2008-08-30 15:37:19 +02:00
Alexander Barton
2c2c93e311
Include "mcheck.h" when using mtrace().
2008-08-18 23:27:56 +02:00
Alexander Barton
41a23d20e4
SECURITY: Fixed a message handling bug which could crash the daemon.
...
Some message targets could lead to a NULL pointer dereference and therefore
could crash the daemon (denial of service).
(cherry picked from commit e493ad2d30ff80bca2556cde2212e367cb006517)
2008-08-17 17:37:36 +02:00
Alexander Barton
c769cbecb6
Enable GNU libc "memory tracing" when compiled with debug code.
...
This patch lets ngIRCd activate "memory tracing" of the GNU libc when
compiled with debug code (configure: --enable-debug) and the functionality
is available on the system.
(http://www.gnu.org/software/libc/manual/html_node/Allocation-Debugging.html )
2008-08-13 16:00:57 +02:00
Alexander Barton
dfc3de131c
Make ngIRCd compile and run on NeXTSTEP 3.3 and OPENSTEP 4.2
...
by Steven D. Blackford <kb7sqi@aol.com>:
"I wanted to let you know that I've done a quick port of ngircd-0.12.0 for
NEXTSTEP3.3/OPENSTEP4.2. There wasn't a lot of changes required to get it
to compile clean, but I did make the necessary changes so that I didn't
have to use -posix flag. The NeXT has a pretty buggy POSIX implementation
so I always try to work around it. :-)
Anway, here's the changes required to get it to compile."
2008-08-01 16:21:16 +02:00
Alexander Barton
ccbbd7d1a5
GIT: added src/testsuite/message-test to ignore list.
2008-07-27 20:51:37 +02:00
Alexander Barton
e5cf73b9ee
Fix Validate_Args(): unused parameter "Idx" and "Req"
...
This patch fixes the following error message of GCC (tested with version
4.3.0) when not compiling ngIRCd in "strict RFC" mode:
parse.c: In function "Validate_Args":
parse.c:341: error: unused parameter "Idx"
parse.c:341: error: unused parameter "Req"
2008-07-27 20:35:01 +02:00
Alexander Barton
5df56111c4
message-test: Disable two tests using "localhost" as host name
...
Some operating systems, for example OpenBSD and OpenSolaris, use
"localhost.<domain>" instead of just "localhost" for 127.0.0.1, so
the "message-test" using "localhost" failed on such systems.
Don't have an idee how to make this work on all platforms ... :-/
So I simply disabled the two affected tests to make the testsuite
run on OpenBSD and OpenSolaris again.
2008-07-27 18:03:13 +02:00
Alexander Barton
e5174c629c
Fix Send_Message(): "lastCurrentTarget" may be used uninitialized
...
This patch fixes the following warning of GCC 4.3.1:
irc.c: In function "Send_Message":
irc.c:315: error: "lastCurrentTarget" may be used uninitialized in
this function
2008-07-27 17:16:41 +02:00
Alexander Barton
3358ad07d7
Fix t_diff(): declaration of 'div' shadows a global declaration
...
This patch fixes the following GCC warning message:
irc-info.c:422: warning: declaration of 'div' shadows a global declaration
2008-07-27 15:58:06 +02:00
Alexander Barton
318c8b238b
Cosmetic whitespace and line length fixes, mostly in Send_Message().
2008-07-27 15:50:51 +02:00
Alexander Barton
f8381aafb4
Added "message-test" to Makefile, so it is distrubuted and run.
2008-07-27 14:45:04 +02:00
Brandon Beresini
d4eb55c79f
Cleaned up PRIVMSG and NOTICE patches.
2008-07-27 01:23:20 +02:00
Brandon Beresini
2546a13ad2
Cumulative Message Patch
2008-07-27 01:23:04 +02:00
Alexander Barton
b92a7627f3
Don't allow empty channel names ("#") in strict RFC mode.
...
This closes Bug #88 .
Patch proposed by Eric <egrunow@ucsd.edu>, but with wrong length
comparision: please note that Channel_IsValidName() checks the name
INCLUDING the prefix, so the test must be length<=1!
2008-07-22 13:24:14 +02:00
Alexander Barton
258143897c
Return 461 (syntax error) on "JOIN :" and "PART :"
...
Up to this patch ngIRCd did not return any result (GIT master) or a badly
formated 403 (":irc.server 403 test :No such channel" [note the two
spaces!], branch-0-12-x) on the above commands, this patch changes the
behaviour to reflect ircd 2.11 which returns 461 in both cases.
2008-07-22 13:18:19 +02:00
Alexander Barton
477f2fd9e7
Channel_Join(): Code cleanup.
2008-07-22 13:07:57 +02:00
Alexander Barton
3f01324160
Fixes to misc-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.
(Please see 149859c5fecc..., which fixes this for the who-test already)
2008-07-21 13:40:22 +02:00
Eric Grunow
71562ebe57
Translated comments from German to English
2008-06-16 13:58:56 +02:00
Alexander Barton
258e39e89f
Fix GCC warnings for possibly uninitialized variables in IRC_JOIN
...
This patch fixes the following two warnings of GCC 4.2.4:
irc-channel.c: In function "IRC_JOIN":
irc-channel.c:185:
warning: "lastkey" may be used uninitialized in this function
irc-channel.c:185:
warning: "lastchan" may be used uninitialized in this function
2008-06-16 13:18:03 +02:00
Alexander Barton
e142c50ae6
GIT: added src/src/config.h.in~ to ignore list.
2008-06-11 16:02:06 +02:00
Alexander Barton
a84f7dcee5
Allow mixed line terminations (CR+LF/CR/LF) in non-RFC-compliant mode
...
Up to now ngIRCd accepted CR+LF as well as a single CR or LF in "non RFC
compliant" mode (the default). But ngIRCd became confused when it received
data containing mixed line endings (e. g. "111\r222\n333\r\n").
This patch enables ngIRCd (in "non RFC compliant" mode) to detect CR+LF,
CR, and LF as equally good line termination sequences and to always end the
command after the first one detected.
Some clients (for exmaple Trilian) are that ... broken to send such mixed
line terminations ...
First patch proposed by Scott Perry <scperry@ucsd.edu>,
Thanks to Ali Shemiran <ashemira@ucsd.edu> for testing!
2008-06-11 16:00:38 +02:00
Alexander Barton
8644cbf197
Don't allow stray \r or \n in command parameters
...
If ngircd receives an input line like "COMMAND arg\nIRRELEVANT\r\n",
"arg\nIRRELEVANT" is passed as an argument to COMMAND. This can lead
to output like:
:ngircd.test.server 322 nick #chan 1 :
topicwithprecedingnewline
:ngircd.test.server 322 nick #nxtchan 1 :
[..]
Worse, this allows clients to piggyback irc commands, e.g.
"TOPIC #a :test\n:fake!~a@nonexistant JOIN :#a\r\n", which
causes the client to receive a JOIN command during /LIST output.
Bug reported by Scott Perry, first patch by Florian Westphal.
2008-05-30 14:58:25 +02:00
Alexander Barton
6f7b669bec
--configtest: return non-zero exit code if there are errors
2008-05-28 00:31:20 +02:00
Alexander Barton
951314cb79
Handle_Buffer(): code cleanup.
...
Both callers ignore the return code of this function, so get rid of it,
but make sure that the client is disconnected on errors.
2008-05-26 23:38:32 +02:00
Alexander Barton
d360871394
Conn_Handler(): cleanup code, add/translate comments.
...
In addition, the "timeout" variable has been removed because it is
unnecessary today: Handle_Buffer() handles all the data it can handle,
and io_dispatch() returns immediately when new data is available. So
we don't have to double-check but better sleep. Pointed out by Florian.
2008-05-26 21:38:27 +02:00
Scott Perry
b90f71ca2a
Use strtok_r instead of strchr in IRC_JOIN.
...
This patch does significant cleanup on the join code by using strtok_r
instead of mangling strchr to parse channel names and keys in parallel when
a JOIN command contains a list of channels and keys.
Also adds an strtok_r implementation to libportab.
2008-05-26 21:20:03 +02:00
Alexander Barton
956bbe2c28
Reset client idle time on NICK, JOIN, and PART
2008-05-24 21:50:54 +02:00
Florian Westphal
e19f7a8c19
Remove ListenIPv4/ListenIPv6 options.
...
Use "Listen = list,of,addresses" instead.
2008-05-19 14:34:48 +02:00
Florian Westphal
4ed2cb1a02
make Listen parameter a comma-seperated list of addresses.
...
this also obsoletes ListenIPv4 and ListenIPv6 options.
If Listen is unset, it is treated as Listen="::,0.0.0.0".
Note: ListenIPv4 and ListenIPv6 options are still recognized,
but ngircd will print a warning if they are used in the config file.
Also, some plattforms require that ai_socktype
is set in the getaddrinfo() hints structure.
2008-05-19 14:27:35 +02:00
Jari Aalto
818a206a42
Add option aliases -V (for --version) and -h (for --help).
...
This patch adds -h and -V short options (to complement the usage).
It is based on a patch attached to Debian bug #466063 , see
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=466063 >.
Idea by Jari Aalto <jari.aalto@cante.net>,
patch adapted by Alexander Barton <alex@barton.de>.
2008-05-18 16:19:41 +02:00
Brandon Beresini
5d87f6ba80
Add tests for MOTD, VERSION, TIME, USERHOST
...
The misc-test.e file is also somewhat reorganized and commented here.
Patch from Brandon Beresini, Bryan Caldwell and Dana Dahlstrom.
2008-05-15 11:13:45 +02:00
Alexander Barton
d02b083543
Merge commit 'aad49bd260494878aed6795c7a897ad1d28c3082'
2008-05-13 12:14:14 +02:00
Scott Perry
70254a5553
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.
2008-05-12 18:56:31 +02:00
Florian Westphal
b1d38de4d2
If bind() fails, also print ip address and not just the port number.
2008-05-12 18:46:55 +02:00
Alexander Barton
d90cc7add0
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.
2008-05-11 15:20:46 +02:00
Alexander Barton
149859c5fe
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.
2008-05-11 15:17:22 +02:00
Florian Westphal
d9c26f3aeb
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.
2008-05-10 21:49:51 +02:00
Brandon Beresini
0510bbe958
Removed space after # so that Cygwin's version of expect recognizes comments.
2008-05-09 21:54:47 +02:00
Ali Shemiran
12cd554af1
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.
2008-05-09 21:47:31 +02:00
ashemira@ucsd.edu
5cf5ba31eb
Added Cygwin uid kludge. (verified working)
2008-05-08 13:04:25 +02:00
Eric Grunow
75b719a0c8
Anglified and improved comments in channel.c and channel.h
...
[Dana Dahlstrom: repair tab/space conversion in patch]
2008-05-08 03:15:04 +02:00
Alexander Barton
4e56e5341f
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 ...
2008-05-05 18:06:43 +02:00
Florian Westphal
3895b42d1b
Add invite-test.e to test suite.
2008-05-05 16:12:41 +02:00
Dana Dahlstrom
6c81ffaece
Tests for the INVITE command.
2008-05-05 16:12:41 +02:00
Dana Dahlstrom
97cc58fb13
Invite: prefix last argument with colon when necessary.
2008-05-05 16:12:41 +02:00
Dana Dahlstrom
c63d8fd051
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.
2008-05-05 16:12:41 +02:00
Bryan Caldwell
3d8eda9c86
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]
2008-05-05 16:12:41 +02:00
Florian Westphal
3283d275ba
Invite: Send RPL_AWAY to client sending the invite if target is away.
2008-05-05 15:52:41 +02:00
Dana Dahlstrom
faf9b6ea16
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.
2008-05-05 15:40:00 +02:00
Florian Westphal
452fb28394
IRC_INVITE: coding style cleanup.
2008-05-05 15:39:54 +02:00
Florian Westphal
0428a1c4ea
Constify some of Channel_Kick()s arguments.
2008-05-05 15:38:47 +02:00
Florian Westphal
98a8ea105c
constify Client_Search() argument.
2008-05-05 15:38:43 +02:00
Rolf Eike Beer
83bfdddf99
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.
2008-05-05 14:45:28 +02:00
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 b187fac244
)
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
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
Alexander Barton
7ec11de523
Two new scripts: test-loop.sh and wait-tests.sh
2004-09-04 15:44:45 +00:00
Alexander Barton
18eb92a72b
Added support for looping and other enhancements.
2004-09-04 14:23:09 +00:00
Alexander Barton
9ddb934784
Set $srcdir if not already set by make.
2004-09-04 14:22:38 +00:00
Alexander Barton
4f8ac179bf
If nick name is already in use, interpret this as "clienst still connected".
2004-09-04 14:22:13 +00:00
Alexander Barton
02b8e51562
Added preliminary README text.
2004-09-04 13:58:31 +00:00
Alexander Barton
364ff7087d
Added cast to integer for Solaris.
2004-06-26 08:50:44 +00:00
Alexander Barton
a49a580a77
Fixed wrong buffer size calculation for resolver results.
2004-05-30 16:25:51 +00:00
Alexander Barton
c23bbe6b65
Fixed a warning message of the compiler when not using IDENT lookups.
2004-05-11 00:53:14 +00:00
Alexander Barton
3012c232eb
Fixed resolver when using IDENT lookups, cleaned up code.
2004-05-11 00:01:11 +00:00
Alexander Barton
26390c60fb
Added PID to all log messages on the console; enhanced logging of
...
resolver sub-processes in debug mode.
2004-05-10 23:57:46 +00:00
Alexander Barton
cdb039672c
Enhanced output of "make lint".
2004-05-09 18:23:35 +00:00
Alexander Barton
7281b8dd4d
New "chroot" feature (from Benjamin Pineau), introducing new configuration
...
variables "ChrootDir" and "MotdPhrase".
2004-05-07 11:19:20 +00:00
Alexander Barton
d433eb3896
Add flag "L" to default IRC+ server flags: synchronize INVITE-
...
and BAN-lists.
2004-04-25 15:46:50 +00:00
Alexander Barton
dd59820051
Synchronize INVITE- and BAN-lists if the peer requests it:
...
server flag "L". And better debug logging.
2004-04-25 15:43:18 +00:00
Alexander Barton
967476799f
Don't send MODE changes when origin is a server and
...
mask is already known.
2004-04-25 15:42:05 +00:00
Alexander Barton
6b1e322865
New functions: Lists_SendInvites(), Lists_IsInviteEntry(),
2004-04-25 15:40:19 +00:00
Alexander Barton
1d8da4b525
Fixed a wrong assert() which could cause the daemon to exit spuriously
...
when closing down connections.
2004-04-25 14:06:11 +00:00
Alexander Barton
292c7bd4c0
Better logging of decompression errors returned by zlib.
2004-04-25 13:55:34 +00:00
Alexander Barton
64d330b726
Fixed handling of already existent entries in invite and ban lists:
...
the attempt to add an already existent entry is no error, it must
be propagated across servers (but not added to the list!).
2004-04-09 21:41:52 +00:00
Alexander Barton
233210b906
Servers other than the destination server didn't clean up the invite
...
list of an "invite-only" channel properly when an INVITE'd user joined.
2004-04-09 20:46:46 +00:00
Alexander Barton
f697923c48
Fixed detection of GNU C version and usability of __attribute__.
2004-03-15 19:26:39 +00:00
Alexander Barton
cb76d96efb
Fixed some warnings of non-gcc-compilers (e. g. original Apple compiler on
...
A/UX): "warning: illegal pointer combination, op =".
2004-03-11 22:16:31 +00:00
Alexander Barton
de1489b39b
Updated tests to reflect last changes to MODE behaviour.
2004-03-10 20:40:06 +00:00
Alexander Barton
56227abc5e
Changed the reply of the MODE command to match the syntax of the original
...
ircd exactly: the unnecessary but missing ":" before the last parameter
has been added.
2004-02-29 16:28:44 +00:00
Alexander Barton
bdaf53e799
Fixed TRACE: don't output "Serv" lines for ourself; display more info.
2004-02-28 02:18:16 +00:00
Alexander Barton
33f4e6763b
Better logging while establishing and shutting down connections.
...
Results of the resolver are now discarded after the client is registered.
2004-02-28 02:01:01 +00:00
Alexander Barton
6667bb6b77
The info text ("real name") of users is set to "-" if none has been
...
specified using the USER command (e. g. "USER user * * :"). Reason:
the original ircd doesn't like empty ones and would KILL such users.
2004-02-04 19:56:04 +00:00
Alexander Barton
b90bedbcb2
Fixed (optional) TCP Wrapper test which was broken and could result in
...
false results. Thanks to Fuminori Tanizaki <tany@mcnet.ad.jp>!
2004-02-03 20:28:30 +00:00
Alexander Barton
bb98fd8c85
The type of service (TOS) of all sockets is set to "interactive" now.
2004-01-25 16:06:34 +00:00
Alexander Barton
e9b0ec9148
Removed some debug code; translated some source code comments.
2004-01-19 21:54:59 +00:00
Alexander Barton
c53903eb3f
Use "__attribute__" only if gcc is at least version 2.7
2004-01-17 03:22:46 +00:00
Alexander Barton
57c7e23622
Added #include for strings.h to fix compiler warnings.
2004-01-17 03:17:49 +00:00
Alexander Barton
cdb694aeb3
Added #include for strings.h and added some casts to remove compiler warnings.
2004-01-17 03:17:00 +00:00
Alexander Barton
6cafa16a56
Fixed order of #include's: time.h moves up! ;-)
2004-01-17 03:15:45 +00:00
Alexander Barton
f645e5b62e
Adjusted copyright notice to include 2004.
2004-01-02 19:23:30 +00:00
Alexander Barton
c9ccb66944
Added new short command line option "-t" as alternative to "--configtest".
2003-12-29 14:53:26 +00:00
Alexander Barton
cb6279f102
Added IDENT option to version string.
2003-12-27 13:09:24 +00:00
Alexander Barton
b79b315dd4
Added optional support for IDENT lookups (configure switch "--with-ident").
2003-12-27 13:01:12 +00:00
Alexander Barton
c40592d2ce
Removed "USE_" prefixes of configuration #defines.
2003-12-26 15:55:07 +00:00
Alexander Barton
05170bc94c
Fixed error messages related to server name configuration; updated
...
sample configuration file. (from 0.7.x)
2003-12-19 14:32:59 +00:00
Alexander Barton
ff2c1efae8
Fixed abort() when inviting users to nonexistent channels.
2003-12-05 11:57:28 +00:00
Alexander Barton
05e2c0f048
Extended version reporting of CVS builds.
2003-12-04 14:05:16 +00:00
Alexander Barton
be79fabcbf
Fixed ban behavior: users which are banned from a channel can't no longer
...
send PRIVMSG's to this channel (fixes Bug #47 ).
2003-11-06 01:07:44 +00:00
Alexander Barton
ec2f16fa16
Fixed test suite: allow more connections ;-)
2003-11-05 23:31:43 +00:00
Alexander Barton
7b6e26628a
Fixed and enhanced penalty handling; changed internal time resoluiton of
...
the server to one second. Code cleanup.
2003-11-05 23:24:48 +00:00
Alexander Barton
2981fe9eb7
New configuration option "MaxConnectionsIP".
2003-11-05 21:41:01 +00:00
Alexander Barton
e33ab90379
New configuration option "Listen" to bind the server to a specific ip.
2003-09-11 12:05:28 +00:00
Alexander Barton
d8f3c2b42b
Suppress misleading error message of diff during make run.
2003-09-09 13:24:41 +00:00
Alexander Barton
b9f16c9635
Fixed typo in debug output.
2003-08-30 20:28:54 +00:00
Alexander Barton
1ed708ef39
Enhanced testsuite, should run under GNU/Hurd now.
2003-08-22 11:31:18 +00:00
Alexander Barton
6647da58fc
NJOIN: Fixed propagation of user channel modes.
2003-07-09 18:45:56 +00:00
Alexander Barton
260b8e5f36
VERSION shows the CVS date if apropriate now.
2003-06-06 20:46:11 +00:00
Alexander Barton
9a009b24da
Fixed a compiler warning related to an unnecessary assert().
2003-06-05 10:48:13 +00:00
Alexander Barton
0424747e95
Made Makefiles more compatible with "make -j<N>".
2003-05-03 16:29:57 +00:00
Alexander Barton
e541da2a8f
"ServerName" is checked better now: a dot (".") is required.
2003-04-29 12:36:09 +00:00
Alexander Barton
e55399c667
The KILL comand verifies and logs more parameters.
2003-04-29 12:19:20 +00:00
Alexander Barton
0e01a37a69
Fixed --configtest: there is no variable "ServerPwd", it's "Password".
2003-04-27 11:46:52 +00:00
Alexander Barton
83194a23a3
The server tried to connect to other servers only once when DNS or socket
...
failures occured.
2003-04-25 16:47:52 +00:00
Alexander Barton
0551f688f6
Made scripts mor portable (run on SunOS 5.6 now).
2003-04-22 19:27:50 +00:00
Alexander Barton
a061668b1a
Added implicit initialisation of "i" in Conf_GetServer to workaround a egcs
...
2.91.66 bug which claims that this valiable could be used uninitialized.
2003-04-21 11:06:07 +00:00
Alexander Barton
489d8c5cd0
Removed unportable %z formater in strftime().
2003-04-21 10:54:30 +00:00
Alexander Barton
daa996f177
Added missing prototype for dummy_snprintf().
2003-04-21 10:53:38 +00:00
Alexander Barton
7deacbaa11
Added missing include for <sys/select.h>.
2003-04-21 10:53:10 +00:00
Alexander Barton
c3dfd63bf3
Fixed up some castings.
2003-04-21 10:52:26 +00:00
Alexander Barton
0b91df05e0
Fixed spelling mistake :-)
2003-04-20 23:09:43 +00:00
Alexander Barton
feafb6cb2e
Don't forward NJOIN's for unknown nick names.
2003-04-20 23:09:26 +00:00
Alexander Barton
016e547daa
Re-corrected test for CVS version.
2003-03-31 19:01:02 +00:00
Alexander Barton
62796722f1
Changed all PACKAGE's to PACKAGE_NAME and all VERSION's to PACKAGE_VERSION.
2003-03-31 15:54:21 +00:00
Alexander Barton
9ab97b29ae
Fixed up bad test during unregistering of services.
2003-03-27 01:24:32 +00:00
Alexander Barton
24df40eca7
Synchronize server connections with server configurations after reloading the configuration.
2003-03-27 01:22:44 +00:00
Alexander Barton
02a22611be
Clean up duplicate servers correctly.
2003-03-27 01:21:38 +00:00
Alexander Barton
59a0fb8cd9
New function Conn_SyncServerStruct().
2003-03-27 01:20:22 +00:00
Alexander Barton
ac4f25e3a7
Enhanced (and fiexd) IRC_TRACE(): now shows operators and correct link uptimes.
2003-03-19 21:16:53 +00:00
Alexander Barton
7646739431
New message constant RPL_TRACEOPERATOR_MSG. Changed RPL_TRACESERVER_MSG.
2003-03-19 21:16:16 +00:00
Alexander Barton
f53455977d
Added #include for stdarg.h when using ower own version of vsnprintf().
2003-03-17 01:12:10 +00:00
Alexander Barton
9ca1f6a988
Removed now obsolete test for A/UX: configure does this job now.
2003-03-17 00:53:52 +00:00
Alexander Barton
e744936d19
New function Simple_Message(). Better error reporting to clients on connect.
2003-03-07 17:16:49 +00:00
Alexander Barton
4a5b3f34a5
Enlarged buffer for version string ;-)
2003-03-07 14:50:13 +00:00
Alexander Barton
439c945d56
Added support for TCP Wrappers.
2003-03-07 14:35:52 +00:00
Alexander Barton
29bd35bc4f
- Added optional support for Rendezvous.
2003-02-23 12:04:05 +00:00
Alexander Barton
f179070113
- New constant RENDEZVOUS_TYPE.
2003-02-23 12:03:39 +00:00
Alexander Barton
aa15257936
- Added new source module "rendezvous".
2003-02-23 12:02:26 +00:00
Alexander Barton
cf4ad8d6f7
- Conn_Close() ignores recursive calls for the same link now.
2003-02-21 19:19:27 +00:00
Alexander Barton
2a3f8cc57d
- new link "option" constant: CONN_ISCLOSING
2003-02-21 19:18:48 +00:00
Alexander Barton
fbec1f1070
The server didn't validate wheather the "target" client of a channel
...
user mode change is a valid channel member or not.
2003-01-21 21:04:16 +00:00
Alexander Barton
e07542a1ff
- Non-members of a channel could crash the server when trying to change its modes. Fixed.
2003-01-17 19:04:19 +00:00
Alexander Barton
9eee0c883b
- Client structures are removed correctly now if an outgoing connection can't be estahlished.
2003-01-15 14:28:59 +00:00
Alexander Barton
939767d502
- New function Client_DestroyNow().
2003-01-15 14:28:25 +00:00
Alexander Barton
2152e37722
- Added "HELP" command.
2003-01-15 13:49:20 +00:00
Alexander Barton
42c4e6c7b1
- Added support for "TRACE" command.
2003-01-13 18:56:30 +00:00
Alexander Barton
0f3e84f415
- new library "libngtool", reorganized code and directory structure therefore.
2003-01-13 12:20:16 +00:00
Alexander Barton
fc1118cb5a
- Enhanced error detection for numerics ("status codes").
2003-01-12 22:18:46 +00:00
Alexander Barton
df00b38a0b
- MODE returns the key and user limit for channel members correctly now.
2003-01-08 23:00:12 +00:00
Alexander Barton
ff98833136
- Kill_Nick() uses an "faked internal KILL" now.
2003-01-08 22:28:12 +00:00
Alexander Barton
1443bc381c
- Enhanced IRC_KILL to get along with Client==Client_ThisServer() for "fake KILLs".
2003-01-08 22:27:13 +00:00
Alexander Barton
9d82635b15
- Fixed IRC_KILL: used wrong connection index.
2003-01-08 22:07:34 +00:00
Alexander Barton
fa80012e71
- Enhanced CHANINFO command for channel keys and user limits.
2003-01-08 22:04:43 +00:00
Alexander Barton
43d9a62473
- Enhanced (and fixed) CHANINFO command (channel keys, user limits).
2003-01-08 22:04:05 +00:00
Alexander Barton
51e1a2e04a
- Changed semantics of Client_SetAway().
2003-01-08 22:03:21 +00:00
Alexander Barton
bb94d18115
- fixed up propagation of modes with arguments between servers.
2003-01-08 17:45:15 +00:00
Alexander Barton
444fdcf905
- Check functions only on systems that support prototypes, elder cpmpilers
...
become confused instead!
2003-01-04 10:40:01 +00:00
Alexander Barton
1bf0426aaf
- Fixed call of tail, should be more portable now ...
2003-01-04 10:39:14 +00:00
Alexander Barton
8139505829
- Link portabtest agains "true" library.
2003-01-03 22:04:14 +00:00
Alexander Barton
c9540015c8
- Added missing PARAMS().
2003-01-03 22:03:51 +00:00
Alexander Barton
8c1df9ef8d
- The server sets a correct away message now when receiving a "MODE +a".
2003-01-02 17:57:09 +00:00
Alexander Barton
c428ac7563
- Renamed RPL_FEATURE_MSG to RPL_ISUPPORT_MSG.
2003-01-02 17:55:28 +00:00
Alexander Barton
e12179aa92
- date in version string conforms to ISO now: YYYY-MM-DD
2003-01-02 16:42:33 +00:00
Alexander Barton
5e3e3ad445
- Adjusted copyright banner to include 2003 :-)
2003-01-01 13:32:23 +00:00
Alexander Barton
e17976a172
- Fixed up command forwarding: only to servers!
...
- Forwarding of WHOIS was broken in some situations.
2003-01-01 13:30:35 +00:00
Alexander Barton
ae6a7e7c0b
- Fixed up command forwarding: only to servers!
2003-01-01 13:29:40 +00:00
Alexander Barton
8dadb17f83
- Changed "once"-server-config-flag into a generic flag.
...
- Changed semantics of "NGIRCd_Passive".
2002-12-31 16:13:29 +00:00
Alexander Barton
281f7583f5
- New functions Conf_EnableServer(), Conf_DisableServer() and Conf_AddServer().
...
- Changed "once"-server-config-flag into a generic flag.
2002-12-31 16:12:50 +00:00
Alexander Barton
a7956f334e
- New command DISCONNECT.
2002-12-31 16:11:24 +00:00
Alexander Barton
3e026ded6f
- New commands CONNECT and DISCONNECT.
2002-12-31 16:11:06 +00:00
Alexander Barton
4e485443d3
- New commands CONNECT and DISCONNECT.
...
- Validate operator status before syntax checks.
2002-12-31 16:10:55 +00:00
Alexander Barton
01b58a0582
- Fixed test if we are still connected after a KILL command.
2002-12-31 16:09:55 +00:00
Alexander Barton
b8d7dcec77
- Adjusted includes for new "conn-func.h" header.
2002-12-30 17:15:42 +00:00
Alexander Barton
b77dae3499
- Reorganized code for new modules "conn-func.c" and "conn-func.h".
2002-12-30 17:14:59 +00:00
Alexander Barton
0b04bfa7c0
- New source module "conn-func.c" and "conn-func.h".
2002-12-30 17:14:28 +00:00
Alexander Barton
437f2c335f
- Renamed functions now found in "conn-zip.c".
2002-12-30 16:07:50 +00:00
Alexander Barton
e68cdf304f
- New source files "conn-zip.c" and "conn-zip.h".
2002-12-30 16:07:23 +00:00
Alexander Barton
a2544e496c
- Cleaned up handling of server configuration structures.
2002-12-30 00:01:42 +00:00
Alexander Barton
50d354bc21
- Removed needless include of <sys/select.h>.
2002-12-28 15:01:45 +00:00
Alexander Barton
8340e4267c
- Fixed prefix of error messages of KILL.
2002-12-27 13:35:19 +00:00
Alexander Barton
e21b9d842c
- If the server can't close a socket, it panics now.
...
- Quite enhanced logging :-)
2002-12-27 13:20:13 +00:00
Alexander Barton
15e4f67402
- Nicer log messages ;-)
2002-12-27 13:17:32 +00:00
Alexander Barton
01bec0daa2
- KILL can't kill server-links any more.
2002-12-27 13:17:04 +00:00
Alexander Barton
d19813cc4b
- new message ERR_CANTKILLSERVER_MSG.
2002-12-27 13:15:16 +00:00