projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Allow running tinc without RSA keys.
[tinc]
/
src
/
net_setup.c
diff --git
a/src/net_setup.c
b/src/net_setup.c
index
0a99daa
..
29f1212
100644
(file)
--- a/
src/net_setup.c
+++ b/
src/net_setup.c
@@
-277,6
+277,8
@@
static bool read_rsa_private_key(void) {
if(!fp) {
logger(DEBUG_ALWAYS, LOG_ERR, "Error reading RSA private key file `%s': %s",
fname, strerror(errno));
if(!fp) {
logger(DEBUG_ALWAYS, LOG_ERR, "Error reading RSA private key file `%s': %s",
fname, strerror(errno));
+ if(errno == ENOENT)
+ logger(DEBUG_ALWAYS, LOG_INFO, "Create an RSA keypair with `tinc -n %s generate-rsa-keys'.", netname ?: ".");
free(fname);
return false;
}
free(fname);
return false;
}
@@
-780,8
+782,14
@@
static bool setup_myself(void) {
return false;
}
return false;
}
- if(!read_rsa_private_key())
- return false;
+ if(!read_rsa_private_key()) {
+ if(experimental) {
+ logger(DEBUG_ALWAYS, LOG_WARNING, "Support for legacy protocol disabled.");
+ } else {
+ logger(DEBUG_ALWAYS, LOG_ERR, "No private keys available, cannot start tinc!");
+ return false;
+ }
+ }
/* Ensure myport is numeric */
/* Ensure myport is numeric */
@@
-1114,7
+1122,7
@@
void close_network_connections(void) {
if (!device_standby)
device_disable();
if (!device_standby)
device_disable();
-
if(myport)
free(myport);
+ free(myport);
if (device_fd >= 0)
io_del(&device_io);
if (device_fd >= 0)
io_del(&device_io);
@@
-1124,7
+1132,8
@@
void close_network_connections(void) {
exit_control();
free(myname);
exit_control();
free(myname);
- myname = NULL;
+ free(scriptextension);
+ free(scriptinterpreter);
return;
}
return;
}