diff options
-rw-r--r-- | Changes | 1 | ||||
-rw-r--r-- | src/channels.c | 2 | ||||
-rw-r--r-- | src/protocol/inspircd12.c | 6 | ||||
-rw-r--r-- | src/protocol/inspircd20.c | 6 | ||||
-rw-r--r-- | version.log | 3 |
5 files changed, 14 insertions, 4 deletions
@@ -2,6 +2,7 @@ Anope Version 1.8 - GIT ----------------------- 05/30 F Fixed removing vhosts on InspIRCd when m_cloaking is unloaded [#1273] 07/23 F Fixed a potential crash in the badwords kicker [ #00] +08/09 F Fixed deopping the first user to join a channel during a burst [#1287] Anope Version 1.8.6 ------------------- diff --git a/src/channels.c b/src/channels.c index 59efc7d92..13a0b7c81 100644 --- a/src/channels.c +++ b/src/channels.c @@ -1478,7 +1478,7 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes) * Unless the channel has just been created. -heinz * Or the user matches CA_AUTODEOP... -GD */ - if (((ci->flags & CI_SECUREOPS) || (c->usercount == 1) + if (((ci->flags & CI_SECUREOPS) || (c->usercount == 1 && is_sync(user->server)) || check_access(user, ci, CA_AUTODEOP)) && !is_ulined(user->server->name)) { if (ircd->owner && (status & CUS_OWNER) && !is_founder(user, ci)) diff --git a/src/protocol/inspircd12.c b/src/protocol/inspircd12.c index 01703baed..3dbc1768b 100644 --- a/src/protocol/inspircd12.c +++ b/src/protocol/inspircd12.c @@ -127,7 +127,7 @@ IRCDVar myIrcd[] = { 1, /* support helper umode */ 0, /* p10 */ NULL, /* character set */ - 0, /* reports sync state */ + 1, /* reports sync state */ 1, /* CIDR channelbans */ 0, /* +j */ CMODE_j, /* +j Mode */ @@ -1803,6 +1803,7 @@ int anope_event_burst(char *source, int ac, char **av) int anope_event_eob(char *source, int ac, char **av) { + Server *s = findserver_uid(servlist, source); User *u = u_intro_regged; u_intro_regged = NULL; @@ -1814,6 +1815,9 @@ int anope_event_eob(char *source, int ac, char **av) validate_user(u); } + if (s != NULL) + finish_sync(s, 1); + /* End of burst.. */ burst = 0; diff --git a/src/protocol/inspircd20.c b/src/protocol/inspircd20.c index 969ad4a94..63f7ba558 100644 --- a/src/protocol/inspircd20.c +++ b/src/protocol/inspircd20.c @@ -158,7 +158,7 @@ IRCDVar myIrcd[] = { 1, /* support helper umode */ 0, /* p10 */ NULL, /* character set */ - 0, /* reports sync state */ + 1, /* reports sync state */ 1, /* CIDR channelbans */ 0, /* +j */ CMODE_j, /* +j Mode */ @@ -1809,6 +1809,7 @@ int anope_event_burst(char *source, int ac, char **av) int anope_event_eob(char *source, int ac, char **av) { + Server *s = findserver_uid(servlist, source); User *u = u_intro_regged; u_intro_regged = NULL; @@ -1820,6 +1821,9 @@ int anope_event_eob(char *source, int ac, char **av) validate_user(u); } + if (s != NULL) + finish_sync(s, 1); + /* End of burst.. */ burst = 0; diff --git a/version.log b/version.log index dda1da865..67dce8658 100644 --- a/version.log +++ b/version.log @@ -8,9 +8,10 @@ VERSION_MAJOR="1" VERSION_MINOR="8" VERSION_PATCH="7" VERSION_EXTRA="-git" -VERSION_BUILD="3076" +VERSION_BUILD="3077" # $Log$ # Changes since 1.8.6 Release +#Revision 3077 - Bug #1287 - Fixed chan_set_correct_modes to not deop the first user from syncing servers #Revision 3076 - Bug #1269 - Fixed install.js for Windows 7 builds. #Revision 3075 - Fixed a potential crash in the badwords kicker, and fixed matching BW_SINGLE with BSCaseSensitive enabled #Revision 3074 - Bug #1273 - Fixed removing vhosts on InspIRCd when m_cloaking is unloaded |