diff options
author | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-04-12 19:53:08 +0000 |
---|---|---|
committer | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-04-12 19:53:08 +0000 |
commit | c9b01228636be525045e3a4ca01879bfc701fa5f (patch) | |
tree | dc2e3cae6cb6acaba735e1c3e431869f8d2b9150 /src | |
parent | 3209eb56eea69dc2c68988d438cb946e6593d635 (diff) |
BUILD : 1.7.8 (661) BUGS : 341 342 NOTES : Fixed removing modes when users with insufficient rights entered a channel, and added a check to make sure the guestnick is not in use yet
git-svn-id: svn://svn.anope.org/anope/trunk@661 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@509 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/channels.c | 6 | ||||
-rw-r--r-- | src/nickserv.c | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/src/channels.c b/src/channels.c index bd7477da8..d80a62f4a 100644 --- a/src/channels.c +++ b/src/channels.c @@ -1240,9 +1240,6 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes) if ((ci->flags & CI_VERBOTEN) || (*(c->name) == '+')) return; - if ((ci->flags & CI_SECURE) && !nick_identified(user)) - return; - status = chan_get_user_status(c, user); if (debug >= 2) @@ -1268,8 +1265,9 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes) /* We check if every mode they have is legally acquired here, and remove * the modes that they're not allowed to have. But only if SECUREOPS is * on, because else every mode is legal. -GD + * Unless the channel has just been created. -heinz */ - if (ci->flags & CI_SECUREOPS) { + if ((ci->flags & CI_SECUREOPS) || c->usercount == 1) { if (ircd->owner && (status & CUS_OWNER) && !(((ci->flags & CI_SECUREFOUNDER) && is_real_founder(user, ci)) diff --git a/src/nickserv.c b/src/nickserv.c index 586362c9e..76dfcf21f 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -1763,8 +1763,8 @@ static void collide(NickAlias * na, int from_timeout) if (ircd->svsnick) { /* We need to make sure the guestnick is free -- heinz */ do { - snprintf(guestnick, sizeof(guestnick), "%s%d%d", - NSGuestNickPrefix, getrandom32(), getrandom32()); + snprintf(guestnick, sizeof(guestnick), "%s%d", + NSGuestNickPrefix, getrandom16()); } while (finduser(guestnick)); notice_lang(s_NickServ, na->u, FORCENICKCHANGE_CHANGING, guestnick); |