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 *);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.