aboutsummaryrefslogtreecommitdiffstats
path: root/smime/ChangeLog
blob: b2fa0046b0d4976944580cedf778dc9872fc0aec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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.

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]

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.

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.

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.

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.

2003-10-30  Chris Toshok  <toshok@ximian.com>

    * tests/Makefile.am (INCLUDES): use CERT_UI_CFLAGS.
    (TEST_LIBS): use CERT_UI_LIBS.

2003-10-28  Chris Toshok  <toshok@ximian.com>

    * gui/Makefile.am (libevolution_smime_la_SOURCES): add
    certificate-manager.h

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.