Update Subversion to 1.12.0. ok? diff 55ed237274dd7d331e3034ba756c8882646524b8 /usr/ports blob - 01af7d3eca1921b1ec51fc3330f5f385e5c66f93 file + devel/subversion/Makefile --- devel/subversion/Makefile +++ devel/subversion/Makefile @@ -7,7 +7,7 @@ COMMENT-ruby= ruby interface to subversion COMMENT-ap2= apache2 subversion modules COMMENT-gnome-keyring= GNOME keyring support for subversion -VERSION= 1.11.1 +VERSION= 1.12.0 DISTNAME= subversion-${VERSION:S/rc/-rc/} PKGNAME-main= subversion-${VERSION} FULLPKGNAME-perl= p5-SVN-${VERSION} @@ -21,13 +21,11 @@ FULLPKGPATH-ap2= devel/subversion,-ap2 FULLPKGNAME-gnome-keyring= gnome-keyring-subversion-${VERSION} FULLPKGPATH-gnome-keyring= devel/subversion,-gnome-keyring -REVISION-ap2= 0 - MODRUBY_REV ?= 2.5 # Work around for SHARED_LIBS not picking up MODRUBY_BINREV from ruby module MODRUBY_BINREV= ${MODRUBY_REV:S/.//} -SO_VERSION= 4.0 +SO_VERSION= 5.0 SVN_LIBS= svn_client-1 svn_delta-1 svn_diff-1 svn_fs-1 \ svn_fs_base-1 svn_fs_fs-1 svn_fs_util-1 svn_fs_x-1 \ svn_ra-1 svn_ra_serf-1 svn_ra_local-1 \ blob - c32532f863f5bbaba6c5dd650bf4bbe647387dee file + devel/subversion/distinfo --- devel/subversion/distinfo +++ devel/subversion/distinfo @@ -1,2 +1,2 @@ -SHA256 (subversion-1.11.1.tar.bz2) = nv0nUMpNcuyQNDGiS5xzK2y7hKrZt1Y/Wd2W3qW+YLs= -SIZE (subversion-1.11.1.tar.bz2) = 8499709 +SHA256 (subversion-1.12.0.tar.bz2) = f658c9igB8EHwK5es3K8C7AT2/6Wb81cWc1aGVpeLt8= +SIZE (subversion-1.12.0.tar.bz2) = 8504473 blob - fb7a2f241989dded551f36463ee0b908ac9293dd file + /dev/null --- devel/subversion/patches/patch-subversion_mod_dav_svn_repos_c +++ devel/subversion/patches/patch-subversion_mod_dav_svn_repos_c @@ -1,105 +0,0 @@ -$OpenBSD: patch-subversion_mod_dav_svn_repos_c,v 1.4 2019/01/11 15:12:26 stsp Exp $ -fix a use-after-free in mod_dav_svn: https://svn.apache.org/r1850651 -Index: subversion/mod_dav_svn/repos.c ---- subversion/mod_dav_svn/repos.c.orig -+++ subversion/mod_dav_svn/repos.c -@@ -1225,25 +1225,32 @@ create_private_resource(const dav_resource *base, - return &comb->res; - } - -- --static void log_warning(void *baton, svn_error_t *err) -+static void log_warning_req(void *baton, svn_error_t *err) - { - request_rec *r = baton; - const char *continuation = ""; - -- /* ### hmm. the FS is cleaned up at request cleanup time. "r" might -- ### not really be valid. we should probably put the FS into a -- ### subpool to ensure it gets cleaned before the request. -+ /* Not showing file/line so no point in tracing */ -+ err = svn_error_purge_tracing(err); -+ while (err) -+ { -+ ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_EGENERAL, r, "%s%s", -+ continuation, err->message); -+ continuation = "-"; -+ err = err->child; -+ } -+} - -- ### is there a good way to create and use a subpool for all -- ### of our functions ... ?? -- */ -+static void log_warning_conn(void *baton, svn_error_t *err) -+{ -+ conn_rec *c = baton; -+ const char *continuation = ""; - - /* Not showing file/line so no point in tracing */ - err = svn_error_purge_tracing(err); - while (err) - { -- ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_EGENERAL, r, "%s%s", -+ ap_log_cerror(APLOG_MARK, APLOG_ERR, APR_EGENERAL, c, "%s%s", - continuation, err->message); - continuation = "-"; - err = err->child; -@@ -1547,7 +1554,25 @@ cleanup_fs_access(void *data) - return APR_SUCCESS; - } - -+/* Context for cleanup handler. */ -+struct cleanup_req_logging_baton -+{ -+ svn_fs_t *fs; -+ conn_rec *connection; -+}; - -+static apr_status_t -+cleanup_req_logging(void *data) -+{ -+ struct cleanup_req_logging_baton *baton = data; -+ -+ /* The request about to be freed. Log future warnings with a connection -+ * context instead of a request context. */ -+ svn_fs_set_warning_func(baton->fs, log_warning_conn, baton->connection); -+ -+ return APR_SUCCESS; -+} -+ - /* Helper func to construct a special 'parentpath' private resource. */ - static dav_error * - get_parentpath_resource(request_rec *r, -@@ -2180,6 +2205,7 @@ get_resource(request_rec *r, - int had_slash; - dav_locktoken_list *ltl; - struct cleanup_fs_access_baton *cleanup_baton; -+ struct cleanup_req_logging_baton *cleanup_req_logging_baton; - void *userdata; - apr_hash_t *fs_config; - -@@ -2486,7 +2512,7 @@ get_resource(request_rec *r, - repos->fs = svn_repos_fs(repos->repos); - - /* capture warnings during cleanup of the FS */ -- svn_fs_set_warning_func(repos->fs, log_warning, r); -+ svn_fs_set_warning_func(repos->fs, log_warning_req, r); - - /* if an authenticated username is present, attach it to the FS */ - if (r->user) -@@ -2502,6 +2528,14 @@ get_resource(request_rec *r, - cleanup_baton->fs = repos->fs; - apr_pool_cleanup_register(r->pool, cleanup_baton, cleanup_fs_access, - apr_pool_cleanup_null); -+ -+ /* We must degrade the logging context when the request is freed. */ -+ cleanup_req_logging_baton = -+ apr_pcalloc(r->pool, sizeof(*cleanup_req_logging_baton)); -+ cleanup_req_logging_baton->fs = repos->fs; -+ cleanup_req_logging_baton->connection = r->connection; -+ apr_pool_pre_cleanup_register(r->pool, cleanup_req_logging_baton, -+ cleanup_req_logging); - - /* Create an access context based on the authenticated username. */ - serr = svn_fs_create_access(&access_ctx, r->user, r->pool); blob - 7a88001d6c78188184af90af74e72837761457a0 file + devel/subversion/pkg/PLIST-main --- devel/subversion/pkg/PLIST-main +++ devel/subversion/pkg/PLIST-main @@ -56,6 +56,7 @@ include/subversion-1/svn_md5.h include/subversion-1/svn_mergeinfo.h include/subversion-1/svn_nls.h include/subversion-1/svn_opt.h +include/subversion-1/svn_opt_impl.h include/subversion-1/svn_path.h include/subversion-1/svn_pools.h include/subversion-1/svn_props.h @@ -68,6 +69,7 @@ include/subversion-1/svn_string.h include/subversion-1/svn_subst.h include/subversion-1/svn_time.h include/subversion-1/svn_types.h +include/subversion-1/svn_types_impl.h include/subversion-1/svn_user.h include/subversion-1/svn_utf.h include/subversion-1/svn_version.h