Loading CHANGES +6 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,12 @@ *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7 +) applies to 0.9.7 only *) Disable caching in BIO_gethostbyname(), directly use gethostbyname() instead. BIO_gethostbyname() does not know what timeouts are appropriate, so entries would stay in cache even when they hade become invalid. [Bodo Moeller; problem pointed out by Rich Salz <rsalz@zolera.com> +) New command line and configuration option 'utf8' for the req command. This allows field values to be specified as UTF8 strings. [Steve Henson] Loading crypto/bio/b_sock.c +22 −14 Original line number Diff line number Diff line Loading @@ -345,13 +345,18 @@ static void ghbn_free(struct hostent *a) struct hostent *BIO_gethostbyname(const char *name) { #if 1 /* Caching gethostbyname() results forever is wrong, * so we have to let the true gethostbyname() worry about this */ return gethostbyname(name); #else struct hostent *ret; int i,lowi=0,j; unsigned long low= (unsigned long)-1; /* return(gethostbyname(name)); */ #if 0 /* It doesn't make sense to use locking here: The function interface # if 0 /* It doesn't make sense to use locking here: The function interface * is not thread-safe, because threads can never be sure when * some other thread destroys the data they were given a pointer to. */ Loading Loading @@ -393,7 +398,8 @@ struct hostent *BIO_gethostbyname(const char *name) goto end; if (j > 128) /* too big to cache */ { #if 0 /* If we were trying to make this function thread-safe (which # if 0 /* If we were trying to make this function thread-safe (which * is bound to fail), we'd have to give up in this case * (or allocate more memory). */ ret = NULL; Loading Loading @@ -425,8 +431,10 @@ end: CRYPTO_w_unlock(CRYPTO_LOCK_GETHOSTBYNAME); # endif return(ret); #endif } int BIO_sock_init(void) { #ifdef OPENSSL_SYS_WINDOWS Loading Loading
CHANGES +6 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,12 @@ *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7 +) applies to 0.9.7 only *) Disable caching in BIO_gethostbyname(), directly use gethostbyname() instead. BIO_gethostbyname() does not know what timeouts are appropriate, so entries would stay in cache even when they hade become invalid. [Bodo Moeller; problem pointed out by Rich Salz <rsalz@zolera.com> +) New command line and configuration option 'utf8' for the req command. This allows field values to be specified as UTF8 strings. [Steve Henson] Loading
crypto/bio/b_sock.c +22 −14 Original line number Diff line number Diff line Loading @@ -345,13 +345,18 @@ static void ghbn_free(struct hostent *a) struct hostent *BIO_gethostbyname(const char *name) { #if 1 /* Caching gethostbyname() results forever is wrong, * so we have to let the true gethostbyname() worry about this */ return gethostbyname(name); #else struct hostent *ret; int i,lowi=0,j; unsigned long low= (unsigned long)-1; /* return(gethostbyname(name)); */ #if 0 /* It doesn't make sense to use locking here: The function interface # if 0 /* It doesn't make sense to use locking here: The function interface * is not thread-safe, because threads can never be sure when * some other thread destroys the data they were given a pointer to. */ Loading Loading @@ -393,7 +398,8 @@ struct hostent *BIO_gethostbyname(const char *name) goto end; if (j > 128) /* too big to cache */ { #if 0 /* If we were trying to make this function thread-safe (which # if 0 /* If we were trying to make this function thread-safe (which * is bound to fail), we'd have to give up in this case * (or allocate more memory). */ ret = NULL; Loading Loading @@ -425,8 +431,10 @@ end: CRYPTO_w_unlock(CRYPTO_LOCK_GETHOSTBYNAME); # endif return(ret); #endif } int BIO_sock_init(void) { #ifdef OPENSSL_SYS_WINDOWS Loading