From ac6fbba57ff605183e2027b43f78bb64ecc851f0 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Tue, 28 Apr 2026 20:56:04 +0200 Subject: [PATCH] Apply patch: ncpfs.mount_hang.patch --- .../ncpfs-2.2.6-r6/ncpfs.mount_hang.patch | 56 +++++++++++++++++++ lib/ncplib.c | 11 ++-- 2 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 .patches/ncpfs-2.2.6-r6/ncpfs.mount_hang.patch diff --git a/.patches/ncpfs-2.2.6-r6/ncpfs.mount_hang.patch b/.patches/ncpfs-2.2.6-r6/ncpfs.mount_hang.patch new file mode 100644 index 0000000..c346ab1 --- /dev/null +++ b/.patches/ncpfs-2.2.6-r6/ncpfs.mount_hang.patch @@ -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 diff --git a/lib/ncplib.c b/lib/ncplib.c index 214bd1b..62d7184 100644 --- a/lib/ncplib.c +++ b/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