> for the : setup_filepicker,
>
> in 0.7.2:
>
>
> static void
> setup_filepicker (GladeXML *xml,
> const char *name,
> const char *title,
> WirelessSecurity *parent,
> EAPMethodTLS *method,
> NMConnection *connection,
> const char *tag)
> {
> GtkWidget *widget;
> GtkFileFilter *filter;
> const char *filename = NULL;
> gboolean privkey = FALSE, client_cert = FALSE;
> if (!strcmp (tag, NMA_PATH_PHASE2_PRIVATE_KEY_TAG) || !strcmp (tag,
> NMA_PATH_PRIVATE_KEY_TAG))
> privkey = TRUE;
> if (!strcmp (tag, NMA_PATH_PHASE2_CLIENT_CERT_TAG) || !strcmp (tag,
> NMA_PATH_CLIENT_CERT_TAG))
> client_cert = TRUE;
> widget = glade_xml_get_widget (xml, name);
> g_assert (widget);
> gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (widget), TRUE);
> gtk_file_chooser_button_set_title (GTK_FILE_CHOOSER_BUTTON (widget),
> title);
> if (connection && tag) {
> filename = g_object_get_data (G_OBJECT (connection), tag);
> if (filename)
> gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (widget),
> filename);
> }
> /* Connect a special handler for private keys to intercept PKCS#12
> key types
> * and desensitize the user cert button.
> */
> if (privkey) {
> g_signal_connect (G_OBJECT (widget), "selection-changed",
> (GCallback) private_key_picker_file_set_cb,
> method);
> if (filename)
> private_key_picker_helper ((EAPMethod *) method, filename, FALSE);
> }
> g_signal_connect (G_OBJECT (widget), "selection-changed",
> (GCallback) wireless_security_changed_cb,
> parent);
> filter = eap_method_default_file_chooser_filter_new (privkey);
> gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (widget), filter);
> /* For some reason, GTK+ calls set_current_filter (..., NULL) from
> * gtkfilechooserdefault.c::show_and_select_files_finished_loading()
> on our
> * dialog; so force-reset the filter to what we want it to be
> whenever
> * it gets cleared.
> */
> if (client_cert)
> g_signal_connect (G_OBJECT (widget), "notify::filter", (GCallback)
> reset_filter, filter);
> }
>
>
> and in 0.8.1: there is a path funtion in it:
>
> static void
> setup_filepicker (GladeXML *xml,
> const char *name,
> const char *title,
> WirelessSecurity *parent,
> EAPMethodTLS *method,
> NMSetting8021x *s_8021x,
> SchemeFunc scheme_func,
> PathFunc path_func,
> gboolean privkey,
> gboolean client_cert)
> {
> GtkWidget *widget;
> GtkFileFilter *filter;
> const char *filename = NULL;
> widget = glade_xml_get_widget (xml, name);
> g_assert (widget);
> gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (widget), TRUE);
> gtk_file_chooser_button_set_title (GTK_FILE_CHOOSER_BUTTON (widget),
> title);
> if (s_8021x && path_func && scheme_func) {
> if (scheme_func (s_8021x) == NM_SETTING_802_1X_CK_SCHEME_PATH) {
> filename = path_func (s_8021x);
> if (filename)
> gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (widget),
> filename);
> }
> }
> /* Connect a special handler for private keys to intercept PKCS#12
> key types
> * and desensitize the user cert button.
> */
> if (privkey) {
> g_signal_connect (G_OBJECT (widget), "selection-changed",
> (GCallback) private_key_picker_file_set_cb,
> method);
> if (filename)
> private_key_picker_helper ((EAPMethod *) method, filename, FALSE);
> }
> g_signal_connect (G_OBJECT (widget), "selection-changed",
> (GCallback) wireless_security_changed_cb,
> parent);
> filter = eap_method_default_file_chooser_filter_new (privkey);
> gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (widget), filter);
> /* For some reason, GTK+ calls set_current_filter (..., NULL) from
> * gtkfilechooserdefault.c::show_and_select_files_finished_loading()
> on our
> * dialog; so force-reset the filter to what we want it to be
> whenever
> * it gets cleared.
> */
> if (client_cert)
> g_signal_connect (G_OBJECT (widget), "notify::filter", (GCallback)
> reset_filter, filter);
> }
>
> If I want to add the path function to the 0.7.2, could you please give
> me some support on how to do it ? Thanks!
>
> 2010/8/11 DAVID ZHOU <
zhouwei926 gmail com>
> Hi Dan,
>
> It is a .p12 file for sercurity key and .crt file for CA.
>
>
> 2010/8/11 Dan Williams <
dcbw redhat com>
>
>
> On Tue, 2010-08-10 at 09:19 +0800, DAVID ZHOU wrote:
> > Hi Dan,
> >
> > Thanks very much ! Here is my debug output. My steps
> is :
> >
> > 1. launch nm-connection-editor through the terminor
> and add a
> > connection, input the fields I mentioned in the
> previous mail. Close
> > it.
>
>
> What are the top few lines of your private key? Is it
> a .PEM file,
> a .pk12 file, or a .der file? It appears that
> nm-connection-editor is
> not able to determine the private key type, which is
> used to verify that
> the password you enter will actually unlock the
> private key you've
> specified.
>
> For example, an old-style openssl RSA private key
> starts like this:
>
> -----BEGIN RSA PRIVATE KEY-----
> Proc-Type: 4,ENCRYPTED
> DEK-Info: DES-EDE3-CBC,5FA2D6D6242C26D0
>
>
> PKCS#12 and DER files are actually binary and won't
> have this header,
> but it would be useful to know what kind of key yours
> is so we can make
> sure that it's supported.
>
> Dan
>
>
> > 2. Re-launch the nm-connection editor again and
> check the connection.
> >
> > 3. the debug output
> > davidzhou debianzhouwei:~$ nm-connection-editor
> > (nm-connection-editor:19238): GLib-CRITICAL **:
> g_hash_table_foreach:
> > assertion `hash_table != NULL' failed
> > ** (nm-connection-editor:19238): WARNING **:
> nm_connection_list_new:
> > failed to load VPN plugins: Couldn't read VPN .name
> files
> > directory /etc/NetworkManager/VPN.
> > (nm-connection-editor:19238): libglade-WARNING **:
> unknown property
> > `orientation' for class `GtkVBox'
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless:
> > ssid
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless:
> > ssid
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Error:
> couldn't verify
> > private key: 3 Unable to determine private key type.
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Error:
> couldn't verify
> > private key: 3 Unable to determine private key type.
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Error:
> couldn't verify
> > private key: 3 Unable to determine private key type.
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Error:
> couldn't verify
> > private key: 3 Unable to determine private key type.
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Error:
> couldn't verify
> > private key: 3 Unable to determine private key type.
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): WARNING **: Error:
> couldn't verify
> > private key: 3 Unable to determine private key type.
> > ** (nm-connection-editor:19238): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> > ** (nm-connection-editor:19238): CRITICAL **:
> > crypto_get_private_key_data: assertion `password !=
> NULL' failed
> > davidzhou debianzhouwei:~$ nm-connection-editor
> > (nm-connection-editor:19302): GLib-CRITICAL **:
> g_hash_table_foreach:
> > assertion `hash_table != NULL' failed
> > ** (nm-connection-editor:19302): WARNING **:
> nm_connection_list_new:
> > failed to load VPN plugins: Couldn't read VPN .name
> files
> > directory /etc/NetworkManager/VPN.
> > (nm-connection-editor:19302): libglade-WARNING **:
> unknown property
> > `orientation' for class `GtkVBox'
> > ** (nm-connection-editor:19302): WARNING **: Invalid
> setting Wireless
> > Security: Invalid wireless security
> >
> >
> >
> >
> > 2010/8/10 Dan Williams <
dcbw redhat com>
> > On Mon, 2010-08-09 at 14:20 +0800, DAVID
> ZHOU wrote:
> > > Hi,
> > > I am using Debian Lenny with
> Network-Manager 0.7.2
> > > Here is the problem I am currently meet:
> > >
> > > Use System--->Preference--->Network
> Connections to add a
> > wireless
> > > connection, and I use WPA/WPA2
> Enterprices, TLS, after I
> > input
> > > identities,
> > > select the right CA file and Private Key
> file, password.
> > After that I
> > > close the Network Connections Dialogue.
> Then reopen the
> > Dialogue, only
> > > find that the CA file path and Private Key
> file path is
> > missing. As
> > > the followed picture shown.
> >
> >
> > Can you run 'nm-connection-editor' in a
> terminal, reproduce
> > the problem
> > in the editor, and then reply with the debug
> output from that
> > terminal?
> > That might give us a better idea of what's
> going on.
> >
> > Dan
> >
> >
>
>
>
>
>