mirror of
https://github.com/ntop/n2n.git
synced 2024-09-20 00:51:10 +02:00
Merge pull request #254 from Logan007/optArgs
fixed A/z parameter handling
This commit is contained in:
commit
76b6a8aa40
39
edge.c
39
edge.c
|
@ -188,18 +188,16 @@ static void help() {
|
||||||
" | causes connections stall when not properly supported.\n");
|
" | causes connections stall when not properly supported.\n");
|
||||||
#endif
|
#endif
|
||||||
printf("-r | Enable packet forwarding through n2n community.\n");
|
printf("-r | Enable packet forwarding through n2n community.\n");
|
||||||
printf("-A1 | Disable payload encryption. Do not use with -k.\n");
|
printf("-A1 | Disable payload encryption. Do not use with key (defaulting to Twofish then).\n");
|
||||||
printf("-A2 | Use Twofish for payload encryption (default). Requires a key (-k).\n");
|
printf("-A2 | Use Twofish for payload encryption (default). Requires a key.\n");
|
||||||
#ifdef N2N_HAVE_AES
|
#ifdef N2N_HAVE_AES
|
||||||
printf("-A3 or -A (deprecated) | Use AES-CBC for payload encryption. Requires a key (-k).\n");
|
printf("-A3 or -A (deprecated) | Use AES-CBC for payload encryption. Requires a key.\n");
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_OPENSSL_1_1
|
#ifdef HAVE_OPENSSL_1_1
|
||||||
printf("-A4 | Use ChaCha20 for payload encryption. Requires a key.\n");
|
printf("-A4 | Use ChaCha20 for payload encryption. Requires a key.\n");
|
||||||
printf("-A5 | Use Speck for payload encryption. Requires a key.\n");
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_OPENSSL_1_1
|
|
||||||
printf("-A4 | Use ChaCha20 for payload encryption. Requires a key (-k).\n");
|
|
||||||
#endif
|
#endif
|
||||||
|
// COMING SOON, not yet implemented in setPayloadEncryption(...)
|
||||||
|
// printf("-A5 | Use Speck for payload encryption. Requires a key.\n");
|
||||||
printf("-z1 or -z | Enable lzo1x compression for outgoing data packets\n");
|
printf("-z1 or -z | Enable lzo1x compression for outgoing data packets\n");
|
||||||
#ifdef N2N_HAVE_ZSTD
|
#ifdef N2N_HAVE_ZSTD
|
||||||
printf("-z2 | Enable zstd compression for outgoing data packets\n");
|
printf("-z2 | Enable zstd compression for outgoing data packets\n");
|
||||||
|
@ -554,7 +552,7 @@ static int loadFromCLI(int argc, char *argv[], n2n_edge_conf_t *conf, n2n_priv_c
|
||||||
u_char c;
|
u_char c;
|
||||||
|
|
||||||
while((c = getopt_long(argc, argv,
|
while((c = getopt_long(argc, argv,
|
||||||
"k:a:bc:Eu:g:m:M:s:d:l:p:fvhrt:i:SDL:z:A:"
|
"k:a:bc:Eu:g:m:M:s:d:l:p:fvhrt:i:SDL:z::A::"
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
"T:n:"
|
"T:n:"
|
||||||
#endif
|
#endif
|
||||||
|
@ -639,20 +637,23 @@ static int loadFromFile(const char *path, n2n_edge_conf_t *conf, n2n_priv_config
|
||||||
if(equal) {
|
if(equal) {
|
||||||
equal[0] = '\0';
|
equal[0] = '\0';
|
||||||
|
|
||||||
/* Adding an exception for -A_ -z_ */
|
value = &equal[1];
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
value = NULL;
|
||||||
|
|
||||||
|
/* Adding an exception for -A_ -z_ which can come
|
||||||
|
without '=' and even without any further data */
|
||||||
|
|
||||||
if (key[0] == 'z') {
|
if (key[0] == 'z') {
|
||||||
value = &key[1];
|
if (key[1]) value = &key[1];
|
||||||
key = "z";
|
key = "z";
|
||||||
} else if (key[0] == 'A') {
|
} else if (key[0] == 'A') {
|
||||||
value = &key[1];
|
if (key[1]) value = &key[1];
|
||||||
key = "A";
|
key = "A";
|
||||||
} else {
|
|
||||||
value = &equal[1];
|
|
||||||
}
|
}
|
||||||
} else
|
}
|
||||||
value = "";
|
|
||||||
|
|
||||||
// traceEvent(TRACE_NORMAL, "key: %c value: %s", key[0], value);
|
// traceEvent(TRACE_NORMAL, "key: %c value: %s", key[0], value);
|
||||||
setOption(key[0], value, ec, conf);
|
setOption(key[0], value, ec, conf);
|
||||||
} else {
|
} else {
|
||||||
|
@ -848,9 +849,9 @@ int main(int argc, char* argv[]) {
|
||||||
|
|
||||||
if(conf.transop_id == N2N_TRANSFORM_ID_NULL) {
|
if(conf.transop_id == N2N_TRANSFORM_ID_NULL) {
|
||||||
if(conf.encrypt_key) {
|
if(conf.encrypt_key) {
|
||||||
traceEvent(TRACE_WARNING, "Ignoring -k as -A1 was set");
|
/* make sure that Twofish is default cipher if key only (and no cipher) is specified */
|
||||||
free(conf.encrypt_key);
|
traceEvent(TRACE_WARNING, "Switching to Twofish as key was provided.");
|
||||||
conf.encrypt_key = NULL;
|
conf.transop_id = N2N_TRANSFORM_ID_TWOFISH;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user