rpms/vpnc/devel vpnc-0.3.3-disconnect.patch, NONE, 1.1 vpnc.spec, 1.9, 1.10

Tomas Mraz (tmraz) fedora-extras-commits at redhat.com
Tue Jan 24 19:44:10 UTC 2006


Author: tmraz

Update of /cvs/extras/rpms/vpnc/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3687

Modified Files:
	vpnc.spec 
Added Files:
	vpnc-0.3.3-disconnect.patch 
Log Message:
* Tue Jan 24 2006 Tomas Mraz <tmraz at redhat.com> 0.3.3-5
- send the disconnect packet properly (patch by Laurence Moindrot)


vpnc-0.3.3-disconnect.patch:

--- NEW FILE vpnc-0.3.3-disconnect.patch ---
--- vpnc-0.3.3/tunip.c.disconnect	2005-05-05 12:25:00.000000000 +0200
+++ vpnc-0.3.3/tunip.c	2006-01-24 14:58:20.000000000 +0100
@@ -863,12 +863,7 @@
 		}
 	}
 	
-	sock = socket(AF_INET, SOCK_DGRAM, 0);
-	if (sock >= 0) {
-		sendto(sock, kill_packet, kill_packet_size, 0,
-			kill_dest, sizeof(struct sockaddr_in));
-		close(sock);
-	}
+	sendrecv(NULL,0,kill_packet,kill_packet_size,1);
 	tun_close(oursa->tun_fd, oursa->tun_name);
 	if (pidfile)
 		unlink(pidfile); /* ignore errors */
--- vpnc-0.3.3/vpnc.h.disconnect	2006-01-24 14:58:33.000000000 +0100
+++ vpnc-0.3.3/vpnc.h	2006-01-24 14:58:11.000000000 +0100
@@ -62,4 +62,6 @@
 extern const supported_algo_t *get_dh_group_ike(void);
 extern const supported_algo_t *get_dh_group_ipsec(int server_setting);
 
+extern ssize_t sendrecv(void *recvbuf, size_t recvbufsize, void *tosend, size_t sendsize, int sendonly);
+
 #endif
--- vpnc-0.3.3/vpnc.c.disconnect	2006-01-24 14:51:11.000000000 +0100
+++ vpnc-0.3.3/vpnc.c	2006-01-24 14:55:38.000000000 +0100
@@ -323,7 +323,7 @@
    new packet is put in RECVBUF of size RECVBUFSIZE and the actual size
    of the new packet is returned.  */
 
-static ssize_t
+ssize_t
 sendrecv(void *recvbuf, size_t recvbufsize, void *tosend, size_t sendsize, int sendonly)
 {
 	struct pollfd pfd;
@@ -2125,7 +2125,7 @@
 	/* Create the delete payload, now that we have all the information.  */
 	{
 		struct isakmp_payload *d_isakmp, *d_ipsec;
-		uint32_t del_msgid;
+		uint8_t del_msgid;
 
 		gcry_randomize((uint8_t *) & del_msgid, sizeof(del_msgid), GCRY_WEAK_RANDOM);
 		d_isakmp = new_isakmp_payload(ISAKMP_PAYLOAD_D);
@@ -2152,7 +2152,7 @@
 		memcpy(d_ipsec->u.d.spi[1], &s->tothem_esp_spi, 4);
 		phase2_authpacket(s, d_ipsec, ISAKMP_EXCHANGE_INFORMATIONAL,
 			del_msgid, &s->kill_packet, &s->kill_packet_size,
-			nonce, sizeof(nonce), nonce_r->u.nonce.data, nonce_r->u.nonce.length);
+			0, 0, 0, 0);
 		isakmp_crypt(s, s->kill_packet, s->kill_packet_size, 1);
 	}
 	DEBUG(2, printf("S7.8\n"));


Index: vpnc.spec
===================================================================
RCS file: /cvs/extras/rpms/vpnc/devel/vpnc.spec,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- vpnc.spec	10 Oct 2005 08:21:55 -0000	1.9
+++ vpnc.spec	24 Jan 2006 19:44:10 -0000	1.10
@@ -1,6 +1,6 @@
 Name:           vpnc
 Version:        0.3.3
-Release:        4
+Release:        5
 
 Summary:        IPSec VPN client compatible with Cisco equipment
 
@@ -13,6 +13,7 @@
 Patch1:		vpnc-0.3.3-sbin-path.patch
 Patch2:		vpnc-0.3.3-ip-output.patch
 Patch3:		vpnc-0.3.3-no-srcport.patch
+Patch4:		vpnc-0.3.3-disconnect.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  libgcrypt-devel > 1.1.90
@@ -30,6 +31,7 @@
 %patch1 -p1 -b .sbin-path
 %patch2 -p1 -b .ip-output
 %patch3 -p1 -b .no-srcport
+%patch4 -p1 -b .disconnect
 
 %build
 make PREFIX=/usr
@@ -62,6 +64,9 @@
 %ghost %verify(not md5 size mtime) %{_var}/run/vpnc/resolv.conf-backup
 
 %changelog
+* Tue Jan 24 2006 Tomas Mraz <tmraz at redhat.com> 0.3.3-5
+- send the disconnect packet properly (patch by Laurence Moindrot)
+
 * Thu Sep 22 2005 Tomas Mraz <tmraz at redhat.com> 0.3.3-4
 - improve compatibility with some Ciscos
 




More information about the fedora-extras-commits mailing list