On 10/05/2019 14:11, Arne Schwabe wrote:
> This change is preperation for changing the way --genkey works.
> ---
>  src/openvpn/crypto.c    | 13 +++++++++++--
>  src/openvpn/tls_crypt.c | 13 +++++++++++--
>  2 files changed, 22 insertions(+), 4 deletions(-)
> 
> diff --git a/src/openvpn/crypto.c b/src/openvpn/crypto.c
> index ff9dbfdc..eb56421b 100644
> --- a/src/openvpn/crypto.c
> +++ b/src/openvpn/crypto.c
> @@ -1465,8 +1465,13 @@ write_key_file(const int nkeys, const char *filename)
>  
>      buf_printf(&out, "%s\n", static_key_foot);
>  
> +    /* write key file to stdout if no filename given */
> +    if (!filename || strcmp(filename, "")==0)
> +    {
> +        printf("%s\n", BPTR(&out));
> +    }
>      /* write key file, now formatted in out, to file */
> -    if (!buffer_write_file(filename, &out))
> +    else if (!buffer_write_file(filename, &out))
>      {
>          nbits = -1;
>      }
> @@ -1870,7 +1875,11 @@ write_pem_key_file(const char *filename, const char 
> *pem_name)
>          goto cleanup;
>      }
>  
> -    if (!buffer_write_file(filename, &server_key_pem))
> +    if (!filename || strcmp(filename, "")==0)
> +    {
> +        printf("%s\n", BPTR(&server_key_pem));
> +    }
> +    else if (!buffer_write_file(filename, &server_key_pem))
>      {
>          msg(M_ERR, "ERROR: could not write key file");
>          goto cleanup;
> diff --git a/src/openvpn/tls_crypt.c b/src/openvpn/tls_crypt.c
> index d6a82252..e8889e93 100644
> --- a/src/openvpn/tls_crypt.c
> +++ b/src/openvpn/tls_crypt.c
> @@ -697,7 +697,16 @@ tls_crypt_v2_write_client_key_file(const char *filename,
>          goto cleanup;
>      }
>  
> -    if (!buffer_write_file(filename, &client_key_pem))
> +    const char *client_filename = filename;
> +    const char *client_inline = NULL;
> +
> +    if (!filename || streq(filename, ""))
> +    {
> +        printf("%s\n", BPTR(&client_key_pem));
> +        client_filename = INLINE_FILE_TAG;
> +        client_inline = (const char *)BPTR(&client_key_pem);
> +    }
> +    else if (!buffer_write_file(filename, &client_key_pem))
>      {
>          msg(M_FATAL, "ERROR: could not write client key file");
>          goto cleanup;
> @@ -708,7 +717,7 @@ tls_crypt_v2_write_client_key_file(const char *filename,
>      struct buffer test_wrapped_client_key;
>      msg(D_GENKEY, "Testing client-side key loading...");
>      tls_crypt_v2_init_client_key(&test_client_key, &test_wrapped_client_key,
> -                                 filename, NULL);
> +                                 client_filename, client_inline);
>      free_key_ctx_bi(&test_client_key);
>  
>      /* Sanity check: unwrap and load client key (as "server") */
> 

Acked-By: David Sommerseth <dav...@openvpn.net>

-- 
kind regards,

David Sommerseth
OpenVPN Inc



_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to