X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fyaz-z-server.cpp;h=096cfa0c07a0f4f79a6d46278de11a158d9ebe02;hb=56d92bbfde918ba7c662588fabde1331210f003b;hp=d07bae0f9e61e388c23c02d622ce7f695acc93af;hpb=e3133d2f2c580f76c9da2e7621c74a064f0955c9;p=yazpp-moved-to-github.git diff --git a/src/yaz-z-server.cpp b/src/yaz-z-server.cpp index d07bae0..096cfa0 100644 --- a/src/yaz-z-server.cpp +++ b/src/yaz-z-server.cpp @@ -3,7 +3,14 @@ * See the file LICENSE for details. * * $Log: yaz-z-server.cpp,v $ - * Revision 1.4 2000-10-11 11:58:17 adam + * Revision 1.6 2001-01-29 11:18:24 adam + * Server sets OPTIONS search and present. + * + * Revision 1.5 2000/10/24 12:29:57 adam + * Fixed bug in proxy where a Yaz_ProxyClient could be owned by + * two Yaz_Proxy's (fatal). + * + * Revision 1.4 2000/10/11 11:58:17 adam * Moved header files to include/yaz++. Switched to libtool and automake. * Configure script creates yaz++-config script. * @@ -275,12 +282,20 @@ void Yaz_Z_Server::fetch_via_present (Z_PresentRequest *req, void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request) { + Z_Options *req, *res; Z_APDU *apdu_response; switch (apdu_request->which) { case Z_APDU_initRequest: - logf (LOG_LOG, "got InitRequest"); + logf (LOG_LOG, "got InitRequest p=%p", this); apdu_response = create_Z_PDU(Z_APDU_initResponse); + req = apdu_request->u.initRequest->options; + res = apdu_response->u.initResponse->options; + + if (ODR_MASK_GET(req, Z_Options_search)) + ODR_MASK_SET(res, Z_Options_search); + if (ODR_MASK_GET(req, Z_Options_present)) + ODR_MASK_SET(res, Z_Options_present); recv_Z_init (apdu_request->u.initRequest, apdu_response->u.initResponse); m_preferredMessageSize = @@ -290,7 +305,7 @@ void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request) send_Z_PDU(apdu_response); break; case Z_APDU_searchRequest: - logf (LOG_LOG, "got SearchRequest"); + logf (LOG_LOG, "got SearchRequest p=%p", this); apdu_response = create_Z_PDU(Z_APDU_searchResponse); recv_Z_search (apdu_request->u.searchRequest, apdu_response->u.searchResponse); @@ -302,7 +317,7 @@ void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request) send_Z_PDU(apdu_response); break; case Z_APDU_presentRequest: - logf (LOG_LOG, "got PresentRequest"); + logf (LOG_LOG, "got PresentRequest p=%p", this); apdu_response = create_Z_PDU(Z_APDU_presentResponse); recv_Z_present (apdu_request->u.presentRequest, apdu_response->u.presentResponse);