diff options
| author | djm <> | 2011-11-03 02:34:33 +0000 |
|---|---|---|
| committer | djm <> | 2011-11-03 02:34:33 +0000 |
| commit | fc7396568e61a510b9336d6c220aaa889c03060f (patch) | |
| tree | a8fc08e33aecdd21cb07aa47c8a3a9db715f2ef3 /src/lib/libcrypto/bio | |
| parent | 1e8701dd2507fadf6d232d93eb4299a8b79c66d5 (diff) | |
| download | openbsd-fc7396568e61a510b9336d6c220aaa889c03060f.tar.gz openbsd-fc7396568e61a510b9336d6c220aaa889c03060f.tar.bz2 openbsd-fc7396568e61a510b9336d6c220aaa889c03060f.zip | |
openssl-1.0.0e: resolve conflicts
Diffstat (limited to 'src/lib/libcrypto/bio')
| -rw-r--r-- | src/lib/libcrypto/bio/b_sock.c | 29 | ||||
| -rw-r--r-- | src/lib/libcrypto/bio/bf_nbio.c | 2 | ||||
| -rw-r--r-- | src/lib/libcrypto/bio/bio_lib.c | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/bio/bss_acpt.c | 5 | ||||
| -rw-r--r-- | src/lib/libcrypto/bio/bss_dgram.c | 20 | ||||
| -rw-r--r-- | src/lib/libcrypto/bio/bss_file.c | 12 | ||||
| -rw-r--r-- | src/lib/libcrypto/bio/bss_log.c | 32 |
7 files changed, 83 insertions, 21 deletions
diff --git a/src/lib/libcrypto/bio/b_sock.c b/src/lib/libcrypto/bio/b_sock.c index 12b0a53a81..d47310d650 100644 --- a/src/lib/libcrypto/bio/b_sock.c +++ b/src/lib/libcrypto/bio/b_sock.c | |||
| @@ -551,7 +551,30 @@ int BIO_socket_ioctl(int fd, long type, void *arg) | |||
| 551 | #ifdef __DJGPP__ | 551 | #ifdef __DJGPP__ |
| 552 | i=ioctlsocket(fd,type,(char *)arg); | 552 | i=ioctlsocket(fd,type,(char *)arg); |
| 553 | #else | 553 | #else |
| 554 | i=ioctlsocket(fd,type,arg); | 554 | # if defined(OPENSSL_SYS_VMS) |
| 555 | /* 2011-02-18 SMS. | ||
| 556 | * VMS ioctl() can't tolerate a 64-bit "void *arg", but we | ||
| 557 | * observe that all the consumers pass in an "unsigned long *", | ||
| 558 | * so we arrange a local copy with a short pointer, and use | ||
| 559 | * that, instead. | ||
| 560 | */ | ||
| 561 | # if __INITIAL_POINTER_SIZE == 64 | ||
| 562 | # define ARG arg_32p | ||
| 563 | # pragma pointer_size save | ||
| 564 | # pragma pointer_size 32 | ||
| 565 | unsigned long arg_32; | ||
| 566 | unsigned long *arg_32p; | ||
| 567 | # pragma pointer_size restore | ||
| 568 | arg_32p = &arg_32; | ||
| 569 | arg_32 = *((unsigned long *) arg); | ||
| 570 | # else /* __INITIAL_POINTER_SIZE == 64 */ | ||
| 571 | # define ARG arg | ||
| 572 | # endif /* __INITIAL_POINTER_SIZE == 64 [else] */ | ||
| 573 | # else /* defined(OPENSSL_SYS_VMS) */ | ||
| 574 | # define ARG arg | ||
| 575 | # endif /* defined(OPENSSL_SYS_VMS) [else] */ | ||
| 576 | |||
| 577 | i=ioctlsocket(fd,type,ARG); | ||
| 555 | #endif /* __DJGPP__ */ | 578 | #endif /* __DJGPP__ */ |
| 556 | if (i < 0) | 579 | if (i < 0) |
| 557 | SYSerr(SYS_F_IOCTLSOCKET,get_last_socket_error()); | 580 | SYSerr(SYS_F_IOCTLSOCKET,get_last_socket_error()); |
| @@ -660,6 +683,7 @@ int BIO_get_accept_socket(char *host, int bind_mode) | |||
| 660 | * note that commonly IPv6 wildchard socket can service | 683 | * note that commonly IPv6 wildchard socket can service |
| 661 | * IPv4 connections just as well... */ | 684 | * IPv4 connections just as well... */ |
| 662 | memset(&hint,0,sizeof(hint)); | 685 | memset(&hint,0,sizeof(hint)); |
| 686 | hint.ai_flags = AI_PASSIVE; | ||
| 663 | if (h) | 687 | if (h) |
| 664 | { | 688 | { |
| 665 | if (strchr(h,':')) | 689 | if (strchr(h,':')) |
| @@ -672,7 +696,10 @@ int BIO_get_accept_socket(char *host, int bind_mode) | |||
| 672 | #endif | 696 | #endif |
| 673 | } | 697 | } |
| 674 | else if (h[0]=='*' && h[1]=='\0') | 698 | else if (h[0]=='*' && h[1]=='\0') |
| 699 | { | ||
| 700 | hint.ai_family = AF_INET; | ||
| 675 | h=NULL; | 701 | h=NULL; |
| 702 | } | ||
| 676 | } | 703 | } |
| 677 | 704 | ||
| 678 | if ((*p_getaddrinfo.f)(h,p,&hint,&res)) break; | 705 | if ((*p_getaddrinfo.f)(h,p,&hint,&res)) break; |
diff --git a/src/lib/libcrypto/bio/bf_nbio.c b/src/lib/libcrypto/bio/bf_nbio.c index c72a23c2e1..028616c064 100644 --- a/src/lib/libcrypto/bio/bf_nbio.c +++ b/src/lib/libcrypto/bio/bf_nbio.c | |||
| @@ -125,7 +125,6 @@ static int nbiof_free(BIO *a) | |||
| 125 | 125 | ||
| 126 | static int nbiof_read(BIO *b, char *out, int outl) | 126 | static int nbiof_read(BIO *b, char *out, int outl) |
| 127 | { | 127 | { |
| 128 | NBIO_TEST *nt; | ||
| 129 | int ret=0; | 128 | int ret=0; |
| 130 | #if 1 | 129 | #if 1 |
| 131 | int num; | 130 | int num; |
| @@ -134,7 +133,6 @@ static int nbiof_read(BIO *b, char *out, int outl) | |||
| 134 | 133 | ||
| 135 | if (out == NULL) return(0); | 134 | if (out == NULL) return(0); |
| 136 | if (b->next_bio == NULL) return(0); | 135 | if (b->next_bio == NULL) return(0); |
| 137 | nt=(NBIO_TEST *)b->ptr; | ||
| 138 | 136 | ||
| 139 | BIO_clear_retry_flags(b); | 137 | BIO_clear_retry_flags(b); |
| 140 | #if 1 | 138 | #if 1 |
diff --git a/src/lib/libcrypto/bio/bio_lib.c b/src/lib/libcrypto/bio/bio_lib.c index 77f4de9c32..e12bc3a2ca 100644 --- a/src/lib/libcrypto/bio/bio_lib.c +++ b/src/lib/libcrypto/bio/bio_lib.c | |||
| @@ -110,7 +110,7 @@ int BIO_set(BIO *bio, BIO_METHOD *method) | |||
| 110 | 110 | ||
| 111 | int BIO_free(BIO *a) | 111 | int BIO_free(BIO *a) |
| 112 | { | 112 | { |
| 113 | int ret=0,i; | 113 | int i; |
| 114 | 114 | ||
| 115 | if (a == NULL) return(0); | 115 | if (a == NULL) return(0); |
| 116 | 116 | ||
| @@ -133,7 +133,7 @@ int BIO_free(BIO *a) | |||
| 133 | CRYPTO_free_ex_data(CRYPTO_EX_INDEX_BIO, a, &a->ex_data); | 133 | CRYPTO_free_ex_data(CRYPTO_EX_INDEX_BIO, a, &a->ex_data); |
| 134 | 134 | ||
| 135 | if ((a->method == NULL) || (a->method->destroy == NULL)) return(1); | 135 | if ((a->method == NULL) || (a->method->destroy == NULL)) return(1); |
| 136 | ret=a->method->destroy(a); | 136 | a->method->destroy(a); |
| 137 | OPENSSL_free(a); | 137 | OPENSSL_free(a); |
| 138 | return(1); | 138 | return(1); |
| 139 | } | 139 | } |
diff --git a/src/lib/libcrypto/bio/bss_acpt.c b/src/lib/libcrypto/bio/bss_acpt.c index 826f761143..5d49e1a72b 100644 --- a/src/lib/libcrypto/bio/bss_acpt.c +++ b/src/lib/libcrypto/bio/bss_acpt.c | |||
| @@ -340,7 +340,6 @@ static int acpt_write(BIO *b, const char *in, int inl) | |||
| 340 | 340 | ||
| 341 | static long acpt_ctrl(BIO *b, int cmd, long num, void *ptr) | 341 | static long acpt_ctrl(BIO *b, int cmd, long num, void *ptr) |
| 342 | { | 342 | { |
| 343 | BIO *dbio; | ||
| 344 | int *ip; | 343 | int *ip; |
| 345 | long ret=1; | 344 | long ret=1; |
| 346 | BIO_ACCEPT *data; | 345 | BIO_ACCEPT *data; |
| @@ -437,8 +436,8 @@ static long acpt_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 437 | ret=(long)data->bind_mode; | 436 | ret=(long)data->bind_mode; |
| 438 | break; | 437 | break; |
| 439 | case BIO_CTRL_DUP: | 438 | case BIO_CTRL_DUP: |
| 440 | dbio=(BIO *)ptr; | 439 | /* dbio=(BIO *)ptr; |
| 441 | /* if (data->param_port) EAY EAY | 440 | if (data->param_port) EAY EAY |
| 442 | BIO_set_port(dbio,data->param_port); | 441 | BIO_set_port(dbio,data->param_port); |
| 443 | if (data->param_hostname) | 442 | if (data->param_hostname) |
| 444 | BIO_set_hostname(dbio,data->param_hostname); | 443 | BIO_set_hostname(dbio,data->param_hostname); |
diff --git a/src/lib/libcrypto/bio/bss_dgram.c b/src/lib/libcrypto/bio/bss_dgram.c index eb7e365467..71ebe987b6 100644 --- a/src/lib/libcrypto/bio/bss_dgram.c +++ b/src/lib/libcrypto/bio/bss_dgram.c | |||
| @@ -57,7 +57,6 @@ | |||
| 57 | * | 57 | * |
| 58 | */ | 58 | */ |
| 59 | 59 | ||
| 60 | #ifndef OPENSSL_NO_DGRAM | ||
| 61 | 60 | ||
| 62 | #include <stdio.h> | 61 | #include <stdio.h> |
| 63 | #include <errno.h> | 62 | #include <errno.h> |
| @@ -65,6 +64,7 @@ | |||
| 65 | #include "cryptlib.h" | 64 | #include "cryptlib.h" |
| 66 | 65 | ||
| 67 | #include <openssl/bio.h> | 66 | #include <openssl/bio.h> |
| 67 | #ifndef OPENSSL_NO_DGRAM | ||
| 68 | 68 | ||
| 69 | #if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) | 69 | #if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) |
| 70 | #include <sys/timeb.h> | 70 | #include <sys/timeb.h> |
| @@ -308,7 +308,6 @@ static int dgram_read(BIO *b, char *out, int outl) | |||
| 308 | OPENSSL_assert(sa.len.s<=sizeof(sa.peer)); | 308 | OPENSSL_assert(sa.len.s<=sizeof(sa.peer)); |
| 309 | sa.len.i = (int)sa.len.s; | 309 | sa.len.i = (int)sa.len.s; |
| 310 | } | 310 | } |
| 311 | dgram_reset_rcv_timeout(b); | ||
| 312 | 311 | ||
| 313 | if ( ! data->connected && ret >= 0) | 312 | if ( ! data->connected && ret >= 0) |
| 314 | BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, &sa.peer); | 313 | BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, &sa.peer); |
| @@ -322,6 +321,8 @@ static int dgram_read(BIO *b, char *out, int outl) | |||
| 322 | data->_errno = get_last_socket_error(); | 321 | data->_errno = get_last_socket_error(); |
| 323 | } | 322 | } |
| 324 | } | 323 | } |
| 324 | |||
| 325 | dgram_reset_rcv_timeout(b); | ||
| 325 | } | 326 | } |
| 326 | return(ret); | 327 | return(ret); |
| 327 | } | 328 | } |
| @@ -340,7 +341,7 @@ static int dgram_write(BIO *b, const char *in, int inl) | |||
| 340 | 341 | ||
| 341 | if (data->peer.sa.sa_family == AF_INET) | 342 | if (data->peer.sa.sa_family == AF_INET) |
| 342 | peerlen = sizeof(data->peer.sa_in); | 343 | peerlen = sizeof(data->peer.sa_in); |
| 343 | #if OPENSSL_USE_IVP6 | 344 | #if OPENSSL_USE_IPV6 |
| 344 | else if (data->peer.sa.sa_family == AF_INET6) | 345 | else if (data->peer.sa.sa_family == AF_INET6) |
| 345 | peerlen = sizeof(data->peer.sa_in6); | 346 | peerlen = sizeof(data->peer.sa_in6); |
| 346 | #endif | 347 | #endif |
| @@ -745,9 +746,13 @@ static int BIO_dgram_should_retry(int i) | |||
| 745 | { | 746 | { |
| 746 | err=get_last_socket_error(); | 747 | err=get_last_socket_error(); |
| 747 | 748 | ||
| 748 | #if defined(OPENSSL_SYS_WINDOWS) && 0 /* more microsoft stupidity? perhaps not? Ben 4/1/99 */ | 749 | #if defined(OPENSSL_SYS_WINDOWS) |
| 749 | if ((i == -1) && (err == 0)) | 750 | /* If the socket return value (i) is -1 |
| 750 | return(1); | 751 | * and err is unexpectedly 0 at this point, |
| 752 | * the error code was overwritten by | ||
| 753 | * another system call before this error | ||
| 754 | * handling is called. | ||
| 755 | */ | ||
| 751 | #endif | 756 | #endif |
| 752 | 757 | ||
| 753 | return(BIO_dgram_non_fatal_error(err)); | 758 | return(BIO_dgram_non_fatal_error(err)); |
| @@ -810,7 +815,6 @@ int BIO_dgram_non_fatal_error(int err) | |||
| 810 | } | 815 | } |
| 811 | return(0); | 816 | return(0); |
| 812 | } | 817 | } |
| 813 | #endif | ||
| 814 | 818 | ||
| 815 | static void get_current_time(struct timeval *t) | 819 | static void get_current_time(struct timeval *t) |
| 816 | { | 820 | { |
| @@ -828,3 +832,5 @@ static void get_current_time(struct timeval *t) | |||
| 828 | gettimeofday(t, NULL); | 832 | gettimeofday(t, NULL); |
| 829 | #endif | 833 | #endif |
| 830 | } | 834 | } |
| 835 | |||
| 836 | #endif | ||
diff --git a/src/lib/libcrypto/bio/bss_file.c b/src/lib/libcrypto/bio/bss_file.c index 8bfa0bcd97..b954fe7ebc 100644 --- a/src/lib/libcrypto/bio/bss_file.c +++ b/src/lib/libcrypto/bio/bss_file.c | |||
| @@ -123,6 +123,7 @@ BIO *BIO_new_file(const char *filename, const char *mode) | |||
| 123 | 123 | ||
| 124 | #if defined(_WIN32) && defined(CP_UTF8) | 124 | #if defined(_WIN32) && defined(CP_UTF8) |
| 125 | int sz, len_0 = (int)strlen(filename)+1; | 125 | int sz, len_0 = (int)strlen(filename)+1; |
| 126 | DWORD flags; | ||
| 126 | 127 | ||
| 127 | /* | 128 | /* |
| 128 | * Basically there are three cases to cover: a) filename is | 129 | * Basically there are three cases to cover: a) filename is |
| @@ -136,17 +137,22 @@ BIO *BIO_new_file(const char *filename, const char *mode) | |||
| 136 | * ERROR_NO_UNICODE_TRANSLATION, in which case we fall | 137 | * ERROR_NO_UNICODE_TRANSLATION, in which case we fall |
| 137 | * back to fopen... | 138 | * back to fopen... |
| 138 | */ | 139 | */ |
| 139 | if ((sz=MultiByteToWideChar(CP_UTF8,MB_ERR_INVALID_CHARS, | 140 | if ((sz=MultiByteToWideChar(CP_UTF8,(flags=MB_ERR_INVALID_CHARS), |
| 141 | filename,len_0,NULL,0))>0 || | ||
| 142 | (GetLastError()==ERROR_INVALID_FLAGS && | ||
| 143 | (sz=MultiByteToWideChar(CP_UTF8,(flags=0), | ||
| 140 | filename,len_0,NULL,0))>0) | 144 | filename,len_0,NULL,0))>0) |
| 145 | ) | ||
| 141 | { | 146 | { |
| 142 | WCHAR wmode[8]; | 147 | WCHAR wmode[8]; |
| 143 | WCHAR *wfilename = _alloca(sz*sizeof(WCHAR)); | 148 | WCHAR *wfilename = _alloca(sz*sizeof(WCHAR)); |
| 144 | 149 | ||
| 145 | if (MultiByteToWideChar(CP_UTF8,MB_ERR_INVALID_CHARS, | 150 | if (MultiByteToWideChar(CP_UTF8,flags, |
| 146 | filename,len_0,wfilename,sz) && | 151 | filename,len_0,wfilename,sz) && |
| 147 | MultiByteToWideChar(CP_UTF8,0,mode,strlen(mode)+1, | 152 | MultiByteToWideChar(CP_UTF8,0,mode,strlen(mode)+1, |
| 148 | wmode,sizeof(wmode)/sizeof(wmode[0])) && | 153 | wmode,sizeof(wmode)/sizeof(wmode[0])) && |
| 149 | (file=_wfopen(wfilename,wmode))==NULL && errno==ENOENT | 154 | (file=_wfopen(wfilename,wmode))==NULL && |
| 155 | (errno==ENOENT || errno==EBADF) | ||
| 150 | ) /* UTF-8 decode succeeded, but no file, filename | 156 | ) /* UTF-8 decode succeeded, but no file, filename |
| 151 | * could still have been locale-ized... */ | 157 | * could still have been locale-ized... */ |
| 152 | file = fopen(filename,mode); | 158 | file = fopen(filename,mode); |
diff --git a/src/lib/libcrypto/bio/bss_log.c b/src/lib/libcrypto/bio/bss_log.c index 7ead044b37..b7dce5c1a2 100644 --- a/src/lib/libcrypto/bio/bss_log.c +++ b/src/lib/libcrypto/bio/bss_log.c | |||
| @@ -75,6 +75,15 @@ | |||
| 75 | # include <descrip.h> | 75 | # include <descrip.h> |
| 76 | # include <lib$routines.h> | 76 | # include <lib$routines.h> |
| 77 | # include <starlet.h> | 77 | # include <starlet.h> |
| 78 | /* Some compiler options may mask the declaration of "_malloc32". */ | ||
| 79 | # if __INITIAL_POINTER_SIZE && defined _ANSI_C_SOURCE | ||
| 80 | # if __INITIAL_POINTER_SIZE == 64 | ||
| 81 | # pragma pointer_size save | ||
| 82 | # pragma pointer_size 32 | ||
| 83 | void * _malloc32 (__size_t); | ||
| 84 | # pragma pointer_size restore | ||
| 85 | # endif /* __INITIAL_POINTER_SIZE == 64 */ | ||
| 86 | # endif /* __INITIAL_POINTER_SIZE && defined _ANSI_C_SOURCE */ | ||
| 78 | #elif defined(__ultrix) | 87 | #elif defined(__ultrix) |
| 79 | # include <sys/syslog.h> | 88 | # include <sys/syslog.h> |
| 80 | #elif defined(OPENSSL_SYS_NETWARE) | 89 | #elif defined(OPENSSL_SYS_NETWARE) |
| @@ -300,7 +309,24 @@ static void xopenlog(BIO* bp, char* name, int level) | |||
| 300 | static void xsyslog(BIO *bp, int priority, const char *string) | 309 | static void xsyslog(BIO *bp, int priority, const char *string) |
| 301 | { | 310 | { |
| 302 | struct dsc$descriptor_s opc_dsc; | 311 | struct dsc$descriptor_s opc_dsc; |
| 312 | |||
| 313 | /* Arrange 32-bit pointer to opcdef buffer and malloc(), if needed. */ | ||
| 314 | #if __INITIAL_POINTER_SIZE == 64 | ||
| 315 | # pragma pointer_size save | ||
| 316 | # pragma pointer_size 32 | ||
| 317 | # define OPCDEF_TYPE __char_ptr32 | ||
| 318 | # define OPCDEF_MALLOC _malloc32 | ||
| 319 | #else /* __INITIAL_POINTER_SIZE == 64 */ | ||
| 320 | # define OPCDEF_TYPE char * | ||
| 321 | # define OPCDEF_MALLOC OPENSSL_malloc | ||
| 322 | #endif /* __INITIAL_POINTER_SIZE == 64 [else] */ | ||
| 323 | |||
| 303 | struct opcdef *opcdef_p; | 324 | struct opcdef *opcdef_p; |
| 325 | |||
| 326 | #if __INITIAL_POINTER_SIZE == 64 | ||
| 327 | # pragma pointer_size restore | ||
| 328 | #endif /* __INITIAL_POINTER_SIZE == 64 */ | ||
| 329 | |||
| 304 | char buf[10240]; | 330 | char buf[10240]; |
| 305 | unsigned int len; | 331 | unsigned int len; |
| 306 | struct dsc$descriptor_s buf_dsc; | 332 | struct dsc$descriptor_s buf_dsc; |
| @@ -326,8 +352,8 @@ static void xsyslog(BIO *bp, int priority, const char *string) | |||
| 326 | 352 | ||
| 327 | lib$sys_fao(&fao_cmd, &len, &buf_dsc, priority_tag, string); | 353 | lib$sys_fao(&fao_cmd, &len, &buf_dsc, priority_tag, string); |
| 328 | 354 | ||
| 329 | /* we know there's an 8 byte header. That's documented */ | 355 | /* We know there's an 8-byte header. That's documented. */ |
| 330 | opcdef_p = (struct opcdef *) OPENSSL_malloc(8 + len); | 356 | opcdef_p = OPCDEF_MALLOC( 8+ len); |
| 331 | opcdef_p->opc$b_ms_type = OPC$_RQ_RQST; | 357 | opcdef_p->opc$b_ms_type = OPC$_RQ_RQST; |
| 332 | memcpy(opcdef_p->opc$z_ms_target_classes, &VMS_OPC_target, 3); | 358 | memcpy(opcdef_p->opc$z_ms_target_classes, &VMS_OPC_target, 3); |
| 333 | opcdef_p->opc$l_ms_rqstid = 0; | 359 | opcdef_p->opc$l_ms_rqstid = 0; |
| @@ -335,7 +361,7 @@ static void xsyslog(BIO *bp, int priority, const char *string) | |||
| 335 | 361 | ||
| 336 | opc_dsc.dsc$b_dtype = DSC$K_DTYPE_T; | 362 | opc_dsc.dsc$b_dtype = DSC$K_DTYPE_T; |
| 337 | opc_dsc.dsc$b_class = DSC$K_CLASS_S; | 363 | opc_dsc.dsc$b_class = DSC$K_CLASS_S; |
| 338 | opc_dsc.dsc$a_pointer = (char *)opcdef_p; | 364 | opc_dsc.dsc$a_pointer = (OPCDEF_TYPE) opcdef_p; |
| 339 | opc_dsc.dsc$w_length = len + 8; | 365 | opc_dsc.dsc$w_length = len + 8; |
| 340 | 366 | ||
| 341 | sys$sndopr(opc_dsc, 0); | 367 | sys$sndopr(opc_dsc, 0); |
