Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V5.7.1 #18

Merged
merged 93 commits into from
Sep 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
c2f4f11
[CI] Use cern/cc7-base image for CentOS 7
amadio Jul 2, 2024
7a4fb54
[CI] Adjust CentOS 7 RPM artifact directory
amadio Jul 3, 2024
8dbcf21
[CI] Ajust CentOS 7 RPM artifact directory in GitLab CI as well
amadio Jul 3, 2024
aa0a9a2
[CI] Use CentOS 7 Vault in GitHub Actions
amadio Jul 25, 2024
15424d3
[CI] Force use of node16 with CentOS 7 builds
amadio Jul 25, 2024
fc6c192
[CI] Use CentOS 7 Vault in GitLab CI
amadio Jul 25, 2024
0de36b5
[CI] Add Ubuntu 24.04 build to GitLab CI
amadio Jul 25, 2024
ab5e20e
[CI] Switch Fedora 38 build to Fedora 40 in GitLab CI
amadio Jul 25, 2024
f00139c
Remove code duplication. Determine IOV_MAX in one place.
ellert Jul 19, 2024
2b06dc2
[XrdCl] Fix hidden overloaded virtual compilation error
ellert Jul 4, 2024
4b33d60
[XrdHttp] Apply keepalive when redirecting HTTP clients
jthiltges Jul 3, 2024
0b49e68
[XrdHttp] Save keepalive state before calling reset()
jthiltges Jul 22, 2024
2765beb
[XrdHttp] In ProcessHTTPReq, simplify return value for rtGET case
jthiltges Jul 26, 2024
b2907bd
Do not leak file pointer on open error
bbockelm Jul 30, 2024
a6f6e4e
[POSIX] Rework commit b2907bd "Do not leak file pointer on open error".
abh3 Aug 1, 2024
0f1e13b
[XrdCl] Add "hush" flag to optionally suppress force disconnect error…
abh3 Aug 1, 2024
49ea0e9
[POSIX] Suppress error message when tearing down client connections. …
abh3 Aug 1, 2024
438bafa
[Server] Allow more permission flexibility in adminpath. Fixes #2276
abh3 Aug 1, 2024
7ab6817
[Apps] Allow cconfig to write out combined config file. Fixes #1894
abh3 Aug 2, 2024
9f7fe9d
[Apps] Make sure whole configuration file is written
amadio Aug 2, 2024
9482043
[Apps] Do not set exec bit when creating config file
amadio Aug 2, 2024
1b40511
Rename the GTest helper macros
ellert Aug 1, 2024
0c85bb1
Replace EXPECT_TRUE(expression.IsOK()) with EXPECT_XRDST_OK(expression)
ellert Aug 1, 2024
1cd3f5c
Call sync() to avoid races after file or directory removals
ellert Aug 1, 2024
d646975
Give the servers time to start before running tests
ellert Aug 1, 2024
91a1ff5
Avoid test failures when $RANDOM returns 0
ellert Aug 1, 2024
e6aab10
[Tests] Make cluster tests less verbose
amadio Jul 30, 2024
a4bd89e
[Tests] Add ASSERT_XRDST_OK/NOTOK which use ASSERT_TRUE from GTest
amadio Aug 5, 2024
bea312d
[Tests] Use GTest's SetUp() and TearDown() in PostMasterTest
amadio Oct 26, 2023
c2b8d9e
[XrdApps] Replace pragma once with header guards
amadio Aug 5, 2024
8ae7b96
[XrdTpc] Replace pragma once with header guards
amadio Aug 5, 2024
eab51d6
[CI] Move GitHub Actions RPM workflow to Fedora 40
amadio Aug 6, 2024
defce9e
Conditionally load Davix grid module; verbose logging
wyang007 Aug 17, 2024
fadd9b4
[Secgsi] Fix code to follow documentation. Fixes #1817
abh3 Aug 7, 2024
0b86b73
[Secgsi] Fix typo from previous commit
amadio Aug 7, 2024
ac242df
[XrdNet] Avoid network identity failures. Fixes #1772 #2159
abh3 Aug 7, 2024
5f2f5ae
[XrdNet] Make sure domain value is defined.
abh3 Aug 7, 2024
1e59e5c
[Server] Allow server to assume an arbitrary network identity. Fixes …
abh3 Aug 8, 2024
7814caa
]Utils] Avoid possible undefined behaviour using tolower().
abh3 Aug 8, 2024
fb64f0b
[Utils] Avoid possible undefined behaviour when using tolower().
abh3 Aug 8, 2024
a90b72a
[XrdNet] Make sure to use lower case version of returned host names.
abh3 Aug 8, 2024
ebdf82b
[XrdSys] Dump coverage information on SIGTERM
amadio Aug 8, 2024
3a54788
[CMake] Update test.cmake options for coverage builds
amadio Aug 8, 2024
d095e05
[CI] Add coverage report to GitHub Actions
amadio Feb 9, 2024
8be9f7b
[Seckrb5] Improve error messages and use const where needed. Fixes #1948
abh3 Aug 11, 2024
821edc2
[XrdTls] Match type of sslOpts with SSL_CTX_set_options
amadio Aug 9, 2024
921a65e
SecProtocolgsi: Local copy of url supplied proxy location
smithdh Jul 5, 2024
459967d
TPC: Pass user's cgi (may include local proxy location) when querying…
smithdh Jul 31, 2024
980f4d0
[XrdSut] Fix -Wformat warning in XrdSutFromHex
amadio Aug 9, 2024
44f4cc1
[Tests] Add -Wextra to check-headers.sh script
amadio Aug 16, 2024
7c51f3a
[CMake] Update CMake minimum requirement and supported versions
amadio Aug 12, 2024
d509b76
[Protocol] Indicate whether or not server has a cache in kXR_Protocol…
abh3 Jul 31, 2024
6843691
[xrootd] Allow kXR_query to return proxy origin value, for proxy serv…
abh3 Jul 31, 2024
425658a
[PSS] Allow for API endpoints for fixed remote origins. Fixes #2068
abh3 Aug 2, 2024
b33c07d
[cmsd] Allow a redirector to be configured read/only. Fixes #1764
abh3 Aug 9, 2024
7678df2
[Protocol] Define readv limits.
abh3 Aug 17, 2024
726392e
[Pss] Export the final origin url for subprocess use.
abh3 Aug 22, 2024
25117b4
[XrdPfc] Make sure direct vread requests conform to protocol limits. …
osschar Aug 22, 2024
0adee34
[XrdCl] Add back XrdClChannel::ForceDisconnect()
amadio Aug 24, 2024
88abae4
[XrdCl] Add back XrdClPostMaster::ForceDisconnect(url)
amadio Aug 24, 2024
161c09a
[docker] Update CentOS 7 Dockerfile to use CentOS 7 Vault
amadio Aug 27, 2024
cd1fa15
[XrdCl] xrdfs: Fix typos in command line help string
amadio Aug 28, 2024
3a2411e
[bindings] Fix some memory leaks in python bindings
smithdh Aug 27, 2024
a259bbf
[XrdCl] Fix too few arguments to formatting function
amadio Aug 29, 2024
cbcb27c
[XrdSecgsi] Fix potential double free in GetSrvCertEnt()
amadio Aug 29, 2024
c809e82
[XrdSecztn] Fix potential use after free
amadio Aug 29, 2024
a1ed250
[XrdHttp] Fix CodeQL warning for overrunning write
amadio Aug 29, 2024
c36a32b
[XrdCrypto] Fix memory leaks in XrdCryptoRSA
amadio Aug 9, 2024
ae594b5
[Server] Fix -Woverflow warning in XrdLink
amadio Aug 9, 2024
4a00394
[XrdSecgsi] Cast pointer to void to fix -Wformat warning in snprintf
amadio Aug 12, 2024
4d11469
[XrdCl, XrdHttp] Obfuscated more token authz in logging
ccaffy Jul 18, 2024
ef78a5e
[XrdOucUtils] Speed-up authz obfuscation
ccaffy Aug 22, 2024
c6abe2a
[XrdClURL] Remove ABI compatibility break caused by auth obfuscation
ccaffy Aug 29, 2024
b9ad21e
[XrdOucUtils] Moved obfuscation function to a private header
ccaffy Aug 29, 2024
4e76711
[XrdOuc] Hide OBFUSCATION_STR, authObfuscationRegexes, and obfuscate(…
amadio Sep 2, 2024
0d9cadb
Fix shellcheck issues in genversion.sh and gen-tarball.sh
amadio Sep 1, 2024
b93e088
Uncomment hardening of systemd units
amadio Jun 15, 2023
38c5bea
Add SECURITY.md setting up security policy for XRootD
amadio Aug 27, 2024
4fb70e3
[DEB] Add davix to build dependencies
amadio Sep 2, 2024
091e572
[RPM] Add coreutils and procps-ng to build dependencies
amadio Sep 3, 2024
d2c3579
[DEB] Add coreutils and procps to build dependencies
amadio Sep 3, 2024
2847a2f
[RPM] Add davix to build dependencies
amadio Sep 3, 2024
9ef0525
[Tests] Add new XRootD client/server test configurations
amadio Aug 30, 2024
63b028a
[CMake] Conditionally enable FUSE and HTTP tests
amadio Sep 3, 2024
41f3afe
[CI] Install procps on Alpine to run tests
amadio Sep 3, 2024
e423541
[CMake] Do not automatically enable FUSE tests
amadio Sep 3, 2024
b57af3b
[Python] Update tests to work with Python3.x
Nov 30, 2023
4998116
[Python] Fix tests to work with latest pytest
amadio Mar 6, 2024
1d1beb8
Add basic clang-tidy configuration file
amadio Oct 13, 2023
bd64e96
[RPM] Update spec file for XRootD 5.7.1
amadio Sep 2, 2024
ae3391f
XRootD 5.7.1
amadio Sep 1, 2024
b53f318
Merge tag 'v5.7.1' of https://github.com/xrootd/xrootd
Jo-stfc Sep 9, 2024
bfcf7db
Merge branch 'v5.7.1withceph' into v5.7.1
Jo-stfc Sep 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#
# For a list of checks, run clang-tidy -checks=* --list-checks
# or see https://clang.llvm.org/extra/clang-tidy/checks/list.html
#
---
Checks: '-*,clang-analyzer-core.*'
WarningsAsErrors: ''
HeaderFilterRegex: ''
FormatStyle: none
CheckOptions:
modernize-use-nullptr.NullMacros: 'NULL'
...
45 changes: 45 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ jobs:
make \
openssl \
openssl-dev \
procps \
py3-pip \
py3-setuptools \
py3-wheel \
Expand Down Expand Up @@ -86,7 +87,51 @@ jobs:
run: |
tests/post-install.sh
tests/check-headers.sh

centos7:
name: CentOS 7
runs-on: ubuntu-latest
container: centos:7

env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
CMAKE_ARGS: "-DCMAKE_INSTALL_PREFIX=/usr;-DCMAKE_INSTALL_RPATH='$ORIGIN/../$LIB'"

steps:
- name: Use CentOS 7 Vault Repository URLs
run: |
sed -i -e '/mirrorlist/d' \
-e 's/# \?baseurl=/baseurl=/g' \
-e 's/mirror.centos.org/vault.centos.org/g' \
-e 's/$releasever/7.9.2009/g' \
/etc/yum.repos.d/*.repo
yum install -y centos-release-scl epel-release
sed -i -e '/mirrorlist/d' \
-e 's/# \?baseurl=/baseurl=/g' \
-e 's/mirror.centos.org/vault.centos.org/g' \
-e 's/$releasever/7.9.2009/g' \
/etc/yum.repos.d/*.repo

- name: Install dependencies
run: |
yum install -y epel-rpm-macros git rpmdevtools sudo yum-utils

- name: Clone repository
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup GitHub runner user within container
run: adduser --uid 1001 runner && chown -R runner:runner .

- name: Install XRootD build dependencies
run: yum-builddep -y xrootd.spec

- name: Build and Test with CTest
run: |
source /opt/rh/devtoolset-7/enable
su -p runner -c 'ctest3 -VV -S test.cmake'
alma8:
name: Alma 8
runs-on: ubuntu-latest
Expand Down
58 changes: 58 additions & 0 deletions .github/workflows/COV.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: COV

on:
push:
branches:
- devel
- master
paths-ignore:
- .gitignore
- .gitlab-ci.yml
- .mailmap
- '**.md'
- 'docs/**'
- 'docker/**'
tags:
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

defaults:
run:
shell: bash

env:
CDASH: ${{ vars.CDASH }}
DEBIAN_FRONTEND: noninteractive

jobs:
coverage:
name: Coverage Report
runs-on: ubuntu-latest

steps:
- name: Install dependencies
run: |
sudo ln -sf /usr/share/zoneinfo/UTC /etc/localtime
sudo apt update -q
sudo apt install -y build-essential devscripts equivs gcovr git

- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install XRootD build dependencies
run: mk-build-deps --install --remove -s sudo debian/control <<< yes

- name: Build and Test with CTest
run: ctest -V --output-on-failure -C Debug -DCOVERAGE=1 -S test.cmake

- if: ${{ vars.CODECOV == 'true' }}
name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
25 changes: 21 additions & 4 deletions .github/workflows/RPM.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,25 @@ jobs:
runs-on: ubuntu-latest
container: centos:7

env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16

steps:
- name: Use CentOS 7 Vault Repository URLs
run: |
sed -i -e '/mirrorlist/d' \
-e 's/# \?baseurl=/baseurl=/g' \
-e 's/mirror.centos.org/vault.centos.org/g' \
-e 's/$releasever/7.9.2009/g' \
/etc/yum.repos.d/*.repo
yum install -y centos-release-scl epel-release
sed -i -e '/mirrorlist/d' \
-e 's/# \?baseurl=/baseurl=/g' \
-e 's/mirror.centos.org/vault.centos.org/g' \
-e 's/$releasever/7.9.2009/g' \
/etc/yum.repos.d/*.repo

- name: Install git
run: yum install -y git

Expand All @@ -33,7 +51,6 @@ jobs:

- name: Install RPM development tools
run: |
yum install -y centos-release-scl epel-release
yum install -y epel-rpm-macros rpmdevtools yum-utils

- name: Install XRootD build dependencies
Expand All @@ -53,7 +70,7 @@ jobs:
run: tests/post-install.sh

- name: Move RPMs to Artifact Directory
run: mkdir RPMS && mv $(rpm -E '%{_rpmdir}')/ RPMS$(rpm -E '%{dist}' | tr . /)
run: mkdir RPMS && mv $(rpm -E '%{_rpmdir}')/*/*.rpm RPMS/

- name: Upload Artifacts
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -153,9 +170,9 @@ jobs:
retention-days: 14

fedora:
name: Fedora 39
name: Fedora 40
runs-on: ubuntu-latest
container: fedora:39
container: fedora:40

steps:
- name: Install git
Expand Down
26 changes: 21 additions & 5 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,19 @@ default:
.rpm_build_yum: &rpm_build_yum
stage: build
script:
- |
sed -i -e '/mirrorlist/d' \
-e 's/# \?baseurl=/baseurl=/g' \
-e 's/mirror.centos.org/vault.centos.org/g' \
-e 's/$releasever/7.9.2009/g' \
/etc/yum.repos.d/*.repo
- yum install -y centos-release-scl epel-release git
- |
sed -i -e '/mirrorlist/d' \
-e 's/# \?baseurl=/baseurl=/g' \
-e 's/mirror.centos.org/vault.centos.org/g' \
-e 's/$releasever/7.9.2009/g' \
/etc/yum.repos.d/*.repo
- yum install -y epel-rpm-macros rpmdevtools yum-utils
- yum-builddep -y xrootd.spec
- rpmdev-setuptree
Expand All @@ -37,7 +49,7 @@ default:
- yum install -y $(rpm -E '%{_rpmdir}')/*/*.rpm
- tests/post-install.sh
- mkdir -p RPMS
- mv $(rpm -E '%{_rpmdir}')/ RPMS$(rpm -E '%{dist}' | tr . /)
- mv $(rpm -E '%{_rpmdir}')/*/*.rpm RPMS/
artifacts:
paths: [ RPMS ]
expire_in: 1d
Expand Down Expand Up @@ -70,6 +82,10 @@ Ubuntu 22.04:
image: ubuntu:22.04
<<: *deb_build

Ubuntu 24.04:
image: ubuntu:24.04
<<: *deb_build

CentOS 7:
image: centos:7
<<: *rpm_build_yum
Expand All @@ -88,10 +104,10 @@ AlmaLinux 9:
- dnf config-manager --set-enabled crb
<<: *rpm_build_dnf

Fedora 38:
image: fedora:38
<<: *rpm_build_dnf

Fedora 39:
image: fedora:39
<<: *rpm_build_dnf

Fedora 40:
image: fedora:40
<<: *rpm_build_dnf
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#-------------------------------------------------------------------------------
# Project description
#-------------------------------------------------------------------------------
cmake_minimum_required(VERSION 3.16...3.25)
cmake_minimum_required(VERSION 3.16...3.30 FATAL_ERROR)

project( XRootD )

Expand Down
73 changes: 73 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# XRootD Security and Vulnerability Disclosure

This page describes the XRootD security policy and vulnerability
disclosure information.

## Report a Vulnerability

We are extremely grateful for security researchers and users that report
vulnerabilities in XRootD. All reports are thoroughly investigated by
the XRootD development team.

There are two options to report a security vulnerability in XRootD:

- Directly on GitHub, at https://github.com/xrootd/xrootd/security
- Via email, to the responsible people listed in our website at
http://xrootd.org/contact.html

Please include in your report a description of the vulnerability, along
with the details expected for regular bug reports, such as the affected
XRootD version, relevant configuration directives, sample log files, etc.

### When Should I Report a Vulnerability?

- You think you discovered a potential security vulnerability in XRootD
or in one of the projects that XRootD depends on

### When Should I NOT Report a Vulnerability?

- You need help configuring XRootD authentication or security plugins
- You need help applying security related updates
- Your issue is not related to security

## Security Policy

### Security Vulnerability Response

Each report shall be acknowledged and analyzed within 3 working days.
This does not mean that a fix will be available within 3 days, but that
a confirmation of receipt and an assessment of whether or not XRootD is
affected by the vulnerability will be provided within this time frame.

Any vulnerability information shared with the development team stays
within the collaboration and will not be disseminated to other projects
unless it is necessary to get the issue fixed.

The reporter of a vulnerability will be kept up to date on progress as
the security issue moves from triage, to identified fix, to release
planning.

### Public Disclosure Timing

A public disclosure date is negotiated by the bug submitter and the
XRootD development team. We prefer to fully disclose the bug as soon as
possible once a mitigation is available. It is reasonable to delay
disclosure when the bug or the fix are not yet fully understood, the
solution is not well-tested, or for coordination to get the issue fixed.
The time frame for disclosure is from immediate (especially if it's
already publicly known) to a few weeks. For a vulnerability with a
straightforward mitigation, we expect report date to disclosure date to
be on the order of 1 week. The XRootD collaboration reserves the right
to set a disclosure date based on all the factors as described above.

## Security Announcements

Security advisories will be published on the official repository on
GitHub, at https://github.com/xrootd/xrootd/security. Announcements
related to XRootD security will also be sent to the same recipients
used for release announcements, including [email protected].
If you would like to receive security announcements but do not want
to subscribe to our users' mailing list, please use the contact page
above to ask to be included in the list of recipients for security
announcements. Instructions for subscribing to the users' mailing
list can also be found on the contact page.
2 changes: 1 addition & 1 deletion bindings/python/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.16...3.25)
cmake_minimum_required(VERSION 3.16...3.30 FATAL_ERROR)

project(PyXRootD LANGUAGES CXX)

Expand Down
3 changes: 2 additions & 1 deletion bindings/python/src/AsyncResponseHandler.hh
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ namespace PyXRootD
//----------------------------------------------------------------------
// Convert the host list
//----------------------------------------------------------------------
PyObject *pyhostlist = PyList_New( 0 );
PyObject *pyhostlist = NULL;
if ( hostList != NULL ) {
pyhostlist = ConvertType<XrdCl::HostList>( hostList );
if ( pyhostlist == NULL || PyErr_Occurred() ) {
Expand All @@ -118,6 +118,7 @@ namespace PyXRootD
//----------------------------------------------------------------------
// Build the callback arguments
//----------------------------------------------------------------------
if (pyhostlist == NULL) pyhostlist = PyList_New( 0 );
if (pyresponse == NULL) pyresponse = Py_BuildValue( "" );
PyObject *args = Py_BuildValue( "(OOO)", pystatus, pyresponse, pyhostlist );
if ( !args || PyErr_Occurred() ) {
Expand Down
13 changes: 7 additions & 6 deletions bindings/python/src/Conversions.hh
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ namespace PyXRootD
{
static PyObject* Convert( XrdCl::StatInfo *info )
{
return Py_BuildValue("{sOsOsOsOsO}",
return Py_BuildValue("{sNsNsNsNsN}",
"id", Py_BuildValue("s", info->GetId().c_str()),
"size", Py_BuildValue("k", info->GetSize()),
"flags", Py_BuildValue("I", info->GetFlags()),
Expand Down Expand Up @@ -194,10 +194,11 @@ namespace PyXRootD
for ( unsigned int i = 0; i < list->size(); ++i ) {
XrdCl::HostInfo *info = &list->at( i );

PyObject *url = PyObject_CallObject( (PyObject*) &URLType,
Py_BuildValue( "(s)", info->url.GetURL().c_str() ) );
PyObject *args = Py_BuildValue( "(s)", info->url.GetURL().c_str() ) ;
PyObject *url = PyObject_CallObject( (PyObject*) &URLType, args );
Py_XDECREF( args );

PyObject *pyhostinfo = Py_BuildValue( "{sIsIsOsO}",
PyObject *pyhostinfo = Py_BuildValue( "{sIsIsNsO}",
"flags", info->flags,
"protocol", info->protocol,
"load_balancer", PyBool_FromLong(info->loadBalancer),
Expand All @@ -222,7 +223,7 @@ namespace PyXRootD
for ( XrdCl::LocationInfo::Iterator it = info->Begin(); it < info->End();
++it ) {
PyList_SET_ITEM( locationList, i,
Py_BuildValue( "{sssIsIsOsO}",
Py_BuildValue( "{sssIsIsNsN}",
"address", it->GetAddress().c_str(),
"type", it->GetType(),
"accesstype", it->GetAccessType(),
Expand Down Expand Up @@ -273,7 +274,7 @@ namespace PyXRootD
delete[] (char*) chunk.buffer;

PyList_SET_ITEM( pychunks, i,
Py_BuildValue( "{sOsOsO}",
Py_BuildValue( "{sNsNsO}",
"offset", Py_BuildValue( "k", chunk.offset ),
"length", Py_BuildValue( "I", chunk.length ),
"buffer", buffer ) );
Expand Down
Loading
Loading