Since 2.8.81 in soap_putcookies the hostname is resolved with the wrapper function tcp_gethostbyname. This is the only location where the parameter hostent is used. Unfortunately the parameter hostent will not be returned because it is defined as a pointer to hostent. Within the function not the content is written but the pointer itself, which will be ignored when you return from the function.
so the function is defined like this:
static int tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent, struct in_addr *inaddr);
and within the function the parameter is set like this:
hostent = gethostbyname((char*)addr);
We updated from 2.8.68 to 2.8.123 and run into this problem when domain level cookies are used.
Please consider changing the tcp_gethostbyname function.
A method like this should fix it: