projects
/
ircu2.10.12-pk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Quash various warnings from higher levels of compiler warnings.
[ircu2.10.12-pk.git]
/
ircd
/
ircd_parser.y
diff --git
a/ircd/ircd_parser.y
b/ircd/ircd_parser.y
index ccef4a76b058a36dcccfd1b4729975bb9795a770..64a112cb9e54000097c2ef1df176debd3c6b7db9 100644
(file)
--- a/
ircd/ircd_parser.y
+++ b/
ircd/ircd_parser.y
@@
-463,7
+463,6
@@
classusermode: USERMODE '=' QSTRING ';'
connectblock: CONNECT
{
connectblock: CONNECT
{
- maxlinks = 65535;
flags = CONF_AUTOCONNECT;
} '{' connectitems '}' ';'
{
flags = CONF_AUTOCONNECT;
} '{' connectitems '}' ';'
{
@@
-488,7
+487,10
@@
connectblock: CONNECT
aconf->conn_class = c_class;
aconf->address.port = port;
aconf->host = host;
aconf->conn_class = c_class;
aconf->address.port = port;
aconf->host = host;
- aconf->maximum = maxlinks;
+ /* If the user specified a hub allowance, but not maximum links,
+ * allow an effectively unlimited number of hops.
+ */
+ aconf->maximum = (hub_limit != NULL && maxlinks == 0) ? 65535 : maxlinks;
aconf->hub_limit = hub_limit;
aconf->flags = flags;
lookup_confhost(aconf);
aconf->hub_limit = hub_limit;
aconf->flags = flags;
lookup_confhost(aconf);
@@
-502,7
+504,7
@@
connectblock: CONNECT
}
name = pass = host = origin = hub_limit = NULL;
c_class = NULL;
}
name = pass = host = origin = hub_limit = NULL;
c_class = NULL;
- port = flags = 0;
+ port = flags =
maxlinks =
0;
};
connectitems: connectitem connectitems | connectitem;
connectitem: connectname | connectpass | connectclass | connecthost
};
connectitems: connectitem connectitems | connectitem;
connectitem: connectname | connectpass | connectclass | connecthost
@@
-707,7
+709,7
@@
portblock: PORT '{' portitems '}' ';' {
hosts = link;
}
for (link = hosts; link != NULL; link = link->next) {
hosts = link;
}
for (link = hosts; link != NULL; link = link->next) {
- memcpy(&flags_here, &listen_flags, sizeof(
&
flags_here));
+ memcpy(&flags_here, &listen_flags, sizeof(flags_here));
switch (link->flags & (USE_IPV4 | USE_IPV6)) {
case USE_IPV4:
FlagSet(&flags_here, LISTEN_IPV4);
switch (link->flags & (USE_IPV4 | USE_IPV6)) {
case USE_IPV4:
FlagSet(&flags_here, LISTEN_IPV4);
@@
-830,6
+832,7
@@
clientblock: CLIENT
host = NULL;
username = NULL;
c_class = NULL;
host = NULL;
username = NULL;
c_class = NULL;
+ maxlinks = 0;
ip = NULL;
pass = NULL;
port = 0;
ip = NULL;
pass = NULL;
port = 0;
@@
-1090,6
+1093,8
@@
pseudoitems '}' ';'
parse_error("Missing name in pseudo %s block", smap->command);
else if (!smap->services)
parse_error("Missing nick in pseudo %s block", smap->command);
parse_error("Missing name in pseudo %s block", smap->command);
else if (!smap->services)
parse_error("Missing nick in pseudo %s block", smap->command);
+ else if (!strIsAlpha(smap->command))
+ parse_error("Pseudo command %s invalid: must all be letters", smap->command);
else
valid = 1;
if (valid && register_mapping(smap))
else
valid = 1;
if (valid && register_mapping(smap))