* Copyright (c) 1995-2003, Index Data
* See the file LICENSE for details.
*
- * $Id: comstack.c,v 1.12 2003-02-21 12:08:57 adam Exp $
+ * $Id: comstack.c,v 1.13 2003-03-11 11:05:19 adam Exp $
*/
#include <string.h>
return cs_errmsg(h->cerrno);
}
+void cs_get_host_args(const char *type_and_host, const char **args)
+{
+
+ *args = "";
+ if (*type_and_host && strncmp(type_and_host, "unix:", 5))
+ {
+ const char *cp;
+ cp = strstr(type_and_host, "://");
+ if (cp)
+ cp = cp+3;
+ else
+ cp = type_and_host;
+ cp = strchr(cp, '/');
+ if (cp)
+ *args = cp+1;
+ }
+}
+
COMSTACK cs_create_host(const char *type_and_host, int blocking, void **vp)
{
enum oid_proto proto = PROTO_Z3950;
* Copyright (c) 1995-2003, Index Data
* See the file LICENSE for details.
*
- * $Id: tcpip.c,v 1.55 2003-02-21 12:08:57 adam Exp $
+ * $Id: tcpip.c,v 1.56 2003-03-11 11:05:19 adam Exp $
*/
#include <stdio.h>
}
#endif
-int tcpip_strtoaddr_ex(const char *str, struct sockaddr_in *add)
+int tcpip_strtoaddr_ex(const char *str, struct sockaddr_in *add,
+ int default_port)
{
struct hostent *hp;
char *p, buf[512];
- short int port = 210;
+ short int port = default_port;
unsigned tmpadd;
if (!tcpip_init ())
void *tcpip_straddr(COMSTACK h, const char *str)
{
tcpip_state *sp = (tcpip_state *)h->cprivate;
+ int port = 210;
- if (!tcpip_strtoaddr_ex (str, &sp->addr))
+ if (h->protocol == PROTO_HTTP)
+ port = 80;
+
+ if (!tcpip_strtoaddr_ex (str, &sp->addr, port))
return 0;
return &sp->addr;
}
{
static struct sockaddr_in add;
- if (!tcpip_strtoaddr_ex (str, &add))
+ if (!tcpip_strtoaddr_ex (str, &add, 210))
return 0;
return &add;
}
r = (char*) host->h_name;
else
r = inet_ntoa(addr.sin_addr);
- sprintf(buf, "tcp:%s", r);
+ if (h->protocol == PROTO_HTTP)
+ sprintf(buf, "http:%s", r);
+ else
+ sprintf(buf, "tcp:%s", r);
#if HAVE_OPENSSL_SSL_H
if (sp->ctx)
- sprintf(buf, "ssl:%s", r);
+ {
+ if (h->protocol == PROTO_HTTP)
+ sprintf(buf, "https:%s", r);
+ else
+ sprintf(buf, "ssl:%s", r);
+ }
#endif
return buf;
}
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*
- * $Id: comstack.h,v 1.9 2003-03-03 19:57:35 adam Exp $
+ * $Id: comstack.h,v 1.10 2003-03-11 11:05:19 adam Exp $
*/
#ifndef COMSTACK_H
YAZ_EXPORT const char *cs_errmsg(int n);
YAZ_EXPORT COMSTACK cs_create_host(const char *type_and_host,
int blocking, void **vp);
+YAZ_EXPORT void cs_get_host_args(const char *type_and_host, const char **args);
YAZ_EXPORT int cs_complete_auto(const unsigned char *buf, int len);
/*