diff options
Diffstat (limited to 'src/protocol')
| -rw-r--r-- | src/protocol/inspircd12.cpp | 10 | ||||
| -rw-r--r-- | src/protocol/inspircd20.cpp | 11 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/protocol/inspircd12.cpp b/src/protocol/inspircd12.cpp index 7f3f4f10c..ffdc12448 100644 --- a/src/protocol/inspircd12.cpp +++ b/src/protocol/inspircd12.cpp @@ -86,7 +86,7 @@ static int has_inviteexceptionmod = 0; static int has_hidechansmod = 0; /* Previously introduced user during burst */ -static User *prev_u_intro; +static User *prev_u_intro = NULL; /* CHGHOST */ @@ -863,12 +863,16 @@ int anope_event_uid(const char *source, int ac, const char **av) ts, htonl(*ad), av[4], av[0]); if (user) { + UserSetInternalModes(user, 1, &av[8]); + user->SetCloakedHost(av[4]); if (user->server->sync == SSYNC_IN_PROGRESS) { prev_u_intro = user; } - UserSetInternalModes(user, 1, &av[8]); - user->SetCloakedHost(av[4]); + else + { + validate_user(user); + } } return MOD_CONT; diff --git a/src/protocol/inspircd20.cpp b/src/protocol/inspircd20.cpp index 12355f4d5..985fb5381 100644 --- a/src/protocol/inspircd20.cpp +++ b/src/protocol/inspircd20.cpp @@ -86,8 +86,7 @@ static int has_inviteexceptionmod = 0; static int has_hidechansmod = 0; /* Previously introduced user during burst */ -static User *prev_u_intro; - +static User *prev_u_intro = NULL; /* CHGHOST */ void inspircd_cmd_chghost(const char *nick, const char *vhost) @@ -863,12 +862,16 @@ int anope_event_uid(const char *source, int ac, const char **av) ts, htonl(*ad), av[4], av[0]); if (user) { + UserSetInternalModes(user, 1, &av[8]); + user->SetCloakedHost(av[4]); if (user->server->sync == SSYNC_IN_PROGRESS) { prev_u_intro = user; } - UserSetInternalModes(user, 1, &av[8]); - user->SetCloakedHost(av[4]); + else + { + validate_user(user); + } } return MOD_CONT; |
