projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update missing definitions, structs describing headers get __packed__ attribute.
[tinc]
/
src
/
protocol_subnet.c
diff --git
a/src/protocol_subnet.c
b/src/protocol_subnet.c
index
16cf188
..
bb2f2de
100644
(file)
--- a/
src/protocol_subnet.c
+++ b/
src/protocol_subnet.c
@@
-1,7
+1,7
@@
/*
protocol_subnet.c -- handle the meta-protocol, subnets
/*
protocol_subnet.c -- handle the meta-protocol, subnets
- Copyright (C) 1999-200
2
Ivo Timmermans <ivo@o2w.nl>,
- 2000-200
2
Guus Sliepen <guus@sliepen.eu.org>
+ Copyright (C) 1999-200
3
Ivo Timmermans <ivo@o2w.nl>,
+ 2000-200
3
Guus Sliepen <guus@sliepen.eu.org>
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
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
@@
-17,35
+17,25
@@
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: protocol_subnet.c,v 1.1.4.1
0 2003/07/06 22:11:33
guus Exp $
+ $Id: protocol_subnet.c,v 1.1.4.1
5 2003/07/24 12:08:16
guus Exp $
*/
*/
-#include "config.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <errno.h>
-
-#include <utils.h>
-#include <xalloc.h>
-#include <avl_tree.h>
+#include "system.h"
#include "conf.h"
#include "conf.h"
+#include "connection.h"
+#include "logger.h"
#include "net.h"
#include "netutl.h"
#include "net.h"
#include "netutl.h"
-#include "protocol.h"
-#include "meta.h"
-#include "connection.h"
#include "node.h"
#include "node.h"
-#include "logger.h"
-
-#include "system.h"
+#include "protocol.h"
+#include "subnet.h"
+#include "utils.h"
+#include "xalloc.h"
-
int send_add_subnet(connection_t *c,
subnet_t *subnet)
+
bool send_add_subnet(connection_t *c, const
subnet_t *subnet)
{
{
-
int
x;
+
bool
x;
char *netstr;
cp();
char *netstr;
cp();
@@
-58,7
+48,7
@@
int send_add_subnet(connection_t *c, subnet_t *subnet)
return x;
}
return x;
}
-
int
add_subnet_h(connection_t *c)
+
bool
add_subnet_h(connection_t *c)
{
char subnetstr[MAX_STRING_SIZE];
char name[MAX_STRING_SIZE];
{
char subnetstr[MAX_STRING_SIZE];
char name[MAX_STRING_SIZE];
@@
-68,17
+58,17
@@
int add_subnet_h(connection_t *c)
cp();
if(sscanf(c->buffer, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
cp();
if(sscanf(c->buffer, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
-
syslog
(LOG_ERR, _("Got bad %s from %s (%s)"), "ADD_SUBNET", c->name,
+
logger
(LOG_ERR, _("Got bad %s from %s (%s)"), "ADD_SUBNET", c->name,
c->hostname);
c->hostname);
- return
-1
;
+ return
false
;
}
/* Check if owner name is a valid */
}
/* Check if owner name is a valid */
- if(check_id(name)) {
-
syslog
(LOG_ERR, _("Got bad %s from %s (%s): %s"), "ADD_SUBNET", c->name,
+ if(
!
check_id(name)) {
+
logger
(LOG_ERR, _("Got bad %s from %s (%s): %s"), "ADD_SUBNET", c->name,
c->hostname, _("invalid name"));
c->hostname, _("invalid name"));
- return
-1
;
+ return
false
;
}
/* Check if subnet string is valid */
}
/* Check if subnet string is valid */
@@
-86,13
+76,13
@@
int add_subnet_h(connection_t *c)
s = str2net(subnetstr);
if(!s) {
s = str2net(subnetstr);
if(!s) {
-
syslog
(LOG_ERR, _("Got bad %s from %s (%s): %s"), "ADD_SUBNET", c->name,
+
logger
(LOG_ERR, _("Got bad %s from %s (%s): %s"), "ADD_SUBNET", c->name,
c->hostname, _("invalid subnet string"));
c->hostname, _("invalid subnet string"));
- return
-1
;
+ return
false
;
}
if(seen_request(c->buffer))
}
if(seen_request(c->buffer))
- return
0
;
+ return
true
;
/* Check if the owner of the new subnet is in the connection list */
/* Check if the owner of the new subnet is in the connection list */
@@
-108,17
+98,17
@@
int add_subnet_h(connection_t *c)
if(lookup_subnet(owner, s)) {
free_subnet(s);
if(lookup_subnet(owner, s)) {
free_subnet(s);
- return
0
;
+ return
true
;
}
/* If we don't know this subnet, but we are the owner, retaliate with a DEL_SUBNET */
if(owner == myself) {
}
/* If we don't know this subnet, but we are the owner, retaliate with a DEL_SUBNET */
if(owner == myself) {
-
logger(DEBUG_PROTOCOL,
LOG_WARNING, _("Got %s from %s (%s) for ourself"),
+
ifdebug(PROTOCOL) logger(
LOG_WARNING, _("Got %s from %s (%s) for ourself"),
"ADD_SUBNET", c->name, c->hostname);
s->owner = myself;
send_del_subnet(c, s);
"ADD_SUBNET", c->name, c->hostname);
s->owner = myself;
send_del_subnet(c, s);
- return
0
;
+ return
true
;
}
/* If everything is correct, add the subnet to the list of the owner */
}
/* If everything is correct, add the subnet to the list of the owner */
@@
-129,12
+119,12
@@
int add_subnet_h(connection_t *c)
forward_request(c);
forward_request(c);
- return
0
;
+ return
true
;
}
}
-
int send_del_subnet(connection_t *c,
subnet_t *s)
+
bool send_del_subnet(connection_t *c, const
subnet_t *s)
{
{
-
int
x;
+
bool
x;
char *netstr;
cp();
char *netstr;
cp();
@@
-148,7
+138,7
@@
int send_del_subnet(connection_t *c, subnet_t *s)
return x;
}
return x;
}
-
int
del_subnet_h(connection_t *c)
+
bool
del_subnet_h(connection_t *c)
{
char subnetstr[MAX_STRING_SIZE];
char name[MAX_STRING_SIZE];
{
char subnetstr[MAX_STRING_SIZE];
char name[MAX_STRING_SIZE];
@@
-158,17
+148,17
@@
int del_subnet_h(connection_t *c)
cp();
if(sscanf(c->buffer, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
cp();
if(sscanf(c->buffer, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
-
syslog
(LOG_ERR, _("Got bad %s from %s (%s)"), "DEL_SUBNET", c->name,
+
logger
(LOG_ERR, _("Got bad %s from %s (%s)"), "DEL_SUBNET", c->name,
c->hostname);
c->hostname);
- return
-1
;
+ return
false
;
}
/* Check if owner name is a valid */
}
/* Check if owner name is a valid */
- if(check_id(name)) {
-
syslog
(LOG_ERR, _("Got bad %s from %s (%s): %s"), "DEL_SUBNET", c->name,
+ if(
!
check_id(name)) {
+
logger
(LOG_ERR, _("Got bad %s from %s (%s): %s"), "DEL_SUBNET", c->name,
c->hostname, _("invalid name"));
c->hostname, _("invalid name"));
- return
-1
;
+ return
false
;
}
/* Check if the owner of the new subnet is in the connection list */
}
/* Check if the owner of the new subnet is in the connection list */
@@
-176,9
+166,9
@@
int del_subnet_h(connection_t *c)
owner = lookup_node(name);
if(!owner) {
owner = lookup_node(name);
if(!owner) {
-
logger(DEBUG_PROTOCOL,
LOG_WARNING, _("Got %s from %s (%s) for %s which is not in our node tree"),
+
ifdebug(PROTOCOL) logger(
LOG_WARNING, _("Got %s from %s (%s) for %s which is not in our node tree"),
"DEL_SUBNET", c->name, c->hostname, name);
"DEL_SUBNET", c->name, c->hostname, name);
- return
0
;
+ return
true
;
}
/* Check if subnet string is valid */
}
/* Check if subnet string is valid */
@@
-186,13
+176,13
@@
int del_subnet_h(connection_t *c)
s = str2net(subnetstr);
if(!s) {
s = str2net(subnetstr);
if(!s) {
-
syslog
(LOG_ERR, _("Got bad %s from %s (%s): %s"), "DEL_SUBNET", c->name,
+
logger
(LOG_ERR, _("Got bad %s from %s (%s): %s"), "DEL_SUBNET", c->name,
c->hostname, _("invalid subnet string"));
c->hostname, _("invalid subnet string"));
- return
-1
;
+ return
false
;
}
if(seen_request(c->buffer))
}
if(seen_request(c->buffer))
- return
0
;
+ return
true
;
/* If everything is correct, delete the subnet from the list of the owner */
/* If everything is correct, delete the subnet from the list of the owner */
@@
-203,18
+193,18
@@
int del_subnet_h(connection_t *c)
free_subnet(s);
if(!find) {
free_subnet(s);
if(!find) {
-
logger(DEBUG_PROTOCOL,
LOG_WARNING, _("Got %s from %s (%s) for %s which does not appear in his subnet tree"),
+
ifdebug(PROTOCOL) logger(
LOG_WARNING, _("Got %s from %s (%s) for %s which does not appear in his subnet tree"),
"DEL_SUBNET", c->name, c->hostname, name);
"DEL_SUBNET", c->name, c->hostname, name);
- return
0
;
+ return
true
;
}
/* If we are the owner of this subnet, retaliate with an ADD_SUBNET */
if(owner == myself) {
}
/* If we are the owner of this subnet, retaliate with an ADD_SUBNET */
if(owner == myself) {
-
logger(DEBUG_PROTOCOL,
LOG_WARNING, _("Got %s from %s (%s) for ourself"),
+
ifdebug(PROTOCOL) logger(
LOG_WARNING, _("Got %s from %s (%s) for ourself"),
"DEL_SUBNET", c->name, c->hostname);
send_add_subnet(c, find);
"DEL_SUBNET", c->name, c->hostname);
send_add_subnet(c, find);
- return
0
;
+ return
true
;
}
/* Tell the rest */
}
/* Tell the rest */
@@
-225,5
+215,5
@@
int del_subnet_h(connection_t *c)
subnet_del(owner, find);
subnet_del(owner, find);
- return
0
;
+ return
true
;
}
}