[network-manager-applet/lr/pkcs11: 23/24] fixup! libnma: add the PKCS#11 capable certificate chooser



commit 1d13677f9b93cd8965709bd3dc948799993b8dc5
Author: Lubomir Rintel <lkundrak v3 sk>
Date:   Wed Mar 8 15:23:59 2017 +0100

    fixup! libnma: add the PKCS#11 capable certificate chooser
    
    Add URI setters/getters.

 src/libnma/nma-pkcs11-cert-chooser.c |   85 ++++++---------------------------
 1 files changed, 16 insertions(+), 69 deletions(-)
---
diff --git a/src/libnma/nma-pkcs11-cert-chooser.c b/src/libnma/nma-pkcs11-cert-chooser.c
index 18cb402..fc8e388 100644
--- a/src/libnma/nma-pkcs11-cert-chooser.c
+++ b/src/libnma/nma-pkcs11-cert-chooser.c
@@ -67,25 +67,9 @@ get_key_password (NMACertChooser *cert_chooser)
 }
 
 static void
-set_key (NMACertChooser *cert_chooser, const gchar *value, NMSetting8021xCKScheme scheme)
+set_key_uri (NMACertChooser *cert_chooser, const gchar *uri)
 {
        NMAPkcs11CertChooserPrivate *priv = NMA_PKCS11_CERT_CHOOSER_GET_PRIVATE (cert_chooser);
-       gs_free gchar *uri = NULL;
-
-       if (!value)
-               return;
-
-       switch (scheme) {
-       case NM_SETTING_802_1X_CK_SCHEME_PATH:
-               uri = g_strdup_printf (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH "%s", value);
-               break;
-       case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-               uri = g_strdup (value);
-               break;
-       default:
-               g_warning ("The key '%s' uses an unknown scheme %d\n", value, scheme);
-               return;
-       }
 
        gtk_widget_set_sensitive (priv->key_button, TRUE);
        gtk_widget_set_sensitive (priv->key_button_label, TRUE);
@@ -95,25 +79,11 @@ set_key (NMACertChooser *cert_chooser, const gchar *value, NMSetting8021xCKSchem
 }
 
 static gchar *
-get_key (NMACertChooser *cert_chooser, NMSetting8021xCKScheme *scheme)
+get_key_uri (NMACertChooser *cert_chooser)
 {
        NMAPkcs11CertChooserPrivate *priv = NMA_PKCS11_CERT_CHOOSER_GET_PRIVATE (cert_chooser);
-       const gchar *uri = NULL;
-
-       uri = nma_cert_chooser_button_get_uri (NMA_CERT_CHOOSER_BUTTON (priv->key_button));
-       if (!uri) {
-               *scheme = NM_SETTING_802_1X_CK_SCHEME_UNKNOWN;
-               return NULL;
-       } else if (g_str_has_prefix (uri, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH)) {
-               *scheme = NM_SETTING_802_1X_CK_SCHEME_PATH;
-               return g_strdup (uri + sizeof (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH) - 1);
-       } else if (g_str_has_prefix (uri, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11)) {
-               *scheme = NM_SETTING_802_1X_CK_SCHEME_PKCS11;
-               return g_strdup (uri);
-       } else {
-               g_warning ("The dialog returned URI of unknown scheme: '%s'\n", uri);
-               return NULL;
-       }
+
+       return g_strdup (nma_cert_chooser_button_get_uri (NMA_CERT_CHOOSER_BUTTON (priv->key_button)));
 }
 
 static void
@@ -136,27 +106,18 @@ get_cert_password (NMACertChooser *cert_chooser)
 }
 
 static void
-set_cert (NMACertChooser *cert_chooser, const gchar *value, NMSetting8021xCKScheme scheme)
+set_cert_uri (NMACertChooser *cert_chooser, const gchar *uri)
 {
        NMAPkcs11CertChooserPrivate *priv = NMA_PKCS11_CERT_CHOOSER_GET_PRIVATE (cert_chooser);
-       gs_free gchar *uri = NULL;
 
-       if (!value)
-               return;
-
-       switch (scheme) {
-       case NM_SETTING_802_1X_CK_SCHEME_PATH:
-               uri = g_strdup_printf (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH "%s", value);
+       if (g_str_has_prefix (uri, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH)) {
                gtk_widget_set_sensitive (priv->cert_password, FALSE);
                gtk_widget_set_sensitive (priv->cert_password_label, FALSE);
-               break;
-       case NM_SETTING_802_1X_CK_SCHEME_PKCS11:
-               uri = g_strdup (value);
+       } else if (g_str_has_prefix (uri, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11)) {
                gtk_widget_set_sensitive (priv->cert_password, TRUE);
                gtk_widget_set_sensitive (priv->cert_password_label, TRUE);
-               break;
-       default:
-               g_warning ("The certificate '%s' uses an unknown scheme %d\n", value, scheme);
+       } else {
+               g_warning ("The certificate '%s' uses an unknown scheme\n", uri);
                return;
        }
 
@@ -164,25 +125,11 @@ set_cert (NMACertChooser *cert_chooser, const gchar *value, NMSetting8021xCKSche
 }
 
 static gchar *
-get_cert (NMACertChooser *cert_chooser, NMSetting8021xCKScheme *scheme)
+get_cert_uri (NMACertChooser *cert_chooser)
 {
        NMAPkcs11CertChooserPrivate *priv = NMA_PKCS11_CERT_CHOOSER_GET_PRIVATE (cert_chooser);
-       const gchar *uri = NULL;
-
-       uri = nma_cert_chooser_button_get_uri (NMA_CERT_CHOOSER_BUTTON (priv->cert_button));
-       if (!uri) {
-               *scheme = NM_SETTING_802_1X_CK_SCHEME_UNKNOWN;
-               return NULL;
-       } else if (g_str_has_prefix (uri, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH)) {
-               *scheme = NM_SETTING_802_1X_CK_SCHEME_PATH;
-               return g_strdup (uri + sizeof (NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PATH) -1);
-       } else if (g_str_has_prefix (uri, NM_SETTING_802_1X_CERT_SCHEME_PREFIX_PKCS11)) {
-               *scheme = NM_SETTING_802_1X_CK_SCHEME_PKCS11;
-               return g_strdup (uri);
-       } else {
-               g_warning ("The dialog returned URI of unknown scheme: '%s'\n", uri);
-               return NULL;
-       }
+
+       return g_strdup (nma_cert_chooser_button_get_uri (NMA_CERT_CHOOSER_BUTTON (priv->cert_button)));
 }
 
 static void
@@ -483,12 +430,12 @@ nma_pkcs11_cert_chooser_class_init (NMAPkcs11CertChooserClass *klass)
        chooser_class->set_title = set_title;
        chooser_class->set_flags = set_flags;
 
-       chooser_class->set_cert = set_cert;
-       chooser_class->get_cert = get_cert;
+       chooser_class->set_cert_uri = set_cert_uri;
+       chooser_class->get_cert_uri = get_cert_uri;
        chooser_class->set_cert_password = set_cert_password;
        chooser_class->get_cert_password = get_cert_password;
-       chooser_class->set_key = set_key;
-       chooser_class->get_key = get_key;
+       chooser_class->set_key_uri = set_key_uri;
+       chooser_class->get_key_uri = get_key_uri;
        chooser_class->set_key_password = set_key_password;
        chooser_class->get_key_password = get_key_password;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]