projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rename controlcookie file to pidfile.
[tinc]
/
src
/
control.c
diff --git
a/src/control.c
b/src/control.c
index
b8e5204
..
01f25aa
100644
(file)
--- a/
src/control.c
+++ b/
src/control.c
@@
-24,12
+24,16
@@
#include "control_common.h"
#include "graph.h"
#include "logger.h"
#include "control_common.h"
#include "graph.h"
#include "logger.h"
+#include "meta.h"
+#include "net.h"
#include "protocol.h"
#include "protocol.h"
+#include "route.h"
+#include "splay_tree.h"
#include "utils.h"
#include "xalloc.h"
char controlcookie[65];
#include "utils.h"
#include "xalloc.h"
char controlcookie[65];
-extern char *
controlcooki
ename;
+extern char *
pidfil
ename;
static bool control_return(connection_t *c, int type, int error) {
return send_request(c, "%d %d %d", CONTROL, type, error);
static bool control_return(connection_t *c, int type, int error) {
return send_request(c, "%d %d %d", CONTROL, type, error);
@@
-113,26
+117,34
@@
bool control_h(connection_t *c, char *request) {
return control_return(c, REQ_DISCONNECT, found ? 0 : -2);
}
return control_return(c, REQ_DISCONNECT, found ? 0 : -2);
}
+ case REQ_DUMP_TRAFFIC:
+ return dump_traffic(c);
+
+ case REQ_PCAP:
+ c->status.pcap = true;
+ pcap = true;
+ return true;
+
default:
return send_request(c, "%d %d", CONTROL, REQ_INVALID);
}
}
default:
return send_request(c, "%d %d", CONTROL, REQ_INVALID);
}
}
-bool init_control() {
+bool init_control(
void
) {
randomize(controlcookie, sizeof controlcookie / 2);
bin2hex(controlcookie, controlcookie, sizeof controlcookie / 2);
controlcookie[sizeof controlcookie - 1] = 0;
randomize(controlcookie, sizeof controlcookie / 2);
bin2hex(controlcookie, controlcookie, sizeof controlcookie / 2);
controlcookie[sizeof controlcookie - 1] = 0;
- FILE *f = fopen(
controlcooki
ename, "w");
+ FILE *f = fopen(
pidfil
ename, "w");
if(!f) {
if(!f) {
- logger(LOG_ERR, "Cannot write control socket cookie file %s: %s",
controlcooki
ename, strerror(errno));
+ logger(LOG_ERR, "Cannot write control socket cookie file %s: %s",
pidfil
ename, strerror(errno));
return false;
}
#ifdef HAVE_FCHMOD
fchmod(fileno(f), 0600);
#else
return false;
}
#ifdef HAVE_FCHMOD
fchmod(fileno(f), 0600);
#else
- chmod(
controlcooki
ename, 0600);
+ chmod(
pidfil
ename, 0600);
#endif
fprintf(f, "%s %s %d\n", controlcookie, myport, getpid());
#endif
fprintf(f, "%s %s %d\n", controlcookie, myport, getpid());
@@
-141,6
+153,6
@@
bool init_control() {
return true;
}
return true;
}
-void exit_control() {
- unlink(
controlcooki
ename);
+void exit_control(
void
) {
+ unlink(
pidfil
ename);
}
}