[patch] publication for the fix of swig-py bug fixed in r1915316

2024-01-30 Thread Yasuhito FUTATSUKI
Hi, I'd like to publish the fix of swig-py bug in r1915316, the bug
which can cause crash, in the release note for Subversion 1.14.

Here is a draft I wrote, but I have no confidence about it.
Could anyoune please refine it?
[[[
Index: 1.14.html
===
--- 1.14.html   (revision 1915486)
+++ 1.14.html   (working copy)
@@ -1494,6 +1494,37 @@

  

+
+SWIG Python bindings crash on repos.replay() API (Subversion 1.14.3 only)
+  
+
+
+Subversion 1.14.3 may crash when using the SWIG Python bindings,
+by using repos.replay() API for transactions which contain many
+changes, or by using it repeatedly.
+
+This is one of regressions on the fix of
+https://issues.apache.org/jira/browse/SVN-4753;>issue #4916,
+https://issues.apache.org/jira/browse/SVN-4753;>issue #4917, and
+https://issues.apache.org/jira/browse/SVN-4753;>issue #4918,
+which are issues on Python reference counts.
+
+The regressions are double release of the None object in
+repos.replay() and leakage of reference release of the handler
+object in repos.parse_fns3().  The former can cause crash
+except on Python 3.12 (and later).
+
+This issue is fixed in
+https://svn.apache.org/r1915316;>r1915316, and the patch
+(not including additional tests) can be aquired by the command:
+
+svn diff -c 1915338 
https://svn.apache.org/repos/asf/subversion/branches/1.14.x/subversion/bindings/swig/python/libsvn_swig_py
 |\
+  python3 -c "import re,sys;[print(re.sub(r'^(---|\+\+\+|Index:) ', r'\1 
./subversion/bindings/swig/python/libsvn_swig_py/',l),end='') for l in 
sys.stdin]"
+
+
+ 
+
 
 Ruby bindings require swig 3.0.9
   


Re: svn commit: r1908547 - /subversion/trunk/subversion/svnserve/svnserve.c

2024-01-30 Thread Daniel Sahlberg
Den tis 30 jan. 2024 kl 01:39 skrev Jun Omae :

> On 2024/01/30 6:15, Daniel Sahlberg wrote:
> > Good catch! How about:
> >
> > [[[
> > Index: subversion/svnserve/svnserve.c
> > ===
> > --- subversion/svnserve/svnserve.c  (revision 1915424)
> > +++ subversion/svnserve/svnserve.c  (working copy)
> > @@ -574,7 +574,7 @@ accept_connection(connection_t **connection,
> >  || APR_STATUS_IS_ECONNABORTED(status)
> >  || APR_STATUS_IS_ECONNRESET(status));
> >
> > -  return status
> > +  return status && !sigtermint_seen
> > ? svn_error_wrap_apr(status, _("Can't accept client connection"))
> > : SVN_NO_ERROR;
> >  }
> > ]]]
>
> The `sigtermint_seen` variable is not defined if sigaction is unavailable.
> Instead, how about the following patch?
>
> [[[
> Index: subversion/svnserve/svnserve.c
> ===
> --- subversion/svnserve/svnserve.c  (revision 1915466)
> +++ subversion/svnserve/svnserve.c  (working copy)
> @@ -574,9 +574,14 @@ accept_connection(connection_t **connection,
>  || APR_STATUS_IS_ECONNABORTED(status)
>  || APR_STATUS_IS_ECONNRESET(status));
>
> -  return status
> -   ? svn_error_wrap_apr(status, _("Can't accept client connection"))
> -   : SVN_NO_ERROR;
> +  if (!status)
> +return SVN_NO_ERROR;
> +#if APR_HAVE_SIGACTION
> +  else if (sigtermint_seen)
> +return SVN_NO_ERROR;
> +#endif
> +  else
> +return svn_error_wrap_apr(status, _("Can't accept client
> connection"));
>  }
>
>  /* Add a reference to CONNECTION, i.e. keep it and it's pool valid unless
> ]]]
>

Oh, yes of course. That looks much better. Please commit!

Kind regards,
Daniel


Re: svn commit: r1915476 - /subversion/trunk/COMMITTERS

2024-01-30 Thread Daniel Sahlberg
Nice! Welcome!

Daniel

tis 30 jan. 2024 kl. 11:54 skrev :

> Author: vinc17
> Date: Tue Jan 30 10:54:12 2024
> New Revision: 1915476
>
> URL: http://svn.apache.org/viewvc?rev=1915476=rev
> Log:
> * COMMITTERS:
>   (vinc17) Add myself as a full committer.
>
> Modified:
> subversion/trunk/COMMITTERS
>
> Modified: subversion/trunk/COMMITTERS
> URL:
> http://svn.apache.org/viewvc/subversion/trunk/COMMITTERS?rev=1915476=1915475=1915476=diff
>
> ==
> --- subversion/trunk/COMMITTERS [UTF-8] (original)
> +++ subversion/trunk/COMMITTERS [UTF-8] Tue Jan 30 10:54:12 2024
> @@ -65,6 +65,7 @@ Blanket commit access:
>futatuki   Yasuhito Futatsuki 
> jun66j5   Jun Omae 
>   dsahlberg   Daniel Sahlberg 
> +vinc17   Vincent Lefevre 
>
>  [[END ACTIVE FULL COMMITTERS.  LEAVE THIS LINE HERE; SCRIPTS LOOK FOR
> IT.]]
>
>
>
>


Re: Changing the permission checks in libsvn_subr/io.c

2024-01-30 Thread Vincent Lefevre
On 2024-01-22 04:05:04 +0100, Branko Čibej wrote:
> On 13.01.2024 09:58, Daniel Sahlberg wrote:
> > Since there wasn't any replies to this and I think the code was working
> > fine in all my tests, I comitted as r1915214. Although I finally decided
> > to solve the spurious revert messages in a different way, see a separate
> > followup/committ e-mail.
> 
> I think you just made the code more complicated for no good reason. The
> situation you described and fixed applies only to working copies that are
> shared by different users.

Note that in my case, the working copy was not shared by different
users. It just happened that some files had a different owner (as
I had done a "cp" under root by mistake).

-- 
Vincent Lefèvre  - Web: 
100% accessible validated (X)HTML - Blog: 
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)