diff options
Diffstat (limited to 'src/tools/irm/irm_name_create.c')
-rw-r--r-- | src/tools/irm/irm_name_create.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/tools/irm/irm_name_create.c b/src/tools/irm/irm_name_create.c index f363ac3e..22341d2e 100644 --- a/src/tools/irm/irm_name_create.c +++ b/src/tools/irm/irm_name_create.c @@ -51,8 +51,10 @@ #define RR "round-robin" #define SPILL "spillover" +#define SENC "<security_dir>/server/<name>/enc.cfg" #define SCRT "<security_dir>/server/<name>/crt.pem" #define SKEY "<security_dir>/server/<name>/key.pem" +#define CENC "<security_dir>/client/<name>/enc.cfg" #define CCRT "<security_dir>/client/<name>/crt.pem" #define CKEY "<security_dir>/client/<name>/key.pem" @@ -61,8 +63,10 @@ static void usage(void) printf("Usage: irm name create\n" " <name>. max %d chars.\n" " [lb LB_POLICY], default: %s\n" + " [sencpath <path>, default: " SENC "]\n" " [scrtpath <path>, default: " SCRT "]\n" " [skeypath <path>, default: " SKEY "]\n" + " [cencpath <path>, default: " CENC "]\n" " [ccrtpath <path>, default: " CCRT "]\n" " [ckeypath <path>, default: " CKEY "]\n" "\n" @@ -101,8 +105,10 @@ int do_create_name(int argc, { struct name_info info = {}; char * name = NULL; + char * sencpath = NULL; char * scrtpath = NULL; char * skeypath = NULL; + char * cencpath = NULL; char * ccrtpath = NULL; char * ckeypath = NULL; char * lb_pol = RR; @@ -113,10 +119,14 @@ int do_create_name(int argc, while (argc > 0) { if (matches(*argv, "lb") == 0) { lb_pol = *(argv + 1); + } else if (matches(*argv, "sencpath") == 0) { + sencpath = *(argv + 1); } else if (matches(*argv, "scrtpath") == 0) { scrtpath = *(argv + 1); } else if (matches(*argv, "skeypath") == 0) { skeypath = *(argv + 1); + } else if (matches(*argv, "cencpath") == 0) { + cencpath = *(argv + 1); } else if (matches(*argv, "ccrtpath") == 0) { ccrtpath = *(argv + 1); } else if (matches(*argv, "ckeypath") == 0) { @@ -141,12 +151,18 @@ int do_create_name(int argc, strcpy(info.name, name); + if (sencpath != NULL && cp_chk_path(info.s.enc, sencpath) < 0) + goto fail; + if (scrtpath != NULL && cp_chk_path(info.s.crt, scrtpath) < 0) goto fail; if (skeypath != NULL && cp_chk_path(info.s.key, skeypath) < 0) goto fail; + if (cencpath != NULL && cp_chk_path(info.c.enc, cencpath) < 0) + goto fail; + if (ccrtpath != NULL && cp_chk_path(info.c.crt, ccrtpath) < 0) goto fail; |