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