aboutsummaryrefslogtreecommitdiffstats
path: root/smime
Commit message (Collapse)AuthorAgeFilesLines
* check certlist != NULL, CERT_LIST_EMPTY dereferences it. Bug #52457.Not Zed2004-01-082-1/+6
| | | | | | | | | 2004-01-07 Not Zed <NotZed@Ximian.com> * gui/e-cert-selector.c (ecs_find_current): check certlist != NULL, CERT_LIST_EMPTY dereferences it. Bug #52457. svn path=/trunk/; revision=24102
* oops, remove hardcoded test passwd :)Chris Toshok2004-01-062-1/+7
| | | | | | | | | 2004-01-05 Chris Toshok <toshok@ximian.com> * lib/e-cert-db.c (e_cert_db_login_to_slot): oops, remove hardcoded test passwd :) svn path=/trunk/; revision=24061
* new function, implement the password dialog for PK11 slot authentication.Chris Toshok2004-01-0611-240/+581
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-05 Chris Toshok <toshok@ximian.com> * gui/component.c (smime_pk11_passwd): new function, implement the password dialog for PK11 slot authentication. (smime_component_init): new function, initialize any gui related signals that the backend exposes. * gui/certificate-manager.c (import_your): use e_cert_db_import_pkcs12_file. (delete_your): new function, implement. (view_your): same. (backup_your): new function, stub out. (backup_all_your): same. (create_yourcerts_treemodel): new function. (initialize_yourcerts_ui): do all the sorting foo, and hook up all the signals. (ainitialize_contactcerts_ui): same. (initialize_authoritycerts_ui): same. (view_contact): treemodel -> streemodel. (view_ca): same. (delete_contact): same, and convert from the sort iter to the child iter before we remove. (delete_ca): same. (import_contact): call gtk_tree_view_expand_all. (import_ca): same. (add_user_cert): append to the child model, not the sort model. (add_contact_cert): same. (add_ca_cert): same. (unload_certs): implement the E_CERT_USER case, and fix the USER/CA stuff to use the sorted treemodels. (load_certs): remove spew. (populate_ui): expand all the tree views. * lib/.cvsignore: ignore the generated marshalling files. * lib/Makefile.am: add the marshalling foo. * lib/smime-marshal.list (BOOL): new file. * lib/e-cert-db.c (pk11_password): new function, emit the pk11_passwd signal. (initialize_nss): new function, split out all the nss init code here, and add all the PKCS12 cipers. (install_loadable_roots): new function, split this code out from the class_init. (e_cert_db_class_init): call initialize_nss() and install_loadable_roots(). also register our pk11_passwd signal. (e_cert_db_import_pkcs12_file): implement. (e_cert_db_login_to_slot): new function, implement. * lib/e-cert-db.h (struct _ECertDBClass): add pk11_passwd signal, and add prototype for e_cert_db_login_to_slot. * lib/e-pkcs12.c (input_to_decoder): remove spew. (prompt_for_password): fix this. (import_from_file_helper): fix fix fix, and remove spew. (write_export_file): nuke, we don't need this. svn path=/trunk/; revision=24058
* use <tt> markup around the fingerprints, and italicize the Not part ofChris Toshok2004-01-062-10/+64
| | | | | | | | | | | | | 2004-01-04 Chris Toshok <toshok@ximian.com> * gui/certificate-viewer.c (fill_in_general): use <tt> markup around the fingerprints, and italicize the Not part of certificate text. (fill_in_details): create a monospace text tag to be used in the field value textbuffer. (fields_selection_changed): use the text tag when inserting text. svn path=/trunk/; revision=24055
* if we get no matching certs, show empty menu rather than crashing. #51922.Not Zed2003-12-102-13/+20
| | | | | | | | | 2003-12-10 Not Zed <NotZed@Ximian.com> * gui/e-cert-selector.c (e_cert_selector_new): if we get no matching certs, show empty menu rather than crashing. #51922. svn path=/trunk/; revision=23898
* fix for C89JP Rosevear2003-12-064-8/+5
| | | | | | | | 2003-12-05 JP Rosevear <jpr@ximian.com> * lib/e-cert.c: fix for C89 svn path=/trunk/; revision=23655
* set the window title based on e_cert_get_window_title.Chris Toshok2003-12-054-6/+30
| | | | | | | | | | | | | 2003-12-04 Chris Toshok <toshok@ximian.com> * gui/certificate-viewer.c (certificate_viewer_show): set the window title based on e_cert_get_window_title. * lib/e-cert.c (e_cert_get_window_title): new function, for use with the certificate viewer. (create_asn1_struct): call e_cert_get_window_title. svn path=/trunk/; revision=23643
* add prototype for e_cert_get_asn1_struct.Chris Toshok2003-12-056-39/+937
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-12-04 Chris Toshok <toshok@ximian.com> * lib/e-cert.h: add prototype for e_cert_get_asn1_struct. * lib/e-cert.c (e_cert_dispose): unref the asn1 object. (get_int_value): copy and massage from mozilla source. (process_version): same. (process_serial_number_der): same. (get_default_oid_format): same. (get_oid_text): same. (process_raw_bytes): same. (process_sec_algorithm_id): same. (process_subject_public_key_info): same. (process_ns_cert_type_extensions): same. (process_key_usage_extensions): same. (process_extension_data): same. (process_single_extension): same. (process_extensions): same. (process_name): same. (create_tbs_certificate_asn1_struct): same. (create_asn1_struct): same. (e_cert_get_asn1_struct): new function. * lib/e-asn1-object.c (e_asn1_object_dispose): free the display name, value, and children. (e_asn1_object_init): assume it's a valid container unless we hear otherwise. (e_asn1_object_new_from_cert): nuke. (e_asn1_object_set_valid_container): implement. (e_asn1_object_append_child): same. (e_asn1_object_set_display_name): same. (e_asn1_object_set_display_value): same. * lib/e-asn1-object.h: add prototypes for e_asn1_object_set_valid_container, e_asn1_object_set_display_name, e_asn1_object_set_display_value, and e_asn1_object_append_child. * gui/certificate-viewer.c (populate_fields_tree): populate the tree from the asn structure. (hierarchy_selection_changed): blow away the old fields_tree content and populate it again. (fields_selection_changed): implement, set the text view's contents to the asn1 object's display_value. (fill_in_details): expand all nodes in the hierarchy tree. svn path=/trunk/; revision=23640
* add e-asn1-object.[ch]Chris Toshok2003-12-049-17/+623
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-12-03 Chris Toshok <toshok@ximian.com> * lib/Makefile.am (libessmime_la_SOURCES): add e-asn1-object.[ch] * gui/smime-ui.glade: rename the ca trust dialog, and give it a proper id. * gui/certificate-manager.c (yourcerts_selection_changed): just use @selection. (contactcerts_selection_changed): same. (authoritycerts_selection_changed): same. * gui/certificate-viewer.c (free_data): free the cert chain. (fill_in_general): move all the general tab stuff here. (hierarchy_selection_changed): new function. not finished. (fields_selection_changed): new function, unimplemented. (fill_in_details): new function, fill in the heirarchy and hook up signals and stuff. (certificate_viewer_show): call fill_in_general/fill_in_details. * lib/e-cert.c (e_cert_get_chain): new function. * lib/e-cert.h: add prototype for e_cert_get_chain. svn path=/trunk/; revision=23622
* grovel around at startup time for mozilla's pkcs11 module so we can getChris Toshok2003-12-042-0/+54
| | | | | | | | | | 2003-12-03 Chris Toshok <toshok@ximian.com> * lib/e-cert-db.c (e_cert_db_class_init): grovel around at startup time for mozilla's pkcs11 module so we can get the same default set of root certs. svn path=/trunk/; revision=23621
* make sure declarations precede logic for older compilers.Larry Ewing2003-11-303-2/+9
| | | | | | | | | | | | 2003-11-30 Larry Ewing <lewing@ximian.com> * lib/e-pkcs12.c (nickname_collision): make sure declarations precede logic for older compilers. * gui/Makefile.am (INCLUDES): don't define GTK_DISABLE_DEPRECATED it breakes on gtk-2.3 with gtk_option_menu_get_history. svn path=/trunk/; revision=23503
* mostly implement a viewer for certificates.Chris Toshok2003-11-2614-17/+1203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-11-26 Chris Toshok <toshok@ximian.com> * gui/certificate-viewer.[ch]: mostly implement a viewer for certificates. * gui/smime-ui.glade: fingerprints-sh1 -> fingerprints-sha1. * gui/certificate-manager.c (import_your): new function, use e-pkcs12 to implement it. (initialize_yourcerts_ui): hook up the import button. (view_contact): new function, bring up the certificate viewer. (initialize_contactcerts_ui): hook up the view button. (view_ca): new function, bring up the certificate viewer. (initialize_authoritycerts_ui): hook up the view button. * gui/Makefile.am (libevolution_smime_la_SOURCES): add certificate-viewer.[ch] * lib/e-cert.c (e_cert_dispose): free all the new cached foo. (e_cert_populate): populate all the new cached foo. (e_cert_get_issuer_cn): new function. (e_cert_get_issuer_org): same. (e_cert_get_issuer_org_unit): same. (e_cert_get_issued_on_time): same. (e_cert_get_issued_on): same. (e_cert_get_expires_on_time): same. (e_cert_get_expires_on): same. (e_cert_get_serial_number): same. (e_cert_get_sha1_fingerprint): same. (e_cert_get_md5_fingerprint): same. * lib/e-cert.h: add prototypes for lots more accessors. * lib/e-cert-db.c (e_cert_db_find_cert_by_key): fix typo. (e_cert_db_find_cert_by_email_address): call CERT_DestroyCertificate to free the cert. (default_nickname): new function. (e_cert_db_import_user_cert): implement. (e_cert_db_import_server_cert): add blurb. * lib/e-pkcs12.[ch]: new files. * lib/Makefile.am (libessmime_la_SOURCES): add e-pkcs12.[ch] svn path=/trunk/; revision=23486
* blahMichael Zucci2003-11-132-1/+313
| | | | svn path=/trunk/; revision=23324
* fix build temporarilyRadek Doulik2003-11-132-0/+2
| | | | svn path=/trunk/; revision=23318
* added cert_selector widget to be placed inside a dialog.Not Zed2003-11-133-1/+139
| | | | | | | | | | | | 2003-11-12 Not Zed <NotZed@Ximian.com> * gui/smime-ui.glade: added cert_selector widget to be placed inside a dialog. * gui/e-cert-selector.[ch]: new class to allow user to select a certificate for signing or encrypting. svn path=/trunk/; revision=23309
* implement using the e-cert-trust foo. (e_cert_get_email): implement.Chris Toshok2003-11-139-102/+776
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-11-12 Chris Toshok <toshok@ximian.com> * lib/e-cert.c (e_cert_get_cert_type): implement using the e-cert-trust foo. (e_cert_get_email): implement. * lib/e-cert.h: add UNKNOWN cert type. * gui/smime-ui.glade: fix capitalization of "Import" on the contact certificate page. * gui/certificate-manager.c (import_contact): new function. implement email cert importing. (delete_contact): new function. (unload_certs): implement for E_CERT_CONTACT. (certificate_manager_config_control_new): get the contact cert action buttons from libglade. * lib/e-cert-db.c (handle_ca_cert_download): mostly implement the trust settings correctly. this still needs work pending the CA trust dialog's completion. (e_cert_db_delete_cert): fix the ifdef'ed code. (e_cert_db_import_user_cert): remove the ifdef'ed body of this, since it was copied from the CA code. * lib/Makefile.am (libessmime_la_SOURCES): add e-cert-trust.[ch] * lib/e-cert-trust.[ch]: new files, basically c&p nsNSSCertTrust from mozilla's PSM. svn path=/trunk/; revision=23308
* ignore smime-ui.gladepChris Toshok2003-11-121-1/+1
| | | | svn path=/trunk/; revision=23293
* don't init NSS here. it's done in e_cert_db_peek.Chris Toshok2003-11-1210-76/+1656
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-11-11 Chris Toshok <toshok@ximian.com> * tests/import-cert.c (main): don't init NSS here. it's done in e_cert_db_peek. * lib/Makefile.am (libessmime_la_SOURCES): add e-cert-db.[ch] * gui/smime-ui.glade: set the initial sensitivity of the buttons here, and add the beginnings of the CA import dialog (where you assign trust levels to it.) * gui/certificate-manager.c (handle_selection_changed): sensitize/desensitize all the various buttons correctly when the GtkTreeView's selection changes. (yourcerts_selection_changed): new, selection change handler for the Your Certs tab. (initialize_yourcerts_ui): hook up the tree selection, and add a model column for the ECert. (contactcerts_selection_changed): new, selection change handler for the Contact Certs tab. (initialize_contactcerts_ui): hook up the tree selection, and add a model column for the ECert. (import_ca): new function. (delete_ca): new function. (authoritycerts_selection_changed): new, selection change handler for the Authority Certs tab. (create_authoritycerts_treemodel): new function for creating the authority cert tree model. the other tabs will eventually use a separate function for this too, as unload_certs gets fleshed out. (initialize_authoritycerts_ui): hook up the tree selection, and add import/delete buttons. (destroy_key): dtor for the keys in our hashes. (destroy_value): dtor for the values in our hashes. (unload_certs): new function. basically destroy/recreate the model and hash for the particular cert type/tab. (load_certs): use e_cert_get_cert_type. (populate_ui): use unload_certs as well as load_certs. (certificate_manager_config_control_new): call e_cert_db_peek ,which will initialize all of NSS. hook up all the widgets from libglade. * lib/e-cert.h: add prototypes for all the new methods, and add the ECertType enum. * lib/e-cert.c (e_cert_dispose): handle deletion from the DB here. (e_cert_new_from_der): new function. (e_cert_get_internal_cert): new function. (e_cert_get_raw_der): new function. (e_cert_get_issuer_name): new (e_cert_get_subject_name): new (e_cert_mark_for_deletion): new (e_cert_get_cert_type): new. (e_cert_is_ca_cert): nuke. * lib/e-cert-db.[ch]: new, partly implemented, derived from mozilla's nsNSSCertificateDB code. svn path=/trunk/; revision=23292
* add boilerplate.Chris Toshok2003-10-314-4/+39
| | | | | | | | | | | | | | | | 2003-10-30 Chris Toshok <toshok@ximian.com> * gui/certificate-manager.h: add boilerplate. * gui/certificate-manager.c (certificate_manager_config_control_new): return NULL if the NSS_InitReadWrite fails - we should probably give better status though, or return a GtkLabel with an error message.... * gui/Makefile.am (INCLUDES): use CERT_UI_CFLAGS. (TEST_LIBS): use CERT_UI_LIBS. svn path=/trunk/; revision=23140
* use CERT_UI_CFLAGS. (TEST_LIBS): use CERT_UI_LIBS.Chris Toshok2003-10-312-2/+7
| | | | | | | | | 2003-10-30 Chris Toshok <toshok@ximian.com> * tests/Makefile.am (INCLUDES): use CERT_UI_CFLAGS. (TEST_LIBS): use CERT_UI_LIBS. svn path=/trunk/; revision=23139
* initial checkinChris Toshok2003-10-313-0/+51
| | | | svn path=/trunk/; revision=23137
* add certificate-manager.hChris Toshok2003-10-292-1/+7
| | | | | | | | | 2003-10-28 Chris Toshok <toshok@ximian.com> * gui/Makefile.am (libevolution_smime_la_SOURCES): add certificate-manager.h svn path=/trunk/; revision=23112
* initial addition of s/mime foo.Chris Toshok2003-10-2412-0/+2396
2003-10-23 Chris Toshok <toshok@ximian.com> * lib/e-cert.[ch], lib/Makefile.am, gui/certificate-manager.[ch], gui/Makefile.am, gui/smime-ui.glade, Makefile.am: initial addition of s/mime foo. svn path=/trunk/; revision=23042