mirror of
https://github.com/osmarks/ngircd.git
synced 2025-12-25 15:06:04 +00:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3232c7d245 | ||
|
|
2c0a42e935 | ||
|
|
a233adfbd8 | ||
|
|
9f3a9df24a | ||
|
|
44b396d9a5 | ||
|
|
25e1e8b690 | ||
|
|
b60f369266 | ||
|
|
1b1b718e7e | ||
|
|
ce2738c984 | ||
|
|
bec7783ec9 | ||
|
|
db7ea9c4b3 | ||
|
|
2d87beed3d | ||
|
|
05a493e1d0 | ||
|
|
825711973a |
10
ChangeLog
10
ChangeLog
@@ -10,6 +10,14 @@
|
||||
-- ChangeLog / Aenderungen --
|
||||
|
||||
|
||||
ngIRCd 0.2.x, xx.02.2002
|
||||
|
||||
- NICK korrigiert: es werden nun auch alle "betroffenen" User informiert.
|
||||
- configure-Script erweitert, u.a. bessere Anpassung an BeOS: dort wird
|
||||
nun die "libbe" zum ngIRCd gelinkt, somit funktioniert auch syslog.
|
||||
- Fehlerhafte bzw. noch nicht verstandene Modes werden nun ausfuehrlicher
|
||||
an den Client geliefert.
|
||||
|
||||
ngIRCd 0.2.0, 15.02.2002
|
||||
|
||||
- Nicknames und Channel-Namen werden etwas besser auf Gueltigkeit ueber-
|
||||
@@ -95,4 +103,4 @@ ngIRCd 0.0.1, 31.12.2001
|
||||
|
||||
|
||||
--
|
||||
$Id: ChangeLog,v 1.17 2002/02/15 14:35:55 alex Exp $
|
||||
$Id: ChangeLog,v 1.20 2002/02/17 19:08:19 alex Exp $
|
||||
|
||||
4
README
4
README
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
ngIRCd - Next Generation IRC Server
|
||||
|
||||
(c)2001,2002 by Alexander Barton,
|
||||
@@ -42,4 +42,4 @@ Das README liest du gerade ,-)
|
||||
|
||||
|
||||
--
|
||||
$Id: README,v 1.4 2002/01/29 00:17:39 alex Exp $
|
||||
$Id: README,v 1.5 2002/02/15 15:15:48 anonymous Exp $
|
||||
|
||||
30
configure.in
30
configure.in
@@ -9,9 +9,19 @@
|
||||
# Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
|
||||
# der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||
#
|
||||
# $Id: configure.in,v 1.24 2002/02/15 14:35:55 alex Exp $
|
||||
# $Id: configure.in,v 1.27 2002/02/17 21:50:38 alex Exp $
|
||||
#
|
||||
# $Log: configure.in,v $
|
||||
# Revision 1.27 2002/02/17 21:50:38 alex
|
||||
# - Version 0.2.1.
|
||||
#
|
||||
# Revision 1.26 2002/02/17 18:47:26 alex
|
||||
# - Tests auf netdb.h, stdlib.h, sys/wait.h, gethostbyaddr, gethostbyname,
|
||||
# strftime und die "libbe" unter BeOS (fuer syslog) ergaenzt.
|
||||
#
|
||||
# Revision 1.25 2002/02/15 14:57:21 alex
|
||||
# - Version auf 0.2.1-pre im CVS angehoben ...
|
||||
#
|
||||
# Revision 1.24 2002/02/15 14:35:55 alex
|
||||
# - Version 0.2.0
|
||||
#
|
||||
@@ -89,7 +99,7 @@
|
||||
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR(src/ngircd/ngircd.c)
|
||||
AM_INIT_AUTOMAKE(ngircd,0.2.0)
|
||||
AM_INIT_AUTOMAKE(ngircd,0.2.1)
|
||||
AM_CONFIG_HEADER(src/config.h)
|
||||
|
||||
# -- Variablen --
|
||||
@@ -138,13 +148,13 @@ AC_ARG_WITH(portab,
|
||||
]
|
||||
)
|
||||
|
||||
AC_CHECK_HEADERS([ \
|
||||
errno.h fcntl.h netinet/in.h string.h \
|
||||
sys/socket.h sys/time.h unistd.h \
|
||||
],,AC_MSG_ERROR([required C header missing!]))
|
||||
|
||||
AC_CHECK_HEADERS(arpa/inet.h)
|
||||
|
||||
AC_CHECK_HEADERS([ \
|
||||
errno.h fcntl.h netdb.h netinet/in.h stdlib.h string.h \
|
||||
sys/socket.h sys/time.h sys/wait.h unistd.h \
|
||||
],,AC_MSG_ERROR([required C header missing!]))
|
||||
|
||||
# -- Datentypen --
|
||||
|
||||
AC_MSG_CHECKING(whether socklen_t exists)
|
||||
@@ -165,14 +175,16 @@ AC_TRY_COMPILE([
|
||||
AC_FUNC_MALLOC
|
||||
|
||||
AC_CHECK_FUNCS([ \
|
||||
gethostname inet_ntoa memmove memset select \
|
||||
socket strcasecmp strchr strerror strstr waitpid \
|
||||
gethostbyaddr gethostbyname gethostname inet_ntoa memmove memset \
|
||||
select socket strcasecmp strchr strerror strftime strstr waitpid \
|
||||
],,AC_MSG_ERROR([required function missing!]))
|
||||
|
||||
AC_CHECK_FUNCS(inet_aton)
|
||||
|
||||
# -- Libraries --
|
||||
|
||||
AC_CHECK_LIB(be,syslog)
|
||||
|
||||
# -- Konfigurationsoptionen --
|
||||
|
||||
AC_ARG_ENABLE(syslog,
|
||||
|
||||
49
doc/CVS.txt
49
doc/CVS.txt
@@ -14,12 +14,51 @@ Die Sourcen des ngIRCd werden mit dem "Concurrent Versions System" (CVS)
|
||||
verwaltet. Somit koennen ohne Probleme mehrere Leute gleichzeitig die Sourcen
|
||||
bearbeitet.
|
||||
|
||||
Dieser Text soll in Zukunft die Grundlagen beschreiben. Tut er aber leider
|
||||
noch nicht, also frage einfach Alex direkt (siehe AUTHORS-Text), wenn du
|
||||
daran interessiert bist, Zugriff auf den Quellcode via CVS zu bekommen!
|
||||
|
||||
[ ... more to come ... ]
|
||||
I. Anonymer "Nur-Lesen"-Zugang
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Anonymer Zugriff auf die CVS-Repository von ngIRCd ist im "nur-lesen"-Modus
|
||||
moeglich. Dazu sind folgende Schritte noetig:
|
||||
|
||||
Beim CVS-Server anmelden
|
||||
|
||||
$ cvs -d:pserver:anonymous@arthur.ath.cx:/usr/local/CVS/ngircd login
|
||||
|
||||
Als Benutzername wird "anonymous" mit einem leeren Passwort verwendet.
|
||||
Nun ein "Check-Out" der Quellcodes durchfuehren:
|
||||
|
||||
$ cvs -d:pserver:anonymous@arthur.ath.cx:/usr/local/CVS/ngircd checkout ngircd
|
||||
|
||||
Dadurch wird im aktuellen Verzeichnis der neue Ordner "ngircd" mit allen
|
||||
Quell-Dateien des ngIRCd erzeugt.
|
||||
|
||||
Dieses ist der "Arbeitsordner", alle CVS-Befehle werden in Zukunft aus
|
||||
diesem Ordner bzw. einem Unterordner davon ausgefuehrt.
|
||||
|
||||
Wichtig: wenn ngIRCd "frisch" aus dem CVS compiliert werden soll, so
|
||||
existiert das configure-Script noch nicht. Dieses muss zunaechst mit dem
|
||||
Script "autogen.sh" erzeugt werden. Letzteres setzt ein installiertes GNU
|
||||
automake und GNU autoconf voraus!
|
||||
|
||||
CVS-Tree aktualisieren:
|
||||
|
||||
$ cvs update
|
||||
|
||||
Dieser Befehl aktualisiert alle Dateien im aktuellen Verzeichnis sowie allen
|
||||
Unterverzeichnissen.
|
||||
|
||||
$ cvs update <filename>
|
||||
|
||||
So kann eine einzelne Datei aktualisiert werden (auch dann, wenn sie lokal
|
||||
z.B. geloescht wurde -- praktisch, um eigene "Experimente" rueckgaengig zu
|
||||
machen ;-))
|
||||
|
||||
|
||||
III. Schreibzugriff
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
Wer Schreibzugriff auf die CVS-Repository wuenscht, der moege sich bitte
|
||||
mit Alex Barton, <alex@barton.de> in Verbindung setzen.
|
||||
|
||||
|
||||
--
|
||||
$Id: CVS.txt,v 1.4 2002/01/23 18:20:04 alex Exp $
|
||||
$Id: CVS.txt,v 1.5 2002/02/15 15:15:22 alex Exp $
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: sample-ngircd.conf,v 1.2 2002/01/06 16:54:05 alex Exp $
|
||||
# $Id: sample-ngircd.conf,v 1.3 2002/02/17 17:34:50 alex Exp $
|
||||
|
||||
[Global]
|
||||
Name = irc.the.net
|
||||
@@ -14,9 +14,14 @@
|
||||
; Password = ThePwd
|
||||
|
||||
[Server]
|
||||
; Host = host2.the.net
|
||||
; Host = connect-to-host.the.net
|
||||
; Name = irc2.the.net
|
||||
; Port = 6666
|
||||
; Password = ThePwd
|
||||
; Password = ThePwd1
|
||||
|
||||
[Server]
|
||||
; Host = wait-for-host.the.net
|
||||
; Name = irc3.the.net
|
||||
; Password = ThePwd2
|
||||
|
||||
# -eof-
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
|
||||
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||
*
|
||||
* $Id: client.c,v 1.36 2002/02/06 16:49:41 alex Exp $
|
||||
* $Id: client.c,v 1.37 2002/02/17 19:02:49 alex Exp $
|
||||
*
|
||||
* client.c: Management aller Clients
|
||||
*
|
||||
@@ -21,6 +21,9 @@
|
||||
* Server gewesen, so existiert eine entsprechende CONNECTION-Struktur.
|
||||
*
|
||||
* $Log: client.c,v $
|
||||
* Revision 1.37 2002/02/17 19:02:49 alex
|
||||
* - Client_CheckNick() und Client_CheckID() lieferten u.U. falsche Ergebnisse.
|
||||
*
|
||||
* Revision 1.36 2002/02/06 16:49:41 alex
|
||||
* - neue Funktion Client_IsValidNick(), Nicknames werden besser validiert.
|
||||
*
|
||||
@@ -719,7 +722,11 @@ GLOBAL BOOLEAN Client_CheckNick( CLIENT *Client, CHAR *Nick )
|
||||
assert( Nick != NULL );
|
||||
|
||||
/* Nick ungueltig? */
|
||||
if( ! Client_IsValidNick( Nick )) return IRC_WriteStrClient( Client, ERR_ERRONEUSNICKNAME_MSG, Client_ID( Client ), Nick );
|
||||
if( ! Client_IsValidNick( Nick ))
|
||||
{
|
||||
IRC_WriteStrClient( Client, ERR_ERRONEUSNICKNAME_MSG, Client_ID( Client ), Nick );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Nick bereits vergeben? */
|
||||
c = My_Clients;
|
||||
@@ -750,7 +757,11 @@ GLOBAL BOOLEAN Client_CheckID( CLIENT *Client, CHAR *ID )
|
||||
assert( ID != NULL );
|
||||
|
||||
/* Nick zu lang? */
|
||||
if( strlen( ID ) > CLIENT_ID_LEN ) return IRC_WriteStrClient( Client, ERR_ERRONEUSNICKNAME_MSG, Client_ID( Client ), ID );
|
||||
if( strlen( ID ) > CLIENT_ID_LEN )
|
||||
{
|
||||
IRC_WriteStrClient( Client, ERR_ERRONEUSNICKNAME_MSG, Client_ID( Client ), ID );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* ID bereits vergeben? */
|
||||
c = My_Clients;
|
||||
|
||||
111
src/ngircd/irc.c
111
src/ngircd/irc.c
@@ -9,11 +9,24 @@
|
||||
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
|
||||
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||
*
|
||||
* $Id: irc.c,v 1.57 2002/02/13 23:05:29 alex Exp $
|
||||
* $Id: irc.c,v 1.61 2002/02/17 19:03:12 alex Exp $
|
||||
*
|
||||
* irc.c: IRC-Befehle
|
||||
*
|
||||
* $Log: irc.c,v $
|
||||
* Revision 1.61 2002/02/17 19:03:12 alex
|
||||
* - NICK-Aenderungen wurden dem User selber mit dem falschen Prefix geliefert.
|
||||
*
|
||||
* Revision 1.60 2002/02/17 17:43:14 alex
|
||||
* - Fehlerhafte Modes werden nun ausfuehrlicher an den Client gemeldet.
|
||||
*
|
||||
* Revision 1.59 2002/02/17 17:30:21 alex
|
||||
* - NICK-Aenderungen werden an alle Server und betroffene Clients gemeldet.
|
||||
* - Neue Funktion IRC_WriteStrRelatedPrefix().
|
||||
*
|
||||
* Revision 1.58 2002/02/17 17:18:59 alex
|
||||
* - NICK korrigiert.
|
||||
*
|
||||
* Revision 1.57 2002/02/13 23:05:29 alex
|
||||
* - Nach Connect eines Users werden LUSERS-Informationen angezeigt.
|
||||
*
|
||||
@@ -326,10 +339,10 @@ GLOBAL BOOLEAN IRC_WriteStrChannel( CLIENT *Client, CHANNEL *Chan, BOOLEAN Remot
|
||||
GLOBAL BOOLEAN IRC_WriteStrChannelPrefix( CLIENT *Client, CHANNEL *Chan, CLIENT *Prefix, BOOLEAN Remote, CHAR *Format, ... )
|
||||
{
|
||||
CHAR buffer[1000];
|
||||
BOOLEAN sock[MAX_CONNECTIONS], ok = CONNECTED, i;
|
||||
BOOLEAN sock[MAX_CONNECTIONS], ok = CONNECTED;
|
||||
CL2CHAN *cl2chan;
|
||||
CLIENT *c;
|
||||
INT s;
|
||||
INT s, i;
|
||||
va_list ap;
|
||||
|
||||
assert( Client != NULL );
|
||||
@@ -422,6 +435,74 @@ GLOBAL VOID IRC_WriteStrServersPrefix( CLIENT *ExceptOf, CLIENT *Prefix, CHAR *F
|
||||
} /* IRC_WriteStrServersPrefix */
|
||||
|
||||
|
||||
GLOBAL BOOLEAN IRC_WriteStrRelatedPrefix( CLIENT *Client, CLIENT *Prefix, BOOLEAN Remote, CHAR *Format, ... )
|
||||
{
|
||||
BOOLEAN sock[MAX_CONNECTIONS], ok = CONNECTED;
|
||||
CL2CHAN *chan_cl2chan, *cl2chan;
|
||||
CHAR buffer[1000];
|
||||
CHANNEL *chan;
|
||||
va_list ap;
|
||||
CLIENT *c;
|
||||
INT i, s;
|
||||
|
||||
assert( Client != NULL );
|
||||
assert( Prefix != NULL );
|
||||
assert( Format != NULL );
|
||||
|
||||
va_start( ap, Format );
|
||||
vsnprintf( buffer, 1000, Format, ap );
|
||||
va_end( ap );
|
||||
|
||||
/* initialisieren */
|
||||
for( i = 0; i < MAX_CONNECTIONS; i++ ) sock[i] = FALSE;
|
||||
|
||||
/* An alle Clients, die in einem Channel mit dem "Ausloeser" sind,
|
||||
* den Text schicken. An Remote-Server aber jeweils nur einmal. */
|
||||
chan_cl2chan = Channel_FirstChannelOf( Client );
|
||||
while( chan_cl2chan )
|
||||
{
|
||||
/* Channel des Users durchsuchen */
|
||||
chan = Channel_GetChannel( chan_cl2chan );
|
||||
cl2chan = Channel_FirstMember( chan );
|
||||
while( cl2chan )
|
||||
{
|
||||
c = Channel_GetClient( cl2chan );
|
||||
if( ! Remote )
|
||||
{
|
||||
if( Client_Conn( c ) <= NONE ) c = NULL;
|
||||
else if( Client_Type( c ) == CLIENT_SERVER ) c = NULL;
|
||||
}
|
||||
if( c ) c = Client_NextHop( c );
|
||||
|
||||
if( c && ( c != Client ))
|
||||
{
|
||||
/* Ok, anderer Client */
|
||||
s = Client_Conn( c );
|
||||
assert( s >= 0 );
|
||||
assert( s < MAX_CONNECTIONS );
|
||||
sock[s] = TRUE;
|
||||
}
|
||||
cl2chan = Channel_NextMember( chan, cl2chan );
|
||||
}
|
||||
|
||||
/* naechsten Channel */
|
||||
chan_cl2chan = Channel_NextChannelOf( Client, chan_cl2chan );
|
||||
}
|
||||
|
||||
/* Senden ... */
|
||||
for( i = 0; i < MAX_CONNECTIONS; i++ )
|
||||
{
|
||||
if( sock[i] )
|
||||
{
|
||||
ok = Conn_WriteStr( i, ":%s %s", Client_ID( Prefix ), buffer );
|
||||
if( ! ok ) break;
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
} /* IRC_WriteStrRelatedPrefix */
|
||||
|
||||
|
||||
|
||||
GLOBAL BOOLEAN IRC_PASS( CLIENT *Client, REQUEST *Req )
|
||||
{
|
||||
assert( Client != NULL );
|
||||
@@ -774,19 +855,11 @@ GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req )
|
||||
if( ! Client_CheckNick( target, Req->argv[0] )) return CONNECTED;
|
||||
}
|
||||
|
||||
if( Client_Type( Client ) == CLIENT_USER )
|
||||
{
|
||||
/* Nick-Aenderung: allen mitteilen! */
|
||||
Log( LOG_INFO, "User \"%s\" changed nick: \"%s\" -> \"%s\".", Client_Mask( target ), Client_ID( target ), Req->argv[0] );
|
||||
IRC_WriteStrClient( Client, "NICK :%s", Req->argv[0] );
|
||||
IRC_WriteStrServersPrefix( NULL, Client, "NICK :%s", Req->argv[0] );
|
||||
}
|
||||
else if( Client_Type( Client ) == CLIENT_SERVER )
|
||||
{
|
||||
/* Nick-Aenderung: allen mitteilen! */
|
||||
Log( LOG_DEBUG, "User \"%s\" changed nick: \"%s\" -> \"%s\".", Client_Mask( target ), Client_ID( target ), Req->argv[0] );
|
||||
IRC_WriteStrServersPrefix( Client, target, "NICK :%s", Req->argv[0] );
|
||||
}
|
||||
/* Nick-Aenderung: allen mitteilen! */
|
||||
Log( LOG_INFO, "User \"%s\" changed nick: \"%s\" -> \"%s\".", Client_Mask( target ), Client_ID( target ), Req->argv[0] );
|
||||
if( Client_Type( Client ) == CLIENT_USER ) IRC_WriteStrClientPrefix( Client, Client, "NICK :%s", Req->argv[0] );
|
||||
IRC_WriteStrServersPrefix( Client, target, "NICK :%s", Req->argv[0] );
|
||||
IRC_WriteStrRelatedPrefix( target, target, FALSE, "NICK :%s", Req->argv[0] );
|
||||
|
||||
/* Client-Nick registrieren */
|
||||
Client_SetID( target, Req->argv[0] );
|
||||
@@ -1240,7 +1313,7 @@ GLOBAL BOOLEAN IRC_MODE( CLIENT *Client, REQUEST *Req )
|
||||
break;
|
||||
default:
|
||||
Log( LOG_DEBUG, "Unknown mode \"%c%c\" from \"%s\"!?", set ? '+' : '-', *mode_ptr, Client_ID( Client ));
|
||||
ok = IRC_WriteStrClient( Client, ERR_UMODEUNKNOWNFLAG_MSG, Client_ID( Client ));
|
||||
ok = IRC_WriteStrClient( Client, ERR_UMODEUNKNOWNFLAG2_MSG, Client_ID( Client ), set ? '+' : '-', *mode_ptr );
|
||||
x[0] = '\0';
|
||||
}
|
||||
}
|
||||
@@ -1270,7 +1343,7 @@ GLOBAL BOOLEAN IRC_MODE( CLIENT *Client, REQUEST *Req )
|
||||
break;
|
||||
default:
|
||||
Log( LOG_DEBUG, "Unknown channel-user-mode \"%c%c\" from \"%s\" on \"%s\" at %s!?", set ? '+' : '-', *mode_ptr, Client_ID( Client ), Client_ID( chan_cl ), Channel_Name( chan ));
|
||||
ok = IRC_WriteStrClient( Client, ERR_UMODEUNKNOWNFLAG_MSG, Client_ID( Client ));
|
||||
ok = IRC_WriteStrClient( Client, ERR_UMODEUNKNOWNFLAG2_MSG, Client_ID( Client ), set ? '+' : '-', *mode_ptr );
|
||||
x[0] = '\0';
|
||||
}
|
||||
}
|
||||
@@ -1309,7 +1382,7 @@ GLOBAL BOOLEAN IRC_MODE( CLIENT *Client, REQUEST *Req )
|
||||
break;
|
||||
default:
|
||||
Log( LOG_DEBUG, "Unknown channel-mode \"%c%c\" from \"%s\" at %s!?", set ? '+' : '-', *mode_ptr, Client_ID( Client ), Channel_Name( chan ));
|
||||
ok = IRC_WriteStrClient( Client, ERR_UMODEUNKNOWNFLAG_MSG, Client_ID( Client ));
|
||||
ok = IRC_WriteStrClient( Client, ERR_UMODEUNKNOWNFLAG2_MSG, Client_ID( Client ), set ? '+' : '-', *mode_ptr );
|
||||
x[0] = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,11 +9,14 @@
|
||||
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
|
||||
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||
*
|
||||
* $Id: irc.h,v 1.21 2002/01/27 21:53:57 alex Exp $
|
||||
* $Id: irc.h,v 1.22 2002/02/17 17:18:59 alex Exp $
|
||||
*
|
||||
* irc.h: IRC-Befehle (Header)
|
||||
*
|
||||
* $Log: irc.h,v $
|
||||
* Revision 1.22 2002/02/17 17:18:59 alex
|
||||
* - NICK korrigiert.
|
||||
*
|
||||
* Revision 1.21 2002/01/27 21:53:57 alex
|
||||
* - IRC_WriteStrServersPrefixID() und IRC_WriteStrClientPrefixID() wieder entfernt.
|
||||
*
|
||||
@@ -104,6 +107,7 @@ GLOBAL BOOLEAN IRC_WriteStrChannel( CLIENT *Client, CHANNEL *Chan, BOOLEAN Remot
|
||||
GLOBAL BOOLEAN IRC_WriteStrChannelPrefix( CLIENT *Client, CHANNEL *Chan, CLIENT *Prefix, BOOLEAN Remote, CHAR *Format, ... );
|
||||
GLOBAL VOID IRC_WriteStrServers( CLIENT *ExceptOf, CHAR *Format, ... );
|
||||
GLOBAL VOID IRC_WriteStrServersPrefix( CLIENT *ExceptOf, CLIENT *Prefix, CHAR *Format, ... );
|
||||
GLOBAL BOOLEAN IRC_WriteStrRelatedPrefix( CLIENT *Client, CLIENT *Prefix, BOOLEAN Remote, CHAR *Format, ... );
|
||||
|
||||
GLOBAL BOOLEAN IRC_PASS( CLIENT *Client, REQUEST *Req );
|
||||
GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req );
|
||||
|
||||
@@ -9,11 +9,14 @@
|
||||
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
|
||||
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
|
||||
*
|
||||
* $Id: messages.h,v 1.28 2002/02/13 23:04:50 alex Exp $
|
||||
* $Id: messages.h,v 1.29 2002/02/17 17:42:53 alex Exp $
|
||||
*
|
||||
* irc.h: IRC-Befehle (Header)
|
||||
*
|
||||
* $Log: messages.h,v $
|
||||
* Revision 1.29 2002/02/17 17:42:53 alex
|
||||
* - neue Text-Konstante ERR_UMODEUNKNOWNFLAG2_MSG.
|
||||
*
|
||||
* Revision 1.28 2002/02/13 23:04:50 alex
|
||||
* - RPL_MYINFO_MSG korrigiert.
|
||||
*
|
||||
@@ -255,7 +258,8 @@
|
||||
#define ERR_NOOPERHOST_MSG ERR_NOOPERHOST" %s :Not configured for your host"
|
||||
|
||||
#define ERR_UMODEUNKNOWNFLAG "501"
|
||||
#define ERR_UMODEUNKNOWNFLAG_MSG ERR_UMODEUNKNOWNFLAG" %s :Unknown mode flag"
|
||||
#define ERR_UMODEUNKNOWNFLAG_MSG ERR_UMODEUNKNOWNFLAG" %s :Unknown mode"
|
||||
#define ERR_UMODEUNKNOWNFLAG2_MSG ERR_UMODEUNKNOWNFLAG" %s :Unknown mode \"%c%c\""
|
||||
|
||||
#define ERR_USERSDONTMATCH "502"
|
||||
#define ERR_USERSDONTMATCH_MSG ERR_USERSDONTMATCH" %s :Can't set/get mode for other users"
|
||||
|
||||
Reference in New Issue
Block a user