[前][次][番号順一覧][スレッド一覧]

ruby-changes:11312

From: nobu <ko1@a...>
Date: Fri, 13 Mar 2009 16:45:50 +0900 (JST)
Subject: [ruby-changes:11312] Ruby:r22925 (trunk): * ext/openssl/openssl_missing.h (i2d_of_void): cast for callbacks.

nobu	2009-03-13 16:45:35 +0900 (Fri, 13 Mar 2009)

  New Revision: 22925

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=22925

  Log:
    * ext/openssl/openssl_missing.h (i2d_of_void): cast for callbacks.
      [ruby-core:22860]
    * ext/openssl/ossl_engine.c (ossl_engine_s_by_id): suppress a
      warning.
    
    * ext/openssl/ossl_ssl.c (ossl_sslctx_flush_sessions): time_t may
      be larger than long.
    
    * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_get_time),
      (ossl_ssl_session_get_timeout): use TIMET2NUM() to convert
      time_t.

  Modified files:
    trunk/ChangeLog
    trunk/ext/openssl/openssl_missing.h
    trunk/ext/openssl/ossl_engine.c
    trunk/ext/openssl/ossl_pkey.c
    trunk/ext/openssl/ossl_ssl.c
    trunk/ext/openssl/ossl_ssl_session.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 22924)
+++ ChangeLog	(revision 22925)
@@ -1,3 +1,18 @@
+Fri Mar 13 16:45:33 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* ext/openssl/openssl_missing.h (i2d_of_void): cast for callbacks.
+	  [ruby-core:22860]
+
+	* ext/openssl/ossl_engine.c (ossl_engine_s_by_id): suppress a
+	  warning.
+
+	* ext/openssl/ossl_ssl.c (ossl_sslctx_flush_sessions): time_t may
+	  be larger than long.
+
+	* ext/openssl/ossl_ssl_session.c (ossl_ssl_session_get_time),
+	  (ossl_ssl_session_get_timeout): use TIMET2NUM() to conver
+	  time_t.
+
 Fri Mar 13 15:10:43 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): should use
Index: ext/openssl/ossl_ssl.c
===================================================================
--- ext/openssl/ossl_ssl.c	(revision 22924)
+++ ext/openssl/ossl_ssl.c	(revision 22925)
@@ -905,7 +905,7 @@
         rb_raise(rb_eArgError, "arg must be Time or nil");
     }
 
-    SSL_CTX_flush_sessions(ctx, tm);
+    SSL_CTX_flush_sessions(ctx, (long)tm);
 
     return self;
 }
Index: ext/openssl/ossl_engine.c
===================================================================
--- ext/openssl/ossl_engine.c	(revision 22924)
+++ ext/openssl/ossl_engine.c	(revision 22925)
@@ -119,7 +119,7 @@
     if(!ENGINE_init(e))
 	ossl_raise(eEngineError, NULL);
     ENGINE_ctrl(e, ENGINE_CTRL_SET_PASSWORD_CALLBACK,
-		0, NULL, (void(*)())ossl_pem_passwd_cb);
+		0, NULL, (void(*)(void))ossl_pem_passwd_cb);
     ERR_clear_error();
 
     return obj;
Index: ext/openssl/ossl_ssl_session.c
===================================================================
--- ext/openssl/ossl_ssl_session.c	(revision 22924)
+++ ext/openssl/ossl_ssl_session.c	(revision 22925)
@@ -107,7 +107,7 @@
 	if (t == 0)
 		return Qnil;
 
-	return rb_funcall(rb_cTime, rb_intern("at"), 1, LONG2NUM(t));
+	return rb_funcall(rb_cTime, rb_intern("at"), 1, TIMET2NUM(t));
 }
 
 /*
@@ -126,14 +126,14 @@
 
 	t = SSL_SESSION_get_timeout(ctx);
 
-	return ULONG2NUM(t);
+	return TIMET2NUM(t);
 }
 
 #define SSLSESSION_SET_TIME(func)						\
 	static VALUE ossl_ssl_session_set_##func(VALUE self, VALUE time_v)	\
 	{									\
 		SSL_SESSION *ctx;						\
-		time_t t;							\
+		unsigned long t;						\
 										\
 		GetSSLSession(self, ctx);					\
 										\
Index: ext/openssl/ossl_pkey.c
===================================================================
--- ext/openssl/ossl_pkey.c	(revision 22924)
+++ ext/openssl/ossl_pkey.c	(revision 22925)
@@ -177,7 +177,7 @@
     str = rb_str_new(0, EVP_PKEY_size(pkey)+16);
     if (!EVP_SignFinal(&ctx, (unsigned char *)RSTRING_PTR(str), &buf_len, pkey))
 	ossl_raise(ePKeyError, NULL);
-    assert(buf_len <= RSTRING_LEN(str));
+    assert((long)buf_len <= RSTRING_LEN(str));
     rb_str_set_len(str, buf_len);
 
     return str;
Index: ext/openssl/openssl_missing.h
===================================================================
--- ext/openssl/openssl_missing.h	(revision 22924)
+++ ext/openssl/openssl_missing.h	(revision 22925)
@@ -18,6 +18,9 @@
 #ifndef TYPEDEF_D2I_OF
 typedef char *d2i_of_void();
 #endif
+#ifndef TYPEDEF_I2D_OF
+typedef int i2d_of_void();
+#endif
 
 /*
  * These functions are not included in headers of OPENSSL <= 0.9.6b
@@ -30,33 +33,33 @@
 
 #if !defined(PEM_write_bio_DSAPublicKey)
 # define PEM_write_bio_DSAPublicKey(bp,x) \
-	PEM_ASN1_write_bio((int (*)())i2d_DSAPublicKey,\
+	PEM_ASN1_write_bio((i2d_of_void *)i2d_DSAPublicKey,\
 		PEM_STRING_DSA_PUBLIC,\
 		bp,(char *)x, NULL, NULL, 0, NULL, NULL)
 #endif
 
 #if !defined(DSAPrivateKey_dup)
-# define DSAPrivateKey_dup(dsa) (DSA *)ASN1_dup((int (*)())i2d_DSAPrivateKey, \
+# define DSAPrivateKey_dup(dsa) (DSA *)ASN1_dup((i2d_of_void *)i2d_DSAPrivateKey, \
 	(d2i_of_void *)d2i_DSAPrivateKey,(char *)dsa)
 #endif
 
 #if !defined(DSAPublicKey_dup)
-# define DSAPublicKey_dup(dsa) (DSA *)ASN1_dup((int (*)())i2d_DSAPublicKey, \
+# define DSAPublicKey_dup(dsa) (DSA *)ASN1_dup((i2d_of_void *)i2d_DSAPublicKey, \
 	(d2i_of_void *)d2i_DSAPublicKey,(char *)dsa)
 #endif
 
 #if !defined(X509_REVOKED_dup)
-# define X509_REVOKED_dup(rev) (X509_REVOKED *)ASN1_dup((int (*)())i2d_X509_REVOKED, \
+# define X509_REVOKED_dup(rev) (X509_REVOKED *)ASN1_dup((i2d_of_void *)i2d_X509_REVOKED, \
 	(d2i_of_void *)d2i_X509_REVOKED, (char *)rev)
 #endif
 
 #if !defined(PKCS7_SIGNER_INFO_dup)
-#  define PKCS7_SIGNER_INFO_dup(si) (PKCS7_SIGNER_INFO *)ASN1_dup((int (*)())i2d_PKCS7_SIGNER_INFO, \
+#  define PKCS7_SIGNER_INFO_dup(si) (PKCS7_SIGNER_INFO *)ASN1_dup((i2d_of_void *)i2d_PKCS7_SIGNER_INFO, \
 	(d2i_of_void *)d2i_PKCS7_SIGNER_INFO, (char *)si)
 #endif
 
 #if !defined(PKCS7_RECIP_INFO_dup)
-#  define PKCS7_RECIP_INFO_dup(ri) (PKCS7_RECIP_INFO *)ASN1_dup((int (*)())i2d_PKCS7_RECIP_INFO, \
+#  define PKCS7_RECIP_INFO_dup(ri) (PKCS7_RECIP_INFO *)ASN1_dup((i2d_of_void *)i2d_PKCS7_RECIP_INFO, \
 	(d2i_of_void *)d2i_PKCS7_RECIP_INFO, (char *)ri)
 #endif
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]