summaryrefslogtreecommitdiff
path: root/src/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocol')
-rw-r--r--src/protocol/inspircd12.cpp10
-rw-r--r--src/protocol/inspircd20.cpp11
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;