projects
/
tinc
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0966cca
)
Validate Name before using it in a filename when generating a keypair.
author
Guus Sliepen
<guus@tinc-vpn.org>
Tue, 20 Jan 2009 13:21:50 +0000
(14:21 +0100)
committer
Guus Sliepen
<guus@tinc-vpn.org>
Tue, 20 Jan 2009 13:21:50 +0000
(14:21 +0100)
src/tincd.c
patch
|
blob
|
history
diff --git
a/src/tincd.c
b/src/tincd.c
index
c4e8fad
..
5fedd69
100644
(file)
--- a/
src/tincd.c
+++ b/
src/tincd.c
@@
-292,6
+292,18
@@
static bool keygen(int bits)
char *name = NULL;
char *filename;
char *name = NULL;
char *filename;
+ get_config_string(lookup_config(config_tree, "Name"), &name);
+
+ if(name) {
+ if(!check_id(name)) {
+ fprintf(stderr, _("Invalid name for myself!\n"));
+ return false;
+ }
+ asprintf(&filename, "%s/hosts/%s", confbase, name);
+ free(name);
+ } else
+ asprintf(&filename, "%s/rsa_key.pub", confbase);
+
fprintf(stderr, _("Generating %d bits keys:\n"), bits);
rsa_key = RSA_generate_key(bits, 0x10001, indicator, NULL);
fprintf(stderr, _("Generating %d bits keys:\n"), bits);
rsa_key = RSA_generate_key(bits, 0x10001, indicator, NULL);
@@
-319,13
+331,6
@@
static bool keygen(int bits)
fclose(f);
free(filename);
fclose(f);
free(filename);
- get_config_string(lookup_config(config_tree, "Name"), &name);
-
- if(name)
- asprintf(&filename, "%s/hosts/%s", confbase, name);
- else
- asprintf(&filename, "%s/rsa_key.pub", confbase);
-
f = ask_and_open(filename, _("public RSA key"), "a");
if(!f)
f = ask_and_open(filename, _("public RSA key"), "a");
if(!f)