File ncpfs.mount_hang.patch of Package ncpfs

diff -ru ncpfs-2.2.6.orig/lib/ncplib.c ncpfs-2.2.6/lib/ncplib.c
--- ncpfs-2.2.6.orig/lib/ncplib.c	2005-01-27 10:35:59.000000000 -0700
+++ ncpfs-2.2.6/lib/ncplib.c	2009-10-19 14:27:14.019898870 -0600
@@ -188,7 +188,7 @@
 #define NCP_MAX_BUFSIZE		1024
 
 #ifdef SIGNATURES
-int in_options = 2;
+int in_options = 1;		/* signatures supported - sign packets if NCP server requests it */
 #else
 int in_options = 0;
 #endif
@@ -1255,7 +1255,6 @@
 static NWCCODE ncp_finish_connect(struct ncp_conn *conn) {
 	NWCCODE err;
 
-	conn->sequence = 0;
 	conn->i.connection = get_conn_from_reply(conn->ncp_reply);
 	conn->is_connected = CONN_TEMPORARY;
 
@@ -1321,7 +1320,7 @@
 	conn->ncp_sock = ncp_sock;
 	conn->wdog_sock = wdog_sock;
 
-	conn->sequence = 0;
+	conn->sequence = 255;
 	conn->addr.ipx = *target;
 	conn->nt = NT_IPX;
 
@@ -1400,7 +1399,7 @@
 	conn->ncp_sock = ncp_sock;
 	conn->wdog_sock = -1;
 
-	conn->sequence = 0;
+	conn->sequence = 255;
 	memcpy(&conn->addr, target, sizeof(*target));
 
 	conn->nt = NT_UDP;
@@ -1459,7 +1458,7 @@
 	conn->ncp_sock = ncp_sock;
 	conn->wdog_sock = -1;
 
-	conn->sequence = 0;
+	conn->sequence = 255;
 	memcpy(&conn->addr, target, sizeof(*target));
 
 	conn->nt = NT_TCP;
@@ -1578,7 +1577,7 @@
 	conn->ncp_sock = ncp_sock;
 	conn->wdog_sock = -1;
 
-	conn->sequence = 0;
+	conn->sequence = 255;
 	memset(&conn->addr, 0, sizeof(conn->addr));
 
 #if 0
openSUSE Build Service is sponsored by