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
74aac88dbf
Send_Message(): really enforce target client type.
2008-09-23 11:53:14 +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
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
318c8b238b
Cosmetic whitespace and line length fixes, mostly in Send_Message().
2008-07-27 15:50:51 +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
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
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
Alexander Barton
5590f8624b
Don't include conn.h, conn-func.h is enough.
2006-07-23 14:55:40 +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
87f4b1c6f6
Client_GetFromConn() removed and replaced with new function Conn_GetClient()
2006-04-23 10:37:27 +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
77f54693ef
Removed unnecessary #define of "LOCAL", now use plain C "static" instead.
2005-07-31 20:13:07 +00:00
Alexander Barton
129a22a29b
Cleaned up (and documented) the IRC_KILL() function.
2005-04-18 15:44:39 +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
bdaf53e799
Fixed TRACE: don't output "Serv" lines for ourself; display more info.
2004-02-28 02:18:16 +00:00
Alexander Barton
c40592d2ce
Removed "USE_" prefixes of configuration #defines.
2003-12-26 15:55:07 +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
e55399c667
The KILL comand verifies and logs more parameters.
2003-04-29 12:19:20 +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
ac4f25e3a7
Enhanced (and fiexd) IRC_TRACE(): now shows operators and correct link uptimes.
2003-03-19 21:16:53 +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
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
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
8340e4267c
- Fixed prefix of error messages of KILL.
2002-12-27 13:35:19 +00:00
Alexander Barton
01bec0daa2
- KILL can't kill server-links any more.
2002-12-27 13:17:04 +00:00
Alexander Barton
4d2f279d2d
- fixed KILL: you can kill yourself now without crashing the server;
...
QUIT isn't send to other servers after the KILL any more.
2002-12-26 18:41:00 +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
490f28ffd1
- new file header format (in english);
...
- new file ident semantics.
2002-12-12 12:24:18 +00:00
Alexander Barton
44a2b3cf69
- added missing include of stdio.h header for sprintf().
2002-12-12 11:40:41 +00:00
Alexander Barton
b99af4fa47
- IRC Operators can KILL users now.
2002-12-06 17:02:39 +00:00
Alexander Barton
0c471b84f7
- neues Source-Modul "irc-info"; neuer Befehl STATS.
2002-11-30 17:39:56 +00:00
Alexander Barton
1e59617d2c
- Parser auf Befehlstabelle umgestellt.
2002-11-30 15:04:57 +00:00
Alexander Barton
f86bbd718d
- neuer Befehl IRC_TIME().
2002-11-24 18:45:53 +00:00
Alexander Barton
1fd9216ca4
- MOTD kann nun auch an andere Server delegiert werden.
2002-11-24 16:36:03 +00:00
Alexander Barton
12bf203167
- neue Funktion IRC_WHOWAS() begonnen.
2002-11-22 23:31:56 +00:00
Alexander Barton
c7b55aa6f4
- verwendete Datentypen aufgeraumt: beispielsweise INT32 ist nun oft ein LONG.
2002-10-09 16:53:02 +00:00
Alexander Barton
1e83e6662f
- fehlenden Return-Wert ergaenzt (ich Dubel).
2002-10-09 13:35:32 +00:00
Alexander Barton
39d7b014cf
- NOTICE liefert nun nie(!) einen Fehler, auch nicht, wenn Client noch nicht registriert.
2002-10-09 13:33:19 +00:00
Alexander Barton
ec474a4bd2
- "format-string-bugs", die zum Abbruch des Servers fuehrten, behoben.
2002-10-04 11:21:46 +00:00
Alexander Barton
3a3d6d7b9a
- neuer Befehl IRC_ADMIN().
2002-09-16 09:14:45 +00:00
Alexander Barton
3da161131a
- KILL konnte keine Remote-Clients toeten; zudem besseres Logging.
2002-07-25 11:37:01 +00:00
Alexander Barton
9fd8254ada
- auch bei IRC_NOTICE() wurde das Ziel nicht korrekt validiert.
2002-06-11 13:58:43 +00:00
Alexander Barton
c3d9c40a74
- wurde bei PRIVMSG als Ziel ein Server angegeben, so beendete sich der ngircd mit einem assert().
2002-06-10 21:08:45 +00:00