View Issue Details

IDProjectCategoryView StatusLast Update
0001287Anope Stable (1.8.x series)ChanServpublic2011-08-09 22:59
Reporterhacktor Assigned ToAdam  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
OSLinux 
Summary0001287: Anope 1.8.6
DescriptionI have noticed this issue on 12th of July, when i have installed anope-1.8.6. Chanserv/Botserv ( if SYMBIOSIS is ON ) DEOPS UNREGISTERED nickname in channel ( SECUREOPS is OFF ) which have joined last one! CHANNEL ACCESS list is EMPTY! i have opped few unregistered nicknames in channel, but after /os restart ChanServ DEOPs only the last user , who joined last! it doesnt DEOP other unregistered users which were connected before him.
TagsNo tags attached.

Activities

Adam

2011-08-09 22:59

administrator   ~0005915

Fixed in 1.8 in commit eb7c9d0a863089ed9dc5c428c1d1214c8f0b85ba

Adam

2011-07-18 01:10

administrator  

1287.diff (2,591 bytes)   
diff --git a/src/channels.c b/src/channels.c
index 59efc7d..13a0b7c 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 01703ba..3dbc176 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 969ad4a..63f7ba5 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;
 
1287.diff (2,591 bytes)   

Adam

2011-07-16 12:05

administrator   ~0005870

Fixed in 1.9 in acceabe3a88640b7192795b4e54126ed96e9d0f0, am leaving open for deciding what we're going to do in 1.8.

Adam

2011-07-16 10:49

administrator   ~0005869

This is tied with bugs 0000922 and 0001006. This includes revisions 87ce2aa25d2cb8d01215597a3d071ae0a3927ea4, 932391f34e7e3bc9967582c61d0bf98f9c599625, and efc03b7be41444048aa0940a80fb9ae3b66e9e76.

This is because Anope thinks the first user that joined as channel op is "creating" the channel, and we normally deop the first user who joins a registered channel to prevent them from gaining access in someone else's channel.

hacktor

2011-07-16 10:08

reporter  

bug.issue.txt (2,775 bytes)   
|13:37:09| * hacktor ����� �����: +o x0
|13:37:10| * hacktor ����� �����: +o Eset



|13:37:18| <ChanServ> Information for channel #irc:
|13:37:18| <ChanServ>         Founder: Trusty
|13:37:18| <ChanServ>     Description: General chat channel of network UsersNet
|13:37:18| <ChanServ>      Registered: Jul 06 21:10:53 2011 MSD
|13:37:18| <ChanServ>       Last used: Jul 16 12:34:49 2011 MSD
|13:37:18| <ChanServ>      Last topic: General chat channel of network UsersNet.
|13:37:18| <ChanServ>    Topic set by: Trusty
|13:37:18| <ChanServ>        Ban type: 3
|13:37:18| <ChanServ>         Options: Topic Retention, OP Notice, Peace, Secure, Secure Founder, Signed kicks, xOP lists system
|13:37:18| <ChanServ>       Mode lock: +cnrt
|13:37:18| <ChanServ>       Expires on: Sep 14 12:34:49 2011 MSD



|13:36:21| <NickServ> Nick eset isn't registered.
|13:36:34| <NickServ> Nick x0 isn't registered.

Now im doing /os restart , and it didnt deop this users. but in other channel it does.

|13:43:58| <ChanServ> Information for channel #darpa:
|13:43:58| <ChanServ>         Founder: Nigel
|13:43:58| <ChanServ>     Description: Darpa Project Tier 3 Server
|13:43:58| <ChanServ>      Registered: Jul 06 23:52:34 2011 MSD
|13:43:58| <ChanServ>       Last used: Jul 16 12:36:56 2011 MSD
|13:43:58| <ChanServ>      Last topic: Welcome
|13:43:58| <ChanServ>    Topic set by: Nigel
|13:43:58| <ChanServ>        Ban type: 3
|13:43:58| <ChanServ>         Options: Topic Retention, Peace, Secure, Secure Founder, Signed kicks, xOP lists system
|13:43:58| <ChanServ>       Mode lock: +nrt
|13:43:58| <ChanServ>       Expires on: Sep 14 12:36:56 2011 MSD

|13:39:24| * Quits: &DARPA (darpa@tier3.na.darpanet.org) (pbx.icf.org.ru services.UsersNet)
|13:39:25| * Joins: DARPA (darpa@tier3.na.darpanet.org)
|13:39:25| * DARPA sets mode: +ao DARPA DARPA
|13:39:25| * ChanServ sets mode: -o Obzy


Now i have joined with other new nickname to channel #IRC and OPing him

|13:41:34| * Joins: dev0 (hacktor@109.127.21.17)
|13:42:47| * hacktor sets mode: +o dev0


And im OPing Obzy again in channel #DARPA

|13:42:58| * hacktor ����� �����: +o Obzy

Now im restarting services again...

here are results: #IRC -

|13:48:34| * Quits: &Bot (Bot@Bot.of.UsersNet) (pbx.icf.org.ru services.UsersNet)
|13:48:35| * Joins: Bot (Bot@Bot.of.UsersNet)
|13:48:35| * Bot sets mode: +ao Bot Bot
|13:48:35| * ChanServ sets mode: -o dev0

and in #DARPA -

|13:48:34| * Quits: &DARPA (darpa@tier3.na.darpanet.org) (pbx.icf.org.ru services.UsersNet)
|13:48:35| * Joins: DARPA (darpa@tier3.na.darpanet.org)
|13:48:35| * DARPA sets mode: +ao DARPA DARPA
|13:48:35| * ChanServ sets mode: -o Obzy

PS. DARPA and BOT - are the bots on BotServ.

bug.issue.txt (2,775 bytes)   

Issue History

Date Modified Username Field Change
2011-07-16 10:08 hacktor New Issue
2011-07-16 10:08 hacktor File Added: bug.issue.txt
2011-07-16 10:49 Adam Note Added: 0005869
2011-07-16 10:49 Adam Assigned To => Adam
2011-07-16 10:49 Adam Status new => acknowledged
2011-07-16 10:50 Adam Assigned To Adam =>
2011-07-16 10:50 Adam Reproducibility have not tried => always
2011-07-16 12:05 Adam Note Added: 0005870
2011-07-18 01:10 Adam File Added: 1287.diff
2011-07-18 01:10 Adam Assigned To => Viper
2011-08-09 22:59 Adam Note Added: 0005915
2011-08-09 22:59 Adam Status acknowledged => resolved
2011-08-09 22:59 Adam Resolution open => fixed
2011-08-09 22:59 Adam Assigned To Viper => Adam