diff options
author | michael <michael@82007160-df01-0410-b94d-b575c5fd34c7> | 2012-11-01 13:16:37 +0000 |
---|---|---|
committer | michael <michael@82007160-df01-0410-b94d-b575c5fd34c7> | 2012-11-01 13:16:37 +0000 |
commit | 206aa6907524c1f834ba23160a033fa6a8e2bb0b (patch) | |
tree | b28e4659a4697bf6ff133f06f6863fbdb20a9a2d /include | |
parent | 66b1fc152776ef824c291307dd7be93c0e2a9ad6 (diff) |
- klines, dlines, xlines, glines and resv now make use of the new database;
also, temporary *lines are now stored, so they're not lost after
restarting the ircd. This also applies to G-lines.
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/trunk@1622 82007160-df01-0410-b94d-b575c5fd34c7
Diffstat (limited to 'include')
-rw-r--r-- | include/conf.h | 11 | ||||
-rw-r--r-- | include/conf_db.h | 15 | ||||
-rw-r--r-- | include/defaults.h | 10 | ||||
-rw-r--r-- | include/resv.h | 2 |
4 files changed, 28 insertions, 10 deletions
diff --git a/include/conf.h b/include/conf.h index 4cb80e7..b6f2a6f 100644 --- a/include/conf.h +++ b/include/conf.h @@ -108,6 +108,7 @@ struct MatchItem int ref_count; /* How many times is this matchitem in use */ int illegal; /* Should it be deleted when possible? */ time_t hold; /* Hold action until this time (calendar time) */ + time_t setat; }; struct AccessItem @@ -128,9 +129,9 @@ struct AccessItem char * passwd; char * spasswd; /* Password to send. */ char * reason; - char * oper_reason; char * user; /* user part of user@host */ time_t hold; /* Hold action until this time (calendar time) */ + time_t setat; struct ConfItem *class_ptr; /* Class of connection */ int aftype; #ifdef HAVE_LIBCRYPTO @@ -229,6 +230,7 @@ struct CidrItem #define CONF_FLAGS_TEMPORARY 0x00008000 #define CONF_FLAGS_EXEMPTRESV 0x00010000 #define CONF_FLAGS_SSL 0x00020000 +#define CONF_FLAGS_MAINCONF 0x00040000 /* Macros for struct AccessItem */ #define IsLimitIp(x) ((x)->flags & CONF_FLAGS_LIMIT_IP) @@ -256,6 +258,9 @@ struct CidrItem #define IsConfSSL(x) ((x)->flags & CONF_FLAGS_SSL) #define SetConfSSL(x) ((x)->flags |= CONF_FLAGS_SSL) #define ClearConfSSL(x) ((x)->flags &= ~CONF_FLAGS_SSL) +#define IsConfMain(x) ((x)->flags & CONF_FLAGS_MAINCONF) +#define SetConfMain(x) ((x)->flags |= CONF_FLAGS_MAINCONF) +#define ClearConfMain(x) ((x)->flags &= ~CONF_FLAGS_MAINCONF) /* shared/cluster server entry types * These defines are used for both shared and cluster. @@ -404,6 +409,7 @@ extern dlink_list class_items; extern dlink_list server_items; extern dlink_list cluster_items; extern dlink_list hub_items; +extern dlink_list xconf_items; extern dlink_list rxconf_items; extern dlink_list rkconf_items; extern dlink_list leaf_items; @@ -456,13 +462,10 @@ extern int remove_conf_line(ConfType, struct Client *, const char *, const char *); extern void add_temp_line(struct ConfItem *); extern void cleanup_tklines(void *); -extern const char *get_conf_name(ConfType); extern int rehash(int); extern int conf_add_server(struct ConfItem *, const char *); extern void conf_add_class_to_conf(struct ConfItem *, const char *); -/* XXX consider moving these into csvlib.h */ -extern void parse_csv_file(FILE *, ConfType); extern int find_and_delete_temporary(const char *, const char *, int); extern const char *get_oper_name(const struct Client *); diff --git a/include/conf_db.h b/include/conf_db.h index 9f0a731..c5dd1b2 100644 --- a/include/conf_db.h +++ b/include/conf_db.h @@ -64,6 +64,17 @@ extern int write_ptr(const void *, struct dbFILE *); extern int read_string(char **, struct dbFILE *); extern int write_string(const char *, struct dbFILE *); +extern void load_kline_database(void); +extern void save_kline_database(void); +extern void load_dline_database(void); +extern void save_dline_database(void); +extern void load_gline_database(void); +extern void save_gline_database(void); +extern void load_xline_database(void); +extern void save_xline_database(void); +extern void load_resv_database(void); +extern void save_resv_database(void); + #define read_buffer(buf,f) (read_db((f),(buf),sizeof(buf)) == sizeof(buf)) #define write_buffer(buf,f) (write_db((f),(buf),sizeof(buf)) == sizeof(buf)) @@ -71,4 +82,8 @@ extern int write_string(const char *, struct dbFILE *); #define write_buflen(buf,len,f) (write_db((f),(buf),(len)) == (len)) #define read_variable(var,f) (read_db((f),&(var),sizeof(var)) == sizeof(var)) #define write_variable(var,f) (write_db((f),&(var),sizeof(var)) == sizeof(var)) + +#define KLINE_DB_VERSION 1 + + #endif diff --git a/include/defaults.h b/include/defaults.h index 038bc87..09c325a 100644 --- a/include/defaults.h +++ b/include/defaults.h @@ -62,11 +62,11 @@ /* files */ #define SPATH SBINPATH "/ircd" /* ircd executable */ #define CPATH ETCPATH "/ircd.conf" /* ircd.conf file */ -#define KPATH ETCPATH "/kline.conf" /* kline file */ -#define CRESVPATH ETCPATH "/cresv.conf" /* channel resvs file */ -#define NRESVPATH ETCPATH "/nresv.conf" /* nick resvs file */ -#define DLPATH ETCPATH "/dline.conf" /* dline file */ -#define XPATH ETCPATH "/xline.conf" /* xline file */ +#define KPATH ETCPATH "/kline.db" /* kline file */ +#define RESVPATH ETCPATH "/resv.db" /* resv file */ +#define DLPATH ETCPATH "/dline.db" /* dline file */ +#define XPATH ETCPATH "/xline.db" /* xline file */ +#define GPATH ETCPATH "/gline.db" /* gline file */ #define MPATH ETCPATH "/ircd.motd" /* MOTD file */ #define LPATH LOGPATH "/ircd.log" /* ircd logfile */ #define PPATH LOCALSTATEDIR "/ircd.pid" /* pid file */ diff --git a/include/resv.h b/include/resv.h index 87bbe85..d40c2ea 100644 --- a/include/resv.h +++ b/include/resv.h @@ -30,7 +30,7 @@ struct ResvChannel dlink_node node; struct ResvChannel *hnext; time_t hold; /* Hold action until this time (calendar time) */ - /* +1 for \0 */ + time_t setat; char name[CHANNELLEN + 1]; char *reason; int conf; /* 1 if set from ircd.conf, 0 if from elsewhere */ |