--- 1.11.0 2015/11/17 frontend_net: connect-max anx http-req-max may be specified based on originating IP. MP-632 frontend_net: fix leaks that would occur if http-req-max takes effect. Report file descriptor limit (RLIMIT_NOFILE) upon startup MP-631 --- 1.10.0 2015/10/01 Fix sort: does not sort during leading present MP-630 Filter frontend_net: dynamic thread pool. max-threads and stack-size may be configured MP-629 Fix boost not found on debian-testing MP-628 --- 1.9.3 2015/09/04 Fix virt_db creates result-set for failed search MP-627 --- 1.9.2 2015/09/04 Fix load_balance: does not retry dead target MP-626 Provide example of target auth MP-625 Also update schema, becuase route is optional for target element. Replace indexdata.dk/gils with z3950.indexdata.com MP-624 Describe auth attribute for multi filter --- 1.9.1 2015/08/19 Avoid naked ptr in filter configure MP-623 Update to debhelper 9 MP-622 --- 1.9.0 2015/08/06 Fix incorrect diagnostic for reverse cql2pqf MP-619 The cql_transform_rpn2cql_stream_r returns Bib-1 diagnostics; not SRU diagnostics. deb: deprecated substitution ${Source-Version} MP-621 Fix systemd: reload stops metaproxy MP-620 Detect systemd and just do nothing when reload/force-reload is used. Log, however, that it really is not reloading. Add http-req-max to frontend_net MP-617 --- 1.8.10 2015/06/24 Fix multi: hideunavailable don't hide target that timeout MP-615 --- 1.8.9 2015/06/01 Fix race condition in MP log output MP-522 Fix 'Group' is duplicated twice in RPM spec Fix crash in log filter when record syntax is omitted MP-613 Change target z3950.loc.gov:7090/voyager -> lx2.loc.gov:210/LCDB_MARC8 in examples. Fix Control-C does not stop Metaproxy spawned by shell MP-610 Check for fork mode instead (-D) - rather than debug (-X) --- 1.8.8 2015/04/14 sru_z3950: allow CCL in SRU search MP-606 Makes the sru_z3950 filter convert to CCL queries if query type "ccl" is used, eg ?query=water&queryType=ccl&... for SRU 2.0. --- 1.8.7 2015/04/01 Fix dead lock in session_shared (init) MP-605 --- 1.8.6 2015/04/01 Fix session_shared caches set with diagnostic MP-604 Fix assertion failed in session_shared filter MP-603 Make /usr/share/metaproxy be part of metaproxy RPM MP-601 Log YAZ version upon start MP-599 --- 1.8.5 2015/03/17 sru_z3950: undo Serialize identical SRU GET requests MP-598 Now much more elegantly handled by session_shared. session_shared: anticipated init and search MP-597 z3950_client: separate init timeout MP-596 Both init-timeout and connect-timeout are configurable by this change. Default is 10 seconds. --- 1.8.4 2015/03/16 zoom: support cf_-params MP-595 http_client: returns 404 if no destination URI is given --- 1.8.3 2015/02/10 zoom: allow / in user and password db args MP-592 --- 1.8.2 2015/02/02 Log rotate no longer reloads configuration - instead Metaproxy just re-opens log files when SIGHUP is received. MP-485 Debian : init.d metaproxy reload should check configuration MP-591 Fix Metaproxy stops logging after check config failed MP-590 --- 1.8.1 2015/01/19 Fix double free in log filter (with incorrect config) MP-589 zoom: Add allow_ip feature - fixes MP-588 Allow a list of IPs to be given separated by blanks cql2pqf.txt: Maps dc.subject to Bib-1 21 rather than 47 zoom: fix CS write-check --- 1.8.0 2015/01/08 zoom: handle contentAuthentication MP-587 --- 1.7.2 2014/12/16 Destroy router and filters in parent process MP-584 Update NMAKE makefile to use Visual Studio 2013 along with Boost 1.57, ICU 54.1, Libxml2 2.9.2, Libxslt 1.1.28. --- 1.7.1 2014/12/02 Use YAZ backtrace facility MP-582 Fix libmetaproxy-dev depends on libgnutls-dev - MP-580 libgnutls-dev is unavailable on jessie. Update template filter to avoid Pimpl MP-579 cgi: POSTed content - part of MP-562 Fix filter cgi does not relay session close MP-577 --- 1.7.0 2014/10/28 Add support for binding outgoing IP for http_client and z3950_client This is enabled by bind_host setting. MP-575 --- 1.6.0 2014/10/21 z3950_client: allows negotiation charset to be set MP-574 cgi: more functional but no support for POSTed content yet (part of MP-564) --- 1.5.11 2014/10/20 http_file: add include of sys/stat.h fixes MP-576 Fix documentation about SRU client support MP-572 Initialize Libxml2 - for threaded operation MP-571 --- 1.5.10 2014/08/26 On SIGTERM shut down connection+listening sockets MP-568 This fixes a problem with 'metaproxy stop' sometimes taking a long time. --- 1.5.9 2014/08/15 zoom: make retry on failure configurable MP-565 The default and existing behavior is that backend failures (any diagnostic) makes the module re-search once. The behavior may be changed by db parameter 'retry'. If given value '0' disables retry and '1' enables it. If not given, the Torus record may specify with element retryOnFailure (value '0'/'1'). --- 1.5.8 2014/08/01 Fix race condition in SIGTERM handling. Could terminate whole metaproxy instead of just a child process. Extremely rare in real life, hit me with CF stress testing. MP-559. --- 1.5.7 2014/07/15 http_file: passthru option MP-557 New facility for http_file to passthru - even if an area is matched. The default behavior (passthru=false) is to return 404: Not found. With passthru=false, next filter is consulted. --- 1.5.6 2014/07/14 Fix ref to freed memory in log filter 1line - MP-556 echoedSearchRetrieveRequest support MP-555 --- 1.5.5 2014/06/06 zoom: allow hostname to be given for ipauth MP-552 The Torus setting for that is called auth_hostname. --- 1.5.4 2014/06/04 zoom: IP auth use field "ipRanges" rather than "ip" MP-551 --- 1.5.3 2014/06/03 session_shared: close in ~BackendInstance MP-549 This fixes a serious issue where some MP would leak sockets. session_shared: mutex lock in BackendClass::release_backend MP-550 Fixes a SEGV that could occur (in rare cases). --- 1.5.2 2014/05/22 zoom: Do not include ZOOM C's fake surrogate diag recs MP-547 zoom: fix invalid present response in some cases MP-546 zoom: Relay Torus HTTP error message --- 1.5.1 2014/04/28 Check for proper limits before using RecordCache functions MP-544 --- 1.5.0 2014/04/24 Build packages for Ubuntu Trusty Tahr 14.04 LTS sort: crash / invalid_read in filter sort MP-541 sru_z3950: facet should be stored in additionalSearchInfo MP-533 doc: fix missing man pages MP-542 cql_rpn: fix threading problem with CQL to RPN conversion MP-497 cql_rpn: allow conversion from RPN to CQL (reverse) MP-537 --- 1.4.8 2014/04/02 sru_z3950: fix facet response (memory corruption) MP-532 log: fix crash idPass user is omitted MP-530 --- 1.4.7 2014/03/25 query_rewrite: pass-thru non Type-1 queries MP-527 metaproxy stop (SIGTERM) kills all child processes spanwed by filter (if any) before invoking filter destructors. MP-525 --- 1.4.6 2014/03/21 http_file: only supports HTTP GET MP-523 session_shared: shut down expire thread in destructor This ensures that expire thread is not running after destruction and does bad memory references, etc. frontend_net: fix segfault on startup MP-524 Would happen if MP was listening on multiple ports and one of the ports was already in use (and MP would exit). frontend_net: fix memory leak MP-521 This leak would occur if all sessions were in use and the input queue was cleared when a client would close connection (socket). frontend_net: fix compilation on Windows (SIGUSR1 does not exist) --- 1.4.5 2014/03/14 http_rewrite: use local skiplist; fixes memory corruption. MP-520 http_client: x-forwarded-for controls X-Forwarded-For presence If x-forwarded-for setting (boolean) is enabled, http_client will generate an X-Forwarded-For header entry which includes existing X-Forwarded-For (if any) and current peer address (immediate client of Metaproxy). By default x-forwarded-for disabled and X-Forwarded-For will not be generated. z3950_client: client_ip controls client-IP presence If client_ip setting (boolean) is enabled, z3950_client will generate a client_ip OID as part of init request which includes previous client_ip (if any) and current peer address (immediate client of Metaproxy). By default client_ip is disabled and client_ip will not be generated. HTTP X-Forwarded-For/Z39.50 Client-IP support virt_db, multi: relays Z39.50 client-IP. sru_z3950: converts X-Forwarded-For header to Z39.50 client-IP. zoom: uses Client-IP or origin address (prefer Client-IP). frontend_net: Strips tcp: from peer address (so that it is no longer printed and stripped in zoom filter). z3950_client: builds client-IP list - combining immediate peer address as returned by COMSTACK and existing client-IP list (if avaiable). The Origin only printes first X-Forwarded address. --- 1.4.4 2014/02/18 Log when SIG{TERM,USR1} is received ASAP MP-513 Do it in frontend_net event loop rather than in place for metaproxy main, which only exits when all sessions are terminated for SIGUSR1 at graceful stop. metaproxy-config: quote some RHS values (that might include blanks) Fix leak in sru_z3950 filter - when explain is returned MP-511 Allow stylesheet to be given for sru_z3950 filter MP-510 This is based on a patch by Sven Porst and the functionality of the YAZ Generic Frontend Server. Allow base attribute in configuration file tags - the attributes are inserted by XInclude usage as mentioned on yazlist: http://lists.indexdata.dk/pipermail/yazlist/2012-Au and noted in a gist: https://gist.github.com/3551094 Package metaproxy provides virtual package metaproxy6 MP-508 This allows module packages to depend on a metaproxy server with version 6 API. Filter destructors called upon daemon termination MP-505 When metaproxy daemon receives SIGTERM the stop method of each filter is called. The stop method existed before, but did not take any arguements (void).. The frontend_net filter can now distinguish between SIGUSR1 (stop bind, but keep sessions running) and SIGTERM (stop immediately). Note that this changes the API+ABI of Metaproxy filters. zoom: sync up with Pazpar2 WRT authentication handling MP-492 Router: use shared_ptr rather than naked one - to avoid leak if an exception is thrown in configure. --- 1.4.3 2013/12/10 zoom: Add nocproxy=1 for contentConnector sessions MP-501 Doc: mention proper versions; fix link to Boost win binaries. Windows: update for Boost 1.55 Windows: avoid warning when using boost::split. Done by defining _SCL_SECURE_NO_WARNINGS for Visual Studio. Fix LSB conformance for /etc/init.d/metaproxy MP-500 Debian: add support for /etc/init.d/metaproxy status sort: Add const to Record less than operator in order to compile on OS X Maverick. --- 1.4.2 2013/11/15 session_shared: fix element-set handling in record caching. MP-499 document http_rewrite. MP-468 http_write: Honor X-Metaproxy-SkipLink MP-479 . Filter understands and respects the header (which will normally come from the cproxy filter) --- 1.4.1 2013/10/31 RPM: fix dependency for libmetaproxy5-devel MP-496. The libmetaproxy5-devel RPM was unsable in version 1.4.0. Remove log message about "backend classes". Appeared in version 1.4.0. --- 1.4.0 2013/10/04 Build RPM/Deb packages with YAZ 5 and yazpp 1.5. Metaproxy still compiles with older version from source, but packages now use YAZ 5 that supports SRU 2.0. sru_z3950: Fix SEGV for decoding invalid SRU requests Incorrect reference to union (was explain response rather than search response). session_shared: match additionalSearchInfo (includes facets). In layman's terms means that means that facets are properly handled by this filter. Eg a change in requested facets will issue new search and facets from exisiting result set are cached. --- 1.3.62 2013/09/11 http_rewrite: better handling of