Alexander Barton
dee89c2355
Channel_Mode(): code cleanup (no functional changes)
2009-03-03 15:06:34 +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
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
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
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
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
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
2dd51a98e4
Channel_Mode: Unify Add_Invite and Add_Ban handler
2008-04-19 14:02:54 +02:00
Florian Westphal
e710e8ae37
Channel_Mode cleanups
...
- better indentation
- move answering request into seperate function.
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
Alexander Barton
8f162f4e17
Fixed propagation of channel mode 'P' on server links.
2007-10-14 12:08:57 +00:00
Florian Westphal
4b9e52eb4d
implement /WALLOPS as described in RFC 2812, section 4.7.
2007-08-02 10:14:26 +00:00
Florian Westphal
fa7bb2790a
moved invite/ban lists to channel structure
2006-12-07 17:57:20 +00:00
Florian Westphal
6e105bf87e
channel maxusers now unsigned long
2006-10-06 21:32:58 +00:00
Florian Westphal
0eccdbc137
-whitespace damage
2006-08-12 11:56:24 +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
Alexander Barton
77f54693ef
Removed unnecessary #define of "LOCAL", now use plain C "static" instead.
2005-07-31 20:13:07 +00:00
Florian Westphal
b0699efdab
remove unneeded strpy()
2005-06-17 19:14:58 +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
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
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
Alexander Barton
1d08d51e2e
New configuration option "OperServerMode".
2005-03-15 16:56:16 +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
4ef172d603
Implemented support for "secret channels" (channel mode "s").
2005-03-02 16:35:10 +00:00
Alexander Barton
8579b2a1e5
Clean up the mode handling code: remove redundant parts ...
2005-02-27 20:09:44 +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
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
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
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
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
df00b38a0b
- MODE returns the key and user limit for channel members correctly now.
2003-01-08 23:00:12 +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
b316c380ad
- replaced some calls to sprintf() with snprintf() -- more secure :-)
2002-12-26 17:14:48 +00:00
Alexander Barton
695631b298
- replaced a lot of strcpy() calls with strlcpy() which is more secure.
2002-12-26 17:04:54 +00:00
Alexander Barton
6626395c88
- replaced a lot of strcat() calls with strlcat() which is more secure.
2002-12-26 16:48:14 +00:00
Alexander Barton
8841d87365
- fixed user mode propagation over server-links (IRC operator, away, ...)
2002-12-18 14:16:21 +00:00
Alexander Barton
69ad0e386e
- Implemented channel modes k (key) and l (user limit).
2002-12-16 23:06:46 +00:00
Alexander Barton
7f61f413f4
- fixed broken handling of modes received from other servers.
2002-12-16 10:52:53 +00:00
Alexander Barton
c0d74a3860
- fixed some parsing bugs.
...
- better logging.
2002-12-15 16:29:18 +00:00
Alexander Barton
80c6dc86ed
- new (and much more flexible!) MODE parser
2002-12-15 15:51:24 +00:00
Alexander Barton
25ca2b3cc5
- removed Conf_MaxPChannels and reverted to old behavior.
2002-12-14 13:36:19 +00:00
Alexander Barton
2694017426
- Conf_MaxPChannels is considered properly in channel mode changes now.
2002-12-14 13:24:09 +00:00
Alexander Barton
490f28ffd1
- new file header format (in english);
...
- new file ident semantics.
2002-12-12 12:24:18 +00:00
Alexander Barton
1e59617d2c
- Parser auf Befehlstabelle umgestellt.
2002-11-30 15:04:57 +00:00