On Tue, 2014-12-16 at 22:19 +0100, Steffan Karger wrote:
> 
> Since this makes a '--show-pkcs11-ids' without the module argument
> valid
> for some openvpn builds, I think it is nicer to give a proper error
> message to the user. E.g. something like:

Like this? If this incremental patch is what you were after I'll
resubmit the original 'PATCH 2' with it.

diff --git a/src/openvpn/options.c b/src/openvpn/options.c
index 5492516..66453b5 100644
--- a/src/openvpn/options.c
+++ b/src/openvpn/options.c
@@ -738,7 +738,11 @@ static const char usage_message[] =
 #ifdef ENABLE_PKCS11
   "\n"
   "PKCS#11 standalone options:\n"
-  "--show-pkcs11-ids provider [cert_private] : Show PKCS#11 available ids.\n" 
+#ifndef DEFAULT_PKCS11_MODULE
+  "--show-pkcs11-ids [provider] [cert_private] : Show PKCS#11 available ids.\n"
+#else
+  "--show-pkcs11-ids provider [cert_private] : Show PKCS#11 available ids.\n"
+#endif
   "                                            --verb option can be added 
*BEFORE* this.\n"
 #endif                         /* ENABLE_PKCS11 */
   "\n"
@@ -6936,9 +6940,6 @@ add_option (struct options *options,
 #endif /* ENABLE_CRYPTO */
 #ifdef ENABLE_PKCS11
   else if (streq (p[0], "show-pkcs11-ids")
-#ifndef DEFAULT_PKCS11_MODULE
-          && p[1]
-#endif
           )
     {
       char *provider =  p[1];
@@ -6958,6 +6959,12 @@ add_option (struct options *options,
          cert_private = i;
        }
       }
+#else
+      if (!provider)
+       {
+         msg (msglevel, "--show-pkcs11-ids requires a provider parameter");
+            goto err;
+       }
 #endif
       VERIFY_PERMISSION (OPT_P_GENERAL);
 


-- 
dwmw2

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to