Apply patch: ncpfs.mount_hang.patch
This commit is contained in:
56
.patches/ncpfs-2.2.6-r6/ncpfs.mount_hang.patch
Normal file
56
.patches/ncpfs-2.2.6-r6/ncpfs.mount_hang.patch
Normal file
@@ -0,0 +1,56 @@
|
||||
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
|
||||
11
lib/ncplib.c
11
lib/ncplib.c
@@ -188,7 +188,7 @@ int bindery_only = 0;
|
||||
#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
|
||||
@@ -1270,7 +1270,6 @@ move_conn_to_kernel(UNUSED(struct ncp_conn *conn)) {
|
||||
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;
|
||||
|
||||
@@ -1345,7 +1344,7 @@ ncp_connect_ipx_addr(struct ncp_conn *conn, const struct sockaddr_ipx *target,
|
||||
conn->ncp_sock = ncp_sock;
|
||||
conn->wdog_sock = wdog_sock;
|
||||
|
||||
conn->sequence = 0;
|
||||
conn->sequence = 255;
|
||||
conn->addr.ipx = *target;
|
||||
conn->nt = NT_IPX;
|
||||
|
||||
@@ -1428,7 +1427,7 @@ ncp_connect_in_addr(struct ncp_conn *conn, const struct sockaddr_in *target,
|
||||
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;
|
||||
@@ -1491,7 +1490,7 @@ ncp_connect_tcp_addr(struct ncp_conn *conn, const struct sockaddr_in *target,
|
||||
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;
|
||||
@@ -1614,7 +1613,7 @@ ncp_connect_un_addr(struct ncp_conn *conn, const struct sockaddr_un *target,
|
||||
conn->ncp_sock = ncp_sock;
|
||||
conn->wdog_sock = -1;
|
||||
|
||||
conn->sequence = 0;
|
||||
conn->sequence = 255;
|
||||
memset(&conn->addr, 0, sizeof(conn->addr));
|
||||
|
||||
#if 0
|
||||
|
||||
Reference in New Issue
Block a user