Commit Briefs

Alexander Barton

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.


Alexander Barton

Always enable modeless channels.

Modeless channels (+channels) are described in RFC 2811; so my modifications to 530112b114ffa7d5352c0733790ddf90253f41f9 ('Add support for modeless channels') to disable +channels for --strict-rfc configurations were wrong. This reverts those changes.


Alexander Barton

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 ]


Florian Westphal

Channel_Mode: Remove duplicate code.

Incidentially, this doesn't even change the generated code...



Florian Westphal

Channel_Mode: Re-indent switch.

No functional changes were made.






Florian Westphal

Channel_Mode cleanups

- better indentation - move answering request into seperate function.


Florian Westphal

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.




Florian Westphal

moved invite/ban lists to channel structure


Florian Westphal

channel maxusers now unsigned long


Florian Westphal

-whitespace damage




Florian Westphal

remove unneeded strpy()


Alexander Barton

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).


Alexander Barton

Reorder #includes, necessary due to removal of #include "defines.h" in

the client.h header file.


Florian Westphal

Remove INT, LONG, BOOLEAN, STATIC, CONST, CHAR datatypes.

use stdbool.h / inttypes.h if available.


Alexander Barton

New configuration option "OperServerMode".





Alexander Barton

Don't send MODE changes when origin is a server and

mask is already known.


Alexander Barton

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!).


Alexander Barton

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.


Alexander Barton

Fixed and enhanced penalty handling; changed internal time resoluiton of

the server to one second. Code cleanup.


Alexander Barton

The server didn't validate wheather the "target" client of a channel

user mode change is a valid channel member or not.











Alexander Barton

- fixed some parsing bugs.

- better logging.


Alexander Barton

- new (and much more flexible!) MODE parser




Alexander Barton

- new file header format (in english);

- new file ident semantics.


Alexander Barton

- Parser auf Befehlstabelle umgestellt.





Alexander Barton

- Bans/Invites: andere Server wurden nicht informiert.

- neue Funktion Send_ListChange().



Alexander Barton

- neue Konfigurationsoption "OperCanUseMode" (Sektion "Global"):

ist sie aktiv, koennen IRC-Operatoren immer Channel-Modes setzen.



Alexander Barton

- Bei einem JOIN in einen persistenten Channel werden nun evtl. zu setzende

User-Modes korrekt in den Channel gemeldet.


Alexander Barton

- nicht unterstuetzte Channel-Modes entfernt.


Alexander Barton

- Anpassungen an pre-ANSI-Compiler,

- Includes aufgeraumt: Header includieren keine anderen mehr.



Alexander Barton

- alle Client_GetFromID() durch Client_Search() ersetzt.

- neuer Mode "s": Server Messages.


Alexander Barton

- externe portab-Header werden nicht mehr benoetigt/benutzt, dadurch

einige Aenderungen an diversen Source-Dateien und Headern. - Dateien enthalten keine CVS-History mehr.



Alexander Barton

- Modul aus irc.c bzw. irc.h ausgegliedert.