Florian Westphal
cf7e19193b
do not add default listening port if ssl ports were specified
...
Cosmo Kastemaa reported that its impossible to create an ssl-only setup,
as ngircd binds to port 6667 by default, even if setting "Ports =".
Only add the default port if _both_ "Ports" and "SSLPorts" are
unspecified.
Fixes bugzilla #98 .
2009-08-31 22:08:35 +02:00
Alexander Barton
63cbc6cd42
Fix return code of Conf_EnableServer()
...
Conf_EnableServer() only reports success if all required variables,
including host name and port, are set for the specific server.
2009-07-17 14:55:30 +02:00
Florian Westphal
ea041b8838
add const qualifier to pointers where possible
2009-04-21 20:58:23 +02:00
Florian Westphal
2d4361d088
allow creation of persistent modeless channels
2009-03-07 00:21:43 +01:00
Alexander Barton
c5000694d1
Support individual channel keys for pre-defined channels.
...
This patch introduces the new configuration variable "KeyFile" for
[Channel] sections in ngircd.conf. Here a file can be configured for each
pre-defined channel which contains individual channel keys for different
users. This file is line-based and must have the following syntax:
<user>:<nick>:<key>
<user> and <nick> can contain the wildcard character "*".
Please not that these channel keys are only in effect, when the channel
has a regular key set using channel mode "k"!
2009-01-20 17:20:30 +01:00
Alexander Barton
0e4e22a7a6
Allow pre-defined server local channels ("&").
2008-12-30 19:23:03 +01:00
Florian Westphal
a971047bc5
Remove limit on max number of predefined channels.
...
This resolves Bugzilla Bug 68 ('Too many pre-defined channels configured.')
2008-12-26 01:07:56 +01:00
Alexander Barton
4c113d8850
New configuration option "NoIdent" to disable IDENT lookups
...
The new configuration option "NoIdent" in ngircd.conf can be used to
disable IDENT lookups even when the ngIRCd daemon is compiled with IDENT
lookups enabled.
2008-11-19 19:11:39 +01:00
Alexander Barton
02d7623074
Allow ngIRCd to detect services connected to an "virtual services server".
...
Introduce a new configuration variable "ServiceMask" in SERVER blocks to
define a mask matching nick names that should be treated as services.
Regular servers don't need this parameter (leave it empty, the default),
but you should set it to "*Serv" when connection ircservices, for example.
This patch allows ngIRCd to detect services, it doesn't change the
functionality: you only get different log messages ;-)
2008-09-23 11:51:16 +02:00
Florian Westphal
ef3327d372
TLS/SSL support: code changes.
...
This adds the required code to enable ssl/tls support
during compile and run time, respectively.
2008-09-13 15:10:32 +02:00
Alexander Barton
6f7b669bec
--configtest: return non-zero exit code if there are errors
2008-05-28 00:31:20 +02:00
Florian Westphal
e19f7a8c19
Remove ListenIPv4/ListenIPv6 options.
...
Use "Listen = list,of,addresses" instead.
2008-05-19 14:34:48 +02:00
Florian Westphal
4ed2cb1a02
make Listen parameter a comma-seperated list of addresses.
...
this also obsoletes ListenIPv4 and ListenIPv6 options.
If Listen is unset, it is treated as Listen="::,0.0.0.0".
Note: ListenIPv4 and ListenIPv6 options are still recognized,
but ngircd will print a warning if they are used in the config file.
Also, some plattforms require that ai_socktype
is set in the getaddrinfo() hints structure.
2008-05-19 14:27:35 +02:00
Alexander Barton
4a81367dac
--configtest: fix missing whitespace at "ConnectIPv4" option.
2008-04-29 15:27:44 +02:00
Florian Westphal
22fa782be7
IPv6: Add config options to disabe ipv4/ipv6 support.
...
This also enables ipv6-only setups.
2008-04-21 00:45:19 +02:00
Florian Westphal
abb1abeb77
Do not exit unconditionally if config file cannot be opened
...
ngircd will exit if the config file cannot be opened. While
thats okay if ngircd starts up for the first time, it isn't
when we are re-reading the config file after a /REHASH or SIGHUP.
2008-03-26 21:31:13 +01:00
Florian Westphal
feb31e4200
IPv6 support.
...
all references to struct sockaddr/in_addr have been
removed from src/ngircd.
libngipaddr (in src/ipaddr/) hides all the gory details.
See src/ipaddr/ng_ipaddr.h for API description.
2008-02-26 23:50:35 +01:00
Florian Westphal
82d32ffb28
bind ListenAddress for outgoing connections
...
ngircd would always use INADDR_ANY for outgoing connections;
which might not be desirable. Added new [Server] option
"Bind" to set source ip.
2007-11-23 16:26:03 +00:00
Alexander Barton
47ca178a21
Introduce option to configure the maximum nick name lenth in ngircd.conf
...
- New configuration option "MaxNickLength" to specify the allowed maximum
length of user nick names. Note: must be unique in an IRC network!
- Enhanced the IRC+ protocol to support an enhanced "server handshake" and
enable server to recognice numeric 005 (ISUPPORT) and 376 (ENDOFMOTD).
See doc/Protocol.txt for details.
2007-11-21 12:16:33 +00:00
Florian Westphal
001c00b273
New config option NoDNS: disables all DNS queries.
2007-10-25 11:01:19 +00:00
Florian Westphal
b861f536b2
configtest would still print "-1" for MaxConnections, MaxConnectionsIP and MaxJoins
...
if any of those values was set to 0.
2007-10-24 00:48:41 +00:00
Florian Westphal
d223b587e4
accoring to comments in the code, MaxConnections, MaxConnectionsIP and MaxJoins
...
options allow setting values < 0 -- this isn't the case. Comments adjusted.
2007-10-13 19:11:06 +00:00
Florian Westphal
2275add327
Add new server config option to disable automatic connect. (Tassilo Schweyer)
2007-06-28 05:15:12 +00:00
Florian Westphal
1b852fce72
add support for predefined-channel configuration of k and l modes
2006-12-29 14:09:48 +00:00
Florian Westphal
a09034563a
predefined channels MUST start with '#', but this is not very intuitive,
...
since # is also used as a comment character in ngircd.conf. Thus
we prefix the name with '#' if it is missing.
2006-11-20 19:32:07 +00:00
Alexander Barton
5b35b101f2
Fixed validation of server names containing digits.
2006-11-10 10:05:00 +00:00
Florian Westphal
058d3085a9
New configuration option "PredefChannelsOnly": if set, make
...
all JOINs to-non existants channel return ERR_BANNEDFROMCHAN_MSG,
restricting users to those channels defined in the config file.
2006-11-05 13:03:46 +00:00
Alexander Barton
4e02bdc322
Update info text of local server after re-reading configuration.
2006-10-03 10:59:40 +00:00
Alexander Barton
f1f94f07e1
Validate "ServerName" variable.
2006-07-23 16:42:45 +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
a17745d6d7
Make connid same as connection fd.
2006-02-08 15:20:21 +00:00
Alexander Barton
0570e13cac
Minor whitespace fixes.
2005-11-21 16:31:30 +00:00
Alexander Barton
bc09a3e487
Changed Handle_Write() to not close sockets itself but to call Conn_Close.
2005-10-11 19:29:23 +00:00
Alexander Barton
ff218617db
gcc 4: "warning: declaration of 'dup' shadows a global declaration".
2005-09-24 17:06:54 +00:00
Florian Westphal
0aae3ec5d7
Mostly formatting; changes needed for SSL merge
2005-09-10 23:42:12 +00:00
Florian Westphal
dd3d2e2c39
Complain if MyPassword starts with ':'. (Reported by Ben Korvemaker)
2005-09-02 13:58:52 +00:00
Florian Westphal
9275dc4dc4
reformatted Handle_SERVER()
2005-09-02 13:50:52 +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
51ccb5928a
internal changes needed for future ssl support
2005-07-29 09:29:47 +00:00
Florian Westphal
84706af7fe
topic no longer limited to 127 chars (now only limited by protocol)
2005-07-28 16:23:55 +00:00
Florian Westphal
987559e46d
change Handle_OPERATOR() formatting
2005-07-17 18:58:04 +00:00
Florian Westphal
70facb7f6e
made a few config options unsigned.
2005-07-11 14:11:35 +00:00
Florian Westphal
579fce1831
remove FD_SETSIZE check (now in io_* functions)
2005-07-07 18:46:46 +00:00
Florian Westphal
aec535c8b6
s/sprintf/snprintf
2005-06-17 19:16:53 +00:00
Florian Westphal
77faf14b29
use strdup() to add oper hostname mask.
2005-04-16 09:23:01 +00:00
Alexander Barton
f6df13d5f8
When validationg the configuration file wait for a keypress only if both
...
stdin and(!) stdout are valid tty's.
2005-03-22 18:57:08 +00:00
Florian Westphal
49f5a4d454
Conf_Test(): check if stdin (and not stdout...) is connected to a terminal.
2005-03-20 15:00:25 +00:00
Florian Westphal
326607eea1
changed type of Conf_ListenPorts[] from "unsigned int" to UINT16.
2005-03-20 13:54:06 +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
Florian Westphal
27d93d7d8c
fix Config_Error_NaN prototype (first argument missed "const")
2005-03-19 15:46:38 +00:00
Alexander Barton
1d08d51e2e
New configuration option "OperServerMode".
2005-03-15 16:56:16 +00:00
Alexander Barton
490c9d04d7
New configuration option "Mask" for [Operator] sections to limit OPER command.
2005-03-02 16:07:30 +00:00
Alexander Barton
112102b10c
New configuration variable "PidFile", section "[Global]": if defined,
...
the server writes its process ID (PID) to this file. Default: off.
Idea by Florian Westphal, <westphal@foo.fh-furtwangen.de>.
2005-02-04 14:24:20 +00:00
Alexander Barton
a6d7fb8739
Code cleanups from Florian Westphal, <westphal@foo.fh-furtwangen.de>:
...
wrote functions for common error messages.
2005-01-20 00:13:08 +00:00
Alexander Barton
c1f32e8214
Made ngIRCd compile on HP/UX 10.20 with native HP pre-ANSI C compiler and
...
most probably other older C compilers on other systems.
2004-10-20 13:47:32 +00:00
Alexander Barton
1e692e5890
Fixed wrong variable names in output of "ngircd --configtest".
2004-09-24 18:00:40 +00:00
Alexander Barton
7281b8dd4d
New "chroot" feature (from Benjamin Pineau), introducing new configuration
...
variables "ChrootDir" and "MotdPhrase".
2004-05-07 11:19:20 +00:00
Alexander Barton
cdb694aeb3
Added #include for strings.h and added some casts to remove compiler warnings.
2004-01-17 03:17:00 +00:00
Alexander Barton
05170bc94c
Fixed error messages related to server name configuration; updated
...
sample configuration file. (from 0.7.x)
2003-12-19 14:32:59 +00:00
Alexander Barton
2981fe9eb7
New configuration option "MaxConnectionsIP".
2003-11-05 21:41:01 +00:00
Alexander Barton
e33ab90379
New configuration option "Listen" to bind the server to a specific ip.
2003-09-11 12:05:28 +00:00
Alexander Barton
e541da2a8f
"ServerName" is checked better now: a dot (".") is required.
2003-04-29 12:36:09 +00:00
Alexander Barton
0e01a37a69
Fixed --configtest: there is no variable "ServerPwd", it's "Password".
2003-04-27 11:46:52 +00:00
Alexander Barton
a061668b1a
Added implicit initialisation of "i" in Conf_GetServer to workaround a egcs
...
2.91.66 bug which claims that this valiable could be used uninitialized.
2003-04-21 11:06:07 +00:00
Alexander Barton
0b91df05e0
Fixed spelling mistake :-)
2003-04-20 23:09:43 +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
02a22611be
Clean up duplicate servers correctly.
2003-03-27 01:21:38 +00:00
Alexander Barton
281f7583f5
- New functions Conf_EnableServer(), Conf_DisableServer() and Conf_AddServer().
...
- Changed "once"-server-config-flag into a generic flag.
2002-12-31 16:12:50 +00:00
Alexander Barton
a2544e496c
- Cleaned up handling of server configuration structures.
2002-12-30 00:01:42 +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
0ced4181b0
- replaced all strncpy()'s and strncat()'s with strlcpy() and strlcat().
2002-12-26 16:25:43 +00:00
Alexander Barton
3c738ed46d
- definition of CONFIG_FILE and MOTD_FILE is now compatible with -Wtraditional.
2002-12-26 13:17:56 +00:00
Alexander Barton
3a811ef563
- Validate_Config(): removed unused variable "i".
2002-12-18 02:53:36 +00:00
Alexander Barton
3e4f58e416
- If Conf_MaxConnections is "ulimited" (<1) it is limited to FD_SETSIZE.
2002-12-18 02:52:51 +00:00
Alexander Barton
b7be46ed8a
- validate Conf_MaxConnections against FD_SETSIZE if available;
...
- fixed up some log messages and enhanced configuration validation.
2002-12-18 02:47:12 +00:00
Alexander Barton
25ca2b3cc5
- removed Conf_MaxPChannels and reverted to old behavior.
2002-12-14 13:36:19 +00:00
Alexander Barton
8b7b23cf8f
- new configuration variables: MaxJoins, MaxPChannels.
2002-12-13 17:32:33 +00:00
Alexander Barton
6725d7893c
- translated file header and comments to english;
...
- new file ident semantics.
2002-12-12 11:26:08 +00:00
Alexander Barton
2e02da291a
- Konfiguration wird nun besser validiert (Laenge, Zahlen).
2002-11-30 22:15:49 +00:00
Alexander Barton
dc8ca3dfaf
- nun ueberfluessige Meldung entfernt.
2002-11-25 01:01:59 +00:00
Alexander Barton
03ec91f943
- bessere Log-Meldungen.
2002-11-22 17:57:40 +00:00
Alexander Barton
b2615bcc76
- Server identifizieren sich nun mit asyncronen Passwoertern.
2002-11-19 12:50:20 +00:00
Alexander Barton
7bbdfb3d84
- anstelle von "ListenPorts" wird nun korrekt "Ports" ausgegeben.
2002-11-18 18:47:42 +00:00
Alexander Barton
ae39724a63
- in ServerUID und ServerGID kann nun jeweils auch der Name (und nicht nur
...
die numerische ID) verwendet werden.
2002-11-08 23:09:26 +00:00
Alexander Barton
0d32a3b4fe
- neue Konfigurationsvariable "MaxConnections".
2002-11-02 22:59:01 +00:00
Alexander Barton
12cad28ee8
- Anpassungen bzw. Fixes fuer "strict RFC"-Mode.
2002-10-21 13:45:07 +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
ec474a4bd2
- "format-string-bugs", die zum Abbruch des Servers fuehrten, behoben.
2002-10-04 11:21:46 +00:00
Alexander Barton
74ff9828de
- kleinere "code cleanups".
2002-10-03 21:49:59 +00:00
Alexander Barton
33bda862da
- Fehler bei Validierung von "AdminInfo2" behoben.
2002-09-19 10:19:12 +00:00
Alexander Barton
b615d12897
- Admin-Info eingebaut (Variablen "AdminInfo1", "AdminInfo2" und "AdminEMail");
...
- Bug bei zu langem Operator-Name behoben.
2002-09-16 09:13:06 +00:00
Alexander Barton
7e1b3b9157
- neue Konfigurationsoption "OperCanUseMode" (Sektion "Global"):
...
ist sie aktiv, koennen IRC-Operatoren immer Channel-Modes setzen.
2002-09-02 14:59:17 +00:00
Alexander Barton
f7327524fc
- Weitere Anpassungen an pre-ANSI-Compiler.
2002-05-30 16:52:20 +00:00
Alexander Barton
c2f60abe55
- Anpassungen an pre-ANSI-Compiler,
...
- Includes aufgeraumt: Header includieren keine anderen mehr.
2002-05-27 13:09:26 +00:00
Alexander Barton
c23535bc96
- bei "--configtest" werden keine leeren Bloecke mehr ausgegeben.
2002-05-22 11:14:36 +00:00
Alexander Barton
040f5422f2
- persistente und vordefinierte Channels implementiert.
2002-05-21 00:10:16 +00:00
Alexander Barton
1c99b8377f
- wenn kein ListenPort definiert ist, so wird nun 6667 als Default verwendet.
2002-03-30 13:08:10 +00:00
Alexander Barton
1c2d0ae5de
- neue Konfigurations-Variablen ServerUID und ServerGID.
2002-03-29 23:33:05 +00:00
Alexander Barton
f86083a057
- neue Funktion Conf_Test() zum Testen der Konfiguration.
...
- Conf_File ist entfallen, ist nun NGIRCd_ConfFile.
2002-03-27 16:39:22 +00:00
Alexander Barton
95a4b1b158
- einige Anpassungen nach Code-Check mit SPLint ;-)
2002-03-25 19:11:01 +00:00
Alexander Barton
281d8e454d
- Default PONG-Timeout auf 20 Sekunden verdoppelt.
2002-03-25 16:14:15 +00:00
Alexander Barton
ca33cbda05
- externe portab-Header werden nicht mehr benoetigt/benutzt, dadurch
...
einige Aenderungen an diversen Source-Dateien und Headern.
- Dateien enthalten keine CVS-History mehr.
2002-03-12 14:37:51 +00:00
Alexander Barton
df09e7afd3
*** empty log message ***
2002-03-10 18:47:02 +00:00
Alexander Barton
d67d94ea04
- Handling von "--version" und "--help" nochmal geaendert ...
2002-03-10 17:50:48 +00:00
Alexander Barton
10aa35cc91
- Dateinamen und Pfad sind nun in Konstanten definiert.
2002-03-06 15:35:19 +00:00
Alexander Barton
10363b398e
- strncpy() und vsnprintf() kopieren nun etwas "optimierter" (1 Byte weniger) :-)
2002-03-03 17:17:01 +00:00
Alexander Barton
6debfc3123
- Server-Verbinungen werden beim Start erst nach kurzer Pause aufgebaut.
2002-01-18 15:51:44 +00:00
Alexander Barton
dbd0a23994
- Fehlermeldungen korrigiert.
2002-01-05 23:26:24 +00:00
Alexander Barton
2e289b5084
- Bug bei Remote-Server-Namen entfernt: diese wurden falsch gekuerzt.
2002-01-05 16:51:49 +00:00
Alexander Barton
ed406b4a93
- das Server-Passwort kann nun konfiguriert werden.
2002-01-03 02:27:20 +00:00
Alexander Barton
21a8a278fb
- Konfigurationsdatei "Samba like" umgestellt.
...
- es koennen nun mehrere Server und Oprtatoren konfiguriert werden.
2002-01-02 02:49:15 +00:00
Alexander Barton
03d971d994
- neue Defines fuer max. Anzahl Server und Operatoren.
2002-01-02 02:44:36 +00:00
Alexander Barton
b20fa7c6e6
- #include's fuer stdlib.h ergaenzt.
2002-01-01 18:25:44 +00:00
Alexander Barton
804b1ec498
- viele neue Befehle (WHOIS, ISON, OPER, DIE, RESTART),
...
- neuen Header "defines.h" mit (fast) allen Konstanten.
- Code Cleanups und viele "kleine" Aenderungen & Bugfixes.
2001-12-31 02:18:51 +00:00
Alexander Barton
9856253dc4
- Unterstuetzung fuer die Konfigurationsdatei eingebaut.
2001-12-30 19:26:11 +00:00
Alexander Barton
574ae82ca4
- MOTD-Datei ist nun konfigurierbar und wird gelesen.
2001-12-26 22:48:53 +00:00
Alexander Barton
08cf560734
- "Code Cleanups".
2001-12-26 14:45:37 +00:00
Alexander Barton
24c766fa55
- erste Konfigurations-Variablen definiert: PING/PONG-Timeout.
2001-12-26 03:19:57 +00:00
Alexander Barton
cbc1e59fb2
- Modul fuer Server-Konfiguration begonnen.
2001-12-12 17:18:20 +00:00