Package: xrootd-s3-http / 0.5.0-3

Metadata

Package Version Patches format
xrootd-s3-http 0.5.0-3 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Link POSC plugin to pthread and libatomic.patch | (download)

CMakeLists.txt | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 1/6] link posc plugin to pthread and libatomic

 * pthread is needed for GNU/Hurd
 * libatomic is needed for most 32 bit architectures

0002 Missing go wrk should not be fatal.patch | (download)

CMakeLists.txt | 2 1 + 1 - 0 !
test/CMakeLists.txt | 2 2 + 0 - 0 !
2 files changed, 3 insertions(+), 1 deletion(-)

 [patch 2/6] missing go-wrk should not be fatal

 * Disable the go-wrk dependent test if it is not found

0003 PATH_MAX is not portable.patch | (download)

src/Posc.cc | 5 3 + 2 - 0 !
1 file changed, 3 insertions(+), 2 deletions(-)

 [patch 3/6] path_max is not portable

Not all systems define PATH_MAX and/or MAXPATHLEN. The proper fix is
to use dynamic allocation and allocate the number of bytes needed.
This is a bit of work, and it has not been done for the main xrootd
code. The xrootd code has a hack and defines MAXPATHLEN in
<XrdSys/XrdSysPlatform.hh> on system that don't have it in the system
headers. Use this hack in the POSC plugin too.

0004 Don t hardcode error numbers.patch | (download)

test/http_tests.cc | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 4/6] don't hardcode error numbers

They are not the same on all systems. Use the defined constants instead.

0005 Use different files for different tests.patch | (download)

test/http_tests.cc | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 [patch 5/6] use different files for different tests

Both HTTP::basic::test and TestHTTPFile.TestXfer use the same file and
interfere with each other when run in parallel. The setup script
already creates two copies of the file. Change one of the tests to use
the other copy of the file.

0006 Fix test for file systems with low time resolution.patch | (download)

test/posc_tests.cc | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 6/6] fix test for file systems with low time resolution

The test fails when run on a file system with 1 second reolution file
time stamps. Increase the sleep to 1.5 seconds so that it works on
such systems.

0007 Fix broken file access mode detection.patch | (download)

src/HTTPFile.cc | 4 2 + 2 - 0 !
src/S3File.cc | 4 2 + 2 - 0 !
2 files changed, 4 insertions(+), 4 deletions(-)

 [patch 7/7] fix broken file access mode detection

The access mode values for files are not the same for all platforms.
The detection of a read only request here assumes that O_RDONLY is 0,
which is not mandated by the POSIX standaed.

Linux:
  #define O_ACCMODE       00000003
  #define O_RDONLY        00000000
  #define O_WRONLY        00000001
  #define O_RDWR          00000002

But this is also allowed:
  #define O_RDONLY      0x0001  /* Open read-only.  */
  #define O_WRONLY      0x0002  /* Open write-only.  */
  #define O_RDWR        (O_RDONLY|O_WRONLY) /* Open for reading and writing. */
  #define O_ACCMODE     O_RDWR  /* Mask for file access modes.  */

This commit fixes the detection so that it is done in the intended way
that works everywhere.