Changeset 3559
- Timestamp:
- 04/09/08 17:53:42
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/libtinymail-camel/camel-lite/camel/Makefile.am (modified) (2 diffs)
- trunk/libtinymail-camel/camel-lite/camel/camel-certdb-cst.c (added)
- trunk/libtinymail-camel/camel-lite/camel/camel-certdb.c (modified) (1 diff)
- trunk/libtinymail-camel/camel-lite/camel/camel-certdb.h (modified) (2 diffs)
- trunk/libtinymail-camel/camel-lite/camel/camel-private.h (modified) (2 diffs)
- trunk/libtinymail-camel/camel-lite/camel/camel-tcp-stream-ssl.c (modified) (7 diffs)
- trunk/libtinymail-camel/camel-lite/config.h.in (modified) (1 diff)
- trunk/libtinymail-camel/camel-lite/configure.ac (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r3555 r3559 1 2008-04-09 Jose Dapena Paz <jdapena@igalia.com> 2 3 * Added libtinymail-camel/camel-lite/camel/camel-certdb-cst.c. 4 Implementation of certificates database using maemo libcst. This 5 makes you can manage certificates using the maemo tablet certificate 6 manager. 7 8 * libtinymail-camel/camel-lite/camel/camel-certdb.h, 9 libtinymail-camel/camel-lite/camel/camel-private.h: modified to 10 have a pointer to the CST object in certdb and certificate id in 11 certificate object in case we compile with CST support. 12 13 * libtinymail-camel/camel-lite/camel/camel-tcp-stream-ssl.c: 14 Modified a bit the code for proper integration with cst (mainly 15 removing direct access to internal fields). 16 17 * libtinymail-camel/camel-lite/configure.ac, 18 libtinymail-camel/camel-lite/camel/Makefile.am: 19 Added support for detection and configuration of libcst. 20 1 21 2008-04-07 Dirk-Jan C. Binnema <dirk-jan.binnema@nokia.com> 2 22 * libtinymail-camel: trunk/libtinymail-camel/camel-lite/camel/Makefile.am
r3538 r3559 147 147 camel-arg.c \ 148 148 camel-block-file.c \ 149 camel-certdb.c \150 149 camel-charset-map.c \ 151 150 camel-data-cache.c \ … … 208 207 camel.c \ 209 208 $(LIBCAMEL_PLATFORM_DEP_SOURCES) 209 210 if HAVE_CST 211 libcamel_lite_1_2_la_SOURCES += camel-certdb-cst.c 212 else 213 libcamel_lite_1_2_la_SOURCES += camel-certdb.c 214 endif 215 210 216 211 217 libcamel_liteinclude_HEADERS = \ trunk/libtinymail-camel/camel-lite/camel/camel-certdb.c
r2950 r3559 479 479 CamelCert *cert; 480 480 481 /* we set 0 to trust level this way (unknown) */ 482 481 483 if (certdb->cert_chunks) 482 484 cert = e_memchunk_alloc0 (certdb->cert_chunks); trunk/libtinymail-camel/camel-lite/camel/camel-certdb.h
r2950 r3559 27 27 #include <stdio.h> 28 28 #include <camel/camel-object.h> 29 #ifdef ENABLE_CST 30 #include <cst.h> 31 #endif 29 32 30 33 #define CAMEL_CERTDB_TYPE (camel_certdb_get_type ()) … … 66 69 67 70 CamelCertTrust trust; 71 #ifdef ENABLE_CST 72 cst_t_seqnum certID; 73 #endif 68 74 GByteArray *rawcert; 69 75 } CamelCert; trunk/libtinymail-camel/camel-lite/camel/camel-private.h
r3301 r3559 33 33 #include <pthread.h> 34 34 #include <libedataserver/e-msgport.h> 35 #ifdef ENABLE_CST 36 #include <cst.h> 37 #endif 35 38 36 39 G_BEGIN_DECLS … … 183 186 GMutex *alloc_lock; /* for setting up and using allocators */ 184 187 GMutex *ref_lock; /* for reffing/unreffing certs */ 188 #ifdef ENABLE_CST 189 CST *cst; /* Certificate storage */ 190 #endif 185 191 }; 186 192 trunk/libtinymail-camel/camel-lite/camel/camel-tcp-stream-ssl.c
r3535 r3559 903 903 g_error_free (error); 904 904 905 camel_cert_set_trust (906 certdb, ccert, CAMEL_CERT_TRUST_UNKNOWN);907 905 camel_certdb_touch (certdb); 908 906 g_free (fingerprint); … … 924 922 || memcmp(ccert->rawcert->data, cert->derCert.data, cert->derCert.len) != 0) { 925 923 g_warning("rawcert != derCer"); 926 camel_cert_set_trust(certdb, ccert, CAMEL_CERT_TRUST_UNKNOWN);927 924 camel_certdb_touch(certdb); 928 925 } … … 946 943 /*camel_cert_set_hostname(certdb, ccert, ssl->priv->expected_host);*/ 947 944 camel_cert_set_fingerprint(certdb, ccert, fingerprint); 948 camel_cert_set_trust(certdb, ccert, CAMEL_CERT_TRUST_UNKNOWN);949 945 g_free(fingerprint); 950 946 … … 1037 1033 SECStatus status = SECFailure; 1038 1034 struct _CamelTcpStreamSSLPrivate *priv; 1035 CamelCertTrust trust; 1039 1036 1040 1037 g_return_val_if_fail (data != NULL, SECFailure); … … 1055 1052 } 1056 1053 1057 if (ccert->trust == CAMEL_CERT_TRUST_UNKNOWN) { 1054 trust = camel_cert_get_trust (certdb, ccert); 1055 if (trust == CAMEL_CERT_TRUST_UNKNOWN) { 1058 1056 status = CERT_VerifyCertNow(cert->dbhandle, cert, TRUE, certUsageSSLClient, NULL); 1059 1057 fingerprint = cert_fingerprint(cert); … … 1062 1060 "Fingerprint: %s\n" 1063 1061 "Signature: %s"), 1064 CERT_NameToAscii (&cert->issuer),1065 CERT_NameToAscii (&cert->subject),1062 ccert?camel_cert_get_issuer (certdb, ccert):CERT_NameToAscii (&cert->issuer), 1063 ccert?camel_cert_get_subject (certdb, ccert):CERT_NameToAscii (&cert->subject), 1066 1064 fingerprint, status == SECSuccess?_("GOOD"):_("BAD")); 1067 1065 g_free(fingerprint); … … 1081 1079 } 1082 1080 } else { 1083 accept = ccert->trust != CAMEL_CERT_TRUST_NEVER;1081 accept = trust != CAMEL_CERT_TRUST_NEVER; 1084 1082 } 1085 1083 trunk/libtinymail-camel/camel-lite/config.h.in
r3276 r3559 6 6 /* Base version (Major.Minor) */ 7 7 #undef BASE_VERSION 8 9 /* Is libcst enabled */ 10 #undef ENABLE_CST 8 11 9 12 /* Really don't try this at home */ trunk/libtinymail-camel/camel-lite/configure.ac
r3461 r3559 84 84 msg_ssl="yes (Mozilla NSS)" 85 85 msg_smime="yes (Mozilla NSS)" 86 has_nss=yes 86 87 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled]) 87 88 AC_DEFINE(HAVE_NSS,1,[Define if you have NSS]) … … 97 98 SSL_LIBS="-lcrypto -lssl" 98 99 msg_ssl="yes (OpenSSL)" 100 has_nss=no 99 101 AC_DEFINE(HAVE_SSL,1,[Define if you have a supported SSL library]) 100 102 AC_DEFINE(HAVE_OPENSSL,1,[Define if you want to use OpenSSL as SSL library]) … … 112 114 msg_ssl="yes (Mozilla NSS)" 113 115 msg_smime="yes (Mozilla NSS)" 116 has_nss=yes 114 117 AC_DEFINE(ENABLE_SMIME,1,[Define if SMIME should be enabled]) 115 118 AC_DEFINE(HAVE_NSS,1,[Define if you have NSS]) … … 119 122 ]) 120 123 124 if test x$has_nss = xyes; then 125 AC_MSG_CHECKING(Support for libCST) 126 PKG_CHECK_MODULES(LIBCST, cst, have_cst=yes, have_cst=no) 127 AC_MSG_RESULT($have_cst) 128 else 129 LIBCST_CFLAGS= 130 LIBCST_LIBS= 131 have_cst=no 132 fi 133 AM_CONDITIONAL([HAVE_CST],[test x"$have_cst" == "xyes"]) 134 AC_DEFINE_UNQUOTED(ENABLE_CST, "$have_cst", [Is libcst enabled]) 135 AC_SUBST(LIBCST_CFLAGS) 136 AC_SUBST(LIBCST_LIBS) 121 137 122 138 AC_SUBST(msg_smime) … … 209 225 210 226 PKG_CHECK_MODULES(CAMEL, gthread-2.0 gmodule-2.0 gobject-2.0 $mozilla_nss_eds $mozilla_nspr_eds) 211 CAMEL_CFLAGS="$CAMEL_CFLAGS $ THREADS_CFLAGS $KRB4_CFLAGS $KRB5_CFLAGS"212 CAMEL_LIBS="$CAMEL_LIBS -lz $ THREADS_LIBS $KRB4_LDFLAGS $KRB5_LDFLAGS"227 CAMEL_CFLAGS="$CAMEL_CFLAGS $LIBCST_CFLAGS $THREADS_CFLAGS $KRB4_CFLAGS $KRB5_CFLAGS" 228 CAMEL_LIBS="$CAMEL_LIBS -lz $LIBCST_LIBS $THREADS_LIBS $KRB4_LDFLAGS $KRB5_LDFLAGS" 213 229 214 230 AC_SUBST(CAMEL_CFLAGS)
