* Sebastian Hammer, Adam Dickmeiss
*
* $Log: yaz-proxy.cpp,v $
- * Revision 1.7 1999-04-28 13:31:17 adam
+ * Revision 1.9 1999-09-13 12:53:44 adam
+ * Proxy removes OtherInfo Proxy Address and Session ID. Other
+ * Otherinfo remains untouched.
+ *
+ * Revision 1.8 1999/05/04 10:53:00 adam
+ * Changed the way the PROXY behaves when lost cookie is received.
+ *
+ * Revision 1.7 1999/04/28 13:31:17 adam
* Better result set optimisation for proxy.
*
* Revision 1.6 1999/04/27 07:52:13 adam
assert (oid_ent_to_oid (&ent, oid));
if (oid_ent_to_oid (&ent, oid) &&
- (oi = update_otherInformation(otherInfo, 0, oid, 1)) &&
+ (oi = update_otherInformation(otherInfo, 0, oid, 1, 1)) &&
oi->which == Z_OtherInfo_characterInfo)
return oi->information.characterInfo;
return 0;
ent.oclass = CLASS_USERINFO;
ent.value = (oid_value) VAL_PROXY;
if (oid_ent_to_oid (&ent, oid) &&
- (oi = update_otherInformation(otherInfo, 0, oid, 1)) &&
+ (oi = update_otherInformation(otherInfo, 0, oid, 1, 1)) &&
oi->which == Z_OtherInfo_characterInfo)
return oi->information.characterInfo;
return 0;
get_otherInfoAPDU(apdu, &oi);
char *cookie = get_cookie(oi);
logf (LOG_LOG, "Yaz_Proxy::get_client cookie=%s", cookie ? cookie :
- "<null>");
+ "null");
if (cookie)
{
for (c = parent->m_clientPool; c; c = c->m_next)
if (!strcmp(cookie,c->m_cookie))
{
logf (LOG_LOG, "Yaz_Proxy::get_client cached");
- break;
+ return c;
}
}
+
}
- else if (!m_client)
+ if (!m_client)
{
logf (LOG_LOG, "Yaz_Proxy::get_client creating new");
c = new Yaz_ProxyClient(m_PDU_Observable->clone());
}
m_client->m_server = this;
+#if 0
Z_OtherInformation **oi;
get_otherInfoAPDU(apdu, &oi);
*oi = 0;
+#endif
+
if (apdu->which == Z_APDU_initRequest)
{
if (m_client->m_init_flag)