projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
We don't have to tell GCC how to cast.
[tinc]
/
src
/
subnet.c
diff --git
a/src/subnet.c
b/src/subnet.c
index
2aab91d
..
5d88ca6
100644
(file)
--- a/
src/subnet.c
+++ b/
src/subnet.c
@@
-17,30
+17,19
@@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: subnet.c,v 1.1.2.
46 2003/07/12 17:41:47
guus Exp $
+ $Id: subnet.c,v 1.1.2.
50 2003/08/28 21:05:11
guus Exp $
*/
*/
-#include "config.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <netdb.h>
-#include <netinet/in.h>
-
-#include <utils.h>
-#include <xalloc.h>
-#include <avl_tree.h>
+#include "system.h"
-#include "conf.h"
+#include "avl_tree.h"
+#include "logger.h"
#include "net.h"
#include "net.h"
+#include "netutl.h"
#include "node.h"
#include "subnet.h"
#include "node.h"
#include "subnet.h"
-#include "netutl.h"
-#include "logger.h"
-
-#include "system.h"
+#include "utils.h"
+#include "xalloc.h"
/* lists type of subnet */
/* lists type of subnet */
@@
-48,7
+37,7
@@
avl_tree_t *subnet_tree;
/* Subnet comparison */
/* Subnet comparison */
-static int subnet_compare_mac(
subnet_t *a,
subnet_t *b)
+static int subnet_compare_mac(
const subnet_t *a, const
subnet_t *b)
{
int result;
{
int result;
@@
-60,7
+49,7
@@
static int subnet_compare_mac(subnet_t *a, subnet_t *b)
return strcmp(a->owner->name, b->owner->name);
}
return strcmp(a->owner->name, b->owner->name);
}
-static int subnet_compare_ipv4(
subnet_t *a,
subnet_t *b)
+static int subnet_compare_ipv4(
const subnet_t *a, const
subnet_t *b)
{
int result;
{
int result;
@@
-77,7
+66,7
@@
static int subnet_compare_ipv4(subnet_t *a, subnet_t *b)
return strcmp(a->owner->name, b->owner->name);
}
return strcmp(a->owner->name, b->owner->name);
}
-static int subnet_compare_ipv6(
subnet_t *a,
subnet_t *b)
+static int subnet_compare_ipv6(
const subnet_t *a, const
subnet_t *b)
{
int result;
{
int result;
@@
-94,7
+83,7
@@
static int subnet_compare_ipv6(subnet_t *a, subnet_t *b)
return strcmp(a->owner->name, b->owner->name);
}
return strcmp(a->owner->name, b->owner->name);
}
-static int subnet_compare(
subnet_t *a,
subnet_t *b)
+static int subnet_compare(
const subnet_t *a, const
subnet_t *b)
{
int result;
{
int result;
@@
-156,7
+145,7
@@
subnet_t *new_subnet(void)
{
cp();
{
cp();
- return
(subnet_t *)
xmalloc_and_zero(sizeof(subnet_t));
+ return xmalloc_and_zero(sizeof(subnet_t));
}
void free_subnet(subnet_t *subnet)
}
void free_subnet(subnet_t *subnet)
@@
-188,7
+177,7
@@
void subnet_del(node_t *n, subnet_t *subnet)
/* Ascii representation of subnets */
/* Ascii representation of subnets */
-subnet_t *str2net(char *subnetstr)
+subnet_t *str2net(c
onst c
har *subnetstr)
{
int i, l;
subnet_t *subnet;
{
int i, l;
subnet_t *subnet;
@@
-257,7
+246,7
@@
subnet_t *str2net(char *subnetstr)
return NULL;
}
return NULL;
}
-char *net2str(subnet_t *subnet)
+char *net2str(
const
subnet_t *subnet)
{
char *netstr;
{
char *netstr;
@@
-307,43
+296,43
@@
char *net2str(subnet_t *subnet)
/* Subnet lookup routines */
/* Subnet lookup routines */
-subnet_t *lookup_subnet(
node_t *owner,
subnet_t *subnet)
+subnet_t *lookup_subnet(
const node_t *owner, const
subnet_t *subnet)
{
cp();
return avl_search(owner->subnet_tree, subnet);
}
{
cp();
return avl_search(owner->subnet_tree, subnet);
}
-subnet_t *lookup_subnet_mac(mac_t *address)
+subnet_t *lookup_subnet_mac(
const
mac_t *address)
{
{
- subnet_t
subnet, *p
;
+ subnet_t
*p, subnet = {0}
;
cp();
subnet.type = SUBNET_MAC;
cp();
subnet.type = SUBNET_MAC;
-
memcpy(&subnet.net.mac.address, address, sizeof(mac_t))
;
+
subnet.net.mac.address = *address
;
subnet.owner = NULL;
subnet.owner = NULL;
- p =
(subnet_t *)
avl_search(subnet_tree, &subnet);
+ p = avl_search(subnet_tree, &subnet);
return p;
}
return p;
}
-subnet_t *lookup_subnet_ipv4(ipv4_t *address)
+subnet_t *lookup_subnet_ipv4(
const
ipv4_t *address)
{
{
- subnet_t
subnet, *p
;
+ subnet_t
*p, subnet = {0}
;
cp();
subnet.type = SUBNET_IPV4;
cp();
subnet.type = SUBNET_IPV4;
-
memcpy(&subnet.net.ipv4.address, address, sizeof(ipv4_t))
;
+
subnet.net.ipv4.address = *address
;
subnet.net.ipv4.prefixlength = 32;
subnet.owner = NULL;
do {
/* Go find subnet */
subnet.net.ipv4.prefixlength = 32;
subnet.owner = NULL;
do {
/* Go find subnet */
- p =
(subnet_t *)
avl_search_closest_smaller(subnet_tree, &subnet);
+ p = avl_search_closest_smaller(subnet_tree, &subnet);
/* Check if the found subnet REALLY matches */
/* Check if the found subnet REALLY matches */
@@
-367,21
+356,21
@@
subnet_t *lookup_subnet_ipv4(ipv4_t *address)
return p;
}
return p;
}
-subnet_t *lookup_subnet_ipv6(ipv6_t *address)
+subnet_t *lookup_subnet_ipv6(
const
ipv6_t *address)
{
{
- subnet_t
subnet, *p
;
+ subnet_t
*p, subnet = {0}
;
cp();
subnet.type = SUBNET_IPV6;
cp();
subnet.type = SUBNET_IPV6;
-
memcpy(&subnet.net.ipv6.address, address, sizeof(ipv6_t))
;
+
subnet.net.ipv6.address = *address
;
subnet.net.ipv6.prefixlength = 128;
subnet.owner = NULL;
do {
/* Go find subnet */
subnet.net.ipv6.prefixlength = 128;
subnet.owner = NULL;
do {
/* Go find subnet */
- p =
(subnet_t *)
avl_search_closest_smaller(subnet_tree, &subnet);
+ p = avl_search_closest_smaller(subnet_tree, &subnet);
/* Check if the found subnet REALLY matches */
/* Check if the found subnet REALLY matches */
@@
-414,7
+403,7
@@
void dump_subnets(void)
logger(LOG_DEBUG, _("Subnet list:"));
for(node = subnet_tree->head; node; node = node->next) {
logger(LOG_DEBUG, _("Subnet list:"));
for(node = subnet_tree->head; node; node = node->next) {
- subnet =
(subnet_t *)
node->data;
+ subnet = node->data;
netstr = net2str(subnet);
logger(LOG_DEBUG, _(" %s owner %s"), netstr, subnet->owner->name);
free(netstr);
netstr = net2str(subnet);
logger(LOG_DEBUG, _(" %s owner %s"), netstr, subnet->owner->name);
free(netstr);