Re: M2Crypto Release Candidate 1
Andrey Plotnikov <[email protected]>
| Newsgroups | gmane.comp.python.cryptography |
|---|---|
| Message-ID | <[email protected]> |
Heikki Toivonen wrote: >Ivan R. Judson wrote: > > >>Why not Open SSL 0.9.8? >> >> > >I don't have it on any of my boxes yet. If I get it and it is not much >work to support it, I'll do it. But in the meanwhile, patches appreciated :) > > > I use m2crypto with openssl-0.9.8 for working with S/MIME mails. Its my patch for building m2crypto with openssl-0.9.8. -- Andrey Plotnikov
m2crypto-0_13-ossl-0_9_8.diff
(text/plain, 7.2 KB)
diff -ur /home/aplot/tmp/m2crypto-0.13/SWIG/_asn1.i m2crypto-0.13-for-0.9.8/SWIG/_asn1.i
--- /home/aplot/tmp/m2crypto-0.13/SWIG/_asn1.i Sun Mar 21 00:00:00 2004
+++ m2crypto-0.13-for-0.9.8/SWIG/_asn1.i Mon Jul 18 14:33:22 2005
@@ -15,8 +15,8 @@
%name(asn1_object_create) extern ASN1_OBJECT *ASN1_OBJECT_create( int, unsigned char *, int, const char *, const char *);
%name(asn1_object_free) extern void ASN1_OBJECT_free( ASN1_OBJECT *);
%name(i2d_asn1_object) extern int i2d_ASN1_OBJECT( ASN1_OBJECT *, unsigned char **);
-%name(c2i_asn1_object) extern ASN1_OBJECT *c2i_ASN1_OBJECT( ASN1_OBJECT **, unsigned char **, long);
-%name(d2i_asn1_object) extern ASN1_OBJECT *d2i_ASN1_OBJECT( ASN1_OBJECT **, unsigned char **, long);
+%name(c2i_asn1_object) extern ASN1_OBJECT *c2i_ASN1_OBJECT( ASN1_OBJECT **, const unsigned char **, long);
+%name(d2i_asn1_object) extern ASN1_OBJECT *d2i_ASN1_OBJECT( ASN1_OBJECT **, const unsigned char **, long);
%name(asn1_string_new) extern ASN1_STRING *ASN1_STRING_new( void );
%name(asn1_string_free) extern void ASN1_STRING_free( ASN1_STRING *);
@@ -26,7 +26,7 @@
%name(asn1_utctime_free) extern void ASN1_UTCTIME_free(ASN1_UTCTIME *);
%name(asn1_utctime_check) extern int ASN1_UTCTIME_check(ASN1_UTCTIME *);
%name(asn1_utctime_set) extern ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *, long);
-%name(asn1_utctime_set_string) extern int ASN1_UTCTIME_set_string(ASN1_UTCTIME *, char *);
+%name(asn1_utctime_set_string) extern int ASN1_UTCTIME_set_string(ASN1_UTCTIME *, const char *);
%name(asn1_utctime_print) extern int ASN1_UTCTIME_print(BIO *, ASN1_UTCTIME *);
%name(asn1_integer_get) extern long ASN1_INTEGER_get(ASN1_INTEGER *);
diff -ur /home/aplot/tmp/m2crypto-0.13/SWIG/_ssl.i m2crypto-0.13-for-0.9.8/SWIG/_ssl.i
--- /home/aplot/tmp/m2crypto-0.13/SWIG/_ssl.i Thu Mar 25 00:00:00 2004
+++ m2crypto-0.13-for-0.9.8/SWIG/_ssl.i Mon Jul 18 14:30:12 2005
@@ -18,7 +18,7 @@
%apply Pointer NONNULL { RSA * };
%apply Pointer NONNULL { PyObject *pyfunc };
-%name(ssl_get_error) extern int SSL_get_error(SSL *, int);
+%name(ssl_get_error) extern int SSL_get_error(const SSL *, int);
%name(ssl_get_state) extern const char *SSL_state_string(const SSL *);
%name(ssl_get_state_v) extern const char *SSL_state_string_long(const SSL *);
%name(ssl_get_alert_type) extern const char *SSL_alert_type_string(int);
@@ -34,13 +34,13 @@
%name(ssl_ctx_new) extern SSL_CTX *SSL_CTX_new(SSL_METHOD *);
%name(ssl_ctx_free) extern void SSL_CTX_free(SSL_CTX *);
%name(ssl_ctx_set_verify_depth) extern void SSL_CTX_set_verify_depth(SSL_CTX *, int);
-%name(ssl_ctx_get_verify_depth) extern int SSL_CTX_get_verify_depth(SSL_CTX *);
-%name(ssl_ctx_get_verify_mode) extern int SSL_CTX_get_verify_mode(SSL_CTX *);
+%name(ssl_ctx_get_verify_depth) extern int SSL_CTX_get_verify_depth(const SSL_CTX *);
+%name(ssl_ctx_get_verify_mode) extern int SSL_CTX_get_verify_mode(const SSL_CTX *);
%name(ssl_ctx_set_cipher_list) extern int SSL_CTX_set_cipher_list(SSL_CTX *, const char *);
%name(ssl_ctx_add_session) extern int SSL_CTX_add_session(SSL_CTX *, SSL_SESSION *);
%name(ssl_ctx_remove_session) extern int SSL_CTX_remove_session(SSL_CTX *, SSL_SESSION *);
%name(ssl_ctx_set_session_timeout) extern long SSL_CTX_set_timeout(SSL_CTX *, long);
-%name(ssl_ctx_get_session_timeout) extern long SSL_CTX_get_timeout(SSL_CTX *);
+%name(ssl_ctx_get_session_timeout) extern long SSL_CTX_get_timeout(const SSL_CTX *);
%name(bio_new_ssl) extern BIO *BIO_new_ssl(SSL_CTX *, int);
@@ -54,29 +54,29 @@
%name(ssl_shutdown) extern int SSL_shutdown(SSL *);
%name(ssl_do_handshake) extern int SSL_do_handshake(SSL *);
%name(ssl_renegotiate) extern int SSL_renegotiate(SSL *);
-%name(ssl_pending) extern int SSL_pending(SSL *);
+%name(ssl_pending) extern int SSL_pending(const SSL *);
-%name(ssl_get_peer_cert) extern X509 *SSL_get_peer_certificate(SSL *);
-%name(ssl_get_current_cipher) extern SSL_CIPHER *SSL_get_current_cipher(SSL *);
-%name(ssl_get_verify_mode) extern int SSL_get_verify_mode(SSL *);
-%name(ssl_get_verify_depth) extern int SSL_get_verify_depth(SSL *);
-%name(ssl_get_verify_result) extern long SSL_get_verify_result(SSL *);
-%name(ssl_get_ssl_ctx) extern SSL_CTX *SSL_get_SSL_CTX(SSL *);
-%name(ssl_get_default_session_timeout) extern long SSL_get_default_timeout(SSL *);
+%name(ssl_get_peer_cert) extern X509 *SSL_get_peer_certificate(const SSL *);
+%name(ssl_get_current_cipher) extern SSL_CIPHER *SSL_get_current_cipher(const SSL *);
+%name(ssl_get_verify_mode) extern int SSL_get_verify_mode(const SSL *);
+%name(ssl_get_verify_depth) extern int SSL_get_verify_depth(const SSL *);
+%name(ssl_get_verify_result) extern long SSL_get_verify_result(const SSL *);
+%name(ssl_get_ssl_ctx) extern SSL_CTX *SSL_get_SSL_CTX(const SSL *);
+%name(ssl_get_default_session_timeout) extern long SSL_get_default_timeout(const SSL *);
%name(ssl_set_cipher_list) extern int SSL_set_cipher_list(SSL *, const char *);
-%name(ssl_get_cipher_list) extern const char *SSL_get_cipher_list(SSL *, int);
+%name(ssl_get_cipher_list) extern const char *SSL_get_cipher_list(const SSL *, int);
-%name(ssl_cipher_get_name) extern const char *SSL_CIPHER_get_name(SSL_CIPHER *);
-%name(ssl_cipher_get_version) extern char *SSL_CIPHER_get_version(SSL_CIPHER *);
+%name(ssl_cipher_get_name) extern const char *SSL_CIPHER_get_name(const SSL_CIPHER *);
+%name(ssl_cipher_get_version) extern char *SSL_CIPHER_get_version(const SSL_CIPHER *);
-%name(ssl_get_session) extern SSL_SESSION *SSL_get_session(SSL *);
+%name(ssl_get_session) extern SSL_SESSION *SSL_get_session(const SSL *);
%name(ssl_get1_session) extern SSL_SESSION *SSL_get1_session(SSL *);
%name(ssl_set_session) extern int SSL_set_session(SSL *, SSL_SESSION *);
%name(ssl_session_free) extern void SSL_SESSION_free(SSL_SESSION *);
-%name(ssl_session_print) extern int SSL_SESSION_print(BIO *, SSL_SESSION *);
+%name(ssl_session_print) extern int SSL_SESSION_print(BIO *, const SSL_SESSION *);
%name(ssl_session_set_timeout) extern long SSL_SESSION_set_timeout(SSL_SESSION *, long);
-%name(ssl_session_get_timeout) extern long SSL_SESSION_get_timeout(SSL_SESSION *);
+%name(ssl_session_get_timeout) extern long SSL_SESSION_get_timeout(const SSL_SESSION *);
%constant int ssl_error_none = SSL_ERROR_NONE;
%constant int ssl_error_ssl = SSL_ERROR_SSL;
diff -ur /home/aplot/tmp/m2crypto-0.13/SWIG/_x509.i m2crypto-0.13-for-0.9.8/SWIG/_x509.i
--- /home/aplot/tmp/m2crypto-0.13/SWIG/_x509.i Sun Mar 21 00:00:00 2004
+++ m2crypto-0.13-for-0.9.8/SWIG/_x509.i Fri Jul 29 09:57:37 2005
@@ -43,7 +43,7 @@
%name(x509_name_entry_free) extern void X509_NAME_ENTRY_free( X509_NAME_ENTRY *);
%name(x509_name_entry_create_by_nid) extern X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID( X509_NAME_ENTRY **, int, int, unsigned char *, int);
%name(x509_name_entry_set_object) extern int X509_NAME_ENTRY_set_object( X509_NAME_ENTRY *, ASN1_OBJECT *);
-%name(x509_name_entry_set_data) extern int X509_NAME_ENTRY_set_data( X509_NAME_ENTRY *, int, unsigned char *, int);
+%name(x509_name_entry_set_data) extern int X509_NAME_ENTRY_set_data( X509_NAME_ENTRY *, int, const unsigned char *, int);
%name(x509_name_entry_get_object) extern ASN1_OBJECT *X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *);
%name(x509_name_entry_get_data) extern ASN1_STRING *X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *);