X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/59cfd72e68e7b41c134eb066f1537abf7f57e024..5a3e99829addc0686ce9ddf372a3dc9d28b44269:/include/hostmask.h diff --git a/include/hostmask.h b/include/hostmask.h index 7b2ce435..b8d5feca 100644 --- a/include/hostmask.h +++ b/include/hostmask.h @@ -1,5 +1,5 @@ /* - * charybdis: an advanced Internet Relay Chat Daemon(ircd). + * Solanum: a slightly advanced ircd * hostmask.h: A header for the hostmask code. * * Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center @@ -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 *,