-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathNEWS
1572 lines (969 loc) · 46.5 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
--- 1.21.0 2023/01/31
frontend_net: 0 limit means no connections allowed.
Avoid deprecated headers in unit tests. Require Boost 1.34 or later. Until now, Boost 1.33 was still supported.
--- 1.20.1 2022/12/14
Upgrade to autoconf 2.69.
Documentation: Mention http-req-max is number per minute.
--- 1.20.0 2021/09/30
Use yaz++ pkg-config configuration yazpp.pc.
Provide metaproxy.pc as an alternative to metaproxy-config.
--- 1.19.4 2021/04/28
record_transform: fix setting of largeSetLowerBound (issue
introduced in 1.19.3).
--- 1.19.3 2021/03/19
record_transform: simple search on piggyback.
--- 1.19.2 2021/03/19
sru_z3950 filter omits preferredRecordSyntax for search. Some servers
reject searches with preferedRecordSyntax set.
--- 1.19.1 2020/06/12
Ignore Ignore ::ffff: to match IPV4 addresses. That's for the ip
properties for connect-max, connect-total, timeout in frontend_net filter.
--- 1.19.0 2020/06/08
frontend_net filter with timeout with ip attribute. Similar to connect-max,
connect-total configuration.
--- 1.18.0 2020/04/14
Use YAZPP 1.7.0.
--- 1.17.2 2020/03/18
Fix OPAC encoding WRT charset and leaderspec MP-669
--- 1.17.1 2019/11/08
Fix SIGTERM may leave metaproxy behind MP-668
Fix SEGV in load_balance filter MP-667
--- 1.17.0 2019/10/02
session_shared: new facility ignore-auth. This is a new configuration
for session_shared to make it ignore authentication info sent by clients
and, thus, increase session reuse.
--- 1.16.2 2019/09/18
session_shared: log when sessions expire
virt_db: session reuse when overriding result-set
virt_db, session_shared: case-insensitive db compare
z3950_client: fix un-initialized variable max-sockets-timeout
--- 1.16.1 2019/06/26
filter_http_rewrite: Fix missing https processing in skiplinks (MP-663)
Add a bit of documentation for http_rewrite
--- 1.16.0 2019/05/15
filter_http_rewrite: Better handling of https requests (MP-660, MP-662)
- Considers both http:// and https:// as absolute URLs in the request line
- for relative requests, expands to http:// or https:// depending on how the
request came in
--- 1.15.0 2018/06/01
metaproxy: option -s sets resource limit for open files (ulimit -n)
--- 1.14.0 2018/05/23
frontend_net: allow limit of connections from same IP MP-657
Achived by configuration element connect-total.
--- 1.13.1 2018/05/20
Fix Unknown route exits Metaproxy at run time MP-656
--- 1.13.0 2017/09/01
sru_z3950: avoid suffix slash after parsing x-target
session_shared: relay diagnostics better MP-654
Until this commit init response failures would be converted to
temporary system error: "session_shared: could not create backend".
However, in the cases where init response from a target does contain
diagnostics those will now be returned as is.
z3950_client: configurable max-sockets-timeout
--- 1.12.2 2017/08/29
z3950_client: fix incorrect waiting for max-sockets condition MP-652
The z3950_client could in some cases wait a very long time for a free
Z39.50 socket. The proper behavior is to give up after 15 seconds.
--- 1.12.1 2017/08/16
session_shared: fix 0 hits for search timeout MP-649
Fix stack-size setting has no effect MP-648
--- 1.12.0 2017/06/20
zoom: Attribute element_marcxml enables MARCXML fetch MP-646
Also with this change element pattern may include leading ? - which
will make it match the omitted actual element set as well.
--- 1.11.10 2017/06/15
Fix start route config has no effect MP-645
CentOS 5 no longer supported.
Package for Ubuntu Yakkety. Do not package any more for Ubuntu Wily
Use ifstream for reading auth_simple config. Closes #14
RPM: use make_build if defined (parallel builds)
Debian packaging: parallel builds
--- 1.11.9 2017/02/14
zoom: recognize noCproxy from Torus MP-633
--- 1.11.8 2016/12/29
Require YAZ 5.18.0 or later (should have been done in 1.11.7 release)
--- 1.11.7 2016/11/16
frontend_net: report malloc and nmem status
--- 1.11.6 2016/09/28
frontend_net: fix leak when http-req-max limit is met
frontend_net: fix leak when reporting statistics
z3950_client: schema+doc for max-sockets
sru_z3950: Allow limit of retrieval of records (maximumRecords)
--- 1.11.5 2016/08/22
frontend_net: fix memory leak for incoming packages MP-636
--- 1.11.4 2016/07/26
sru_z3950: fix leak that would occur when hand-crafted explain was
returned. MP-635
auth_simple: path relative config
--- 1.11.3 2016/05/16
load_balance: fix memory leak
--- 1.11.2 2016/04/07
load_balance: extend logging a bit and include session info.
Various typos and updates for documentation.
zoom: fix two un-init variables (socket mask)
--- 1.11.1 2016/01/19
Build for Ununtu Wily Werewolf.
Use submodules from Github
Windows: use Boost 1.59, msvc 14.0
--- 1.11.0 2015/11/17
frontend_net: connect-max and 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, because 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
<allow auth_url="http://mkc-admin.indexdata.com/..."
allow_ip="127.0.0.1 ::1" .. >
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 available).
The Origin only printed 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-August/003531.html
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 unusable 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, e.g. a change in requested facets will issue new
search and facets from existing result set are cached.
--- 1.3.62 2013/09/11
http_rewrite: better handling of <script> content in HTML parser. MP-486
http_rewrite: fix threading issue with regex. MP-482
bounce: don't use strdup for fixed length content. Error occurred in echo
mode only.
session_shared: expire backend class when no instances left. This
means memory clean up, but not really a leak fix.
virt_db: fix leak for naked ptr.
cql_rpn: use config relative path for cql2rpn file. MP-481
Updates for upcoming YAZ 5.
--- 1.3.61 2013/08/29
New configuration directories ports.d/routes.d for metaproxy
configuration. This allows 3rd party packages to install config
for ports and new routes. MP-477
--- 1.3.60 2013/08/21
Fix metaproxy-config --libs to return non-mt over mt libs.
The -mt versions do not exist as shared objects and cause
linker errors for applications linking with Metaproxy.
Problem present in versions 1.3.56 - 1.3.59. MP-475
HTML: clean up char checks. Add ptr to HTML parse spec
HTML parser stops eating tag when <-char is met MP-473
rewrite: do not even compare content types, if we don't have any
the regex_match caused a segfault if we had no content-type in the
headers. MP-471
rewrite: within header=... matches only the header value
Used to match the whole header line, but we need to use
^$ anchoring for host-relative regexps, and they need to
anchor at the ends of the value. MP-470.
rewrite: Ruleset functional MP-469
--- 1.3.59 2013/07/12
session_shared: negotiate init sz parameters.
By default, session_shared will honor the parameters given by client.
An alternative, but not implemented, algorithm would be to only
re-use sessions with same sz parameters. This however, could reduce
re-use of sessions a lot. Hence this, simple algorithm instead. The
negotiation to a maximum sz values can be enabled by using
<init maximum-record-size="sz1" preferred-message-size="sz2"/>
in configuration. This will make session_shared send those values
to backends and use returned init values in negotiation to
client before session_shared.
session_shared: resolve result-set references.
The reference is substituted with the query for old set if database
match and query type is Type-1. If not the reference will issue a
diagnostic.
sort filter: relays RecordComposition including elementSet in use for
search.
http_client: better diagnostics
http_client: disables HTTP redirect handling by default.
It can be configured with max-redirects in configuration.
--- 1.3.58 2013/06/12
Fix loading of filters cql_rpn and sru_z3950 . Was broken by 1.3.57.
--- 1.3.57 2013/06/12
Make RouterChain and RouterXML part of public API (libmetaproxy).
http_client: honor X-Metaproxy-Proxy as an alternative to
the "proxy" configuration. Allows proxy to be set per HTTP request.
sru_z3950: For SRU requests recognize x-client prefixes as a way
to ingest "database parameters".. The suffix of x-client- serves
as database argument name. Multiple may be given. For example:
http://path/db/?operation=searchRetrieve&x-client-user=a&x-client-password=b
is turned into Z39.50 database
db,user=a&password=b
--- 1.3.56 2013/05/27
New filter present_chunk. This filter allows splitting of present requests into smaller chunks.
New filter sd_remove, which replaces surrogate diagnostics with
SUTRS records. This filter tries to deal with clients that breaks
when receiving surrogate diagnostics.
new filter http_client. Same role as z3950_client, but just for
HTTP. Allows Metaproxy to operate as a HTTP proxy.
New filter http_rewrite1, which serves as purpose on how to rewrite
HTTP content with Metaproxy.
Use libboost-system if available, because newer versions of libboost-threads
requires libboost-system.
Allow frontend_net to serve SSL/HTTPS, because we can specify a server
certificate now.
--- 1.3.55 2013/04/10
zoom: Torus setting: authenticationMode which may hold values "basic"
and "url".
--- 1.3.54 2013/03/27
configure: check for Libxslt support in YAZ and rely on definitions
from yaz-config, rather than doing own xslt/xml2 checks.
Allow timestamp format for log lines to be given with option -m
for metaproxy. Similar to yaz-ztest/GFS option -m.
Document log category 'line' for log filter.
Solr configuration example in etc/config-solr.xml
multi: do not mess with request package. For scan and search,
database-names were modified and the request package was left with
dangling pointers that caused a log filter to fail (request package
inspected after multi was invoked).
Documentation: fix id of metaproxy-config ref .
Documentation: update for USEMARCON support.
--- 1.3.53 2013/01/31
record_transform: allow OPACXML to OPAC conversion
zoom: document content-proxy
zoom: document db parm content-{user,password}, torus_url. Also
<torus auth_url="..> which makes zoom operate in authenticated mode
via Torus lookup.
--- 1.3.52 2012/11/30
zoom: fix http://-check. SRU search broken in 1.3.51.
--- 1.3.51 2012/11/15
zoom: only append http:// for SRU if not already given . Makes it
possible to use https-URLs.
Use yazpp 1.4 or later due to new ABI.
frontend_net: allow max package size to be specified. Controlled by
attribute 'max_recv_bytes' of element 'port'.
--- 1.3.50 2012/10/29
For most generated diagnostics by filters, typically temporary
system error, augment addinfo message with filter name.
Add support for CentOS 6 packages.
sru_z3950: interpret Z39.50 diagnostics part of Init Response.
Add man page for metaproxy-config.
--- 1.3.49 2012/10/18
zoom: new config element passthru. This defines an element set that is
passed verbatim to the backend in pz2 mode.
auth_simple: allow both idPass and open auth. Also fix SEGV that could
occur for open auth.
--- 1.3.48 2012/10/08
z3950_client: fix string handling for init diagnostics in the case where
addinfo was absent.
query_rewrite: no charset conversion for error queries. Avoid performing
charset conversion for query conversion errors. The resulting Type-1
query is invalid in this case.
--- 1.3.47 2012/10/04
For graceful stop (SIGUSR1), metaproxy will kill children processes.
Log when metaproxy is invoked in test mode (-t).
Log PID for each log message.
multi: combine both NSDs and multiple NSDs into one (diagnostics).
z3950_client: fixup multiple NSD's too. Like surrogate diagnostics,
a (backend=target) is appended for each diagnostic so that can be
determined the origin of error.
multi: hideerrors also in use for present response.
Solr example in zoom man page.
Fix typo in query_rewrite config example.
Log at least first non surrogate diagnostic. Instead of
"Z_Records_multipleNSD"
multi: Fix check for opt Records in present response. A SEGV could occur
if a target did not return records and no diagnostics.
--- 1.3.46 2012/09/24
Yet another fix for graceful stop.
--- 1.3.45 2012/09/12
sru_z3950: relay surrogate diagnostics.
--- 1.3.44 2012/09/10
zoom: Honor extraArgs, strip # in zurl.
multi: fix SEGV for scan. Reported by Rustam T. Usmanov.
zoom: url_recipe allow %{var[reg]} substitutions.
It's like ${var[reg]} but does URI component encoding as well.
--- 1.3.43 2012/08/22
RPM/Deb: require yazpp 1.3.2, because it fixes a missing close of
non-keepalive HTTP sessions.
http_file: allow zero size files (bug fix)
Fix zoom schema: auth_url is optional
--- 1.3.42 2012/08/20
zoom: fix un-init memory (could result in SEGV at session close)
frontend_net: handle X-Forwarded-For. This is stored in package.origin()
and may be used in filters as usual.
zoom: authentication via Torus lookup
Enabled by new configuration setting: auth_url . If this is defined,
the zoom module will contact Torus for auth/IP lookup and that will
define realm to be used in session.
--- 1.3.41 2012/08/10
virt_db: Fix database name - first character we removed by mistake.
Bug introduced in 1.3.40.
--- 1.3.40 2012/08/06
virt_db: Don't use "unix path" as database for Unix sockets.
--- 1.3.39 2012/08/02
z3950_client: Don't tamper with / in zurl - fixes problems
using Unix sockets for backends.
session_shared: fix integer overflow problem with hit count.
session_shared: avoid long usage of cached queries.
zoom: New database argument, torus_url to set URL of Torus
record to be fetched.
--- 1.3.38 2012/07/04
Fixes for 'metaproxy reload' for RPM/Debian packages.
zoom: Allow rpn2cql conversion to be augmented with a properties file.
Element rpn2cql can be specified per-target for the zoom filter.
log: New category "line" which is a single-line log message with
most important parts of a HTTP/Z39.50 request/response.
--- 1.3.37 2012/06/01
frontend_net: add facility to report live statistics about response
times and current thread usage. The report is an XML document
and is triggered for a specific URL path. This is set by <stat-req>
in the configuration of frontend_net. By default this report is
disabled (same as empty value for <stat-req>).
Fix reload problem in init.d script for RPM/Debian.
The '/etc/init.d/metaproxy reload' in some cases would stop but not
start metaproxy - effectively stopping the service.
Don't display start log message when config testing (-t).
zoom: avoid CCL message limit of 1K in ZOOM filter.
--- 1.3.36 2012/05/10
metaproxy init script reacts to reload which does graceful stop +
start and is used by logrorate script.
--- 1.3.35 2012/05/09
Fixes for Windows compilation.
Metaproxy daemon reacts to SIGUSR1 in which case it will leave
existing sessions running but terminate the monitor process that is
used in keepalive mode.
Change start log message to 'metaproxy start'. Was 'Metaproxy start'
before. Consistent with 'metaproxy stop' message.
zoom: document zoom's proxy_timeout
z3950_client: fixup addinfo for init response
virt_db: return other diagnostic if init is rejected. Diagnostic 236:
"Access to specified database denied" is returned, but only if init
response from backend does not carry diagnostics already.
multi: relays user info for first rejected target. The other-information
field for init response for first rejected target is in common init
response. This ensures that some backend init diagnostics are returned to
the frontend.
--- 1.3.34 2012/04/25
frontend_log: extend logging (when message is given in config).
--- 1.3.33 2012/04/25
zoom: Fix check for proxy. Use diagnostic 1074 for proxy failures.
--- 1.3.32 2012/04/24
sru_z3950 filter passes through incoming Z39.50 requests again. Was
not handled by mistake in Metaproxy versions 1.3.29, 1.3.30 and 1.3.31.
--- 1.3.31 2012/04/24
zoom: fixes for retry/proxy failover logic. More logging.
--- 1.3.30 2012/04/23
zoom: return addinfo="proxy failure" for proxy failures. This also
changes the scheme for dealing with proxies a bit. zoom now always
do proxy check, even if there's no failover. Fortunately, that's not
very expensive.
zoom: Init rejected wo diagnostics maps to Bib-1:1014.
Bib-1 1014, "Init/AC: Authentication System error", seems pretty
generic. We don't know why the init would fail; IP, user, block IP, etc.
sru_z3950 filter maps this to SRU diagnostic 3: "Authentication error".
zoom: guess if invalid SRU response was an auth failure
session_shared: disable session retry by default. Can be enabled by
restart="true" in resultset section.
--- 1.3.29 2012/04/18
zoom: may read cf-proxy's config settings.
This reduces manual configuration of the content proxy server host.
The ZOOM module will use the old style session.proxyhost if "server"
is given (deprecated) and use the new style proxyhost/session if
"config_file" is in use.
frontend_net: remove incoming requests that can not be handled.
Requests in queue for filter frontend_net are removed if client
closes connection for the session and request is not yet handled.
sru_z3950: serialize requests. This is to ensure that pipelined
HTTP requests are handled properly.
--- 1.3.28 2012/04/04
New class, wrbuf, that wraps YAZ' WRBUF.
--- 1.3.27 2012/03/30
Metaproxy daemon is now running as user "metaproxy". This user is
managed by package maintainer scripts. The user information is stored
in /etc/metaproxy/metaproxy.user .
--- 1.3.26 2012/03/20
New filter, sort, that allows sorting of XML records via Z39.50
retrieval.
Filter record_transform: USEMarcon support. For example:
<retrieval syntax="usmarc">
<backend syntax="unimarc" name="F">
<usemarcon stage1="/etc/usemarcon/uni2us/uni2us.ini"/>
</backend>
</retrieval>
Filter multi: empty route pattern uses route as default.
That is
<target route="z3950.indexdata.com">z3950.indexdata.com</route>
may use the shorter notation
<target route="z3950.indexdata.com"/>
Filter query_rewrite: use config path to locate XSLT.
Filter frontend_net: log statistics.
If a custom message element in frontend_net configuration it makes