return NO;
}
-/* remove_temp_gline()\r
- *\r
- * inputs - username, hostname to ungline\r
- * outputs -\r
- * side effects - tries to ungline anything that matches\r
- */\r
-static int\r
-remove_temp_gline(const char *user, const char *host)\r
-{\r
- struct ConfItem *aconf;\r
- rb_dlink_node *ptr;\r
- struct rb_sockaddr_storage addr, caddr;\r
- int bits, cbits;\r
- int mtype, gtype;\r
-\r
- mtype = parse_netmask(host, (struct sockaddr *)&addr, &bits);\r
-\r
- RB_DLINK_FOREACH(ptr, glines.head)\r
- {\r
- aconf = ptr->data;\r
-\r
- gtype = parse_netmask(aconf->host, (struct sockaddr *)&caddr, &cbits);\r
-\r
- if(gtype != mtype || (user && irccmp(user, aconf->user)))\r
- continue;\r
-\r
- if(gtype == HM_HOST)\r
- {\r
- if(irccmp(aconf->host, host))\r
- continue;\r
- }\r
- else if(bits != cbits ||\r
- !comp_with_mask_sock((struct sockaddr *)&addr, \r
- (struct sockaddr *)&caddr, bits))\r
- continue;\r
-\r
- rb_dlinkDestroy(ptr, &glines);\r
- delete_one_address_conf(aconf->host, aconf);\r
- return YES;\r
- }\r
-\r
- return NO;\r
+/* remove_temp_gline()
+ *
+ * inputs - username, hostname to ungline
+ * outputs -
+ * side effects - tries to ungline anything that matches
+ */
+static int
+remove_temp_gline(const char *user, const char *host)
+{
+ struct ConfItem *aconf;
+ rb_dlink_node *ptr;
+ struct rb_sockaddr_storage addr, caddr;
+ int bits, cbits;
+ int mtype, gtype;
+
+ mtype = parse_netmask(host, (struct sockaddr *)&addr, &bits);
+
+ RB_DLINK_FOREACH(ptr, glines.head)
+ {
+ aconf = ptr->data;
+
+ gtype = parse_netmask(aconf->host, (struct sockaddr *)&caddr, &cbits);
+
+ if(gtype != mtype || (user && irccmp(user, aconf->user)))
+ continue;
+
+ if(gtype == HM_HOST)
+ {
+ if(irccmp(aconf->host, host))
+ continue;
+ }
+ else if(bits != cbits ||
+ !comp_with_mask_sock((struct sockaddr *)&addr,
+ (struct sockaddr *)&caddr, bits))
+ continue;
+
+ rb_dlinkDestroy(ptr, &glines);
+ remove_reject_mask(aconf->user, aconf->host);
+ delete_one_address_conf(aconf->host, aconf);
+ return YES;
+ }
+
+ return NO;
}