X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fnickserv.h;h=bfe7c0bcacbceb7cdcbac97f70a4cdb51758e890;hb=e7ce029daa935d256520e1a193e4ea4f87d8cad1;hp=93579ff561b4fac4732d5fbb221e49df7f4b17f1;hpb=a1607b87da7b66314f864f272b9806f4b0fe8169;p=srvx.git diff --git a/src/nickserv.h b/src/nickserv.h index 93579ff..bfe7c0b 100644 --- a/src/nickserv.h +++ b/src/nickserv.h @@ -88,6 +88,15 @@ struct handle_note { char note[1]; }; +struct authlogEntry { + unsigned long login_time; + unsigned long logout_time; + const char *hostmask; + const char *quit_reason; + struct userNode *user; + struct authlogEntry *next; +}; + struct handle_info { struct nick_info *nicks; struct string_list *masks; @@ -96,6 +105,7 @@ struct handle_info { struct handle_cookie *cookie; struct handle_note *notes; struct language *language; + struct authlogEntry *authlog; char *website; char *devnull; char *email_addr; @@ -110,6 +120,7 @@ struct handle_info { int karma; unsigned short flags; unsigned short opserv_level; + unsigned short staff_level; unsigned short screen_width; unsigned short table_width; unsigned char userlist_style; @@ -141,11 +152,15 @@ 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); +int staff_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 *checklogin(const char *user, const char *pass, const char *numeric, const char *hostmask, const char *ipmask); char *getfakehost(const char *user); void nickserv_devnull_delete(char *name); void nickserv_devnull_rename(char *oldname, char *newname); +char *generate_fakehost(struct handle_info *handle); +char *generate_fakeident(struct handle_info *handle, struct userNode *user); +void apply_fakehost(struct handle_info *handle, struct userNode *user); /* auth_funcs are called when a user gets a new handle_info. They are * called *after* user->handle_info has been updated. */