-
Notifications
You must be signed in to change notification settings - Fork 149
/
ReleaseNotes.txt
3242 lines (2952 loc) · 161 KB
/
ReleaseNotes.txt
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
======
XRootD
======
Release Notes
=============
-------------
Version 5.5.1
-------------
+ **Major bug fixes**
**[XrdFfs]** Fix a bug in xrootdfs reported by issue #1777
**[Server]** Avoid SEGV when client tries to access file after deferred closed.
**[XrdHttp]** The server certificate is renewed by the Refresh thread of the
XrdTlsContext object.
**[XrdTls]** Shutdown the socket if a SSL error happens when trying to accept
a connection.
+ **Minor bug fixes**
**[Apps]** Avoid SEGV when asking for help.
**[XrdCl]** copy job: fix memory leak (buffers not queued on error).
**[Server]** Add O_RDWR open flag when creating file to avoid fs issue.
**[XrdHttp]** Allow VO names with spaces and other quoted chars.
+ **Miscellaneous**
**[XrdCl]** Introduce new error code for handling local errors.
**[XrdCl]** local file handler: obtain error code with aio_error.
**[XrdCl]** xrdfs ls: sanitize ls entry.
**[CMake]** Add ENABLE_ switch for scitokens and macaroons, closes #1728.
**[XrdTls]** Start the CRLRefresh thread in XrdTlsContext constructor.
**[XrdTls]** Changed the bit set for the activation of the Refresh thread.
**[XrdTls]** The CRL refresh thread logic only starts when there is a need
for it.
**[XrdTls]** Free current context when a new context is generated.
-------------
Version 5.5.0
-------------
+ **New Features**
**[XrdApps]** Provide command line too to manipulate checksum xattr.
**[XrdApps]** xrdreplay: support quoted columns
**[XrdApps]** xrdrecorder: allow to set the output path using XRD_RECORDERPATH
envar.
**[Protocol]** Add reflink capability to protocol via kXR_open options.
**[Server] Separate out authorization to overwrite data.
**[Server] Allow set variable values to come from a file.
**[Server]** Implement gStream to monitor all http and xroot TPC events.
**[Server]** Bring packet marking up to current specification.
**[Server]** Provide g-stream monitoring for Third Party Copy (TPC).
**[SciTokens]** Allow the SciToken plugin to consume based on ZTN tokens.
**[Server]** Report experiment and activity codes when present for monitoring.
**[HTTP]** Have the XrdHttp extraction logic match GSI/
**[XrdAcc]** Make the acc subsystem aware of request-based name mapping.
**[XrdFfs]** update xrootdfs to work with XrdEC faster
**[Posix]** Make xrootd proxy, xrootdfs and xrdadler32 work with XrdCl+EC
**[SciTokens]** Save token subject as an XrdSecEntity xattr
**[Throttle]** Track maximum concurrency limits in throttle plugin
**[XrdCl]** xrdfs: support multiple rm paths
**[XrdCl]** record / replay plug-in
**[XrdCl]** In EC, add adjustable preference to servers based on free space
**[XrdCl]** Add recorder plug-in and xrdreply tool.
**[XrdCl]** xrdcp --server: report IP stack to stderr.
**[XrdCl]** Introduce Stream queries (IpAddr, IpStack, HostName).
**[XrdCl]** Implement EC VectorRead.
**[XrdFfs]** same above
**[XrdVomsMapfile]** Add support for VOMS mapfile
**[XrdCl/XrdEc]** Make the remote ec cfg more flexible.
**[Pfc]** Implement async read and readV from the perspective of XrdOucCacheIO.
+ **Major bug fixes**
**[Server]** Adjust for self-move behaviour changes in some compilers.
**[Server]** Modify vector's size instead of capacity to avoid undef behaviour
**[XrdEc]** Make sure returned read size is correct.
**[XrdEc]** Reader: make sure the completion handler is called if the read is of
zero size.
**[XrdCl]** Avoid race condition in AsyncSocketHander on use of reader/writer
objects after link is re-enabled
**[XrdCl]** Set the error status if the re-connection fails early during recovery
**[XrdCl]** xrdcp: don't use a common static status obj across all copy jobs.
**[XrdCl]** ZIP: respect file sizes > 4GB.
**[XrdCl]** Correctly calculate #pages in pgread rsp (for small rsp).
**[XrdCl]** PgRead: don't exceed max iovcnt.
**[XrdCl]** Avoid that pgread responses could be timedout while being processed.
**[XrdCl]** Avoid situation where client does not read all of a network message.
**[XrdCl]** Avoid race by using TimeOutSID in single place.
**[Server]** Reset the buffer pointer after a non-aligned pgRead request.
**[XrdPfc]** Count number of active reads on an PfcIO object so that POSIX AIO
bailout detach can be handled correctly.
**[XrdPfc]** Do early exit when prefetching of a block fails with no other
subscribers.
**[XrdHttp]** Map kXR_ItExists to HTTP 409.
**[XrdAcc]** Fix overwrite return code.
+ **Minor bug fixes**
**[Frm]** Fix incorrect logic in frm_admin audit space.
**[Server]** Avoid SEGV during client recovery due to close waitresp.
**[Server]** Allow disablement of the tardy async I/O timeout path.
**[Proxy]** Allow for URLs with username.
**[XrdPss]** Do not trigger DeepLocate when pss.origin is http(s)
**[XrdPosix]** bug fix, report correct st_blocks in EC
+ **Miscellaneous**
**[SciTokens]** Add addition messages and debugging.
**[SciTokens]** Also grant Readdir when token grants read permission.
**[Server]** Ignore -Warray-bounds warnings from stricter check in gcc 12.
**[CMake]** XRootDOSDefs: Use define_default on default values
**[CMake]** Add XrdOuc/XrdOucPgrwUtils.hh to private headers.
**[CMake]** Change Py required version to 3.
**[CI]** Add Ubunty Jammy builds.
**[XrdClHttp]** Move to xrootd core.
**[XrdCl]** Refactor kXR_read raw data socket readout.
**[XrdCl]** Support HostList in lambda completion handlers.
**[XrdCl]** Make sure FileStateHandler is preserved until all outstanding
requests are resolved.
**[XrdCl]** Make sure FS data are preserved until all outstanding requests
are resolved.
**[Crypto]** bf32: Load "legacy" provider for blowfish in openssl v3.
--------------
Version 5.4.3
--------------
+ **Major bug fixes**
**[XrdCl]** Make sure SocketHandler does not deadlock with PollerBuiltIn.
**[XrdCl]** Pass the login token from redirect rsp to login req.
**[XrdCl]** Fix infinite loop when copying data from msg body to user buffer.
**[XrdCl]** Make sure TPC destination is created with correct permissions.
**[XrdCl]** Fix VectorRead raw data socket readout.
**[XrdCl]** Make sure pgwrite MsgHandler is removed from in-queue after
receiving rsp.
**[XrdCl]** Handle properly out-of-order pgread rsp.
**[XrdCrypto]** OpenSSL3: correctly initialize cipher with public key and DH
parameters, fixes #1662
**[XrdCrypto]** bf32: respect the key length when encrypting/decrypting.
**[XrdAcc]** Make the acc subsystem aware of request-based name mapping.
**[XrdTpc]** [XrdTpc] Added CLOEXEC flag for curl file descriptors.
**[XProtocol]** Make sure ECANCELED is translated to kXR_Cancelled.
**[XrdSciTokens]** Fix memory corruption.
**[Python]** Fix Python 3.10+ issues from PY_SSIZE_T_CLEAN not being set.
**[XrdHttp]** Support full URIs in the GET request, fixes #1675.
**[PIP]** Fix import syntax to enable shutil.which check.
**[Server]** Return correct pgread offset for sync reads.
+ **Minor bug fixes**
**[XrdHttp]** Use 405 for mkcol/mkdir EEXIST.
**[XrdHttp]** Redirect PUT and POST with 307.
**[XrdHttp]** Use 307 to redirect anything that is not GET.
**[XrdCl]** Remove the leading ? from auto generated login token, fixes #1535.
**[XrdCl]** xrdfs ls: don't use deep locate in case of data server.
**[XrdSciTokens]** Also grant Readdir when token grants read permission.
+ **Miscellaneous**
**[x509]** Allow commans in DN's.
**[XrdCl]** xrdcp: turn off progress bar when not running on a terminal,
closes #1608.
**[XrdCl]** Simplify kXR_attn handling.
**[XrdCl]** Use pgread only is server version is kXR_PROTPGRWVERSION.
**[OpenSSL]** Provide OpenSSL3 compability.
**[TLS]** Display all OpenSSL messages upon fatal error; fixes #1554.
**[XrdPosix]** Fix a bug that return wrong info about file size in EC.
**[GSI]** Increase default bits from 512 to 2048.
**[PIP]** Add PIP_OPTIONS CMake option for greater control of Python bindings
install.
**[Python]** Remove unused Python setup files from old workflows.
**[Python]** Provide cmake switch (XROOTD_PYBUILD_ENV) for setting up python
build environment.
**[XrdSys]** Don't abort if it looks like we're about to fork.
**[Utils]** Avoid emitting fatal polling error message unless aborting.
**[Server]** Avoid misleading error message due to queued but delayed event.
**[Tests]** Fix strcpy overflow.
**[HttpTpc]** Vector cleared after use so it can be shrunk.
**[ZTN]** Point to the token via Entity.creds.
**[Server]** Fix MacOS complaints about unused parameters.
**[Oss]** Do not fail a mkdir if directory already exists with the same mode.
**[CMake]** Add an option (FORCE_ENABLED) to fail XrootD build if explicitly
enabled features can not be build.
**[CMake]** Include XrdPosix in client-only builds.
**[XProtocol]** Bump protocol version and pgrw version.
-------------
Version 5.4.2
-------------
+ **Major bug fixes**
**[XrdCl]** xrdfs rm: make sure status for all files is reported.
**[XrdCrypto]** Add DH_get0_p for OPENSSL_VERSION_NUMBER < 0x10100000L.
--------------
Version 5.4.1
--------------
+ **Major bug fixes**
**[Posix]** Make sure pointer is set to 0 to avoid memory corruption.
**[GSI]** Generate DH parameters on first call to XrdCryptosslCipher.
**[Server]** Prevent SEGV due to missing lock call for background jobs.
**[SciTokens]** Correct deletion from std::map to avoid SEGV.
**[cmsd]** Avoid SEGV, avoid using pointers after deleting them.
**[XrdCl]** Make sure HS wait is not handled after channel has been TTLed.
**[XrdCl]** Avoid derefferencing null ptr when trasforming ChunkInfo
into PageInfo.
**[XrdEc]** Ensure parallel execution of Reader::Read is thread-safe.
**[CMake]** Add XrdSysTrace.hh to private headers.
**[PIP]** Use shutil.which over distutils.spawn.find_executable when
possible.
**[Posix]** Make sure pointer is set to 0 to avoid memory corruption.
**[Macaroons]** Avoid undefined behaviour (e.g. SEGV) using std::vector.
+ **Minor bug fixes**
**[SciTokens]** Regularize paths used for authorization.
**[pip]** Sanitize version to be PEP 440 compliant.
**[Python]** Use context manager for opening files.
**[Python]** Install Python bindings with pip if available.
**[RPM]** Add python2-pip to BuildRequires.
**[RPM]** Add python2-pip to BuildRequires.
**[Debian]** Add python3-pip, python3-setuptools as required packages.
+ **Miscellaneous**
**[Utils]** Redefine ENODATA when missing.
**[CMake]** Add support for static openssl libraries
**[CI]** Add GitHub Actions based CI
**[IOEvents]** Improve tracing.
**[XrdCl/XrdEc]** Make XrdEc compatible with vanilla xrootd servers.
**[XrdCl]** xrdfs: allow rm multiple files.
--------------
Version 5.4.0
--------------
+ **New Features**
**[Server]** Add generic prepare plugin.
**[Server]** Add new class for gathering config data from config file.
**[Server]** Implement firefly network flow monitoring.
**[Server]** Allow prefunctory redirect based on client's net attributes.
**[Server]** Allow embedded spaces in auth id's and paths (acc.encoding).
**[Server]** Allow specification of preferred bind interfaces.
**[Net]** Accommodate K8s network namespaces.
**[cmsd]** Allow flexible path consideration when determining affinity.
**[XrdCl]** Support unaligned PgReads.
**[XrdCl]** Implement PgWrite.
**[XrdCl]** Implement declarative PgRead.
**[XrdCl]** Implement ZipArchive::PgRead.
**[XrdCl]** xrdcp: enables in-fly error correction of corrupted pages
(pgread/pgwrite).
**[XrdCl]** xrdcp: allow multiple --cksum options.
**[XrdCl]** Add checksumming capability to default EC plugin.
**[XrdCl]** SocketHandler: encapsulate the reads/writes operation in
a separate class.
**[XrdCl]** Allow loading XrdEc default plug-in based on cfg file.
**[XrdCl/XrdEc]** Use locate to obtain EC placement gr if empty.
**[XrdEc]** Allow specifying operation t/o.
**[XrdEc]** Make the metadata files relocable.
**[XrdEc]** Allow using the EC lib without metadata files.
**[Xrdpfc]** New cmd line option. Print in json format.
+ **Major bug fixes**
**[Server]** Correct code that frees unsent aio buffers after fatal error.
**[XrdCl]** ZipArchive: always execute callbacks in fresh exec ctx.
**[XrdCl]** Don't issue a close in ~File if the thread-pool has been stopped.
+ **Minor bug fixes**
**[AIO]** Correct test whether or not to turn off aio for Xcache.
**[XrdSciTokens] Avoid double slashes in the final path after rules.
**[Server]** Do not hold cheksum lock across local checksum computation.
**[Server]** Correct notify option handling for kXR_prepare.
**[XrdCl]** Adjust timeout before retransmitting corrupted pages.
**[XrdCl]** Make sure XCpSrc does not leak.
**[XrdCl]** Add missing err msg if force isn't used and destination exits.
**[XrdCl]** Make sure the path on kXR_open does not inlude '?' if there is no cgi.
**[XrdCl]** ParallelOperation: fix race condition in AtLeast policy.
**[CMake]** Install in private-devel XrdClOperationTimeout.hh &
XrdClFinalOperation.hh
+ **Miscellaneous**
**[Plugins]** Improve fault tolerance of redirlocal plugin.
**[Plugins]** Improve fault tolerance of redirlocal plugin.
**[XrdCmsRedirLocal]** Add localroot option for plug-in. Improve fault tolerance
of RedirLocal plug-in.
**[Macaroons]** Relegate debug messages to debug status.
**[Xcache]** Extend pgread API to return number of corrected checksum errors.
**[cmsd]** Allow more parallelism during data server selection.
**[Utils]** Add utility class to handle url encoding and decoding.
**[Utils]** Add generic port specification to port number utility.
**[Apps]** Reintroduce the xrdprep (a.k.a xprep) command.
**[Apps]** Provide cli to compute crc32c checksum (i.e. xrdcrc32c).
**[Server]** Remove limit on number of args passed to a forked exec.
**[Server]** Add method to create an argv list from a string.
**[Server]** Replace XrdOucTrace by XrdSysTrace, part 1 (internal change).
**[Server]** Use RAtomics to enhance performance where needed.
**[Misc]** Implement RAtomics object all of whose operations use relaxed mem order.
**[Misc]** Add XrdPosixMap.hh to private hears (i.e. developers only).
**[XrdHttp]** Add func to obfuscate paths hidden into strings.
**[XrdHttp]** BuffGetData: better handle the case of wait=false.
**[XrdCl]** Avoid calls to PostMaster for local files.
**[XrdCl]** Do read/write recovery on errSocketTimeout.
**[XrdCl]** Include all chunk details in kXR_readv descripsion.
**[CMake]** Find pthreads using the CMake Thread module Prefer -pthread over
-lpthread if supported by the compiler.
**[CMake]** Enable SSE4.2 for cmsd.
**[CMake]** Add an option to build with asan.
**[Docker]** Add docker imgs with centos 7/8 build env.
--------------
Version 5.3.3
--------------
+ **Major bug fixes**
**[Server]** Use length returned by read and fix an alignment check in pgRead.
**[XrdCl] Make sure timed-out responses don't end up in the in-queue.
--------------
Version 5.3.2
--------------
+ **Major bug fixes**
**[HTTP]** Use correct flag to request creation of directory path in MKCOL.
**[Server]** Avoid SEGV when previous monitory directive overridden.
**[TLS]** Avoid SEGV when a refresh context cannot be cloned (rare).
**[XrdCl]** Avoid calls to PostMaster for local files.
**[XrdCl]** TPC: normalize preset checksum.
**[XrdCl]** Make sure small compressed ZIPs are extracted at the right offset.
**[XrdCl]** Add missing err msg if force isn't used and destination exits.
**[SSI]** Avoid SEGV when request spans more than 1 buffer. Fixes #1518
+ **Minor bug fixes**
**[Server]** Close race condition between bind and the use of that bind.
**[HTTP]** XML-quote error messages sent through XrdHttp.
**[HTTP]** BuffGetData: better handle the case of wait=false.
**[Python]** Don't use PyEval_ThreadsInitialized for python >= 3.7.
**[Python]** Catch ReferenceError error when finalizing File's.
**[XrdCl]** Make sure lambda wrapper does not use status obj after it's deleted.
**[XrdCl]** Fix memory leak in xrdfs ls.
**[XrdCl]** ZipArchive: always execute callbacks in fresh exec ctx.
**[XrdCl]** Do read/write recovery on errSocketTimeout.
**[XrdCl]** Avoid segv on fork prepare.
**[XrdMacaroons]** Add missing includes, fixes #1468.
**[CMake]** Correct the variable name from ${ZLIB_LIBRARY} to ${ZLIB_LIBRARIES}.
**[CMake]** Install in private-devel XrdClOperationTimeout.hh &
XrdClFinalOperation.hh, closes #1519
**[Server]** Fix an include in OssCsi.
+ **Miscellaneous**
**[CMake]** Find pthreads using the CMake Thread module Prefer -pthread over
-lpthread if supported by the compiler.
**[CMake]** Use ${CMAKE_DL_LIBS} consistently.
**[CMake]** Add XrdPosixMap.hh to private headers (i.e. developers only).
**[CMake]** Build openssl3 files only if WITH_OPENSSL3=TRUE.
**[Docker]** Add docker imgs with centos 7/8 build env.
--------------
Version 5.3.1
--------------
+ **Major bug fixes**
**[Server]** Add missing initializer to avoid SEGV in async pgread/pgwrite.
**[XrdCl]** FileStateHandler::~FileStateHandler : make sure PostMaster is
not used after libXrdCl has been unloaded.
+ **Miscellaneous**
**[PIP]** Improve the compiler/devtoolset check on RHEL7.
--------------
Version 5.3.0
--------------
+ **New Features**
**[Server]** Provide a way to verify volumes have been mounted before use.
**[Server]** Add per file stream scheduling to async I/O.
**[Server]** Full comprehensive implementation?| of pgread and pgwrite.
**[Server]** Add additional xrootd trace options.
**[Server]** Automatically turn off async I/O for default oss plug-in.
**[TPC]** Implement the reproxy option for proxies doing TPC.
**[XrdOssCsi]** Report XRDOSS_HASPGRW in Features().
**[XrdCl]** Report in PageInfo the number of corrected pages.
**[XrdCl]** Overload |= for Pipeline class.
**[XrdCl]** Implement xrdcp --retry.
**[XrdCl]** xrdcp: add --zip-append functionality.
**[XrdCl]** Add ability to create file checkpoints.
+ **Major bug fixes**
**[SSS]** Add missing initializer to avoid random sss authentication failure.
**[Server]** Fix host related authorization rules that would always fail.
**[Server]** Fix backward compatibility issue with oss.space directive.
**[SSS]** Avoid server-side SEGV for certain configurations.
**[SSS]** Correct client backward incompatibily when 'anygroup' is specified.
**[XrdCl/XrdSys]i** Fail gracefuly on epoll_wait errors if in child process.
**[XrdCl]** Correctly handle server disconnect when connection is encrypted.
**[XrdCl]** Make sure channel is TTLed if all file objects have been destroyed.
**[XrdCl]** Clear OpenSSL errors from XrdSecProtocolgsi::getCredentials().
+ **Minor bug fixes**
**[Server]** Re-enable POSC write recovery disabled by previous commit.
**[Server]** Fix echoing config line that only has a directive.
**[Server]** Make assumeV4 setting consistent (missing initializer).
**[Server]** Corect copy-paste error rendering TLS RecvAll() useless.
**[XrdCl]** Don't call abort on JobManager:Stop if threads are not found.
**[XrdCl]** Make the wrapped lambdas work correctly with chunked responses.
**[XrdCl]** Fix OperationTimeout.
**[XrdCl]** Only use the passwd file if a valid entry is found.
+ **Miscellaneous**
**[Server]** Report pgread/pgwrite statistics as regulat reads/writes.
**[Server]** Avoid running exit handlers when exiting a forked process.
**[Server]** Re-architect async I/O to double its capacity.
**[Server]** Speed up file close.
**[Server]** Add a regular condition variable object to the mix.
**[Server]** Make sure to clear OpenSSL error queue after authentication.
**[TLS]** Correct certfile screening to capture all files; fixes #1467
**[XrdCl]** Update TPC progress bar every 2.5s.
**[XrdCl]** Allow conditional error recovery for TLS_SSL_Error.
**[XrdCl]** Enable read/write recovery for tls errors.
**[XrdCl]** Remove obsolete ZipArchiveReader class.
**[XrdCl]** Improve error reporting.
**[XrdPfc]** Use std::atomic for the XrdPgc::IO XrdOucCacheIO* m_io,
remove mutex that used to guard it.
**[XrdPfc]** Change default cache block size to 256kB (was 1MB).
--------------
Version 5.2.0
--------------
+ **New Features**
**[Server]** Add ability to wrap the checksum manager plugin.
**[SSI]** Allow client-side to request high resolution timestamps.
**[Server]** New ztn security plugin to provide a SciTokens sentinel.
**[Server]** Allow optional return of checksum in dirlist response.
**[Server]** Allow additional ports to be associated with a protocol.
**[Xcache]** Make TLS substitution for net cksum selectable.
**[Server]** Implement an internal nano-DNS for k8s setups (mostly for SSI).
**[Server]** Allow internal application push of plugin library.
**[Server]** Implement checkpointed file modifications (i.e. kXR_chkpoint).
**[Server]** Enhance the StatPF() method.
**[Xache]** Phase 1 of checksum integrity implementation (a.k.a pgread).
**[Monitoring]** Implement extensive g-stream enhancements.
**[XrdCl]** Add factory method (ResponseHandler::Wrap) for creating handlers
from lambdas.
**[XrdCl]** Implement ReadV.
**[XrdCl]** Implement default erasure coding (EC) plug-in.
**[XrdCl]** Implement EC-redirect allowing the server to request using the
default EC plugin for given file.
**[XrdCl]** Allow callbacks on client connection failure.
**[XrdCl]** Add triedrc=srverr on connection t/o.
**[XrdCl]** Implement cp timeout.
**[XrdCl]** xrdcp: implement xrate threshold.
**[XrdCl]** Add File::TryOtherServer API.
**[XrdCl]** xrdfs: cat multiple files at once, closes #1243.
**[XrdCl]** Support custom config file location via envar.
**[XrdCl]** xrdcp: provide posc semantics for local destinations.
**[XrdCl/Python]** Add method for querying the defaults of env.
**[XrdEc]** Allow user to specify CGI for data/metadata URLs.
**[XrdOssCsi]** Add osscsi plugin to store page crc32c checksums.
**[XrdTls]** Provide a temp CA file generator that concatenats all the
CAs in a given CA directory.
**[XrdTpc]** Add support for certfile directive for TPC handler.
+ **Major bug fixes**
**[Server]** Avoid network usage rac condition during config leading to a SEGV.
**[Server]** Fix backward compatibility issue for xrd.protocol. Fixes #1444
**[Server]** Bypass voms MT initialization issues.
**[ZTN]** Fix fatal flaws in SciToken strip method; avoid token rejection.
**[TLS]** Provide thread-safety when required to do so.
**[POSIX]** Avoid returning null pointer upon failure to avoid SEGV.
**[POSIX]** Correctly initialize serverless cache to avoid SEGV.
**[Server]** Make sure that alignment is a power of two for posix_memalign.
**[SSI]** Prevent a buffer from being recycled twice leading to random errors.
**[SSI]** Avoid race condition between Finished() and Event Dispatch (causes SEGV)
**[Server]** Redo checksum changes to provide backward compatibility.
**[Server]** Correct version checking to prevent false negatives.
**[XrdCl]** Use ntohll() for pgread offsets.
**[XrdCl]** Make checksum comparison case insensitive.
**[XrdCl]** Make sure ZipCache doesn't segv.
**[XrdCl]** Account for the ZIP data descriptor.
**[XrdCl]** ZIP: handle correctly patological case where compressed size is
greater than uncompressed.
**[XrdCl]** Make sure TLS session is shutdown before socket is closed.
**[XrdCl]** xrdcp: clean up chunks in-fly before destroying ZipArchive object.
**[POSIX]** Initialize pointer when object reused to prevent memory corruption.
**[TPC]** Do not hold lock when deleting a proxy autorm TPC job that failed.
**[Server]** Fix memory leak of 64MB per checksum request. Fixes #1291
**[XrdEc]** Use correct stripe/buffer size when calculating crc32c.
**[XrdEc]** Guard the RedundancyProvider multiton with mutex.
**[Python]** Delete chunk buffer for VectorReadInfo after copying into python
string.
**[XrdTpc]** Overhaul curl's usage of CAs.
**[XrdTpc]** Do not modify curl handle after curl_easy_cleanup().
+ **Minor bug fixes**
**[Server]** Make sure to close config file continuations.
**[Server]** Fix possible storage opverlay when dealing with TLS protocols.
**[Server]** Prevent inadvertent double load of fixed protocol.
**[POSIX]** Make sure to always return consistent stat() information.
**[cmsd]** Correct write lengths to not write null bytes to env file.
**[cmsd]** Correct parsing bug that results in an erroneous warning.
**[Server]** Fix esoteric truncation of long dirlist. Fixes #1340
**[Server]** Do no terminate dirlist when a deleted directory is encountered.
**[Server]** When requested fully verify supplied checksums in pgwrite.
**[Server]** Allow negative flags in redirect response.
**[Server]** Clear redirect flags if client does not support them.
**[XrdCl]** Parallel: make sure AtLeast waits for all operations
(failed/succeeded).
**[XrdCl]** Treat session-error as success in case of File::Close.
**[XrdCl]** Allow to process user plugin config if user has no password entry.
**[XProtocol]** Add kXR_virtReadv code for the File::ReadV call.
**[XProtocol]** Add kXR_ecRedir redirect flag.
**[XProtocol]** Extend the set of abilities presented to the servet on login.
**[XrdHttp]** Fix memleak in SecEntity.host.
+ **Miscellaneous**
**[gStream]** Use different sequence number for different packet types.
**[Proxy]** Turn off the fork handler to undo the new default (i.e. is on).
**[Server]** Add forgotten multi-user plugin checksum support.
**[Server]** Make sure atleast one export exists in the export list.
**[cmsd]** Display the name of the named pipe being waited upon.
**[Server]** Echo the command line into the log.
**[SSI]** Allow server-side debug to be enabled via an envar.
**[cmsd]** Correctly parse osslib when it have options.
**[Xcache]** Allow origin location query to be refreshed.
**[CMS]** Ignore stacked plugin specifications as they are not supported.
**[CMake/RPM]** Enable c++14. Note: on CC7 devtoolset-7 is required in
order to build XRootD (including PIP install).
**[Docs]** Remove deprecated man pages.
**[Systemd]** Set RestartSec=10 by default, closes #1410.
**[PIP]** Use sys.executable as the interpreter in install.sh
**[PIP]** Enable devtoolset on pip install on RHEL7.
**[XrdCl]** Enable fork-handler by default.
**[XrdSys]** Remove unused custom semaphore implementation.
--------------
Version 5.1.1
--------------
+ **Major bug fixes**
* **[Server]** Make sure each aio request has the minimum number of aio
objects available.
* **[Server]** Make sure stalled aio get written with the right offset
and length.
* **[XrdTpc]** XrdTpc: Buffer starting at the right offset.
* **[XrdHttp]** Fix chunked transfer with 100-continue.
* **[XrdCl]** Avoid partially reading status message data too early.
* **[XrdCl]** Enable TPC placement step for roots/xroots transfers.
+ **Minor bug fixes**
* **[Server]** Pass username to background checksum computation.
* **[XrdCl]** In TPC set oss.asize only if known.
+ **Miscellaneous**
* **[XrdCl]** Allow file listing with the same semantic as in shell.
--------------
Version 5.1.0
--------------
+ **New Features**
* **[SSI]** Allow client-side to request high resolution timestamps.
* **[XCache]** Make TLS substitution for net cksum selectable.
* **[XCache]** Support pgRead and checksums.
* **[Server]** New ztn security plugin to provide a SciTokens sentinel.
* **[Server]** Allow optional return of checksum in dirlist response.
* **[Server]** Allow additional ports to be associated with a protocol.
* **[Server]** Implement an internal nano-DNS for k8s setups (mostly for SSI).
* **[Server]** Allow internal application push of plugin library.
* **[Server]** Implement checkpointed file modifications (i.e. kXR_chkpoint).
* **[Server]** Enhance the StatPF() method.
* **[Xache]** Phase 1 of checksum integrity implementation (a.k.a pgread).
* **[Monitoring]** Implement extensive g-stream enhancements.
* **[XrdCl]** Don't enforce host verification for localhost, closes #1318.
* **[XrdCl]** Allow for roots/xroots protocol in metalinks.
* **[XrdCl]** Add write API that transfers data from a FD.
* **[XrdCl]** Add write API that takes ownership of the buffer.
* **[XrdCl]** Implement redirect collapsing.
* **[XrdCl]** Add stream TTL callback.
* **[XrdCl]** xrdcp: allow write recovery at a redirector.
* **[XrdCl]** Allow negative flags in redirect port.
* **[XrdCl]** Implement PgRead.
* **[XrdCl]** Substitute PgRead with Read if the former is not supported.
* **[XrdCl]** Add a switch for disabling IP shuffling.
* **[XrdCl]** Declarative API: implement Repeat, Replace, Ignore and Stop
directives.
* **[XrdCl]** Allow exxternal components to register new topics in XrdCl::Log.
* **[XrdCl]** xrdfs ls: add option to get checksum per entry.
* **[Python]** Expose the Prepare::Evict flag, fixes #1322.
* **[XrdZip]** Add general ZIP utilities.
* **[XrdSys]** Add kernel buffer utility.
* **[XrdZip]** Provide headers implementing LFH, CDFH, ZIP64EOCD, ZIP64EOCDL
and EOCD records.
* **[CMake]** Add suitable RUNPATH to build-tree library.
* **[CMake]** Add 'plugins' phony target.
* **[XrdSciTokens]** Add scitokens plugin.
* **[XrdEc]** Introduce Intel ISAL based erasure coding library.
+ **Major bug fixes**
* **[Server]** Make sure that alignment is a power of two for posix_memalign.
* **[Server]** Redo checksum changes to provide backward compatibility.
* **[Server]** Correct version checking to prevent false negatives.
* **[Server]** When requested fully verify supplied checksums in pgwrite.
* **[Server]** Fix memory leak of 64MB per checksum request. Fixes #1291
* **[TLS]** Provide thread-safety when required to do so.
* **[POSIX]** Avoid returning null pointer upon failure to avoid SEGV.
* **[POSIX]** Initialize pointer when object reused to prevent memory corruption.
* **[POSIX]** Correctly initialize serverless cache to avoid SEGV.
* **[XrdTpc]** Fix error handling on stream write errors.
* **[XrdTpc]** Do not call Write() on flush.
* **[XrdTpc]** Avoid using invalid object in multi-stream.
* **[XrdTpc]** Always check and fail on error.
* **[XrdTpc]** Catch all negative return values not just SFS_ERROR.
* **[XrdTpc]** Do not hold lock when deleting a proxy autorm TPC job that failed.
* **[XrdTpc]** When we fail the transfer, free the curl-related memory.
* **[XrdHttp]** Prevent unterminated/corrupted headers from looping the server.
* **[XrdHttp]** Fix empty PUT.
* **[XrdHttp]** Store a new header in the headers map before mangling it.
* **[PIP]** Convert egg-info into proper dist-info.
* **[XrdCl]** xrdcp: fix regression in recursive copy.
* **[XrdCl]** Use ntohll() for pgread offsets.
* **[XrdCl]** Correctly propagate TLS error message.
* **[SSI]** Prevent a buffer from being recycled twice leading to random errors.
* **[SSI]** Avoid race condition between Finished() and Event Dispatch (causes SEGV)
* **[XrdCl]** xrdfs xattr: fix segv if server does not support xattr.
* **[XrdCl]** Make sure xrdcp does not segv on multi-chunk read from compressed ZIP.
+ **Minor bug fixes**
* **[XrdCl]** Create file descriptors with XrdSysFD utility.
* **[XrdCl]** Make sure kXR_attrVirtRdr flag is set properly.
* **[XrdCl]** Make sure error message does not include a null-character.
* **[XrdCl]** Fix 'xrdfs ls -l' output parsing.
* **[XrdTpc]** Fix the return value of `Stream::Write`
* **[XrdTpc]** Always populate error buffer with messages.
* **[XrdHttp]** URI-quote outgoing opaque data for HTTP-TPC.
* **[XrdHttp]** In http mode fail the read if any error comes from the socket,
including timeout.
* **[CMake]** Set rpath for pip build.
* **[Python]** Strip the leading v from __version__.
* **[POSIX]** Make sure to always return consistent stat() information.
* **[cmsd]** Correct write lengths to not write null bytes to env file.
* **[cmsd]** Correct parsing bug that results in an erroneous warning.
* **[Server]** Fix possible storage opverlay when dealing with TLS protocols.
* **[Server]** Fix esoteric truncation of long dirlist. Fixes #1340
* **[Server]** Do no terminate dirlist when a deleted directory is encountered.
* **[Server]** When requested fully verify supplied checksums in pgwrite.
* **[Server]** Prevent inadvertent double load of fixed protocol.
* **[PIP]** Fix WHEEL file (new line char).
* **[PIP]** Make sure pip list displays correct xrootd version.
* **[PIP]** Include the PKG-INFO in the root dir.
* **[PIP]** Make sure the right version is set in metadata.
+ **Miscellaneous**
* **[Server]** Make sure atleast one export exists in the export list.
* **[Server]** Echo the command line into the log.
* **[SSI]** Allow server-side debug to be enabled via an envar.
* **[Xcache]** Allow origin location query to be refreshed.
* **[cmsd]** Ignore stacked plugin specifications as they are not supported.
* **[cmsd]** Correctly parse osslib when it have options.
* **[cmsd]** Display the name of the named pipe being waited upon.
* **[XrdSciTokens]** Add XrdSciTokens submodule.
* **[XrdHttp]** Bump the max size for an Http header line to 16K.
* **[XrdHttp]** Per request, use curl's escaping function to match EOS practice.
* **[XrdHttp]** Make "tlsreuse off" the default.
* **[XrdTpc]** Factor out recursive writes.
* **[XrdTpc]** Do not allow partial buffer writes.
* **[XrdTpc]** Adjust buffer size based on number of streams.
* **[XrdCl]** Force socket error on header integrity check failure.
* **[RPM]** Add client-compat and server-compat packages, based on XRootD 4.
* **[XrdCns]** Retire the component.
* **[XrdCl]** Report version in the logs when the client lib is initialized.
--------------
Version 5.0.3
--------------
+ **Major bug fixes**
**[Server]** Add missing return that breaks loading of the oss.statlib
**[Server]** Prevent SEGV upon poller error on TLS links doing async I/O.
**[Server]** Avoid SEGV when checksum response is invalid.
**[TLS]** Avoid bad behaviour when authentication fails on a TLS connection.
+ **Minor bug fixes**
**[Server]** Report correct owner/group in extended status.
**[XrdCl]** Fix group ownership print out in extended stat.
**[XrdPosix]** Fix _STAT_VER problem on Fedora rawhide.
**[HTTP]** Align TPC cadir procesing with HTTP to avoid config issues. Fixes #1323
+ **Miscellaneous**
**[Server]** Correct TLS identification test for authentication protocol.
**[Server]** Pass the environment+secEntity to checksm manager. Fixes #1294
--------------
Version 5.0.2
--------------
+ **Major bug fixes**
**[Server]** Avoid POSC deletion when file creation fails because it exists.
**[HTTP]** Prevent secret key leakage if specified in the config file.
**[Python]** Prevent deadlock in Python bindings from XRootD.client.finalize.
+ **Minor bug fixes**
**[OFS]** Correct missparsing '+cksio' option to avoid config failure.
**[XRootD]** Correct flag reset code for esoteric ssq monitor option.
**[XrdCl]** Fix memory leak in copy process.
+ **Miscellaneous**
**[Server]** Strip out explicit plugin version designation with nasty message.
**[Server]** Tighten requirements to display config file.
**[HTTP]** Honor the tlsreuse option.
**[HTTP]** Avoid issuing confusing messages for improbable configs.
**[TLS]** Really kill the session cache when asked.
**[Xcache]** Correct regression that killed dca option.
**[Utils]** Add SHA3 checksum to utils.
**[XrdCl]** Utils::GetHostAddresses: use shuffle insted of random_shuffle.
**[XrdCl]** xrdcp: short circuit file exists error.
**[Debian]** Add XrdClHttp plugin to xrootd-client-plugins package.
**[XrdVom]** Add symlink to libXrdHttpVOMS for backwards compatibility.
--------------
Version 5.0.1
--------------
+ **Major bug fixes**
**[CMS]** Use correct adminpath for creating Unix socket. Fixes #1255
**[HTTP]** Correctly handle certs relative to refcount to avoid SEGV.
**[HTTP]** Escape pathnames in HTTP and XML responses.
**[Xcache]** Add missing initializer to avoid malloc() abort.
+ **Minor bug fixes**
**[VOMS]** Correct use of undocumented API that caused hang w/ dbg. Fixes #1245
**[GSI]** Use the storage deallocator that matches the allocator.
**[TPC]** Fix potential null pointer dereference on Push.
**[XrdOuc]** Fix XrdOucUtils::Sanitize not sanitizing the first character in
the string.
+ **Miscellaneous**
**[SSI]** Forward port LSST request scaler with auto-tuning.
**[HTTP]** Enable session cache by default, provide http.tlsreuse directive.
**[cmsd]** Reimplement affinity algorithm using verified LSST mechanism.
**[CMS]** Allow redirect to local filesystem when using HTTP.
**[Mon]** Rationalize UDP packet sequence numbers.
**[Server]** Adding fbuff argument to monitoring to restrict maximum size of
fstream packet.
**[XrdHttp/XrdVoms]** Pass parameters specified in the http.secxtractor down the
chain.
**[XrdCrypto/XrdHttp]** Extract DN from user (proxy, multi-proxy) certificate and
properly handle the gridmap-file functionality when accessing
through HTTP.
**[XrdHttp]** Add "required" parameter to the http.secxtractor and http.gridmap
configuration directives.
**[xrootdfs]** Set XrdSecEntity.uid/gid in xrootdfs.
--------------
Version 5.0.0
--------------
+ **New Features**
* **[gsi]** Allow keywords for options that accept numeric values.
* **[gsi]** Add -authzcall option to better control authz usage.
* **[XrdSec]** Add support for x509 capabilities.
* **[PSS]** Allow http and https for forwarding proxies.
* **[Voms]** Allow Voms plugin to work for gsi and https.
* **[SSS]** Allow sss authentication protocol to clone credentials.
* **[Auth]** Allow authentication protocols to require TLS.
* **[Apps]** Add xrdpinls to list plugin version requirements.
* **[All]** Add hardware assisted CRC32C checksum based on Mark Adler's code.
* **[All]** Implement new thread-safe strerror() replacement.
* **[Server]** Provide option to reduce performance impact of usage tracking.
* **[Server]** Define method to get partition information; mostly for Xcache.
* **[Server]** Allow display of SecEntity for https and xroot.
* **[Server]** Add xrootd.tlsreuse directive for session cache control.
* **[Server]** Add command line options -a and -A for adminpath default.
* **[Server]** Add command line options -w and -W for homepath setting.
* **[Server]** Implement kXR_pgread and kXR_status.
* **[Server]** Allow XrdNetAddr to track socket dialect.
* **[Server]** Add ofs.ctllib directive for FSctl plugin.
* **[Server]** Provide a way to see the actual server config when running.
* **[Server]i** Provide fallback when an IPv6 address is missing a ptr record.
* **[Server]** Allow xrootd.fslib plugin to be generally stacked.
* **[Server]** Implement a stackable post authentication plug-in (sec.entitylib).
* **[Server]** Add getfile and putfile SFS interface.
* **[Server]** Allow plugin stacking for most OFS plugins.
* **[Server]** Add plug-in interface for performance reporting.
* **[Server]** Add Features(), getFile(), and putFile() methods to SFS.
* **[Server]** Implement simple g-stream monitoring for medium level repotring.
* **[Server]** Trivialize OFS plugin wrapping (breaks ABI).
* **[Server]** Add additional fields to he SecEntity structure (breaks ABI).
* **[Server]** Allow redirector to handle kXR_dirlist location resolution.
* **[Server]** Implement tcpmonlib directive for TCP socket monitring.
* **[XrdCl]** Introduce recovery mechanism for declarative operations.
* **[XrdCl]** Introduce policies for parallel operations (all, any, some, at least).
* **[XrdCl]** xrdcp: add --notlsok and --tlsnodata options.
* **[XrdCl]** xrdcp: enable roots and xroots as TLS protocols.
* **[XrdCl]** xrdcp: add new --tlsmetalink option.
* **[XrdCl]** xrdcp: add an option (--xattr) to preserve extended attributes.
* **[XrdCl]** xrdcp: allow roots/xroots protocol.
* **[XrdCl]** xrdfs: expose extended stat information (if available) in stat and ls -l.
* **[XrdCl]** Add support for extended attributes.
* **[XrdCl]** Log properly TLS events.
* **[XrdCl]** Monitor writev requests.
* **[XrdCl]** Make sure there is at least one data stream if server requests the
client to encrypt only control and send data unencrypted.
* **[XrdCl]** Implement TLS encryption (roots/xroots). Use async TLS, handle want
read/write in an event-loop.
* **[XrdCl]** Ensure only one instance of DefaultEnv exists
* **[XrdCl]** Allow server to request encryption.
* **[XrdCl]** Make Socket class upgradeable to TLS.
* **[XrdCl]** Add support for local file rm.
* **[XrdCl]** Fail all handlers in pipeline on failure.
* **[XrdCl]** Implement extended attribute (xattr) support.
* **[XrdCl]** Add global on connect callback API.
* **[XrdCl]** Introduce PgRead/PgWrite interface.
* **[XrdCl]** Add envar (XRD_TLSFALLBACK) that makes the client fallback to root if
the server does not support roots.
* **[XrdCl]** Take into account connection specific CGI when selecting channel.
* **[XrdCl]** Set kXR_ExpTPC if connection is being established in context of TPC.
* **[POSIX]** Add methods to the cache mngt objecT to get status of a cached file.
* **[POSIX]** Add N2N pfn2lfn option -cachesrc to pass data source to the N2N.
* **[TLS]** Add peer certificate verification.
* **[TLS]** Make sure log notes the connection type.
* **[TLS]** Add hostname validation.
* **[TLS]** Use recommended ciphers add xrd.tlsciphers directive to override.
* **[TLS]** Implement crl/ca automatic refresh.
* **[TLS]** Add additional options for session caching.
* **[TLS]** Add tracing capability to the TLS stack.
* **[SSI]** Export request scaling interface.
* **[SSI]** Add generic Control() method for future use.
* **[SSI]** Simplify GetResponseData() to return void not enum (breaks ABI).
* **[SSI]** Add generalized option setting method, SetConfig().
* **[Proxy]** Report features.
* **[Proxy]** Allow proxy to forward xroots and roots protocols.
* **[XCache]** Optionally supply source and CGI to N2N cache plugin.
* **[XCache]** Provide monitoring summary statistics.
* **[XCache]** If needed, delay IO destruction internally in Detach. XrdScheduler
is now always available.
* **[XCache]** Provide confh backward compatibility for "pss.cachelib" directive.
* **[XCache]** Simplify summary statics gathering.
* **[XCache]** Autoconfig oss and cmsd using pfcache export attribute.
* **[Python]** Add xattr API.
* **[CMSD]** Add space trace option for tracing space utilization changes.
* **[FRM]** Allow frm_xfrd to split in/out copy allocation.
+ **Major bug fixes**
* **[VOMS]** Do not touch the Entity.name field; especially converting spaces.
* **[Server]** Add missing initializer to avoid TPC SEGV on busy systems.
* **[Server]** Accommodate changes in epoll handling in CentOS 7.10 plus.
* **[SSI]** Fix double delete due to extraneous code addition.
* **[XrdCl]** Use different bit for mkpath and tpc delegation.
* **[XrdCl]** tpc: don't open non-root/xroot source.
* **[XrdCl]** Adjust # of strm queues when server requests additional data.
* **[PFC]** Make sure scheduler pointer is always valid.
* **[Proxy]** Remove offending CGI elements before passing URL.
* **[XrdHttp]** Fix MKCOL response when we have an EEXIST.
+ **Minor bug fixes**
* **[Acc]** Process compound capability rules as documented.
* **[gsi]** Fail server initialization when gsi did not initialize. Fixes #1042
* **[Proxy]** Properly handle non-xroot URLs.
* **[Proxy]** Correct version information.
* **[cmsd]** Make sure to return correct error when creation conflict occurs.
* **[Server]** Handle iovec's longer than IOV_MAX.
* **[Server]** Correct action determination for debug message to avoid strife.
* **[Server]** Use correct mechanism to determine DNS registration.
* **[Server]** Make space usage maintenance fully thread safe.
* **[Server]** Avoid duplicate usage update under certain conditions.
* **[XrdCl]i** xrdcp: don't create unwanted dir if --recursive switch was used.
+ **Miscellaneous**
* **[Acc]** Dynamically attach a sliced SecEntity as one of its object attributes.
* **[Utils]** Don't hide true error when loading a plugin w/o an alternate.
* **[gsi]** Make -trustdns default false (i.e. do not use DNS).
* **[gsi]** Remove built-in VOMS extractor and FunLite example.
* **[gsi]** Make -vomsat default "ignore".
* **[Server]** Implement exchange buffering for increased performance.
* **[Server]** Remove Solaris polldev support (reverts to using pollpoll).
* **[Server]** Turn off forwarding if authorization has not been enabled.
* **[Server]** Rationalize how pidfiles are created.
* **[Server]** Make sure loginid corresponds to the POSIX.1-2008 standard.
* **[Server]** Honor authentication protocol TLS requirements.
* **[Server]** Turn off IP address caching when dynamic DNS is enabled.
* **[Server]** Log unusual stat() errors affecting file availability.
* **[Server]** Manage reference counters in a more timely fashion.
* **[Server]** Fallback using known DNS name when reverse translation fails.
* **[Server]** Provide interface for checksum handler to report progress.
* **[Server]** Improve SFS wrapping and add "how to" documentation.
* **[Server]** Add appname to SecEntity attribute set.
* **[Server]** Assign a unique ID to each SecEntity instance.
* **[Server]** Make cksio the default for the ofs.osslib directive.
* **[Server]** Add checkpoint() method to XrdSfsFile.
* **[Server]** Add kXR_ItExists error for EEXIST errno don't use kXR_BadRequest.
* **[Server]** Remap kXR_BadRequest to EBADRQC.
* **[Server]** Change uses of ENOSYS to ENOTSUP for consistent meaning.
* **[Server]** Make all error code mappings consistent.
* **[Server]** Deprecate use of '-2' option in oss.statlib.
* **[Server]** Distinguish between authentication and authorization failures.
* **[Server]** Allow TLS session reuse for xroots protocol.
* **[SSS]** Update sss protocol for new SecEntity object.
* **[SSI]** Avoid SIGABRT when init fails. Fixes 751
* **[SSI]** Use exchange buffering to avoid using memcpy for improved peformance.
* **[XCache]** Provide config backward compatibility for "pss.cachelib" directive.
* **[XCache]** Switch from usage of XrdFileCache prefix to XrdPfc.
* **[XCache]** Cleanup statistics object and add additional fields.
* **[Proxy]** Refactor proxy server caching implementation.
* **[All]** Use thread-safe strerror() replacement, part 1.
* **[CMake]** Move to CMake 3.
* **[Protocol]** Remove unused kXR_attn subcodes.
* **[Protocol]** Define the asyninfo response structure.
* **[Protocol]** Add TLS-specific bits for anonymous get/putfile.
* **[XrdCl]** When selecting channel take into account protocol (root vs roots).
* **[XrdCl]** Use XRootDStatus instead of Status for internal workflows.
* **[XrdCl]** Make sure TLS err msg are propagated to the end user.
* **[XrdCl]** Log socket upgrade to TLS at Info level.
* **[XrdCl]** Filter out xrdcl.* parameters from tpc.scgi.
* **[XrdCl]** Widely apply PIMPL idiom.
* **[XrdCl]** Review public headers.
* **[XrdCl]** Simplify Channel abstraction.
* **[XrdCl]** Remove OpenFlags::Append.
* **[XrdCl]** Clear SSL error queue after every authentication routine.
* **[XrdCl]** Preserve xrdcl.* cgi elements on redirect as they are important for
the internal workflow.
* **[RPM]** Remove xrdstagetool, xrd, xrdcp-old and xprep.
* **[RPM]** Don't build/install cns.
* **[RPM]** Remove old XRootD client.
* **[RPM]** Remove XRootD 3.x.x compat package.
* **[RPM]** Add symlink libXrdFileCache.so -> libXrdPfc.so.
* **[XrdMacaroon]* When possible, use the built-in chaining featured in Xrootd 5.
* **[XrdTpc]** Have HTTP-TPC reuse the SFS from the environment.
* **[TPC]** Honor client's source protocol specification server-side.
* **[Plugins]** Make sure underlying msgs get passed along. Fixes #1015
* **[XrdHttp]** Use the framework to handle OpenSSL contexts.
* **[TLS]** Always configure with session cache disabled.
--------------
Version 4.12.4
--------------
+ **Major bug fixes**
* **[XrdCl]** Fix regression in recursive copy (introduced in f6723e00).
* **[VOMS]** Do not touch the Entity.name field; especially converting spaces.
* **[VOMS]** Fix improper collection of multi-VO cert attributes.
* **[RPM]** Refine xrootd-voms obsoletes/provides for vomsxrd.
* **[RPM]** Remove libXrdSecgsiVOMS-4.so from xrootd-libs pkg.
* **[pfc] Make sure v4 does not try to read v5 cinfo files.
* **[XrdHttp]** Shutdown the connection in the case of an unrecognized HTTP
first line.
+ **Minor bug fixes**
* **[Server]** Make sure to sanitize username in the HTTP bridge.
* **[Server]** Make sure loginid corresponds to the POSIX.1-2008 standard.
+ **Miscellaneous**
* **[Debian]** Add XrdClHttp plugin to xrootd-client-plugins package.
* **[XrdHttp]** Add "required" parameter to the http.secxtractor and http.gridmap
configuration directives.
* **[XrdCrypto/XrdHttp]** Extract DN from user (proxy, multi-proxy) certificate and
properly handle the gridmap-file functionality when
accessing through HTTP.
* **[Protocol]** Add flag to say locate is for dirlist.
* **[XrdCl]** Apply kXR_compress & kXR_4dirlist to deep locate if done in context of
dir list.
--------------
Version 4.12.3
--------------
+ **Major bug fixes**
* **[RPM]** xrootd-voms pkg obsoletes xrootd-voms-plugin.
* **[Python]** Make sure XrdVersion.hh is generated correctly during pip install.
--------------
Version 4.12.2
--------------
+ **Major bug fixes**
* **[XrdHttp]** Added protection against a NULL bridge instance.
* **[XrdHttp]** Avoid the reqstate to go below zero in case of strange headers.
* **[XrdVoms]** Set the prox field to "xrdvoms" as the extractor.
* **[XrdVoms]** Fix various option parsing problems.
* **[XrdVoms]** Backport a clean patched VOMS version from R5.
+ **Minor bug fixes**
* **[Docs]** Make the xrdmapc help text and manpage match the code.
* **[Docs]** Fix empty xrdmapc manpage.
* **[CMake]** Fix XRootD config module.
+ **Miscellaneous**
* **[Server]** Allow specification of whether or not dirlist is locally handled.
* **[XrdVoms]** Replace git sub-module with full-fledged component of xrootd core.
* **[XrdVoms]** Simplify the gropts parameter.
* **[XrdVoms]** Rename XrdSecgsiVOMS-4.so to XrdVoms-4.so, create XrdSecgsiVOMS-4.so
symlink for compability.
--------------
Version 4.12.1
--------------
+ **Major bug fixes**
* **[XrdXrootdVoms]** Fix run-time lib dependencies.
+ **Minor bug fixes**
* **[xrdcp]** Don't create unwanted dir if --recursive option was used and the
source is a file.
--------------