debian/0000775000000000000000000000000013162270530007167 5ustar debian/radosgw.install0000664000000000000000000000021213076072563012232 0ustar etc/bash_completion.d/radosgw-admin usr/bin/radosgw usr/bin/radosgw-admin usr/share/man/man8/radosgw-admin.8 usr/share/man/man8/radosgw.8 debian/librados2.install0000664000000000000000000000003013076070036012434 0ustar usr/lib/*/librados.so.* debian/control0000664000000000000000000004261313076072563010612 0ustar Source: ceph Section: admin Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Ceph Maintainers Uploaders: Laszlo Boszormenyi (GCS) , James Page Homepage: http://ceph.com/ Vcs-Git: git://anonscm.debian.org/pkg-ceph/ceph.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-ceph/ceph.git Build-Depends: debhelper (>= 9~), default-jdk, dh-autoreconf, dpkg-dev (>= 1.16.1~), javahelper, junit4, libaio-dev, libatomic-ops-dev, libblkid-dev (>= 2.17), libboost-dev (>= 1.42), libboost-program-options-dev (>= 1.42), libboost-system-dev (>= 1.42), libboost-thread-dev (>= 1.42), libcurl4-gnutls-dev, libedit-dev, libexpat1-dev, libfcgi-dev, libfuse-dev, libgoogle-perftools-dev [i386 amd64 powerpc armhf ppc64el], libkeyutils-dev, libleveldb-dev, libnss3-dev, libs3-dev, libsnappy-dev, libtool, libxml2-dev, pkg-config, python-all (>= 2.6.6-3~), python-nose, uuid-dev, uuid-runtime, xfslibs-dev, yasm Build-Conflicts: libcrypto++-dev Standards-Version: 3.9.4 X-Python-Version: >= 2.6 XS-Testsuite: autopkgtest Package: ceph Architecture: linux-any Depends: binutils, ceph-common, cryptsetup-bin | cryptsetup, gdisk, hdparm | sdparm, parted, uuid-runtime, xfsprogs, ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} Pre-Depends: ${misc:Pre-Depends} Conflicts: gceph, librgw-dev, librgw1, librgw1-dbg, obsync Replaces: gceph, librgw-dev, librgw1, librgw1-dbg, obsync Recommends: libcephfs1, librados2, librbd1 Description: distributed storage and file system Ceph is a distributed storage system designed to provide excellent performance, reliability, and scalability. . This package contains all server daemons and management tools for creating, running, and administering a Ceph storage cluster, with the exception of the metadata server, which is necessary for using the distributed file system and is provided by the ceph-mds package. Package: ceph-dbg Architecture: linux-any Section: debug Priority: extra Depends: ceph (= ${binary:Version}), ${misc:Depends} Conflicts: gceph-dbg Replaces: gceph-dbg Description: debugging symbols for ceph Ceph is a distributed storage system designed to provide excellent performance, reliability, and scalability. . This package contains the debugging symbols for ceph. Package: ceph-mds Architecture: linux-any Depends: ceph, ${misc:Depends}, ${shlibs:Depends} Recommends: ceph-fs-common, ceph-fuse, libcephfs1 Breaks: ceph (<< 0.67.3-1) Replaces: ceph (<< 0.67.3-1) Description: metadata server for the ceph distributed file system Ceph is a distributed storage and network file system designed to provide excellent performance, reliability, and scalability. . This package contains the metadata server daemon, which is used to create a distributed file system on top of the ceph storage cluster. Package: ceph-mds-dbg Architecture: linux-any Section: debug Priority: extra Depends: ceph-mds (= ${binary:Version}), ${misc:Depends} Description: debugging symbols for ceph-mds Ceph is a distributed storage and network file system designed to provide excellent performance, reliability, and scalability. . This package contains the debugging symbols for ceph-mds. Package: ceph-fuse Architecture: amd64 Depends: ${misc:Depends}, ${shlibs:Depends} Recommends: fuse Description: FUSE-based client for the Ceph distributed file system Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a FUSE-based client that allows one to mount a Ceph file system without root privileges. . Because the FUSE-based client has certain inherent performance limitations, it is recommended that the native Linux kernel client be used if possible. If it is not practical to load a kernel module (insufficient privileges, older kernel, etc.), then the FUSE client will do. Package: ceph-fuse-dbg Architecture: amd64 Section: debug Priority: extra Depends: ceph-fuse (= ${binary:Version}), ${misc:Depends} Description: debugging symbols for ceph-fuse Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a FUSE-based client that allows one to mount a Ceph file system without root privileges. . This package contains the debugging symbols for ceph-fuse. Package: rbd-fuse Architecture: linux-any Depends: ${misc:Depends}, ${shlibs:Depends} Recommends: fuse Description: FUSE-based rbd client for the Ceph distributed file system Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a FUSE-based client that allows one to map Ceph rbd images as files. . FUSE base client that allows one to map Ceph rbd images as files. Package: rbd-fuse-dbg Architecture: linux-any Section: debug Priority: extra Depends: rbd-fuse (= ${binary:Version}), ${misc:Depends} Description: debugging symbols for rbd-fuse Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a FUSE-based client that allows one to map Ceph rbd images as files. . This package contains the debugging symbols for rbd-fuse. Package: ceph-common Architecture: linux-any Depends: librbd1 (= ${binary:Version}), python-ceph (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} Conflicts: ceph-client-tools Replaces: ceph-client-tools Suggests: ceph, ceph-mds Description: common utilities to mount and interact with a ceph storage cluster Ceph is a distributed storage and file system designed to provide excellent performance, reliability, and scalability. This is a collection of common tools that allow one to interact with and administer a Ceph cluster. Package: ceph-common-dbg Architecture: linux-any Depends: ceph-common (= ${binary:Version}), ${misc:Depends} Conflicts: ceph-client-tools-dbg Replaces: ceph-client-tools-dbg Section: debug Priority: extra Description: debugging symbols for ceph-common Ceph is a distributed storage and file system designed to provide excellent performance, reliability, and scalability. This is a collection of common tools that allow one to interact with and administer a Ceph cluster. . This package contains the debugging symbols for ceph-common. Package: ceph-fs-common Architecture: linux-any Depends: ${misc:Depends}, ${shlibs:Depends} Breaks: ceph-common (<< 0.67.3-1) Conflicts: ceph-client-tools Replaces: ceph-client-tools, ceph-common (<< 0.67.3-1) Suggests: ceph-mds Description: common utilities to mount and interact with a ceph file system Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a collection of common tools, including the mount utility, that allows one to mount the Ceph file system with the kernel client. Package: ceph-fs-common-dbg Architecture: linux-any Depends: ceph-fs-common (= ${binary:Version}), ${misc:Depends} Conflicts: ceph-client-tools-dbg Replaces: ceph-client-tools-dbg Section: debug Priority: extra Description: debugging symbols for ceph-fs-common Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a collection of common tools, including the mount utility, that allows one to mount the Ceph file system with the kernel client. . This package contains the debugging symbols for ceph-fs-common. Package: ceph-resource-agents Architecture: all Recommends: pacemaker Priority: extra Depends: ceph (>= ${binary:Version}), resource-agents, ${misc:Depends} Description: OCF-compliant resource agents for Ceph Ceph is a distributed storage and network file system designed to provide excellent performance, reliability, and scalability. . This package contains the resource agents (RAs) which integrate Ceph with OCF-compliant cluster resource managers, such as Pacemaker. Package: librados2 Conflicts: libcrush, libcrush1, librados, librados1 Replaces: libcrush, libcrush1, librados, librados1 Architecture: linux-any Section: libs Depends: ${misc:Depends}, ${shlibs:Depends} Pre-Depends: ${misc:Pre-Depends} Description: RADOS distributed object store client library RADOS is a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to access the distributed object store using a simple file-like interface. Package: librados2-dbg Conflicts: libcrush1-dbg, librados1-dbg Replaces: libcrush1-dbg, librados1-dbg Architecture: linux-any Section: debug Priority: extra Depends: librados2 (= ${binary:Version}), ${misc:Depends} Description: debugging symbols for librados2 RADOS is a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to access the distributed object store using a simple file-like interface. . This package contains debugging symbols for librados2. Package: librados-dev Architecture: linux-any Section: libdevel Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} Conflicts: libcrush-dev, libcrush1-dev, librados1-dev, librados2-dev Replaces: libcrush-dev, libcrush1-dev, librados1-dev, librados2-dev Description: RADOS distributed object store client library (development files) RADOS is a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to access the distributed object store using a simple file-like interface. . This package contains development files needed for building applications that link against librados2. Package: librbd1 Architecture: linux-any Section: libs Depends: librados2 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} Pre-Depends: ${misc:Pre-Depends} Description: RADOS block device client library RBD is a block device striped across multiple distributed objects in RADOS, a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to manage these block devices. Package: librbd1-dbg Architecture: linux-any Section: debug Priority: extra Depends: librbd1 (= ${binary:Version}), ${misc:Depends} Description: debugging symbols for librbd1 RBD is a block device striped across multiple distributed objects in RADOS, a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to manage these block devices. . This package contains debugging symbols for librbd1. Package: librbd-dev Architecture: linux-any Section: libdevel Depends: librados-dev, librbd1 (= ${binary:Version}), ${misc:Depends} Conflicts: librbd1-dev Replaces: librbd1-dev Description: RADOS block device client library (development files) RBD is a block device striped across multiple distributed objects in RADOS, a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to manage these block devices. . This package contains development files needed for building applications that link against librbd1. Package: libcephfs1 Conflicts: libceph, libceph1, libcephfs Replaces: libceph, libceph1, libcephfs Architecture: linux-any Section: libs Depends: ${misc:Depends}, ${shlibs:Depends} Pre-Depends: ${misc:Pre-Depends} Description: Ceph distributed file system client library Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a shared library allowing applications to access a Ceph distributed file system via a POSIX-like interface. Package: libcephfs1-dbg Architecture: linux-any Section: debug Priority: extra Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends} Conflicts: libceph1-dbg Replaces: libceph1-dbg Description: debugging symbols for libcephfs1 Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a shared library allowing applications to access a Ceph distributed file system via a POSIX-like interface. . This package contains debugging symbols for libcephfs1. Package: libcephfs-dev Architecture: linux-any Section: libdevel Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends} Conflicts: libceph-dev, libceph1-dev, libcephfs1-dev Replaces: libceph-dev, libceph1-dev, libcephfs1-dev Description: Ceph distributed file system client library (development files) Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a shared library allowing applications to access a Ceph distributed file system via a POSIX-like interface. . This package contains development files needed for building applications that link against libcephfs1. Package: radosgw Architecture: linux-any Depends: ceph-common (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} Description: REST gateway for RADOS distributed object store RADOS is a distributed object store used by the Ceph distributed storage system. This package provides a REST gateway to the object store that aims to implement a superset of Amazon's S3 service. . This package contains the proxy daemon and related tools only. Package: radosgw-dbg Architecture: linux-any Section: debug Priority: extra Depends: radosgw (= ${binary:Version}), ${misc:Depends} Description: debugging symbols for radosgw RADOS is a distributed object store used by the Ceph distributed storage system. This package provides a REST gateway to the object store that aims to implement a superset of Amazon's S3 service. . This package contains debugging symbols for radosgw. Package: rest-bench Architecture: linux-any Depends: ceph-common, curl, xml2, ${misc:Depends}, ${shlibs:Depends} Description: RESTful bencher that can be used to benchmark radosgw performance Simple tool to benchmark radosgw (or S3) (based on 'rados-bench' command). Package: rest-bench-dbg Architecture: linux-any Section: debug Priority: extra Depends: rest-bench (= ${binary:Version}), ${misc:Depends} Description: RESTful bencher that can be used to benchmark radosgw performance Simple tool to benchmark radosgw (or S3) (based on 'rados-bench' command). . This package contains the debugging symbols for rest-bench. Package: ceph-test Architecture: linux-any Depends: ceph-common, curl, xml2, ${misc:Depends}, ${shlibs:Depends} Description: Ceph test and benchmarking tools Ceph is a distributed storage system designed to provide excellent performance, reliability, and scalability. . This package contains tools for testing and benchmarking Ceph. Package: ceph-test-dbg Architecture: linux-any Section: debug Priority: extra Depends: ceph-test (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} Description: Debugging symbols for ceph-test Ceph is a distributed storage system designed to provide excellent performance, reliability, and scalability. . This package contains the debugging symbols for ceph-test. Package: python-ceph Architecture: linux-any Section: python Depends: libcephfs1 (= ${binary:Version}), librados2 (= ${binary:Version}), librbd1 (= ${binary:Version}), python-flask, python-requests, ${misc:Depends}, ${python:Depends} Provides: ${python:Provides} Description: Python libraries for the Ceph distributed filesystem Ceph is a distributed storage and network file system designed to provide excellent performance, reliability, and scalability. . This package contains Python libraries for interacting with Ceph's RADOS object storage, and RBD (RADOS block device). Package: libcephfs-java Section: java Architecture: all Depends: libcephfs-jni (>= ${binary:Version}), ${java:Depends}, ${misc:Depends} Description: Java library for the Ceph File System Ceph is a distributed storage system designed to provide excellent performance, reliability, and scalability. . This package contains the Java library for interacting with the Ceph File System. Package: libcephfs-jni Architecture: linux-any Section: libs Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} Description: Java Native Interface library for CephFS Java bindings Ceph is a distributed storage system designed to provide excellent performance, reliability, and scalability. . This package contains the Java Native Interface library for interacting with the Ceph File System. Package: libcephfs-jni-dbg Architecture: linux-any Section: debug Priority: extra Depends: libcephfs-jni (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for libcephfs-jni Ceph is a distributed storage system designed to provide excellent performance, reliability, and scalability. . This package contains debugging symbols for libcephfs-jni. debian/radosgw.dirs0000664000000000000000000000006213076072563011530 0ustar var/log/ceph var/log/radosgw var/lib/ceph/radosgw debian/ceph.postrm0000664000000000000000000000174413076072563011374 0ustar #!/bin/sh # postrm script for ceph # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in remove) ;; purge) rm -rf /var/log/ceph rm -rf /etc/ceph ;; upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/radosgw.postrm0000664000000000000000000000037213076070036012110 0ustar #!/bin/sh set -e if dpkg-maintscript-helper supports mv_conffile 2>/dev/null; then dpkg-maintscript-helper mv_conffile \ /etc/init/radosgw.conf /etc/init/radosgw-instance.conf \ 0.72.1-3~ radosgw -- "$@" fi #DEBHELPER# exit 0 debian/ceph.postinst0000664000000000000000000000264113076072563011730 0ustar #!/bin/sh # vim: set noet ts=8: # postinst script for ceph # # see: dh_installdeb(1) set -e # summary of how this script can be called: # # postinst configure # old-postinst abort-upgrade # conflictor's-postinst abort-remove in-favour # postinst abort-remove # deconfigured's-postinst abort-deconfigure in-favour [ ] # # The current action is to simply remove the mistakenly-added # /etc/init/ceph.conf file; this could be done in any of these cases, # although technically it will leave the system in a different state # than the original install that included that file. So instead we # only remove on "configure", since that's the only time we know we're # successful in installing a newer package than the erroneous version. # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in configure) rm -f /etc/init/ceph.conf if [ -x /sbin/start ]; then invoke-rc.d ceph-all start || { RESULT=$? if [ $RESULT != 100 ]; then exit $RESULT fi } fi ;; abort-upgrade|abort-remove|abort-deconfigure) : ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/python-ceph.install0000664000000000000000000000002013076072563013017 0ustar usr/lib/python* debian/ceph.lintian-overrides0000664000000000000000000000352613076072563013506 0ustar # Ceph upstart configurations don't have init.d equivalents ceph: init.d-script-not-marked-as-conffile etc/init.d/ceph-create-keys ceph: init.d-script-not-included-in-package etc/init.d/ceph-create-keys ceph: init.d-script-not-marked-as-conffile etc/init.d/ceph-mon ceph: init.d-script-not-included-in-package etc/init.d/ceph-mon ceph: init.d-script-not-marked-as-conffile etc/init.d/ceph-osd-all ceph: init.d-script-not-included-in-package etc/init.d/ceph-osd-all ceph: init.d-script-not-marked-as-conffile etc/init.d/ceph-mon-all ceph: init.d-script-not-included-in-package etc/init.d/ceph-mon-all ceph: init.d-script-not-marked-as-conffile etc/init.d/ceph-osd ceph: init.d-script-not-included-in-package etc/init.d/ceph-osd ceph: init.d-script-not-marked-as-conffile etc/init.d/ceph-all ceph: init.d-script-not-included-in-package etc/init.d/ceph-all ceph: init.d-script-not-marked-as-conffile etc/init.d/ceph-mon-all-starter ceph: init.d-script-not-included-in-package etc/init.d/ceph-mon-all-starter ceph: init.d-script-not-marked-as-conffile etc/init.d/ceph-osd-all-starter ceph: init.d-script-not-included-in-package etc/init.d/ceph-osd-all-starter ceph: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-mon-all-starter ceph: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-osd ceph: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-osd-all ceph: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-mon ceph: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-create-keys ceph: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-mon-all ceph: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/rbdmap ceph: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-all ceph: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-osd-all-starter debian/radosgw.preinst0000664000000000000000000000037213076070036012250 0ustar #!/bin/sh set -e if dpkg-maintscript-helper supports mv_conffile 2>/dev/null; then dpkg-maintscript-helper mv_conffile \ /etc/init/radosgw.conf /etc/init/radosgw-instance.conf \ 0.72.1-3~ radosgw -- "$@" fi #DEBHELPER# exit 0 debian/changelog0000664000000000000000000003407513162265622011060 0ustar ceph (0.80.11-0ubuntu1.14.04.3) trusty-security; urgency=medium * SECURITY UPDATE: DoS in handle_command function - debian/patches/CVE-2016-5009.patch: validate prefix in src/mon/Monitor.cc, add test to src/test/librados/cmd.cc. - CVE-2016-5009 * SECURITY UPDATE: anonymouse user bucket contents list via a URL - debian/patches/CVE-2016-7031.patch: check ACLs in src/rgw/rgw_acl_s3.cc, src/rgw/rgw_op.cc. - CVE-2016-7031 * SECURITY UPDATE: DoS via POST object with null conditions - debian/patches/CVE-2016-8626.patch: handle empty POST condition in src/rgw/rgw_policy_s3.cc. - CVE-2016-8626 * SECURITY UPDATE: DoS via request with invalid HTTP Origin header - debian/patches/CVE-2016-9579.patch: do not abort on short origin in src/rgw/rgw_cors.cc. - CVE-2016-9579 -- Marc Deslauriers Mon, 25 Sep 2017 16:44:20 -0400 ceph (0.80.11-0ubuntu1.14.04.2) trusty; urgency=medium * Start ceph-all after static-network-up (LP: #1636322). - d/p/start-ceph-all-after-network.patch: add dependency on the static-network-up event before starting ceph-all. -- Billy Olsen Thu, 20 Apr 2017 09:53:08 +0100 ceph (0.80.11-0ubuntu1.14.04.1) trusty; urgency=medium * New upstream stable point release (LP: #1535278): - d/p/ceph-radosgw-init.patch d/p/zap-in-two-phases.patch: Dropped, included upstream. - d/p/increaseFileLimit.patch: Refresh. -- James Page Mon, 18 Jan 2016 14:25:14 +0000 ceph (0.80.10-0ubuntu1.14.04.3) trusty; urgency=medium * d/p/ceph-radosgw-init.patch: Cherry pick patch from upstream VCS to ensure that restarts of the radosgw wait an appropriate amount of time for the existing daemon to shutdown (LP: #1477225). -- Liam Young Mon, 07 Sep 2015 16:00:31 +0100 ceph (0.80.10-0ubuntu1.14.04.2) trusty; urgency=medium * Switch to two step 'zapping' of disks, ensuring that disks with invalid metadata don't cause hangs are fully cleaned and initialized prior to use (LP: #1475247). -- Christopher Glass (Canonical) Mon, 10 Aug 2015 11:00:44 +0100 ceph (0.80.10-0ubuntu0.14.04.1) trusty; urgency=medium * New upstream stable point release (LP: #1477174): - d/ceph.install: Add manpage for ceph-disk. - d/ceph-common.install: Replace ceph_filestore_* with ceph-objectstore-tool. - d/control: Ensure ceph-test-dbg depends on ceph-test only. - d/p/fix-python-rados-memleak.patch: Dropped included upstream. -- James Page Wed, 22 Jul 2015 17:12:16 +0100 ceph (0.80.9-0ubuntu0.14.04.2) trusty; urgency=medium * Fix memory leak in rados.py (LP: #1425164): - d/p/fix-python-rados-memleak.patch: patches the rados.py Ioctx class to remove circular dependencies which prevent python from garbage collecting object references. -- Billy Olsen Tue, 14 Apr 2015 09:34:42 +0100 ceph (0.80.9-0ubuntu0.14.04.1) trusty; urgency=medium [ James Page ] * New upstream stable point release (LP: #1413917). [ Dave Chiluk ] * Increase file limit to prevent hitting the file limit on large installations (LP: #1420647) -- James Page Wed, 11 Mar 2015 09:14:35 +0000 ceph (0.80.8-0ubuntu0.14.04.1) trusty; urgency=low * New upstream stable point release (LP: #1413917). -- James Page Fri, 23 Jan 2015 16:29:08 +0000 ceph (0.80.7-0ubuntu0.14.04.1) trusty; urgency=medium * New upstream stable point release (LP: #1381410). -- James Page Wed, 12 Nov 2014 11:31:46 +0000 ceph (0.80.5-0ubuntu0.14.04.1) trusty; urgency=medium * New upstream stable point release (LP: #1346166). -- James Page Mon, 04 Aug 2014 08:09:39 +0100 ceph (0.80.4-0ubuntu0.14.04.1) trusty; urgency=medium * New upstream stable point release (LP: #1346166): - d/p/bug-8428.patch: Dropped, included upstream. -- James Page Mon, 21 Jul 2014 12:04:25 +0100 ceph (0.80.1-0ubuntu1.1) trusty; urgency=medium * Fix issue setting Swift ACL's on existing containers (LP: #1322498): - d/p/bug-8428.patch: Cherry pick proposed fix from upstream VCS. -- James Page Mon, 02 Jun 2014 09:09:37 +0100 ceph (0.80.1-0ubuntu1) trusty; urgency=medium * New upstream release stable point release (LP: #1278466). -- James Page Wed, 14 May 2014 11:09:37 -0400 ceph (0.80-0ubuntu1) trusty; urgency=medium * New upstream release stable release (LP: #1278466). -- James Page Sun, 11 May 2014 09:54:31 -0400 ceph (0.79-0ubuntu1) trusty; urgency=medium * New upstream release (LP: #1278466): - d/p/modules.patch: Refreshed. - d/ceph.install: Install all jerasure modules. -- James Page Wed, 09 Apr 2014 11:14:03 +0100 ceph (0.78-0ubuntu1) trusty; urgency=medium * New upstream release: - d/control: Add xfslib-dev to BD's. - d/*: Sync relevant packaging changes from upstream. - d/p/*: Drop upstreamed patches. - d/p/modules.patch: Mark libcls_user.so and libec_jerasure.so as modules. - d/ceph.install: Only install libec_jerasure.so. * d/ceph-test.install: Install test binaries to /usr/lib/ceph/bin; they really don't need to be installed on the default path. * d/{ceph|radosgw|ceph-mds}.lintian-overrides: Add overrides for intentional difference in naming and structure between upstart configurations and init.d scripts. -- James Page Sat, 22 Mar 2014 18:27:40 +0000 ceph (0.72.2-2) unstable; urgency=medium * d/radosgw.{postinst,postrm,preinst}: Handle renaming of radosgw upstart configuration on upgrade@0.72.1-3. * d/{ceph|ceph-mds|radosgw}.{postinst|prerm}: Check to ensure that system is running upstart before trying to start/stop upstart configurations (Closes: #734241, #738845, #738845). -- James Page Sat, 08 Mar 2014 16:48:28 +0000 ceph (0.72.2-1) unstable; urgency=medium * New upstream release. -- James Page Wed, 01 Jan 2014 09:32:03 +0000 ceph (0.72.1-3) unstable; urgency=low * d/rules,ceph.install: Correct install paths for ceph-* helpers. * d/p/modules: Mark libcls_kvs.so as module. * d/rules: Rename radosgw upstart configuration to radosgw-instance to avoid namespace conflict with init script which breaks backwards compatibility (LP: #1255464). -- James Page Wed, 27 Nov 2013 10:52:48 +0000 ceph (0.72.1-2) unstable; urgency=low * Fix upgrade failures from ceph < 0.67.3-1 (Closes: #728164): - d/control: ceph-mds Breaks/Replaces ceph (<< 0.67.3-1). - d/control: ceph-fs-common Breaks/Replaces ceph-common (<< 0.67.3-1). * d/rules,control: Use google-perftools on armhf and powerpc archs. -- James Page Mon, 25 Nov 2013 10:13:19 +0000 ceph (0.72.1-1) unstable; urgency=low * New upstream stable release: - d/ceph-test.install: Add new ceph_filestore_tool, ceph-kvstore-tool and ceph_test_cls_hello binaries, drop ceph_test_store_tool. - d/ceph-common.install: Add new ceph-post-file binary and manpage. - d/ceph.install: Tweaked install path /usr/sbin -> /sbin. - d/control: Add new BD's on python-nose and yasm. - d/copyright: Updates inline with changes in codebase. - d/ceph.install,rules: Install rbdmap init file using dh_installinit. - Refresh patches. * d/control,rules: Disable unit testing; it requires a forked version of cram and is still trying to download dependencies using virtualenv. -- James Page Fri, 22 Nov 2013 13:02:29 +0000 ceph (0.67.3-1) unstable; urgency=low [ Laszlo Boszormenyi ] * New upstream release (Closes: #693866, #705262). * Update debian/copyright. * Sync with Ubuntu. [ James Page ] * d/control,rules,libcephfs-{java,jni}: Enable Java CephFS library, add new BD's on javahelper and default-jdk, add dbg package. * d/control: Add new BD on libboost-thread-dev for RADOS Gateway keystone integration. * d/{control,obsync.install}: Drop obsync package inline with upstream. * d/librbd-dev.install: Pickup new features.h file. * Remove manual calls to ldconfig: - d/lib{rados2|rbd1|cephfs1}.post*: Dropped - all these do is call ldconfig which will automatically be done. - d/rules: Let dh_makeshlibs do its magic with postinst/postrm. * d/tests/*: Added autopkgtests for librbd, librados, python-ceph and the ceph CLI. * d/control: Fix versions of librbd1, librados2 and libcephfs1 for python-ceph as it requires an exact version match. * d/ceph.docs: Drop - README from upstream is only useful for developers (Closes: #722957). * d/rules: Drop --upstart-only from dh_installinit calls for upstart configurations; this is deprecated in Ubuntu and not support in Debian. * d/rules: Exclude jni package from shlibs generation to avoid pointless ldconfig calls in maintainer scripts. [ Bastian Blank ] * Use debhelper 9. * Use dh-autoreconf. * Install files from source tree if possible. * Run test-suite: - Build-depend on python-virtualenv. - Ask virtualenv to never download anything. * Fix clean target. * Properly mark library modules: - Don't longer exclude them from stripping. * Drop all libtool .la files. * Generate python dependencies. * Don't exclude stuff from shlibs generation. -- Laszlo Boszormenyi (GCS) Tue, 01 Oct 2013 02:29:08 +0200 ceph (0.48-1) unstable; urgency=low * New upstream release, the first with long-term support. * As gceph dropped by upstream, remove it from packaging. * Build with hardening enabled and build-conflict with libcryptopp not to mix up with libnss. * Use symbol versioning (closes: #679686). * Update debian/watch to GitHub tags. -- Laszlo Boszormenyi (GCS) Sat, 07 Jul 2012 07:53:40 +0200 ceph (0.47.2-1) unstable; urgency=low * New upstream release. * Use system leveldb (closes: #667907). * Remove librgw1 , librgw-dev and librgw1-dbg and add rest-bench and rest-bench-dbg packages. * Backport leveldb build fixes from upstream git as fix_leveldb_dep_for_system_library_case.patch and fix_leveldb_includes_for_system_library_case.patch . * Update packaging. * Sync with Ubuntu: switch build-dependency from libcryptopp to libnss as libcryptopp is not seeded. -- Laszlo Boszormenyi (GCS) Sun, 03 Jun 2012 13:37:52 +0200 ceph (0.44.1-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Fri, 06 Apr 2012 01:10:15 +0200 ceph (0.43-1) unstable; urgency=low * New upstream release, now creates /var/run/ceph on each start (closes: #660238). * Update debian/copyright . -- Laszlo Boszormenyi (GCS) Sun, 26 Feb 2012 04:07:02 +0100 ceph (0.41-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Sun, 05 Feb 2012 10:07:38 +0100 ceph (0.40-1) unstable; urgency=low * New upstream release (closes: #652037). * Adjust copyright to match upstream source changes. -- Laszlo Boszormenyi (GCS) Sat, 14 Jan 2012 12:01:30 +0100 ceph (0.38-1) unstable; urgency=low * New upstream release (closes: #647764), missingok is now part of logrotate directives (closes: #645651). * Rename ceph-client-tools package to ceph-common , libceph-dev to libcephfs-dev and libceph1{,-dbg} ones to libcephfs1{,-dbg} respectively. * Update upstream VCS locations. -- Laszlo Boszormenyi (GCS) Sun, 27 Nov 2011 21:40:52 +0100 ceph (0.35-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Sat, 24 Sep 2011 16:51:57 +0200 ceph (0.34-1) unstable; urgency=low * New upstream release (closes: #638714). * Make librbd-dev depends on librados-dev as it uses headers from the latter (closes: #636845). * Add new binary packages, gceph, gceph-dbg and obsync . The libcrush ones removed. * Change to quilt source format and tune packaging. -- Laszlo Boszormenyi (GCS) Sun, 28 Aug 2011 15:56:16 +0200 ceph (0.27-1.1) unstable; urgency=low * Non-maintainer upload. * Remove references to other libraries from dependency_libs field (closes: #621208). -- Luk Claes Sat, 28 May 2011 22:28:48 +0200 ceph (0.27-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Mon, 25 Apr 2011 10:09:05 +0200 ceph (0.25.2-1) unstable; urgency=low * New upstream release. * Make Ceph cross buildable (closes: #618939), thanks to Hector Oron. * Disable libatomic-ops on ARMv4t (armel) archs to prevent FTBFS (closes: #615235), thanks go to Hector Oron again. * Rename librados1{,-dbg,-dev} packages to librados2{,-dbg,-dev} ones; conflict with and replace the former ones. * Add librbd1 and librbd-dev packages. -- Laszlo Boszormenyi (GCS) Sun, 27 Mar 2011 15:51:23 +0200 ceph (0.24.3-2) unstable; urgency=low * Make Ceph Linux only and build on all Linux archs (closes: #614890). * Support parallel building via DEB_BUILD_OPTIONS . * Add watch file, thanks to Clint Byrum (closes: #615021). * Tune packaging. -- Laszlo Boszormenyi (GCS) Fri, 25 Feb 2011 15:17:26 +0100 ceph (0.24.3-1) unstable; urgency=low * New upstream bugfix release. -- Laszlo Boszormenyi (GCS) Sat, 19 Feb 2011 12:25:43 +0100 ceph (0.24.2-1) unstable; urgency=low * New upstream bugfix release. -- Laszlo Boszormenyi (GCS) Sat, 29 Jan 2011 15:25:14 +0100 ceph (0.24.1-1) unstable; urgency=low * New upstream bugfix release. -- Laszlo Boszormenyi (GCS) Tue, 11 Jan 2011 22:23:18 +0100 ceph (0.24-1) unstable; urgency=low * New upstream release. -- Laszlo Boszormenyi (GCS) Wed, 01 Dec 2010 09:26:25 -0800 ceph (0.23.1-1) experimental; urgency=low * Initial release (Closes: #506040) -- Sage Weil Sun, 21 Nov 2010 15:22:21 -0800 debian/libcephfs-java.jlibs0000664000000000000000000000002713076070036013074 0ustar src/java/libcephfs.jar debian/libcephfs1.install0000664000000000000000000000003113076070036012574 0ustar usr/lib/*/libcephfs.so.* debian/ceph.dirs0000664000000000000000000000022013076072563010775 0ustar etc/ceph var/log/ceph var/lib/ceph/tmp var/lib/ceph/mon var/lib/ceph/osd var/lib/ceph/mds var/lib/ceph/bootstrap-osd var/lib/ceph/bootstrap-mds debian/ceph-mds.postinst0000664000000000000000000000176213076072563012514 0ustar #!/bin/sh # vim: set noet ts=8: # postinst script for ceph-mds # # see: dh_installdeb(1) set -e # summary of how this script can be called: # # postinst configure # old-postinst abort-upgrade # conflictor's-postinst abort-remove in-favour # postinst abort-remove # deconfigured's-postinst abort-deconfigure in-favour [ ] # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in configure) if [ -x /sbin/start ]; then invoke-rc.d ceph-mds-all start || { RESULT=$? if [ $RESULT != 100 ]; then exit $RESULT fi } fi ;; abort-upgrade|abort-remove|abort-deconfigure) : ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/ceph.prerm0000664000000000000000000000053113076070036011157 0ustar #!/bin/sh # vim: set noet ts=8: set -e case "$1" in remove) if [ -x /sbin/stop ]; then invoke-rc.d ceph-all stop || { RESULT=$? if [ $RESULT != 100 ]; then exit $RESULT fi } fi invoke-rc.d ceph stop || { RESULT=$? if [ $RESULT != 100 ]; then exit $RESULT fi } ;; *) ;; esac #DEBHELPER# exit 0 debian/source/0000775000000000000000000000000013076070036010472 5ustar debian/source/format0000664000000000000000000000001413076070036011700 0ustar 3.0 (quilt) debian/compat0000664000000000000000000000000213076070036010370 0ustar 9 debian/ceph-fuse.install0000664000000000000000000000010613076072563012445 0ustar sbin/mount.fuse.ceph usr/bin/ceph-fuse usr/share/man/man8/ceph-fuse.8 debian/ceph-test.install0000664000000000000000000000222513076072563012466 0ustar usr/bin/ceph-coverage /usr/lib/ceph/bin usr/bin/ceph-kvstore-tool /usr/lib/ceph/bin usr/bin/ceph-monstore-tool /usr/lib/ceph/bin usr/bin/ceph-objectstore-tool /usr/lib/ceph/bin usr/bin/ceph-osdomap-tool /usr/lib/ceph/bin usr/bin/ceph_bench_log /usr/lib/ceph/bin usr/bin/ceph_dupstore /usr/lib/ceph/bin usr/bin/ceph_erasure_code /usr/lib/ceph/bin usr/bin/ceph_erasure_code_benchmark /usr/lib/ceph/bin usr/bin/ceph_kvstorebench /usr/lib/ceph/bin usr/bin/ceph_multi_stress_watch /usr/lib/ceph/bin usr/bin/ceph_omapbench /usr/lib/ceph/bin usr/bin/ceph_psim /usr/lib/ceph/bin usr/bin/ceph_radosacl /usr/lib/ceph/bin usr/bin/ceph_rgw_jsonparser /usr/lib/ceph/bin usr/bin/ceph_rgw_multiparser /usr/lib/ceph/bin usr/bin/ceph_scratchtool /usr/lib/ceph/bin usr/bin/ceph_scratchtoolpp /usr/lib/ceph/bin usr/bin/ceph_smalliobench /usr/lib/ceph/bin usr/bin/ceph_smalliobenchdumb /usr/lib/ceph/bin usr/bin/ceph_smalliobenchfs /usr/lib/ceph/bin usr/bin/ceph_smalliobenchrbd /usr/lib/ceph/bin usr/bin/ceph_streamtest /usr/lib/ceph/bin usr/bin/ceph_test_* /usr/lib/ceph/bin usr/bin/ceph_tpbench /usr/lib/ceph/bin usr/bin/ceph_xattr_bench /usr/lib/ceph/bin usr/share/java/libcephfs-test.jar debian/libcephfs-jni.install0000664000000000000000000000005013076070036013272 0ustar usr/lib/*/libcephfs_jni.so* usr/lib/jni debian/librados-dev.install0000664000000000000000000000052013076072563013141 0ustar usr/bin/librados-config usr/include/rados/buffer.h usr/include/rados/crc32c.h usr/include/rados/librados.h usr/include/rados/librados.hpp usr/include/rados/memory.h usr/include/rados/page.h usr/include/rados/rados_types.h usr/include/rados/rados_types.hpp usr/lib/*/librados.a usr/lib/*/librados.so usr/share/man/man8/librados-config.8 debian/ceph-mds.prerm0000664000000000000000000000054113076070036011741 0ustar #!/bin/sh # vim: set noet ts=8: set -e case "$1" in remove) if [ -x /sbin/stop ]; then invoke-rc.d ceph-mds-all stop || { RESULT=$? if [ $RESULT != 100 ]; then exit $RESULT fi } fi invoke-rc.d ceph stop mds || { RESULT=$? if [ $RESULT != 100 ]; then exit $RESULT fi } ;; *) ;; esac #DEBHELPER# exit 0 debian/patches/0000775000000000000000000000000013162270117010617 5ustar debian/patches/CVE-2016-8626.patch0000664000000000000000000000230413162265220013244 0ustar From 23cb642243e09ca4a8e104f62a3bb7b2cbb6ea12 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Thu, 20 Oct 2016 10:17:36 -0700 Subject: [PATCH] rgw: handle empty POST condition Fixes: http://tracker.ceph.com/issues/17635 Before accessing json entity, need to check that iterator is valid. If there is no entry return appropriate error code. Signed-off-by: Yehuda Sadeh --- src/rgw/rgw_policy_s3.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) Index: ceph-0.80.11/src/rgw/rgw_policy_s3.cc =================================================================== --- ceph-0.80.11.orig/src/rgw/rgw_policy_s3.cc 2017-09-25 16:43:58.081041454 -0400 +++ ceph-0.80.11/src/rgw/rgw_policy_s3.cc 2017-09-25 16:43:58.077041403 -0400 @@ -284,11 +284,13 @@ int RGWPolicy::from_json(bufferlist& bl, int r = add_condition(v[0], v[1], v[2], err_msg); if (r < 0) return r; - } else { + } else if (!citer.end()) { JSONObj *c = *citer; dout(0) << "adding simple_check: " << c->get_name() << " : " << c->get_data() << dendl; add_simple_check(c->get_name(), c->get_data()); + } else { + return -EINVAL; } } return 0; debian/patches/CVE-2016-9579.patch0000664000000000000000000000452713162265232013270 0ustar From 4eb7c7315259158ea969ea53bcef5066d92c01e0 Mon Sep 17 00:00:00 2001 From: LiuYang Date: Thu, 8 Dec 2016 14:21:43 +0800 Subject: [PATCH] rgw: do not abort when accept a CORS request with short origin Fixed: #18187 when accept a CROS request, the request http origin shorter than the bucket's corsrule (eg. origin: http://s.com corsrule: *.verylongdomain.com). the rgw_cors.cc::is_string_in_set() will have a wrong index, the radosrgw server will abort. $ curl http://test.localhost:8000/app.data -H "Origin:http://s.com" 0> 2016-12-05 03:22:29.548138 7f6add05d700 -1 *** Caught signal (Aborted) ** in thread 7f6add05d700 thread_name:civetweb-worker ceph version 11.0.2-2168-gd2f8fb4 (d2f8fb4a6ba75af7e6da0f5a7f1b49ec998b1631) 1: (()+0x50720a) [0x7f6b147c420a] 2: (()+0xf370) [0x7f6b09a33370] 3: (gsignal()+0x37) [0x7f6b081ca1d7] 4: (abort()+0x148) [0x7f6b081cb8c8] 5: (__gnu_cxx::__verbose_terminate_handler()+0x165) [0x7f6b08ace9d5] 6: (()+0x5e946) [0x7f6b08acc946] 7: (()+0x5e973) [0x7f6b08acc973] 8: (()+0x5eb93) [0x7f6b08accb93] 9: (std::__throw_out_of_range(char const*)+0x77) 0x7f6b08b21a17] 10: (()+0xbd97a) [0x7f6b08b2b97a] 11: (()+0x449c1e) [0x7f6b14706c1e] 12: (RGWCORSRule::is_origin_present(char const*)+0x48) [0x7f6b147073b8] 13: (RGWCORSConfiguration::host_name_rule(char const*)+0x37) [0x7f6b147074e7] 14: (RGWOp::generate_cors_headers(std::string&, std::string&, std::string&, std::string&, unsigned int*)+0xa3) [0x7f6b14593e63] 15: (dump_access_control(req_state*, RGWOp*)+0x61) [0x7f6b14653f91] Signed-off-by: LiuYang (cherry picked from commit 67d4d9e64bc224e047cf333e673bb22cd6290789) --- src/rgw/rgw_cors.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_cors.cc b/src/rgw/rgw_cors.cc index 1ad5b43136cf..f2c7f3ac6442 100644 --- a/src/rgw/rgw_cors.cc +++ b/src/rgw/rgw_cors.cc @@ -104,7 +104,8 @@ static bool is_string_in_set(set& s, string h) { string sl = ssplit.front(); dout(10) << "Finding " << sl << ", in " << h << ", at offset not less than " << flen << dendl; - if (h.compare((h.size() - sl.size()), sl.size(), sl) != 0) + if (h.size() < sl.size() || + h.compare((h.size() - sl.size()), sl.size(), sl) != 0) continue; ssplit.pop_front(); } debian/patches/virtualenv-never-download0000664000000000000000000000123513076072563015675 0ustar Description: Ask virtualenv to never download anything Author: Bastian Blank Origin: vendor Forwarded: no --- --- a/src/test/run-cli-tests +++ b/src/test/run-cli-tests @@ -30,7 +30,7 @@ if [ ! -e "$CRAM_BIN" ]; then # patched cram to support that. See upstream ticket at # https://bitbucket.org/brodie/cram/issue/9/allow-read-only-directories-for-t # -- tv@inktank.com - virtualenv "$VENV" && $VENV/bin/pip install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz" + virtualenv --never-download "$VENV" && $VENV/bin/pip install "$SRCDIR/downloads/cram-0.5.0ceph.2011-01-14.tar.gz" fi SRCDIR_ABS="$(readlink -f "$SRCDIR")" debian/patches/series0000664000000000000000000000026313162265232012037 0ustar virtualenv-never-download modules.patch increaseFileLimit.patch start-ceph-all-after-network.patch CVE-2016-5009.patch CVE-2016-7031.patch CVE-2016-8626.patch CVE-2016-9579.patch debian/patches/start-ceph-all-after-network.patch0000664000000000000000000000223713076072563017263 0ustar From e10e22a95f67c31947d4c0f33d69e4d8b929b0e8 Mon Sep 17 00:00:00 2001 From: Billy Olsen Date: Mon, 24 Oct 2016 15:13:51 -0700 Subject: [PATCH 1/1] upstart: start ceph-all after static-network-up Starting on runlevel [2345] allows the ceph services to start before all of the networking is configured. This introduces a race condition which allows a service to start before the network it binds to is available. Add the static-network-up event as a dependency for the start on directive in order to start the ceph services after all of the network stanzas have been processed and executed in the /etc/network/interfaces and /etc/network/interfaces.d/*.conf files. Fixes: http://tracker.ceph.com/issues/17689 Signed-off-by: Billy Olsen --- src/upstart/ceph-all.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/upstart/ceph-all.conf b/src/upstart/ceph-all.conf index c0b0edd..52d0f08 100644 --- a/src/upstart/ceph-all.conf +++ b/src/upstart/ceph-all.conf @@ -1,4 +1,4 @@ description "Ceph" -start on runlevel [2345] +start on runlevel [2345] and static-network-up stop on runlevel [!2345] -- 2.7.4 debian/patches/CVE-2016-7031.patch0000664000000000000000000000402713162265206013241 0ustar Backport of: From 99ba6610a8f437604cadf68cbe9969def893e870 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 24 Sep 2015 00:21:13 +0530 Subject: [PATCH] 13207: Rados Gateway: Anonymous user is able to read bucket with authenticated read ACL Signed-off-by: root --- src/rgw/rgw_acl_s3.cc | 2 +- src/rgw/rgw_op.cc | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) Index: ceph-0.80.11/src/rgw/rgw_acl_s3.cc =================================================================== --- ceph-0.80.11.orig/src/rgw/rgw_acl_s3.cc 2017-09-25 16:43:27.288642201 -0400 +++ ceph-0.80.11/src/rgw/rgw_acl_s3.cc 2017-09-25 16:43:27.276642045 -0400 @@ -537,7 +537,7 @@ bool RGWAccessControlPolicy_S3::compare_ { switch (group) { case ACL_GROUP_ALL_USERS: - return (id.compare(rgw_uri_all_users) == 0); + return (id.compare(RGW_USER_ANON_ID) == 0); case ACL_GROUP_AUTHENTICATED_USERS: return (id.compare(rgw_uri_auth_users) == 0); default: Index: ceph-0.80.11/src/rgw/rgw_op.cc =================================================================== --- ceph-0.80.11.orig/src/rgw/rgw_op.cc 2017-09-25 16:43:27.288642201 -0400 +++ ceph-0.80.11/src/rgw/rgw_op.cc 2017-09-25 16:43:27.276642045 -0400 @@ -15,6 +15,7 @@ #include "rgw_rest.h" #include "rgw_acl.h" #include "rgw_acl_s3.h" +#include "rgw_acl_swift.h" #include "rgw_user.h" #include "rgw_bucket.h" #include "rgw_log.h" @@ -323,7 +324,13 @@ static int rgw_build_policies(RGWRados * s->bucket_instance_id = s->info.args.get(RGW_SYS_PARAM_PREFIX "bucket-instance"); - s->bucket_acl = new RGWAccessControlPolicy(s->cct); + if(s->dialect.compare("s3") == 0) { + s->bucket_acl = new RGWAccessControlPolicy_S3(s->cct); + } else if(s->dialect.compare("swift") == 0) { + s->bucket_acl = new RGWAccessControlPolicy_SWIFT(s->cct); + } else { + s->bucket_acl = new RGWAccessControlPolicy(s->cct); + } if (s->copy_source) { /* check if copy source is within the current domain */ const char *src = s->copy_source; debian/patches/CVE-2016-5009.patch0000664000000000000000000000743113162270117013243 0ustar Backport of: From 7cb3434fed03a5497abfd00bcec7276b70df0654 Mon Sep 17 00:00:00 2001 From: youji Date: Tue, 14 Jun 2016 11:12:16 -0700 Subject: [PATCH] mon: Monitor: validate prefix on handle_command() Fixes: http://tracker.ceph.com/issues/16297 Signed-off-by: You Ji --- src/mon/Monitor.cc | 23 ++++++++++++++++++++++- src/test/librados/cmd.cc | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) Index: ceph-0.80.11/src/mon/Monitor.cc =================================================================== --- ceph-0.80.11.orig/src/mon/Monitor.cc 2017-09-25 17:06:54.979032674 -0400 +++ ceph-0.80.11/src/mon/Monitor.cc 2017-09-25 17:08:22.352173180 -0400 @@ -2234,7 +2234,19 @@ void Monitor::handle_command(MMonCommand return; } - cmd_getval(g_ceph_context, cmdmap, "prefix", prefix); + // check return value. If no prefix parameter provided, + // return value will be false, then return error info. + if(!cmd_getval(g_ceph_context, cmdmap, "prefix", prefix)) { + reply_command(m, -EINVAL, "command prefix not found", 0); + return; + } + + // check prefix is empty + if (prefix.empty()) { + reply_command(m, -EINVAL, "command prefix must not be empty", 0); + return; + } + if (prefix == "get_command_descriptions") { bufferlist rdata; Formatter *f = new_formatter("json"); @@ -2255,6 +2267,15 @@ void Monitor::handle_command(MMonCommand boost::scoped_ptr f(new_formatter(format)); get_str_vec(prefix, fullcmd); + + // make sure fullcmd is not empty. + // invalid prefix will cause empty vector fullcmd. + // such as, prefix=";,,;" + if (fullcmd.empty()) { + reply_command(m, -EINVAL, "command requires a prefix to be valid", 0); + return; + } + module = fullcmd[0]; // validate command is in leader map Index: ceph-0.80.11/src/test/librados/cmd.cc =================================================================== --- ceph-0.80.11.orig/src/test/librados/cmd.cc 2017-09-25 17:06:54.979032674 -0400 +++ ceph-0.80.11/src/test/librados/cmd.cc 2017-09-25 17:06:54.963032465 -0400 @@ -49,6 +49,41 @@ TEST(LibRadosCmd, MonDescribe) { rados_buffer_free(buf); rados_buffer_free(st); + cmd[0] = (char *)""; + ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "{}", 2, &buf, &buflen, &st, &stlen)); + rados_buffer_free(buf); + rados_buffer_free(st); + + cmd[0] = (char *)"{}"; + ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen)); + rados_buffer_free(buf); + rados_buffer_free(st); + + cmd[0] = (char *)"{\"abc\":\"something\"}"; + ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen)); + rados_buffer_free(buf); + rados_buffer_free(st); + + cmd[0] = (char *)"{\"prefix\":\"\"}"; + ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen)); + rados_buffer_free(buf); + rados_buffer_free(st); + + cmd[0] = (char *)"{\"prefix\":\" \"}"; + ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen)); + rados_buffer_free(buf); + rados_buffer_free(st); + + cmd[0] = (char *)"{\"prefix\":\";;;,,,;;,,\"}"; + ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen)); + rados_buffer_free(buf); + rados_buffer_free(st); + + cmd[0] = (char *)"{\"prefix\":\"extra command\"}"; + ASSERT_EQ(-EINVAL, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen)); + rados_buffer_free(buf); + rados_buffer_free(st); + cmd[0] = (char *)"{\"prefix\":\"mon_status\"}"; ASSERT_EQ(0, rados_mon_command(cluster, (const char **)cmd, 1, "", 0, &buf, &buflen, &st, &stlen)); ASSERT_LT(0u, buflen); debian/patches/increaseFileLimit.patch0000664000000000000000000000163113076072563015242 0ustar Description: Increase file limit to prevent hitting the file limit Upstream commit text " commit 5773a374d0089ce824dec0a0c74a76e57806cc43 Author: Sage Weil Date: Mon Jul 28 09:27:20 2014 -0700 upstart/ceph-osd.conf: bump nofile limit up by 10x This should ensure that we don't hit this limit on all but the very biggest clusters. We seen it hit on a ~500 OSD dumpling cluster. Backport: firefly, dumpling Signed-off-by: Sage Weil " Author: Dave Chiluk Bug-Ubuntu: https://bugs.launchpad.net/bugs/1420647 Origin: https://github.com/ceph/ceph/commit/5773a374d0089ce824dec0a0c74a76e57806cc43 --- --- a/src/upstart/ceph-osd.conf +++ b/src/upstart/ceph-osd.conf @@ -6,7 +6,7 @@ stop on runlevel [!2345] or stopping cep respawn respawn limit 3 1800 -limit nofile 32768 32768 +limit nofile 327680 327680 pre-start script set -e debian/patches/modules.patch0000664000000000000000000000474013076072563013326 0ustar Description: Mark modules as actually being modules Author: James Page Forwarded: no --- a/src/cls/Makefile.am +++ b/src/cls/Makefile.am @@ -45,7 +45,7 @@ radoslib_LTLIBRARIES += libcls_replica_l libcls_user_la_SOURCES = cls/user/cls_user.cc libcls_user_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_user_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +libcls_user_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared -export-symbols-regex '.*__cls_.*' radoslib_LTLIBRARIES += libcls_user.la libcls_rgw_la_SOURCES = \ --- a/src/erasure-code/jerasure/Makefile.am +++ b/src/erasure-code/jerasure/Makefile.am @@ -40,7 +40,7 @@ libec_jerasure_generic_la_CXXFLAGS= ${AM -Ierasure-code/jerasure/gf-complete/include \ -Ierasure-code/jerasure/jerasure/include libec_jerasure_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) -libec_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 +libec_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared if LINUX libec_jerasure_generic_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*' endif @@ -63,7 +63,7 @@ libec_jerasure_sse3_la_CXXFLAGS= ${AM_CX -Ierasure-code/jerasure/gf-complete/include \ -Ierasure-code/jerasure/jerasure/include libec_jerasure_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) -libec_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 +libec_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared if LINUX libec_jerasure_sse3_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*' endif @@ -90,7 +90,7 @@ libec_jerasure_sse4_la_CXXFLAGS= ${AM_CX -Ierasure-code/jerasure/gf-complete/include \ -Ierasure-code/jerasure/jerasure/include libec_jerasure_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) -libec_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 +libec_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared if LINUX libec_jerasure_sse4_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*' endif @@ -102,7 +102,7 @@ libec_jerasure_la_SOURCES = \ libec_jerasure_la_CFLAGS = ${AM_CFLAGS} libec_jerasure_la_CXXFLAGS= ${AM_CXXFLAGS} libec_jerasure_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) -libec_jerasure_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 +libec_jerasure_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared if LINUX libec_jerasure_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*' endif debian/rbd-fuse.install0000664000000000000000000000005713076070036012273 0ustar usr/bin/rbd-fuse usr/share/man/man8/rbd-fuse.8 debian/rest-bench.install0000664000000000000000000000002313076070036012607 0ustar usr/bin/rest-bench debian/ceph-common.install0000664000000000000000000000120213076072563012771 0ustar etc/bash_completion.d/rados etc/bash_completion.d/rbd usr/bin/ceph usr/bin/ceph-authtool usr/bin/ceph-conf usr/bin/ceph-crush-location usr/bin/ceph-dencoder usr/bin/ceph-post-file usr/bin/ceph-rest-api usr/bin/ceph-syn usr/bin/rados usr/bin/rbd usr/share/ceph/id_dsa_drop.ceph.com usr/share/ceph/id_dsa_drop.ceph.com.pub usr/share/ceph/known_hosts_drop.ceph.com usr/share/man/man8/ceph-authtool.8 usr/share/man/man8/ceph-conf.8 usr/share/man/man8/ceph-dencoder.8 usr/share/man/man8/ceph-post-file.8 usr/share/man/man8/ceph-rest-api.8 usr/share/man/man8/ceph-syn.8 usr/share/man/man8/ceph.8 usr/share/man/man8/rados.8 usr/share/man/man8/rbd.8 debian/ceph-resource-agents.install0000664000000000000000000000003413076070036014602 0ustar usr/lib/ocf/resource.d/ceph debian/ceph-mds.install0000664000000000000000000000005713076072563012273 0ustar usr/bin/ceph-mds usr/share/man/man8/ceph-mds.8 debian/ceph-mds.lintian-overrides0000664000000000000000000000136513076072563014266 0ustar # Ceph upstart configuration don't have equivalent init scripts ceph-mds: init.d-script-not-marked-as-conffile etc/init.d/ceph-mds-all ceph-mds: init.d-script-not-included-in-package etc/init.d/ceph-mds-all ceph-mds: init.d-script-not-marked-as-conffile etc/init.d/ceph-mds ceph-mds: init.d-script-not-included-in-package etc/init.d/ceph-mds ceph-mds: init.d-script-not-marked-as-conffile etc/init.d/ceph-mds-all-starter ceph-mds: init.d-script-not-included-in-package etc/init.d/ceph-mds-all-starter ceph-mds: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-mds-all ceph-mds: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-mds ceph-mds: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/ceph-mds-all-starter debian/radosgw.lintian-overrides0000664000000000000000000000137313076072563014233 0ustar # Ceph upstart configuration's don't have init.d equivalents radosgw: init.d-script-not-marked-as-conffile etc/init.d/radosgw-all-starter radosgw: init.d-script-not-included-in-package etc/init.d/radosgw-all-starter radosgw: init.d-script-not-marked-as-conffile etc/init.d/radosgw-instance radosgw: init.d-script-not-included-in-package etc/init.d/radosgw-instance radosgw: init.d-script-not-marked-as-conffile etc/init.d/radosgw-all radosgw: init.d-script-not-included-in-package etc/init.d/radosgw-all radosgw: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/radosgw-all radosgw: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/radosgw-instance radosgw: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/radosgw-all-starter debian/ceph-fs-common.install0000664000000000000000000000013313076072563013401 0ustar sbin/mount.ceph usr/bin/cephfs usr/share/man/man8/cephfs.8 usr/share/man/man8/mount.ceph.8 debian/copyright0000664000000000000000000003011113076072563011130 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: ceph Upstream-Contact: Sage Weil Source: http://ceph.com/ Files: * Copyright: 2004-2013 by Sage Weil License: LGPL-2.1 Files: src/mount/canonicalize.c Copyright: 1993 Rick Sladkey License: LGPL-2+ Files: src/os/btrfs_ioctl.h Copyright: 2007 Oracle. All rights reserved. License: GPL-2 Files: src/include/ceph_hash.cc Copyright: 1995-1997 Robert J. Jenkins Jr. License: public-domain This file uses Robert Jenkin's hash function as detailed at: . http://burtleburtle.net/bob/hash/evahash.html . This is in the public domain. Files: src/common/bloom_filter.hpp Copyright: 2000 Arash Partow License: Boost Software License, Version 1.0 Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: . The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Files: m4/acx_pthread.m4 Copyright: Steven G. Johnson License: GPLWithACException This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . As a special exception, the respective Autoconf Macro’s copyright owner gives unlimited permission to copy, distribute and modify the configure scripts that are the output of Autoconf when processing the Macro. You need not follow the terms of the GNU General Public License when using or distributing such scripts, even though portions of the text of the Macro appear in them. The GNU General Public License (GPL) does govern all other use of the material that constitutes the Autoconf Macro. . This special exception to the GPL applies to versions of the Autoconf Macro released by the Autoconf Archive. When you make and distribute a modified version of the Autoconf Macro, you may extend this special exception to the GPL to apply to your modified version as well. Files: src/common/crc32c_intel* Copyright: 2012-2013 Intel Corporation All Rights Reserved. License: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . * Neither the name of the Intel Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: src/common/sctp_crc32.c Copyright: 2001-2007, by Cisco Systems, Inc. All rights reserved, 2004-2006 Intel Corporation - All Rights Reserved License: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . a) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . b) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . c) Neither the name of Cisco Systems, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: src/json_spirit/* Copyright: John W. Wilkinson 2007 - 2011 License: MIT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Files: src/test/common/Throttle.cc src/test/filestore/chain_xattr.cc Copyright: 2013 Cloudwatt License: LGPL-2+ Files: src/osd/ErasureCodePluginJerasure/* Copyright: 2011, James S. Plank License: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . - Neither the name of the University of Tennessee nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: debian/* Copyright: 2004- Sage Weil , 2010- Canonical, Ltd., 2011- Laszlo Boszormenyi (GCS) License: LGPL-2.1 License: GPL-2 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. . On Debian systems, the complete text of the GNU General Public License version 2 can be found in `/usr/share/common-licenses/GPL-2' file. License: LGPL-2.1 This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation. . This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. . You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the complete text of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. License: LGPL-2+ This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 2 (or later) as published by the Free Software Foundation. . This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. . You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the complete text of the GNU Lesser General Public License 2 can be found in `/usr/share/common-licenses/LGPL-2'. debian/radosgw.postinst0000664000000000000000000000325713076072563012463 0ustar #!/bin/sh # vim: set noet ts=8: # postinst script for radosgw # # see: dh_installdeb(1) set -e # summary of how this script can be called: # # postinst configure # old-postinst abort-upgrade # conflictor's-postinst abort-remove in-favour # postinst abort-remove # deconfigured's-postinst abort-deconfigure in-favour [ ] # # The current action is to simply remove the mistakenly-added # /etc/init/ceph.conf file; this could be done in any of these cases, # although technically it will leave the system in a different state # than the original install that included that file. So instead we # only remove on "configure", since that's the only time we know we're # successful in installing a newer package than the erroneous version. # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in configure) if [ -x /sbin/start ]; then invoke-rc.d radosgw-all start || { RESULT=$? if [ $RESULT != 100 ]; then exit $RESULT fi } fi ;; abort-upgrade|abort-remove|abort-deconfigure) : ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac if dpkg-maintscript-helper supports mv_conffile 2>/dev/null; then dpkg-maintscript-helper mv_conffile \ /etc/init/radosgw.conf /etc/init/radosgw-instance.conf \ 0.72.1-3~ radosgw -- "$@" fi # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/watch0000664000000000000000000000013113076072563010225 0ustar version=3 opts="uversionmangle=s/-/~/" \ http://ceph.com/download/ceph-(\d.*)\.tar\.bz2 debian/librbd-dev.install0000664000000000000000000000016613076070036012577 0ustar usr/include/rbd/features.h usr/include/rbd/librbd.h usr/include/rbd/librbd.hpp usr/lib/*/librbd.a usr/lib/*/librbd.so debian/ceph.install0000664000000000000000000000167413076072563011520 0ustar ../../src/rbdmap etc/ceph ../../udev/60-ceph-partuuid-workaround.rules lib/udev/rules.d ../../udev/95-ceph-osd.rules lib/udev/rules.d etc/bash_completion.d/ceph sbin/mkcephfs usr/bin/ceph-clsinfo usr/bin/ceph-debugpack usr/bin/ceph-mon usr/bin/ceph-osd usr/bin/ceph-run usr/bin/ceph_mon_store_converter usr/bin/crushtool usr/bin/monmaptool usr/bin/osdmaptool usr/lib/*/ceph/ceph_common.sh usr/lib/*/ceph/erasure-code/libec_jerasure*.so usr/lib/*/rados-classes/*.so usr/sbin/ceph-create-keys usr/sbin/ceph-disk usr/sbin/ceph-disk-activate usr/sbin/ceph-disk-prepare usr/share/doc/ceph/sample.ceph.conf usr/share/doc/ceph/sample.fetch_config usr/share/man/man8/ceph-clsinfo.8 usr/share/man/man8/ceph-debugpack.8 usr/share/man/man8/ceph-disk.8 usr/share/man/man8/ceph-mon.8 usr/share/man/man8/ceph-osd.8 usr/share/man/man8/ceph-run.8 usr/share/man/man8/crushtool.8 usr/share/man/man8/mkcephfs.8 usr/share/man/man8/monmaptool.8 usr/share/man/man8/osdmaptool.8 debian/gbp.conf0000664000000000000000000000013513076073167010620 0ustar [DEFAULT] debian-branch = ubuntu/trusty pristine-tar = True [import-orig] filter = debian/* debian/librbd1.install0000664000000000000000000000017013076072563012106 0ustar ../../udev/50-rbd.rules lib/udev/rules.d usr/bin/ceph-rbdnamer usr/lib/*/librbd.so.* usr/share/man/man8/ceph-rbdnamer.8 debian/radosgw.prerm0000664000000000000000000000062213076070036011707 0ustar #!/bin/sh # vim: set noet ts=8: set -e case "$1" in remove) if [ -x /sbin/stop ]; then invoke-rc.d radosgw-all stop || { RESULT=$? if [ $RESULT != 100 ]; then exit $RESULT fi } fi invoke-rc.d radosgw stop || { RESULT=$? if [ $RESULT != 100 ]; then exit $RESULT fi } ;; *) ;; esac #DEBHELPER# exit 0 debian/tests/0000775000000000000000000000000013076070036010334 5ustar debian/tests/build-rados0000775000000000000000000000103013076070036012461 0ustar #!/bin/sh # autopkgtest check: Build and run a program against librados2 to # validate that headers are installed and libraries exists set -e WORKDIR=$(mktemp -d) trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM cd $WORKDIR cat < radostest.c #include int main(void) { int err; rados_t cluster; err = rados_create(&cluster, NULL); if (err < 0) { return (1); } return(0); } EOF gcc -o radostest radostest.c -lrados echo "build: OK" [ -x radostest ] ./radostest echo "run: OK" debian/tests/control0000664000000000000000000000023313076070036011735 0ustar Tests: ceph-client build-rados build-rbd python-ceph Depends: ceph-common, librbd-dev, librados-dev, python-ceph, build-essential Restrictions: needs-root debian/tests/build-rbd0000775000000000000000000000061713076070036012132 0ustar #!/bin/sh # autopkgtest check: Build and run a program against librbd1 to # validate that headers are installed and libraries exists set -e WORKDIR=$(mktemp -d) trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM cd $WORKDIR cat < rbdtest.c #include int main(void) { return(0); } EOF gcc -o rbdtest rbdtest.c -lrbd echo "build: OK" [ -x rbdtest ] ./rbdtest echo "run: OK" debian/tests/python-ceph0000775000000000000000000000016113076070036012516 0ustar #!/usr/bin/python # Test that rbd and rados can be imported OK import rbd import rados print "python-ceph: OK" debian/tests/ceph-client0000775000000000000000000000024313076070036012454 0ustar #!/bin/bash set -e CLIENTS=('ceph') for client in "${CLIENTS[@]}"; do echo -n "Testing client $client: " $client -v 2>&1 > /dev/null echo "OK" done debian/rules0000775000000000000000000000675413076072563010275 0ustar #!/usr/bin/make -f # -*- makefile -*- #export DH_VERBOSE=1 export DESTDIR=$(CURDIR)/debian/tmp # Enable hardening export DEB_BUILD_MAINT_OPTIONS = hardening=+all include /usr/share/dpkg/buildflags.mk export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) extraopts += --disable-silent-rules extraopts += --with-ocf --with-rest-bench --with-nss extraopts += --with-debug extraopts += --enable-cephfs-java ifeq ($(DEB_HOST_ARCH), armel) # armel supports ARMv4t or above instructions sets. # libatomic-ops is only usable with Ceph for ARMv6 or above. extraopts += --without-libatomic-ops endif # Only selected architectures support gperftools gperftools_archs = i386 amd64 powerpc armhf ppc64el ifneq (,$(filter $(DEB_HOST_ARCH), $(gperftools_archs))) extraopts += --with-tcmalloc else extraopts += --without-tcmalloc endif # Use system provided libs3 extraopts += --with-system-libs3 %: dh $@ --with javahelper --with python2 --with autoreconf --parallel override_dh_auto_configure: dh_auto_configure -- $(extraopts) override_dh_auto_build: dh_auto_build cp src/init-ceph debian/ceph.init cp src/init-radosgw debian/radosgw.init cp src/init-rbdmap debian/ceph.rbdmap.init cp src/upstart/rbdmap.conf debian/ceph.rbdmap.upstart cp src/logrotate.conf debian/ceph.logrotate cp src/rgw/logrotate.conf debian/radosgw.logrotate override_dh_auto_clean: dh_auto_clean rm -f debian/ceph.init debian/radosgw.init debian/ceph.rbdmap.init debian/ceph.rbdmap.upstart rm -f debian/ceph.logrotate debian/radosgw.logrotate rm -f debian/*.upstart override_dh_auto_install: dh_auto_install override_dh_installinit: dh_installinit --no-start dh_installinit -pceph --no-start --name=rbdmap # Install upstart configurations using dh_installinit for conf in `ls -1 src/upstart/ceph*.conf | grep -v mds`; do \ name=`basename $$conf | cut -d . -f 1`; \ cp $$conf debian/ceph.$$name.upstart; \ dh_installinit -pceph --no-start --name=$$name; \ done for conf in `ls -1 src/upstart/ceph-mds*.conf`; do \ name=`basename $$conf | cut -d . -f 1`; \ cp $$conf debian/ceph-mds.$$name.upstart; \ dh_installinit -pceph-mds --no-start --name=$$name; \ done for conf in `ls -1 src/upstart/radosgw*.conf`; do \ name=`basename $$conf | cut -d . -f 1`; \ [ $$name = "radosgw" ] && name="radosgw-instance";\ cp $$conf debian/radosgw.$$name.upstart; \ dh_installinit -pradosgw --no-start --name=$$name; \ done override_dh_strip: dh_strip -pceph --dbg-package=ceph-dbg dh_strip -pceph-mds --dbg-package=ceph-mds-dbg dh_strip -pceph-fuse --dbg-package=ceph-fuse-dbg dh_strip -prbd-fuse --dbg-package=rbd-fuse-dbg dh_strip -pceph-common --dbg-package=ceph-common-dbg dh_strip -pceph-fs-common --dbg-package=ceph-fs-common-dbg dh_strip -plibrados2 --dbg-package=librados2-dbg dh_strip -plibrbd1 --dbg-package=librbd1-dbg dh_strip -plibcephfs1 --dbg-package=libcephfs1-dbg dh_strip -pradosgw --dbg-package=radosgw-dbg dh_strip -prest-bench --dbg-package=rest-bench-dbg dh_strip -pceph-test --dbg-package=ceph-test-dbg dh_strip -plibrados-dev dh_strip -plibcephfs-jni --dbg-package=libcephfs-jni-dbg override_dh_makeshlibs: # exclude jni libraries in libcephfs-jni to avoid pointless ldconfig # calls in maintainer scripts dh_makeshlibs -X/usr/lib/jni override_dh_auto_test: # Skip tests as they rely on virtualenv : .PHONY: override_dh_auto_configure override_dh_installinit override_dh_strip override_dh_makeshlibs override_dh_auto_test debian/libcephfs-dev.install0000664000000000000000000000011413076070036013271 0ustar usr/include/cephfs/libcephfs.h usr/lib/*/libcephfs.a usr/lib/*/libcephfs.so