diff --git a/.downloads/ncpfs-0.21.tgz b/.downloads/ncpfs-0.21.tgz new file mode 100644 index 0000000..6dd24cb Binary files /dev/null and b/.downloads/ncpfs-0.21.tgz differ diff --git a/Changes b/Changes index ab46edc..8704372 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,14 @@ I only began this file with ncpfs-0.12. If you're interested in older versions, you can find them on ftp.gwdg.de:/pub/linux/misc/ncpfs/old. +ncpfs-0.20 -> ncpfs-0.21 +- Included two bugfixes in ncplib.c found by Jeff Buhrt + . +- Included a bugfix in kernel code that could only show for servers + that do not support namespace calls. I should have tried ncpfs + against lwared... Thanks to Neil Turton for + this fix. + ncpfs-0.19 -> ncpfs-0.20 - Changed the home site for ncpfs from linux01.gwdg.de:/pub/ncpfs to ftp.gwdg.de:/pub/linux/misc/ncpfs. linux01 will remain available, @@ -8,7 +16,7 @@ ncpfs-0.19 -> ncpfs-0.20 mirroring linux01 please redirect your mirror software to ftp.gwdg.de. Thanks. - Removed a bug in ncplib.c that made slist require a full - login. Thanks to ndt1001@chu.cam.ac.uk (Neil Turton) for the hint. + login. Thanks to Neil Turton for the hint. - The first real user contribution: ncopy by Brian G. Reid (breid@tim.com) and Tom C. Henderson (thenderson@tim.com). Many thanks to you! If you find bugs in ncopy, tell them, not me ;-) diff --git a/Makefile b/Makefile index 2200c63..f0d93f6 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # Makefile for the linux ncp-filesystem routines. # -VERSION = 0.20 +VERSION = 0.21 TOPDIR = $(shell pwd) BINDIR = /usr/local/bin diff --git a/kernel-1.2/src/dir.c b/kernel-1.2/src/dir.c index d06318e..92cfd2a 100644 --- a/kernel-1.2/src/dir.c +++ b/kernel-1.2/src/dir.c @@ -407,7 +407,7 @@ ncp_read_volume_list(struct ncp_server *server, int fpos, int cache_size) if (ncp_get_volume_info_with_number(server, i, &info) != 0) { - return total_count; + return (total_count - fpos); } if (strlen(info.volume_name) > 0) diff --git a/ncpfs-0.20.lsm b/ncpfs-0.21.lsm similarity index 83% rename from ncpfs-0.20.lsm rename to ncpfs-0.21.lsm index f99ed77..94d74a5 100644 --- a/ncpfs-0.20.lsm +++ b/ncpfs-0.21.lsm @@ -1,7 +1,7 @@ Begin3 Title: ncpfs -Version: 0.20 -Entered-date: 25. March 1996 +Version: 0.21 +Entered-date: 26. March 1996 Description: With ncpfs you can mount volumes of your netware server under Linux. You can also print to netware print queues and spool netware print queues to the @@ -13,7 +13,7 @@ Author: lendecke@namu01.gwdg.de (Volker Lendecke) Maintained-by: lendecke@namu01.gwdg.de (Volker Lendecke) Primary-site: ftp.gwdg.de:/pub/linux/misc/ncpfs Alternate-site: sunsite.unc.edu:/pub/system/Filesystems/ - ~111k ncpfs-0.20.tgz - ~ 1k ncpfs-0.20.lsm + ~111k ncpfs-0.21.tgz + ~ 1k ncpfs-0.21.lsm Copying-policy: GPL End diff --git a/util/ncplib.c b/util/ncplib.c index 11c02cc..9bb6ea0 100644 --- a/util/ncplib.c +++ b/util/ncplib.c @@ -835,6 +835,15 @@ ncp_find_fileserver(const char *server_name, long *err) result.sipx_network = n_addr->network; result.sipx_port = n_addr->port; ipx_assign_node(result.sipx_node, n_addr->node); + + /* To make the final server reachable, we connect again. See + above. (When can we rely on all users running ipxd??? :-)) */ + memzero(conn); + if ( ((*err = ncp_connect_addr(&conn, &result, 0)) != 0) + || ((*err = ncp_do_close(&conn)) != 0)) + { + return NULL; + } return &result; } @@ -961,8 +970,16 @@ ncp_open_permanent(struct ncp_conn *conn, conn->mount_fid = open(mount_point, O_RDONLY, 0); conn->i.version = NCP_GET_FS_INFO_VERSION; ioctl(conn->mount_fid, NCP_IOC_GET_FS_INFO, &(conn->i)); - strncpy(conn->server, spec->server, sizeof(conn->server)); - strncpy(conn->user, spec->user, sizeof(conn->user)); + if (spec != NULL) + { + strncpy(conn->server, spec->server, sizeof(conn->server)); + strncpy(conn->user, spec->user, sizeof(conn->user)); + } + else + { + memset(conn->server, '\0', sizeof(conn->server)); + memset(conn->user, '\0', sizeof(conn->user)); + } strcpy(conn->mount_point, mount_point); conn->is_connected = CONN_PERMANENT; return 0;