* See the file LICENSE for details.
*
* $Log: client.c,v $
- * Revision 1.123 2001-06-11 12:54:47 heikki
+ * Revision 1.124 2001-07-04 20:13:51 ja7
+ * Added new commend "proxy" for ysing a yaz-proxy to connect to the target
+ * Added new command line option -p for setting the proxy host
+ *
+ * Revision 1.123 2001/06/11 12:54:47 heikki
* Displayng diags in EsResponse, even if they should not be there...
*
* Revision 1.122 2001/05/16 07:27:29 adam
static char last_scan_query[512] = "0";
static char ccl_fields[512] = "default.bib";
static char* esPackageName = 0;
+static char* yazProxy = 0;
static char last_cmd[100] = "?";
static FILE *marcdump = 0;
/* INIT SERVICE ------------------------------- */
-static void send_initRequest()
+static void send_initRequest(const char* type_and_host)
{
Z_APDU *apdu = zget_APDU(out, Z_APDU_initRequest);
Z_InitRequest *req = apdu->u.initRequest;
req->referenceId = set_refid (out);
+
+ yaz_oi_set_string_oidval(&req->otherInfo, out, VAL_PROXY, 1, type_and_host);
+
+
send_apdu(apdu);
printf("Sent initrequest.\n");
}
if (sscanf (arg, "%100[^/]/%100s", type_and_host, base) < 1)
return 0;
- conn = cs_create_host(type_and_host, 1, &add);
+ if(yazProxy)
+ {
+ conn = cs_create_host(yazProxy, 1, &add);
+ }
+ else
+ {
+ conn = cs_create_host(type_and_host, 1, &add);
+ };
+
if (!conn)
{
printf ("Couldn't create comstack\n");
return 0;
}
printf("Ok.\n");
- send_initRequest();
+
+ send_initRequest(type_and_host);
if (*base)
cmd_base (base);
return 2;
return 1;
};
+int cmd_proxy(char* arg) {
+ xfree (yazProxy);
+ yazProxy = NULL;
+ if (*arg)
+ {
+ yazProxy = (char *) xmalloc (strlen(arg)+1);
+ strcpy (yazProxy, arg);
+ }
+ return 1;
+};
+
static void initialize(void)
{
#if YAZ_MODULE_ccl
{"itemorder", cmd_itemorder, "ill|item <itemno>"},
{"update", cmd_update, "<item>"},
{"packagename", cmd_packagename, "<packagename>"},
+ {"proxy", cmd_proxy, "('tcp'|'osi')':'[<tsel>'/']<host>[':'<port>]"},
#ifdef ASN_COMPILED
/* Server Admin Functions */
{"adm-reindex", cmd_adm_reindex, "<database-name>"},
int ret;
int opened = 0;
- while ((ret = options("c:a:m:v:", argv, argc, &arg)) != -2)
+ while ((ret = options("c:a:m:v:p:", argv, argc, &arg)) != -2)
{
switch (ret)
{
else
apdu_file=fopen(arg, "a");
break;
+ case 'p':
+ yazProxy=strdup(arg);
+ break;
case 'v':
yaz_log_init (yaz_log_mask_str(arg), "", NULL);
break;
default:
fprintf (stderr, "Usage: %s [-m <marclog>] [ -a <apdulog>] "
- "[-c cclfields] [<server-addr>]\n",
+ "[-c cclfields] [-p <proxy-addr>] [<server-addr>]\n",
prog);
exit (1);
}