X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Ffilter_zoom.cpp;h=0d5349aea518cf9804384dd46257cb4ba531e258;hb=a83814901948c8dc8d6d3da35e413dad5bf03400;hp=5af78539f955f0c51d286460d0b89bc0293db4d2;hpb=c4067804c0b78ee0bbd4e280b85def0ce2cc0f3e;p=metaproxy-moved-to-github.git diff --git a/src/filter_zoom.cpp b/src/filter_zoom.cpp index 5af7853..0d5349a 100644 --- a/src/filter_zoom.cpp +++ b/src/filter_zoom.cpp @@ -1,5 +1,5 @@ /* This file is part of Metaproxy. - Copyright (C) 2005-2011 Index Data + Copyright (C) 2005-2012 Index Data Metaproxy 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 @@ -130,7 +130,8 @@ namespace metaproxy_1 { char **addinfo, ODR odr, std::string authentication, - std::string proxy); + std::string proxy, + std::string realm); void prepare_elements(BackendPtr b, Odr_oid *preferredRecordSyntax, @@ -230,6 +231,7 @@ yf::Zoom::Backend::~Backend() xsltFreeStylesheet(xsp); ZOOM_connection_destroy(m_connection); ZOOM_resultset_destroy(m_resultset); + wrbuf_destroy(m_apdu_wrbuf); } @@ -277,6 +279,7 @@ void yf::Zoom::Backend::connect(std::string zurl, void yf::Zoom::Backend::search(ZOOM_query q, Odr_int *hits, int *error, char **addinfo, ODR odr) { + ZOOM_resultset_destroy(m_resultset); m_resultset = ZOOM_connection_search(m_connection, q); get_zoom_error(error, addinfo, odr); if (*error == 0) @@ -667,7 +670,8 @@ bool yf::Zoom::Frontend::create_content_session(mp::Package &package, int *error, char **addinfo, ODR odr, std::string authentication, - std::string proxy) + std::string proxy, + std::string realm) { if (b->sptr->contentConnector.length()) { @@ -701,11 +705,14 @@ bool yf::Zoom::Frontend::create_content_session(mp::Package &package, wrbuf_printf(w, "auth: %s\n", authentication.c_str()); if (proxy.length()) wrbuf_printf(w, "proxy: %s\n", proxy.c_str()); + if (realm.length()) + wrbuf_printf(w, "realm: %s\n", realm.c_str()); fwrite(wrbuf_buf(w), 1, wrbuf_len(w), file); fclose(file); package.log("zoom", YLOG_LOG, "content file: %s", fname); xfree(fname); + wrbuf_destroy(w); } return true; } @@ -1059,7 +1066,8 @@ yf::Zoom::BackendPtr yf::Zoom::Frontend::get_backend_from_databases( create_content_session(package, b, error, addinfo, odr, content_authentication.length() ? content_authentication : authentication, - content_proxy.length() ? content_proxy : proxy); + content_proxy.length() ? content_proxy : proxy, + realm); if (*error == 0) m_backend = b; return b; @@ -1185,8 +1193,6 @@ Z_Records *yf::Zoom::Frontend::get_records(Package &package, Z_NamePlusRecord *npr = 0; const char *addinfo; - package.log("zoom", YLOG_LOG, "Inspecting record at position %d", - start + i); int sur_error = ZOOM_record_error(recs[i], 0 /* msg */, &addinfo, 0 /* diagset */);