summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-10-17 20:24:10 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-10-17 20:24:10 +0000
commitd935d3d1b88c157909702264515cd42d6410793c (patch)
tree76370d0e30aa3211286fa5a7939ecad4b049129b /src
parentb705f7eda60984c6af8b2ed2e2a15cf019d575f8 (diff)
Call I_OnUserConnect and display news before checking if the user should be killed by sessions, sessions checking can delete the user if the IRCd doesn't send QUITs on KILL which could cause a segfault
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2570 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/users.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/users.c b/src/users.c
index 024b062db..33dc560c4 100644
--- a/src/users.c
+++ b/src/users.c
@@ -761,14 +761,14 @@ User *do_nick(const char *source, const char *nick, const char *username, const
if (ircd->szline && ircd->nickip)
check_szline(nick, ipbuf);
- /* Now check for session limits */
- if (LimitSessions && !is_ulined(server))
- add_session(nick, host, ipbuf);
+ FOREACH_MOD(I_OnUserConnect, OnUserConnect(user));
display_news(user, NEWS_LOGON);
display_news(user, NEWS_RANDOM);
- FOREACH_MOD(I_OnUserConnect, OnUserConnect(user));
+ /* Now check for session limits */
+ if (LimitSessions && !is_ulined(server))
+ add_session(nick, host, ipbuf);
} else {
/* An old user changing nicks. */
if (ircd->ts6)