Commit eb1c48be authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Add new type ossl_ssize_t instead of ssize_t and move definitions to

e_os2.h, this should fix WIN32 compilation issues and hopefully avoid
conflicts with other headers which may workaround ssize_t in different ways.
parent 2fd9664b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -4,6 +4,11 @@

 Changes between 1.0.0 and 1.1.0  [xx XXX xxxx]

  *) Use type ossl_ssize_t instad of ssize_t which isn't available on
     all platforms. Move ssize_t definition from e_os.h to the public
     header file e_os2.h as it now appears in public header file cms.h
     [Steve Henson]

  *) New function OPENSSL_gmtime_diff to find the difference in days
     and seconds between two tm structures. This will be used to provide
     additional functionality for ASN1_TIME.
+9 −9
Original line number Diff line number Diff line
@@ -277,10 +277,10 @@ static int bio_read(BIO *bio, char *buf, int size_)
 */
/* WARNING: The non-copying interface is largely untested as of yet
 * and may contain bugs. */
static ssize_t bio_nread0(BIO *bio, char **buf)
static ossl_ssize_t bio_nread0(BIO *bio, char **buf)
	{
	struct bio_bio_st *b, *peer_b;
	ssize_t num;
	ossl_ssize_t num;
	
	BIO_clear_retry_flags(bio);

@@ -315,15 +315,15 @@ static ssize_t bio_nread0(BIO *bio, char **buf)
	return num;
	}

static ssize_t bio_nread(BIO *bio, char **buf, size_t num_)
static ossl_ssize_t bio_nread(BIO *bio, char **buf, size_t num_)
	{
	struct bio_bio_st *b, *peer_b;
	ssize_t num, available;
	ossl_ssize_t num, available;

	if (num_ > SSIZE_MAX)
		num = SSIZE_MAX;
	else
		num = (ssize_t)num_;
		num = (ossl_ssize_t)num_;

	available = bio_nread0(bio, buf);
	if (num > available)
@@ -428,7 +428,7 @@ static int bio_write(BIO *bio, const char *buf, int num_)
 * (example usage:  bio_nwrite0(), write to buffer, bio_nwrite()
 *  or just         bio_nwrite(), write to buffer)
 */
static ssize_t bio_nwrite0(BIO *bio, char **buf)
static ossl_ssize_t bio_nwrite0(BIO *bio, char **buf)
	{
	struct bio_bio_st *b;
	size_t num;
@@ -476,15 +476,15 @@ static ssize_t bio_nwrite0(BIO *bio, char **buf)
	return num;
	}

static ssize_t bio_nwrite(BIO *bio, char **buf, size_t num_)
static ossl_ssize_t bio_nwrite(BIO *bio, char **buf, size_t num_)
	{
	struct bio_bio_st *b;
	ssize_t num, space;
	ossl_ssize_t num, space;

	if (num_ > SSIZE_MAX)
		num = SSIZE_MAX;
	else
		num = (ssize_t)num_;
		num = (ossl_ssize_t)num_;

	space = bio_nwrite0(bio, buf);
	if (num > space)
+5 −3
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ int CMS_decrypt_set1_key(CMS_ContentInfo *cms,
				unsigned char *key, size_t keylen,
				unsigned char *id, size_t idlen);
int CMS_decrypt_set1_password(CMS_ContentInfo *cms, 
				unsigned char *pass, ssize_t passlen);
				unsigned char *pass, ossl_ssize_t passlen);

STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms);
int CMS_RecipientInfo_type(CMS_RecipientInfo *ri);
@@ -222,11 +222,13 @@ int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri,
					const unsigned char *id, size_t idlen);

int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, 
					unsigned char *pass, ssize_t passlen);
					unsigned char *pass,
					ossl_ssize_t passlen);

CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms,
					int iter, int wrap_nid, int pbe_nid,
					unsigned char *pass, ssize_t passlen,
					unsigned char *pass,
					ossl_ssize_t passlen,
					const EVP_CIPHER *kekciph);

int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri);
+3 −2
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@
#include "asn1_locl.h"

int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, 
				unsigned char *pass, ssize_t passlen)
				unsigned char *pass, ossl_ssize_t passlen)
	{
	CMS_PasswordRecipientInfo *pwri;
	if (ri->type != CMS_RECIPINFO_PASS)
@@ -82,7 +82,8 @@ int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri,

CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms,
					int iter, int wrap_nid, int pbe_nid,
					unsigned char *pass, ssize_t passlen,
					unsigned char *pass,
					ossl_ssize_t passlen,
					const EVP_CIPHER *kekciph)
	{
	CMS_RecipientInfo *ri = NULL;
+1 −1
Original line number Diff line number Diff line
@@ -682,7 +682,7 @@ int CMS_decrypt_set1_key(CMS_ContentInfo *cms,
	}

int CMS_decrypt_set1_password(CMS_ContentInfo *cms, 
				unsigned char *pass, ssize_t passlen)
				unsigned char *pass, ossl_ssize_t passlen)
	{
	STACK_OF(CMS_RecipientInfo) *ris;
	CMS_RecipientInfo *ri;
Loading