mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									9300355bec
								
							
						
					
					
						commit
						1f46af14e4
					
				
					 6 changed files with 30 additions and 12 deletions
				
			
		
							
								
								
									
										15
									
								
								ChangeLog
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								ChangeLog
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,3 +1,18 @@
 | 
			
		|||
Fri Mar 13 16:45:33 2009  Nobuyoshi Nakada  <nobu@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
	* 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@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
	* ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): should use
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,9 @@ extern "C" {
 | 
			
		|||
#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 @@ typedef char *d2i_of_void();
 | 
			
		|||
 | 
			
		||||
#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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -119,7 +119,7 @@ ossl_engine_s_by_id(VALUE klass, VALUE id)
 | 
			
		|||
    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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -177,7 +177,7 @@ ossl_pkey_sign(VALUE self, VALUE digest, VALUE data)
 | 
			
		|||
    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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -905,7 +905,7 @@ ossl_sslctx_flush_sessions(int argc, VALUE *argv, VALUE self)
 | 
			
		|||
        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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -107,7 +107,7 @@ static VALUE ossl_ssl_session_get_time(VALUE self)
 | 
			
		|||
	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 @@ static VALUE ossl_ssl_session_get_timeout(VALUE self)
 | 
			
		|||
 | 
			
		||||
	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);					\
 | 
			
		||||
										\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue