/*
subnet.c -- handle subnet lookups and lists
- Copyright (C) 2000-2004 Guus Sliepen <guus@tinc-vpn.org>,
- 2000-2004 Ivo Timmermans <ivo@tinc-vpn.org>
+ Copyright (C) 2000-2006 Guus Sliepen <guus@tinc-vpn.org>,
+ 2000-2005 Ivo Timmermans
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
{
cp();
+ if(!netstr || !subnet) {
+ logger(LOG_ERR, _("net2str() was called with netstr=%p, subnet=%p!\n"), netstr, subnet);
+ return false;
+ }
+
switch (subnet->type) {
case SUBNET_MAC:
snprintf(netstr, len, "%hx:%hx:%hx:%hx:%hx:%hx",
break;
}
- if(!maskcmp(address, &p->net.ipv4.address, p->net.ipv4.prefixlength, sizeof(ipv4_t)))
+ if(!maskcmp(address, &p->net.ipv4.address, p->net.ipv4.prefixlength))
break;
else {
/* Otherwise, see if there is a bigger enclosing subnet */
if(p->type != SUBNET_IPV6)
return NULL;
- if(!maskcmp(address, &p->net.ipv6.address, p->net.ipv6.prefixlength, sizeof(ipv6_t)))
+ if(!maskcmp(address, &p->net.ipv6.address, p->net.ipv6.prefixlength))
break;
else {
/* Otherwise, see if there is a bigger enclosing subnet */
execute_script(name, envp);
}
- net2str(netstr, sizeof netstr, subnet);
- envp[6] = envp[7] = NULL;
-
for(i = 0; i < (owner != myself ? 6 : 4); i++)
free(envp[i]);