X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/663bbb2836ae406fadd19d8807519f5bb7071a8a..36fb4e9a7743326d1a2ca7601bc9bf1c5b9a0bcb:/include/s_newconf.h diff --git a/include/s_newconf.h b/include/s_newconf.h index 0598343..f71df24 100644 --- a/include/s_newconf.h +++ b/include/s_newconf.h @@ -60,9 +60,6 @@ extern void init_s_newconf(void); extern void clear_s_newconf(void); extern void clear_s_newconf_bans(void); -#define FREE_TARGET(x) ((x)->localClient->targinfo[0]) -#define USED_TARGETS(x) ((x)->localClient->targinfo[1]) - typedef struct { char *ip; @@ -99,10 +96,12 @@ struct remote_conf #define SHARED_TDLINE 0x0800 #define SHARED_PDLINE 0x1000 #define SHARED_UNDLINE 0x2000 +#define SHARED_DIE 0x4000 +#define SHARED_MODULE 0x8000 #define SHARED_ALL (SHARED_TKLINE | SHARED_PKLINE | SHARED_UNKLINE |\ SHARED_PXLINE | SHARED_TXLINE | SHARED_UNXLINE |\ - SHARED_TRESV | SHARED_PRESV | SHARED_UNRESV) + SHARED_TRESV | SHARED_PRESV | SHARED_UNRESV | SHARED_REHASH) #define CLUSTER_ALL (SHARED_ALL | SHARED_LOCOPS) /* flags used in hub/leaf */ @@ -115,12 +114,17 @@ struct oper_conf char *username; char *host; char *passwd; + char *certfp; int flags; int umodes; unsigned int snomask; + char *vhost; + char *swhois; + char *operstring; + struct PrivilegeSet *privset; #ifdef HAVE_LIBCRYPTO @@ -140,31 +144,10 @@ extern void cluster_generic(struct Client *, const char *, int cltype, int cap, const char *format, ...); #define OPER_ENCRYPTED 0x00001 -#define OPER_KLINE 0x00002 -#define OPER_UNKLINE 0x00004 -#define OPER_LOCKILL 0x00008 -#define OPER_GLOBKILL 0x00010 -#define OPER_REMOTE 0x00020 -#define OPER_XLINE 0x00080 -#define OPER_RESV 0x00100 -#define OPER_NICKS 0x00200 -#define OPER_REHASH 0x00400 -#define OPER_DIE 0x00800 -#define OPER_ADMIN 0x01000 -#define OPER_HADMIN 0x02000 -#define OPER_OPERWALL 0x04000 -#define OPER_INVIS 0x08000 -#define OPER_SPY 0x10000 -#define OPER_REMOTEBAN 0x20000 -#define OPER_MASSNOTICE 0x40000 #define OPER_NEEDSSL 0x80000 /* 0x400000 and above are in client.h */ -#define OPER_FLAGS (OPER_KLINE|OPER_UNKLINE|OPER_LOCKILL|OPER_GLOBKILL|\ - OPER_REMOTE|OPER_XLINE|OPER_RESV|\ - OPER_NICKS|OPER_REHASH|OPER_DIE|OPER_ADMIN|\ - OPER_HADMIN|OPER_OPERWALL|OPER_INVIS|OPER_SPY|\ - OPER_REMOTEBAN|OPER_MASSNOTICE) +#define OPER_FLAGS 0 /* no oper privs in Client.flags2/oper_conf.flags currently */ #define IsOperConfEncrypted(x) ((x)->flags & OPER_ENCRYPTED) #define IsOperConfNeedSSL(x) ((x)->flags & OPER_NEEDSSL) @@ -185,6 +168,7 @@ extern void cluster_generic(struct Client *, const char *, int cltype, #define IsOperAdmin(x) (HasPrivilege((x), "oper:admin") || HasPrivilege((x), "oper:hidden_admin")) #define IsOperOperwall(x) (HasPrivilege((x), "oper:operwall")) #define IsOperSpy(x) (HasPrivilege((x), "oper:spy")) +#define IsOperOverride(x) (HasPrivilege((x), "oper:override")) #define IsOperInvis(x) (HasPrivilege((x), "oper:hidden")) #define IsOperRemoteBan(x) (HasPrivilege((x), "oper:remoteban")) #define IsOperMassNotice(x) (HasPrivilege((x), "oper:mass_notice")) @@ -244,6 +228,7 @@ extern void attach_server_conf(struct Client *, struct server_conf *); extern void detach_server_conf(struct Client *); extern void set_server_conf_autoconn(struct Client *source_p, const char *name, int newval); +extern void disable_server_conf_autoconn(const char *name); extern struct ConfItem *find_xline(const char *, int);