commit - 0777bca3258324d2cc8b1a9092f8b2ffebb5e508
commit + d67d94ea04990be49b3d56b1540746c0785faf1b
blob - ad2110a312e3045a0b939a3c2e0caf599564d466
blob + a02348f821673a7e3b339a1be454498c83a0cd8b
--- MacOSX/ngircd.pbproj/project.pbxproj
+++ MacOSX/ngircd.pbproj/project.pbxproj
HEADER_SEARCH_PATHS = "";
INSTALL_PATH = "$(HOME)/bin";
LIBRARY_SEARCH_PATHS = "";
- OTHER_CFLAGS = "";
+ OTHER_CFLAGS = "-DLOCALSTATEDIR=\\\\\\\"/usr/local/var\\\\\\\" -DSYSCONFDIR=\\\\\\\"/usr/local/etc\\\\\\\"";
OTHER_LDFLAGS = "";
OTHER_REZFLAGS = "";
PRODUCT_NAME = ngircd;
blob - 950d260daf1139a693789190f6d2d7cafc3ddb94
blob + 7739cf36eed5ce1e772a6d9b558e2f3cac19b21e
--- src/ngircd/conf.c
+++ src/ngircd/conf.c
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
*
- * $Id: conf.c,v 1.15 2002/03/06 15:35:19 alex Exp $
+ * $Id: conf.c,v 1.16 2002/03/10 17:50:48 alex Exp $
*
* conf.h: Konfiguration des ngircd
*
* $Log: conf.c,v $
+ * Revision 1.16 2002/03/10 17:50:48 alex
+ * - Handling von "--version" und "--help" nochmal geaendert ...
+ *
* Revision 1.15 2002/03/06 15:35:19 alex
* - Dateinamen und Pfad sind nun in Konstanten definiert.
*
strcpy( Conf_Server[Conf_Server_Count].name, "" );
strcpy( Conf_Server[Conf_Server_Count].pwd, "" );
Conf_Server[Conf_Server_Count].port = 0;
+ Conf_Server[Conf_Server_Count].group = -1;
Conf_Server[Conf_Server_Count].lasttry = time( NULL ) - Conf_ConnectRetry + STARTUP_DELAY;
Conf_Server[Conf_Server_Count].res_stat = NULL;
Conf_Server_Count++;
GLOBAL VOID Handle_SERVER( INT Line, CHAR *Var, CHAR *Arg )
{
- INT port;
+ INT32 port;
assert( Line > 0 );
assert( Var != NULL );
{
/* Port, zu dem Verbunden werden soll */
port = atol( Arg );
- if( port > 0 && port < 0xFFFF ) Conf_Server[Conf_Server_Count - 1].port = port;
+ if( port > 0 && port < 0xFFFF ) Conf_Server[Conf_Server_Count - 1].port = (INT)port;
else Log( LOG_ERR, "%s, line %d (section \"Server\"): Illegal port number %ld!", Conf_File, Line, port );
return;
}
+ if( strcasecmp( Var, "Group" ) == 0 )
+ {
+ /* Server-Gruppe */
+ Conf_Server[Conf_Server_Count - 1].group = atoi( Arg );
+ return;
+ }
Log( LOG_ERR, "%s, line %d (section \"Server\"): Unknown variable \"%s\"!", Conf_File, Line, Var );
} /* Handle_SERVER */
blob - 0dbcc3fbfa0dd713a086ccd5db6106667dff9bdd
blob + 3e507b39db1bd655c8a7f67d9ccccf59fdbcaab3
--- src/ngircd/conf.h
+++ src/ngircd/conf.h
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
*
- * $Id: conf.h,v 1.10 2002/02/27 23:23:53 alex Exp $
+ * $Id: conf.h,v 1.11 2002/03/10 17:50:48 alex Exp $
*
* conf.h: Konfiguration des ngircd (Header)
*
* $Log: conf.h,v $
+ * Revision 1.11 2002/03/10 17:50:48 alex
+ * - Handling von "--version" und "--help" nochmal geaendert ...
+ *
* Revision 1.10 2002/02/27 23:23:53 alex
* - Includes fuer einige Header bereinigt.
*
typedef struct _Conf_Oper
{
- CHAR name[CLIENT_PASS_LEN];
- CHAR pwd[CLIENT_PASS_LEN];
+ CHAR name[CLIENT_PASS_LEN]; /* Name (ID) des IRC-OPs */
+ CHAR pwd[CLIENT_PASS_LEN]; /* Passwort */
} CONF_OPER;
typedef struct _Conf_Server
{
- CHAR host[HOST_LEN];
- CHAR ip[16];
- CHAR name[CLIENT_ID_LEN];
- CHAR pwd[CLIENT_PASS_LEN];
- INT port;
- time_t lasttry;
- RES_STAT *res_stat;
+ CHAR host[HOST_LEN]; /* Hostname */
+ CHAR ip[16]; /* IP-Adresse (von Resolver) */
+ CHAR name[CLIENT_ID_LEN]; /* IRC-Client-ID */
+ CHAR pwd[CLIENT_PASS_LEN]; /* Passwort */
+ INT port; /* Server-Port */
+ INT group; /* Gruppe des Servers */
+ time_t lasttry; /* Letzter Connect-Versuch */
+ RES_STAT *res_stat; /* Status des Resolver */
} CONF_SERVER;
blob - 5c37329f2f0c58016394b261a13a2c420d140fa3
blob + d19e0030fb7eaba342a7f12ec2c8e6e87b0a5928
--- src/ngircd/conn.c
+++ src/ngircd/conn.c
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
*
- * $Id: conn.c,v 1.47 2002/03/04 23:16:23 alex Exp $
+ * $Id: conn.c,v 1.48 2002/03/10 17:50:48 alex Exp $
*
* connect.h: Verwaltung aller Netz-Verbindungen ("connections")
*
* $Log: conn.c,v $
+ * Revision 1.48 2002/03/10 17:50:48 alex
+ * - Handling von "--version" und "--help" nochmal geaendert ...
+ *
* Revision 1.47 2002/03/04 23:16:23 alex
* - Logging geaendert: detaillierter im Syslog, "allgemeiner" fuer Clients.
*
/* Haben wir schon eine Verbindung? */
for( n = 0; n < MAX_CONNECTIONS; n++ )
{
+ /* Verbindung zu diesem Server? */
if(( My_Connections[n].sock != NONE ) && ( My_Connections[n].our_server == i ))
{
/* Komplett aufgebaute Verbindung? */
/* IP schon aufgeloest? */
if( My_Connections[n].res_stat == NULL ) New_Server( i, n );
+ }
+
+ /* Verbindung in dieser Server-Gruppe? */
+ if(( My_Connections[n].sock != NONE ) && ( My_Connections[n].our_server != NONE ))
+ {
+ if( Conf_Server[n].group == Conf_Server[i].group != NONE ) break;
}
}
if( n < MAX_CONNECTIONS ) continue;
My_Connections[Idx].rdatalen = 0;
My_Connections[Idx].wbuf[0] = '\0';
My_Connections[Idx].wdatalen = 0;
- My_Connections[Idx].our_server = -1;
+ My_Connections[Idx].our_server = NONE;
My_Connections[Idx].lastdata = time( NULL );
My_Connections[Idx].lastping = 0;
My_Connections[Idx].lastprivmsg = time( NULL );
blob - 4dd9b6a28d9798c1d0978f560503adcc358fc3dd
blob + 113cecabf848cda2246ff08c278fd69c7b50edda
--- src/ngircd/ngircd.c
+++ src/ngircd/ngircd.c
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
*
- * $Id: ngircd.c,v 1.30 2002/03/10 17:45:41 alex Exp $
+ * $Id: ngircd.c,v 1.31 2002/03/10 17:50:48 alex Exp $
*
* ngircd.c: Hier beginnt alles ;-)
*
* $Log: ngircd.c,v $
+ * Revision 1.31 2002/03/10 17:50:48 alex
+ * - Handling von "--version" und "--help" nochmal geaendert ...
+ *
* Revision 1.30 2002/03/10 17:45:41 alex
* - bei "ngircd --version" werden nun die eincompilierten Pfade angezeigt.
*
#endif
if( strcmp( argv[i], "--version" ) == 0 )
{
- Show_Version( ); puts( "" );
+ Show_Version( );
exit( 1 );
}
}
puts( "Copyright (c)2001,2002 by Alexander Barton (alex@barton.de).\n" );
puts( "This is free software; see the source for copying conditions. There is NO" );
puts( "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." );
- puts( "\nCompile-time defaults:\n" );
- puts( " - configuration: "CONFIG_FILE );
- puts( " - MOTD file: "MOTD_FILE );
- puts( " - server error log: "ERROR_FILE );
} /* Show_Version */
LOCAL VOID Show_Help( VOID )
{
+ puts( "Compile-time defaults:\n" );
+ puts( " - configuration: "CONFIG_FILE );
+ puts( " - MOTD file: "MOTD_FILE );
+ puts( " - server error log: "ERROR_FILE"\n" );
+ puts( "Run-time options:\n" );
#ifdef DEBUG
puts( " -d, --debug log extra debug messages" );
#endif