projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use libevent for meta socket input/output buffering.
[tinc]
/
src
/
protocol_subnet.c
diff --git
a/src/protocol_subnet.c
b/src/protocol_subnet.c
index
f15a175
..
b1d71ab
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-2005 Ivo Timmermans
<ivo@tinc-vpn.org>
,
- 2000-200
5
Guus Sliepen <guus@tinc-vpn.org>
+ Copyright (C) 1999-2005 Ivo Timmermans,
+ 2000-200
6
Guus Sliepen <guus@tinc-vpn.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
@@
-45,7
+45,7
@@
bool send_add_subnet(connection_t *c, const subnet_t *subnet)
return send_request(c, "%d %lx %s %s", ADD_SUBNET, random(), subnet->owner->name, netstr);
}
return send_request(c, "%d %lx %s %s", ADD_SUBNET, random(), subnet->owner->name, netstr);
}
-bool add_subnet_h(connection_t *c)
+bool add_subnet_h(connection_t *c
, char *request
)
{
char subnetstr[MAX_STRING_SIZE];
char name[MAX_STRING_SIZE];
{
char subnetstr[MAX_STRING_SIZE];
char name[MAX_STRING_SIZE];
@@
-54,7
+54,7
@@
bool add_subnet_h(connection_t *c)
cp();
cp();
- if(sscanf(
c->buffer
, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
+ if(sscanf(
request
, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
logger(LOG_ERR, _("Got bad %s from %s (%s)"), "ADD_SUBNET", c->name,
c->hostname);
return false;
logger(LOG_ERR, _("Got bad %s from %s (%s)"), "ADD_SUBNET", c->name,
c->hostname);
return false;
@@
-76,7
+76,7
@@
bool add_subnet_h(connection_t *c)
return false;
}
return false;
}
- if(seen_request(
c->buffer
))
+ if(seen_request(
request
))
return true;
/* Check if the owner of the new subnet is in the connection list */
return true;
/* Check if the owner of the new subnet is in the connection list */
@@
-140,7
+140,7
@@
bool add_subnet_h(connection_t *c)
/* Tell the rest */
if(!tunnelserver)
/* Tell the rest */
if(!tunnelserver)
- forward_request(c);
+ forward_request(c
, request
);
return true;
}
return true;
}
@@
-157,7
+157,7
@@
bool send_del_subnet(connection_t *c, const subnet_t *s)
return send_request(c, "%d %lx %s %s", DEL_SUBNET, random(), s->owner->name, netstr);
}
return send_request(c, "%d %lx %s %s", DEL_SUBNET, random(), s->owner->name, netstr);
}
-bool del_subnet_h(connection_t *c)
+bool del_subnet_h(connection_t *c
, char *request
)
{
char subnetstr[MAX_STRING_SIZE];
char name[MAX_STRING_SIZE];
{
char subnetstr[MAX_STRING_SIZE];
char name[MAX_STRING_SIZE];
@@
-166,7
+166,7
@@
bool del_subnet_h(connection_t *c)
cp();
cp();
- if(sscanf(
c->buffer
, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
+ if(sscanf(
request
, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
logger(LOG_ERR, _("Got bad %s from %s (%s)"), "DEL_SUBNET", c->name,
c->hostname);
return false;
logger(LOG_ERR, _("Got bad %s from %s (%s)"), "DEL_SUBNET", c->name,
c->hostname);
return false;
@@
-201,7
+201,7
@@
bool del_subnet_h(connection_t *c)
return false;
}
return false;
}
- if(seen_request(
c->buffer
))
+ if(seen_request(
request
))
return true;
/* If everything is correct, delete the subnet from the list of the owner */
return true;
/* If everything is correct, delete the subnet from the list of the owner */
@@
-228,7
+228,7
@@
bool del_subnet_h(connection_t *c)
/* Tell the rest */
if(!tunnelserver)
/* Tell the rest */
if(!tunnelserver)
- forward_request(c);
+ forward_request(c
, request
);
/* Finally, delete it. */
/* Finally, delete it. */