X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/39edf54ab4431e5f62031fd16dd2cb9b359934e3..3b7fa78b1de8f9ee8718cba3da3b2db522b70620:/src/nickserv.h diff --git a/src/nickserv.h b/src/nickserv.h index 6a3de2f..1268f07 100644 --- a/src/nickserv.h +++ b/src/nickserv.h @@ -5,7 +5,7 @@ * * x3 is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, @@ -104,6 +104,7 @@ struct handle_info { char *fakehost; time_t registered; time_t lastseen; + int karma; unsigned short flags; unsigned short opserv_level; unsigned short screen_width; @@ -178,18 +179,31 @@ struct nickserv_config { unsigned long auto_reclaim_delay; unsigned char default_maxlogins; unsigned char hard_maxlogins; + unsigned long ounregister_inactive; + unsigned long ounregister_flags; const char *auto_oper; const char *auto_admin; char default_style; struct string_list *denied_fakehost_words; + unsigned int force_handles_lowercase; unsigned int ldap_enable; #ifdef WITH_LDAP - const char *ldap_host; - unsigned int ldap_port; + const char *ldap_uri; const char *ldap_base; const char *ldap_dn_fmt; unsigned int ldap_version; unsigned int ldap_autocreate; + + const char *ldap_admin_dn; + const char *ldap_admin_pass; + const char *ldap_field_account; + const char *ldap_field_password; + const char *ldap_field_email; + struct string_list *ldap_object_classes; + const char *ldap_oper_group_dn; + unsigned int ldap_oper_group_level; + const char *ldap_field_group_member; + unsigned int ldap_timeout; #endif }; @@ -197,15 +211,15 @@ void init_nickserv(const char *nick); struct handle_info *get_handle_info(const char *handle); struct handle_info *smart_get_handle_info(struct userNode *service, struct userNode *user, const char *name); int oper_try_set_access(struct userNode *user, struct userNode *bot, struct handle_info *target, unsigned int new_level); -int oper_outranks(struct svccmd *cmd, struct userNode *user, struct handle_info *hi); +int oper_outranks(struct userNode *user, struct handle_info *hi); struct nick_info *get_nick_info(const char *nick); struct modeNode *find_handle_in_channel(struct chanNode *channel, struct handle_info *handle, struct userNode *except); int nickserv_modify_handle_flags(struct userNode *user, struct userNode *bot, const char *str, unsigned long *add, unsigned long *remove); int oper_has_access(struct userNode *user, struct userNode *bot, unsigned int min_level, unsigned int quiet); void nickserv_show_oper_accounts(struct userNode *user, struct svccmd *cmd); -struct handle_info *get_victim_oper(struct svccmd *cmd, struct userNode *user, const char *target); -struct handle_info *loc_auth(char *handle, char *password); +struct handle_info *get_victim_oper(struct userNode *user, const char *target); +struct handle_info *loc_auth(char *handle, char *password, char *userhost); typedef void (*user_mode_func_t)(struct userNode *user, const char *mode_change); void reg_user_mode_func(user_mode_func_t func);