]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - include/s_newconf.h
Add support for linking using SSL certificate fingerprints as the link credential...
[irc/rqf/shadowircd.git] / include / s_newconf.h
index 916cf77e3a1115f68d07989e81f355cf1f311c70..dde364dd53203ffead03c30f0d272980b4c254bc 100644 (file)
@@ -29,7 +29,6 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: s_newconf.h 1747 2006-07-25 21:22:45Z jilles $
  */
 
 #ifndef INCLUDED_s_newconf_h
@@ -60,9 +59,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 +95,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 +113,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
@@ -164,6 +167,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"))
@@ -183,6 +187,7 @@ struct server_conf
        char *host;
        char *passwd;
        char *spasswd;
+       char *certfp;
        int port;
        int flags;
        int servers;
@@ -223,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);