| 67 |
|
GLINE_TYPE, |
| 68 |
|
CRESV_TYPE, |
| 69 |
|
NRESV_TYPE, |
| 70 |
– |
GDENY_TYPE, |
| 70 |
|
SERVICE_TYPE |
| 71 |
|
} ConfType; |
| 72 |
|
|
| 108 |
|
int ref_count; /* How many times is this matchitem in use */ |
| 109 |
|
int illegal; /* Should it be deleted when possible? */ |
| 110 |
|
time_t hold; /* Hold action until this time (calendar time) */ |
| 111 |
+ |
time_t setat; |
| 112 |
|
}; |
| 113 |
|
|
| 114 |
|
struct AccessItem |
| 129 |
|
char * passwd; |
| 130 |
|
char * spasswd; /* Password to send. */ |
| 131 |
|
char * reason; |
| 132 |
– |
char * oper_reason; |
| 132 |
|
char * user; /* user part of user@host */ |
| 133 |
|
time_t hold; /* Hold action until this time (calendar time) */ |
| 134 |
+ |
time_t setat; |
| 135 |
|
struct ConfItem *class_ptr; /* Class of connection */ |
| 136 |
|
int aftype; |
| 137 |
|
#ifdef HAVE_LIBCRYPTO |
| 151 |
|
dlink_list list_ipv4; /* base of per cidr ipv4 client link list */ |
| 152 |
|
dlink_list list_ipv6; /* base of per cidr ipv6 client link list */ |
| 153 |
|
unsigned int max_sendq; |
| 154 |
+ |
unsigned int max_recvq; |
| 155 |
|
int con_freq; |
| 156 |
|
int ping_freq; |
| 157 |
|
int ping_warning; |
| 228 |
|
#define CONF_FLAGS_ALLOW_AUTO_CONN 0x00002000 |
| 229 |
|
#define CONF_FLAGS_ENCRYPTED 0x00004000 |
| 230 |
|
#define CONF_FLAGS_TEMPORARY 0x00008000 |
| 231 |
< |
#define CONF_FLAGS_BURST_AWAY 0x00010000 |
| 232 |
< |
#define CONF_FLAGS_EXEMPTRESV 0x00020000 |
| 233 |
< |
#define CONF_FLAGS_TOPICBURST 0x00040000 |
| 233 |
< |
#define CONF_FLAGS_SSL 0x00080000 |
| 231 |
> |
#define CONF_FLAGS_EXEMPTRESV 0x00010000 |
| 232 |
> |
#define CONF_FLAGS_SSL 0x00020000 |
| 233 |
> |
#define CONF_FLAGS_MAINCONF 0x00040000 |
| 234 |
|
|
| 235 |
|
/* Macros for struct AccessItem */ |
| 236 |
|
#define IsLimitIp(x) ((x)->flags & CONF_FLAGS_LIMIT_IP) |
| 255 |
|
#define IsConfTemporary(x) ((x)->flags & CONF_FLAGS_TEMPORARY) |
| 256 |
|
#define SetConfTemporary(x) ((x)->flags |= CONF_FLAGS_TEMPORARY) |
| 257 |
|
#define IsConfRedir(x) ((x)->flags & CONF_FLAGS_REDIR) |
| 258 |
– |
#define IsConfAwayBurst(x) ((x)->flags & CONF_FLAGS_BURST_AWAY) |
| 259 |
– |
#define SetConfAwayBurst(x) ((x)->flags |= CONF_FLAGS_BURST_AWAY) |
| 260 |
– |
#define ClearConfAwayBurst(x) ((x)->flags &= ~CONF_FLAGS_BURST_AWAY) |
| 261 |
– |
#define IsConfTopicBurst(x) ((x)->flags & CONF_FLAGS_TOPICBURST) |
| 262 |
– |
#define SetConfTopicBurst(x) ((x)->flags |= CONF_FLAGS_TOPICBURST) |
| 263 |
– |
#define ClearConfTopicBurst(x) ((x)->flags &= ~CONF_FLAGS_TOPICBURST) |
| 258 |
|
#define IsConfSSL(x) ((x)->flags & CONF_FLAGS_SSL) |
| 259 |
|
#define SetConfSSL(x) ((x)->flags |= CONF_FLAGS_SSL) |
| 260 |
|
#define ClearConfSSL(x) ((x)->flags &= ~CONF_FLAGS_SSL) |
| 261 |
+ |
#define IsConfMain(x) ((x)->flags & CONF_FLAGS_MAINCONF) |
| 262 |
+ |
#define SetConfMain(x) ((x)->flags |= CONF_FLAGS_MAINCONF) |
| 263 |
+ |
#define ClearConfMain(x) ((x)->flags &= ~CONF_FLAGS_MAINCONF) |
| 264 |
|
|
| 265 |
|
/* shared/cluster server entry types |
| 266 |
|
* These defines are used for both shared and cluster. |
| 279 |
|
SHARED_RESV | SHARED_UNRESV |\ |
| 280 |
|
SHARED_LOCOPS | SHARED_DLINE | SHARED_UNDLINE) |
| 281 |
|
|
| 285 |
– |
/* gline acl entry actions */ |
| 286 |
– |
#define GDENY_BLOCK 0x1 |
| 287 |
– |
#define GDENY_REJECT 0x2 |
| 288 |
– |
|
| 282 |
|
struct config_file_entry |
| 283 |
|
{ |
| 284 |
|
const char *dpath; /* DPATH if set from command line */ |
| 285 |
|
const char *configfile; |
| 286 |
|
const char *klinefile; |
| 287 |
|
const char *xlinefile; |
| 295 |
– |
const char *rxlinefile; |
| 296 |
– |
const char *rklinefile; |
| 288 |
|
const char *dlinefile; |
| 298 |
– |
const char *glinefile; |
| 289 |
|
const char *cresvfile; |
| 290 |
|
const char *nresvfile; |
| 291 |
|
|
| 307 |
|
int ts_max_delta; |
| 308 |
|
int ts_warn_delta; |
| 309 |
|
int anti_nick_flood; |
| 320 |
– |
int kline_with_reason; |
| 310 |
|
int warn_no_nline; |
| 311 |
|
int invisible_on_connect; |
| 312 |
|
int stats_e_disabled; |
| 320 |
|
int oper_pass_resv; |
| 321 |
|
int glines; |
| 322 |
|
int hide_spoof_ips; |
| 334 |
– |
int burst_away; |
| 335 |
– |
int use_whois_actually; |
| 323 |
|
int tkline_expire_notices; |
| 324 |
|
int opers_bypass_callerid; |
| 325 |
|
int ignore_bogus_ts; |
| 339 |
– |
char *kline_reason; |
| 326 |
|
int pace_wait; |
| 327 |
|
int pace_wait_simple; |
| 328 |
|
int gline_time; |
| 329 |
< |
int gline_logging; |
| 329 |
> |
int gline_request_time; |
| 330 |
|
int oper_only_umodes; |
| 331 |
|
int oper_umodes; |
| 332 |
|
int max_targets; |
| 335 |
|
int min_nonwildcard_simple; |
| 336 |
|
int kill_chase_time_limit; |
| 337 |
|
int default_floodcount; |
| 352 |
– |
int client_flood; |
| 338 |
|
/* 0 == don't use throttle... */ |
| 339 |
|
int throttle_time; |
| 340 |
|
int use_egd; |
| 347 |
|
{ |
| 348 |
|
int disable_fake_channels; |
| 349 |
|
int restrict_channels; |
| 365 |
– |
int disable_local_channels; |
| 366 |
– |
int use_except; |
| 367 |
– |
int use_invex; |
| 368 |
– |
int use_knock; |
| 350 |
|
int knock_delay; |
| 351 |
|
int knock_delay_channel; |
| 352 |
|
unsigned int max_bans; |
| 367 |
|
int links_delay; |
| 368 |
|
int links_disabled; |
| 369 |
|
int hidden; |
| 389 |
– |
int disable_hidden; |
| 370 |
|
int hide_server_ips; |
| 371 |
|
}; |
| 372 |
|
|
| 405 |
|
unsigned int use_logging; |
| 406 |
|
}; |
| 407 |
|
|
| 428 |
– |
extern dlink_list gdeny_items; |
| 408 |
|
extern dlink_list class_items; |
| 409 |
|
extern dlink_list server_items; |
| 410 |
|
extern dlink_list cluster_items; |
| 411 |
|
extern dlink_list hub_items; |
| 412 |
+ |
extern dlink_list xconf_items; |
| 413 |
|
extern dlink_list rxconf_items; |
| 414 |
|
extern dlink_list rkconf_items; |
| 415 |
|
extern dlink_list leaf_items; |
| 416 |
|
extern dlink_list service_items; |
| 437 |
– |
extern dlink_list temporary_xlines; |
| 417 |
|
extern struct logging_entry ConfigLoggingEntry; |
| 418 |
|
extern struct config_file_entry ConfigFileEntry;/* defined in ircd.c*/ |
| 419 |
|
extern struct config_channel_entry ConfigChannel;/* defined in channel.c*/ |
| 424 |
|
/* End GLOBAL section */ |
| 425 |
|
|
| 426 |
|
extern unsigned int get_sendq(struct Client *); |
| 427 |
+ |
extern unsigned int get_recvq(struct Client *); |
| 428 |
|
extern const char *get_client_class(struct Client *); |
| 429 |
|
extern int get_client_ping(struct Client *, int *); |
| 430 |
|
extern void check_class(void); |
| 461 |
|
const char *); |
| 462 |
|
extern void add_temp_line(struct ConfItem *); |
| 463 |
|
extern void cleanup_tklines(void *); |
| 484 |
– |
extern const char *get_conf_name(ConfType); |
| 464 |
|
extern int rehash(int); |
| 465 |
|
extern int conf_add_server(struct ConfItem *, const char *); |
| 466 |
|
extern void conf_add_class_to_conf(struct ConfItem *, const char *); |
| 467 |
|
|
| 489 |
– |
/* XXX consider moving these into csvlib.h */ |
| 490 |
– |
extern void parse_csv_file(FILE *, ConfType); |
| 491 |
– |
extern int find_and_delete_temporary(const char *, const char *, int); |
| 468 |
|
extern const char *get_oper_name(const struct Client *); |
| 469 |
|
|
| 470 |
|
extern void *map_to_conf(struct ConfItem *); |
| 471 |
|
extern struct ConfItem *unmap_conf_item(void *); |
| 472 |
|
/* XXX should the parse_aline stuff go into another file ?? */ |
| 473 |
|
#define AWILD 0x1 /* check wild cards */ |
| 498 |
– |
#define NOUSERLOOKUP 0x2 /* Don't lookup the user@host on /rkline nick */ |
| 474 |
|
extern int parse_aline(const char *, struct Client *, int, char **, |
| 475 |
|
int, char **, char **, time_t *, char **, char **); |
| 476 |
|
extern int valid_comment(struct Client *, char *, int); |