generalvhost: VHOST '=' QSTRING ';'
{
- ircd_aton(&VirtualHost.addr, $3);
+ struct irc_in_addr addr;
+ if (!ircd_aton(&addr, $3))
+ parse_error("Invalid virtual host '%s'.", $3);
+ else if (irc_in_addr_is_ipv4(&addr))
+ memcpy(&VirtualHost_v4.addr, &addr, sizeof(addr));
+ else
+ memcpy(&VirtualHost_v6.addr, &addr, sizeof(addr));
};
adminblock: ADMIN '{' adminitems '}'
connectmaxhops: MAXHOPS '=' expr ';'
{
maxlinks = $3;
-}
+};
uworldblock: UWORLD '{' uworlditems '}' ';'
{
if (name)
{
struct ConfItem *aconf = make_conf(CONF_UWORLD);
- aconf->name = name;
+ aconf->host = name;
}
else
{
{
MyFree(ip);
DupString(ip, $3);
-}
+};
clientusername: USERNAME '=' QSTRING ';'
{
MyFree(username);
DupString(username, $3);
-}
+};
clientclass: CLASS '=' QSTRING ';'
{
c_class = find_class($3);