packages: pptpd/pptpd.spec, pptpd/pptpd-1.3.4-more-reodering-fixes.patch (N...

arekm arekm at pld-linux.org
Sun Aug 29 21:07:24 CEST 2010


Author: arekm                        Date: Sun Aug 29 19:07:24 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 2; reordering fixes from gentoo

---- Files affected:
packages/pptpd:
   pptpd.spec (1.57 -> 1.58) , pptpd-1.3.4-more-reodering-fixes.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/pptpd/pptpd.spec
diff -u packages/pptpd/pptpd.spec:1.57 packages/pptpd/pptpd.spec:1.58
--- packages/pptpd/pptpd.spec:1.57	Sat May 22 18:39:50 2010
+++ packages/pptpd/pptpd.spec	Sun Aug 29 21:07:18 2010
@@ -3,7 +3,7 @@
 Summary(pl.UTF-8):	Serwer połączeń PPTP
 Name:		pptpd
 Version:	1.3.4
-Release:	1
+Release:	2
 License:	GPL
 Group:		Networking/Daemons
 Vendor:		Matthew Ramsay http://www.moretonbay.com/vpn/pptp.html
@@ -12,6 +12,7 @@
 Source1:	%{name}.init
 Patch0:		%{name}-install.patch
 Patch1:		%{name}-lib64.patch
+Patch2:		%{name}-1.3.4-more-reodering-fixes.patch
 URL:		http://www.poptop.org/
 BuildRequires:	autoconf
 BuildRequires:	automake
@@ -46,6 +47,7 @@
 %if "%{_lib}" == "lib64"
 %patch1 -p1
 %endif
+%patch2 -p1
 
 sed -i -e "s#/lib#/%{_lib}#g#" plugins/Makefile
 
@@ -102,6 +104,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.58  2010/08/29 19:07:18  arekm
+- rel 2; reordering fixes from gentoo
+
 Revision 1.57  2010/05/22 16:39:50  gotar
 - fixed Group
 

================================================================
Index: packages/pptpd/pptpd-1.3.4-more-reodering-fixes.patch
diff -u /dev/null packages/pptpd/pptpd-1.3.4-more-reodering-fixes.patch:1.1
--- /dev/null	Sun Aug 29 21:07:24 2010
+++ packages/pptpd/pptpd-1.3.4-more-reodering-fixes.patch	Sun Aug 29 21:07:18 2010
@@ -0,0 +1,58 @@
+diff -Naur pptpd-1.3.4.orig/ChangeLog pptpd-1.3.4/ChangeLog
+--- pptpd-1.3.4.orig/ChangeLog	2007-04-16 04:32:45.000000000 +0400
++++ pptpd-1.3.4/ChangeLog	2007-05-01 21:42:12.000000000 +0400
+@@ -1,3 +1,17 @@
++Tue Apr 24 13:11:28 2007  Phil Oester  <kernel at linuxace.com>
++
++	* pptpgre.c (decaps_gre): further testing has revealed a couple
++	more problems with the packet reordering/buffering code:
++
++	1) Some clients (notably the PPTP client) start their sequence
++	   numbers at 1 instead of 0 as the RFC mandates.  My previous fix
++	   caused problems with these clients.
++
++	2) Duplicate packets were causing corruption when they were placed
++	   on the queue but never used -or- when they were placed on the
++	   queue but already existed on the queue (i.e. they previously
++	   arrived out of order).
++
+ Mon Apr 16 10:32:40 2007  James Cameron  <quozl at us.netrek.org>
+ 
+ 	* pptpd-1.3.4.tar.gz: released.
+diff -Naur pptpd-1.3.4.orig/NEWS pptpd-1.3.4/NEWS
+--- pptpd-1.3.4.orig/NEWS	2007-04-16 04:32:20.000000000 +0400
++++ pptpd-1.3.4/NEWS	2007-05-01 21:42:15.000000000 +0400
+@@ -1,3 +1,5 @@
++- fix reordering some more [Oester]
++
+ 1.3.4: released 2007-04-16
+ 
+ - fix two release critical packet reordering bugs [Oester]
+diff -Naur pptpd-1.3.4.orig/pptpgre.c pptpd-1.3.4/pptpgre.c
+--- pptpd-1.3.4.orig/pptpgre.c	2007-05-01 21:35:31.000000000 +0400
++++ pptpd-1.3.4/pptpgre.c	2007-05-01 21:41:17.000000000 +0400
+@@ -403,8 +403,13 @@
+ 			stats.rx_truncated++;
+ 			return 0;
+ 		}
+-		/* check for out-of-order sequence number */
+-		if (seq == gre.seq_recv + 1) {
++		/* check for out-of-order sequence number
++		 * N.B.: some client implementations violate RFC 2637
++		 * and start their sequence numbers at 1 instead of 0,
++		 * so we have to introduce a kludge to deal with it.
++		 * on wrap we may allow an out of order packet to pass
++		 */
++		if (seq == gre.seq_recv + 1 || seq == 1) {
+ 			if (pptpctrl_debug)
+ 				syslog(LOG_DEBUG, "GRE: accepting packet #%d", 
+ 					seq);
+@@ -413,7 +418,7 @@
+ 			stats.rx_accepted++;
+ 			gre.seq_recv = seq;
+ 			return cb(cl, buffer + ip_len + headersize, payload_len);
+-		} else if (seq == gre.seq_recv) {
++		} else if (!seq_greater(seq, gre.seq_recv)) {
+ 			if (pptpctrl_debug)
+ 				syslog(LOG_DEBUG,
+ 				       "GRE: discarding duplicate or old packet #%d (expecting #%d)", 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/pptpd/pptpd.spec?r1=1.57&r2=1.58&f=u



More information about the pld-cvs-commit mailing list