/* This file is part of Pazpar2.
- Copyright (C) 2006-2011 Index Data
+ Copyright (C) 2006-2012 Index Data
Pazpar2 is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
struct hostent *hp;
#endif
char *hostport = xstrdup(w->hostport);
-
if ((port = strchr(hostport, ':')))
*(port++) = '\0';
else
+ {
port = "210";
+ }
#if HAVE_GETADDRINFO
hints.ai_flags = 0;
// returns AF_INET address.
if ((res = getaddrinfo(hostport, port, &hints, &addrinfo)))
{
- yaz_log(YLOG_WARN, "Failed to resolve %s: %s",
+ yaz_log(YLOG_WARN, "Failed to resolve %s %s",
w->hostport, gai_strerror(res));
}
else
char ipport[128];
unsigned char addrbuf[4];
assert(addrinfo->ai_family == PF_INET);
- memcpy(addrbuf,
+ memcpy(addrbuf,
&((struct sockaddr_in*)addrinfo->ai_addr)->sin_addr.s_addr, 4);
sprintf(ipport, "%u.%u.%u.%u:%s",
addrbuf[0], addrbuf[1], addrbuf[2], addrbuf[3], port);
static void getaddrinfo_start(iochan_man_t iochan_man)
{
int fd;
- sel_thread_t p = resolver_thread =
+ sel_thread_t p = resolver_thread =
sel_thread_create(work_handler, 0 /* work_destroy */, &fd,
3 /* no of resolver threads */);
if (!p)
struct work *w = xmalloc(sizeof(*w));
int use_thread = 0; /* =0 to disable threading entirely */
- w->hostport = host->hostport;
+ w->hostport = host->tproxy ? host->tproxy : host->proxy;
w->ipport = 0;
w->host = host;
w->iochan_man = iochan_man;