]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/nickserv.h
Fixed irc_topic() to honour server/hidden_host_type and associated config settings
[irc/evilnet/x3.git] / src / nickserv.h
index 821c1a6d5f77b3c43f67b55d6d38564972389157..3676c521b2ef0729a62c4c9fe43fd87f34e587bc 100644 (file)
@@ -92,6 +92,7 @@ struct handle_note {
 struct handle_info {
     struct nick_info *nicks;
     struct string_list *masks;
+    struct string_list *sslfps;
     struct string_list *ignores;
     struct userNode *users;
     struct userData *channels;
@@ -121,6 +122,8 @@ struct nick_info {
     struct handle_info *owner;
     struct nick_info *next; /* next nick owned by same handle */
     char nick[NICKLEN+1];
+    time_t registered;
+    time_t lastseen;
 };
 
 struct handle_info_list {
@@ -150,6 +153,7 @@ struct nickserv_config {
     unsigned int warn_nick_owned : 1;
     unsigned int warn_clone_auth : 1;
     unsigned int sync_log : 1;
+    unsigned int expire_nicks : 1;
     unsigned long nicks_per_handle;
     unsigned long password_min_length;
     unsigned long password_min_digits;
@@ -168,6 +172,8 @@ struct nickserv_config {
     unsigned long set_fakehost_level;
     unsigned long handles_per_email;
     unsigned long email_search_level;
+    unsigned long nick_expire_frequency;
+    unsigned long nick_expire_delay;
     const char *network_name;
     const char *titlehost_suffix;
     regex_t valid_handle_regex;
@@ -223,7 +229,7 @@ int oper_has_access(struct userNode *user, struct userNode *bot, unsigned int mi
 void nickserv_show_oper_accounts(struct userNode *user, struct svccmd *cmd);
 
 struct handle_info *get_victim_oper(struct userNode *user, const char *target);
-struct handle_info *loc_auth(char *handle, char *password, char *userhost);
+struct handle_info *loc_auth(char *sslfp, char *handle, char *password, char *userhost);
 
 typedef void (*user_mode_func_t)(struct userNode *user, const char *mode_change, void *extra);
 void reg_user_mode_func(user_mode_func_t func, void *extra);