projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update dutch translation.
[tinc]
/
src
/
protocol.c
diff --git
a/src/protocol.c
b/src/protocol.c
index
4e63728
..
9b2ec91
100644
(file)
--- a/
src/protocol.c
+++ b/
src/protocol.c
@@
-17,7
+17,7
@@
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.c,v 1.28.4.12
4 2002/03/21 23:11:5
3 guus Exp $
+ $Id: protocol.c,v 1.28.4.12
8 2002/03/27 15:26:4
3 guus Exp $
*/
#include "config.h"
*/
#include "config.h"
@@
-74,7
+74,7
@@
cp
if(len < 0 || len > MAXBUFSIZE-1)
{
if(len < 0 || len > MAXBUFSIZE-1)
{
- syslog(LOG_ERR, _("Output buffer overflow while sending request to %s (%s)"),
request_name[request],
c->name, c->hostname);
+ syslog(LOG_ERR, _("Output buffer overflow while sending request to %s (%s)"), c->name, c->hostname);
return -1;
}
return -1;
}
@@
-146,20
+146,29
@@
cp
return 0;
}
return 0;
}
-int request_compare(past_request_t *a, past_request_t *b)
+int
past_
request_compare(past_request_t *a, past_request_t *b)
{
cp
return strcmp(a->request, b->request);
}
{
cp
return strcmp(a->request, b->request);
}
+void free_past_request(past_request_t *r)
+{
+cp
+ if(r->request)
+ free(r->request);
+ free(r);
+cp
+}
+
void init_requests(void)
{
cp
void init_requests(void)
{
cp
- past_request_tree = avl_alloc_tree((avl_compare_t)
request_compare, (avl_action_t)free
);
+ past_request_tree = avl_alloc_tree((avl_compare_t)
past_request_compare, (avl_action_t)free_past_request
);
cp
}
cp
}
-void exit_request(void)
+void exit_request
s
(void)
{
cp
avl_delete_tree(past_request_tree);
{
cp
avl_delete_tree(past_request_tree);
@@
-173,7
+182,11
@@
cp
p.request = request;
if(avl_search(past_request_tree, &p))
p.request = request;
if(avl_search(past_request_tree, &p))
- return 1;
+ {
+ if(debug_lvl >= DEBUG_SCARY_THINGS)
+ syslog(LOG_DEBUG, _("Already seen request"));
+ return 1;
+ }
else
{
new = (past_request_t *)xmalloc(sizeof(*new));
else
{
new = (past_request_t *)xmalloc(sizeof(*new));
@@
-212,7
+225,6
@@
int (*request_handlers[])(connection_t*) = {
id_h, metakey_h, challenge_h, chal_reply_h, ack_h,
status_h, error_h, termreq_h,
ping_h, pong_h,
id_h, metakey_h, challenge_h, chal_reply_h, ack_h,
status_h, error_h, termreq_h,
ping_h, pong_h,
-// add_node_h, del_node_h,
add_subnet_h, del_subnet_h,
add_edge_h, del_edge_h,
key_changed_h, req_key_h, ans_key_h,
add_subnet_h, del_subnet_h,
add_edge_h, del_edge_h,
key_changed_h, req_key_h, ans_key_h,
@@
-225,7
+237,6
@@
char (*request_name[]) = {
"ID", "METAKEY", "CHALLENGE", "CHAL_REPLY", "ACK",
"STATUS", "ERROR", "TERMREQ",
"PING", "PONG",
"ID", "METAKEY", "CHALLENGE", "CHAL_REPLY", "ACK",
"STATUS", "ERROR", "TERMREQ",
"PING", "PONG",
-// "ADD_NODE", "DEL_NODE",
"ADD_SUBNET", "DEL_SUBNET",
"ADD_EDGE", "DEL_EDGE",
"KEY_CHANGED", "REQ_KEY", "ANS_KEY",
"ADD_SUBNET", "DEL_SUBNET",
"ADD_EDGE", "DEL_EDGE",
"KEY_CHANGED", "REQ_KEY", "ANS_KEY",