diff options
author | James McCoy <jamessan@debian.org> | 2015-03-07 01:45:57 +0000 |
---|---|---|
committer | James McCoy <jamessan@debian.org> | 2015-03-07 01:45:57 +0000 |
commit | 73530fd14160cf69c4d9a32c189a7ef48956b4f0 (patch) | |
tree | 052ee7e1c0bdfecc217722de5ae44c8cec29d884 | |
parent | fb8ac294ab6066dfbeba03dc3fba6e5a18018b70 (diff) |
Start 1.9.x branch with 1.9.0~beta1
-rw-r--r-- | debian/changelog | 8 | ||||
-rw-r--r-- | debian/patches/CVE-2014-3580 | 102 | ||||
-rw-r--r-- | debian/patches/CVE-2014-8108 | 56 | ||||
-rw-r--r-- | debian/patches/apache_module_dependency | 10 | ||||
-rw-r--r-- | debian/patches/apr-abi | 18 | ||||
-rw-r--r-- | debian/patches/build-fixes | 42 | ||||
-rw-r--r-- | debian/patches/last-changed-date-charset | 2 | ||||
-rw-r--r-- | debian/patches/libtoolize | 49 | ||||
-rw-r--r-- | debian/patches/no-extra-libs-2 | 6 | ||||
-rw-r--r-- | debian/patches/python-builds | 24 | ||||
-rw-r--r-- | debian/patches/repos-templates | 28 | ||||
-rw-r--r-- | debian/patches/rpath | 26 | ||||
-rw-r--r-- | debian/patches/ruby-no-strict-aliasing | 2 | ||||
-rw-r--r-- | debian/patches/ruby-test-svnserve-race | 4 | ||||
-rw-r--r-- | debian/patches/ruby-typemap-digest | 2 | ||||
-rw-r--r-- | debian/patches/ruby2.0-build-fixes | 26 | ||||
-rw-r--r-- | debian/patches/series | 5 | ||||
-rw-r--r-- | debian/patches/ssh-no-controlmaster | 4 | ||||
-rw-r--r-- | debian/patches/test-failure-with-optimizations | 102 | ||||
-rw-r--r-- | debian/patches/workaround_EINVAL_on_kfreebsd | 2 |
20 files changed, 90 insertions, 428 deletions
diff --git a/debian/changelog b/debian/changelog index df9c7cd..d449e4a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +subversion (1.9.0~beta1-1) experimental; urgency=medium + + * New upstream pre-release. Refresh patches. + + Remove backported patches libtoolize, ruby2.0-build-fixes, + test-failure-with-optimizations, CVE-2014-3580, CVE-2014-8108. + + -- James McCoy <jamessan@debian.org> Fri, 06 Mar 2015 20:03:03 -0500 + subversion (1.8.10-5) unstable; urgency=medium * patches/CVE-2014-8108: mod_dav_svn DoS vulnerability with invalid virtual diff --git a/debian/patches/CVE-2014-3580 b/debian/patches/CVE-2014-3580 deleted file mode 100644 index 58288db..0000000 --- a/debian/patches/CVE-2014-3580 +++ /dev/null @@ -1,102 +0,0 @@ -Subject: Correctly reject requests with missing repo paths -Origin: upstream, r1643454 -Bug: CVE-2014-3850 -Bug-Debian: https://bugs.debian.org/773263 -Index: subversion/mod_dav_svn/reports/deleted-rev.c -=================================================================== ---- a/subversion/mod_dav_svn/reports/deleted-rev.c (revision 1624477) -+++ b/subversion/mod_dav_svn/reports/deleted-rev.c (working copy) -@@ -56,6 +56,9 @@ dav_svn__get_deleted_rev_report(const dav_resource - dav_error *derr = NULL; - - /* Sanity check. */ -+ if (!resource->info->repos_path) -+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0, -+ "The request does not specify a repository path"); - ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE); - if (ns == -1) - return dav_svn__new_error_tag(resource->pool, HTTP_BAD_REQUEST, 0, -Index: subversion/mod_dav_svn/reports/file-revs.c -=================================================================== ---- a/subversion/mod_dav_svn/reports/file-revs.c (revision 1624477) -+++ b/subversion/mod_dav_svn/reports/file-revs.c (working copy) -@@ -254,6 +254,9 @@ dav_svn__file_revs_report(const dav_resource *reso - arb.repos = resource->info->repos; - - /* Sanity check. */ -+ if (!resource->info->repos_path) -+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0, -+ "The request does not specify a repository path"); - ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE); - /* ### This is done on other places, but the document element is - in this namespace, so is this necessary at all? */ -Index: subversion/mod_dav_svn/reports/get-location-segments.c -=================================================================== ---- a/subversion/mod_dav_svn/reports/get-location-segments.c (revision 1624477) -+++ b/subversion/mod_dav_svn/reports/get-location-segments.c (working copy) -@@ -123,6 +123,9 @@ dav_svn__get_location_segments_report(const dav_re - struct location_segment_baton location_segment_baton; - - /* Sanity check. */ -+ if (!resource->info->repos_path) -+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0, -+ "The request does not specify a repository path"); - ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE); - if (ns == -1) - { -Index: subversion/mod_dav_svn/reports/get-locations.c -=================================================================== ---- a/subversion/mod_dav_svn/reports/get-locations.c (revision 1624477) -+++ b/subversion/mod_dav_svn/reports/get-locations.c (working copy) -@@ -106,6 +106,9 @@ dav_svn__get_locations_report(const dav_resource * - sizeof(svn_revnum_t)); - - /* Sanity check. */ -+ if (!resource->info->repos_path) -+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0, -+ "The request does not specify a repository path"); - ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE); - if (ns == -1) - { -Index: subversion/mod_dav_svn/reports/inherited-props.c -=================================================================== ---- a/subversion/mod_dav_svn/reports/inherited-props.c (revision 1624477) -+++ b/subversion/mod_dav_svn/reports/inherited-props.c (working copy) -@@ -63,6 +63,9 @@ dav_svn__get_inherited_props_report(const dav_reso - apr_pool_t *iterpool; - - /* Sanity check. */ -+ if (!resource->info->repos_path) -+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0, -+ "The request does not specify a repository path"); - ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE); - if (ns == -1) - { -Index: subversion/mod_dav_svn/reports/log.c -=================================================================== ---- a/subversion/mod_dav_svn/reports/log.c (revision 1624477) -+++ b/subversion/mod_dav_svn/reports/log.c (working copy) -@@ -307,6 +307,9 @@ dav_svn__log_report(const dav_resource *resource, - = apr_array_make(resource->pool, 1, sizeof(const char *)); - - /* Sanity check. */ -+ if (!resource->info->repos_path) -+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0, -+ "The request does not specify a repository path"); - ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE); - if (ns == -1) - { -Index: subversion/mod_dav_svn/reports/mergeinfo.c -=================================================================== ---- a/subversion/mod_dav_svn/reports/mergeinfo.c (revision 1624477) -+++ b/subversion/mod_dav_svn/reports/mergeinfo.c (working copy) -@@ -67,6 +67,9 @@ dav_svn__get_mergeinfo_report(const dav_resource * - = apr_array_make(resource->pool, 0, sizeof(const char *)); - - /* Sanity check. */ -+ if (!resource->info->repos_path) -+ return dav_svn__new_error(resource->pool, HTTP_BAD_REQUEST, 0, -+ "The request does not specify a repository path"); - ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE); - if (ns == -1) - { diff --git a/debian/patches/CVE-2014-8108 b/debian/patches/CVE-2014-8108 deleted file mode 100644 index 2c990d5..0000000 --- a/debian/patches/CVE-2014-8108 +++ /dev/null @@ -1,56 +0,0 @@ -Subject: Correctly reject requests with invalid virtual transaction names. -Origin: upstream, r1643455 -Bug: CVE-2014-8108 -Bug-Debian: https://bugs.debian.org/773315 -Index: subversion/mod_dav_svn/repos.c -=================================================================== ---- a/subversion/mod_dav_svn/repos.c (revision 1624477) -+++ b/subversion/mod_dav_svn/repos.c (working copy) -@@ -508,6 +508,9 @@ parse_vtxnstub_uri(dav_resource_combined *comb, - if (parse_txnstub_uri(comb, path, label, use_checked_in)) - return TRUE; - -+ if (!comb->priv.root.txn_name) -+ return TRUE; -+ - comb->priv.root.vtxn_name = comb->priv.root.txn_name; - comb->priv.root.txn_name = dav_svn__get_txn(comb->priv.repos, - comb->priv.root.vtxn_name); -@@ -576,6 +579,9 @@ parse_vtxnroot_uri(dav_resource_combined *comb, - if (parse_txnroot_uri(comb, path, label, use_checked_in)) - return TRUE; - -+ if (!comb->priv.root.txn_name) -+ return TRUE; -+ - comb->priv.root.vtxn_name = comb->priv.root.txn_name; - comb->priv.root.txn_name = dav_svn__get_txn(comb->priv.repos, - comb->priv.root.vtxn_name); -@@ -921,6 +927,10 @@ prep_working(dav_resource_combined *comb) - point. */ - if (txn_name == NULL) - { -+ if (!comb->priv.root.activity_id) -+ return dav_svn__new_error(comb->res.pool, HTTP_BAD_REQUEST, 0, -+ "The request did not specify an activity ID"); -+ - txn_name = dav_svn__get_txn(comb->priv.repos, - comb->priv.root.activity_id); - if (txn_name == NULL) -@@ -1031,9 +1041,14 @@ prep_working(dav_resource_combined *comb) - static dav_error * - prep_activity(dav_resource_combined *comb) - { -- const char *txn_name = dav_svn__get_txn(comb->priv.repos, -- comb->priv.root.activity_id); -+ const char *txn_name; - -+ if (!comb->priv.root.activity_id) -+ return dav_svn__new_error(comb->res.pool, HTTP_BAD_REQUEST, 0, -+ "The request did not specify an activity ID"); -+ -+ txn_name = dav_svn__get_txn(comb->priv.repos, comb->priv.root.activity_id); -+ - comb->priv.root.txn_name = txn_name; - comb->res.exists = txn_name != NULL; - diff --git a/debian/patches/apache_module_dependency b/debian/patches/apache_module_dependency index bddb2a3..4c4ab11 100644 --- a/debian/patches/apache_module_dependency +++ b/debian/patches/apache_module_dependency @@ -15,7 +15,7 @@ dependencies, mod_authz_svn is loaded first. #ifdef __cplusplus -@@ -83,6 +84,15 @@ +@@ -101,6 +102,15 @@ const char **repos_basename, const char **relative_path, const char **repos_path); @@ -31,7 +31,7 @@ dependencies, mod_authz_svn is loaded first. /** -@@ -91,6 +101,10 @@ +@@ -124,6 +134,10 @@ AP_MODULE_DECLARE(dav_error *) dav_svn_get_repos_path(request_rec *r, const char *root_path, const char **repos_path); @@ -67,7 +67,7 @@ dependencies, mod_authz_svn is loaded first. /* * Configuration */ -@@ -937,6 +944,16 @@ +@@ -949,6 +956,16 @@ return OK; } @@ -84,7 +84,7 @@ dependencies, mod_authz_svn is loaded first. /* * Module flesh */ -@@ -958,6 +975,9 @@ +@@ -970,6 +987,9 @@ AUTHZ_SVN__SUBREQ_BYPASS_PROV_NAME, AUTHZ_SVN__SUBREQ_BYPASS_PROV_VER, (void*)subreq_bypass); @@ -96,7 +96,7 @@ dependencies, mod_authz_svn is loaded first. module AP_MODULE_DECLARE_DATA authz_svn_module = --- a/subversion/mod_dav_svn/mod_dav_svn.c +++ b/subversion/mod_dav_svn/mod_dav_svn.c -@@ -1330,6 +1330,9 @@ +@@ -1394,6 +1394,9 @@ static void register_hooks(apr_pool_t *pconf) { diff --git a/debian/patches/apr-abi b/debian/patches/apr-abi index b4bccd2..98a6a6d 100644 --- a/debian/patches/apr-abi +++ b/debian/patches/apr-abi @@ -9,18 +9,12 @@ be ABI-compatible again if and when we move to apr-2.x. --- a/configure.ac +++ b/configure.ac -@@ -111,9 +111,13 @@ - AC_SUBST(SVN_APRUTIL_INCLUDES) - AC_SUBST(SVN_APRUTIL_CONFIG, ["$apu_config"]) +@@ -106,7 +106,7 @@ AC_SUBST(SVN_APRUTIL_LIBS) -+elif test `expr $apr_version : 1` -ne 0; then -+ svn_lib_ver=1 -+ APU_VER_REGEXES=["1\."] -+ SVN_LIB_APRUTIL($APU_VER_REGEXES) + SVN_APR_MAJOR_VERSION=2 else - svn_lib_ver=0 -- APU_VER_REGEXES=["0\.9\.[7-9] 0\.9\.1[0-9] 1\."] -+ APU_VER_REGEXES=["0\.9\.[7-9] 0\.9\.1[0-9]"] +- svn_lib_ver=0 ++ svn_lib_ver=1 + APU_VER_REGEXES=["1\.[3-9]\."] SVN_LIB_APRUTIL($APU_VER_REGEXES) - fi - SVN_LT_SOVERSION="-version-info $svn_lib_ver" + SVN_APR_MAJOR_VERSION=1 diff --git a/debian/patches/build-fixes b/debian/patches/build-fixes index 59991b0..3009226 100644 --- a/debian/patches/build-fixes +++ b/debian/patches/build-fixes @@ -27,7 +27,7 @@ Fix some build problems: % " ".join(checkout_locations)) --- a/Makefile.in +++ b/Makefile.in -@@ -113,8 +113,8 @@ +@@ -117,8 +117,8 @@ SHELL = @SHELL@ LIBTOOL = @SVN_LIBTOOL@ @@ -38,7 +38,7 @@ Fix some build problems: LT_CFLAGS = @LT_CFLAGS@ LT_LDFLAGS = @LT_LDFLAGS@ LT_SO_VERSION = @SVN_LT_SOVERSION@ -@@ -315,14 +315,14 @@ +@@ -341,14 +341,14 @@ # The path to generated and complementary source files for the SWIG # bindings. @@ -58,7 +58,7 @@ Fix some build problems: ### Automate JAR creation using Makefile generator's javahl-java.jar ### property. Enhance generator to support JAR installation. -@@ -811,8 +811,7 @@ +@@ -871,8 +871,7 @@ fi for d in $(SWIG_PL_DIR)/libsvn_swig_perl; \ do \ @@ -68,7 +68,7 @@ Fix some build problems: done if [ -f "$(SWIG_PL_DIR)/native/Makefile" ]; then \ cd $(SWIG_PL_DIR)/native; $(MAKE) clean; \ -@@ -846,7 +845,7 @@ +@@ -906,7 +905,7 @@ fi for d in $(SWIG_PY_DIR) $(SWIG_PY_DIR)/libsvn_swig_py; \ do \ @@ -77,7 +77,7 @@ Fix some build problems: done find $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) -name "*.pyc" -exec rm {} ';' -@@ -876,8 +875,7 @@ +@@ -936,8 +935,7 @@ fi for d in $(SWIG_RB_DIR) $(SWIG_RB_DIR)/libsvn_swig_ruby; \ do \ @@ -89,7 +89,7 @@ Fix some build problems: extraclean-swig-rb: clean-swig-rb --- a/build/generator/gen_base.py +++ b/build/generator/gen_base.py -@@ -340,7 +340,8 @@ +@@ -423,7 +423,8 @@ class SWIGSource(SourceFile): def __init__(self, filename): @@ -112,15 +112,15 @@ Fix some build problems: for fname in self.includes: --- a/configure.ac +++ b/configure.ac -@@ -688,6 +688,7 @@ - fi +@@ -719,6 +719,7 @@ + AC_SUBST(SVN_INTL_LIBS) AH_BOTTOM([ +#undef /* */ _ /* Indicate to translators that string X should be translated. Do not look up the translation at run time; just expand to X. This macro is suitable for use where a constant string is required at compile time. */ -@@ -1504,6 +1505,11 @@ +@@ -1573,6 +1574,11 @@ [Defined to the config.guess name of the build target]) AC_OUTPUT @@ -134,17 +134,17 @@ Fix some build problems: --- a/build.conf +++ b/build.conf -@@ -213,7 +213,7 @@ +@@ -241,7 +241,7 @@ description = Subversion Client Library type = lib path = subversion/libsvn_client -libs = libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr apriconv apr +libs = libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr aprutil apriconv apr install = lib - msvc-export = svn_client.h private/svn_client_private.h + msvc-export = svn_client.h private/svn_client_mtcc.h private/svn_client_private.h -@@ -276,7 +276,7 @@ - description = Subversion Repository Access Library +@@ -315,7 +315,7 @@ + description = Subversion General Repository Access Library type = lib path = subversion/libsvn_ra -libs = libsvn_delta libsvn_subr ra-libs apriconv apr @@ -154,10 +154,10 @@ Fix some build problems: add-install-deps = $(SVN_RA_LIB_INSTALL_DEPS) --- a/subversion/libsvn_ra_serf/update.c +++ b/subversion/libsvn_ra_serf/update.c -@@ -3064,12 +3064,6 @@ - SVN_ERR(svn_ra_serf__process_pending(parser_ctx, - &report->report_received, - iterpool_inner)); +@@ -2618,12 +2618,6 @@ + /* If there is pending REPORT data, process it now. */ + if (ud->spillbuf) + SVN_ERR(process_pending(ud, iterpool)); - - /* Debugging purposes only! */ - for (i = 0; i < sess->num_conns; i++) @@ -166,13 +166,13 @@ Fix some build problems: - } } - /* If we got a complete report, close the edit. Otherwise, abort it. */ + svn_pool_clear(iterpool); --- a/subversion/libsvn_ra_serf/util.c +++ b/subversion/libsvn_ra_serf/util.c -@@ -962,12 +962,6 @@ +@@ -935,12 +935,6 @@ + svn_pool_clear(iterpool); - return svn_ra_serf__wrap_err(status, _("Error running context")); - } + SVN_ERR(svn_ra_serf__context_run(sess, &waittime_left, iterpool)); - - /* Debugging purposes only! */ - for (i = 0; i < sess->num_conns; i++) diff --git a/debian/patches/last-changed-date-charset b/debian/patches/last-changed-date-charset index d4a518c..13ddb23 100644 --- a/debian/patches/last-changed-date-charset +++ b/debian/patches/last-changed-date-charset @@ -5,7 +5,7 @@ Not accepted upstream: http://svn.haxx.se/dev/archive-2006-04/0730.shtml --- a/subversion/libsvn_subr/subst.c +++ b/subversion/libsvn_subr/subst.c -@@ -209,8 +209,12 @@ +@@ -210,8 +210,12 @@ break; case 'D': /* long format of date of this revision */ if (date) diff --git a/debian/patches/libtoolize b/debian/patches/libtoolize deleted file mode 100644 index dc18786..0000000 --- a/debian/patches/libtoolize +++ /dev/null @@ -1,49 +0,0 @@ ------------------------------------------------------------------------- -r1627276 | philip | 2014-09-24 06:58:12 -0400 (Wed, 24 Sep 2014) | 8 lines - -* buildcheck.sh: Look for libtoolize rather than libtool, add some - more candidate names. - -* autogen.sh: Add more candidate names to match buildcheck.sh. - -Patch by: Helmut Grohne <helmut{_AT_}subdivi.de> - me - - -Index: trunk/build/buildcheck.sh -=================================================================== ---- trunk/build/buildcheck.sh (revision 1627275) -+++ trunk/build/buildcheck.sh (revision 1627276) -@@ -97,14 +97,14 @@ - esac - fi - --libtool=${LIBTOOL:-`./build/PrintPath glibtool libtool libtool15`} -+libtoolize=${LIBTOOLIZE:-`./build/PrintPath glibtoolize libtoolize glibtoolize1 libtoolize15 libtoolize14`} - # Extract the libtool version number: everything from the first number in - # the version text until a hyphen or space. --lt_pversion=`$libtool --version 2>/dev/null | -+lt_pversion=`$libtoolize --version 2>/dev/null | - sed -e 's/^[^0-9]*//' -e 's/[- ].*//' -e '/^$/d' | - sed -e 1q` - if test -z "$lt_pversion"; then -- echo "buildcheck: libtool not found." -+ echo "buildcheck: libtoolize not found." - echo " You need libtool version $LIBTOOL_WANTED_VERSION or newer installed" - exit 1 - fi -Index: trunk/autogen.sh -=================================================================== ---- trunk/autogen.sh (revision 1627275) -+++ trunk/autogen.sh (revision 1627276) -@@ -59,7 +59,7 @@ - # ### APR's libtool. deferring to a second round of change... - # - --libtoolize="`./build/PrintPath glibtoolize libtoolize libtoolize15`" -+libtoolize="`./build/PrintPath glibtoolize libtoolize glibtoolize1 libtoolize15 libtoolize14`" - lt_major_version=`$libtoolize --version 2>/dev/null | sed -e 's/^[^0-9]*//' -e 's/\..*//' -e '/^$/d' -e 1q` - - if [ "x$libtoolize" = "x" ]; then - ------------------------------------------------------------------------- diff --git a/debian/patches/no-extra-libs-2 b/debian/patches/no-extra-libs-2 index 860dc41..062d803 100644 --- a/debian/patches/no-extra-libs-2 +++ b/debian/patches/no-extra-libs-2 @@ -5,7 +5,7 @@ _at all_, so we don't want it to pull in aprutil for us.) --- a/subversion/bindings/swig/perl/native/Makefile.PL.in +++ b/subversion/bindings/swig/perl/native/Makefile.PL.in @@ -43,6 +43,12 @@ - fs_base fs_util fs_fs/); + fs_base fs_util fs_fs fs_x/); my @ldmodules = map {"-lsvn_$_-1"} (@modules, qw/diff subr/); +sub libs_line { @@ -46,12 +46,12 @@ _at all_, so we don't want it to pull in aprutil for us.) NAME => "SVN::_".perlish($_), --- a/build.conf +++ b/build.conf -@@ -1149,7 +1149,7 @@ +@@ -1381,7 +1381,7 @@ [apriconv] type = lib -external-lib = $(SVN_APRUTIL_LIBS) +external-lib = $(SVN_APR_LIBS) - [bdb] + [libhttpd] type = lib diff --git a/debian/patches/python-builds b/debian/patches/python-builds index 241fcf4..a59d7cc 100644 --- a/debian/patches/python-builds +++ b/debian/patches/python-builds @@ -6,8 +6,8 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml --- a/Makefile.in +++ b/Makefile.in -@@ -133,6 +133,7 @@ - APACHE_LDFLAGS = @APACHE_LDFLAGS@ +@@ -140,6 +140,7 @@ + GMOCK_INCLUDES = -I@GMOCK_SRCDIR@ SWIG = @SWIG@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ @@ -26,7 +26,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml if test "$ac_cv_python_includes" = "none"; then AC_MSG_WARN([python bindings cannot be built without distutils module]) -@@ -289,6 +290,7 @@ +@@ -295,6 +296,7 @@ AC_MSG_RESULT([$SWIG_RB_TEST_VERBOSE]) fi AC_SUBST(SWIG) @@ -36,7 +36,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml AC_SUBST(SWIG_PY_LINK) --- a/build.conf +++ b/build.conf -@@ -428,7 +428,7 @@ +@@ -487,7 +487,7 @@ type = swig path = subversion/bindings/swig sources = core.i @@ -44,8 +44,8 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml +libs = libsvn_swig_py$(PYVER) libsvn_swig_perl libsvn_swig_ruby libsvn_diff libsvn_subr apr description = Subversion core library bindings - include-runtime = yes -@@ -437,7 +437,7 @@ + +@@ -495,7 +495,7 @@ type = swig path = subversion/bindings/swig sources = svn_client.i @@ -54,7 +54,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml libsvn_client libsvn_subr apr nonlibs = swig_core description = Subversion client library bindings -@@ -446,7 +446,7 @@ +@@ -504,7 +504,7 @@ type = swig path = subversion/bindings/swig sources = svn_delta.i @@ -63,7 +63,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml libsvn_delta libsvn_subr apr nonlibs = swig_core description = Subversion delta library bindings -@@ -455,7 +455,7 @@ +@@ -513,7 +513,7 @@ type = swig path = subversion/bindings/swig sources = svn_diff.i @@ -72,7 +72,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml libsvn_diff libsvn_subr apr nonlibs = swig_core description = Subversion diff library bindings -@@ -464,7 +464,7 @@ +@@ -522,7 +522,7 @@ type = swig path = subversion/bindings/swig sources = svn_fs.i @@ -81,7 +81,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml libsvn_fs libsvn_subr apr nonlibs = swig_core description = Subversion FS library bindings -@@ -473,7 +473,7 @@ +@@ -531,7 +531,7 @@ type = swig path = subversion/bindings/swig sources = svn_ra.i @@ -90,7 +90,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml libsvn_ra libsvn_subr apr nonlibs = swig_core description = Subversion RA library bindings -@@ -482,7 +482,7 @@ +@@ -540,7 +540,7 @@ type = swig path = subversion/bindings/swig sources = svn_repos.i @@ -99,7 +99,7 @@ Submitted upstream: http://svn.haxx.se/dev/archive-2008-05/0361.shtml libsvn_repos libsvn_subr apr nonlibs = swig_core description = Subversion repository library bindings -@@ -491,13 +491,13 @@ +@@ -549,13 +549,13 @@ type = swig path = subversion/bindings/swig sources = svn_wc.i diff --git a/debian/patches/repos-templates b/debian/patches/repos-templates index 5e7f71a..aa751b0 100644 --- a/debian/patches/repos-templates +++ b/debian/patches/repos-templates @@ -14,7 +14,7 @@ hooks, not just use them in place. "# http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/ and" NL \ "# http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/" NL -@@ -361,8 +361,11 @@ +@@ -409,8 +409,11 @@ "REPOS=\"$1\"" NL "USER=\"$2\"" NL "" NL @@ -28,7 +28,7 @@ hooks, not just use them in place. "" NL "# All checks passed, so allow the commit." NL "exit 0" NL; -@@ -451,10 +454,13 @@ +@@ -470,10 +473,13 @@ "$SVNLOOK log -t \"$TXN\" \"$REPOS\" | \\" NL " grep \"[a-zA-Z0-9]\" > /dev/null || exit 1" NL "" NL @@ -44,16 +44,16 @@ hooks, not just use them in place. "" NL "# All checks passed, so allow the commit." NL "exit 0" NL; -@@ -775,7 +781,7 @@ +@@ -684,7 +690,7 @@ "REV=\"$2\"" NL "TXN_NAME=\"$3\"" NL NL -"mailer.py commit \"$REPOS\" \"$REV\" /path/to/mailer.conf" NL; +"\"$REPOS\"/hooks/mailer.py commit \"$REPOS\" $REV \"$REPOS\"/mailer.conf" NL; - #undef SCRIPT_NAME - -@@ -838,7 +844,8 @@ + SVN_ERR_W(write_hook_template_file(repos, SCRIPT_NAME, + description, script, pool), +@@ -719,7 +725,8 @@ "USER=\"$2\"" NL "" NL "# Send email to interested parties, let them know a lock was created:" NL @@ -61,9 +61,9 @@ hooks, not just use them in place. +"\"$REPOS\"/hooks/mailer.py lock \\" NL +" \"$REPOS\" \"$USER\" \"$REPOS\"/hooks/mailer.conf" NL; - #undef SCRIPT_NAME - -@@ -899,7 +906,8 @@ + SVN_ERR_W(write_hook_template_file(repos, SCRIPT_NAME, + description, script, pool), +@@ -751,7 +758,8 @@ "USER=\"$2\"" NL "" NL "# Send email to interested parties, let them know a lock was removed:" NL @@ -71,9 +71,9 @@ hooks, not just use them in place. +"\"$REPOS\"/hooks/mailer.py unlock \\" NL +" \"$REPOS\" \"$USER\" \"$REPOS\"/hooks/mailer.conf" NL; - #undef SCRIPT_NAME - -@@ -966,8 +974,8 @@ + SVN_ERR_W(write_hook_template_file(repos, SCRIPT_NAME, + description, script, pool), +@@ -791,8 +799,8 @@ "PROPNAME=\"$4\"" NL "ACTION=\"$5\"" NL "" NL @@ -82,5 +82,5 @@ hooks, not just use them in place. +"\"$REPOS\"/hooks/mailer.py propchange2 \"$REPOS\" $REV \\" NL +" \"$USER\" \"$PROPNAME\" \"$ACTION\" \"$REPOS\"/hooks/mailer.conf" NL; - #undef SCRIPT_NAME - + SVN_ERR_W(write_hook_template_file(repos, SCRIPT_NAME, + description, script, pool), diff --git a/debian/patches/rpath b/debian/patches/rpath index 50d0c6f..a2a773e 100644 --- a/debian/patches/rpath +++ b/debian/patches/rpath @@ -8,9 +8,9 @@ patch by David Kimdon <dwhedon@debian.org>. The basic theory is: --- a/Makefile.in +++ b/Makefile.in -@@ -216,10 +216,10 @@ - # special compilation for files destined for cxxhl - COMPILE_CXXHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(CXXHL_INCLUDES) -o $@ -c +@@ -255,10 +255,10 @@ + COMPILE_GMOCK_CXX = $(LT_COMPILE_CXX_NOWARN) $(GMOCK_INCLUDES) -o $@ -c + COMPILE_CXXHL_GMOCK_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) $(GMOCK_INCLUDES) -o $@ -c -LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir) -LINK_LIB = $(LINK) $(LT_SO_VERSION) @@ -23,32 +23,32 @@ patch by David Kimdon <dwhedon@debian.org>. The basic theory is: # special link rule for mod_dav_svn LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) -@@ -777,7 +777,9 @@ +@@ -837,7 +837,9 @@ ./config.status subversion/bindings/swig/perl/native/Makefile.PL $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL -- cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL +- cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL PREFIX=$(prefix) + cd $(SWIG_PL_DIR)/native; \ -+ $(PERL) Makefile.PL INSTALLDIRS=vendor; \ ++ $(PERL) Makefile.PL PREFIX=$(prefix); \ + sed -i -e '/^LD_RUN_PATH/s/^/#/' Makefile Makefile.[a-z]* # There is a "readlink -f" command on some systems for the same purpose, # but it's not as portable (e.g. Mac OS X doesn't have it). These should --- a/build.conf +++ b/build.conf -@@ -502,7 +502,7 @@ - lang = python +@@ -561,7 +561,7 @@ path = subversion/bindings/swig/python/libsvn_swig_py - libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr + libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr + apriconv apr python swig -link-cmd = $(LINK) +link-cmd = $(LINK_LIB) $(SWIG_PY_LIBS) install = swig-py-lib # need special build rule to include -DSWIGPYTHON compile-cmd = $(COMPILE_SWIG_PY) -@@ -525,7 +525,7 @@ +@@ -586,7 +586,7 @@ lang = ruby path = subversion/bindings/swig/ruby/libsvn_swig_ruby - libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr + libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr ruby swig -link-cmd = $(LINK) $(SWIG_RB_LIBS) +link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS) install = swig-rb-lib @@ -56,7 +56,7 @@ patch by David Kimdon <dwhedon@debian.org>. The basic theory is: compile-cmd = $(COMPILE_SWIG_RB) --- a/build/generator/gen_base.py +++ b/build/generator/gen_base.py -@@ -415,7 +415,7 @@ +@@ -498,7 +498,7 @@ self.install = options.get('install') self.compile_cmd = options.get('compile-cmd') self.sources = options.get('sources', '*.c *.cpp') @@ -65,7 +65,7 @@ patch by David Kimdon <dwhedon@debian.org>. The basic theory is: self.external_lib = options.get('external-lib') self.external_project = options.get('external-project') -@@ -467,6 +467,7 @@ +@@ -551,6 +551,7 @@ extmap = self.gen_obj._extension_map self.objext = extmap['exe', 'object'] self.filename = build_path_join(self.path, name + extmap['exe', 'target']) diff --git a/debian/patches/ruby-no-strict-aliasing b/debian/patches/ruby-no-strict-aliasing index f8766b0..9af816b 100644 --- a/debian/patches/ruby-no-strict-aliasing +++ b/debian/patches/ruby-no-strict-aliasing @@ -4,7 +4,7 @@ be real bugs with real consequences. --- a/Makefile.in +++ b/Makefile.in -@@ -139,7 +139,7 @@ +@@ -146,7 +146,7 @@ SWIG_PY_LIBS = @SWIG_PY_LIBS@ SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@ SWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby diff --git a/debian/patches/ruby-test-svnserve-race b/debian/patches/ruby-test-svnserve-race index fea92e2..8ab5729 100644 --- a/debian/patches/ruby-test-svnserve-race +++ b/debian/patches/ruby-test-svnserve-race @@ -15,7 +15,7 @@ Michlmayr. # Tale of a hack... # -@@ -287,11 +288,7 @@ +@@ -289,11 +290,7 @@ "-d", "--foreground") } pid, status = Process.waitpid2(@svnserve_pid, Process::WNOHANG) @@ -28,7 +28,7 @@ Michlmayr. # svnserve started successfully. Note port number and cease # startup attempts. @svnserve_port = port -@@ -357,4 +354,25 @@ +@@ -359,4 +356,25 @@ include Svnserve extend SetupEnvironment end diff --git a/debian/patches/ruby-typemap-digest b/debian/patches/ruby-typemap-digest index b2f2d39..7424344 100644 --- a/debian/patches/ruby-typemap-digest +++ b/debian/patches/ruby-typemap-digest @@ -17,7 +17,7 @@ Sent upstream: http://svn.haxx.se/dev/archive-2006-09/0536.shtml --- a/subversion/bindings/swig/include/svn_types.swg +++ b/subversion/bindings/swig/include/svn_types.swg -@@ -1093,7 +1093,7 @@ +@@ -1086,7 +1086,7 @@ #ifdef SWIGRUBY %typemap(argout) unsigned char digest[ANY] { char *digest_string = (char *)svn_md5_digest_to_cstring($1, _global_pool); diff --git a/debian/patches/ruby2.0-build-fixes b/debian/patches/ruby2.0-build-fixes deleted file mode 100644 index 799d625..0000000 --- a/debian/patches/ruby2.0-build-fixes +++ /dev/null @@ -1,26 +0,0 @@ ---- a/build/ac-macros/swig.m4 -+++ b/build/ac-macros/swig.m4 -@@ -186,7 +186,7 @@ - rbconfig="$RUBY -rrbconfig -e " - - for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \ -- rubyhdrdir sitedir sitelibdir sitearchdir libdir -+ rubyhdrdir rubyarchhdrdir sitedir sitelibdir sitearchdir libdir - do - rbconfig_tmp=`$rbconfig "print RbConfig::CONFIG@<:@'$var_name'@:>@"` - eval "rbconfig_$var_name=\"$rbconfig_tmp\"" -@@ -197,7 +197,13 @@ - AC_CACHE_CHECK([for Ruby include path], [svn_cv_ruby_includes],[ - if test -d "$rbconfig_rubyhdrdir"; then - dnl Ruby >=1.9 -- svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir -I$rbconfig_rubyhdrdir/ruby -I$rbconfig_rubyhdrdir/ruby/backward -I$rbconfig_rubyhdrdir/$rbconfig_arch" -+ svn_cv_ruby_includes="-I. -I$rbconfig_rubyhdrdir -I$rbconfig_rubyhdrdir/ruby -I$rbconfig_rubyhdrdir/ruby/backward" -+ if test -d "$rbconfig_rubyarchhdrdir"; then -+ dnl Ruby >=2.0 -+ svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyarchhdrdir" -+ else -+ svn_cv_ruby_includes="$svn_cv_ruby_includes -I$rbconfig_rubyhdrdir/$rbconfig_arch" -+ fi - else - dnl Ruby 1.8 - svn_cv_ruby_includes="-I. -I$rbconfig_archdir" diff --git a/debian/patches/series b/debian/patches/series index 5d58050..91557d0 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -14,8 +14,3 @@ python-builds examples-compile-instructions apache_module_dependency workaround_EINVAL_on_kfreebsd -ruby2.0-build-fixes -test-failure-with-optimizations -libtoolize -CVE-2014-3580 -CVE-2014-8108 diff --git a/debian/patches/ssh-no-controlmaster b/debian/patches/ssh-no-controlmaster index 3b31fd5..74d8890 100644 --- a/debian/patches/ssh-no-controlmaster +++ b/debian/patches/ssh-no-controlmaster @@ -16,7 +16,7 @@ connection sharing, but only if a ControlMaster is already present. --- a/subversion/libsvn_subr/config_file.c +++ b/subversion/libsvn_subr/config_file.c -@@ -1134,7 +1134,7 @@ +@@ -1238,7 +1238,7 @@ "### passed to the tunnel agent as <user>@<hostname>.) If the" NL "### built-in ssh scheme were not predefined, it could be defined" NL "### as:" NL @@ -27,7 +27,7 @@ connection sharing, but only if a ControlMaster is already present. "# rsh = rsh" NL --- a/subversion/libsvn_ra_svn/client.c +++ b/subversion/libsvn_ra_svn/client.c -@@ -395,7 +395,7 @@ +@@ -396,7 +396,7 @@ * versions have it too. If the user is using some other ssh * implementation that doesn't accept it, they can override it * in the [tunnels] section of the config. */ diff --git a/debian/patches/test-failure-with-optimizations b/debian/patches/test-failure-with-optimizations deleted file mode 100644 index 1435f9f..0000000 --- a/debian/patches/test-failure-with-optimizations +++ /dev/null @@ -1,102 +0,0 @@ ------------------------------------------------------------------------- -r1485480 | stefan2 | 2013-05-22 19:05:40 -0400 (Wed, 22 May 2013) | 7 lines - -Fix a snafu that prevented the optimized code path to be executed in most -cases. This affects legacy txdelta v1 data only - which is quite rare to -find these days. - -* subversion/libsvn_delta/text_delta.c - (patterning_copy): there will be no overlap past the END .. - - -Index: trunk/subversion/libsvn_delta/text_delta.c -=================================================================== ---- trunk/subversion/libsvn_delta/text_delta.c (revision 1485479) -+++ trunk/subversion/libsvn_delta/text_delta.c (revision 1485480) -@@ -669,7 +669,7 @@ - - #if SVN_UNALIGNED_ACCESS_IS_OK - -- if (end + sizeof(apr_uint32_t) <= target) -+ if (source + sizeof(apr_uint32_t) <= target) - { - /* Source and target are at least 4 bytes apart, so we can copy in - * 4-byte chunks. */ - ------------------------------------------------------------------------- ------------------------------------------------------------------------- -r1618472 | brane | 2014-08-17 07:55:54 -0400 (Sun, 17 Aug 2014) | 12 lines - -Remove some code in libsvn_delta that assumes unaligned access is safe -and therefore breaks GCC's vectorizer. The new code also attempts to -make better use of the CPU data cache. - -* subversion/libsvn_delta/text_delta.c - (fast_memcpy): Simplify the short copy loop implementation. - (patterning_copy): Do not blindly use unaligned word-size access. - Keep the data cache hot when repeating a pattern. - -Found by: Alan Modra -(Message-ID: <20140809135509.GC7047@bubble.grove.modra.org>) - - -Index: trunk/subversion/libsvn_delta/text_delta.c -=================================================================== ---- trunk/subversion/libsvn_delta/text_delta.c (revision 1618471) -+++ trunk/subversion/libsvn_delta/text_delta.c (revision 1618472) -@@ -649,9 +649,8 @@ - { - /* memcpy is not exactly fast for small block sizes. - * Since they are common, let's run optimized code for them. */ -- const char *end = source + len; -- for (; source != end; source++) -- *(target++) = *source; -+ while (len--) -+ *target++ = *source++; - } - - return target; -@@ -663,29 +662,22 @@ - static APR_INLINE char * - patterning_copy(char *target, const char *source, apr_size_t len) - { -- const char *end = source + len; -- -- /* On many machines, we can do "chunky" copies. */ -- --#if SVN_UNALIGNED_ACCESS_IS_OK -- -- if (source + sizeof(apr_uint32_t) <= target) -+ /* If the source and target overlap, repeat the overlapping pattern -+ in the target buffer. Always copy from the source buffer because -+ presumably it will be in the L1 cache after the first iteration -+ and doing this should avoid pipeline stalls due to write/read -+ dependencies. */ -+ const apr_size_t overlap = target - source; -+ while (len > overlap) - { -- /* Source and target are at least 4 bytes apart, so we can copy in -- * 4-byte chunks. */ -- for (; source + sizeof(apr_uint32_t) <= end; -- source += sizeof(apr_uint32_t), -- target += sizeof(apr_uint32_t)) -- *(apr_uint32_t *)(target) = *(apr_uint32_t *)(source); -+ target = fast_memcpy(target, source, overlap); -+ len -= overlap; - } - --#endif -+ /* Copy any remaining source pattern. */ -+ if (len) -+ target = fast_memcpy(target, source, len); - -- /* fall through to byte-wise copy (either for the below-chunk-size tail -- * or the whole copy) */ -- for (; source != end; source++) -- *(target++) = *source; -- - return target; - } - - ------------------------------------------------------------------------- diff --git a/debian/patches/workaround_EINVAL_on_kfreebsd b/debian/patches/workaround_EINVAL_on_kfreebsd index 5321f83..50b4690 100644 --- a/debian/patches/workaround_EINVAL_on_kfreebsd +++ b/debian/patches/workaround_EINVAL_on_kfreebsd @@ -1,6 +1,6 @@ --- a/subversion/bindings/swig/ruby/test/util.rb +++ b/subversion/bindings/swig/ruby/test/util.rb -@@ -369,6 +369,8 @@ +@@ -371,6 +371,8 @@ TCPSocket.new(@svnserve_host, port).close rescue Errno::ECONNREFUSED sleep(n < 10 ? 0.2 : 0.5) |