0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-28 16:34:13 +01:00

Cleanup defaults.h config file.

Clean up spaces/tabs mixing mess (bleh), add some defaults for authd
stuff, and get rid of CHARYBDIS_SOMAXCONN (just define SOMAXCONN if it's
available...).
This commit is contained in:
Elizabeth Myers 2016-04-07 04:47:48 -05:00
parent e791dc6d5e
commit 9057170ce8
6 changed files with 66 additions and 60 deletions

View file

@ -38,6 +38,7 @@
*/ */
#include "authd.h" #include "authd.h"
#include "defaults.h"
#include "provider.h" #include "provider.h"
#include "notice.h" #include "notice.h"
#include "stdinc.h" #include "stdinc.h"
@ -111,7 +112,7 @@ static void initiate_blacklist_dnsquery(struct blacklist *, struct auth_client *
/* Variables */ /* Variables */
static rb_dlink_list blacklist_list = { NULL, NULL, 0 }; static rb_dlink_list blacklist_list = { NULL, NULL, 0 };
static int blacklist_timeout = 15; static int blacklist_timeout = BLACKLIST_TIMEOUT_DEFAULT;
/* private interfaces */ /* private interfaces */

View file

@ -25,6 +25,7 @@
*/ */
#include "stdinc.h" #include "stdinc.h"
#include "defaults.h"
#include "match.h" #include "match.h"
#include "authd.h" #include "authd.h"
#include "notice.h" #include "notice.h"
@ -66,7 +67,7 @@ static void client_fail(struct auth_client *auth, ident_message message);
static void client_success(struct auth_client *auth); static void client_success(struct auth_client *auth);
static char * get_valid_ident(char *buf); static char * get_valid_ident(char *buf);
static int ident_timeout = 5; static int ident_timeout = IDENT_TIMEOUT_DEFAULT;
static bool ident_enable = true; static bool ident_enable = true;

View file

@ -18,8 +18,9 @@
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
*/ */
#include "rb_lib.h"
#include "stdinc.h" #include "stdinc.h"
#include "rb_lib.h"
#include "defaults.h"
#include "setup.h" #include "setup.h"
#include "authd.h" #include "authd.h"
#include "notice.h" #include "notice.h"
@ -94,7 +95,7 @@ static CNCB opm_connected;
static void opm_cancel(struct auth_client *auth); static void opm_cancel(struct auth_client *auth);
static bool create_listener(const char *ip, uint16_t port); static bool create_listener(const char *ip, uint16_t port);
static int opm_timeout = 10; static int opm_timeout = OPM_TIMEOUT_DEFAULT;
static bool opm_enable = false; static bool opm_enable = false;
#define LISTEN_IPV4 0 #define LISTEN_IPV4 0

View file

@ -52,7 +52,7 @@ static void client_fail(struct auth_client *auth, dns_message message);
static void client_success(struct auth_client *auth); static void client_success(struct auth_client *auth);
static void dns_answer_callback(const char *res, bool status, query_type type, void *data); static void dns_answer_callback(const char *res, bool status, query_type type, void *data);
static int rdns_timeout = 15; static int rdns_timeout = RDNS_TIMEOUT_DEFAULT;
static void static void
dns_answer_callback(const char *res, bool status, query_type type, void *data) dns_answer_callback(const char *res, bool status, query_type type, void *data)

View file

@ -32,10 +32,7 @@
#include "setup.h" #include "setup.h"
/* /* Below are the elements for default paths. */
* First, set other fd limits based on values from user
*/
typedef enum { typedef enum {
IRCD_PATH_PREFIX, IRCD_PATH_PREFIX,
IRCD_PATH_MODULES, IRCD_PATH_MODULES,
@ -58,35 +55,42 @@ typedef enum {
extern const char *ircd_paths[IRCD_PATH_COUNT]; extern const char *ircd_paths[IRCD_PATH_COUNT];
#define MAXCONNECTIONS 65535 /* default max connections if getrlimit doesn't work */ /* The below are used as defaults if not found in the configuration file (or on ircd warm-up).
* Don't change these - edit the conf file instead.
*/
#define MAXCONNECTIONS 65535 /* default max connections if getrlimit doesn't work */
/* class {} default values */ /* class {} default values */
#define DEFAULT_SENDQ 20000000 /* default max SendQ */ #define DEFAULT_SENDQ 20000000 /* default max SendQ */
#define PORTNUM 6667 /* default outgoing portnum */ #define PORTNUM 6667 /* default outgoing portnum */
#define DEFAULT_PINGFREQUENCY 120 /* Default ping frequency */ #define DEFAULT_PINGFREQUENCY 120 /* Default ping frequency */
#define DEFAULT_CONNECTFREQUENCY 600 /* Default connect frequency */ #define DEFAULT_CONNECTFREQUENCY 600 /* Default connect frequency */
#define TS_MAX_DELTA_MIN 10 /* min value for ts_max_delta */ #define TS_MAX_DELTA_MIN 10 /* min value for ts_max_delta */
#define TS_MAX_DELTA_DEFAULT 600 /* default for ts_max_delta */ #define TS_MAX_DELTA_DEFAULT 600 /* default for ts_max_delta */
#define TS_WARN_DELTA_MIN 10 /* min value for ts_warn_delta */ #define TS_WARN_DELTA_MIN 10 /* min value for ts_warn_delta */
#define TS_WARN_DELTA_DEFAULT 30 /* default for ts_warn_delta */ #define TS_WARN_DELTA_DEFAULT 30 /* default for ts_warn_delta */
/* ServerInfo default values */ /* ServerInfo default values */
#define NETWORK_NAME_DEFAULT "EFnet" /* default for network_name */ #define NETWORK_NAME_DEFAULT "DefaultNet" /* default for network_name */
/* General defaults */ /* General defaults */
#define CLIENT_FLOOD_DEFAULT 20 /* default for client_flood */ #define CLIENT_FLOOD_DEFAULT 20 /* default for client_flood */
#define CLIENT_FLOOD_MAX 2000 #define CLIENT_FLOOD_MAX 2000
#define CLIENT_FLOOD_MIN 10 #define CLIENT_FLOOD_MIN 10
#define LINKS_DELAY_DEFAULT 300 #define LINKS_DELAY_DEFAULT 300
#define MAX_TARGETS_DEFAULT 4 /* default for max_targets */ #define MAX_TARGETS_DEFAULT 4 /* default for max_targets */
#define IDENT_TIMEOUT_DEFAULT 5 #define IDENT_TIMEOUT_DEFAULT 5
#define MIN_JOIN_LEAVE_TIME 60 #define BLACKLIST_TIMEOUT_DEFAULT 10
#define MAX_JOIN_LEAVE_COUNT 25 #define OPM_TIMEOUT_DEFAULT 10
#define OPER_SPAM_COUNTDOWN 5 #define RDNS_TIMEOUT_DEFAULT 5
#define JOIN_LEAVE_COUNT_EXPIRE_TIME 120 #define MIN_JOIN_LEAVE_TIME 60
#define MIN_SPAM_NUM 5 #define MAX_JOIN_LEAVE_COUNT 25
#define MIN_SPAM_TIME 60 #define OPER_SPAM_COUNTDOWN 5
#define JOIN_LEAVE_COUNT_EXPIRE_TIME 120
#define MIN_SPAM_NUM 5
#define MIN_SPAM_TIME 60
/* /*
* Directory paths and filenames for UNIX systems. * Directory paths and filenames for UNIX systems.
* IRCD_PREFIX is set using ./configure --prefix, see INSTALL. * IRCD_PREFIX is set using ./configure --prefix, see INSTALL.
* Do not change these without corresponding changes in the build system.
* *
* IRCD_PREFIX = prefix for all directories, * IRCD_PREFIX = prefix for all directories,
* DPATH = root directory of installation, * DPATH = root directory of installation,
@ -97,21 +101,25 @@ extern const char *ircd_paths[IRCD_PATH_COUNT];
* AUTOMODPATH = directory for autoloaded modules * AUTOMODPATH = directory for autoloaded modules
*/ */
#define DPATH IRCD_PREFIX #define DPATH IRCD_PREFIX
#define BINPATH IRCD_PREFIX "/bin/" #define BINPATH IRCD_PREFIX "/bin/"
#define MODPATH MODULE_DIR #define MODPATH MODULE_DIR
#define AUTOMODPATH MODULE_DIR "/autoload/" #define AUTOMODPATH MODULE_DIR "/autoload/"
#define ETCPATH ETC_DIR #define ETCPATH ETC_DIR
#define LOGPATH LOG_DIR #define LOGPATH LOG_DIR
#define UHPATH HELP_DIR "/users" #define UHPATH HELP_DIR "/users"
#define HPATH HELP_DIR "/opers" #define HPATH HELP_DIR "/opers"
#define SPATH BINPATH "/" PROGRAM_PREFIX "charybdis" /* ircd executable */ #define SPATH BINPATH "/" PROGRAM_PREFIX "/" BRANDING_NAME /* ircd executable */
#define CPATH ETCPATH "/ircd.conf" /* ircd.conf file */ #define CPATH ETCPATH "/ircd.conf" /* ircd.conf file */
#define MPATH ETCPATH "/ircd.motd" /* MOTD file */ #define MPATH ETCPATH "/ircd.motd" /* MOTD file */
#define LPATH LOGPATH "/ircd.log" /* ircd logfile */ #define LPATH LOGPATH "/ircd.log" /* ircd logfile */
#define PPATH PKGRUNDIR "/ircd.pid" /* pid file */ #define PPATH PKGRUNDIR "/ircd.pid" /* pid file */
#define OPATH ETCPATH "/opers.motd" /* oper MOTD file */ #define OPATH ETCPATH "/opers.motd" /* oper MOTD file */
#define DBPATH PKGLOCALSTATEDIR "/ban.db" /* bandb file */ #define DBPATH PKGLOCALSTATEDIR "/ban.db" /* bandb file */
/* Below are somewhat configurable settings (though it's probably a bad idea
* to blindly mess with them). If in any doubt, leave them alone.
*/
/* HANGONGOODLINK and HANGONRETRYDELAY /* HANGONGOODLINK and HANGONRETRYDELAY
* Often net breaks for a short time and it's useful to try to * Often net breaks for a short time and it's useful to try to
@ -122,25 +130,27 @@ extern const char *ircd_paths[IRCD_PATH_COUNT];
* (HANGONRETRYDELAY). This latter has to be long enough that the * (HANGONRETRYDELAY). This latter has to be long enough that the
* other end of the connection has time to notice it broke too. * other end of the connection has time to notice it broke too.
*/ */
#define HANGONRETRYDELAY 60 /* Recommended value: 30-60 seconds */ #define HANGONRETRYDELAY 60 /* Recommended value: 30-60 seconds */
#define HANGONGOODLINK 3600 /* Recommended value: 30-60 minutes */ #define HANGONGOODLINK 3600 /* Recommended value: 30-60 minutes */
/* KILLCHASETIMELIMIT - /* KILLCHASETIMELIMIT -
* Max time from the nickname change that still causes KILL * Max time from the nickname change that still causes KILL
* automatically to switch for the current nick of that user. (seconds) * automatically to switch for the current nick of that user. (seconds)
*/ */
#define KILLCHASETIMELIMIT 90 /* Recommended value: 90 */ #define KILLCHASETIMELIMIT 90 /* Recommended value: 90 */
/* MAX_BUFFER /* MAX_BUFFER
* The amount of fds to reserve for clients exempt from limits * The amount of fds to reserve for clients exempt from limits
* and dns lookups. * and dns lookups.
*/ */
#define MAX_BUFFER 60 #define MAX_BUFFER 60
/* CHARYBDIS_SOMAXCONN /*
* Use SOMAXCONN if OS has it, otherwise use this value for the * Use SOMAXCONN if OS has it, otherwise use this value for the
* listen(); backlog. 5 for AIX/SUNOS, 25 for other OSs. * listen(); backlog. 5 for AIX/SUNOS, 25 for other OSs.
*/ */
#define CHARYBDIS_SOMAXCONN 25 #ifndef SOMAXCONN
# define SOMAXCONN 25
#endif
#endif /* INCLUDED_defaults_h */ #endif /* INCLUDED_defaults_h */

View file

@ -153,14 +153,7 @@ show_ports(struct Client *source_p)
* inetport - create a listener socket in the AF_INET or AF_INET6 domain, * inetport - create a listener socket in the AF_INET or AF_INET6 domain,
* bind it to the port given in 'port' and listen to it * bind it to the port given in 'port' and listen to it
* returns true (1) if successful false (0) on error. * returns true (1) if successful false (0) on error.
*
* If the operating system has a define for SOMAXCONN, use it, otherwise
* use CHARYBDIS_SOMAXCONN
*/ */
#ifdef SOMAXCONN
#undef CHARYBDIS_SOMAXCONN
#define CHARYBDIS_SOMAXCONN SOMAXCONN
#endif
static int static int
inetport(struct Listener *listener) inetport(struct Listener *listener)
@ -247,7 +240,7 @@ inetport(struct Listener *listener)
return 0; return 0;
} }
if(rb_listen(F, CHARYBDIS_SOMAXCONN, listener->defer_accept)) if(rb_listen(F, SOMAXCONN, listener->defer_accept))
{ {
errstr = strerror(rb_get_sockerr(F)); errstr = strerror(rb_get_sockerr(F));
sendto_realops_snomask(SNO_GENERAL, L_ALL, sendto_realops_snomask(SNO_GENERAL, L_ALL,