* http.c (connect_server): Properly handle a single A record that fails

connect().
This commit is contained in:
David Shaw 2002-10-11 02:24:59 +00:00
parent 071966cd65
commit 4849c0ab7b
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2002-10-10 David Shaw <dshaw@jabberwocky.com>
* http.c (connect_server): Properly handle a single A record that
fails connect().
2002-10-03 David Shaw <dshaw@jabberwocky.com>
* logger.c (g10_log_warning, log_set_strict): Add new log_warning

View File

@ -770,17 +770,18 @@ connect_server( const char *server, ushort port )
/* Try all A records until one responds. TODO: do this on the
MINGW32 side as well. */
do
while(host->h_addr_list[i])
{
addr.sin_addr = *(struct in_addr*)host->h_addr_list[i];
if(connect( sd, (struct sockaddr *)&addr, sizeof addr) == 0)
break;
i++;
}
while(addr.sin_addr.s_addr!=0);
if(addr.sin_addr.s_addr==0)
if(host->h_addr_list[i]==0)
{
sock_close(sd);
return -1;