فهرست منبع

include patch to fix communication hanging with old clients

Ralf S. Engelschall 24 سال پیش
والد
کامیت
9f006f3074
2فایلهای تغییر یافته به همراه19 افزوده شده و 1 حذف شده
  1. 16 0
      cvs/cvs.patch
  2. 3 1
      cvs/cvs.spec

+ 16 - 0
cvs/cvs.patch

@@ -0,0 +1,16 @@
+Fix communication hanging in communication shutdown phase, caused by at
+least older CVS clients (version < 1.11.2) and a semantically incorrect
+usage of getc() by the server.
+
+--- cvs-1.11.2.orig/src/buffer.c	2001-08-09 21:26:35.000000000 +0200
++++ cvs-1.11.2/src/buffer.c	2002-08-22 15:40:11.000000000 +0200
+@@ -1378,8 +1378,7 @@
+ 
+     if (buf->input)
+     {
+-	if (! buf_empty_p (buf)
+-	    || getc (bc->fp) != EOF)
++	if (! buf_empty_p (buf))
+ 	{
+ # ifdef SERVER_SUPPORT
+ 	    if (server_active)

+ 3 - 1
cvs/cvs.spec

@@ -45,7 +45,7 @@ Distribution: OpenPKG [BASE]
 Group:        SCM
 License:      GPL
 Version:      %{V_cvs}
-Release:      20020819
+Release:      20020822
 
 #   list of sources
 Source0:      http://www.cvshome.org/files/19/10/cvs-%{V_cvs}.tar.gz
@@ -53,6 +53,7 @@ Source1:      ftp://riemann.iam.uni-bonn.de/pub/users/roessler/cvslock/cvslock-%
 Source2:      http://www.red-bean.com/cvs2cl/cvs2cl.pl
 Source3:      cvs.patches.rse
 Source4:      rc.cvs
+Patch0:       cvs.patch
 
 #   build information
 Prefix:       %{l_prefix}
@@ -92,6 +93,7 @@ AutoReqProv:  no
 
 %prep
     %setup0 -q -c
+    %patch0 -p0
     %setup1 -q -T -D -a 1
 %if "%{with_rse_patches}" == "yes"
     ( cd cvs-%{V_cvs}