diff --git a/connect.c b/connect.c index 7c24e82..38ae5ff 100644 --- a/connect.c +++ b/connect.c @@ -573,7 +573,7 @@ static int build_path( NW_PATH *path, * returns -0x98, if volume is wrong */ { - uint8 vol[20]; + uint8 vol[256]; conn_build_path_fn(vol, path->path, (only_dir) ? (uint8)NULL : path->fn, @@ -1192,7 +1192,7 @@ int nw_search(uint8 *info, { NW_PATH nwpath; - int completition= conn_get_kpl_path(&nwpath, dirhandle, data, len, 0); + int completition = conn_get_kpl_path(&nwpath, dirhandle, data, len, 0); XDPRINTF((5,0,"nw_search path:%s:, fn:%s:, completition:0x%x", nwpath.path, nwpath.fn, completition)); if (completition > -1) { diff --git a/doc/CREDITS b/doc/CREDITS index 8cf5579..340f713 100644 --- a/doc/CREDITS +++ b/doc/CREDITS @@ -3,6 +3,9 @@ Sorry, but this list will *never* be complete. Michael Beddow translated doc for PIPE-FS +Guntram Blohm + testing router code on token ring + Uwe Bonnes many testings+notes @@ -10,7 +13,7 @@ Hardy Buchholz wrote HOWTO.ger Ales Dryak - his linware gives the kick + his linware gave the kick Volker Lendecke helps distributing @@ -18,6 +21,9 @@ Volker Lendecke James B. MacLean many testings+notes -Winfried Truemper : +Jiri A. Randus + testing bindery code + +Winfried Truemper : re-wrote `INSTALL' and added explanations to `nw.ini' diff --git a/doc/mars_nwe.lsm b/doc/mars_nwe.lsm index 3659cf4..9e551c0 100644 --- a/doc/mars_nwe.lsm +++ b/doc/mars_nwe.lsm @@ -1,7 +1,7 @@ Begin3 Title: mars_nwe -Version: 0.97.pl5 -Entered-date: 17-May-96 +Version: 0.97.pl6 +Entered-date: 21-May-96 Description: Full netware-emulator (src), beta. Supports file-services, bindery-services, printing-services, routing-services. @@ -9,7 +9,7 @@ Keywords: novell, netware, server, ipx, ncp, tli Author: mstover@freeway.de (Martin Stover) Maintained-by: mstover@freeway.de (Martin Stover) Primary-site: ftp.gwdg.de:/pub/linux/misc/ncpfs - 140kB mars_nwe-0.97.pl5.tgz + 140kB mars_nwe-0.97.pl6.tgz Alternate-site: ftp.uni-duisburg.de /pub/linux/ipxware Platforms: Linux (1.2.xx, 1.3.xx), UnixWare 2.0x Copying-policy: GNU diff --git a/examples/config.h b/examples/config.h index 8001ee0..b3a8d9d 100644 --- a/examples/config.h +++ b/examples/config.h @@ -1,7 +1,8 @@ -/* config.h: 13-May-96 */ +/* config.h: 21-May-96 */ /* some of this config is needed by make, others by cc */ #define DO_DEBUG 1 /* compile in debug code */ +#define FUNC_17_02_IS_DEBUG 1 /* allow debugging with mars_dosutils */ #define DO_TESTING 0 /* set this to "1" to test only */ @@ -9,13 +10,11 @@ # define FILENAME_NW_INI "./nw.ini" /* full name of ini (conf) file */ # define PATHNAME_PROGS "." /* where to find the executables */ # define PATHNAME_BINDERY "." /* directory for bindery-files */ -# define FUNC_17_02_IS_DEBUG 1 #else # define FILENAME_NW_INI "/etc/nwserv.conf" /* full name of ini (conf) file */ # define PATHNAME_PROGS "/sbin" /* where to find the executables */ # define PATHNAME_BINDERY "/etc" /* directory for bindery-files */ -# define FUNC_17_02_IS_DEBUG 0 #endif #define PATHNAME_PIDFILES "/var/run" /* directory for 'pidfiles' */ diff --git a/makefile.unx b/makefile.unx index 2b98eae..2e1b179 100644 --- a/makefile.unx +++ b/makefile.unx @@ -1,5 +1,5 @@ #if 0 -#makefile.unx 16-May-96 +#makefile.unx 20-May-96 #endif VPATH=$(V_VPATH) @@ -9,7 +9,7 @@ C=.c V_H=0 V_L=97 -P_L=5 +P_L=6 #define D_P_L 1 DISTRIB=mars_nwe diff --git a/net.h b/net.h index a49524d..236b1c4 100644 --- a/net.h +++ b/net.h @@ -128,7 +128,7 @@ extern int errno; # endif #else # undef FUNC_17_02_IS_DEBUG -# define FUNC_17_02_IS_DEBUG 0 +# define FUNC_17_02_IS_DEBUG 0 #endif #ifndef MAX_CONNECTIONS diff --git a/nwconn.c b/nwconn.c index 9c67ef3..8f0bda2 100644 --- a/nwconn.c +++ b/nwconn.c @@ -1451,6 +1451,12 @@ static void sig_quit(int rsig) fl_get_int=2; } +static void sig_pipe(int rsig) +{ + XDPRINTF((1, 0, "Got SIG_PIPE")); + signal(SIGPIPE, sig_pipe); +} + static void sig_hup(int rsig) { fl_get_int=1; @@ -1468,7 +1474,7 @@ static void set_sig(void) signal(SIGTERM, sig_quit); signal(SIGQUIT, sig_quit); signal(SIGINT, sig_quit); - signal(SIGPIPE, sig_quit); + signal(SIGPIPE, sig_pipe); signal(SIGHUP, sig_hup); } diff --git a/nwfile.c b/nwfile.c index 8a05046..ba1318d 100644 --- a/nwfile.c +++ b/nwfile.c @@ -199,7 +199,8 @@ int nw_set_fdate_time(uint32 fhandle, uint8 *datum, uint8 *zeit) int nw_close_datei(int fhandle, int reset_reuse) { - XDPRINTF((5, 0, "nw_close_datei handle=%d", fhandle)); + XDPRINTF((5, 0, "nw_close_datei handle=%d, anz_fhandles", + fhandle, anz_fhandles)); if (fhandle > 0 && (fhandle <= anz_fhandles)) { FILE_HANDLE *fh=&(file_handles[fhandle-1]); if (reset_reuse) fh->flags &= (~4); diff --git a/nwqueue.c b/nwqueue.c index ced863b..5519603 100644 --- a/nwqueue.c +++ b/nwqueue.c @@ -150,11 +150,17 @@ int ext_pclose(FILE_PIPE *fp) void (*intsave) (int) = signal(SIGINT, SIG_IGN); void (*quitsave)(int) = signal(SIGQUIT, SIG_IGN); void (*hupsave) (int) = signal(SIGHUP, SIG_IGN); + + int j = 3; while (j--) if (fp->fildes[j]) fclose(fp->fildes[j]); - /* kill(fp->command_pid, SIGTERM); */ - waitpid(fp->command_pid, &status, 0); + if (fp->command_pid != waitpid(fp->command_pid, &status, 0)) { + kill(fp->command_pid, SIGTERM); + waitpid(fp->command_pid, &status, 0); + } kill(fp->command_pid, SIGKILL); + + signal(SIGINT, intsave); signal(SIGQUIT, quitsave); signal(SIGHUP, hupsave); @@ -389,8 +395,8 @@ int nw_close_file_queue(uint8 *queue_id, is_ok=0; } } - if (ext_pclose(fp)) { - XDPRINTF((1,0,"Error by closing print pipe")); + if (0 != (k=ext_pclose(fp))) { + XDPRINTF((1,0,"Errorresult = %d by closing print pipe", k)); } } else XDPRINTF((1,0,"Cannot open pipe `%s`", printcommand));