Fix UDP and TCP port byte order in saved options.
authorNick Alcock <nick.alcock@oracle.com>
Mon, 21 May 2012 14:25:07 +0000 (16:25 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 21 May 2012 20:40:45 +0000 (22:40 +0200)
commit9bd38a4a6e3cc0ffc83585eb41650e300323fb04
tree0ffe6ec5bce56591b0f5577cbffcd3a0a8017406
parent7ec5e8e6564162ae579efe2cc9e1d311b1e1f6a9
Fix UDP and TCP port byte order in saved options.

The UDP and TCP port are stored in network byte order in the
ares_channeldata, but are passed in to ares_init_options() in host byte
order.  Thus we must return them from ares_save_options() in host byte
order too, or a duplicated channel will convert them again, leading to a
nonfunctional channel and a mysterious connection refused error from
ares_gethostbyname().  This breaks ares_dup(), thus the curl easy API
when c-ares is used by curl, and thus all the curl easy API's users.
ares_init.c