Hi Dan,

For the gconf part, it is correct and the informations are saved.
My problem is in system connection part.

2010/8/12 Dan Williams <[email protected]>

> On Wed, 2010-08-11 at 09:51 +0800, DAVID ZHOU wrote:
> > Hi Dan,
> >
> > I checked the source code of network-manager-applet 0.7.2 and 0.8.1,
> > find there are differences in eap-method-tls.c:
>
> Doing the path-based stuff in 0.8.x was a pretty big API change, and not
> something I'd recommend porting back to 0.7.2.  But PKCS#12 should work
> on 0.7.2 as well, just differently.
>
> If you're able to play with the code, would you mind doing some
> debugging for me?
>
> First though, when the connection has been saved (ie, you hit Apply)
> quit the editor and then look through GConf for the connection.  What
> are they keys in the 802-1x directory for that conenction?  You can use
> gconf-editor or gconftool-2 --dump /system/networking/connections to get
> those.
>
> If it's a system connection that you're trying to save & re-edit, then
> the issue could be something completely different.  Is it?
>
> Dan
>
> > 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 <[email protected]>
> >         Hi Dan,
> >
> >         It is a .p12 file for sercurity key and .crt file for CA.
> >
> >
> >         2010/8/11 Dan Williams <[email protected]>
> >
> >
> >                 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
> >                 > davidz...@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
> >                 > davidz...@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 <[email protected]>
> >                 >         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
> >                 >
> >                 >
> >
> >
> >
> >
> >
>
>
>
_______________________________________________
networkmanager-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to