]> jfr.im git - solanum.git/blobdiff - include/hostmask.h
refuse opers setting an invalidly long k-line reason
[solanum.git] / include / hostmask.h
index 2eb2a16d405e9351f588ced6e79d2fb35d883d37..b8d5fecababba84e4bbae53a182664c2225a7602 100644 (file)
@@ -33,6 +33,12 @@ enum
        HM_IPV6,
 };
 
+enum aconf_category
+{
+       AC_CONFIG,
+       AC_BANDB,
+};
+
 int parse_netmask(const char *, struct rb_sockaddr_storage *, int *);
 int parse_netmask_strict(const char *, struct rb_sockaddr_storage *, int *);
 struct ConfItem *find_conf_by_address(const char *host, const char *sockhost,
@@ -40,10 +46,11 @@ struct ConfItem *find_conf_by_address(const char *host, const char *sockhost,
                                      int, int, const char *, const char *);
 struct ConfItem *find_exact_conf_by_address(const char *address, int type,
                                            const char *username);
+struct ConfItem *find_exact_conf_by_address_filtered(const char *address, int type,
+               const char *username, bool (*filter)(struct ConfItem *));
 void add_conf_by_address(const char *, int, const char *, const char *, struct ConfItem *);
 void delete_one_address_conf(const char *, struct ConfItem *);
-void clear_out_address_conf(void);
-void clear_out_address_conf_bans(void);
+void clear_out_address_conf(enum aconf_category);
 void init_host_hash(void);
 struct ConfItem *find_address_conf(const char *host, const char *sockhost,
                                const char *, const char *, struct sockaddr *,