From b8b0d848d6c5755415c36b949ed355b90bcc1570 Mon Sep 17 00:00:00 2001 From: jtc Date: Mon, 24 Oct 1994 22:15:56 +0000 Subject: [PATCH] Upgraded to Taylor UUCP 1.05 (Thanks to John Kohl). --- gnu/libexec/uucp/ChangeLog | 1669 +++++++++++++++++++--- gnu/libexec/uucp/Makefile.inc | 2 +- gnu/libexec/uucp/README | 107 +- gnu/libexec/uucp/TODO | 265 +++- gnu/libexec/uucp/VERSION | 2 +- gnu/libexec/uucp/common_sources/chat.c | 61 +- gnu/libexec/uucp/common_sources/config.h | 461 ++++++ gnu/libexec/uucp/common_sources/conn.c | 281 ++-- gnu/libexec/uucp/common_sources/conn.h | 25 +- gnu/libexec/uucp/common_sources/copy.c | 4 +- gnu/libexec/uucp/common_sources/cu.h | 2 +- gnu/libexec/uucp/common_sources/log.c | 224 ++- gnu/libexec/uucp/common_sources/policy.h | 182 ++- gnu/libexec/uucp/common_sources/prot.c | 10 +- gnu/libexec/uucp/common_sources/prot.h | 7 +- gnu/libexec/uucp/common_sources/sysdep.h | 50 +- gnu/libexec/uucp/common_sources/system.h | 87 +- gnu/libexec/uucp/common_sources/tcp.c | 53 +- gnu/libexec/uucp/common_sources/tli.c | 116 +- gnu/libexec/uucp/common_sources/trans.h | 24 +- gnu/libexec/uucp/common_sources/util.c | 50 +- gnu/libexec/uucp/common_sources/uuconf.h | 60 +- gnu/libexec/uucp/common_sources/uucp.h | 37 +- gnu/libexec/uucp/common_sources/uudefs.h | 25 +- gnu/libexec/uucp/tstuu.c | 25 +- 25 files changed, 3045 insertions(+), 784 deletions(-) create mode 100644 gnu/libexec/uucp/common_sources/config.h diff --git a/gnu/libexec/uucp/ChangeLog b/gnu/libexec/uucp/ChangeLog index 48a52b75a285..82353fff56a3 100644 --- a/gnu/libexec/uucp/ChangeLog +++ b/gnu/libexec/uucp/ChangeLog @@ -1,25 +1,1260 @@ -Sat Feb 13 15:57:30 1993 Ian Lance Taylor (ian@comton.airs.com) +Thu May 5 23:15:11 1994 Ian Lance Taylor (ian@airs.com) + + * Released version 1.05. + + * Makefile.in (doc-dist): Put uucp.ps in uucp-doc-$(VERSION). + +Sun May 1 23:41:49 1994 Ian Lance Taylor (ian@airs.com) + + * uuchk.c (ikshow_port): Show reliability information. + (ukshow_dialer): Likewise. + (ukshow_reliable): New function. + +Sat Apr 16 22:28:10 1994 Ian Lance Taylor (ian@airs.com) + + * Andrew A. Chernov: uucico.c (main): Pass 'z' to getopt. + (uhelp): Mention -z aka --try-next. + + * log.c (ustats): Report failed transfers when HAVE_HDB_LOGGING. + +Wed Apr 13 23:07:20 1994 Ian Lance Taylor (ian@airs.com) + + * prot.c (fsend_data): If no room in receive buffer, just write + the data out, don't call fconn_io. + +Tue Apr 12 21:55:32 1994 Ian Lance Taylor (ian@airs.com) + + * Spider Boardman: unix/serial.c (fsysdep_modem_end_dial): Set + terminal characteristics of reopened port. + +Sun Apr 10 18:05:34 1994 Ian Lance Taylor (ian@airs.com) + + * send.c (flocal_send_fail): Always call fsysdep_did_work. + (flocal_send_await_reply): Don't call flocal_send_fail if we are + going to call fsend_exec_file_init. Only call + fsend_exec_file_init if fnever is TRUE. Pass fnever to + flocal_send_cancelled using the qinfo->fsent flag. + (flocal_send_cancelled): Only call fsend_exec_file_init if + qinfo->fsent is TRUE. + + * unix/statsb.c (fsysdep_lock_status): If HAVE_QNX_LOCKFILES, + initialize painid to NULL. + +Tue Apr 5 23:09:00 1994 Ian Lance Taylor (ian@airs.com) + + * Released version gamma 1.05. + + * Makefile.in (VERSION): Changed to gamma1.05. + + * uucico.c (fcall): Return TRUE if -C was used and no call was + made because there was no work. + +Mon Apr 4 20:29:30 1994 Ian Lance Taylor (ian@airs.com) + + * Chris Lewis: unix/serial.c: Include if + HAVE_TXADDCD. Check for HAVE_TXADDCD rather than ifdef TXADDCD or + TXDELCD. + + * configure.in: Check for TXADDCD in . + * config.h.in (HAVE_TXADDCD): New configuration macro. + +Sun Apr 3 14:05:30 1994 Ian Lance Taylor (ian@airs.com) + + * send.c (flocal_send_request): Queue stransfer structure up + before sending any command or data, because sending data may cause + data to be received for this stransfer, and we must be prepared to + handle it correctly. + (fremote_rec_reply): Likewise. + * rec.c (flocal_rec_send_request, fremote_send_reply): Likewise. + (fremote_send_fail_send): Likewise. + * xcmd.c (flocal_xcmd_request): Likewise. + + * Chris Lewis: unix/serial.c (fsserial_hardflow): Add support for + AIX TXADDCD and 3b1 CTSCD. + +Sat Apr 2 00:04:30 1994 Ian Lance Taylor (ian@airs.com) + + * policy.h (USE_TRADITIONAL_STATUS): Permit this to be defined. + * lib/status.c: Control initialization of azStatus based on + USE_TRADITIONAL_STATUS rather than SPOOLDIR_HDB || SPOOLDIR_SVR4. + +Fri Apr 1 23:52:09 1994 Ian Lance Taylor (ian@airs.com) + + * log.c (ulog): When using HAVE_HDB_LOGGING, force the program + name to lower case when using it as a file name. + + * send.c (flocal_send_await_reply): Correct code to really not + decrement number of channels to one. + * rec.c (flocal_rec_await_reply): Likewise. + +Wed Mar 30 22:57:30 1994 Ian Lance Taylor (ian@airs.com) + + * lib/buffer.c (ubuffree): Change ioff from size_t to int to avoid + HP/UX compiler bug. + + * configure.in: Make sure that defines struct utimbuf + before assuming that it is present. + +Tue Mar 29 23:00:15 1994 Ian Lance Taylor (ian@airs.com) + + * uuconf/filnam.c: Use UUCONF_CONST, not const, to match + declaration in uuconf.h. + +Mon Mar 28 20:06:00 1994 Ian Lance Taylor (ian@airs.com) + + * Andrew A. Chernov: policy.h: For several macros, add commented + out values appropriate for some free BSD distributions. + * Makefile.in: Likewise. + + * uucico.c (icallin_cmp): Use pointer, not void *. + * uuconf/callin.c (struct sinfo, uuconf_callin): Likewise. + + * Chris Lewis: uuconv.c (fvperm_string_cmp, fvperm_array_cmp): AIX + 3.2.5 cc can't handle conditional expressions in if conditions. + +Sun Mar 27 15:04:27 1994 Ian Lance Taylor (ian@airs.com) + + * send.c (flocal_send_fail): Don't assume that qtrans is not NULL. + + * Jeff Ross, Stephen J. Walick: Makefile.in (uusched): Substitute + for @SBINDIR@, not @BINDIR@. + + * configure.in: Make sure that defines struct dirent + before assuming that it is present. + + * Benoit Grange: unix/detach.c (usysdep_detach): Correct type of + HAVE_BSD_SETPGRP for HAVE_BSD_PGRP. + +Sat Mar 26 12:59:36 1994 Ian Lance Taylor (ian@airs.com) + + * Andrew A. Chernov: uucico.c (asLongopts): Add --try-next as + synonym for -z. + (main): If -z, call fcall with ftrynext as TRUE. + (fcall): Add ftrynext argument. If ftrynext is TRUE, try the next + alternate if a call fails. + +Fri Mar 25 22:37:51 1994 Ian Lance Taylor (ian@airs.com) + + * lib/parse.c (fparse_cmd): If we get a decimal 666 or 777 for the + mode, turn it into an octal 0666 or 0777. + + * send.c (flocal_send_fail): Accept qdaemon argument rather than + qsys. Changed all callers. If we are going to send an execution + file, don't call fsysdep_did_work. + + * protg.c (fgstart): Say ``sending'' and ``receiving'' instead of + ``remote'' and ``local'' in log message. + * proti.c (fijstart): Likewise. + +Thu Mar 24 22:40:49 1994 Ian Lance Taylor (ian@airs.com) + + * Gert Doering: uuchk.c (ikshow_port): Don't use qtli for a TCP + port. + + * Makefile.in (uusched, uuto): Fix typo in sed command. + + * unix/mail.c (fsysdep_mail): Add casts to avoid warnings. + * uuconf/runuxq.c (uuconf_runuuxqt): Likewise. + + * Emmanuel Mogenet: unix/pipe.c (fspipe_dial): Make consistently + static. + + * unix/serial.c (fsserial_open): Only strip /dev/ from the start + of a device name, rather than dropping everything before the last + slash. + + * sysh.unx (ftw): Change stat argument to not be const pointer. + * unix/ftw.c (ftw_dir, ftw): Change stat argument to func argument + to not be const pointer. + * unix/srmdir.c (isremove_dir): Change stat argument to not be + const pointer. + * unix/walk.c (iswalk_dir): Likewise. + +Wed Mar 23 20:02:26 1994 Ian Lance Taylor (ian@airs.com) + + * conn.c (fconn_break): Remove incorrect indirection of function + pointer. + + * unix/mkdirs.c (fsysdep_make_dirs): Some systems can return + EACCES, not EEXIST, when a directory exists. + + * configure.in: Fix STAT_STATFS2_FSIZE test. + * configure: Regenerated. + +Tue Mar 22 01:32:21 1994 Ian Lance Taylor (ian@airs.com) + + * uucico.c (main): Skip a leading dash in argv[0] which is + probably the result of being invoked by the Unix login program. + + * configure.in: Check for sys/time.h. + * config.h.in (HAVE_SYS_TIME_H): Define. + + * unix/serial.c (fsysdep_modem_begin_dial): Correct type of q for + qsysdep. + + * uux.c (main): Check for zXnames being NULL. + +Sat Mar 19 14:07:31 1994 Ian Lance Taylor (ian@airs.com) + + * Released version beta 1.05. + + * Makefile.in (uucp.info): Use -o argument to force info files to + be created in objdir. + (doc-dist): Get README-DOC from $(srcdir). + + * lib/debug.c (iDebug, azDebug_names, idebug_parse): Only compile + if DEBUG > 1. + +Mon Feb 14 22:46:49 1994 Ian Lance Taylor (ian@airs.com) + + * lib/strtou.c: New file, for strtoul. + * lib/MANIFEST: List strtou.c. + * configure.in: Check for strtoul, add strtou.o to LIBOBJS if not + there. + * config.h.in (HAVE_STRTOUL): Define. + * uucp.h (strtoul): Declare. + +Mon Jan 31 20:17:30 1994 Ian Lance Taylor (ian@airs.com) + + * Makefile.in, lib/Makefile.in, unix/Makefile.in, + uuconf/Makefile.in: Use $(CFLAGS) after all other flags. + +Sun Jan 30 14:34:51 1994 Ian Lance Taylor (ian@airs.com) + + * Makefile.in (clean, distclean, dist, doc-dist): Remove .tar.gz + file, not .tar.Z one. + (dist, doc-dist): Use gzip --best, not compress. + + * Makefile.in (VERSION): Set to beta1.05. + + * cu.c, uuchk.c, uucico.c, uuconv.c, uucp.c, uulog.c, uuname.c, + uupick.c, uustat.c, uux.c, uuxqt.c: Updated copyright date. + + * conn.c (fconn_init): Added third argument: type of standard + input port. + * conn.h (fconn_init): Updated declaration. + * uucico.c (asLongopts): Added --stdin, synonym for -i. + (main): Accept -i TLI to set standard input to be of type TLI. + Pass appropriate additional argument to fconn_init. + (uhelp): Updated. + (fconn_call, iuport_lock): Changed all calls to fconn_init. + * cu.c: Changed all calls to fconn_init. + * prot.c, protj.c: Include uuconf.h before conn.h. + * Makefile.in (prot.o, protj.o): Updated. + + * unix/serial.c (fsysdep_conn_read): Permit up to two EWOULDBLOCK + error returns from read before quitting. + +Sat Jan 22 16:48:41 1994 Ian Lance Taylor (ian@airs.com) + + * uuconf/hinit.c: Don't treat lines with leading whitespace as + comments in Sysfiles. + + * log.c: Don't require ANSI C to use vfprintf, just require + stdarg.h and prototypes. Required for Alpha cc support. + + * configure.in: Check for prototype support. Check for stdarg.h. + When looking for socket and t_open check for "-lsocket -lnsl" + after plain "-lnsl". + * config.h.in (HAVE_PROTOTYPES, HAVE_STDARG_H): New macros. + * uucp.h: Demand that an ANSI C compiler support prototypes. If + HAVE_PROTOTYPES is 1 for Classic C, defined P(x) to be x. + + * configure: Upgraded to autoconf 1.7. + + * protg.c (fgstart): Ensure that window size is reasonable. + + * protg.c (fvstart): Change default packet size from 512 to 1024. + + * trans.h (struct sdaemon): Added zconfig, irunuuxqt, and + cxfiles_received fields. + (fspawn_uuxqt): Declare. + * uucico.c (fcall, flogin_prompt, faccept_call): Added zconfig and + fuuxqt arguments; changed all callers. + (main): Use fspawn_uuxqt to invoke uuxqt, and only do it if + uuconf_runuuxqt returns UUCONF_RUNUUXQT_ONCE. + (fcall, faccept_call): Initialize new struct sdaemon fields. + Spawn uuxqt if uuconf_runuuxqt returned UUCONF_RUNUUXQT_PERCALL or + if it returned a positive number and execution files have arrived + since the last time uuxqt was spawned. + (fspawn_uuxqt): New function. + * rec.c (frec_file_end): Spawn uuxqt if enough execution files + have been received. + + * uuconf.h (UUCONF_RUNUUXQT_NEVER, UUCONF_RUNUUXQT_ONCE, + UUCONF_RUNUUXQT_PERCALL): New #define constants. + (uuconf_runuuxqt): Declare. + * uuconf/runuxq.c: New file. + * uuconf/uucnfi.h (struct sprocess); Added zrunuuxqt field. + * uuconf/tinit.c (asCmds): Added "run-uuxqt". + * uuconf/iniglb.c (_uuconf_iinit_global): Initialize zrunuuxqt + field. + * uuconf/MANIFEST, uuconf/Makefile.in: Handle runuxq.c. + + * system.h (fsysdep_run): Added ffork argument. + * unix/run.c (fsysdep_run): Added ffork argument. + * uucico.c (main), uux.c (main), uucp.c (main): Changed calls to + fsysdep_run to pass ffork argument as FALSE. + +Fri Jan 14 19:40:20 1994 Ian Lance Taylor (ian@airs.com) + + * Chip Salzenberg: unix/splcmd.c (zsysdep_spool_commands): More + fitting value for size of abtempfile. + +Mon Jan 10 22:46:52 1994 Ian Lance Taylor (ian@airs.com) + + * unix/recep.c (fsysdep_remember_reception): Create directory with + mode of 0755, not 0777. + +Mon Jan 3 20:34:35 1994 Ian Lance Taylor (ian@airs.com) + + * protg.c (fgprocess_data): Don't believe the ACK of an out of + order packet. + + * uucico.c (asProtocols): Added 'v'. + * prot.h (fvstart): Declare. + * protg.c (fvstart): New function. + +Sun Jan 2 15:34:12 1994 Ian Lance Taylor (ian@airs.com) + + * uucico.c (main), uucp.c (main), uux.c (main): Pass -I argument + to invoked program. + + * uustat.c (JOB_REJUVENATE): Define. + (asLongopts): Add "rejuvenate-all". + (main, ususage): Handle -R. + (fsworkfile_show, fsexecutions): Handle JOB_REJUVENATE. + * system.h (fsysdep_touch_file): Declare. + * unix/statsb.c (issettime): Rename from ussettime. + (fsysdep_touch_file): Create. + + * Jim Avera: system.h: (INIT_NOCLOSE): Define. + * unix/init.c (usysdep_initialize): If INIT_NOCLOSE is set, don't + close all open descriptors. + + * Allen Delaney: tli.c: Don't declare t_alloc if we have + , since it can cause conflicts. + + * configure.in: Call AC_CONST. + * config.h.in: Added #undef const for configure to comment out. + * uucp.h: Don't undefine const here. + + * Spider Boardman: uucico.c (main): Correct error message. + uux.c (main), uucp.c (main): Call uucico with -C option. + + * tstuu.c (uprepare_test): Don't put the obsolete pty command into + the port file. + + * spawn.c (ixsspawn): Set close-on-exec flag for both ends of + new pipe. + + * Andrew A. Chernov: unix/serial.c (ICLEAR_IFLAG): Clear IMAXBEL + if it is defined. + (ICLEAR_LFLAG): Clear PENDIN if it is defined. + + * send.c (flocal_send_file_init): If stat fails, discard the + command and save the temporary file. + (flocal_send_fail): Cleaned up zsysdep_save_temp_file call. + +Thu Dec 23 00:55:22 1993 Ian Lance Taylor (ian@airs.com) + + * Martin Tomes: spawn.c (ixsspawn): On ISC, call __setostype + before execve. + +Wed Dec 22 00:06:25 1993 Ian Lance Taylor (ian@airs.com) + + * uuconf/tport.c (ipunknown): Set UUCONF_CMDTABRET_EXIT if an + error is found. + + * uucico.c (asLongopts): Add --login as a synonym for -u. + (main): Permit a privileged user to use -u to set the login name + rather than always using zsysdep_login_name (). + (flogin_prompt): Accept login name as an argument. If non-null, + use it rather than prompting for one. + (uhelp): Document new --login option. + * uucico.8: Document new --login option. + * unix/priv.c: New file, containing fsysdep_privileged. + * unix/statsb.c (fsysdep_privileged): Moved to priv.c. + * unix/MANIFEST, unix/Makefile.in: Support new priv.c file. + + * uuchk.c (ikshow_port): Print a note when using the port name as + a device name. + +Tue Dec 21 00:01:40 1993 Ian Lance Taylor (ian@airs.com) + + * uucico.c (fcall): Ignore status file times in the future when + deciding whether a retry is permitted. + + * detach.c (usysdep_detach): If it forks, output a debugging + message with the old and new process IDs. + + * Scott Ballantyne: unix/spawn.c (ixsspawn): If fkeepuid is TRUE, + try to set the real user and group ID to the effective user and + group ID. This will not work on System V derived systems, but + should do no harm. + * unix/xqtsub.c (fsysdep_execute): Pass fkeepuid as TRUE to + ixsspawn. + * unix/epopen.c (espopen): Likewise. + + * uucico.c (faccept_call): Use correct default for + max-remote-debug. + + * uuconf/tportc.c (ipdialer): Don't core dump if the port name is + NULL, as it is for the default port. + + * unix/xqtsub.c (fsysdep_xqt_check_file): Do not permit the name + ``..'', or strings starting with ``../''. + + * proti.c (fijstart): Send a fourth byte in the SYNC packet with + the number of channels. + (fiprocess_packet): If a SYNC packet has a fourth byte, use it to + set the number of channels. + + * rec.c (flocal_rec_await_reply): Handle RN9 (no channels + available on remote). + * send.c (flocal_send_await_reply): Handle SN9 (no channels + available on remote). + + * trans.h (struct sdaemon): Added cchans field. + * uucico.c (fcall, fdo_call, faccept_call): Initialize cchans. + * trans.c (utchanalc, fcheck_queue, floop): Use qdaemon->cchans, + not qdaemon->qproto->cchans. + * send.c (flocal_send_request, flocal_send_await_reply): Likewise. + * rec.c (fremote_send_fail): Likewise. + +Sun Dec 19 19:44:31 1993 Ian Lance Taylor (ian@airs.com) + + * proti.c (cIack_frequency): New static variable. + (asIproto_params): New protocol parameter ack-frequency. + (fijstart): If cIack_frequency is not set, set it to half the + window size. + (fishutdown): Clear cIack_frequency. + (fiprocess_data): Use cIack_frequency to determine when to send an + acknowledgement, rather than always sending one at half the window + size. + + * uuconf/cmdfil.c (uuconf_cmd_file): Free zline. + + * uuconf/callin.c (uuconf_callin): Treat colon as a field + delimiter, for Unix /etc/passwd support. + + * unix/xqtsub.c (zsysdep_find_command): If file named with + absolute path does not exist, give a reasonable error message. + + * uuconf/rdperm.c (ihadd_norw): Ignore use of empty string with + NOREAD or NOWRITE, rather than denying everything. + + * Chip Salzenberg: uulog.c (main): Set zluser correctly under + HAVE_HDB_LOGGING. + + * Chip Salzenberg: protz.c (izrecv_hdr): Use %lx, not %x. + +Sun Dec 12 19:24:35 1993 Ian Lance Taylor (ian@airs.com) + + * uucp.c (uccopy): Null terminate name of forwarding system. + +Mon Nov 22 21:12:41 1993 Ian Lance Taylor (ian@airs.com) + + * unix/tmpfil.c: Include "uudefs.h". + * unix/Makefile.in: Changed accordingly. + + * log.c (zstpcpy): New function. + (ulog): Output to log file with a single call to fprintf. + + * uucp.c (uccopy): Clarified "not permitted to send" error. + + * log.c (ulog): If debugging is on, output all log messages to + debugging file. + + * uucico.c (fdo_call): Changed "Bad initialization string" error + message. + + * unix/lock.c (fsdo_lock): Print date a stale lock was last + modified. + + * uucico.c (uaccept_call_cleanup): Call ulog_system (NULL). + +Sun Nov 21 17:04:27 1993 Ian Lance Taylor (ian@airs.com) + + * Joe Wells: policy.h: Added new parameter LOG_DEVICE_PREFIX. + * unix/serial.c (fsserial_open): Use it. + + * Makefile.in: Always use CFLAGS as well as LDFLAGS when linking. + + * Joe Wells: policy.h: Added new parameter QNX_LOG_NODE_ID. + * log.c (ulog): Log the QNX node ID if QNX_LOG_NODE_ID is set. + + * Joe Wells: unix/serial.c: Support QNX dev_info function for + serial port locking. + + * Joe Wells: unix/fsusg.c: Support QNX disk_space function. + * unix/Makefile.in: fsusg.o now depends upon uudefs.h. + + * Joe Wells: policy.h: Changed PS_PROGRAM default for __QNX__. + Added HAVE_QNX_LOCKFILES. Rearranged LOCKFILE defines to permit + some default selections. + * sysh.unx: Removed LOCKFILES sanity check. + * unix/lock.c (fsdo_lock, fsqnx_stale), unix/serial.c + (fsserial_lockfile), unix/statsb.c (fsysdep_lock_status): Added + support for HAVE_QNX_LOCKFILES. + + * configure.in, config.h.in, policy.h: Moved MAIL_PROGRAM to + policy.h. Added MAIL_PROGRAM_TO_BODY and + MAIL_PROGRAM_SUBJECT_BODY. + * unix/mail.c: Updated accordingly. + + * uucico.c (main): Don't make -p imply -e. + (uhelp): Modified accordingly. + * uucico.8: Modified accordingly. + +Mon Nov 1 21:34:36 1993 Ian Lance Taylor (ian@airs.com) + + * uucico.c (main): Call fconn_close and fconn_open rather than + calling fconn_reset. + * conn.h (struct sconncmds): Removed pfreset field. + (fconn_reset): Removed declaration. + * conn.c (fconn_reset): Removed. + * tcp.c (ftcp_reset): Removed. + (ftcp_open): Save pid in ssysdep_conn information. + (ftcp_close): If pid has changed, return FALSE. + * tli.c (ftli_reset): Removed. + (ftli_open): Save pid in ssysdep_conn information. + (ftli_close): If pid has changed, return FALSE. + * unix/pipe.c (fspipe_close): Replaced with fspipe_reset body. + (fspipe_reset): Removed. + (fspipe_dial): Call fspipe_close, not fspipe_reset. + * unix/serial.c (fsserial_reset, fsstdin_reset): Removed. + (fsysdep_modem_begin_dial): Hangup terminal here, rather than + calling fconn_reset. + + * send.c (fremote_rec_reply): If we want to request hangup, send + an M after the mode. + * rec.c (flocal_rec_await_reply): If there an M after the mode, + the remote is requesting a hangup. + +Sun Oct 31 23:43:40 1993 Ian Lance Taylor (ian@airs.com) + + * uux.c (zXnames): New static variable to hold list of file names + being sent. + (uxadd_name): Function to add a new name. + (main, uxadd_send_file): Call uxadd_name. + (main): Include zXnames in log message. + +Mon Oct 18 00:23:27 1993 Ian Lance Taylor (ian@airs.com) + + * proti.c (fijstart): Ensure that packet size and window size are + reasonable; restrict window size to 16. + + * proti.c (iIforced_remote_winsize): Removed, along with all + references. + (asIproto_params): Removed "remote-window". + +Sun Oct 17 22:15:14 1993 Ian Lance Taylor (ian@airs.com) + + * Mark Delany: protg.c (cGremote_duprrs): New static variable. + (fgstart): Initialize it. + (fgshutdown): Count rejects as cGremote_duprrs + cGremote_rejects. + (fgprocess_data): If cGremote_rejects is non-zero, don't treat + duplicate RR as reject. Count duplicate RR's in cGremote_duprrs, + not cGremote_rejects. + + * Mark Delany: unix/serial.c (fsdouble_chat, fsysdep_conn_chat): + After running a chat program, reread the terminal characteristics. + +Wed Oct 13 20:46:46 1993 Ian Lance Taylor (ian@airs.com) + + * uucico.c (fdo_call): Fix typo. + +Thu Oct 7 22:28:45 1993 Ian Lance Taylor (ian@airs.com) + + * unix/app3.c (zsappend3), unix/app4.c (zsappend4), unix/ftw.c + (ftw), unix/sindir.c (zsysdep_in_dir): Don't duplicate '/' + character for root directory. + + * send.c (flocal_send_await_reply): If an SN comes in while the + file is being sent, seek to the end rather than setting fsendfile + to FALSE. + (flocal_send_cancelled): Don't send an empty packet. + * trans.c (utransfree): Set e field to EFILECLOSED when debugging. + (floop): Check for file send cancelled at top of loop, not middle. + + * uucp.h (ffileseekend): Define. + +Wed Oct 6 00:51:08 1993 Ian Lance Taylor (ian@airs.com) + + * proti.c (fisenddata, fiprocess_packet): Report channel numbers + in debugging messages. + +Tue Oct 5 00:00:33 1993 Ian Lance Taylor (ian@airs.com) + + * unix/statsb.c (fsysdep_lock_status): Only report the status of a + particular job once, no matter how many lock files it has. + + * uustat.c (fsnotify): Added itime argument. Changed all callers. + Report time job was queued in mail message. + + * unix/cusub.c (fsysdep_terminal_raw): For TERMIO and TERMIOS, + clear IXON, IXOFF and IXANY (TERMIO only) in c_iflag. + + * Lele Gaifax: log.c (ustats): Report device name. + + * log.c (ulog): Use zsysdep_base_name of zProgram. + + * uuxqt.c (main): Accept local system name and unknown system + names for -s argument. zsysdep_get_xqt may return an alias. + +Wed Sep 29 00:13:39 1993 Ian Lance Taylor (ian@airs.com) + + * proti.c (fiprocess_packet): If sending an ACK for a NAK, don't + also send a packet. + + * unix/serial.c (fsysdep_modem_end_dial): If TIOCWONLINE is not + defined, reopen the port to wait for carrier. + + * policy.h: Use __ultrix__ as well as ultrix in check for + HAVE_STRIP_BUG. + +Tue Sep 28 22:25:05 1993 Ian Lance Taylor (ian@airs.com) + + * Marcel Waldvogel: uuchk.c (ukshow): Don't die if the call out + file can not be opened. + +Sun Sep 19 00:16:01 1993 Ian Lance Taylor (ian@airs.com) + + * Jason Molenda: policy.h (HAVE_SEQUENT_LOCKFILES): New + configuration parameter. + * sysh.unx, unix/serial.c: Implement it. + + * uulog.c (main): Ignore any errors when trying to canonicalize + the system name. + + * Marcel Waldvogel: uucico.c (faccept_call): If the calling system + is already locked, and we are using sequence numbers for it, + increment the local sequence number to keep in synch. + + * unix/sleep.c (usysdep_sleep): If usysdep_pause is accurate, use + it. Otherwise call sleep, but always for at least two seconds. + * chat.c (fcsend): Call usysdep_sleep with 1, not 2. + + * unix/pause.c: Correct USE_SELECT_TIMER to HAVE_SELECT. + + * unix/serial.c (fsmodem_open): Only turn on hardware flow control + for an incoming connection. + (fsmodem_carrier): Turn on hardware flow control after turning on + carrier. Turn off hardware flow control before turning off + carrier. + + * uuxqt.c (uqdo_xqt_file): Use known system name, not system name + from execution file, unless the former is a prefix of the latter. + +Sat Sep 18 16:53:41 1993 Ian Lance Taylor (ian@airs.com) + + * policy.h: Add HAVE_ENCRYPTED_PASSWORDS configuration parameter. + * callin.c: Change interface to use a passed in comparison + function. + * uuconf.h: Change declaration of uuconf_callin. + * uucico.c (flogin_prompt): Change call to uuconf_callin. + (icallin_cmp): New function. Handle HAVE_ENCRYPTED_PASSWORDS. + + * Hans-Dieter Doll: chat.c (fchat): Permit \W at the end of an + expect string to specify a timeout. + + * util.c (zremove_local_sys): New function. + * uudefs.h: Declare zremove_local_sys. + * uucp.c (main): Read local system information. Ignore local + system name in front of arguments. + * uux.c (main): Ignore local system name in front of arguments. + + * configure.in: Call AC_HAVE_POUNDBANG, AC_STAT_MACROS_BROKEN, + AC_TIME_WITH_SYS_TIME, AC_STRUCT_TM. Call AC_SUBST(POUNDBANG). + Remove HAVE_SYS_TIME_AND_TIME_H check. Rework disk space + configuration to actually check for the functions. Check for + function dev_info. Don't confuse HAVE_FTW_H and HAVE_FTW (from + Joe Wells). + * config.h.in (STAT_MACROS_BROKEN, TM_IN_SYS_TIME, STAT_DUSTAT, + STAT_DISK_SPACE, HAVE_DEV_INFO): New macros set by configure. + (TIME_WITH_SYS_TIME): Renamed from HAVE_SYS_TIME_AND_TIME_H. + * Makefile.in (POUNDBANG): Set to @POUNDBANG@. + (uusched, uuto): If POUNDBANG = no, turn #!/bin/sh into :. + (config.status): Use config.status --recheck. + (configure): Chdir to $(srcdir) before running autoconf. + * sysh.unx: If STAT_MACROS_BROKEN, undefine S_ISDIR. + * log.c, time.c, uustat.c, unix/loctim.c: If TM_IN_SYS_TIME, + include , not . + * tstuu.c, unix/pause.c, unix/proctm.c, unix/serial.c: Rename + HAVE_SYS_TIME_AND_TIME_H to TIME_WITH_SYS_TIME. + * fsusg.c: Check STAT_DUSTAT, not _AIX and _I386. + + * config.h.in: Renamed from conf.h.in. + * MANIFEST, configure.in, Makefile.in, lib/Makefile.in, + unix/Makefile.in, uuconf/Makefile.in, uucp.h: conf.h renamed to + config.h. + +Fri Sep 17 00:36:16 1993 Ian Lance Taylor (ian@airs.com) + + * Joe Wells: policy.h: If __QNX__, default to HAVE_POSIX_TERMIOS. + + * Joe Wells: Makefile.in (FORCE): Add dummy command to work around + QNX make bug. + + * Makefile.in, lib/Makefile.in, unix/Makefile.in, + uuconf/Makefile.in: Add .PHONY declaration for appropriate + commands. + + * Joe Wells: Makefile.in (install): Create $(man1dir) and + $(man8dir) if necessary. + (install-info): Create $(infodir) if necessary. + + * Joe Wells: sysh.unx (bsgrade): Declare as returning int rather + than char, since it can return a negative number. + * unix/work.c (bsgrade): Define as returning int. + + * Joe Wells: unix/lock.c (fsdo_lock), unix/statsb.c + (fsysdep_lock_status): Use pid_t rather than int for variables + that hold pid's. Cast to long when using printf. + + * Joe Wells: uucico.c (fcall): Fix test for 24 hour check when too + many retries. + + * Joe Wells: uucico.c (fcall), unix/opensr.c + (esysdep_open_receive), unix/recep.c (fsysdep_already received): + Cast values in multiplication to determine seconds per day or per + week to long, because result is larger than 16 bits. + + * Joe Wells: uuconv.c: Add return 0 after exit to avoid warnings. + +Thu Sep 16 23:53:58 1993 Ian Lance Taylor (ian@airs.com) + + * Joe Wells: configure.in: Set AR from environment, defaulting to + ar, and substitute it in Makefiles. + * Makefile.in: Set AR to @AR@. Pass it down in MDEFINES. + * lib/Makefile.in, unix/Makefile.in, uuconf/Makefile.in: Set AR to + @AR@. Use $(AR) instead of ar. Use rc instead of qc (POSIX.2 + does not define q). + +Wed Sep 15 00:47:33 1993 Ian Lance Taylor (ian@airs.com) + + * uuconf/callin.c (uuconf_callin): Take an additional argument: a + function to call to transform the login name and password. This + is a hack to avoid requiring escape sequence handling in uuconf. + * uucico.c (flogin_prompt): Pass cescape to uuconf_callin. This + is an incompatible change. + * uuconf.h (uuconf_callin): Update declaration. + * tstuu.c (uprepare_test): Use \s in password in Call1 and Pass2. + + * chat.c (fcsend, fcprogram): Expand escape sequences in callout + login names and passwords. This is an incompatible change. + + * Joe Wells: uustat.c (fsnotify): Add missing break statement. + + * Mark Eichin: tstuu.c (main): Add some sleeps in the children to + make the tests more robust on Linux. + + * uulog.c (ulhelp): Clean up general usage message: don't show -F + for HDB_LOGGING, don't show -x for non HDB_LOGGING. Remove + mention of numeric debugging levels. + * uustat.c (ushelp): Remove mention of numeric debugging levels. + + * unix/serial.c (ICLEAR_CFLAG): Removed CLOCAL. + (enum tclocal_setting): New enum. + (fsserial_lock): Don't call TIOCSCTTY. + (fsserial_open): Changed flocal argument to tlocal. Use it to + determine initial CLOCAL setting for TERMIO and TERMIOS. Don't + call TIOCSCTTY until after setting the terminal state. + (fsstdin_open): Call fsserial_open with IGNORE_CLOCAL. + (fsmodem_open): Call fsserial_open with SET_CLOCAL if calling out, + CLEAR_CLOCAL if waiting for an incoming call. + (fsdirect_open): Call with SET_CLOCAL or CLEAR_CLOCAL depending + upon fcarrier setting. + * uuconf.h (struct uuconf_direct_port): Added fcarrier field. + * uuconf/tportc.c (asPdirect_cmds): Added ``carrier'' command. + (_uuconf_iport_cmd): Initialize direct fcarrier field to FALSE. + * uuconf/hport.c (uuconf_hdb_find_port), uuconf/vport.c + (uuconf_v2_find_port): Set direct fcarrier field to FALSE. + * uuchk.c (ikshow_port): Print direct port carrier field. + * uuconv.c (uvwrite_taylor_port): Likewise. + + * uustat.c (main, fsquery, fsquery_systems, fsquery_show): Support + -o, -y, -s and -S in conjunction with -q. + +Tue Sep 14 00:51:50 1993 Ian Lance Taylor (ian@airs.com) + + * log.c (ulog): If we can't open the log file, print an error on + stderr. + + * configure.in, conf.h.in: Adjusted for autoconf 1.5. + +Sun Sep 12 15:52:29 1993 Ian Lance Taylor (ian@airs.com) + + * unix/serial.c (fsserial_open): Add flocal argument. Changed all + callers. Pass it as TRUE when dialing out on a modem. This is + supposedly required on 386bsd. + + * conn.c (fconn_dial_sequence): New function. + (fmodem_dial): Use fconn_dial_sequence. Call fsysdep_modem_begin + only once, before entire sequence, and fsysdep_modem_end only + once, after entire sequence. Don't call fcdo_dial. + (fcdo_dial): Removed. + * conn.h: Declare fconn_dial_sequence. + * uucico.c (fconn_call): Don't free dialer if fconn_dial fails. + * uuconf.h (struct uuconf_tcp_port): Add pzdialer field. + * tcp.c (ftcp_dial): Pass new pzdialer field to + fconn_dial_sequence. + * tli.c (ftli_dial): Pass pzdialer to fconn_dial_sequence. + * uuconf/hport.c (uuconf_hdb_find_port): Add trailing dialer + sequence to pzdialer field for TCP port. + * uuconf/tportc.c (asPtcp): Add ``dialer-sequence'' command. + (_uuconf_iport_cmd): Initialize pzdialer for TCP port. + * uuconf/vsinfo.c (_uuconf_iv2_system_internal): Initialize + pzdialer for TCP port. + * uuchk.c (ikshow_port): Print TCP pzdialer field. + * uuconv.c (uvwrite_taylor_port, ivwrite_hdb_port): Output TCP + pzdialer field. + +Sat Sep 11 16:30:17 1993 Ian Lance Taylor (ian@airs.com) + + * uulog.c, uuname.c (main): Pass INIT_NOCHDIR to + usysdep_initialize. + + * uucp.1, uustat.1, uux.1, uuxqt.8: Remove uses of nonportable .EX + and .EE macros. + + * uuxqt.c (asQcmds, iqout, iqfile, iqrequestor, iquser): Remove + restrictions on number of arguments to commands in execution file, + since is there is such a range of buggy UUCP implementations out + there. + + * sysh.unx (CORRUPTDIR): Define. + * unix/corrup.c: New file for new zsysdep_save_corrupt_file + function to save a file in CORRUPTDIR. + * unix/Makefile.in, unix/MANIFEST: Add corrup. + * system.h: Add declaration of zsysdep_save_corrupt_file. + * uuxqt.c (uqdo_xqt_file): If execution file has a syntax error, + save it using zsysdep_save_corrupt_file and notify OWNER. + + * uuconf/hsinfo.c (_uuconf_ihdb_system_internal), vsinfo.c + (_uuconf_iv2_system_internal): Treat a specified time/grade as + both a timegrade and a call-timegrade. + + * rec.c (frec_file_end): If the received file can not be moved to + the final location, and there is enough disk space, keep the file, + mentioned the saved name in the error message, and send mail to + OWNER about it. If the hand created execution file can not be + moved, delete it. + * unix/move.c (fsysdep_move_file): Don't delete the original file + if the move fails. + * unix/splcmd.c (zsysdep_spool_commands): Remove the temporary + file if the move fails. + +Wed Sep 1 23:29:30 1993 Ian Lance Taylor (ian@airs.com) + + * uuconf/tinit.c (itdebug, _uuconf_idebug_cmd): New functions. + (asCmds): Call itdebug for "debug", to accept spaces between + options as well as commas. + * uuconf/tsinfo.c (iidebug): New function. + (asIcmds): Call iidebug for "debug". + * uuconf/uucnfi.h: Added prototype for _uuconf_idebug_cmd. + +Tue Aug 31 00:09:33 1993 Ian Lance Taylor (ian@airs.com) + + * send.c (flocal_send_file_init): Don't set flocal if job was + requested by a remote user. + (flocal_send_fail, flocal_send_open_file): Don't save temporary + file in .Preserve if job was requested by a remote user. + + * unix/wldcrd.c (fsysdep_wildcard_start): Don't free zcmd until + after calling espopen. + + * lib/buffer.c (ubuffree): Added debugging code controlled by + DEBUG_BUFFER macro. + +Sun Aug 29 13:33:21 1993 Ian Lance Taylor (ian@airs.com) + + * uuconf/tcalou.c: Permit empty password in call file. + + * unix/work.c (COMMANDS_PER_SCAN): New macro. + (fsysdep_get_work_init): Get at most COMMANDS_PER_SCAN new command + files, to avoid timeouts while reading a large directory. + + * rec.c (fremote_send_file_init): Initialize crestart. + + * uux.c (main): Changed special handling of single "-" argument to + call getopt multiple times. + + * D.J. James: protg.c (fgsendcmd, fgsenddata), prott.c + (ftsendcmd): Avoid passing 0 to bzero to avoid SunOS bug. + + * protf.c (ffprocess_data): Some systems seem to send characters + with parity, so strip the parity bit from incoming bytes. + + * Kenji Rikitake: uucp.h: Changed order of header files to avoid + gcc stddef.h vs. sys/stdtypes.h problem on SunOS 4.1. + + * Alexander Lehmann: configure.in: Correct misspelling of + HAVE_GETWD. + + * John Hood: unix/filnam.c (ZCHARS): Get the alphabet right. + + * Gabor Kiss: tcp.c (ftcp_dial): Use all gethostbyname info before + calling getservbyname. + +Thu Aug 26 23:15:33 1993 Ian Lance Taylor (ian@airs.com) + + * uux.c, uuxqt.c: Added long options. + + * uucp.c: Added v to getopt_long argument, print help and version + info to stderr. + + * unix/splcmd.c (zsysdep_spool_commands): Create command file via + temporary file, so that the command file is created atomically. + * unix/spool.c (zscmd_file): Accept files starting with "TMP". + +Sun Jul 25 14:50:41 1993 Ian Lance Taylor (ian@airs.com) + + * uupick.c, uustat.c: Added long options. + +Mon Jul 19 22:06:19 1993 Ian Lance Taylor (ian@airs.com) + + * uucico.c, uuconv.c, uucp.c, uulog.c, uuname.c: Added long + options. + * uucico.c (main, fcall): Made -c option not print the ``No work'' + log message. + * uuname.c (main): Call ulog_uuconf rather than unuuconf_error. + +Sun Jul 11 14:29:39 1993 Ian Lance Taylor (ian@airs.com) + + * cu.c, uuchk.c: Added long options. + + * uudefs.h, log.c (zProgram): Renamed from abProgram. + * cu.c, uucico.c, uucp.c, uulog.c, uuname.c, uupick.c, uustat.c, + uux.c, uuxqt.c (main): Initialize zProgram from argv[0]. + + * Bob Hemedinger: unix/cohtty.c (fscoherent_disable_tty): Almost + always return TRUE. + * unix/serial.c (fsserial_lockfile): Skip "LCK.." in string passed + to lockttyexist and fscoherent_disable_tty. + * uucico.c (main): If __COHERENT__ is defined, change the meaning + of -c for backward compatibility with old Coherent UUCP. + + * David Nugent: uucico.c (main): Added -C option to only call + system named by -s or -S if there is work. + + * uuconf/syssub.c (_uuconf_isystem_default): Merge in default + protocol parameters so that setting parameters for one protocol + does not lose the default settings for other protocols. + + * unix/lcksys.c (zssys_lock_name): New function. + (fsysdep_lock_system, fsysdep_unlock_system): Use it. + + * John Plate: uuchk.c (ukshow): Call ukshow_size with the right + arguments in the called remote case. + + * uuconf/remunk.c (uuconf_remote_unknown): use the remote.unknown + shell script if HDB_CONFIG and no ``unknown'' commands appeared in + the config file. + + * Jim Brownfield: uuconf/vsinfo.c (_uuconf_iv2_system_internal): + Accept continuation lines in L.sys. + + * Marc Evans: unix/serial.c (fsysdep_conn_write, fsysdep_conn_io): + Add casts to t_snd calls to avoid warnings. + + * Julian Stacey: uuchk.c (main): If no information found, say so. + + * Ju"rgen Fluk: uulog.c (main): Better error messages for HDB. + + * uucico.c (zget_typed_line): If last string ended in \r, ignore + leading \n. + + * Mark E. Mallett: uuconf/time.c (asTdays): Add "none". + + * uuconf/hsinfo.c (_uuconf_ihdb_system_internal): Report line + numbers for syntax errors. + +Sat Jul 10 10:28:03 1993 Ian Lance Taylor (ian@airs.com) + + Initial hardware flow control support from Peter Wemm: + * uuconf.h (struct uuconf_modem_port, struct uuconf_direct_port): + New field uuconf_fhardflow in each structure. + * unix/serial.c (fsserial_hardflow): New routine. Initially + supports SunOS and SCO Unix. + (fsmodem_open, fsdirect_open): Turn on hardware flow control if + supported by the port. + (fsserial_set): If CRTFSL is set, don't send XON/XOFF characters. + * uuconf/hport.c (uuconf_hdb_find_port), uuconf/tportc.c + (_uuconf_iport_cmd), uuconf/vport.c (uuconf_v2_find_port): + Initialize uuconf_fhardflow field to TRUE. + * uuconf/tportc.c (struct asPmodem_cmds, struct asPdirect_cmds): + Added "hardflow" command. + * uuchk.c (ikshow_port): Report whether hardware flow control is + available. + * uuconv.c (uvwrite_taylor_port): Write out hardware flow control + information. + + * Peter Wemm: protg.c (fgstart), proti.c (fijstart): Report local + packet and window size as well as remote. + * rec.c (fremote_send_file_init), send.c (flocal_send_open_file, + fremote_rec_reply): Report number of bytes being sent or received, + and restart point if any. + + * Peter Wemm: trans.h (struct sdaemon): New fields csent and + creceived. + * uucico.c (fcall, faccept_call): Initialize csent and creceived. + (fdo_call, faccept_call): Report on number of file bytes + transferred and bytes per second. + * rec.c (frec_file_end): Record number of bytes received. + * send.c (fsend_wait_confirm): Record numbers of bytes sent. + * trans.c (ufailed): Record number of bytes sent or received. + + * Peter Wemm: uusched.in, uuto.in: Use #!/bin/sh rather than :. + Use exec when invoking program. + + * uulog.c (main): Don't die if we can't canonicalize the -s + argument. + + * unix/cusub.c (uscu_child): Force the descriptor into blocking + mode. + + Port type pipe support contributed by Marc Boucher: + * unix/pipe.c: New file. Support routines for pipes. + * unix/MANIFEST, unix/Makefile.in: Adjusted for new file pipe.c. + * uuconf.h (enum uuconf_porttype): Added UUCONF_PORTTYPE_PIPE. + (struct uuconf_pipe_port): New structure. + (struct uuconf_port): Added uuconf_pipe_port to union. + * sysh.unx (struct ssysdep_conn): Add fields ord, owr and ipid, + rename istdout_flags to iwr_flags. + (fsdouble_{read, write, chat}): New prototypes. + * conn.h: Prototype for fsysdep_pipe_init. + * unix/serial.c: Renamed fsstdin_{read, write, chat} to + fsdouble_{read, write, chat}. Made them non-static. Changed them + to use ord and owr fields rather than 0 and 1. + (fsserial_init, fsstdin_open): Initialize ord and owr fields. + (fsstdin_close, fsblock, fsstdin_reset, fsysdep_conn_io, + fsstdin_break, fsstdin_set): Use ord and owr fields rather than 0 + and 1. + * uuconf/tportc.c (asPtype_names): Added "pipe". + (asPpipe_cmds, CPIPE_CMDS): New array of pipe commands. + (CCMDS, _uuconf_iport_cmd): Adjusted accordingly. + * tcp.c (fsysdep_tcp_init), tli.c (fsysdep_tli_init): Initialize + new ord and owr fields. + * conn.c (fconn_init): Call fsysdep_pipe_init for + UUCONF_PORTTYPE_PIPE. + * unix/cusub.c (zsport_line, uscu_child, fsysdep_shell): Handle + UUCONF_PORTTYPE_PIPE. + * uuchk.c (ikshow_port): Report on port type pipe. + * uuconv.c (uvwrite_taylor_port): Write out port type pipe. + + * Marc Boucher: cu.c: (main, ucuabort): Use new variable + fCuconnprinted to avoid printing ZDISMSG if ZCONNMSG has not been + printed. + (main): Call fsysdep_port_access only after we have locked the + port, to get a better error message on systems with shared lines. + + * Marc Boucher: policy.h (HAVE_FULLDUPLEX_PIPES): New macro. + * unix/spawn.c (ixspawn): Use it. + + * Marc Boucher: uucico.c (uusage): Added lines for -c and -D. + + * uuconf/time.c (_uuconf_itime_parse): Add casts to avoid a + compiler warning. + + * uustat.c (fsworkfile_show): Don't report non-existent send + files. + + * lib/parse.c (fparse_cmd): Accept any base for the mode argument, + rather than always using 8. Depend upon the leading zero to + indicate base 8. Accomodates UFGATE 1.03. + +Wed Jun 30 00:27:27 1993 Ian Lance Taylor (ian@airs.com) + + * uudefs.h (struct scmd): Changed bdummy field to bgrade. + * trans.c (fqueue_send): Sort sends by whether they are a command + and then by grade. + * unix/work.c (asSwork_files): Renamed from azSwork_files, made + array of struct ssfilename rather than char *. + (struct ssfile): Added bgrade field. + (iswork_cmp, fsysdep_get_work_init, usysdep_get_work_freed): + Changed accordingly. + (fsysdep_get_work): Set qcmd->bgrade. + * uucp.c (uccopy), uux.c (main, uxadd_send_file), uuxqt.c + (uqdo_xqt_file), xcmd.c (fremote_xcmd_init), lib/parse.c + (fparse_cmd): Initialize bgrade field of scmd structure. + +Sun Jun 27 23:21:33 1993 Ian Lance Taylor (ian@airs.com) + + * send.c (flocal_send_await_reply, flocal_send_cancelled): If the + first D. file being sent for a faked E command fails, send the + second one anyhow. + +Sun Jun 6 23:07:33 1993 Ian Lance Taylor (ian@airs.com) + + * proti.c (fiprocess_data): If we get a packet we sent a NAK for, + forget that sent NAKs for all preceding packets. + (fiprocess_packet): If we get a NAK for the packet we are about to + send, and all our packets have been acknowledged, send an ACK. + +Thu Jun 3 20:54:55 1993 Ian Lance Taylor (ian@airs.com) + + * prot.h (struct sprotocol): Added frestart field. + * uucico.c (asProtocols): Initialize frestart field. + * system.h, unix/opensr.c (zsysdep_receive_temp): Added frestart + argument to zsysdep_receive_temp. + * rec.c (flocal_rec_send_request, fremote_send_file_init, + frec_file_end): Pass frestart argument to zsysdep_receive_temp. + * unix/opensr.c (esysdep_open_receive): Permit pcrestart argument + to be NULL. + * rec.c (flocal_rec_await_reply, fremote_send_file_init): Pass + pcrestart argument to esysdep_open_receive as NULL if file + tranfers can not be restarted. + + * lib/status.c (azStatus): Uwe Doering: If SPOOLDIR_HDB or + SPOOLDIR_SVR4, use the same strings they use. + * unix/status.c (aiMapstatus): Uwe Doering: Swap 4 and 20. + + * unix/serial.c (fsserial_open): Uwe Doering: Set VTIME to 1. + + * uucico.c (faccept_call, uaccept_call_cleanup): Uwe Doering: Free + and unlock evertyhing after any return from faccept_call. + (main): Don't need to unlock after faccept_call here any more. + + * proti.c (fiprocess_data): Added additional debugging + information. + +Sat May 15 13:55:21 1993 Ian Lance Taylor (ian@airs.com) + + * protg.c (fgprocess_data): Don't treat a duplicate RR as an RJ if + we are retransmitting packets. If we are treating a duplicate RR + as an RJ, don't also treat it as an acknowledgement. + + * unix/serial.c (fsysdep_conn_io): Typo in debugging message. + +Tue May 4 00:03:32 1993 Ian Lance Taylor (ian@airs.com) + + * uux.c (main): Andreas Raab: Move aboptions out of local block + since a pointer to it escapes the scope. + + * unix/mkdirs.c: W Christopher Martin: Just try to make the + directories, and ignore EEXIST errors, rather than first checking + whether the directory exists. + + * send.c (flocal_send_request): Chip Salzenberg: Double check that + the file still exists before sending the S command. + + * uucico.c (zget_uucp_cmd, zget_typed_line), trans.c (fgot_data): + Matthew Geier: Avoid doing memcpy (z, NULL, 0). + +Mon May 3 22:52:46 1993 Ian Lance Taylor (ian@airs.com) + + * system.h, unix/locfil.c, unix/cwd.c, unix/picksb.c: Johan + Vromans: Added pfbadname argument to zsysdep_local_file, + zsysdep_local_file_cwd, zsysdep_uupick_local_file. + * Changed all callers. + * send.c (fremote_rec_file_init), rec.c (fremote_send_file_init): + If remote system gives bad name, return an error rather than + aborting the connection. + * uuxqt.c (uqdo_xqt_file): If bad file name, abort execution + rather than try again later. + * uupick.c (main): If bad file name, permit new command rather + than exiting. + + * lib/debug.c: Stephan Niemz: Accept whitespace separated + debugging types. + + * unix/detach.c: Always use setsid if it is available. + +Sun May 2 13:23:33 1993 Ian Lance Taylor (ian@airs.com) + + * unix/spool.c (zsfind_file): Fix handling of execution file + names for systems to work with any possible execution file name. + + * send.c (flocal_send_open_file): Subtract starting position from + number of bytes passed to pffile. + + * uuconf/rdperm.c: Syd Weinstein: Don't skip lines in Permissions + with leading whitespace. + + * uuconf/vsinfo.c: Gero Kuhlmann: Set default retry time + correctly. + + * unix/lock.c (fsdo_lock): Andrew Vignaux: Handle readonly lock + files correctly. + + * send.c (flocal_send_fail, flocal_send_await_reply): James Van + Artsdalen: Clarify error messages relating to execution files. + + * log.c (ustats): Avoid overflow in bytes/sec calculation. + +Sat May 1 17:40:14 1993 Ian Lance Taylor (ian@airs.com) + + * trans.c (ftadd_cmd): Don't treat junk at end of command as a + size if the remote system doesn't support sizes. + + * uucico.c (faccept_call): Turn on the protocol before reading the + queue, in case there are lots of command files. + + * unix/cusub.c: Julian Stacey: If SIGUSR2 is not defined, use + SIGURG instead. + + * uuconf/syshdr.unx (MAKE_ABSOLUTE): New macro. + * uuconf/tinit.c (itaddfile): Renamed from itadd. Use + MAKE_ABSOLUTE to force absolute pathnames to configuration files. + + * conn.c (fconn_close): Steve M. Robbins: Ignore any SIGHUP + received after closing the connection. + + * cu.c (main): Frank Conrad: When an alternate fails, move on to + the next one. + + * uucico.c (faccept_call): Alexei K. Yushin: Supposedly some + UUCP's send UgG rather than just Ug. + + * unix/serial.c (fsserial_lockfile): Bob Hemedinger: Fix error + message in HAVE_COHERENT_LOCKFILES case. + + * unix/mkdir.c: Andy Fyfe: Pass fkeepuid as TRUE to ixsspawn. + + * unix/strerr.c: Undefine strerror in case there is a macro + definition which configure did not pick up. + + * configure.in: Andy Fyfe: AT&T 3b1 has sys/mount.h but not + statfs. + + * uudir.c: Andy Fyfe: Include uucp.h. + + * unix/fsusg.c: Andy Fyfe: Typos in (untested) STAT_USTAT case. + + * unix/filnam.c: Eric Lee Green: Avoid generating filenames that + only differ in case, to make life easier for bad filesystems. + + * uuconf/llocnm.c: Brian J. Murrell: Don't read HDB files if + ``hdb-files no'' given. + +Sat Mar 20 16:10:20 1993 Ian Lance Taylor (ian@airs.com) + + * uudefs.h (eSendfile, eRecfile): Deleted obsolete declarations. + +Sat Feb 13 15:57:30 1993 Ian Lance Taylor (ian@airs.com) * Released version 1.04. * unix/detach.c: Andrew A. Chernov: Don't check return of setsid. -Sun Jan 31 01:45:56 1993 Ian Lance Taylor (ian@comton.airs.com) +Sun Jan 31 01:45:56 1993 Ian Lance Taylor (ian@airs.com) * cu.c (main): Pass "cu" to uuconf_init. * protz.c (fzprocess): Restore ZPAD char before calling getinsync. -Sat Jan 30 22:19:26 1993 Ian Lance Taylor (ian@comton.airs.com) +Sat Jan 30 22:19:26 1993 Ian Lance Taylor (ian@airs.com) * Makefile.in (doc-dist): New target. -Wed Jan 27 22:55:26 1993 Ian Lance Taylor (ian@comton.airs.com) +Wed Jan 27 22:55:26 1993 Ian Lance Taylor (ian@airs.com) * protg.c (fgstart): Set iGremote_segsize when using remote-packet-size. -Tue Jan 26 01:01:34 1993 Ian Lance Taylor (ian@comton.airs.com) +Tue Jan 26 01:01:34 1993 Ian Lance Taylor (ian@airs.com) * proti.c (fiprocess_data): always send an ACK after receiving half a window, rather than sometimes resending a packet. Half a @@ -28,7 +1263,7 @@ Tue Jan 26 01:01:34 1993 Ian Lance Taylor (ian@comton.airs.com) * tstuu.c (main, cread, fsend): rewrote communication routines to avoid deadlock. -Sun Jan 24 01:02:47 1993 Ian Lance Taylor (ian@comton.airs.com) +Sun Jan 24 01:02:47 1993 Ian Lance Taylor (ian@airs.com) * trans.c (ufailed): don't report statistics if no bytes transferred. @@ -36,27 +1271,27 @@ Sun Jan 24 01:02:47 1993 Ian Lance Taylor (ian@comton.airs.com) * Makefile.in (install): simplified somewhat. (dist): distribute the sample directory. -Sat Jan 23 19:47:12 1993 Ian Lance Taylor (ian@comton.airs.com) +Sat Jan 23 19:47:12 1993 Ian Lance Taylor (ian@airs.com) * configure.in, conf.h.in, tli.c: Karl Swarz: check for and use . -Fri Jan 22 00:09:37 1993 Ian Lance Taylor (ian@comton.airs.com) +Fri Jan 22 00:09:37 1993 Ian Lance Taylor (ian@airs.com) * send.c (flocal_send_request): Alan Judge: don't send C in option string when faking an E command as an S command. -Thu Jan 21 00:09:31 1993 Ian Lance Taylor (ian@comton.airs.com) +Thu Jan 21 00:09:31 1993 Ian Lance Taylor (ian@airs.com) * uux.c (main): don't use E command if forwarding. -Wed Jan 20 00:22:38 1993 Ian Lance Taylor (ian@comton.airs.com) +Wed Jan 20 00:22:38 1993 Ian Lance Taylor (ian@airs.com) * send.c (fsend_exec_file_init), rec.c (frec_file_end), uux.c (main): Chip Salzenberg: always put the C line last in an execution file, to support Fredmail. -Tue Jan 19 00:09:43 1993 Ian Lance Taylor (ian@comton.airs.com) +Tue Jan 19 00:09:43 1993 Ian Lance Taylor (ian@airs.com) * trans.h, trans.c (ftcharge, floop, fgot_data): rewrote timing code. @@ -65,7 +1300,7 @@ Tue Jan 19 00:09:43 1993 Ian Lance Taylor (ian@comton.airs.com) (fqueue_local, fqueue_remote, fqueue_send, fqueue_receive): added boolean return value and qdaemon argument. -Mon Jan 18 00:01:46 1993 Ian Lance Taylor (ian@comton.airs.com) +Mon Jan 18 00:01:46 1993 Ian Lance Taylor (ian@airs.com) * uucico.c (fdo_call, faccept_call): Ted Lindgreen, Chip Salzenberg: wait for remote hangup string before hanging up. @@ -73,7 +1308,7 @@ Mon Jan 18 00:01:46 1993 Ian Lance Taylor (ian@comton.airs.com) * proti.c (fiprocess_data, fiprocess_packet): stop scanning input buffer after a CLOSE packet. -Sat Jan 16 22:44:28 1993 Ian Lance Taylor (ian@comton.airs.com) +Sat Jan 16 22:44:28 1993 Ian Lance Taylor (ian@airs.com) * system.h, uucico.c (main), uuxqt.c (main), unix/init.c: Ted Lindgreen: eliminated INIT_DAEMON. @@ -88,7 +1323,7 @@ Sat Jan 16 22:44:28 1993 Ian Lance Taylor (ian@comton.airs.com) * policy.h, unix/pause.c: Gregory Gulik: added HAVE_HUNDREDTHS_NAP configuration parameter. -Wed Jan 6 21:06:45 1993 Ian Lance Taylor (ian@comton.airs.com) +Wed Jan 6 21:06:45 1993 Ian Lance Taylor (ian@airs.com) * unix/serial.c (fsserial_lockfile): create HDB lock files when using HAVE_COHERENT_LOCKING. @@ -98,11 +1333,11 @@ Wed Jan 6 21:06:45 1993 Ian Lance Taylor (ian@comton.airs.com) * unix/cusub.c (fsysdep_terminal_raw): Andrew A. Chernov: if POSIX_TERMIOS, turn of IEXTEN flag. -Sat Jan 2 23:19:27 1993 Ian Lance Taylor (ian@comton.airs.com) +Sat Jan 2 23:19:27 1993 Ian Lance Taylor (ian@airs.com) * protg.c (fgprocess_data): treat a duplicate RR as an RJ. -Fri Jan 1 11:17:30 1993 Ian Lance Taylor (ian@comton.airs.com) +Fri Jan 1 11:17:30 1993 Ian Lance Taylor (ian@airs.com) * policy.h, unix/proctm.c: Steven S. Dick: use sysconf (_SC_CLK_TCK) for TIMES_TICK if possible. @@ -113,7 +1348,7 @@ Fri Jan 1 11:17:30 1993 Ian Lance Taylor (ian@comton.airs.com) unix/run.c: Karsten Thygesen: removed ffork argument from fsysdep_run. -Wed Dec 30 00:21:55 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Dec 30 00:21:55 1992 Ian Lance Taylor (ian@airs.com) * unix/link.c: Andrey G Blochintsev: don't fail just because destination directories do not exist. @@ -123,12 +1358,12 @@ Wed Dec 30 00:21:55 1992 Ian Lance Taylor (ian@comton.airs.com) * protz.c: Chip Salzenberg: reformatted to 80 columns. -Tue Dec 29 23:50:52 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Dec 29 23:50:52 1992 Ian Lance Taylor (ian@airs.com) * uuconv.c (uvwrite_time): scott@geom.umn.edu: handle midnight more correctly. -Fri Dec 18 00:49:16 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Dec 18 00:49:16 1992 Ian Lance Taylor (ian@airs.com) * system.h, uucp.c (uccopy), uux.c (main), cu.c (icuput, icutake), unix/ufopen.c (esysdep_user_fopen): Doug Evans: open files used @@ -136,7 +1371,7 @@ Fri Dec 18 00:49:16 1992 Ian Lance Taylor (ian@comton.airs.com) privileges of uucp. Added frd and fbinary arguments to esysdep_user_fopen. -Thu Dec 17 00:04:53 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Dec 17 00:04:53 1992 Ian Lance Taylor (ian@airs.com) * unix/picksb.c (zsysdep_uupick): Peter Wemm: allocation error. @@ -150,14 +1385,14 @@ Thu Dec 17 00:04:53 1992 Ian Lance Taylor (ian@comton.airs.com) (fsend_await_confirm), rec.c (frec_file_end): Peter Wemm: added fmaster argument to ustats, used only in HDB_LOGGING. -Wed Dec 16 23:35:51 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Dec 16 23:35:51 1992 Ian Lance Taylor (ian@airs.com) * uustat.c (main): Marc Unangst: forgot to call strtol for -y. * policy.h, sysh.unx: Brian J. Murrell: yet another configuration parameter: HAVE_BROKEN_SETREUID. -Tue Dec 15 00:13:04 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Dec 15 00:13:04 1992 Ian Lance Taylor (ian@airs.com) * uuconv.c (uvwrite_taylor_system): mnichols@pacesetter.com: use command-path rather than path. @@ -181,18 +1416,18 @@ Tue Dec 15 00:13:04 1992 Ian Lance Taylor (ian@comton.airs.com) FREE_SPACE_DELTA bytes, and abort the file transfer if disk space gets too low. -Wed Dec 2 00:24:12 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Dec 2 00:24:12 1992 Ian Lance Taylor (ian@airs.com) * policy.h, unix/serial.c (fsserial_set): Frank Conrad: added HAVE_PARITY_BUG parameter for the Sony NEWS. -Mon Nov 30 00:06:59 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Nov 30 00:06:59 1992 Ian Lance Taylor (ian@airs.com) * lib/spool.c (fspool_file): Andrew Chernov: accept any alphanumeric character in the name, because it could be a grade from another system. -Sun Nov 29 22:36:47 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Nov 29 22:36:47 1992 Ian Lance Taylor (ian@airs.com) * lib/buffer.c (ubuffree): scott@geom.umn.edu, Richard Gumpertz: use a temporary variable to hold the offsetof result. @@ -212,14 +1447,14 @@ Sun Nov 29 22:36:47 1992 Ian Lance Taylor (ian@comton.airs.com) * rec.c (fremote_send_reply): do file restart correctly for E commands. -Sun Nov 22 15:09:43 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Nov 22 15:09:43 1992 Ian Lance Taylor (ian@airs.com) * protz.c: Chip Salzenberg: always do bitwise operations on unsigned values. * getopt.h: Chip Salzenberg: don't rely on __STDC__. -Thu Nov 19 00:13:46 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Nov 19 00:13:46 1992 Ian Lance Taylor (ian@airs.com) * uuconf/freblk.c: Niels Baggesen: loop over the right list. @@ -227,7 +1462,7 @@ Thu Nov 19 00:13:46 1992 Ian Lance Taylor (ian@comton.airs.com) take an argument and default to showing 10 current lines. (ulusage): added new options and missing old ones. -Wed Nov 18 22:26:36 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Nov 18 22:26:36 1992 Ian Lance Taylor (ian@airs.com) * rec.c (frec_file_end): Andrey G Blochintsev: call fsysdep_remember_reception as soon as the file has been moved to @@ -239,7 +1474,7 @@ Wed Nov 18 22:26:36 1992 Ian Lance Taylor (ian@comton.airs.com) * unix/tmpfil.c (ZDIGS): don't use '.', since we use it to separate parts of the file name. -Sun Nov 15 15:31:49 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Nov 15 15:31:49 1992 Ian Lance Taylor (ian@airs.com) * uustat.c (fsquery_show, csunits_show): Marc Unangst, Chip Salzenberg: line up uustat -q output. @@ -282,7 +1517,7 @@ Sun Nov 15 15:31:49 1992 Ian Lance Taylor (ian@comton.airs.com) * configure.in: Brian Campbell: check for /usr/bin/mailx. -Sat Nov 14 11:11:04 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Nov 14 11:11:04 1992 Ian Lance Taylor (ian@airs.com) * uuconf/hlocnm.c (uuconf_hdb_login_localname): Christian Seyb: check for _uuconf_unset as well as NULL. @@ -294,7 +1529,7 @@ Sat Nov 14 11:11:04 1992 Ian Lance Taylor (ian@comton.airs.com) and made _uuconf_unset char * to avoid possible alignment problems. -Tue Nov 10 00:16:35 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Nov 10 00:16:35 1992 Ian Lance Taylor (ian@airs.com) * trans.h, uucico.c (fcall, faccept_call), trans.c (uclear_queue, floop): Stephen J. Walick: move clean up from end of floop into @@ -305,13 +1540,13 @@ Tue Nov 10 00:16:35 1992 Ian Lance Taylor (ian@comton.airs.com) location for HAVE_SVR4_LOCKFILES. (fsserial_init): Doug Evans: null terminate the device name. -Sun Nov 8 10:58:59 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Nov 8 10:58:59 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (fcall, faccept_call): Stephen J. Walick: call usysdep_get_work_free here. trans.c (floop): don't call usysdep_get_work free here. -Sun Nov 1 17:05:07 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Nov 1 17:05:07 1992 Ian Lance Taylor (ian@airs.com) * Released gamma version 1.04. @@ -326,7 +1561,7 @@ Sun Nov 1 17:05:07 1992 Ian Lance Taylor (ian@comton.airs.com) * policy.h, unix/cohtty.c: Bob Hemedinger: finish Coherent style locking. -Wed Oct 28 00:20:15 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Oct 28 00:20:15 1992 Ian Lance Taylor (ian@airs.com) * tstuu.c: Ralf Stephan: check HAVE_POLL_H and HAVE_STROPTS_H. @@ -338,7 +1573,7 @@ Wed Oct 28 00:20:15 1992 Ian Lance Taylor (ian@comton.airs.com) requested position. uucp.c, uux.c, uuxqt.c, xcmd.c: initialize ipos field. -Sun Oct 25 10:39:23 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Oct 25 10:39:23 1992 Ian Lance Taylor (ian@airs.com) * unix/serial.c (fsysdep_conn_write, fsysdep_conn_io): T. William Wells: take special care to ensure we don't write after SIGHUP. @@ -350,7 +1585,7 @@ Sun Oct 25 10:39:23 1992 Ian Lance Taylor (ian@comton.airs.com) * unix/cusub.c (uscu_child): Igor V. Semenyuk: accept a 0 return from read until we have read some data at some point. -Thu Oct 22 10:38:32 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Oct 22 10:38:32 1992 Ian Lance Taylor (ian@airs.com) * proti.c: various tweaks for bad connections. @@ -363,7 +1598,7 @@ Thu Oct 22 10:38:32 1992 Ian Lance Taylor (ian@comton.airs.com) * uuxqt.c (uqdo_xqt_file): Bob Hemedinger: don't take address of array. -Wed Oct 21 00:05:31 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Oct 21 00:05:31 1992 Ian Lance Taylor (ian@airs.com) * uustat.c (fsnotify): Gert Doering: if the file appears to be binary, don't include it in any mail message. @@ -391,7 +1626,7 @@ Wed Oct 21 00:05:31 1992 Ian Lance Taylor (ian@comton.airs.com) * uucico.c (fdo_call, faccept_call): Hans-Dieter Doll: avoid overflow when turning ulimit value into bytes. -Tue Oct 20 23:12:26 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Oct 20 23:12:26 1992 Ian Lance Taylor (ian@airs.com) * serial.c (fsmodem_carrier): Hans-Dieter Doll: use IS68K LNOMDM bit if available. @@ -403,7 +1638,7 @@ Tue Oct 20 23:12:26 1992 Ian Lance Taylor (ian@comton.airs.com) * unix/run.c: Peter Wemm: pass fsetuid as TRUE to ixsspawn. -Sun Oct 18 13:58:17 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Oct 18 13:58:17 1992 Ian Lance Taylor (ian@airs.com) * policy.h, unix/serial.c (fsmodem_close): Stephen J. Walick: added HAVE_RESET_BUG for SCO Xenix. @@ -413,18 +1648,18 @@ Sun Oct 18 13:58:17 1992 Ian Lance Taylor (ian@comton.airs.com) * unix/ufopen.c: Igor V. Semenyuk: handle unsigned uid_t. -Sat Oct 17 11:00:30 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Oct 17 11:00:30 1992 Ian Lance Taylor (ian@airs.com) * conf.h.in, configure.in, uucp.h, unix/serial.c (fsserial_lockfile), lib/MANIFEST: eliminated strlwr. -Fri Oct 16 01:10:56 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Oct 16 01:10:56 1992 Ian Lance Taylor (ian@airs.com) * Igor V. Semenyuk: uuchk.c (ukshow): print max-remote-debug correctly. lib/debug.c (idebug_parse): accept DEBUG_NONE. -Thu Oct 15 00:49:58 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Oct 15 00:49:58 1992 Ian Lance Taylor (ian@airs.com) * unix/cusub.c (fsysdep_terminal_puts): don't modify zalc before freeing it up. @@ -432,7 +1667,7 @@ Thu Oct 15 00:49:58 1992 Ian Lance Taylor (ian@comton.airs.com) * protg.c (fgcheck_errors, fggot_ack, fgprocess_data): Mark E. Mallett: better handling of error decay. -Wed Oct 14 22:09:20 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Oct 14 22:09:20 1992 Ian Lance Taylor (ian@airs.com) * unix/lock.c: Tomi Vainio: make sure SEEK_SET is defined. @@ -445,12 +1680,12 @@ Wed Oct 14 22:09:20 1992 Ian Lance Taylor (ian@comton.airs.com) lib/debug.c, unix/portnm.c, uuconf/int.c, uuconf/llocnm.c, uuconf/time.c: cast more arguments to eliminate more warnings. -Tue Oct 13 00:25:03 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Oct 13 00:25:03 1992 Ian Lance Taylor (ian@airs.com) * prot.h, proti.c (fistart, fijstart), protj.c, uucico.c, tstuu.c (uprepare_test), Makefile.in, MANIFEST: added 'j' protocol. -Sun Oct 11 23:45:20 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Oct 11 23:45:20 1992 Ian Lance Taylor (ian@airs.com) * policy.h, unix/serial.c (fsserial_set): added HAVE_STRIP_BUG to policy.h to get around stupid Ultrix bug. @@ -459,16 +1694,16 @@ Sun Oct 11 23:45:20 1992 Ian Lance Taylor (ian@comton.airs.com) HAVE_BSD_TTY, keep tchars and ltchars in the sterminal structure, and in fsserial_open disable all interrupt characters. -Sat Oct 10 01:18:31 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Oct 10 01:18:31 1992 Ian Lance Taylor (ian@airs.com) * uuconf/tinit.c (itunknown): Gert Doering: don't save "unknown" with the other arguments. -Fri Oct 9 00:56:43 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Oct 9 00:56:43 1992 Ian Lance Taylor (ian@airs.com) * unix/lock.c: check for running process before doing kill. -Thu Oct 8 00:20:12 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Oct 8 00:20:12 1992 Ian Lance Taylor (ian@airs.com) * chat.c, protf.c, send.c, rec.c, unix/locfil.c: Stephen J. Walick: cast arguments to strtol and strcspn to avoid warnings. @@ -485,7 +1720,7 @@ Thu Oct 8 00:20:12 1992 Ian Lance Taylor (ian@comton.airs.com) * unix/spool.c (zsfind_file): Matthias Zepf: fixed typos for SPOOLDIR_BSD*. -Wed Oct 7 00:03:08 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Oct 7 00:03:08 1992 Ian Lance Taylor (ian@airs.com) * uuname.c (main): Marc Boucher: reverse sense of -a, and do not display aliases by default. @@ -495,7 +1730,7 @@ Wed Oct 7 00:03:08 1992 Ian Lance Taylor (ian@comton.airs.com) * tstuu.c (main): Marc Boucher: add support for STREAMS ptys. -Tue Oct 6 23:16:15 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Oct 6 23:16:15 1992 Ian Lance Taylor (ian@airs.com) * policy.h: Marc Boucher: improve comments to describe SVR4. @@ -506,7 +1741,7 @@ Tue Oct 6 23:16:15 1992 Ian Lance Taylor (ian@comton.airs.com) * uuname.c (main): Andreas Vogel: usysdep_exit (TRUE) rather than usysdep_exit (EXIT_SUCCESS). -Mon Oct 5 22:59:51 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Oct 5 22:59:51 1992 Ian Lance Taylor (ian@airs.com) * sysh.unx, unix/serial.c (fsserial_init): Marc Boucher: avoid freeing unallocated string. @@ -518,7 +1753,7 @@ Mon Oct 5 22:59:51 1992 Ian Lance Taylor (ian@comton.airs.com) (fcudo_cmd, fcudo_subcmd, uculist_fns, icuunrecogfn): T. William Wells: give reasonable error messages. -Sun Oct 4 00:03:10 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Oct 4 00:03:10 1992 Ian Lance Taylor (ian@airs.com) * */Makefile.in: T. William Wells: use ar qc rather than ar rc. @@ -566,7 +1801,7 @@ Sun Oct 4 00:03:10 1992 Ian Lance Taylor (ian@comton.airs.com) argument to zsfile_to_jobid, and pbgrade argument to zsjobid_to_file. -Sat Oct 3 11:03:13 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Oct 3 11:03:13 1992 Ian Lance Taylor (ian@airs.com) * MANIFEST, Makefile.in, lib/MANIFEST, lib/Makefile.in, lib/parse.c: moved parse.c from main directory to lib. @@ -590,7 +1825,7 @@ Sat Oct 3 11:03:13 1992 Ian Lance Taylor (ian@comton.airs.com) * uuconf/cmdarg.c: check first character to avoid calls to strcmp or strcasecmp. -Thu Oct 1 23:44:24 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Oct 1 23:44:24 1992 Ian Lance Taylor (ian@airs.com) * trans.h, uucico.c (fdo_call, faccept_call), parse.c (fparse_cmd), send.c (flocal_send_request): Gert Doering: SVR4 @@ -600,7 +1835,7 @@ Thu Oct 1 23:44:24 1992 Ian Lance Taylor (ian@comton.airs.com) * tstuu.c (main, uprepare_test): added -n switch to not destroy existing configuration files. -Fri Sep 25 00:16:35 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Sep 25 00:16:35 1992 Ian Lance Taylor (ian@airs.com) * protg.c (fgsenddata): T. William Wells: clear bytes correctly so that resending a packet doesn't get a completely incorrect size. @@ -608,14 +1843,14 @@ Fri Sep 25 00:16:35 1992 Ian Lance Taylor (ian@comton.airs.com) * send.c (usadd_exec_line): Stephen J. Walick: don't send trailing spaces on the created execute file, because it confuses Waffle. -Thu Sep 24 00:25:18 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Sep 24 00:25:18 1992 Ian Lance Taylor (ian@airs.com) * unix/jobid.c (zsjobid_to_file): Franc,ois Pinard: if the job ID is too short, return NULL rather than dumping core. unix/statsb.c (fskill_or_rejuv, isysdep_work_time): handle a NULL return from zsjobid_to_file. -Mon Sep 21 09:01:02 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Sep 21 09:01:02 1992 Ian Lance Taylor (ian@airs.com) * uuconf/init.c, uuconf/syssub.c: Lele Gaifax: moved declaration of _uuconf_unset from syssub.c to addstr.c because @@ -627,11 +1862,11 @@ Mon Sep 21 09:01:02 1992 Ian Lance Taylor (ian@comton.airs.com) * lib/Makefile.in, unix/Makefile.in: Lele Gaifax: bug in clean target. -Thu Sep 17 01:01:13 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Sep 17 01:01:13 1992 Ian Lance Taylor (ian@airs.com) * Released beta version 1.04. -Wed Sep 16 01:02:55 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Sep 16 01:02:55 1992 Ian Lance Taylor (ian@airs.com) * uux.c (main): null terminate the options list for an 'E' command. @@ -655,14 +1890,14 @@ Wed Sep 16 01:02:55 1992 Ian Lance Taylor (ian@comton.airs.com) lib/Makefile.in: use -I flags to permit compilation in a separate directory. Set up clean targets per GNU standards. -Tue Sep 15 00:07:09 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Sep 15 00:07:09 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (zget_uucp_cmd): can't set size_t variable to -1. * Makefile.in (install): don't install info files. Added new targets info and install-info. -Mon Sep 14 13:19:42 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Sep 14 13:19:42 1992 Ian Lance Taylor (ian@airs.com) * uuxqt.c (main): Gregory Bond: canonicalize the system name given by the -s argument. @@ -685,7 +1920,7 @@ Mon Sep 14 13:19:42 1992 Ian Lance Taylor (ian@comton.airs.com) fsysdep_unlock_uuxqt_dir, fsysdep_move_uuxqt_files): use .Xqtdir for first uuxqt execution, not .Xqtdir0000. -Sun Sep 13 11:51:22 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Sep 13 11:51:22 1992 Ian Lance Taylor (ian@airs.com) * trans.h, uucico.c (fdo_call, faccept_call), send.c (flocal_send_request), rec.c (flocal_rec_send_request) parse.c @@ -716,7 +1951,7 @@ Sun Sep 13 11:51:22 1992 Ian Lance Taylor (ian@comton.airs.com) minutes. Honor CYM from the remote system. Send CYM if we have something to do. -Sat Sep 12 15:47:52 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Sep 12 15:47:52 1992 Ian Lance Taylor (ian@airs.com) * Makefile.in: use $(MAKE) instead of make for recursive calls. @@ -724,7 +1959,7 @@ Sat Sep 12 15:47:52 1992 Ian Lance Taylor (ian@comton.airs.com) unix/MANIFEST, unix/Makefile.in: added esysdep_user_open to open a file with user permissions. -Fri Sep 11 00:27:32 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Sep 11 00:27:32 1992 Ian Lance Taylor (ian@airs.com) * uudefs.h, copy.c: added fcopy_open_file. @@ -732,7 +1967,7 @@ Fri Sep 11 00:27:32 1992 Ian Lance Taylor (ian@comton.airs.com) * configure.in, conf.h.in: check for setreuid. -Tue Sep 8 00:11:10 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Sep 8 00:11:10 1992 Ian Lance Taylor (ian@airs.com) * protf.c (ffsendcmd), prott.c (ftsendcmd): eliminate calls to alloca. @@ -743,7 +1978,7 @@ Tue Sep 8 00:11:10 1992 Ian Lance Taylor (ian@comton.airs.com) lib/Makefile.in, lib/MANIFEST: added getopt_long, and changed all calls to getopt to call getopt_long instead. -Mon Sep 7 22:26:51 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Sep 7 22:26:51 1992 Ian Lance Taylor (ian@airs.com) * getopt.h, lib/getopt.c, lib/Makefile.in: bring getopt up to glibc 1.04; call malloc instead of alloca in exchange. @@ -755,7 +1990,7 @@ Mon Sep 7 22:26:51 1992 Ian Lance Taylor (ian@comton.airs.com) * cu.c, unix/cusub.c: various minor improvements. -Sun Sep 6 20:25:20 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Sep 6 20:25:20 1992 Ian Lance Taylor (ian@airs.com) * uux.c (uxcopy_stdin): use getchar rather than fread to avoid SVR4 bug. @@ -766,12 +2001,12 @@ Sun Sep 6 20:25:20 1992 Ian Lance Taylor (ian@comton.airs.com) * protg.c (fgsend_control): Niels Baggesen: report sending an RJ when DEBUG_ABNORMAL. -Tue Aug 25 00:07:20 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Aug 25 00:07:20 1992 Ian Lance Taylor (ian@airs.com) * uuconf/time.c: Zacharias Beckman: let user defined time tables override the defaults. -Mon Aug 24 00:25:23 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Aug 24 00:25:23 1992 Ian Lance Taylor (ian@airs.com) * system.h, uuxqt.c (uqdo_xqt_file), unix/xqtsub.c (zsysdep_xqt_local_file): Jarmo Raiha: expand ~name in uuxqt.c. @@ -803,7 +2038,7 @@ Mon Aug 24 00:25:23 1992 Ian Lance Taylor (ian@comton.airs.com) * unix/serial.c: Brian Campbell: check for B57600, B76800 and B115200 in baud rate table. -Sun Aug 23 13:05:28 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Aug 23 13:05:28 1992 Ian Lance Taylor (ian@airs.com) * chat.c (fcsend), tstuu.c (uchild): Chip Salzenberg: call sleep (2) instead of sleep (1). Hopefully this won't break any chat @@ -844,7 +2079,7 @@ Sun Aug 23 13:05:28 1992 Ian Lance Taylor (ian@comton.airs.com) when closing a modem connection. Also, retry if we time out when setting MIN. -Sat Aug 22 22:31:34 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Aug 22 22:31:34 1992 Ian Lance Taylor (ian@airs.com) * uuconf/time.c: Stephen Walick: don't require a comma between time strings, since HDB doesn't seem to. @@ -871,14 +2106,14 @@ Sat Aug 22 22:31:34 1992 Ian Lance Taylor (ian@comton.airs.com) unix/xqtfil.c: Brian J. Murrell and Don Phillips: added SPOOLDIR_SVR4. -Thu Aug 20 00:06:32 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Aug 20 00:06:32 1992 Ian Lance Taylor (ian@airs.com) * sysh.unx: Chiaki Ishikawa: some systems define some but not all of the S_ file mode bits. * uuchk.c (ikshow_port): Chiaki Ishikawa: display lockname. -Wed Aug 19 22:41:39 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Aug 19 22:41:39 1992 Ian Lance Taylor (ian@airs.com) * log.c (ustats): Scott Blachowicz: avoid overflow when reporting bytes per second. @@ -896,29 +2131,29 @@ Wed Aug 19 22:41:39 1992 Ian Lance Taylor (ian@comton.airs.com) ack. Added new SN8 rejection, meaning that the file has already been received. -Sat Aug 15 11:50:32 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Aug 15 11:50:32 1992 Ian Lance Taylor (ian@airs.com) * uuconf/time.c (itadd_span): Don Lewis: fixed bug if later span overlapped two or more earlier spans. -Thu Aug 13 00:19:50 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Aug 13 00:19:50 1992 Ian Lance Taylor (ian@airs.com) * system.h, rec.c (fremote_send_file_init, fremote_send_reply), uucico.c (fdo_call, faccept_call), uucp.c (main), uux.c (main), unix/opensr.c (zsysdep_receive_temp, esysdep_open_receive): implemented file restart. -Wed Aug 12 23:32:05 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Aug 12 23:32:05 1992 Ian Lance Taylor (ian@airs.com) * proti.c (fiprocess_data): ensure that the first argument to fgot_data is always > 0 if the second argument is > 0. -Mon Aug 10 22:43:40 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Aug 10 22:43:40 1992 Ian Lance Taylor (ian@airs.com) * trans.c (floop, ustats_failed): handle half-duplex connections and failed calls correctly. -Sun Aug 9 17:56:32 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Aug 9 17:56:32 1992 Ian Lance Taylor (ian@airs.com) * proti.c (firesend, fisenddata, ficheck_errors): made several changes to improve performance on a lossy line: can now shrink @@ -934,7 +2169,7 @@ Sun Aug 9 17:56:32 1992 Ian Lance Taylor (ian@comton.airs.com) * MANIFEST, Makefile.in, prot.h, uucico.c, protz.c, trans.c: Doug Evans: added Doug Evans's zmodem implementation as protocol 'a'. -Wed Aug 5 22:28:14 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Aug 5 22:28:14 1992 Ian Lance Taylor (ian@airs.com) * policy.h, uuconf.h, uucico.c (fcall), uuconf/tsinfo.c, uuconf/hsinfo.c, uuconf/syssub.c: added "max-retries" command for @@ -947,7 +2182,7 @@ Wed Aug 5 22:28:14 1992 Ian Lance Taylor (ian@comton.airs.com) protocol entry point, changed handshake successful message to display it. -Tue Aug 4 00:04:31 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Aug 4 00:04:31 1992 Ian Lance Taylor (ian@airs.com) * prot.h, uucico.c, protg.c (fbiggstart, cGshort_packets): Chip Salzenberg: added support for 'G' protocol. Added "short-packets" @@ -960,7 +2195,7 @@ Tue Aug 4 00:04:31 1992 Ian Lance Taylor (ian@comton.airs.com) * unix/spawn.c: don't close the file descriptor after dupping it. -Sun Aug 2 23:04:18 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Aug 2 23:04:18 1992 Ian Lance Taylor (ian@airs.com) * trans.c (fremote_hangup_reply): don't hangup if a file transfer is in progress. @@ -968,7 +2203,7 @@ Sun Aug 2 23:04:18 1992 Ian Lance Taylor (ian@comton.airs.com) * send.c (flocal_send_cancelled): don't pass a NULL buffer to pfsenddata. -Sun Jul 26 13:28:27 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Jul 26 13:28:27 1992 Ian Lance Taylor (ian@airs.com) * unix/work.c (fsysdep_get_work_init): return TRUE if there is no work directory. @@ -991,7 +2226,7 @@ Sun Jul 26 13:28:27 1992 Ian Lance Taylor (ian@comton.airs.com) memmove, avoiding the SCO bug and making the 'g' protocol slightly more efficient. -Sat Jul 25 14:20:30 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Jul 25 14:20:30 1992 Ian Lance Taylor (ian@airs.com) * uucp.h, uudefs.h, many other files: broke part of uucp.h out into uudefs.h, stopped including uuconf.h in uucp.h, fixed up .c @@ -1016,7 +2251,7 @@ Sat Jul 25 14:20:30 1992 Ian Lance Taylor (ian@comton.airs.com) lib/escape.c. Made all connections on Unix use the same system dependent structure. -Tue Jul 21 22:08:10 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Jul 21 22:08:10 1992 Ian Lance Taylor (ian@airs.com) * uucp.h, trans.h, uucico.c (fdo_call, faccept_call), uuxqt.c (uqdo_xqt_file), uucp.c (main), uux.c (main), uustat.c @@ -1028,7 +2263,7 @@ Tue Jul 21 22:08:10 1992 Ian Lance Taylor (ian@comton.airs.com) added E request to send file executions which only require reading from standard input. -Sat Jul 18 20:22:50 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Jul 18 20:22:50 1992 Ian Lance Taylor (ian@airs.com) * proti.c, Makefile.in, MANIFEST, prot.h, system.h, trans.h, uucico.c, prote.c, protf.c, protg.c, prott.c, trans.c, send.c, @@ -1037,31 +2272,31 @@ Sat Jul 18 20:22:50 1992 Ian Lance Taylor (ian@comton.airs.com) points. Cleaned up send and receive state machines. Removed pfgone argument from esysdep_open_send. -Fri Jul 17 09:41:05 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Jul 17 09:41:05 1992 Ian Lance Taylor (ian@airs.com) * uuxqt.c (uqdo_xqt_file): only report base name of execution file, not full name. -Thu Jul 16 00:45:06 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Jul 16 00:45:06 1992 Ian Lance Taylor (ian@airs.com) * lib/crc.c: unroll the loop a bit. * configure.in, conf.h.in, unix/init.c: updated to autoconf 0.120. -Wed Jul 15 14:45:32 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Jul 15 14:45:32 1992 Ian Lance Taylor (ian@airs.com) * uuconf.h, uuconv.c, uuconf/uucnfi.h, uuconf/reliab.c, uuconf/tportc.c, uuconf/tdialc.c, uuconf/diasub.c, uuconf/hport.c, uuconf/prtsub.c, uuconf/vsinfo.c: added UUCONF_RELIABLE_FULLDUPLEX and "half-duplex" command for ports and dialers. -Mon Jul 13 16:53:04 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Jul 13 16:53:04 1992 Ian Lance Taylor (ian@airs.com) * prot.h, lib/crc.c, lib/Makefile.in, lib/MANIFEST: added icrc function to compute 32 bit CRC (from Gary S. Brown, via Doug Evans). -Sun Jul 12 21:40:15 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Jul 12 21:40:15 1992 Ian Lance Taylor (ian@airs.com) * uuconv.c (uvwrite_time): Chris Lewis: don't output two commas in a row. @@ -1069,7 +2304,7 @@ Sun Jul 12 21:40:15 1992 Ian Lance Taylor (ian@comton.airs.com) * uuconv.c (uvwrite_taylor_system, uvwrite_taylor_port): Chris Lewis: generate command "protocol", not "protocols". -Sat Jul 11 17:09:09 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Jul 11 17:09:09 1992 Ian Lance Taylor (ian@airs.com) * xcmd.c (fremote_xcmd_init): Chris Lewis: use qdaemon->puuconf, since puuconf is not defined. @@ -1083,7 +2318,7 @@ Sat Jul 11 17:09:09 1992 Ian Lance Taylor (ian@comton.airs.com) * uuconf/freblk.c, uuconf/free.c: Chris Lewis: don't define as void when ! UUCONF_ANSI_C. -Thu Jul 9 09:17:55 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Jul 9 09:17:55 1992 Ian Lance Taylor (ian@airs.com) * prot.h, uucico.c (fdo_call, faccept_call), prote.c (festart), protf.c (ffstart), protg.c (fgstart), prott.c (ftstart): no need @@ -1092,7 +2327,7 @@ Thu Jul 9 09:17:55 1992 Ian Lance Taylor (ian@comton.airs.com) * protf.c (ffawait_ack, ffawait_cksum): don't try to resend if we don't have a file. -Wed Jul 8 14:28:23 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Jul 8 14:28:23 1992 Ian Lance Taylor (ian@airs.com) * unix/srmdir.c (fsysdep_rmdir), unix/walk.c (usysdep_walk_tree): cast to char * to avoid warning. @@ -1119,7 +2354,7 @@ Wed Jul 8 14:28:23 1992 Ian Lance Taylor (ian@comton.airs.com) of jobs to do, and support connections. Added new files trans.h, trans.c, send.c, rec.c, xcmd.c, and removed old file file.c. -Mon Jun 29 15:14:15 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Jun 29 15:14:15 1992 Ian Lance Taylor (ian@airs.com) * Makefile.in: Stephen J. Walick: copy uustat.1 to uustat.$(manext), not uucp.($manext). Also try to create @@ -1128,11 +2363,11 @@ Mon Jun 29 15:14:15 1992 Ian Lance Taylor (ian@comton.airs.com) * chat.c (fcsend, fcprogram): check for NULL return from uuconf_callout. -Thu Jun 18 22:37:28 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Jun 18 22:37:28 1992 Ian Lance Taylor (ian@airs.com) * configure.in, Makefile.in: updated to autoconf 0.118. -Wed Jun 17 14:22:11 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Jun 17 14:22:11 1992 Ian Lance Taylor (ian@airs.com) * unix/serial.c (fsserial_init): add /dev if necessary to device as well as to port name. @@ -1142,12 +2377,12 @@ Wed Jun 17 14:22:11 1992 Ian Lance Taylor (ian@comton.airs.com) * cu.c (main), uucp.c (main), uux.c (main), uuxqt.c (main): don't call zsysdep_localname until we've called usysdep_initialize. -Tue Jun 16 17:42:50 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Jun 16 17:42:50 1992 Ian Lance Taylor (ian@airs.com) * unix/signal.c (usset_signal): set SA_INTERRUPT to force system calls to be interrupted on SunOS. -Mon Jun 15 15:10:24 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Jun 15 15:10:24 1992 Ian Lance Taylor (ian@airs.com) * everything: integrated uuconf library. Split out lib and unix libraries. Made many changes, including defaults for port and @@ -1155,19 +2390,19 @@ Mon Jun 15 15:10:24 1992 Ian Lance Taylor (ian@comton.airs.com) handling of HDB Permissions, new zbufalc routines to manage strings on the heap. Incorporated uuconv. -Wed Jun 10 23:51:03 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Jun 10 23:51:03 1992 Ian Lance Taylor (ian@airs.com) * uuconf.h, uuconf/Makefile.in, uuconf/locnm.c, uuconf/llocnm.c, uuconf/hlocnm.c, uuconf/tlocnm.c: renamed uuconf_localname to uuconf_login_localname and added new uuconf_localname which doesn't need to read system information. -Tue Jun 9 14:19:20 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Jun 9 14:19:20 1992 Ian Lance Taylor (ian@airs.com) * uuconf.h, uuconf/Makefile.in, uuconf/local.c: wrote uuconf_system_local. -Mon Jun 8 14:14:30 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Jun 8 14:14:30 1992 Ian Lance Taylor (ian@airs.com) * policy.h: changed description of LOCKDIR, which now need not always be defined. @@ -1176,7 +2411,7 @@ Mon Jun 8 14:14:30 1992 Ian Lance Taylor (ian@comton.airs.com) uuconf/tinit.c, uuconf/Makefile.in: added uuconf_lockdir, and ``lockdir'' command to config. -Sat Jun 6 22:07:58 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Jun 6 22:07:58 1992 Ian Lance Taylor (ian@airs.com) * configure.in: updated to autoconf 0.115, added code to set LIBOBJS. @@ -1185,13 +2420,13 @@ Sat Jun 6 22:07:58 1992 Ian Lance Taylor (ian@comton.airs.com) routines now in lib/, changed to include regular UUCP header files. -Fri Jun 5 15:31:29 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Jun 5 15:31:29 1992 Ian Lance Taylor (ian@airs.com) * uuconf.h, uuconf/uucnfi.h, uuconf/syssub.c, uuconf/uuconv.c: always set zpubdir for every system, changed uuconf_zpubdir to const char *. -Wed Jun 3 15:15:32 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Jun 3 15:15:32 1992 Ian Lance Taylor (ian@airs.com) * uuconf.h, uuconf/Makefile.in, uuconf/deblev.c, uuconf/maxuxq.c, uuconf/pubdir.c, uuconf/spool.c: wrote uuconf_debuglevel, @@ -1201,12 +2436,12 @@ Wed Jun 3 15:15:32 1992 Ian Lance Taylor (ian@comton.airs.com) * uuconf/tportc.c: default TCP ports to being fully reliable. -Mon Jun 1 17:03:22 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Jun 1 17:03:22 1992 Ian Lance Taylor (ian@airs.com) * uuconf.h, uuconf/prtsub.c: removed uuconf_psysdep from uuconf_port. -Sun May 31 00:07:40 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun May 31 00:07:40 1992 Ian Lance Taylor (ian@airs.com) * uuconf.h, uuconf/Makefile.in, uuconf/diacod.c: wrote uuconf_dialcode. @@ -1224,7 +2459,7 @@ Sun May 31 00:07:40 1992 Ian Lance Taylor (ian@comton.airs.com) * uuconf.h, uuconf/Makefile.in, uuconf/val.c, uuconf/tval.c: wrote uuconf_validate, uuconf_taylor_validate. -Sat May 30 12:37:02 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat May 30 12:37:02 1992 Ian Lance Taylor (ian@airs.com) * system.h, sys1.unx: changed zsysdep_local_name to zsysdep_localname, and made it fatal out rather than return NULL. @@ -1246,12 +2481,12 @@ Sat May 30 12:37:02 1992 Ian Lance Taylor (ian@comton.airs.com) * configure.in, conf.h.in: check for . -Fri May 29 00:03:05 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri May 29 00:03:05 1992 Ian Lance Taylor (ian@airs.com) * sysinf.c (ztranslate_system): Jac Kersing: must xstrdup the argument, since it points to a buffer that will be reused. -Thu May 28 12:42:20 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu May 28 12:42:20 1992 Ian Lance Taylor (ian@airs.com) * sys3.unx (zsysdep_real_file_name): Ted Lindgreen: check return value of zstilde_expand. @@ -1303,13 +2538,13 @@ Thu May 28 12:42:20 1992 Ian Lance Taylor (ian@comton.airs.com) * configure.in, conf.h.in, sysh.unx, sys1.unx: John Theus: use sv_onstack instead of sv_flags in the sigvec structure on 4.2BSD. -Wed May 27 23:23:39 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed May 27 23:23:39 1992 Ian Lance Taylor (ian@airs.com) * policy.h, sys2.unx (fsysdep_modem_no_carrier): Scott Reynolds: added HAVE_CLOCAL_BUG compilation parameter to work around problems on some serial ports. -Tue May 26 15:50:17 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue May 26 15:50:17 1992 Ian Lance Taylor (ian@airs.com) * uustat.c, uustat.1: added a bunch of options to support uuclean: -e, -i, -K, -M, -N, -W, -Q. @@ -1317,13 +2552,13 @@ Tue May 26 15:50:17 1992 Ian Lance Taylor (ian@comton.airs.com) * system.h, sys7.unx (fsysdep_privileged, fskill_or_rejuv): added fsysdep_privileged function. -Thu May 21 13:30:21 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu May 21 13:30:21 1992 Ian Lance Taylor (ian@airs.com) * uuxqt.c (uqdo_xqt_file): processing of execution file has to be case significant; this will change handling of "n" flag, which was not correctly handled before. -Wed May 20 14:22:12 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed May 20 14:22:12 1992 Ian Lance Taylor (ian@airs.com) * sys1.unx (usysdep_detach): close the statistics file when detaching. @@ -1361,7 +2596,7 @@ Wed May 20 14:22:12 1992 Ian Lance Taylor (ian@comton.airs.com) (usysdep_walk_tree, isdir, ftw, do_ftw): added -R option to uucp to recursively copy directories. -Tue May 19 18:29:32 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue May 19 18:29:32 1992 Ian Lance Taylor (ian@airs.com) * sys3.unx: changed zsysdep_in_dir to always append the filename to the directory, even if the directory did not already exist. @@ -1369,25 +2604,25 @@ Tue May 19 18:29:32 1992 Ian Lance Taylor (ian@comton.airs.com) * sysh.unx, sys1.unx, sys3.unx, sys4.unx, sys5.unx: renamed fsdirectory_exists to fsysdep_directory. -Mon May 18 14:49:35 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon May 18 14:49:35 1992 Ian Lance Taylor (ian@airs.com) * system.h, uucp.c (main), sys6.unx (zsysdep_uuto): added -t option to uucp to emulate uuto, wrote zsysdep_uuto to do Unix dependent destination translation for uuto, added -p option to uucp as synonym for -C for uuto compatibility. -Sun May 17 22:04:09 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun May 17 22:04:09 1992 Ian Lance Taylor (ian@airs.com) * protg.c (fgexchange_init): permit a second INITB to override the segment size given in the first INITB. -Tue May 5 16:03:22 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue May 5 16:03:22 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (main, fdo_call), uucico.8: Chip Salzenberg: added -c option to uucico to not warn if invoked when the system may not be called. -Tue Apr 28 15:05:01 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Apr 28 15:05:01 1992 Ian Lance Taylor (ian@airs.com) * sysh.unx, sys2.unx (fsserial_open, fsblock): preserve file status flags. @@ -1395,7 +2630,7 @@ Tue Apr 28 15:05:01 1992 Ian Lance Taylor (ian@comton.airs.com) * protg.c (fgwait_for_packet): Heiko Rupp: only send RJ packet if there are no unacknowledged packets. -Mon Apr 27 18:56:42 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Apr 27 18:56:42 1992 Ian Lance Taylor (ian@airs.com) * system.h: added several routines for cu. @@ -1404,7 +2639,7 @@ Mon Apr 27 18:56:42 1992 Ian Lance Taylor (ian@comton.airs.com) * uux.c (main): Jose Manas: dumb bug when checking against calloc_args. -Fri Apr 24 20:32:06 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Apr 24 20:32:06 1992 Ian Lance Taylor (ian@airs.com) * sys1.unx: changed HAVE_LONG_NAMES to HAVE_LONG_FILENAMES for new version of autoconf. @@ -1423,7 +2658,7 @@ Fri Apr 24 20:32:06 1992 Ian Lance Taylor (ian@comton.airs.com) * sys2.unx: get the right versions of major and minor. -Wed Apr 22 11:19:11 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Apr 22 11:19:11 1992 Ian Lance Taylor (ian@airs.com) * protg.c (fgsenddata, fggot_ack): Michael Haberler: the slow start after error code was essentially shrinking the window size. @@ -1440,7 +2675,7 @@ Wed Apr 22 11:19:11 1992 Ian Lance Taylor (ian@comton.airs.com) (uv2_read_systems): Michael Richardson: don't core dump if no chat script. -Tue Apr 21 00:19:47 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Apr 21 00:19:47 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (faccept_call): Chris Lewis: a successful call in should clear the number of retries. @@ -1454,24 +2689,24 @@ Tue Apr 21 00:19:47 1992 Ian Lance Taylor (ian@comton.airs.com) parity generation, input parity checking, and XON/XOFF handshaking, all to support cu. -Mon Apr 20 11:47:23 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Apr 20 11:47:23 1992 Ian Lance Taylor (ian@airs.com) * port.h, uucico.c (fdo_call), port.c (fport_dial, fmodem_dial), tcp.c (ftcp_dial): added separate zphone argument to fport_dial to support cu. -Thu Apr 16 01:15:42 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Apr 16 01:15:42 1992 Ian Lance Taylor (ian@airs.com) * bnu.c (ubadd_perm, ubadd_perm_alternate): Chris Lewis: handle a combination of Permissions entries which specify just LOGNAME with entries that specify both MACHINE and LOGNAME. -Wed Apr 15 16:11:48 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Apr 15 16:11:48 1992 Ian Lance Taylor (ian@airs.com) * sys1.unx (usysdep_initialize, zsysdep_login_name): John Theus: don't die if can't get login name, unless it's really needed. -Tue Apr 14 12:39:18 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Apr 14 12:39:18 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (main, fcall): Petri Helenius: must relock system after detaching from terminal when trying different alternates. @@ -1505,18 +2740,18 @@ Tue Apr 14 12:39:18 1992 Ian Lance Taylor (ian@comton.airs.com) * uucp.texi: Harlan Stenn: correct case of references. -Tue Apr 7 01:02:17 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Apr 7 01:02:17 1992 Ian Lance Taylor (ian@airs.com) * Released version 1.03. -Mon Apr 6 15:49:08 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Apr 6 15:49:08 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (faccept_call): Marc Boucher: set *pqsys to NULL. * bnu.c (ubnu_read_systems, fbnu_find_port): Erik Forsberg: support multiple character modem classes. -Fri Apr 3 00:37:25 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Apr 3 00:37:25 1992 Ian Lance Taylor (ian@airs.com) * sys2.unx: Petri Helenius: only clear known bits in termio or termios structure; didn't change HAVE_BSD_TTY handling--maybe next @@ -1529,14 +2764,14 @@ Fri Apr 3 00:37:25 1992 Ian Lance Taylor (ian@comton.airs.com) * sys1.unx, chat.c: minor cleanups for gcc 2.1. -Thu Apr 2 17:51:36 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Apr 2 17:51:36 1992 Ian Lance Taylor (ian@airs.com) * tstuu.c: conditionally declare times. * uucp.h, prot.c, sysinf.c, prtinf.c: added gcc 2.0 format checking to ulog, and fixed a few problems it discovered. -Wed Apr 1 16:21:08 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Apr 1 16:21:08 1992 Ian Lance Taylor (ian@airs.com) * sys3.unx (esysdep_open_receive): David J. MacKenzie: some USG_STATFS systems use 512 as the block size of f_bfree, despite @@ -1564,7 +2799,7 @@ Wed Apr 1 16:21:08 1992 Ian Lance Taylor (ian@comton.airs.com) * uucico.8, uuxqt.8, uucp.1, uux.1: updated -x switch, cleaned up a bit. -Tue Mar 31 14:40:06 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Mar 31 14:40:06 1992 Ian Lance Taylor (ian@airs.com) * sys1.unx (usysdep_initialize): use $PWD to get the current working directory if it's defined and correct. @@ -1579,7 +2814,7 @@ Tue Mar 31 14:40:06 1992 Ian Lance Taylor (ian@comton.airs.com) * protg.c (fgsenddata): Niels Baggesen: packet to retransmit did not get reset correctly. -Mon Mar 30 10:03:28 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Mar 30 10:03:28 1992 Ian Lance Taylor (ian@airs.com) * tcp.c (ftcp_reset): Petri Helenius: TCP server never started uuxqt, because it exited in ftcp_reset. @@ -1590,7 +2825,7 @@ Mon Mar 30 10:03:28 1992 Ian Lance Taylor (ian@comton.airs.com) * sys3.unx (esysdep_open_receive): Niels Baggesen: USG statfs has an f_bsize field. -Sun Mar 29 23:04:20 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Mar 29 23:04:20 1992 Ian Lance Taylor (ian@airs.com) * uucp.h, sysinf.c, prot.c, prote.c, protf.c, protg.c, prott.c: Niels Baggesen: added new debugging types abnormal and uucp-proto. @@ -1604,7 +2839,7 @@ Sun Mar 29 23:04:20 1992 Ian Lance Taylor (ian@comton.airs.com) fsserial_io): always block and unblock the read and write descriptors together. -Sat Mar 28 14:40:50 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Mar 28 14:40:50 1992 Ian Lance Taylor (ian@airs.com) * uustat.c: allow multiple systems and users to be specified at once; likewise for kills and rejuvenates. Allow old and young to @@ -1640,7 +2875,7 @@ Sat Mar 28 14:40:50 1992 Ian Lance Taylor (ian@comton.airs.com) * uucico.c (fuucp), log.c (ulog, ustats, ustats_close): close log and statistics file every time master and slave switch roles. -Fri Mar 27 00:31:23 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Mar 27 00:31:23 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (fdo_call): Mark Mallett: minor cleanup. @@ -1674,29 +2909,29 @@ Fri Mar 27 00:31:23 1992 Ian Lance Taylor (ian@comton.airs.com) * Makefile.in, configure.in: David J. MacKenzie: various cleanups. Changed default newconfigdir definition. Supported compilation in a different directory. Used symbolic links if available. Changed - default infordir definition per Franc,ois Pinard. + default infodir definition per Franc,ois Pinard. * policy.h: David J. MacKenzie: various cleanups. -Thu Mar 26 12:17:41 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Mar 26 12:17:41 1992 Ian Lance Taylor (ian@airs.com) * sys3.unx: reduced race condition in fsdo_lock. * sys1.unx: Gerben Wierda: various cleanups. Also don't set sa_flags to SV_INTERRUPT per Chip Salzenberg. -Wed Mar 25 22:20:24 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Mar 25 22:20:24 1992 Ian Lance Taylor (ian@airs.com) * configure.in: Overhauled for readability and functionality as suggested by T. William Wells and others. Added bug checks, including for SCO memmove and ftime. -Tue Mar 24 12:18:56 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Mar 24 12:18:56 1992 Ian Lance Taylor (ian@airs.com) * sysinf.c (uiread_systems): fixed handling of alternates in file-wide defaults. -Wed Mar 18 01:01:25 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Mar 18 01:01:25 1992 Ian Lance Taylor (ian@airs.com) * config.c (tprocess_one_cmd): handle CMDTABTYPE_FULLSTRING correctly if there are no arguments. @@ -1706,7 +2941,7 @@ Wed Mar 18 01:01:25 1992 Ian Lance Taylor (ian@comton.airs.com) * sys1.unx (usysdep_detach): open the controlling terminal in non delay mode since it might be a modem. -Tue Mar 17 00:01:53 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Mar 17 00:01:53 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (fdo_call, faccept_call): T. William Wells: set current time in status file when call completes. @@ -1718,7 +2953,7 @@ Tue Mar 17 00:01:53 1992 Ian Lance Taylor (ian@comton.airs.com) * sys2.unx (fsserial_lock, fsserial_open): don't block when opening the write descriptor. -Mon Mar 16 00:14:43 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Mar 16 00:14:43 1992 Ian Lance Taylor (ian@airs.com) * system.h, uuxqt.c (uqdo_xqt_file), sys5.unx (fsysdep_execute): pass command to fsysdep_execute as first element of argument @@ -1771,7 +3006,7 @@ Mon Mar 16 00:14:43 1992 Ian Lance Taylor (ian@comton.airs.com) maximum file transfer size; accept and ignore SVR4 -R flag meaning that the system supports file restart. -Sun Mar 15 00:21:56 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Mar 15 00:21:56 1992 Ian Lance Taylor (ian@airs.com) * sysinf.c (titime, titimegrade): permit a retry time to be specified as an optional additional argument. @@ -1798,7 +3033,7 @@ Sun Mar 15 00:21:56 1992 Ian Lance Taylor (ian@comton.airs.com) * bnu.c (fbnu_find_port): Scott Ballantyne: accept "Any" as a Device speed. -Sat Mar 14 20:52:11 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Mar 14 20:52:11 1992 Ian Lance Taylor (ian@airs.com) * uucp.h, system.h, sysh.unx, uucico.c (main, zget_typed_line), uuxqt.c (main), uucp.c (main), uux.c (main, uxcopy_stdin), tcp.c @@ -1817,7 +3052,7 @@ Sat Mar 14 20:52:11 1992 Ian Lance Taylor (ian@comton.airs.com) tstuu.c (uchild): added function isspawn, espopen and iswait and channeled all execs of new processes and waits through them. -Fri Mar 13 18:00:04 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Mar 13 18:00:04 1992 Ian Lance Taylor (ian@airs.com) * sysinf.c (uset_system_defaults): Chip Salzenberg: changed default login script timeout to 10 seconds. @@ -1828,7 +3063,7 @@ Fri Mar 13 18:00:04 1992 Ian Lance Taylor (ian@comton.airs.com) freport argument to freceive_data, and change all old calls to pass it in as FALSE. -Thu Mar 12 14:49:59 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Mar 12 14:49:59 1992 Ian Lance Taylor (ian@airs.com) * uucp.h: added a padding byte to scmd structure, since at least one compiler needs it. @@ -1850,7 +3085,7 @@ Thu Mar 12 14:49:59 1992 Ian Lance Taylor (ian@comton.airs.com) The debugging types are additive. Many source files changed. Inspired by Michael Richardson, Johan Vromans and Peter da Silva. -Wed Mar 11 12:01:03 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Mar 11 12:01:03 1992 Ian Lance Taylor (ian@airs.com) * policy.h, uuxqt.c (uqdo_xqt_file): Chip Salzenberg: support Internet mail addresses in uuxqt replies (added configuration @@ -1872,7 +3107,7 @@ Wed Mar 11 12:01:03 1992 Ian Lance Taylor (ian@comton.airs.com) Jon Zeef: if a temporary failure occurs, retry the execution later. -Tue Mar 10 12:40:30 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Mar 10 12:40:30 1992 Ian Lance Taylor (ian@airs.com) * sysh.unx, sys1.unx (isfork), sys2.unx, sys5.unx, tcp.c: Franc,ois Pinard: retry fork several times before giving up. @@ -1908,7 +3143,7 @@ Tue Mar 10 12:40:30 1992 Ian Lance Taylor (ian@comton.airs.com) parameter HAVE_TERMIOS_AND_SYS_IOCTL_H accordingly; handle it in sysh.unx. -Mon Mar 9 00:06:12 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Mar 9 00:06:12 1992 Ian Lance Taylor (ian@airs.com) * sys2.unx (fsserial_close): Franc,ois Pinard: sleep for a second after closing the serial port to give it a chance to settle. @@ -1940,7 +3175,7 @@ Mon Mar 9 00:06:12 1992 Ian Lance Taylor (ian@comton.airs.com) this status type is not used (if an attempt is made to call the system, the status is left unchanged). -Sun Mar 8 11:41:45 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Mar 8 11:41:45 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (main, flogin_prompt, faccept_call): Ted Lindgreen: if we were asked to call a single system, or if a single system @@ -1959,7 +3194,7 @@ Sun Mar 8 11:41:45 1992 Ian Lance Taylor (ian@comton.airs.com) report the port name and (for incoming calls) the login name in the log file. -Sat Mar 7 10:00:47 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Mar 7 10:00:47 1992 Ian Lance Taylor (ian@airs.com) * port.h, prtinf.c, sys2.unx (fsserial_lockfile, fsserial_lock): Peter da Silva: added ``lockname'' command to ports to permit @@ -1981,7 +3216,7 @@ Sat Mar 7 10:00:47 1992 Ian Lance Taylor (ian@comton.airs.com) * prot.h: never included more than once. -Fri Mar 6 21:53:28 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Mar 6 21:53:28 1992 Ian Lance Taylor (ian@airs.com) * uucp.h: Eric Ziegast: some systems don't define EXIT_SUCCESS or EXIT_FAILURE in stdlib.h. @@ -1993,7 +3228,7 @@ Fri Mar 6 21:53:28 1992 Ian Lance Taylor (ian@comton.airs.com) incorrect maximum possible transfer size. Added new file uutime.h. -Wed Mar 4 10:06:13 1992 Ian Lance Taylor (ian@comton.airs.com) +Wed Mar 4 10:06:13 1992 Ian Lance Taylor (ian@airs.com) * sys2.unx (fsserial_lockfile, fsserial_lock, fsysdep_modem_open, fsysdep_direct_open, fsysdep_modem_close, fsysdep_direct_close): @@ -2014,7 +3249,7 @@ Wed Mar 4 10:06:13 1992 Ian Lance Taylor (ian@comton.airs.com) * uucico.c (zget_uucp_cmd): Michael Haberler: some systems send \n after Shere, rather than a null byte. -Tue Mar 3 01:03:22 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Mar 3 01:03:22 1992 Ian Lance Taylor (ian@airs.com) * uuxqt.c (main, uqdo_xqt_file): permit local executions, don't get grade out of system dependent file name. @@ -2060,7 +3295,7 @@ Tue Mar 3 01:03:22 1992 Ian Lance Taylor (ian@comton.airs.com) with V2 or BNU configuration files, don't complain if the HAVE_TAYLOR_CONFIG files are missing. -Mon Mar 2 10:21:36 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Mar 2 10:21:36 1992 Ian Lance Taylor (ian@airs.com) * sys2.unx (fsserial_read): T. William Wells: don't arbitrarily extend read timeout. @@ -2068,14 +3303,14 @@ Mon Mar 2 10:21:36 1992 Ian Lance Taylor (ian@comton.airs.com) * uux.c (main): check iSignal before entering fread, since the user may have hit ^C earlier in the program. -Sun Mar 1 23:39:33 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Mar 1 23:39:33 1992 Ian Lance Taylor (ian@airs.com) * policy.h, uucp.h, sysh.unx, sys2.unx (fsserial_lock, fsysdep_modem_close, fsysdep_direct_close), util.c (strlwr), configure.in: Marc Unangst: added HAVE_SCO_LOCKFILES configuration parameter to force lock file names to lower case. -Fri Feb 28 00:07:12 1992 Ian Lance Taylor (ian@comton.airs.com) +Fri Feb 28 00:07:12 1992 Ian Lance Taylor (ian@airs.com) * system.h, uucico.c (faccept_call, fdo_xcmd), uuxqt.c (uqdo_xqt_file), uux.c (main), uucp.c (main, ucspool_cmds), @@ -2107,7 +3342,7 @@ Fri Feb 28 00:07:12 1992 Ian Lance Taylor (ian@comton.airs.com) setjmp. Also TIOCNOTTY sets the process group to 0, so we don't have to fork before calling it. -Thu Feb 27 00:08:09 1992 Ian Lance Taylor (ian@comton.airs.com) +Thu Feb 27 00:08:09 1992 Ian Lance Taylor (ian@airs.com) * sys1.unx, sys6.unx, sys7.unx: added some extern definitions. @@ -2132,7 +3367,7 @@ Thu Feb 27 00:08:09 1992 Ian Lance Taylor (ian@comton.airs.com) checked at various points, notably in the port routines and in the main loops in uucico and uuxqt. -Tue Feb 25 10:59:23 1992 Ian Lance Taylor (ian@comton.airs.com) +Tue Feb 25 10:59:23 1992 Ian Lance Taylor (ian@airs.com) * protg.c (fgwait_for_packet): Bob Denny: reset the count of timeouts only when data is recognized, so that we aren't fooled by @@ -2141,7 +3376,7 @@ Tue Feb 25 10:59:23 1992 Ian Lance Taylor (ian@comton.airs.com) * sys5.unx (zsysdep_get_xqt): Bob Denny: don't warn if opendir gets ENOENT. I think POSIX requires ENOTDIR, but what can you do? -Mon Feb 24 14:37:10 1992 Ian Lance Taylor (ian@comton.airs.com) +Mon Feb 24 14:37:10 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (main, uusage): don't treat an extra argument as a port name. @@ -2169,7 +3404,7 @@ Mon Feb 24 14:37:10 1992 Ian Lance Taylor (ian@comton.airs.com) * uucp.h: John Theus: if we don't have vprintf, ulog is defined without an ellipsis, so don't declare it with one. -Sun Feb 23 14:45:53 1992 Ian Lance Taylor (ian@comton.airs.com) +Sun Feb 23 14:45:53 1992 Ian Lance Taylor (ian@airs.com) * uucp.h, system.h, bnu.c (ubnu_read_systems), config.c (fin_directory_list), sys1.unx (fsysdep_in_directory), sys5.unx @@ -2192,7 +3427,7 @@ Sun Feb 23 14:45:53 1992 Ian Lance Taylor (ian@comton.airs.com) zcalled_remote_receive fields to ssysteminfo structure for this, and handled them in all the appropriate places. -Sat Feb 22 22:30:59 1992 Ian Lance Taylor (ian@comton.airs.com) +Sat Feb 22 22:30:59 1992 Ian Lance Taylor (ian@airs.com) * Complete overhaul of configuration to use automatic shell script. Eliminated conf.h, now generated by configure. Renamed @@ -2200,12 +3435,12 @@ Sat Feb 22 22:30:59 1992 Ian Lance Taylor (ian@comton.airs.com) decisions and other choices which can not be made automatically. Many changes to many source files, none having to do with code. -Thu Feb 20 17:57:55 1992 Ian Lance Taylor (ian at comton.airs.com) +Thu Feb 20 17:57:55 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (fdo_call): Chip Salzenberg: some systems truncate the Shere= machine name to 7 characters. -Wed Feb 19 14:36:31 1992 Ian Lance Taylor (ian at comton.airs.com) +Wed Feb 19 14:36:31 1992 Ian Lance Taylor (ian@airs.com) * sys7.unx (fskill_or_rejuv): make sure that only the submitter or the superuser is permitted to cancel (or rejuvenate) a request. @@ -2223,12 +3458,12 @@ Wed Feb 19 14:36:31 1992 Ian Lance Taylor (ian at comton.airs.com) to take a time returned by isysdep_time rather than always use the current time. Changed the calls as appropriate. -Tue Feb 18 14:03:19 1992 Ian Lance Taylor (ian at comton.airs.com) +Tue Feb 18 14:03:19 1992 Ian Lance Taylor (ian@airs.com) * uuxqt.c (main): pass fdaemon argument correctly to usysdep_initialize. -Mon Feb 17 17:09:16 1992 Ian Lance Taylor (ian at comton.airs.com) +Mon Feb 17 17:09:16 1992 Ian Lance Taylor (ian@airs.com) * uuxqt.c (uqdo_xqt_file): T. William Wells: make sure sh uses absolute path of command, rather than relying on PATH. @@ -2242,7 +3477,7 @@ Mon Feb 17 17:09:16 1992 Ian Lance Taylor (ian at comton.airs.com) * sys2.unx (fsrun_chat): Bob Denny: log chat program messages as LOG_NORMAL, not LOG_ERROR. -Fri Feb 14 00:17:57 1992 Ian Lance Taylor (ian at comton.airs.com) +Fri Feb 14 00:17:57 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (ucatch), uuxqt.c (uqcatch): Neils Baggesen: under HAVE_BNU_LOGGING, don't lose the system name when dieing. @@ -2260,7 +3495,7 @@ Fri Feb 14 00:17:57 1992 Ian Lance Taylor (ian at comton.airs.com) * uucp.c (main): Niels Baggesen: abtname must be copied into memory, or it will be overwritten by the next file to be copied. -Sun Feb 9 00:12:58 1992 Ian Lance Taylor (ian at comton.airs.com) +Sun Feb 9 00:12:58 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (fuucp), prot.c (fsend_file, freceive_file): Bob Denny: call fmail_transfer before calling fsysdep_did_work, because the @@ -2272,7 +3507,7 @@ Sun Feb 9 00:12:58 1992 Ian Lance Taylor (ian at comton.airs.com) suid program uudir which sets its uid to uucp and invokes /bin/mkdir. Added rules to create uudir to Makefile. -Sat Feb 8 14:25:50 1992 Ian Lance Taylor (ian at comton.airs.com) +Sat Feb 8 14:25:50 1992 Ian Lance Taylor (ian@airs.com) * sysh.unx, sys1.unx (opendir, readdir, closedir), sys4.unx, sys5.unx: added HAVE_OLD_DIRECTORIES configuration parameter to @@ -2321,7 +3556,7 @@ Sat Feb 8 14:25:50 1992 Ian Lance Taylor (ian at comton.airs.com) related variables by macro defining them to gnu_*. This avoids conflicts with system header files and system libraries. -Fri Feb 7 12:08:42 1992 Ian Lance Taylor (ian at comton.airs.com) +Fri Feb 7 12:08:42 1992 Ian Lance Taylor (ian@airs.com) * everything: added HAVE_STRING_H and HAVE_STRINGS_H. Removed include of in every source file and put it in uucp.h. @@ -2331,7 +3566,7 @@ Fri Feb 7 12:08:42 1992 Ian Lance Taylor (ian at comton.airs.com) * uucico.c (fcall): Bob Denny: retry time not reached is not really an error, so just make a normal log entry for it. -Sun Feb 2 01:38:47 1992 Ian Lance Taylor (ian at comton.airs.com) +Sun Feb 2 01:38:47 1992 Ian Lance Taylor (ian@airs.com) * uucp.c (main): Get the file name for the destination of a local copy using zsysdep_real_file_name rather than zsysdep_in_dir, @@ -2350,7 +3585,7 @@ Sun Feb 2 01:38:47 1992 Ian Lance Taylor (ian at comton.airs.com) be separated by more than just a single space if they are read from a V2 or BNU configuration file. -Fri Jan 31 19:51:57 1992 Ian Lance Taylor (ian at comton.airs.com) +Fri Jan 31 19:51:57 1992 Ian Lance Taylor (ian@airs.com) * protg.c: Chip Salzenberg: change default window size to 7. @@ -2360,12 +3595,12 @@ Fri Jan 31 19:51:57 1992 Ian Lance Taylor (ian at comton.airs.com) * log.c (ulog): Michael Nolan: if SIGABRT is not defined, just call abort. -Thu Jan 30 18:19:33 1992 Ian Lance Taylor (ian at comton.airs.com) +Thu Jan 30 18:19:33 1992 Ian Lance Taylor (ian@airs.com) * bnu.c (ubadd_perm): Michael Nolan: debugging check was done wrong for entry with LOGNAME but no MACHINE. -Wed Jan 29 13:28:59 1992 Ian Lance Taylor (ian at comton.airs.com) +Wed Jan 29 13:28:59 1992 Ian Lance Taylor (ian@airs.com) * uucico.c (zget_uucp_cmd): Patrick Smith: only wait a short time for the hangup string. @@ -2373,7 +3608,7 @@ Wed Jan 29 13:28:59 1992 Ian Lance Taylor (ian at comton.airs.com) * sys4.unx (iswork_cmp): Patrick Smith: fixed casts to not cast away const. -Tue Jan 28 11:06:34 1992 Ian Lance Taylor (ian at comton.airs.com) +Tue Jan 28 11:06:34 1992 Ian Lance Taylor (ian@airs.com) * sys1.unx, sys3.unx, tstuu.c: Jay Vassos-Libove: removed some declarations of system functions that conflict with system header @@ -2384,7 +3619,7 @@ Tue Jan 28 11:06:34 1992 Ian Lance Taylor (ian at comton.airs.com) * protg.c (fgsendcmd): the previous patch wasn't really correct. -Mon Jan 27 22:30:47 1992 Ian Lance Taylor (ian at comton.airs.com) +Mon Jan 27 22:30:47 1992 Ian Lance Taylor (ian@airs.com) * log.c (ustats): Marty Shannon: don't report a failed transfer under USE_BNU_LOGGING. @@ -2403,7 +3638,7 @@ Mon Jan 27 22:30:47 1992 Ian Lance Taylor (ian at comton.airs.com) end of command which was exactly a power of two in length correctly. -Tue Jan 21 14:37:10 1992 Ian Lance Taylor (ian at comton.airs.com) +Tue Jan 21 14:37:10 1992 Ian Lance Taylor (ian@airs.com) * Released version 1.02. @@ -2411,7 +3646,7 @@ Tue Jan 21 14:37:10 1992 Ian Lance Taylor (ian at comton.airs.com) zcone_system), sys1.unx (fsysdep_run): Chip Salzenberg: have uucp and uux start up uucico -s system rather than uucico -r1. -Mon Jan 20 11:45:38 1992 Ian Lance Taylor (ian at comton.airs.com) +Mon Jan 20 11:45:38 1992 Ian Lance Taylor (ian@airs.com) * sys1.unx (fsysdep_make_dirs): don't try to create a directory with no name. @@ -2427,7 +3662,7 @@ Mon Jan 20 11:45:38 1992 Ian Lance Taylor (ian at comton.airs.com) the .Status file if it's the wrong time to call, and upon receiving a call. -Sun Jan 19 13:29:23 1992 Ian Lance Taylor (ian at comton.airs.com) +Sun Jan 19 13:29:23 1992 Ian Lance Taylor (ian@airs.com) * protg.c (fgsendcmd, fgsenddata): Dave Platt: if the remote UUCP accepts packets larger than 64 bytes, assume it can handle @@ -2443,7 +3678,7 @@ Sun Jan 19 13:29:23 1992 Ian Lance Taylor (ian at comton.airs.com) * conf.h, uucp.h, util.c (bsearch): added HAVE_BSEARCH configuration parameter. -Sat Jan 18 17:45:28 1992 Ian Lance Taylor (ian at comton.airs.com) +Sat Jan 18 17:45:28 1992 Ian Lance Taylor (ian@airs.com) * tstuu.c (utransfer): Mike Park: don't sleep when the input buffer is full; it's too slow. @@ -2463,7 +3698,7 @@ Sat Jan 18 17:45:28 1992 Ian Lance Taylor (ian at comton.airs.com) permanently and does not remove file if request fails only temporarily. -Thu Jan 16 11:33:08 1992 Ian Lance Taylor (ian at comton.airs.com) +Thu Jan 16 11:33:08 1992 Ian Lance Taylor (ian@airs.com) * protg.c (fgsendcmd, fgsenddata): zero out unused bytes in short packets. @@ -2484,7 +3719,7 @@ Thu Jan 16 11:33:08 1992 Ian Lance Taylor (ian at comton.airs.com) * sys2.unx, tstuu.c: Mike Park: ioctl is sometimes declared varadic, so we can't declare it. -Wed Jan 15 02:03:43 1992 Ian Lance Taylor (ian at comton.airs.com) +Wed Jan 15 02:03:43 1992 Ian Lance Taylor (ian@airs.com) * sys1.unx: put \n at end of fsysdep_run error message. @@ -2520,7 +3755,7 @@ Wed Jan 15 02:03:43 1992 Ian Lance Taylor (ian at comton.airs.com) configuration files are looked up using NEWCONFIGLIB. Old style configuration files are looked up using OLDCONFIGLIB. -Mon Jan 13 00:35:43 1992 Ian Lance Taylor (ian at comton.airs.com) +Mon Jan 13 00:35:43 1992 Ian Lance Taylor (ian@airs.com) * sys3.unx: David Nugent: don't declare chmod, since it may be prototyped to take an argument that is smaller than an int. @@ -2566,7 +3801,7 @@ Mon Jan 13 00:35:43 1992 Ian Lance Taylor (ian at comton.airs.com) * sysinf.c (tisystem): Mike Park: ulog was being passed the wrong number of arguments. -Sun Jan 12 14:32:47 1992 Ian Lance Taylor (ian at comton.airs.com) +Sun Jan 12 14:32:47 1992 Ian Lance Taylor (ian@airs.com) * Eliminated CONFIG, INSTALL and THANKS. They are now included in uucp.texi. Changed README and MANIFEST accordingly. Added @@ -2580,7 +3815,7 @@ Sun Jan 12 14:32:47 1992 Ian Lance Taylor (ian at comton.airs.com) * log.c (ulog): allocate enough bytes to name file if HAVE_BNU_LOGGING is in use but zLogfile has no %s. -Sat Jan 11 12:11:56 1992 Ian Lance Taylor (ian at comton.airs.com) +Sat Jan 11 12:11:56 1992 Ian Lance Taylor (ian@airs.com) * Makefile: changed to correspond to GNU standards, according to standards.text of 24 Nov 91. @@ -2597,7 +3832,7 @@ Sat Jan 11 12:11:56 1992 Ian Lance Taylor (ian at comton.airs.com) structure to avoid bug in AIX compiler which causes it to fail to recognize an address constant containing the -> operator. -Tue Jan 7 10:22:43 1992 Ian Lance Taylor (ian at comton.airs.com) +Tue Jan 7 10:22:43 1992 Ian Lance Taylor (ian@airs.com) * Released beta 1.02. @@ -2608,7 +3843,7 @@ Tue Jan 7 10:22:43 1992 Ian Lance Taylor (ian at comton.airs.com) * sysinf.c (tadd_proto_param): Niels Baggesen: allocate number of protocol parameters based on *pc, not sIhold.cproto_params. -Sat Jan 4 16:42:21 1992 Ian Lance Taylor (ian at comton.airs.com) +Sat Jan 4 16:42:21 1992 Ian Lance Taylor (ian@airs.com) * log.c (ulog): tweaked HAVE_V2_LOGGING slightly. @@ -2639,7 +3874,7 @@ Sat Jan 4 16:42:21 1992 Ian Lance Taylor (ian at comton.airs.com) option ALLOW_FILENAME_ARGUMENTS to permit arguments that look like filenames, to allow undoing the patch I just made. -Fri Jan 3 00:44:59 1992 Ian Lance Taylor (ian at comton.airs.com) +Fri Jan 3 00:44:59 1992 Ian Lance Taylor (ian@airs.com) * system.h, uuxqt.c (uqdo_xqt_file), sys5.unx (fsysdep_xqt_check_file): David J. Fiander: make sure that if an @@ -2648,12 +3883,12 @@ Fri Jan 3 00:44:59 1992 Ian Lance Taylor (ian at comton.airs.com) * sys3.unx (fsdo_lock): remove temporary file if link fails in fsdo_lock. -Thu Jan 2 00:01:53 1992 Ian Lance Taylor (ian at comton.airs.com) +Thu Jan 2 00:01:53 1992 Ian Lance Taylor (ian@airs.com) * protg.c (fgstart, fgshutdown, fgprocess_data): count remote rejections separately from resent packets when counting errors. -Tue Dec 31 14:31:38 1991 Ian Lance Taylor (ian at comton.airs.com) +Tue Dec 31 14:31:38 1991 Ian Lance Taylor (ian@airs.com) * protg.c (fgstart): Franc,ois Pinard: forgot to initialize cGdelayed_packets. @@ -2666,13 +3901,13 @@ Tue Dec 31 14:31:38 1991 Ian Lance Taylor (ian at comton.airs.com) sent; fixed bug in freceive_data which caused to ask for the wrong number of bytes when the buffer was empty. -Mon Dec 30 23:16:48 1991 Ian Lance Taylor (ian at comton.airs.com) +Mon Dec 30 23:16:48 1991 Ian Lance Taylor (ian@airs.com) * sys2.unx (fsserial_open): Chip Salzenberg: don't turn on IXON and IXOFF initially; after all, the initialization packets might contain an XOFF character. -Sun Dec 29 00:00:42 1991 Ian Lance Taylor (ian at comton.airs.com) +Sun Dec 29 00:00:42 1991 Ian Lance Taylor (ian@airs.com) * uucp.h, prot.c (fploop): John Theus: check for EOF before reading from file to work around bug in Tektronix library. @@ -2686,7 +3921,7 @@ Sun Dec 29 00:00:42 1991 Ian Lance Taylor (ian at comton.airs.com) * log.c (zldate_and_time): wasn't allocating enough buffer space. -Sat Dec 28 01:09:58 1991 Ian Lance Taylor (ian at comton.airs.com) +Sat Dec 28 01:09:58 1991 Ian Lance Taylor (ian@airs.com) * uuxqt.c (uqdo_xqt_file): forgot to initialize zmail. @@ -2719,7 +3954,7 @@ Sat Dec 28 01:09:58 1991 Ian Lance Taylor (ian at comton.airs.com) * conf.h, uucp.h, util.c, getopt.c, tstuu.c: added HAVE_STRCHR and HAVE_INDEX to conf.h. -Fri Dec 27 01:00:41 1991 Ian Lance Taylor (ian at comton.airs.com) +Fri Dec 27 01:00:41 1991 Ian Lance Taylor (ian@airs.com) * uucico.c (fuucp): set fmasterdone correctly when running as a slave. @@ -2740,18 +3975,18 @@ Fri Dec 27 01:00:41 1991 Ian Lance Taylor (ian at comton.airs.com) parameter ``errors'' to set maximum number of errors permitted. Also made fgprocess_data only reply once per batch of data. -Thu Dec 26 17:54:54 1991 Ian Lance Taylor (ian at comton.airs.com) +Thu Dec 26 17:54:54 1991 Ian Lance Taylor (ian@airs.com) * tcp.c (ftcp_dial, itcp_port_number): Monty Solomon: cast arguments to avoid prototype errors on NeXT. -Mon Dec 23 00:16:19 1991 Ian Lance Taylor (ian at comton.airs.com) +Mon Dec 23 00:16:19 1991 Ian Lance Taylor (ian@airs.com) * uucp.h, sysinf.c, uucico.c (main, flogin_prompt, faccept_call), uuchk.c (main): David Nugent: allow debugging level to be set for a specific system. -Sun Dec 22 15:51:10 1991 Ian Lance Taylor (ian at comton.airs.com) +Sun Dec 22 15:51:10 1991 Ian Lance Taylor (ian@airs.com) * conf.h, uucp.c, sysh.unx, tcp.c, sys1.unx, sys2.unx, sys3.unx, sys5.unx, sys6.unx, tstuu.c: Monty Solomon: added HAVE_UNISTD_H to @@ -2769,7 +4004,7 @@ Sun Dec 22 15:51:10 1991 Ian Lance Taylor (ian at comton.airs.com) * uucp.h: Monty Solomon: removed prototypes for strcasecmp and strncasecmp from uucp.h, since they may be in string.h. -Sat Dec 21 16:04:58 1991 Ian Lance Taylor (ian at comton.airs.com) +Sat Dec 21 16:04:58 1991 Ian Lance Taylor (ian@airs.com) * uucp.h, uucico.c (ucatch), prot.c (fpsendfile_confirm, fprecfile_confirm, ustats_failed), file.c (fsent_file, @@ -2795,7 +4030,7 @@ Sat Dec 21 16:04:58 1991 Ian Lance Taylor (ian at comton.airs.com) * sys1.unx (fsysdep_run): use the real program name from abProgram in the error messages in fsysdep_run. -Thu Dec 19 19:02:28 1991 Ian Lance Taylor (ian at comton.airs.com) +Thu Dec 19 19:02:28 1991 Ian Lance Taylor (ian@airs.com) * uucico.c (fdo_call, faccept_call): Terry Gardner: put the length of the conversation in the ``Call complete'' log file message. @@ -2829,7 +4064,7 @@ Thu Dec 19 19:02:28 1991 Ian Lance Taylor (ian at comton.airs.com) optimized the protocol to wait for up to seven characters at a time rather than just one. -Wed Dec 18 00:12:42 1991 Ian Lance Taylor (ian at comton.airs.com) +Wed Dec 18 00:12:42 1991 Ian Lance Taylor (ian@airs.com) * sysh.unx, sys2.unx, tstuu.c: Terry Gardner: added USE_FOR_UNBLOCKED configuration parameter to support systems that @@ -2852,7 +4087,7 @@ Wed Dec 18 00:12:42 1991 Ian Lance Taylor (ian at comton.airs.com) -l option to uucico to prompt for the login name and password once and then exit. -Tue Dec 17 00:24:41 1991 Ian Lance Taylor (ian at comton.airs.com) +Tue Dec 17 00:24:41 1991 Ian Lance Taylor (ian@airs.com) * uucp.h, uucico.c, uuxqt.c, uux.c, uucp.c, config.c (uread_config), log.c (ulog): eliminated ulog_program and added @@ -2894,7 +4129,7 @@ Tue Dec 17 00:24:41 1991 Ian Lance Taylor (ian at comton.airs.com) when a serial port is opened. This will clear out a NO\sCARRIER string left by a previous dropped connection. -Mon Dec 16 11:26:17 1991 Ian Lance Taylor (ian at comton.airs.com) +Mon Dec 16 11:26:17 1991 Ian Lance Taylor (ian@airs.com) * uucico.c (main), uuxqt.c (main), tstuu.c (main, uchild): David Nugent: ignore SIGHUP in uucico and uuxqt, so that they are @@ -2905,7 +4140,7 @@ Mon Dec 16 11:26:17 1991 Ian Lance Taylor (ian at comton.airs.com) fbnu_read_dialer_info): Mike Bernson: ignore lines that begin with whitespace, fix compilation error. -Sat Dec 14 20:59:10 1991 Ian Lance Taylor (ian at comton.airs.com) +Sat Dec 14 20:59:10 1991 Ian Lance Taylor (ian@airs.com) * sys2.unx (fsserial_open): don't turn on ISTRIP initially. @@ -2932,12 +4167,12 @@ Sat Dec 14 20:59:10 1991 Ian Lance Taylor (ian at comton.airs.com) processing files just because opendir failed on one; it could just be because we don't have read permission. -Fri Dec 13 17:43:52 1991 Ian Lance Taylor (ian at comton.airs.com) +Fri Dec 13 17:43:52 1991 Ian Lance Taylor (ian@airs.com) * config.c (uprocesscmds): don't continually allocate and free the array of arguments. -Thu Dec 12 12:46:01 1991 Ian Lance Taylor (ian at comton.airs.com) +Thu Dec 12 12:46:01 1991 Ian Lance Taylor (ian@airs.com) * prot.c (fgetcmd): Franc,ois Pinard: don't bother to give an error if the final HY doesn't come in; apparently the MtXinu UUCP @@ -2962,7 +4197,7 @@ Thu Dec 12 12:46:01 1991 Ian Lance Taylor (ian at comton.airs.com) GID as well as the UID, in case anybody wants to run this as a setgid package. -Wed Dec 11 10:03:22 1991 Ian Lance Taylor (ian at comton.airs.com) +Wed Dec 11 10:03:22 1991 Ian Lance Taylor (ian@airs.com) * conf.h, uucp.h, util.c (strtol): Mark Powell: added my own version of strtol to util.c, for systems which lack it. @@ -2972,7 +4207,7 @@ Wed Dec 11 10:03:22 1991 Ian Lance Taylor (ian at comton.airs.com) already seen; otherwise the other side may assume we've already seen them while we're looking for them. -Tue Dec 10 15:42:41 1991 Ian Lance Taylor (ian at comton.airs.com) +Tue Dec 10 15:42:41 1991 Ian Lance Taylor (ian@airs.com) * conf.h, sysh.unx, log.c (ulog, ustats), tstuu.c (uprepare_test): Arne Ludwig: merged in Arne Ludwig's patches to support V2 and BNU @@ -2994,7 +4229,7 @@ Tue Dec 10 15:42:41 1991 Ian Lance Taylor (ian at comton.airs.com) file.c to log.c in preparation for supporting BNU log file routines. -Mon Dec 9 12:00:52 1991 Ian Lance Taylor (ian at comton.airs.com) +Mon Dec 9 12:00:52 1991 Ian Lance Taylor (ian@airs.com) * bnu.c (ubnu_read_systems): Arne Ludwig: the device entry for a system can be followed by a comma and a list of protocols. @@ -3017,7 +4252,7 @@ Mon Dec 9 12:00:52 1991 Ian Lance Taylor (ian at comton.airs.com) * config.c (uprocesscmds): Richard Todd: don't warn if the special "#" command is unrecognized. -Sat Dec 7 13:05:40 1991 Ian Lance Taylor (ian at comton.airs.com) +Sat Dec 7 13:05:40 1991 Ian Lance Taylor (ian@airs.com) * config.c (uprocesscmds): Franc,ois Pinard: don't limit the number of arguments to a command! @@ -3025,7 +4260,7 @@ Sat Dec 7 13:05:40 1991 Ian Lance Taylor (ian at comton.airs.com) * chat.c (fchat): handle a chat script which consists only of a single string. -Fri Dec 6 16:11:29 1991 Ian Lance Taylor (ian at comton.airs.com) +Fri Dec 6 16:11:29 1991 Ian Lance Taylor (ian@airs.com) * sys5.unx (fsysdep_execute): David J. Fiander: if execve fails with ENOEXEC, try using /bin/sh with a quoted argument. @@ -3050,7 +4285,7 @@ Fri Dec 6 16:11:29 1991 Ian Lance Taylor (ian at comton.airs.com) return a negative number, since the callers don't know how to deal with that. -Mon Dec 2 16:26:16 1991 Ian Lance Taylor (ian at comton.airs.com) +Mon Dec 2 16:26:16 1991 Ian Lance Taylor (ian@airs.com) * bnu.c (ubnu_read_systems): Dave Buck: time strings with grades were parsed in an endless loop! @@ -3065,7 +4300,7 @@ Mon Dec 2 16:26:16 1991 Ian Lance Taylor (ian at comton.airs.com) the ``protocol-parameter'' command didn't work for ports or dialers. -Sun Dec 1 09:46:12 1991 Ian Lance Taylor (ian at comton.airs.com) +Sun Dec 1 09:46:12 1991 Ian Lance Taylor (ian@airs.com) * tstuu.c: don't use the fd_set typedef at all. @@ -3079,7 +4314,7 @@ Sun Dec 1 09:46:12 1991 Ian Lance Taylor (ian at comton.airs.com) * uuchk.c (fkshow_port): Bob Izenberg: report dialer/token pairs correctly. -Sat Nov 30 17:40:00 1991 Ian Lance Taylor (ian at comton.airs.com) +Sat Nov 30 17:40:00 1991 Ian Lance Taylor (ian@airs.com) * tstuu.c: Bob Izenberg: copied over conditional definitions of EAGAIN and EWOULDBLOCK from sys2.unx. @@ -3123,7 +4358,7 @@ Sat Nov 30 17:40:00 1991 Ian Lance Taylor (ian at comton.airs.com) auto array abpubdir, since old cc didn't permit initialization of auto aggregates. -Mon Nov 25 20:56:39 1991 Ian Lance Taylor (ian at comton.airs.com) +Mon Nov 25 20:56:39 1991 Ian Lance Taylor (ian@airs.com) * tstuu.c: Bob Denny: add definitions for FD_SET, FD_ZERO and FD_ISSET. @@ -3141,12 +4376,12 @@ Mon Nov 25 20:56:39 1991 Ian Lance Taylor (ian at comton.airs.com) (fv2_find_port): Marty Shannon: the ireliable field of ports and dialers was not getting initialized. -Sun Nov 24 15:06:37 1991 Ian Lance Taylor (ian at comton.airs.com) +Sun Nov 24 15:06:37 1991 Ian Lance Taylor (ian@airs.com) * tcp.c (itcp_port_number): Michael Haberler: wasn't calling htons if passed a numeric string. -Sat Nov 23 13:43:52 1991 Ian Lance Taylor (ian at comton.airs.com) +Sat Nov 23 13:43:52 1991 Ian Lance Taylor (ian@airs.com) * Released version 1.01 to alt.sources and uunet diff --git a/gnu/libexec/uucp/Makefile.inc b/gnu/libexec/uucp/Makefile.inc index 6110954d9168..24b842639d84 100644 --- a/gnu/libexec/uucp/Makefile.inc +++ b/gnu/libexec/uucp/Makefile.inc @@ -7,7 +7,7 @@ LIBUUCONF!=cd $(.CURDIR)/../libuuconf; \ LIBUUCP!=cd $(.CURDIR)/../libuucp; \ printf "xxx:\n\techo \$${.OBJDIR}/libuucp.a\n" | ${MAKE} -r -s -f - xxx -VERSION= 1.04 +VERSION= 1.05 owner= uucp bindir= /usr/bin sbindir= /usr/libexec/uucp diff --git a/gnu/libexec/uucp/README b/gnu/libexec/uucp/README index bfcd46c3f2ae..8d69444fd62f 100644 --- a/gnu/libexec/uucp/README +++ b/gnu/libexec/uucp/README @@ -1,8 +1,8 @@ -This is the README file for version 1.04 of the Taylor UUCP package. +This is the README file for version 1.05 of the Taylor UUCP package. It was written by Ian Lance Taylor. I can be reached at ian@airs.com, -or, equivalently, uunet!cygint!airs!ian, or c/o Cygnus Support, 4th -Floor, Building 200, 1 Kendall Square, Cambridge MA, 02139, USA. +or, equivalently, uunet!cygint!airs!ian, or c/o Cygnus Support, +Building 200, 1 Kendall Square, Cambridge MA, 02139, USA. There is a mailing list for discussion of the package. To join (or get off) the list, send mail to taylor-uucp-request@gnu.ai.mit.edu. @@ -11,6 +11,10 @@ joining the list, make sure you include the address at which you want to receive mail in the body of your message. To send a message to the list, send it to taylor-uucp@gnu.ai.mit.edu. +Jeff Ross has volunteered to maintain patches for UUCP releases. They +may be obtained via anonymous FTP from ftp.fdu.edu, in the directory +pub/taylor-uucp. + This package is covered by the Gnu Public License. See the file COPYING for details. If you would like to do something with this package that you feel is reasonable but you feel is prohibited by the @@ -25,8 +29,7 @@ uupick, and cu, as well as uuchk (a program to check configuration files), uuconv (a program to convert from one type of configuration file to another) and tstuu (a test harness for the package). -The Free Software Foundation plans to make this their standard UUCP -package. +This is the standard UUCP package of the Free Software Foundation. The package currently supports the 'f', 'g' (in all window and packet sizes), 'G', 't' and 'e' protocols, as well a Zmodem protocol and two @@ -77,80 +80,13 @@ If you start using this package, I suggest that you join the mailing list (see above) to keep up to date on patches and new versions. I am also open to suggestions for improvements and modifications. -CHANGES SINCE 1.03 - -For a complete list, see ChangeLog. - -IMPORTANT: the default when talking to another version of 1.04 is to -use the new bidirectional 'i' protocol. If you are using a -half-duplex modem, such as a Telebit T2500, you will want to either -mark the port as half-duplex with the ``half-duplex'' command, or -force use of the 'g' protocol by using the ``protocol'' command in the -sys or port file or by adding ``,g'' after the port name in the -Systems or L.sys or Devices file. - - As usual, many bugs were fixed. - - Bidirectional transfers are supported with the new 'i' protocol; - it requires an eight-bit clear datapath. - - New programs: uusched, cu, uuto and uupick. - - The 'G' protocol and a new Zmodem protocol were added. - - A number of uustat options were added to support uuclean, and a - sample uuclean shell script was added to the contrib directory. - The uustat output formats were changed slightly. - - A protocol extension eliminates transfer of the command file for - simple commands, such as rmail or rnews, when talking to another - version of 1.04. - - Some TLI support was added. - - UUCP forwarding was added, along with the ``forward-to'', - ``forward-from'' and ``forward'' commands. - - If a file transfer fails in the middle, the retry will now start - from where it left off. The implementation is compatible with - SVR4. - - The work queue is checked every 10 minutes during a conversation; - if there is new work and a bidirectional protocol is not in use, - the receiving uucico requests the sender to transfer control. - - The amount of free disk space is checked periodically as a file is - received, and if it drops too low the call is aborted. - - The UUCP configuration file reading routines were moved into a - standalone library, uuconf. All known bugs in V2 and HDB - configuration file reading were fixed. - - The ``half-duplex'' command was added for the port and dialer - files. - - The ``max-retries'', ``success-wait'', ``send-request'' and - ``receive-request'' commands were added for the sys file. The - ``call-request'' and ``called-request'' commands were eliminated - (they did not work correctly anyhow). - - \d in chat scripts now calls sleep (2) rather than sleep (1), so - it will sleep longer (on some systems sleep(1) may delay much less - than one second). - - SPOOLDIR_SVR4 was added for SVR4 style spool directories. - - Defaults are now permitted in the port and dialer files. - - The ALIAS field is supported in the HDB Permissions file. - DOCUMENTATION The documentation is in the file uucp.texi, which is a Texinfo file. Texinfo is a format used by the Free Software Foundation. You can print the documentation using TeX in combination with the file texinfo.tex. DVI, PostScript and info versions of the documentation -are available in a separate package, uucp-doc-1.04.tar.Z. +are available in a separate package, uucp-doc-1.05.tar.gz. See the TODO file for things which should be done. Please feel free to do them, although you may want to check with me first. Send me @@ -174,7 +110,7 @@ The compilation instructions are in uucp.texi. Here is a summary. what is available on your system, so if your system is at all unusual you will need to pass in $CC and $LIBS correctly. - The configure script will create conf.h from conf.h.in and + The configure script will create config.h from config.h.in and Makefile from Makefile.in. It will also create config.status, which is a shell script which actually creates the files. Please report any configuration problems, so that they can be fixed in @@ -195,7 +131,23 @@ The compilation instructions are in uucp.texi. Here is a summary. use -posix, instead I run gcc with -D_POSIX_SOURCE, and add -lcposix to LIBS. - Examine conf.h and Makefile to make sure they're right. + On some versions of BSDI there is a bug in the shell which causes + the default value for CFLAGS to be set incorrectly. If ``echo + ${CFLAGS--g}'' echoes ``g'' rather than ``-g'', then you must set + CFLAGS in the environment before running configure. There is a + patch available from BSDI for this bug. (From David Vrona). + + On AIX 3.2.5, and possibly other versions, cc -E does not work, + reporting ``Option NOROCONST is not valid.'' Test this before + running configure by doing something like + touch /tmp/foo.c + cc -E /tmp/foo.c + This may give a warning about the file being empty, but it should + not give the ``Option NOROCONST'' warning. The workaround is to + remove the ",noroconst" entry from the "options" clause in the + "cc" stanza in /etc/xlc.cfg. (From Chris Lewis). + + Examine config.h and Makefile to make sure they're right. Edit policy.h for your local system. @@ -204,4 +156,7 @@ The compilation instructions are in uucp.texi. Here is a summary. Use ``uuchk'' to check configuration files. You can use ``uuconv'' to convert between configuration file formats. - Type ``make install'' to install. + Type ``make install'' to install. Note that by default the + programs are compiled with debugging information, and they are not + stripped when they are installed. Read the man page for strip for + more information. diff --git a/gnu/libexec/uucp/TODO b/gnu/libexec/uucp/TODO index a1cc643ab52f..a0e96bfdc8cc 100644 --- a/gnu/libexec/uucp/TODO +++ b/gnu/libexec/uucp/TODO @@ -92,11 +92,6 @@ UUCP protocols to do file transfers. This would allow ftp work to be done late at night, and allow neighbors of cooperative Internet sites to use UUCP forwarding for anonymous FTP. -31. - -David Nugent: add a -C option to uucico to only call the system if -there is work to do. - 32. It would be nice if uucico could sleep until a line was available. @@ -194,11 +189,6 @@ expect strings. Use POSIX fcntl locks when possible instead of creating a lock file. -130. - -Chip Salzenberg: BSD lets you override the timeout for a particular -expect string by using a trailing ~. - 138. T. William Wells: BNU apparently uses a file named A.whatever to hold @@ -323,20 +313,6 @@ system and command locks, and do any other type of file. Scott Blachowicz: provide some sort of include mechanism for the configuration files. -162. - -Chris Lewis: add uuxqtpolicy command, probably in config, supporting -the following values which determine when uuxqt should be run: - - never (let cron or something else worry about it) - - perinvocation (when uucico exits for good - current behaviour) - - persite (when uucico terminates a conversation - HDBish) - - periodic (per 5 or 10 incoming X. files - BSDish) - - perturnaround? - -163. - -Sort jobs in the send queue by size. Pretty easy. - 164. Ed Carp: preserve files if uuxqt execution fails. @@ -349,11 +325,6 @@ Marc Sheldon: use exit codes from in uux and uucp. Chip Salzenberg: allow chat failure strings to specify a retry time. -167. - -Gregory Bond: allow a dialer sequence for a TCP port, so you can make -a TCP connection to a modem and then dial out. - 168. Jose A. Manas: allow a maximum connect time, after which we try to @@ -421,14 +392,6 @@ number''. Don Phillips: should there be some way to restrict of grade of transfers even when the other system places the call? -179. - -Nickolay Saukh: add something to chat scripts to specify the timeout -for an expect string, e.g. AT\c OK\W3 to wait for 3 seconds. Except -that perhaps the unit should not be seconds. Berkeley apparently uses -~number, not \W number, but I don't see any reason to prevent use of -the ~ character in an expect string. - 180. Nickolay Saukh: if we have received a partial file, request the remote @@ -451,12 +414,6 @@ statement. Optionally check for interrupts in fcopy_file, since it can take a long time to copy a file named in a uucp request. -184. - -Ian Moran: if an attempt is made to a copy a file to a directory which -denies write permission, perhaps the file should be saved somewhere. -It must be saved in a private location, though. - 185. A syntax error in a command received from the remote system should not @@ -536,11 +493,6 @@ to do, and then try again later. This would require a protocol extension. I don't know if it's worth it. The code should be checked to see how well it handles a disk full situation. -196. - -For real adjustability, provide some mechanism for picking the lead -characters to use for the shell scripts, between : and #!. - 197. Try alternate IP addresses if there are any. @@ -571,3 +523,220 @@ Bill Foote: have uuchk check whether a system is defined more than once. 203. + +Eric Ziegast: allow specification of the minimum grade to receive, as +well as the maximum grade. Probably sending a second character after +the -pM argument would work fine. + +204. + +Tom Rushworth: perhaps there should be some program which can be used +to retrieve the current spool directory. Perhaps on option on uustat. + +207. + +James B. O'Connor: use additional messages in the status file when +placing a call, such as Dialing, Chatting, and the like. Slightly +less efficient. + +208. + +When checking whether a file may be received into a directory, perhaps +uucico should check using the real user ID rather than insisting that +the directory be world writable. This should be a policy.h parameter. +This would enable sites which use different uids for each incoming +UUCP login to have better control over security. + +209. + +Jon Vos: add an alias command for ports. + +210. + +Joe Wells: I'd like to have a way so that if the dial chat fails due +to "NO CARRIER", in addition to this log message: + + ERROR: Chat script failed: Got "NO\sCARRIER" + +I would get another log message right next to it that would look like +this: + + ERROR: Chat script failed: 5 "RRING" strings seen + +Ian: I doubt this is worth implementing in uucico, but it might make +sense for an external, or otherwise more independent and controllable, +chat program. + +211. + +Joe Wells: In some cases it would be nice to be able to change the set +of chat-fail strings in the middle of the chat script. Personally, I +think this is too complex for the simple chat scripts currently +implemented. + +212. + +Joe Wells: There should be an option to all programs directing them to +send all debugging output to the log file. This would just involve +calling ulog_to_file at some point just after reporting any usage +messages. + +213. + +Joe Wells: There should be a way to specify the execution directory +used by uuxqt. This would avoid certain sorts of permissions +problems. Some mechanism would still be needed for using multiple +directories. + +214. + +Joe Wells: uuto should be documented. + +215. + +Joe Wells: Perhaps it should be possible to use multiple spool +directories. It would be a lot of work, though. + +216. + +Joe Wells: It should be possible to specify only one of complete or +abort. + +217. + +Dan Everhart: It would be nice if the chat-fail string could affect +the error message reported by uustat, so that uustat could say +something ``Line was busy''. + +218. + +Andrew A. Chernov: Add a chat-char-delay xx configuration parameter, +which has the effect of adding \p after each character, with delay xx. +This is to accommodate modems which can't accept command characters at +a given baud rate. + +219. + +Gert Doering: Provide some mechanism for specifying the maximum length +of a call. Convenient for anonymous UUCP sites. + +220. + +Joe Wells: There should be some way for "cu" to obey user commands +during the dial chat. Right now, the only thing the user can do is +send signals (e.g. type Control-C). This leads to user complaints +that "cu" is not obeying its documentation. + +221. + +Joe Wells: Right now, if there is any failure in the dial or login +chat scripts, the remote system alternate is skipped even though the +cause of the failure may have been the local serial port or modem. +"uucico" will not try another modem with the same remote system +alternate. If the remote system only has one alternate, then it is +skipped entirely. + +Thus, there should be a way to specify that when certain expect +strings are not seen or certain chat-fail strings are seen that the +port is skipped instead of the remote system alternate. + +222. + +Richard H. Gumpertz: Support pipelines in uuxqt. Right now they are +only supported if uux puts in an 'e' line (which it does) and shell +executions are permitted (which they normally are not). It would be +possible to permit restricted pipelines by handling the pipe character +specially and making sure all commands in the pipeline were permitted. + +223. + +Bill Sommerfeld: When dialing out, set the status to DIALING rather +than CONNECTION CLOSED. Setting the status takes a bit of time; it's +hard to tell where the right break-even point is. + +224. + +Joe Wells: Keep track of the last successful incoming call separately +from the last successful outgoing call. Currently the two times are +both put together in the status file. + +225. + +Joe Wells: It would be nice if uustat would provide a way to avoid +bouncing mail that it sent itself, to avoid sending notification +e-mail for notification e-mail. I can't think of a mechanism, though +(using a special grade for uustat does not work because most mail +programs do not provide a mechanism for passing a grade through to +uux). + +226. + +Joe Wells: It would be nice if uustat could know whether it had sent +mail for a particular job, to avoid generating multiple messages for +the job. + +227. + +Joe Wells: It would be nice if dialcode suffixes were supported, as +well as prefixes. + +228. + +Joe Wells: It would be nice to support another spool directory scheme +which split stuff up more to avoid very large directories. This would +be most useful for the files which are named in C. and X. files, +rather than for the C. and X. files themselves (since C. and X. files +are rarely looked up by name). Basically, some sort of partition of +the D. directory is called for. + +229. + +Joe Wells: ``It would be nice if the exit sequence of "cu", where it +runs the complete chat script and then disconnects could be aborted +without disconnecting. (Yes, I know, this is a strange desire.) It +would be nice to be able to reinvoke the dial chat by user command in +"cu". It would be nice to be able to invoke an arbitrary named chat +script in "cu".'' + +230. + +Kevin Johnson: Provide some mechanism such that all requests to a +particular system were automatically forwarded through some other +system. This would be useful to hide details of a non-strongly- +connected network, particularly if the details were subject to change. + +231. + +Gert Doering: Perhaps it should be possible to -r the default for uucp +and uux. This would require adding a new option to force the +invocation of uucico. + +232. + +Mark Davies: spaces are not handled correctly in the -a argument of +uux. If an E command is generated, the requestor address is not +quoted correctly, nor is it parsed correctly. If an execution file is +generated, the R line is not parsed correctly. + +233. + +Emmanuel Mogenet: provide some mechanism for a maximum number of +garbage bytes during a chat script before giving up. + +234. + +Scott Ballantyne: The address for a TCP port should be separate from +the phone number, so that a TCP dialer can use \D. + +235. + +Peter Wemm: The 'i' protocol default parameters do not work at 2400 +baud, because the time it takes to transfer half the packets is less +than the timeout time. Of course people can always change the +parameters, but it would be nice if this were dealt with somehow. + +236. + +Andrew A. Chernov: Perhaps uuxqt should log when it terminates. + +237. diff --git a/gnu/libexec/uucp/VERSION b/gnu/libexec/uucp/VERSION index 99fd8f0eef77..f940c9bc0bc7 100644 --- a/gnu/libexec/uucp/VERSION +++ b/gnu/libexec/uucp/VERSION @@ -1,4 +1,4 @@ -Version 1.04 +Version 1.05 a complete, unmodified version of this program is available from prep.ai.mit.edu. diff --git a/gnu/libexec/uucp/common_sources/chat.c b/gnu/libexec/uucp/common_sources/chat.c index 86a68d9b945b..db180d333c33 100644 --- a/gnu/libexec/uucp/common_sources/chat.c +++ b/gnu/libexec/uucp/common_sources/chat.c @@ -1,7 +1,7 @@ /* chat.c Chat routine for the UUCP package. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,13 +20,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #include "uucp.h" #if USE_RCS_ID -const char chat_rcsid[] = "$Id: chat.c,v 1.1 1993/08/04 19:30:29 jtc Exp $"; +const char chat_rcsid[] = "$Id: chat.c,v 1.2 1994/10/24 22:17:03 jtc Exp $"; #endif #include @@ -153,6 +153,9 @@ fchat (qconn, puuconf, qchat, qsys, qdial, zphone, ftranslate, zport, ibaud) /* Loop over subexpects and subsends. */ while (TRUE) { + char *ztimeout; + int ctimeout; + /* Copy the expect string into the buffer so that we can modify it in cescape. */ clen = strlen (*pzchat); @@ -167,6 +170,23 @@ fchat (qconn, puuconf, qchat, qsys, qdial, zphone, ftranslate, zport, ibaud) azstrings[0] = zbuf; if (azstrings[0][0] == '-') ++azstrings[0]; + + /* \Wnum at the end of the string is a timeout. */ + ctimeout = qchat->uuconf_ctimeout; + ztimeout = strrchr (azstrings[0], '\\'); + if (ztimeout != NULL && ztimeout[1] == 'W') + { + char *zend; + int cval; + + cval = (int) strtol (ztimeout + 2, &zend, 10); + if (zend != ztimeout + 2 && *zend == '\0') + { + ctimeout = cval; + *ztimeout = '\0'; + } + } + aclens[0] = cescape (azstrings[0]); if (aclens[0] == 0 @@ -185,8 +205,7 @@ fchat (qconn, puuconf, qchat, qsys, qdial, zphone, ftranslate, zport, ibaud) int istr; istr = icexpect (qconn, cstrings, azstrings, aclens, - qchat->uuconf_ctimeout, - qchat->uuconf_fstrip); + ctimeout, qchat->uuconf_fstrip); /* If we found the string, break out of the subexpect/subsend loop. */ @@ -640,7 +659,7 @@ fcsend (qconn, puuconf, z, qsys, qdial, zphone, ftranslate, fstrip) break; case 'd': fquote = fcsend_debug (fquote, (size_t) 0, "sleep"); - usysdep_sleep (2); + usysdep_sleep (1); break; case 'e': fquote = fcsend_debug (fquote, (size_t) 0, "echo-check-off"); @@ -717,6 +736,8 @@ fcsend (qconn, puuconf, z, qsys, qdial, zphone, ftranslate, fstrip) case 'L': { const char *zlog; + char *zcopy; + size_t clen; if (qsys == NULL) { @@ -756,18 +777,24 @@ fcsend (qconn, puuconf, z, qsys, qdial, zphone, ftranslate, fstrip) } zlog = zcallout_login; } + zcopy = zbufcpy (zlog); + clen = cescape (zcopy); fquote = fcsend_debug (fquote, (size_t) 0, "login"); - fquote = fcsend_debug (fquote, strlen (zlog), zlog); - if (! (*pfwrite) (qconn, zlog, strlen (zlog))) + fquote = fcsend_debug (fquote, clen, zcopy); + if (! (*pfwrite) (qconn, zcopy, clen)) { + ubuffree (zcopy); ucsend_debug_end (fquote, TRUE); return FALSE; } + ubuffree (zcopy); } break; case 'P': { const char *zpass; + char *zcopy; + size_t clen; if (qsys == NULL) { @@ -807,13 +834,17 @@ fcsend (qconn, puuconf, z, qsys, qdial, zphone, ftranslate, fstrip) } zpass = zcallout_pass; } + zcopy = zbufcpy (zpass); + clen = cescape (zcopy); fquote = fcsend_debug (fquote, (size_t) 0, "password"); - fquote = fcsend_debug (fquote, strlen (zpass), zpass); - if (! (*pfwrite) (qconn, zpass, strlen (zpass))) + fquote = fcsend_debug (fquote, clen, zcopy); + if (! (*pfwrite) (qconn, zcopy, clen)) { + ubuffree (zcopy); ucsend_debug_end (fquote, TRUE); return FALSE; } + ubuffree (zcopy); } break; case 'D': @@ -1168,6 +1199,7 @@ fcprogram (qconn, puuconf, pzprogram, qsys, qdial, zphone, zport, ibaud) for (zfrom = *pz; *zfrom != '\0'; zfrom++) { const char *zadd = NULL; + char *zfree = NULL; size_t cadd; char abadd[15]; @@ -1241,7 +1273,9 @@ fcprogram (qconn, puuconf, pzprogram, qsys, qdial, zphone, zport, ibaud) } zlog = zcallout_login; } - zadd = zlog; + zfree = zbufcpy (zlog); + (void) cescape (zfree); + zadd = zfree; } break; case 'P': @@ -1287,7 +1321,9 @@ fcprogram (qconn, puuconf, pzprogram, qsys, qdial, zphone, zport, ibaud) } zpass = zcallout_pass; } - zadd = zpass; + zfree = zbufcpy (zpass); + (void) cescape (zfree); + zadd = zfree; } break; case 'D': @@ -1405,6 +1441,7 @@ fcprogram (qconn, puuconf, pzprogram, qsys, qdial, zphone, zport, ibaud) memcpy (zto, zadd, cadd + 1); zto += cadd; clen += cadd; + ubuffree (zfree); } if (! fret) diff --git a/gnu/libexec/uucp/common_sources/config.h b/gnu/libexec/uucp/common_sources/config.h new file mode 100644 index 000000000000..7718b0963b5e --- /dev/null +++ b/gnu/libexec/uucp/common_sources/config.h @@ -0,0 +1,461 @@ +/* conf.h. Generated automatically by configure. */ +/* Configuration header file for Taylor UUCP. -*- C -*- */ + +/* If your compiler does not use const correctly, then undefine it + here. This #undef is commented out by the configure script if it + determines that const is supported. */ +/* #undef const */ + +/* If your compiler supports prototypes, set HAVE_PROTOTYPES to 1. */ +#define HAVE_PROTOTYPES 1 + +/* Set ECHO_PROGRAM to a program which echoes its arguments; if echo + is a shell builtin you can just use "echo". */ +#define ECHO_PROGRAM "echo" + +/* The following macros indicate what header files you have. Set the + macro to 1 if you have the corresponding header file, or 0 if you + do not. */ +#define HAVE_STDDEF_H 1 /* */ +#define HAVE_STDARG_H 1 /* */ +#define HAVE_STRING_H 1 /* */ +#define HAVE_STRINGS_H 1 /* */ +#define HAVE_UNISTD_H 1 /* */ +#define HAVE_STDLIB_H 1 /* */ +#define HAVE_LIMITS_H 1 /* */ +#define HAVE_TIME_H 1 /* */ +#define HAVE_SYS_WAIT_H 1 /* */ +#define HAVE_SYS_IOCTL_H 1 /* */ +#define HAVE_DIRENT_H 1 /* */ +#define HAVE_MEMORY_H 1 /* */ +#define HAVE_SYS_PARAM_H 1 /* */ +#define HAVE_UTIME_H 1 /* */ +#define HAVE_FCNTL_H 1 /* */ +#define HAVE_SYS_FILE_H 1 /* */ +#define HAVE_SYS_TIME_H 1 /* */ +#define HAVE_SYS_TIMES_H 1 /* */ +#define HAVE_LIBC_H 0 /* */ +#define HAVE_SYSEXITS_H 1 /* */ +#define HAVE_POLL_H 0 /* */ +#define HAVE_TIUSER_H 0 /* */ +#define HAVE_XTI_H 0 /* */ +#define HAVE_SYS_TLI_H 0 /* */ +#define HAVE_STROPTS_H 0 /* */ +#define HAVE_FTW_H 0 /* */ +#define HAVE_GLOB_H 1 /* */ +#define HAVE_SYS_SELECT_H 0 /* */ +#define HAVE_SYS_TYPES_TCP_H 0 /* */ + +/* If major and minor are not defined in , but are in + , set MAJOR_IN_MKDEV to 1. If they are in + , set MAJOR_IN_SYSMACROS to 1. */ +#define MAJOR_IN_MKDEV 0 +#define MAJOR_IN_SYSMACROS 0 + +/* If the macro offsetof is not defined in , you may give it + a definition here. If you do not, the code will use a definition + (in uucp.h) that should be fairly portable. */ +/* #define offsetof */ + +/* Set RETSIGTYPE to the return type of a signal handler. On newer + systems this will be void; some older systems use int. */ +#define RETSIGTYPE void + +/* If the macro S_ISDIR is defined in , but is incorrect, + define STAT_MACROS_BROKEN to be 1. This is said to be the case on + Tektronix UTekV, Amdahl UTS and Motorola System V/88. */ +#define STAT_MACROS_BROKEN 0 + +/* Set TIME_WITH_SYS_TIME to 1 if and can both + be included in a single source file; if you don't have either or + both of them, it doesn't matter what you set this to. */ +#define TIME_WITH_SYS_TIME 1 + +/* Set TM_IN_SYS_TIME to 1 if struct tm is defined in + rather than in . */ +#define TM_IN_SYS_TIME 0 + +/* Set HAVE_TERMIOS_AND_SYS_IOCTL_H to 1 if and + can both be included in a single source file; if you don't have either + or both of them, it doesn't matter what you set this to. */ +#define HAVE_TERMIOS_AND_SYS_IOCTL_H 1 + +/* If you are configuring by hand, you should set one of the terminal + driver options in policy.h. If you are autoconfiguring, the script + will check whether your system defines CBREAK, which is a terminal + setting; if your system supports CBREAK, and you don't set a terminal + driver in policy.h, the code will assume that you have a BSD style + terminal driver. */ +#define HAVE_CBREAK 1 + +/* The package needs several standard types. If you are using the + configure script, it will look in standard places for these types, + and give default definitions for them here if it doesn't find them. + The default definitions should work on most systems, but you may + want to check them. If you are configuring by hand, you will have + to figure out whether the types are defined on your system, and + what they should be defined to. + + Any type that is not defined on your system should get a macro + definition. The definition should be of the name of the type in + all capital letters. For example, #define PID_T int. If the type + is defined in a standard header file, the macro name should not be + defined. */ + +/* The type pid_t is used to hold a process ID number. It is normally + defined in . This is the type returned by the + functions fork or getpid. Usually int will work fine. */ +#undef PID_T + +/* The type uid_t is used to hold a user ID number. It is normally + defined in . This is the type returned by the getuid + function. Usually int will work fine. */ +#undef UID_T + +/* The type gid_t is used to hold a group ID number. It is sometimes + defined in . This is the type returned by the getgid + function. Usually int will work fine. */ +#undef GID_T + +/* The type off_t is used to hold an offset in a file. It is sometimes + defined in . This is the type of the second argument to + the lseek function. Usually long will work fine. */ +#undef OFF_T + +/* Set HAVE_SIG_ATOMIC_T_IN_SIGNAL_H if the type sig_atomic_t is defined + in as required by ANSI C. */ +#define HAVE_SIG_ATOMIC_T_IN_SIGNAL_H 1 + +/* Set HAVE_SIG_ATOMIC_T_IN_TYPES_H if the type sig_atomic_t is defined + in . This is ignored if HAVE_SIG_ATOMIC_T_IN_SIGNAL_H is + set to 1. */ +#define HAVE_SIG_ATOMIC_T_IN_TYPES_H 0 + +/* The type sig_atomic_t is used to hold a value which may be + referenced in a single atomic operation. If it is not defined in + either or , you may want to give it a + definition here. If you don't, the code will use char. If your + compiler does not support sig_atomic_t, there is no type which is + really correct; fortunately, for this package it does not really + matter very much. */ +#undef SIG_ATOMIC_T + +/* Set HAVE_SIZE_T_IN_STDDEF_H to 1 if the type size_t is defined in + as required by ANSI C. */ +#define HAVE_SIZE_T_IN_STDDEF_H 1 + +/* Set HAVE_SIZE_T_IN_TYPES_H to 1 if the type size_t is defined in + . This is ignored if HAVE_SIZE_T_IN_STDDEF_H is set + to 1. */ +#define HAVE_SIZE_T_IN_TYPES_H 1 + +/* The type size_t is used to hold the size of an object. In + particular, an argument of this type is passed as the size argument + to the malloc and realloc functions. If size_t is not defined in + either or , you may want to give it a + definition here. If you don't, the code will use unsigned. */ +#undef SIZE_T + +/* Set HAVE_TIME_T_IN_TIME_H to 1 if the type time_t is defined in + , as required by the ANSI C standard. */ +#define HAVE_TIME_T_IN_TIME_H 1 + +/* Set HAVE_TIME_T_IN_TYPES_H to 1 if the type time_t is defined in + . This is ignored if HAVE_TIME_T_IN_TIME_H is set to + 1. */ +#define HAVE_TIME_T_IN_TYPES_H 1 + +/* When Taylor UUCP is talking to another instance of itself, it will + tell the other side the size of a file before it is transferred. + If the package can determine how much disk space is available, it + will use this information to avoid filling up the disk. Define one + of the following macros to tell the code how to determine the + amount of available disk space. It is possible that none of these + are appropriate; it will do no harm to use none of them, but, of + course, nothing will then prevent the package from filling up the + disk. Note that this space check is only useful when talking to + another instance of Taylor UUCP. + + STAT_STATVFS statvfs function + STAT_STATFS2_BSIZE two argument statfs function with f_bsize field + STAT_STATFS2_FSIZE two argument statfs function with f_fsize field + STAT_STATFS2_FS_DATA two argument statfs function with fd_req field + STAT_STATFS4 four argument statfs function + STAT_DUSTAT dustat function (AIX PS/2) + STAT_DISK_SPACE disk_space function (QNX) + STAT_USTAT the ustat function with 512 byte blocks. */ +#define STAT_STATVFS 0 +#define STAT_STATFS2_BSIZE 0 +#define STAT_STATFS2_FSIZE 1 +#define STAT_STATFS2_FS_DATA 0 +#define STAT_STATFS4 0 +#define STAT_DUSTAT 0 +#define STAT_DISK_SPACE 0 +#define STAT_USTAT 0 + +/* Set HAVE_VOID to 1 if the compiler supports declaring functions with + a return type of void and casting values to void. */ +#define HAVE_VOID 1 + +/* Set HAVE_UNSIGNED_CHAR to 1 if the compiler supports the type unsigned + char. */ +#define HAVE_UNSIGNED_CHAR 1 + +/* Set HAVE_ERRNO_DECLARATION to 1 if errno is declared in . */ +#define HAVE_ERRNO_DECLARATION 1 + +/* Set HAVE_TXADDCD to 1 if TXADDCD is defined in , as it + is on AIX. */ +#define HAVE_TXADDCD 0 + +/* There are now a number of functions to check for. For each of + these, the macro HAVE_FUNC should be set to 1 if your system has + FUNC. For example, HAVE_VFPRINTF should be set to 1 if your system + has vfprintf, 0 otherwise. */ + +/* Taylor UUCP will take advantage of the following functions if they + are available, but knows how to deal with their absence. */ +#define HAVE_VFPRINTF 1 +#define HAVE_FTRUNCATE 1 +#define HAVE_LTRUNC 0 +#define HAVE_WAITPID 1 +#define HAVE_WAIT4 1 +#define HAVE_GLOB 1 +#define HAVE_SETREUID 0 /* deprecated */ + +/* There are several functions which are replaced in the subdirectory + lib. If they are missing, the configure script will automatically + add them to lib/Makefile to force them to be recompiled. If you + are configuring by hand, you will have to do this yourself. The + string @LIBOBJS@ in lib/Makefile.in should be replaced by a list of + object files in lib/Makefile. The following comments tell you + which object file names to add (they are generally fairly obvious, + given that the file names have no more than six characters before + the period). */ + +/* For each of these functions, if it does not exist, the indicated + object file should be added to lib/Makefile. */ +#define HAVE_BSEARCH 1 /* bsrch.o */ +#define HAVE_GETLINE 0 /* getlin.o */ +#define HAVE_MEMCHR 1 /* memchr.o */ +#define HAVE_STRDUP 1 /* strdup.o */ +#define HAVE_STRSTR 1 /* strstr.o */ +#define HAVE_STRTOL 1 /* strtol.o */ + +/* If neither of these functions exists, you should add bzero.o to + lib/Makefile. */ +#define HAVE_BZERO 1 +#define HAVE_MEMSET 1 + +/* If neither of these functions exists, you should add memcmp.o to + lib/Makefile. */ +#define HAVE_MEMCMP 1 +#define HAVE_BCMP 1 + +/* If neither of these functions exists, you should add memcpy.o to + lib/Makefile. */ +#define HAVE_MEMCPY 1 +#define HAVE_BCOPY 1 + +/* If neither of these functions exists, you should add strcas.o to + lib/Makefile. */ +#define HAVE_STRCASECMP 1 +#define HAVE_STRICMP 0 + +/* If neither of these functions exists, you should add strncs.o to + lib/Makefile. */ +#define HAVE_STRNCASECMP 1 +#define HAVE_STRNICMP 0 + +/* If neither of these functions exists, you should add strchr.o to + lib/Makefile. */ +#define HAVE_STRCHR 1 +#define HAVE_INDEX 1 + +/* If neither of these functions exists, you should add strrch.o to + lib/Makefile. */ +#define HAVE_STRRCHR 1 +#define HAVE_RINDEX 1 + +/* There are also Unix specific functions which are replaced in the + subdirectory unix. If they are missing, the configure script will + automatically add them to unix/Makefile to force them to be + recompiled. If you are configuring by hand, you will have to do + this yourself. The string @UNIXOBJS@ in unix/Makefile.in should be + replaced by a list of object files in unix/Makefile. The following + comments tell you which object file names to add. */ + +/* For each of these functions, if it does not exist, the indicated + object file should be added to unix/Makefile. */ +#define HAVE_OPENDIR 1 /* dirent.o */ +#define HAVE_DUP2 1 /* dup2.o */ +#define HAVE_FTW 0 /* ftw.o */ +#define HAVE_REMOVE 1 /* remove.o */ +#define HAVE_RENAME 1 /* rename.o */ +#define HAVE_STRERROR 1 /* strerr.o */ + +/* The code needs to know how to create directories. If you have the + mkdir function, set HAVE_MKDIR to 1 and replace @UUDIR@ in + Makefile.in with '# ' (the configure script will set @UUDIR@ + according to the variable UUDIR). Otherwise, set HAVE_MKDIR to 0, + remove @UUDIR@ from Makefile.in, set MKDIR_PROGRAM to the name of + the program which will create a directory named on the command line + (e.g., "/bin/mkdir"), and add mkdir.o to the @UNIXOBJS@ string in + unix/Makefile.in. */ +#define HAVE_MKDIR 1 +#define MKDIR_PROGRAM unused + +/* The code also needs to know how to remove directories. If you have + the rmdir function, set HAVE_RMDIR to 1. Otherwise, set + RMDIR_PROGRAM to the name of the program which will remove a + directory named on the command line (e.g., "/bin/rmdir") and add + rmdir.o to the @UNIXOBJS@ string in unix/Makefile.in. */ +#define HAVE_RMDIR 1 +#define RMDIR_PROGRAM unused + +/* The code needs to know to how to get the name of the current + directory. If getcwd is available it will be used, otherwise if + getwd is available it will be used. Otherwise, set PWD_PROGRAM to + the name of the program which will print the name of the current + working directory (e.g., "/bin/pwd") and add getcwd.o to the + @UNIXOBJS@ string in unix/Makefile.in. */ +#define HAVE_GETCWD 1 +#define HAVE_GETWD 1 +#define PWD_PROGRAM unused + +/* If you have either sigsetjmp or setret, it will be used instead of + setjmp. These functions will only be used if your system restarts + system calls after interrupts (see HAVE_RESTARTABLE_SYSCALLS, + below). */ +#define HAVE_SIGSETJMP 0 +#define HAVE_SETRET 0 + +/* The code needs to know what function to use to set a signal + handler. If will try to use each of the following functions in + turn. If none are available, it will use signal, which is assumed + to always exist. */ +#define HAVE_SIGACTION 1 +#define HAVE_SIGVEC 1 +#define HAVE_SIGSET 0 + +/* If the code is going to use sigvec (HAVE_SIGACTION is 0 and + HAVE_SIGVEC is 1), then HAVE_SIGVEC_SV_FLAGS must be set to 1 if + the sigvec structure contains the sv_flags field, or 0 if the + sigvec structure contains the sv_onstack field. If the code is not + going to use sigvec, it doesn't matter what this is set to. */ +#define HAVE_SIGVEC_SV_FLAGS 1 + +/* The code will try to use each of the following functions in turn + when blocking signals from delivery. If none are available, a + relatively unimportant race condition will exist. */ +#define HAVE_SIGPROCMASK 1 +#define HAVE_SIGBLOCK 1 +#define HAVE_SIGHOLD 0 + +/* If you have either of the following functions, it will be used to + determine the number of file descriptors which may be open. + Otherwise, the code will use OPEN_MAX if defined, then NOFILE if + defined, then 20. */ +#define HAVE_GETDTABLESIZE 1 +#define HAVE_SYSCONF 0 + +/* The code will use one of the following functions when detaching + from a terminal. One of these must exist. */ +#define HAVE_SETPGRP 1 +#define HAVE_SETSID 1 + +/* If you do not specify the local node name in the main configuration + file, Taylor UUCP will try to use each of the following functions + in turn. If neither is available, you must specify the local node + name in the configuration file. */ +#define HAVE_GETHOSTNAME 1 +#define HAVE_UNAME 0 + +/* The code will try to use each of the following functions in turn to + determine the current time. If none are available, it will use + time, which is assumed to always exist. */ +#define HAVE_GETTIMEOFDAY 1 +#define HAVE_FTIME 0 + +/* If neither gettimeofday nor ftime is available, the code will use + times (if available) to measure a span of time. See also the + discussion of TIMES_TICK in policy.h. */ +#define HAVE_TIMES 1 + +/* When a chat script requests a pause of less than a second with \p, + Taylor UUCP will try to use each of the following functions in + turn. If none are available, it will sleep for a full second. + Also, the (non-portable) tstuu program requires either select or + poll. */ +#define HAVE_NAPMS 0 +#define HAVE_NAP 0 +#define HAVE_USLEEP 1 +#define HAVE_POLL 0 +#define HAVE_SELECT 1 + +/* If the getgrent function is available, it will be used to determine + all the groups a user belongs to when checking file access + permissions. */ +#define HAVE_GETGRENT 1 + +/* If the socket function is available, TCP support code will be + compiled in. */ +#define HAVE_SOCKET 1 + +/* If the t_open function is available, TLI support code will be + compiled in. This may require adding a library, such as -lnsl or + -lxti, to the Makefile variables LIBS. */ +#define HAVE_T_OPEN 0 + +/* If the dev_info function is available (QNX only), it will be used + to determine if any other process has the serial port open, and + that will cause uucico and cu to presume the port is locked. */ +#define HAVE_DEV_INFO 0 + +/* That's the end of the list of the functions. Now there are a few + last miscellaneous items. */ + +/* On some systems the following functions are declared in such a way + that the code cannot make a simple extern. On other systems, these + functions are not declared at all, and the extern is required. If + a declaration of the function, as shown, compiles on your system, + set the value to 1. Not all functions declared externally are + listed here, only the ones with which I have had trouble. */ +/* extern long times (); */ +#define TIMES_DECLARATION_OK 0 +/* extern struct passwd *getpwnam (); */ +#define GETPWNAM_DECLARATION_OK 1 +/* extern struct passwd *getpwuid (); */ +#define GETPWUID_DECLARATION_OK 0 +/* extern struct group *getgrent (); */ +#define GETGRENT_DECLARATION_OK 1 + +/* Set HAVE_BSD_PGRP to 1 if your getpgrp call takes 1 argument and + your setpgrp calls takes 2 arguments (on System V they generally + take no arguments). You can safely set this to 1 on System V, + provided the call will compile without any errors. */ +#define HAVE_BSD_PGRP 0 + +/* Set HAVE_UNION_WAIT to 1 if union wait is defined in the header + file . */ +#define HAVE_UNION_WAIT 1 + +/* Set HAVE_LONG_FILE_NAMES to 1 if the system supports file names + longer than 14 characters. */ +#define HAVE_LONG_FILE_NAMES 1 + +/* If slow system calls are restarted after interrupts, set + HAVE_RESTARTABLE_SYSCALLS to 1. This is ignored if HAVE_SIGACTION + is 1 or if HAVE_SIGVEC is 1 and HAVE_SIGVEC_SV_FLAGS is 1 and + SV_INTERRUPT is defined in . In both of these cases + system calls can be prevented from restarting. */ +#define HAVE_RESTARTABLE_SYSCALLS 1 + +/* Some systems supposedly need the following macros to be defined. + These are handled by the configure script. If you are configuring + by hand, you may add appropriate definitions here, or just add them + to CFLAGS when running make. */ +#undef _ALL_SOURCE +#undef _POSIX_SOURCE +#undef _MINIX +#undef _POSIX_1_SOURCE diff --git a/gnu/libexec/uucp/common_sources/conn.c b/gnu/libexec/uucp/common_sources/conn.c index df35e8297f65..3f8bb283fce1 100644 --- a/gnu/libexec/uucp/common_sources/conn.c +++ b/gnu/libexec/uucp/common_sources/conn.c @@ -1,7 +1,7 @@ /* conn.c Connection routines for the Taylor UUCP package. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993, 1994 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,13 +20,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #include "uucp.h" #if USE_RCS_ID -const char conn_rcsid[] = "$Id: conn.c,v 1.1 1993/08/04 19:30:39 jtc Exp $"; +const char conn_rcsid[] = "$Id: conn.c,v 1.2 1994/10/24 22:17:07 jtc Exp $"; #endif #include @@ -35,21 +35,19 @@ const char conn_rcsid[] = "$Id: conn.c,v 1.1 1993/08/04 19:30:39 jtc Exp $"; #include "uuconf.h" #include "conn.h" -static boolean fcdo_dial P((struct sconnection *qconn, pointer puuconf, - struct uuconf_dialer *qdialer, - const char *zphone, boolean ftranslate)); - /* Create a new connection. This relies on system dependent functions to set the qcmds and psysdep fields. If qport is NULL, it opens a - standard input port. */ + standard input port, in which case ttype is the type of port to + use. */ boolean -fconn_init (qport, qconn) +fconn_init (qport, qconn, ttype) struct uuconf_port *qport; struct sconnection *qconn; + enum uuconf_porttype ttype; { qconn->qport = qport; - switch (qport == NULL ? UUCONF_PORTTYPE_STDIN : qport->uuconf_ttype) + switch (qport == NULL ? ttype : qport->uuconf_ttype) { case UUCONF_PORTTYPE_STDIN: return fsysdep_stdin_init (qconn); @@ -65,8 +63,10 @@ fconn_init (qport, qconn) case UUCONF_PORTTYPE_TLI: return fsysdep_tli_init (qconn); #endif + case UUCONF_PORTTYPE_PIPE: + return fsysdep_pipe_init (qconn); default: - ulog (LOG_ERROR, "Unknown port type"); + ulog (LOG_ERROR, "Unknown or unsupported port type"); return FALSE; } } @@ -202,8 +202,9 @@ fconn_close (qconn, puuconf, qdialer, fsuccess) fret = (*qconn->qcmds->pfclose) (qconn, puuconf, qdialer, fsuccess); - /* Make sure any signal reporting has been done before we set - fLog_sighup back to TRUE. */ + /* Ignore any SIGHUP we may have gotten, and make sure any signal + reporting has been done before we reset fLog_sighup. */ + afSignal[INDEXSIG_SIGHUP] = FALSE; ulog (LOG_ERROR, (const char *) NULL); fLog_sighup = TRUE; @@ -211,17 +212,6 @@ fconn_close (qconn, puuconf, qdialer, fsuccess) return fret; } - -/* Reset the connection. */ - -boolean -fconn_reset (qconn) - struct sconnection *qconn; -{ - DEBUG_MESSAGE0 (DEBUG_PORT, "fconn_reset: Resetting connection"); - - return (*qconn->qcmds->pfreset) (qconn); -} /* Dial out on the connection. */ @@ -347,7 +337,7 @@ fconn_break (qconn) { boolean (*pfbreak) P((struct sconnection *)); - pfbreak = *qconn->qcmds->pfbreak; + pfbreak = qconn->qcmds->pfbreak; if (pfbreak == NULL) return TRUE; @@ -419,7 +409,112 @@ iconn_baud (qconn) return (*pibaud) (qconn); } -/* Modem dialing routines. */ +/* Run through a dialer sequence. The pzdialer argument is a list of + strings, which are considered in dialer/token pairs. The dialer + string names a dialer to use. The token string is what \D and \T + in the chat script expand to. If there is no token for the last + dialer, the zphone argument is used. The qdialer argument is + filled in with information for the first dialer, and *ptdialerfound + is set to whether the information should be freed or not. However, + if *ptdialerfound is not DIALERFOUND_FALSE when this function is + called, then the information for the first dialer is already in + qdialer. */ + +boolean +fconn_dial_sequence (qconn, puuconf, pzdialer, qsys, zphone, qdialer, + ptdialerfound) + struct sconnection *qconn; + pointer puuconf; + char **pzdialer; + const struct uuconf_system *qsys; + const char *zphone; + struct uuconf_dialer *qdialer; + enum tdialerfound *ptdialerfound; +{ + const char *zname; + boolean ffirst, ffreefirst; + + if (qconn->qport == NULL) + zname = NULL; + else + zname = qconn->qport->uuconf_zname; + ffirst = TRUE; + ffreefirst = FALSE; + while (*pzdialer != NULL) + { + struct uuconf_dialer *q; + struct uuconf_dialer s; + const char *ztoken; + boolean ftranslate; + + if (! ffirst) + q = &s; + else + q = qdialer; + + if (! ffirst || *ptdialerfound == DIALERFOUND_FALSE) + { + int iuuconf; + + iuuconf = uuconf_dialer_info (puuconf, *pzdialer, q); + if (iuuconf == UUCONF_NOT_FOUND) + { + ulog (LOG_ERROR, "%s: Dialer not found", *pzdialer); + if (ffreefirst) + (void) uuconf_dialer_free (puuconf, qdialer); + return FALSE; + } + else if (iuuconf != UUCONF_SUCCESS) + { + ulog_uuconf (LOG_ERROR, puuconf, iuuconf); + if (ffreefirst) + (void) uuconf_dialer_free (puuconf, qdialer); + return FALSE; + } + + if (ffirst) + { + *ptdialerfound = DIALERFOUND_FREE; + ffreefirst = TRUE; + } + } + + ++pzdialer; + ztoken = *pzdialer; + + ftranslate = FALSE; + if (ztoken == NULL + || strcmp (ztoken, "\\D") == 0) + ztoken = zphone; + else if (strcmp (ztoken, "\\T") == 0) + { + ztoken = zphone; + ftranslate = TRUE; + } + + if (! fchat (qconn, puuconf, &q->uuconf_schat, qsys, q, ztoken, + ftranslate, zname, iconn_baud (qconn))) + { + if (q == &s) + (void) uuconf_dialer_free (puuconf, q); + if (ffreefirst) + (void) uuconf_dialer_free (puuconf, qdialer); + return FALSE; + } + + if (ffirst) + ffirst = FALSE; + else + (void) uuconf_dialer_free (puuconf, q); + + if (*pzdialer != NULL) + ++pzdialer; + } + + return TRUE; +} + +/* Modem dialing routine. */ /*ARGSUSED*/ boolean @@ -431,88 +526,58 @@ fmodem_dial (qconn, puuconf, qsys, zphone, qdialer, ptdialerfound) struct uuconf_dialer *qdialer; enum tdialerfound *ptdialerfound; { + char **pzdialer; + *ptdialerfound = DIALERFOUND_FALSE; - if (qconn->qport->uuconf_u.uuconf_smodem.uuconf_pzdialer != NULL) + pzdialer = qconn->qport->uuconf_u.uuconf_smodem.uuconf_pzdialer; + if (pzdialer != NULL && *pzdialer != NULL) { - char **pz; - boolean ffirst; + int iuuconf; + boolean fret; - /* The pzdialer field is a sequence of dialer/token pairs. The - dialer portion names a dialer to use. The token portion is - what \D and \T in the chat script expand to. If there is no - token for the last dialer, the phone number for the system is - used. */ - ffirst = TRUE; - pz = qconn->qport->uuconf_u.uuconf_smodem.uuconf_pzdialer; - while (*pz != NULL) + iuuconf = uuconf_dialer_info (puuconf, *pzdialer, qdialer); + if (iuuconf == UUCONF_NOT_FOUND) { - int iuuconf; - struct uuconf_dialer *q; - struct uuconf_dialer s; - const char *ztoken; - boolean ftranslate; - - if (! ffirst) - q = &s; - else - q = qdialer; - - iuuconf = uuconf_dialer_info (puuconf, *pz, q); - if (iuuconf == UUCONF_NOT_FOUND) - { - ulog (LOG_ERROR, "%s: Dialer not found", *pz); - return FALSE; - } - else if (iuuconf != UUCONF_SUCCESS) - { - ulog_uuconf (LOG_ERROR, puuconf, iuuconf); - return FALSE; - } - - ++pz; - ztoken = *pz; - - ftranslate = FALSE; - if (ztoken == NULL - || strcmp (ztoken, "\\D") == 0) - ztoken = zphone; - else if (strcmp (ztoken, "\\T") == 0) - { - ztoken = zphone; - ftranslate = TRUE; - } - - if (! fcdo_dial (qconn, puuconf, q, ztoken, ftranslate)) - { - (void) uuconf_dialer_free (puuconf, q); - if (! ffirst) - (void) uuconf_dialer_free (puuconf, qdialer); - return FALSE; - } - - if (ffirst) - { - *ptdialerfound = DIALERFOUND_FREE; - ffirst = FALSE; - } - else - (void) uuconf_dialer_free (puuconf, q); - - if (*pz != NULL) - ++pz; + ulog (LOG_ERROR, "%s: Dialer not found", *pzdialer); + return FALSE; + } + else if (iuuconf != UUCONF_SUCCESS) + { + ulog_uuconf (LOG_ERROR, puuconf, iuuconf); + return FALSE; } - return TRUE; + *ptdialerfound = DIALERFOUND_FREE; + + fret = (fsysdep_modem_begin_dial (qconn, qdialer) + && fconn_dial_sequence (qconn, puuconf, pzdialer, qsys, zphone, + qdialer, ptdialerfound) + && fsysdep_modem_end_dial (qconn, qdialer)); + + if (! fret) + (void) uuconf_dialer_free (puuconf, qdialer); + + return fret; } else if (qconn->qport->uuconf_u.uuconf_smodem.uuconf_qdialer != NULL) { struct uuconf_dialer *q; + const char *zname; q = qconn->qport->uuconf_u.uuconf_smodem.uuconf_qdialer; *qdialer = *q; *ptdialerfound = DIALERFOUND_TRUE; - return fcdo_dial (qconn, puuconf, q, zphone, FALSE); + + if (qconn->qport == NULL) + zname = NULL; + else + zname = qconn->qport->uuconf_zname; + + return (fsysdep_modem_begin_dial (qconn, q) + && fchat (qconn, puuconf, &q->uuconf_schat, qsys, q, + zphone, FALSE, zname, iconn_baud (qconn)) + && fsysdep_modem_end_dial (qconn, q)); } else { @@ -520,33 +585,3 @@ fmodem_dial (qconn, puuconf, qsys, zphone, qdialer, ptdialerfound) return FALSE; } } - -/* Actually use a dialer. We set up the modem (which may include - opening the dialer device), run the chat script, and finish dealing - with the modem. */ - -static boolean -fcdo_dial (qconn, puuconf, qdial, zphone, ftranslate) - struct sconnection *qconn; - pointer puuconf; - struct uuconf_dialer *qdial; - const char *zphone; - boolean ftranslate; -{ - const char *zname; - - if (! fsysdep_modem_begin_dial (qconn, qdial)) - return FALSE; - - if (qconn->qport == NULL) - zname = NULL; - else - zname = qconn->qport->uuconf_zname; - - if (! fchat (qconn, puuconf, &qdial->uuconf_schat, - (const struct uuconf_system *) NULL, qdial, - zphone, ftranslate, zname, iconn_baud (qconn))) - return FALSE; - - return fsysdep_modem_end_dial (qconn, qdial); -} diff --git a/gnu/libexec/uucp/common_sources/conn.h b/gnu/libexec/uucp/common_sources/conn.h index 59d4881b07ff..368f7e658949 100644 --- a/gnu/libexec/uucp/common_sources/conn.h +++ b/gnu/libexec/uucp/common_sources/conn.h @@ -1,7 +1,7 @@ /* conn.h Header file for routines which manipulate connections. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993, 1994 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,7 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #ifndef CONN_H @@ -121,8 +121,6 @@ struct sconncmds pointer puuconf, struct uuconf_dialer *qdialer, boolean fsuccess)); - /* Reset the connection so that another call may be accepted. */ - boolean (*pfreset) P((struct sconnection *qconn)); /* Dial a number on a connection. This set *qdialer to the dialer used, if any, and sets *ptdialerfound appropriately. The qsys and zphone arguments are for the chat script. This field may be @@ -170,9 +168,11 @@ struct sconncmds /* Initialize a connection. This must be called before any of the other connection functions are called. It initializes the fields - of qconn. It returns FALSE on error. */ + of qconn. If qport is NULL, this opens standard input as a port + using type ttype. This function returns FALSE on error. */ extern boolean fconn_init P((struct uuconf_port *qport, - struct sconnection *qconn)); + struct sconnection *qconn, + enum uuconf_porttype ttype)); /* Free up connection data. */ extern void uconn_free P((struct sconnection *qconn)); @@ -199,9 +199,6 @@ extern boolean fconn_close P((struct sconnection *qconn, struct uuconf_dialer *qdialer, boolean fsuccess)); -/* Reset a connection such that another call may be accepted. */ -extern boolean fconn_reset P((struct sconnection *q)); - /* Dial out on a connection. The qsys and zphone arguments are for the chat scripts; zphone is the phone number to dial. If qdialer is not NULL, *qdialer will be set to the dialer information used if @@ -275,6 +272,15 @@ extern boolean fconn_carrier P((struct sconnection *qconn, extern boolean fconn_run_chat P((struct sconnection *qconn, char **pzprog)); +/* Run through a dialer sequence. This is a support routine for the + port type specific dialing routines. */ +extern boolean fconn_dial_sequence P((struct sconnection *qconn, + pointer puuconf, char **pzdialer, + const struct uuconf_system *qsys, + const char *zphone, + struct uuconf_dialer *qdialer, + enum tdialerfound *ptdialerfound)); + /* Dialing out on a modem is partially system independent. This is the modem dialing routine. */ extern boolean fmodem_dial P((struct sconnection *qconn, pointer puuconf, @@ -308,5 +314,6 @@ extern boolean fsysdep_tcp_init P((struct sconnection *qconn)); #if HAVE_TLI extern boolean fsysdep_tli_init P((struct sconnection *qconn)); #endif +extern boolean fsysdep_pipe_init P((struct sconnection *qconn)); #endif /* ! defined (CONN_H) */ diff --git a/gnu/libexec/uucp/common_sources/copy.c b/gnu/libexec/uucp/common_sources/copy.c index 6956bb3d7cf9..0dc2b037a181 100644 --- a/gnu/libexec/uucp/common_sources/copy.c +++ b/gnu/libexec/uucp/common_sources/copy.c @@ -20,13 +20,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #include "uucp.h" #if USE_RCS_ID -const char copy_rcsid[] = "$Id: copy.c,v 1.1 1993/08/04 19:30:44 jtc Exp $"; +const char copy_rcsid[] = "$Id: copy.c,v 1.2 1994/10/24 22:17:13 jtc Exp $"; #endif #include "uudefs.h" diff --git a/gnu/libexec/uucp/common_sources/cu.h b/gnu/libexec/uucp/common_sources/cu.h index 5a514ee3bfe7..748e2d32c199 100644 --- a/gnu/libexec/uucp/common_sources/cu.h +++ b/gnu/libexec/uucp/common_sources/cu.h @@ -20,7 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ /* The user settable variables supported by cu. */ diff --git a/gnu/libexec/uucp/common_sources/log.c b/gnu/libexec/uucp/common_sources/log.c index b55ca8b10b97..8ccdff9e1826 100644 --- a/gnu/libexec/uucp/common_sources/log.c +++ b/gnu/libexec/uucp/common_sources/log.c @@ -1,7 +1,7 @@ /* log.c Routines to add entries to the log files. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993, 1994 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,22 +20,25 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #include "uucp.h" #if USE_RCS_ID -const char log_rcsid[] = "$Id: log.c,v 1.1 1993/08/04 19:30:50 jtc Exp $"; +const char log_rcsid[] = "$Id: log.c,v 1.2 1994/10/24 22:17:16 jtc Exp $"; #endif +#include #include -#if ANSI_C +#if HAVE_STDARG_H #include #endif -#if HAVE_TIME_H +#if TM_IN_SYS_TIME +#include +#else #include #endif @@ -45,8 +48,12 @@ const char log_rcsid[] = "$Id: log.c,v 1.1 1993/08/04 19:30:50 jtc Exp $"; /* Local functions. */ +__inline__ static char *zstpcpy P((char *zto, const char *zfrom)); static const char *zldate_and_time P((void)); +/* Program name. Set by main function. */ +const char *zProgram; + /* Log file name. */ static const char *zLogfile; @@ -86,9 +93,6 @@ static FILE *eLdebug; /* Whether we've tried to open the debugging file. */ static boolean fLdebug_tried; - -/* Whether we've written out any debugging information. */ -static boolean fLdebugging; #endif /* Statistics file name. */ @@ -212,11 +216,24 @@ ulog_device (zdevice) zLdevice = zbufcpy (zdevice); } +/* A helper function for ulog. */ + +__inline__ static char * +zstpcpy (zto, zfrom) + char *zto; + const char *zfrom; +{ + while ((*zto++ = *zfrom++) != '\0') + ; + return zto - 1; +} + /* Make a log entry. We make a token concession to non ANSI_C systems, but it clearly won't always work. */ -#if ! ANSI_C +#if ! HAVE_PROTOTYPES || ! HAVE_STDARG_H #undef HAVE_VFPRINTF +#define HAVE_VFPRINTF 0 #endif /*VARARGS2*/ @@ -235,7 +252,11 @@ ulog (ttype, zmsg, a, b, c, d, f, g, h, i, j) #endif FILE *e, *edebug; boolean fstart, fend; - const char *zhdr, *zstr; + const char *zhdr; + char *zprefix; + register char *zset; + char *zformat; + char *zfrom; /* Log any received signal. We do it this way to avoid calling ulog from the signal handler. A few routines call ulog to get this @@ -276,11 +297,10 @@ ulog (ttype, zmsg, a, b, c, d, f, g, h, i, j) if (fLfile && eLdebug == NULL && ! fLdebug_tried - && (fLdebugging || (int) ttype >= (int) LOG_DEBUG)) + && iDebug != 0) { fLdebug_tried = TRUE; eLdebug = esysdep_fopen (zLdebugfile, FALSE, TRUE, TRUE); - fLdebugging = TRUE; } #endif /* DEBUG > 1 */ @@ -307,6 +327,8 @@ ulog (ttype, zmsg, a, b, c, d, f, g, h, i, j) #else /* HAVE_HDB_LOGGING */ { const char *zsys; + char *zbase; + char *zlower; char *zfile; /* We want to write to .Log/program/system, e.g. @@ -316,11 +338,23 @@ ulog (ttype, zmsg, a, b, c, d, f, g, h, i, j) else zsys = zLsystem; + zbase = zsysdep_base_name (zProgram); + if (zbase == NULL) + zbase = zbufcpy (zProgram); + + /* On some systems the native uusched will invoke uucico + with an upper case argv[0]. We work around that by + forcing the filename to lower case here. */ + for (zlower = zbase; *zlower != '\0'; zlower++) + if (isupper (*zlower)) + *zlower = tolower (*zlower); + zfile = zbufalc (strlen (zLogfile) - + strlen (abProgram) + + strlen (zbase) + strlen (zsys) + 1); - sprintf (zfile, zLogfile, abProgram, zsys); + sprintf (zfile, zLogfile, zbase, zsys); + ubuffree (zbase); eLlog = esysdep_fopen (zfile, TRUE, TRUE, TRUE); ubuffree (zfile); } @@ -328,10 +362,13 @@ ulog (ttype, zmsg, a, b, c, d, f, g, h, i, j) if (eLlog == NULL) { - /* We can't open the log file. We don't even have a - safe way to report this problem, since we may not be - able to write to stderr (it may, for example, be - attached to the incoming call). */ + /* We can't open the log file. We report the problem to + stderr. This is not ideal, since if this is uucico + running on an inbound call stderr is actually + connected to a remote system, but is better than + doing nothing. */ + fprintf (stderr, "%s: %s: can not open log file\n", + zProgram, zLogfile); if (pfLfatal != NULL) (*pfLfatal) (); usysdep_exit (FALSE); @@ -392,99 +429,122 @@ ulog (ttype, zmsg, a, b, c, d, f, g, h, i, j) break; } - if (fstart) + if (! fstart) + zprefix = zbufcpy (""); + else { if (! fLfile) { - fprintf (e, "%s: ", abProgram); - if (edebug != NULL) - fprintf (edebug, "%s: ", abProgram); + zprefix = zbufalc (strlen (zProgram) + 3); + sprintf (zprefix, "%s: ", zProgram); } else { + zprefix = zbufalc (strlen (zProgram) + + (zLsystem == NULL ? 1 : strlen (zLsystem)) + + (zLuser == NULL ? 4 : strlen (zLuser)) + + sizeof "1991-12-31 12:00:00.00" + + strlen (zhdr) + + 100); + zset = zprefix; #if HAVE_TAYLOR_LOGGING - fprintf (e, "%s ", abProgram); - if (edebug != NULL) - fprintf (edebug, "%s ", abProgram); + { + char *zbase; + + zbase = zsysdep_base_name (zProgram); + if (zbase == NULL) + zbase = zbufcpy (zProgram); + zset = zstpcpy (zset, zbase); + *zset++ = ' '; + ubuffree (zbase); + } #else /* ! HAVE_TAYLOR_LOGGING */ - fprintf (e, "%s ", zLuser == NULL ? "uucp" : zLuser); - if (edebug != NULL) - fprintf (edebug, "%s ", zLuser == NULL ? "uucp" : zLuser); + zset = zstpcpy (zset, zLuser == NULL ? "uucp" : zLuser); + *zset++ = ' '; #endif /* HAVE_TAYLOR_LOGGING */ - fprintf (e, "%s ", zLsystem == NULL ? "-" : zLsystem); - if (edebug != NULL) - fprintf (edebug, "%s ", zLsystem == NULL ? "-" : zLsystem); + zset = zstpcpy (zset, zLsystem == NULL ? "-" : zLsystem); + *zset++ = ' '; #if HAVE_TAYLOR_LOGGING - fprintf (e, "%s ", zLuser == NULL ? "-" : zLuser); - if (edebug != NULL) - fprintf (edebug, "%s ", zLuser == NULL ? "-" : zLuser); + zset = zstpcpy (zset, zLuser == NULL ? "-" : zLuser); + *zset++ = ' '; #endif /* HAVE_TAYLOR_LOGGING */ - zstr = zldate_and_time (); - fprintf (e, "(%s", zstr); - if (edebug != NULL) - fprintf (edebug, "(%s", zstr); + *zset++ = '('; + zset = zstpcpy (zset, zldate_and_time ()); if (iLid != 0) { #if ! HAVE_HDB_LOGGING #if HAVE_TAYLOR_LOGGING - fprintf (e, " %d", iLid); - if (edebug != NULL) - fprintf (edebug, " %d", iLid); + sprintf (zset, " %d", iLid); #else /* ! HAVE_TAYLOR_LOGGING */ - fprintf (e, "-%d", iLid); - if (edebug != NULL) - fprintf (edebug, "-%d", iLid); + sprintf (zset, "-%d", iLid); #endif /* ! HAVE_TAYLOR_LOGGING */ #else /* HAVE_HDB_LOGGING */ - /* I assume that the second number here is meant to be some sort of file sequence number, and that it should correspond to the sequence number in the statistics file. I don't have any really convenient way to do this, so I won't unless somebody thinks it's very important. */ - fprintf (e, ",%d,%d", iLid, 0); - if (edebug != NULL) - fprintf (edebug, ",%d,%d", iLid, 0); + sprintf (zset, ",%d,%d", iLid, 0); #endif /* HAVE_HDB_LOGGING */ + + zset += strlen (zset); } - fprintf (e, ") "); - if (edebug != NULL) - fprintf (edebug, ") "); +#if QNX_LOG_NODE_ID + sprintf (zset, " %ld", (long) getnid ()); + zset += strlen (zset); +#endif - fprintf (e, "%s", zhdr); - if (edebug != NULL) - fprintf (edebug, "%s", zhdr); + *zset++ = ')'; + *zset++ = ' '; + + strcpy (zset, zhdr); } } + zformat = zbufalc (2 * strlen (zprefix) + strlen (zmsg) + 2); + + zset = zformat; + zfrom = zprefix; + while (*zfrom != '\0') + { + if (*zfrom == '%') + *zset++ = '%'; + *zset++ = *zfrom++; + } + + ubuffree (zprefix); + + zset = zstpcpy (zset, zmsg); + + if (fend) + { + *zset++ = '\n'; + *zset = '\0'; + } + #if HAVE_VFPRINTF va_start (parg, zmsg); - vfprintf (e, zmsg, parg); + vfprintf (e, zformat, parg); va_end (parg); if (edebug != NULL) { va_start (parg, zmsg); - vfprintf (edebug, zmsg, parg); + vfprintf (edebug, zformat, parg); va_end (parg); } #else /* ! HAVE_VFPRINTF */ - fprintf (e, zmsg, a, b, c, d, f, g, h, i, j); + fprintf (e, zformat, a, b, c, d, f, g, h, i, j); if (edebug != NULL) - fprintf (edebug, zmsg, a, b, c, d, f, g, h, i, j); + fprintf (edebug, zformat, a, b, c, d, f, g, h, i, j); #endif /* ! HAVE_VFPRINTF */ - if (fend) - { - fprintf (e, "\n"); - if (edebug != NULL) - fprintf (edebug, "\n"); - } + ubuffree (zformat); (void) fflush (e); if (edebug != NULL) @@ -581,13 +641,24 @@ ustats (fsucceeded, zuser, zsystem, fsent, cbytes, csecs, cmicros, fmaster) cbps = 0; else { - long cmillis; + long cmillis, cdiv, crem; - /* This computation will not overflow provided csecs < 2147483 - and cbytes and cbps both fit in a long. */ + /* Compute ((csecs * 1000) / cmillis) using integer division. + Where DIV is integer division, we know + a = (a DIV b) * b + a % b + so + a / b = (a DIV b) + (a % b) / b + We compute the latter with a as csecs and b as cmillis, + mixing the multiplication by 1000. */ cmillis = csecs * 1000 + cmicros / 1000; - cbps = ((cbytes / cmillis) * 1000 - + ((cbytes % cmillis) * 1000) / cmillis); + cdiv = (cbytes / cmillis) * 1000; + crem = (cbytes % cmillis) * 1000; + cbps = cdiv + (crem / cmillis); + if (cmillis < 0 || cdiv < 0 || crem < 0 || cbps < 0) + { + /* We overflowed using milliseconds, so use seconds. */ + cbps = cbytes / (csecs + ((cmicros > 500000L) ? 1 : 0)); + } } if (eLstats == NULL) @@ -602,11 +673,12 @@ ustats (fsucceeded, zuser, zsystem, fsent, cbytes, csecs, cmicros, fmaster) #if HAVE_TAYLOR_LOGGING fprintf (eLstats, - "%s %s (%s) %s%s %ld bytes in %ld.%03ld seconds (%ld bytes/sec)\n", + "%s %s (%s) %s%s %ld bytes in %ld.%03ld seconds (%ld bytes/sec) on port %s\n", zuser, zsystem, zldate_and_time (), fsucceeded ? "" : "failed after ", fsent ? "sent" : "received", - cbytes, csecs, cmicros / 1000, cbps); + cbytes, csecs, cmicros / 1000, cbps, + zLdevice == NULL ? "unknown" : zLdevice); #endif /* HAVE_TAYLOR_LOGGING */ #if HAVE_V2_LOGGING fprintf (eLstats, @@ -625,18 +697,16 @@ ustats (fsucceeded, zuser, zsystem, fsent, cbytes, csecs, cmicros, fmaster) probably correspond to the sequence number in the log file, but that is currently always 0; using this fake sequence number will still at least reveal which transfers are from different - calls. We don't report a failed data transfer with this - format. */ - if (! fsucceeded) - return; + calls. */ ++iseq; fprintf (eLstats, - "%s!%s %c (%s) (C,%d,%d) [%s] %s %ld / %ld.%03ld secs, %ld %s\n", + "%s!%s %c (%s) (C,%d,%d) [%s] %s %ld / %ld.%03ld secs, %ld%s%s\n", zsystem, zuser, fmaster ? 'M' : 'S', zldate_and_time (), iLid, iseq, zLdevice == NULL ? "unknown" : zLdevice, fsent ? "->" : "<-", cbytes, csecs, cmicros / 1000, cbps, - "bytes/sec"); + " bytes/sec", + fsucceeded ? "" : " [PARTIAL FILE]"); } #endif /* HAVE_HDB_LOGGING */ diff --git a/gnu/libexec/uucp/common_sources/policy.h b/gnu/libexec/uucp/common_sources/policy.h index c377b3d0dfdd..1936fb1e5e1c 100644 --- a/gnu/libexec/uucp/common_sources/policy.h +++ b/gnu/libexec/uucp/common_sources/policy.h @@ -1,7 +1,7 @@ /* policy.h Configuration file for policy decisions. To be edited on site. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,7 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ /* This header file contains macro definitions which must be set by @@ -72,14 +72,19 @@ figure out what's happening if something goes wrong. */ #if HAVE_BSD_TTY + HAVE_SYSV_TERMIO + HAVE_POSIX_TERMIOS == 0 +#ifdef __QNX__ +#undef HAVE_POSIX_TERMIOS +#define HAVE_POSIX_TERMIOS 1 +#else /* ! defined (__QNX__) */ #if HAVE_CBREAK #undef HAVE_BSD_TTY #define HAVE_BSD_TTY 1 -#else +#else /* ! HAVE_CBREAK */ #undef HAVE_SYSV_TERMIO #define HAVE_SYSV_TERMIO 1 -#endif -#endif +#endif /* ! HAVE_CBREAK */ +#endif /* ! defined (__QNX__) */ +#endif /* HAVE_BSD_TTY + HAVE_SYSV_TERMIO + HAVE_POSIX_TERMIOS == 0 */ /* On some systems a write to a serial port will block even if the file descriptor has been set to not block. File transfer can be @@ -155,12 +160,23 @@ #define HAVE_STRIP_BUG 0 #if HAVE_BSD_TTY +#ifdef __ultrix__ +#ifndef ultrix +#define ultrix +#endif +#endif #ifdef ultrix #undef HAVE_STRIP_BUG #define HAVE_STRIP_BUG 1 #endif #endif +/* If your system implements full duplex pipes, set + HAVE_FULLDUPLEX_PIPES to 1. Everything should work fine if you + leave it set to 0, but setting it to 1 can be slightly more + efficient. */ +#define HAVE_FULLDUPLEX_PIPES 0 + /* TIMES_TICK is the fraction of a second which times(2) returns (for example, if times returns 100ths of a second TIMES_TICK should be set to 100). On a true POSIX system (one which has the sysconf @@ -206,6 +222,34 @@ have the nap function. */ #define HAVE_HUNDREDTHS_NAP 0 +/* Set MAIL_PROGRAM to a program which can be used to send mail. It + will be used for mail to both local and remote users. Set + MAIL_PROGRAM_TO_BODY to 1 if the recipient should be specified as a + To: line in the body of the message; otherwise, the recipient will + be provided as an argument to MAIL_PROGRAM. Set + MAIL_PROGRAM_SUBJECT_BODY if the subject should be specified as a + Subject: line in the body of the message; otherwise, the subject + will be provided using the -s option to MAIL_PROGRAM (if your mail + program does not support the -s option, you must set + MAIL_PROGRAM_SUBJECT_BODY to 1). If your system uses sendmail, use + the sendmail choice below. Otherwise, select one of the other + choices as appropriate. */ +#if 1 +#define MAIL_PROGRAM "/usr/sbin/sendmail -t" +#define MAIL_PROGRAM_TO_BODY 1 +#define MAIL_PROGRAM_SUBJECT_BODY 1 +#endif +#if 0 +#define MAIL_PROGRAM "/usr/ucb/mail" +#define MAIL_PROGRAM_TO_BODY 0 +#define MAIL_PROGRAM_SUBJECT_BODY 0 +#endif +#if 0 +#define MAIL_PROGRAM "/bin/mail" +#define MAIL_PROGRAM_TO_BODY 0 +#define MAIL_PROGRAM_SUBJECT_BODY 1 +#endif + /* Set PS_PROGRAM to the program to run to get a process status, including the arguments to pass it. This is used by ``uustat -p''. Set HAVE_PS_MULTIPLE to 1 if a comma separated list of process @@ -229,6 +273,13 @@ #define PS_PROGRAM "/bin/ps -flp" #define HAVE_PS_MULTIPLE 1 #endif +#ifdef __QNX__ +/* Use this for QNX, along with HAVE_QNX_LOCKFILES. */ +#undef PS_PROGRAM +#undef HAVE_PS_MULTIPLE +#define PS_PROGRAM "/bin/ps -l -n -p" +#define HAVE_PS_MULTIPLE 0 +#endif /* If you use other programs that also lock devices, such as cu or uugetty, the other programs and UUCP must agree on whether a device @@ -269,20 +320,91 @@ device itself, and zzz is the minor device number of the port device. + Sequent DYNIX/ptx (but perhaps not Dynix 3.x) uses yet another + naming convention. The lock file for /dev/ttyXA/XAAP is named + LCK..ttyXAAP. + Coherent use a completely different method of terminal locking. See unix/cohtty for details. For locks other than for terminals, - HDB type lock files are used. */ + HDB type lock files are used. + + QNX lock files are similar to HDB lock files except that the node + ID must be stored in addition to the process ID and for serial + devices the node ID must be included in the lock file name. QNX + boxes are generally used in bunches, and all of them behave like + one big machine to some extent. Thus, processes on different + machines will be sharing the files in the spool directory. To + detect if a process has died and a lock is thus stale, you need the + node ID of the process as well as the process ID. The process ID + is stored as a number written using ASCII digits padded to 10 + characters, followed by a space, followed by the node ID written + using ASCII digits padded to 10 characters, followed by a newline. + The format for QNX lock files was made up just for Taylor UUCP. + QNX doesn't come with a version of UUCP. */ #define HAVE_V2_LOCKFILES 0 -#define HAVE_HDB_LOCKFILES 1 +#define HAVE_HDB_LOCKFILES 0 #define HAVE_SCO_LOCKFILES 0 #define HAVE_SVR4_LOCKFILES 0 +#define HAVE_SEQUENT_LOCKFILES 0 #define HAVE_COHERENT_LOCKFILES 0 +#define HAVE_QNX_LOCKFILES 0 + +/* This tries to pick a default based on preprocessor definitions. + Ignore it if you have explicitly set one of the above values. */ +#if HAVE_V2_LOCKFILES + HAVE_HDB_LOCKFILES + HAVE_SCO_LOCKFILES + HAVE_SVR4_LOCKFILES + HAVE_SEQUENT_LOCKFILES + HAVE_COHERENT_LOCKFILES + HAVE_QNX_LOCKFILES == 0 +#ifdef __QNX__ +#undef HAVE_QNX_LOCKFILES +#define HAVE_QNX_LOCKFILES 1 +#else /* ! defined (__QNX__) */ +#ifdef __COHERENT__ +#undef HAVE_COHERENT_LOCKFILES +#define HAVE_COHERENT_LOCKFILES 1 +#else /* ! defined (__COHERENT__) */ +#ifdef _SEQUENT_ +#undef HAVE_SEQUENT_LOCKFILES +#define HAVE_SEQUENT_LOCKFILES 1 +#else /* ! defined (_SEQUENT) */ +#ifdef sco +#undef HAVE_SCO_LOCKFILES +#define HAVE_SCO_LOCKFILES 1 +#else /* ! defined (sco) */ +#ifdef __svr4__ +#undef HAVE_SVR4_LOCKFILES +#define HAVE_SVR4_LOCKFILES 1 +#else /* ! defined (__svr4__) */ +/* Final default is HDB. There's no way to tell V2 from HDB. */ +#undef HAVE_HDB_LOCKFILES +#define HAVE_HDB_LOCKFILES 1 +#endif /* ! defined (__svr4__) */ +#endif /* ! defined (sco) */ +#endif /* ! defined (_SEQUENT) */ +#endif /* ! defined (__COHERENT__) */ +#endif /* ! defined (__QNX__) */ +#endif /* no LOCKFILES define */ /* If your system supports Internet mail addresses (which look like user@host.domain rather than system!user), HAVE_INTERNET_MAIL - should be set to 1. This is checked by uuxqt when sending error - (or success, if requested) notifications to the person who - submitted the job. */ + should be set to 1. This is checked by uuxqt and uustat when + sending notifications to the person who submitted the job. + + If your system does not understand addresses of the form user@host, + you must set HAVE_INTERNET_MAIL to 0. + + If your system does not understand addresses of the form host!user, + which is unlikely, you must set HAVE_INTERNET_MAIL to 1. + + If your system sends mail addressed to "A!B@C" to host C (i.e., it + parses the address as "(A!B)@C"), you must set HAVE_INTERNET_MAIL + to 1. + + If your system sends mail addressed to "A!B@C" to host A (i.e., it + parses the address as "A!(B@C)"), you must set HAVE_INTERNET_MAIL + to 0. + + Note that in general it is best to avoid addresses of the form + "A!B@C" because of this ambiguity of precedence. UUCP will not + intentionally generate addresses of this form, but it can occur in + certain rather complex cases. */ #define HAVE_INTERNET_MAIL 1 /* Adminstrative decisions. */ @@ -303,6 +425,16 @@ file size will be very helpful. */ #define DEBUG 2 +/* Set HAVE_ENCRYPTED_PASSWORDS to 1 if you want login passwords to be + encrypted before comparing them against the values in the file. + This only applies when uucico is run with the -l or -e switches and + is doing its own login prompting. Note that the passwords used are + from the UUCP password file, not the system /etc/passwd file. See + the documentation for further details. If you set this, you are + responsible for encrypting the passwords in the UUCP password file. + The function crypt will be used to do comparisons. */ +#define HAVE_ENCRYPTED_PASSWORDS 0 + /* Set the default grade to use for a uucp command if the -g option is not used. The grades, from highest to lowest, are 0 to 9, A to Z, a to z. */ @@ -351,6 +483,15 @@ #define SPOOLDIR_SVR4 0 #define SPOOLDIR_TAYLOR 1 +/* The status file generated by UUCP can use either the traditional + HDB upper case comments or new easier to read lower case comments. + This affects the display of uustat -m or uustat -q. Some + third-party programs read these status files and expect them to be + in a certain format. The default is to use the traditional + comments when using an HDB or SVR4 spool directory, and to use + lower case comments otherwise. */ +#define USE_TRADITIONAL_STATUS (SPOOLDIR_HDB || SPOOLDIR_SVR4) + /* You must select which type of logging you want by setting exactly one of the following to 1. These control output to the log file and to the statistics file. @@ -392,6 +533,27 @@ #define HAVE_V2_LOGGING 0 #define HAVE_HDB_LOGGING 0 +/* If QNX_LOG_NODE_ID is set to 1, log messages will include the QNX + node ID just after the process ID. This is a policy decision + because it changes the log file entry format, which can break other + programs (e.g., some of the ones in the contrib directory) which + expect to read the standard log file format. */ +#ifdef __QNX__ +#define QNX_LOG_NODE_ID 1 +#else +#define QNX_LOG_NODE_ID 0 +#endif + +/* If LOG_DEVICE_PREFIX is 1, log messages will give the full + pathname of a device rather than just the final component. This is + important because on QNX //2/dev/ser2 refers to a different device + than //4/dev/ser2. */ +#ifdef __QNX__ +#define LOG_DEVICE_PREFIX 1 +#else +#define LOG_DEVICE_PREFIX 0 +#endif + /* If you would like the log, debugging and statistics files to be closed after each message, set CLOSE_LOGFILES to 1. This will permit the log files to be easily moved. If a log file does not diff --git a/gnu/libexec/uucp/common_sources/prot.c b/gnu/libexec/uucp/common_sources/prot.c index 4cc224ef0f98..27f26482e8c4 100644 --- a/gnu/libexec/uucp/common_sources/prot.c +++ b/gnu/libexec/uucp/common_sources/prot.c @@ -1,7 +1,7 @@ /* prot.c Protocol support routines to move commands and data around. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1994 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,18 +20,19 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #include "uucp.h" #if USE_RCS_ID -const char prot_rcsid[] = "$Id: prot.c,v 1.1 1993/08/04 19:30:55 jtc Exp $"; +const char prot_rcsid[] = "$Id: prot.c,v 1.2 1994/10/24 22:17:22 jtc Exp $"; #endif #include #include "uudefs.h" +#include "uuconf.h" #include "system.h" #include "conn.h" #include "prot.h" @@ -76,6 +77,9 @@ fsend_data (qconn, zsend, csend, fdoread) --crec; } + if (crec == 0) + return fconn_write (qconn, zsend, csend); + csent = csend; if (! fconn_io (qconn, zsend, &csent, abPrecbuf + iPrecend, &crec)) diff --git a/gnu/libexec/uucp/common_sources/prot.h b/gnu/libexec/uucp/common_sources/prot.h index 4e2bb584d842..07dc6203f426 100644 --- a/gnu/libexec/uucp/common_sources/prot.h +++ b/gnu/libexec/uucp/common_sources/prot.h @@ -1,7 +1,7 @@ /* prot.h Protocol header file. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993, 1994 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,7 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ /* We need the definition of uuconf_cmdtab to declare the protocol @@ -49,6 +49,8 @@ struct sprotocol int ireliable; /* The maximum number of channels this protocol can support. */ int cchans; + /* Whether files may be reliably restarted using this protocol. */ + boolean frestart; /* Protocol parameter commands. */ struct uuconf_cmdtab *qcmds; /* A routine to start the protocol. If *pzlog is set to be @@ -163,6 +165,7 @@ extern boolean fijstart P((struct sdaemon *qdaemon, char **pzlog, extern struct uuconf_cmdtab asGproto_params[]; extern boolean fgstart P((struct sdaemon *qdaemon, char **pzlog)); extern boolean fbiggstart P((struct sdaemon *qdaemon, char **pzlog)); +extern boolean fvstart P((struct sdaemon *qdaemon, char **pzlog)); extern boolean fgshutdown P((struct sdaemon *qdaemon)); extern boolean fgsendcmd P((struct sdaemon *qdaemon, const char *z, int ilocal, int iremote)); diff --git a/gnu/libexec/uucp/common_sources/sysdep.h b/gnu/libexec/uucp/common_sources/sysdep.h index 47675ac2385d..41dcecdf9277 100644 --- a/gnu/libexec/uucp/common_sources/sysdep.h +++ b/gnu/libexec/uucp/common_sources/sysdep.h @@ -1,7 +1,7 @@ /* sysh.unx -*- C -*- The header file for the UNIX system dependent routines. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,7 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #ifndef SYSH_UNX_H @@ -34,14 +34,9 @@ struct uuconf_system; struct sconnection; #endif -/* Make sure the defines do not conflict. These are in this file - because they are Unix dependent. */ -#if HAVE_V2_LOCKFILES + HAVE_HDB_LOCKFILES + HAVE_SCO_LOCKFILES + HAVE_SVR4_LOCKFILES + HAVE_COHERENT_LOCKFILES != 1 - #error LOCKFILES define not set or duplicated -#endif - -/* SCO and SVR4 lockfiles are basically just like HDB lockfiles. */ -#if HAVE_SCO_LOCKFILES || HAVE_SVR4_LOCKFILES +/* SCO, SVR4 and Sequent lockfiles are basically just like HDB + lockfiles. */ +#if HAVE_SCO_LOCKFILES || HAVE_SVR4_LOCKFILES || HAVE_SEQUENT_LOCKFILES #undef HAVE_HDB_LOCKFILES #define HAVE_HDB_LOCKFILES 1 #endif @@ -230,6 +225,9 @@ typedef struct termios sterminal; failed. */ #define PRESERVEDIR ".Preserve" +/* The name of the directory to which we move corrupt files. */ +#define CORRUPTDIR ".Corrupt" + /* The length of the sequence number used in a file name. */ #define CSEQLEN (4) @@ -284,6 +282,10 @@ typedef struct termios sterminal; #define S_IXOTH 0001 #endif +#if STAT_MACROS_BROKEN +#undef S_ISDIR +#endif + #ifndef S_ISDIR #ifdef S_IFDIR #define S_ISDIR(i) (((i) & S_IFMT) == S_IFDIR) @@ -351,12 +353,16 @@ struct ssysdep_conn { /* File descriptor. */ int o; + /* File descriptor to read from (used by stdin and pipe port types). */ + int ord; + /* File descriptor to write to (used by stdin and pipe port types). */ + int owr; /* Device name. */ char *zdevice; /* File status flags. */ int iflags; - /* File status flags for descriptor 1 (-1 if not standard input). */ - int istdout_flags; + /* File status flags for write descriptor (-1 if not used). */ + int iwr_flags; /* Hold the real descriptor when using a dialer device. */ int ohold; /* TRUE if this is a terminal and the remaining fields are valid. */ @@ -369,6 +375,9 @@ struct ssysdep_conn sterminal sorig; /* Current terminal settings. */ sterminal snew; + /* Process ID of currently executing pipe command, or parent process + of forked TCP or TLI server, or -1. */ + pid_t ipid; #if HAVE_COHERENT_LOCKFILES /* On Coherent we need to hold on to the real port name which will be used to enable the port. Ick. */ @@ -428,6 +437,19 @@ extern FILE *espopen P((const char **pazargs, boolean frd, prototype. */ extern int ixswait P((unsigned long ipid, const char *zreport)); +/* Read from a connection using two file descriptors. */ +extern boolean fsdouble_read P((struct sconnection *qconn, char *zbuf, + size_t *pclen, size_t cmin, int ctimeout, + boolean freport)); + +/* Write to a connection using two file descriptors. */ +extern boolean fsdouble_write P((struct sconnection *qconn, + const char *zbuf, size_t clen)); + +/* Run a chat program on a connection using two file descriptors. */ +extern boolean fsdouble_chat P((struct sconnection *qconn, + char **pzprog)); + /* Find a spool file in the spool directory. For a local file, the bgrade argument is the grade of the file. This is needed for SPOOLDIR_SVR4. */ @@ -435,7 +457,7 @@ extern char *zsfind_file P((const char *zsimple, const char *zsystem, int bgrade)); /* Return the grade given a sequence number. */ -extern char bsgrade P((pointer pseq)); +extern int bsgrade P((pointer pseq)); /* Lock a string. */ extern boolean fsdo_lock P((const char *, boolean fspooldir, @@ -493,7 +515,7 @@ extern int dup2 P((int oold, int onew)); #if ! HAVE_FTW extern int ftw P((const char *zdir, int (*pfn) P((const char *zfile, - const struct stat *qstat, + struct stat *qstat, int iflag)), int cdescriptors)); #endif diff --git a/gnu/libexec/uucp/common_sources/system.h b/gnu/libexec/uucp/common_sources/system.h index aa9d2a41a45a..9765edf17a49 100644 --- a/gnu/libexec/uucp/common_sources/system.h +++ b/gnu/libexec/uucp/common_sources/system.h @@ -2,7 +2,7 @@ Header file for system dependent stuff in the Taylor UUCP package. This file is not itself system dependent. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993, 1994 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -21,7 +21,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #ifndef SYSTEM_H @@ -73,6 +73,11 @@ extern size_t cSysdep_max_name_len; means, on Unix, this program is normally installed setuid. */ #define INIT_SUID (04) +/* Do not close all open descriptors. This is not used by the UUCP + code, but it is used by other programs which share some of the + system dependent libraries. */ +#define INIT_NOCLOSE (010) + extern void usysdep_initialize P((pointer puuconf, int iflags)); /* Exit the program. The fsuccess argument indicates whether to @@ -172,9 +177,13 @@ extern const char *zsysdep_port_name P((boolean *pftcp_port)); desirable on other systems. This should always return an absolute path name, probably in the public directory. It should return NULL on error; otherwise the return value should be allocated using - zbufcpy or zbufalc. */ + zbufcpy or zbufalc. If pfbadname is not NULL, then if the function + returns NULL *pfbadname should be set to TRUE if the error is just + that the file name is badly specified; *pfbadname should be set to + FALSE for some sort of internal error. */ extern char *zsysdep_local_file P((const char *zname, - const char *zpubdir)); + const char *zpubdir, + boolean *pfbadname)); /* Return whether a file name is in a directory, and check for read or write access. This should check whether zfile is within zdir (or @@ -201,17 +210,16 @@ extern boolean fsysdep_in_directory P((const char *zfile, return error. */ extern boolean fsysdep_file_exists P((const char *zfile)); -/* Start up a program. The code expects fsysdep_run to return after - doing a fork, but at least for now everything will work fine if it - does not (on a system which does not support forking). The three - string arguments may be catenated together to form the program to - execute; I did it this way to make it easy to call execl(2), and - because I never needed more than two arguments. The program will - always be "uucico" or "uuxqt". The return value will be passed - directly to usysdep_exit, and should be TRUE on success, FALSE on +/* Start up a program. If the ffork argument is true, this should + spawn a new process and return. If the ffork argument is false, + this may either return or not. The three string arguments may be + catenated together to form the program to execute; I did it this + way to make it easy to call execl(2), and because I never needed + more than two arguments. The program will always be "uucico" or + "uuxqt". The return value should be TRUE on success, FALSE on error. */ -extern boolean fsysdep_run P((const char *zprogram, const char *zarg1, - const char *zarg2)); +extern boolean fsysdep_run P((boolean ffork, const char *zprogram, + const char *zarg1, const char *zarg2)); /* Send a mail message. This function will be passed an array of strings. All necessary newlines are already included; the strings @@ -329,6 +337,12 @@ extern boolean fsysdep_did_work P((pointer pseq)); the file. */ extern const char *zsysdep_save_temp_file P((pointer pseq)); +/* Save a file in a location used to hold corrupt files. This is + called if a bad execution file is found by uuxqt. This should + return the new name of the file (allocated by zbufalc), or NULL if + the move failed (in which the original file should remain). */ +extern char *zsysdep_save_corrupt_file P((const char *zfile)); + /* Cleanup anything left over by fsysdep_get_work_init and fsysdep_get_work. This may be called even though fsysdep_get_work_init has not been. */ @@ -397,23 +411,27 @@ extern openfile_t esysdep_open_send P((const struct uuconf_system *qsys, /* Return a temporary file name to receive into. This file will be opened by esysdep_open_receive. The qsys argument is the system the file is coming from, the zto argument is the name the file will - have after it has been fully received, and the ztemp argument, if - it is not NULL, is from the command sent by the remote system. The - return value must be freed using ubuffree. The function should - return NULL on error. */ + have after it has been fully received, the ztemp argument, if it is + not NULL, is from the command sent by the remote system, and the + frestart argument is TRUE if the protocol and remote system permit + file transfers to be restarted. The return value must be freed + using ubuffree. The function should return NULL on error. */ extern char *zsysdep_receive_temp P((const struct uuconf_system *qsys, const char *zfile, - const char *ztemp)); + const char *ztemp, + boolean frestart)); /* Open a file to receive from another system. The zreceive argument is the return value of zsysdep_receive_temp with the same qsys, zfile and ztemp arguments. If the function can determine that this file has already been partially received, it should set *pcrestart to the number of bytes that have been received. If the file has - not been partially received, *pcrestart should be set to -1. The - function should return EFILECLOSED on error. After the file is - written, fsysdep_move_file will be called to move the file to its - final destination, and to set the correct file mode. */ + not been partially received, *pcrestart should be set to -1. + pcrestart will be passed in as NULL if file restart is not + supported by the protocol or the remote system. The function + should return EFILECLOSED on error. After the file is written, + fsysdep_move_file will be called to move the file to its final + destination, and to set the correct file mode. */ extern openfile_t esysdep_open_receive P((const struct uuconf_system *qsys, const char *zto, const char *ztemp, @@ -428,8 +446,8 @@ extern openfile_t esysdep_open_receive P((const struct uuconf_system *qsys, this should make sure the directory is writeable by the user zuser (if zuser is NULL, then it must be writeable by any user); this is to avoid a window of vulnerability between fsysdep_in_directory and - fsysdep_move_file. This function should return FALSE on error; the - zorig file should be removed even if an error occurs. */ + fsysdep_move_file. This function should return FALSE on error, in + which case the zorig file should still exist. */ extern boolean fsysdep_move_file P((const char *zorig, const char *zto, boolean fmkdirs, boolean fpublic, boolean fcheck, const char *zuser)); @@ -675,7 +693,8 @@ extern boolean fsysdep_move_uuxqt_files P((int cfiles, started in rather than in the public directory. This should return NULL on error. */ extern char *zsysdep_local_file_cwd P((const char *zname, - const char *zpubdir)); + const char *zpubdir, + boolean *pfbadname)); /* Add the working directory to a file name. The named file is actually on a remote system. If the file already has a directory, @@ -748,9 +767,11 @@ extern boolean usysdep_walk_tree P((const char *zdir, extern char *zsysdep_jobid P((const struct uuconf_system *qsys, pointer pseq)); -/* See whether the current user is permitted to kill jobs submitted by - another user. This should return TRUE if permission is granted, - FALSE otherwise. */ +/* See whether the current user is privileged. Privileged users are + permitted to kill jobs submitted by another user, and they are + permitted to use the -u argument to uucico; other uses of this call + may be added later. This should return TRUE if permission is + granted, FALSE otherwise. */ extern boolean fsysdep_privileged P((void)); /* Kill a job, given the jobid. This should remove all associated @@ -778,6 +799,11 @@ extern long ixsysdep_work_time P((const struct uuconf_system *qsys, value must use the same epoch as ixsysdep_time. */ extern long ixsysdep_file_time P((const char *zfile)); +/* Touch a file to make it appear as though it was created at the + current time. This is called by uustat on execution files. On + error this should log an error message and return FALSE. */ +extern boolean fsysdep_touch_file P((const char *zfile)); + /* Get the size in bytes of a file. If this file does not exist, this should not give an error message, but should return -1. If some other error occurs, this should return -2. */ @@ -942,7 +968,8 @@ extern boolean fsysdep_uupick_free P((const char *zsystem, zsysdep_local_file_cwd except that a file beginning with ~/ is placed in the user's home directory rather than in the public directory. */ -extern char *zsysdep_uupick_local_file P((const char *zfile)); +extern char *zsysdep_uupick_local_file P((const char *zfile, + boolean *pfbadname)); /* Remove a directory and all the files in it. */ extern boolean fsysdep_rmdir P((const char *zdir)); diff --git a/gnu/libexec/uucp/common_sources/tcp.c b/gnu/libexec/uucp/common_sources/tcp.c index c38760da85c4..6dee8c4311f0 100644 --- a/gnu/libexec/uucp/common_sources/tcp.c +++ b/gnu/libexec/uucp/common_sources/tcp.c @@ -1,7 +1,7 @@ /* tcp.c Code to handle TCP connections. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,13 +20,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #include "uucp.h" #if USE_RCS_ID -const char tcp_rcsid[] = "$Id: tcp.c,v 1.1 1993/08/04 19:31:06 jtc Exp $"; +const char tcp_rcsid[] = "$Id: tcp.c,v 1.2 1994/10/24 22:17:27 jtc Exp $"; #endif #if HAVE_TCP @@ -72,7 +72,6 @@ static boolean ftcp_close P((struct sconnection *qconn, pointer puuconf, struct uuconf_dialer *qdialer, boolean fsuccess)); -static boolean ftcp_reset P((struct sconnection *qconn)); static boolean ftcp_dial P((struct sconnection *qconn, pointer puuconf, const struct uuconf_system *qsys, const char *zphone, @@ -88,7 +87,6 @@ static const struct sconncmds stcpcmds = NULL, /* pfunlock */ ftcp_open, ftcp_close, - ftcp_reset, ftcp_dial, fsysdep_conn_read, fsysdep_conn_write, @@ -110,9 +108,11 @@ fsysdep_tcp_init (qconn) q = (struct ssysdep_conn *) xmalloc (sizeof (struct ssysdep_conn)); q->o = -1; + q->ord = -1; + q->owr = -1; q->zdevice = NULL; q->iflags = -1; - q->istdout_flags = -1; + q->iwr_flags = -1; q->fterminal = FALSE; q->ftli = FALSE; q->ibaud = 0; @@ -175,6 +175,10 @@ ftcp_open (qconn, ibaud, fwait) return FALSE; } + /* We save our process ID in the qconn structure. This is checked + in ftcp_close. */ + qsysdep->ipid = getpid (); + /* If we aren't waiting for a connection, we're done. */ if (! fwait) return TRUE; @@ -347,23 +351,16 @@ ftcp_close (qconn, puuconf, qdialer, fsuccess) fret = FALSE; } qsysdep->o = -1; - return fret; -} - -/* Reset the port. This will be called by a child which was forked - off in ftcp_open, above. We don't want uucico to continue looping - and giving login prompts, so we pretend that we received a SIGINT - signal. This should probably be handled more cleanly. The signal - will not be recorded in the log file because we don't set - afLog_signal[INDEXSIG_SIGINT]. */ -/*ARGSUSED*/ -static boolean -ftcp_reset (qconn) - struct sconnection *qconn; -{ - afSignal[INDEXSIG_SIGINT] = TRUE; - return TRUE; + /* If the current pid is not the one we used to open the port, then + we must have forked up above and we are now the child. In this + case, we are being called from within the fendless loop in + uucico.c. We return FALSE to force the loop to end and the child + to exit. This should be handled in a cleaner fashion. */ + if (qsysdep->ipid != getpid ()) + fret = FALSE; + + return fret; } /* Dial out on a TCP port, so to speak: connect to a remote computer. */ @@ -383,6 +380,7 @@ ftcp_dial (qconn, puuconf, qsys, zphone, qdialer, ptdialer) struct hostent *q; struct sockaddr_in s; const char *zport; + char **pzdialer; qsysdep = (struct ssysdep_conn *) qconn->psysdep; @@ -411,9 +409,9 @@ ftcp_dial (qconn, puuconf, qsys, zphone, qdialer, ptdialer) } s.sin_family = q->h_addrtype; + memcpy (&s.sin_addr.s_addr, q->h_addr, (size_t) q->h_length); zport = qconn->qport->uuconf_u.uuconf_stcp.uuconf_zport; s.sin_port = itcp_port_number (zport); - memcpy (&s.sin_addr.s_addr, q->h_addr, (size_t) q->h_length); if (connect (qsysdep->o, (struct sockaddr *) &s, sizeof s) < 0) { @@ -421,6 +419,15 @@ ftcp_dial (qconn, puuconf, qsys, zphone, qdialer, ptdialer) return FALSE; } + /* Handle the dialer sequence, if any. */ + pzdialer = qconn->qport->uuconf_u.uuconf_stcp.uuconf_pzdialer; + if (pzdialer != NULL && *pzdialer != NULL) + { + if (! fconn_dial_sequence (qconn, puuconf, pzdialer, qsys, zphone, + qdialer, ptdialer)) + return FALSE; + } + return TRUE; } diff --git a/gnu/libexec/uucp/common_sources/tli.c b/gnu/libexec/uucp/common_sources/tli.c index 6958b80b470e..5588ff5abf30 100644 --- a/gnu/libexec/uucp/common_sources/tli.c +++ b/gnu/libexec/uucp/common_sources/tli.c @@ -1,7 +1,7 @@ /* tli.c Code to handle TLI connections. - Copyright (C) 1992 Ian Lance Taylor + Copyright (C) 1992, 1993, 1994 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,13 +20,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #include "uucp.h" #if USE_RCS_ID -const char tli_rcsid[] = "$Id: tli.c,v 1.1 1993/08/04 19:31:09 jtc Exp $"; +const char tli_rcsid[] = "$Id: tli.c,v 1.2 1994/10/24 22:17:29 jtc Exp $"; #endif #if HAVE_TLI @@ -92,9 +92,11 @@ extern int t_errno; extern char *t_errlist[]; extern int t_nerr; +#ifndef HAVE_TIUSER_H #ifndef t_alloc extern pointer t_alloc (); #endif +#endif /* This code handles TLI connections. It's Unix specific. It's largely based on code from Unix Network Programming, by W. Richard @@ -110,7 +112,6 @@ static boolean ftli_close P((struct sconnection *qconn, pointer puuconf, struct uuconf_dialer *qdialer, boolean fsuccess)); -static boolean ftli_reset P((struct sconnection *qconn)); static boolean ftli_dial P((struct sconnection *qconn, pointer puuconf, const struct uuconf_system *qsys, const char *zphone, @@ -125,7 +126,6 @@ static const struct sconncmds stlicmds = NULL, /* pfunlock */ ftli_open, ftli_close, - ftli_reset, ftli_dial, fsysdep_conn_read, fsysdep_conn_write, @@ -149,7 +149,8 @@ ztlierror () return t_errlist[t_errno]; } -/* Initialize a TLI connection. */ +/* Initialize a TLI connection. This may be called with qconn->qport + NULL, when opening standard input as a TLI connection. */ boolean fsysdep_tli_init (qconn) @@ -159,9 +160,11 @@ fsysdep_tli_init (qconn) q = (struct ssysdep_conn *) xmalloc (sizeof (struct ssysdep_conn)); q->o = -1; + q->ord = -1; + q->owr = -1; q->zdevice = NULL; q->iflags = -1; - q->istdout_flags = -1; + q->iwr_flags = -1; q->fterminal = FALSE; q->ftli = TRUE; q->ibaud = 0; @@ -295,6 +298,10 @@ ftli_open (qconn, ibaud, fwait) return FALSE; } + /* We save our process ID in the qconn structure. This is checked + in ftli_close. */ + qsysdep->ipid = getpid (); + /* If we aren't waiting for a connection, we can bind to any local address, and then we're finished. */ if (! fwait) @@ -463,23 +470,15 @@ ftli_close (qconn, puuconf, qdialer, fsuccess) qsysdep->o = -1; } - return fret; -} - -/* Reset the port. This will be called by a child which was forked - off in ftli_open, above. We don't want uucico to continue looping - and giving login prompts, so we pretend that we received a SIGINT - signal. This should probably be handled more cleanly. The signal - will not be recorded in the log file because we don't set - afLog_signal[INDEXSIG_SIGINT]. */ + /* If the current pid is not the one we used to open the port, then + we must have forked up above and we are now the child. In this + case, we are being called from within the fendless loop in + uucico.c. We return FALSE to force the loop to end and the child + to exit. This should be handled in a cleaner fashion. */ + if (qsysdep->ipid != getpid ()) + fret = FALSE; -/*ARGSUSED*/ -static boolean -ftli_reset (qconn) - struct sconnection *qconn; -{ - afSignal[INDEXSIG_SIGINT] = TRUE; - return TRUE; + return fret; } /* Dial out on a TLI port, so to speak: connect to a remote computer. */ @@ -569,73 +568,12 @@ ftli_dial (qconn, puuconf, qsys, zphone, qdialer, ptdialerfound) if (! ftli_push (qconn)) return FALSE; - /* Handle the rest of the dialer sequence. This is similar to - fmodem_dial, and they should, perhaps, be combined somehow. */ - if (pzdialer != NULL) + /* Handle the rest of the dialer sequence. */ + if (pzdialer != NULL && *pzdialer != NULL) { - boolean ffirst; - - ffirst = TRUE; - while (*pzdialer != NULL) - { - int iuuconf; - struct uuconf_dialer *q; - struct uuconf_dialer s; - const char *ztoken; - boolean ftranslate; - - if (! ffirst) - q = &s; - else - q = qdialer; - - iuuconf = uuconf_dialer_info (puuconf, *pzdialer, q); - if (iuuconf == UUCONF_NOT_FOUND) - { - ulog (LOG_ERROR, "%s: Dialer not found", *pzdialer); - return FALSE; - } - else if (iuuconf != UUCONF_SUCCESS) - { - ulog_uuconf (LOG_ERROR, puuconf, iuuconf); - return FALSE; - } - - ++pzdialer; - ztoken = *pzdialer; - - ftranslate = FALSE; - if (ztoken == NULL - || strcmp (ztoken, "\\D") == 0) - ztoken = zphone; - else if (strcmp (ztoken, "\\T") == 0) - { - ztoken = zphone; - ftranslate = TRUE; - } - - if (! fchat (qconn, puuconf, &q->uuconf_schat, - (const struct uuconf_system *) NULL, q, - zphone, ftranslate, qconn->qport->uuconf_zname, - (long) 0)) - { - (void) uuconf_dialer_free (puuconf, q); - if (! ffirst) - (void) uuconf_dialer_free (puuconf, qdialer); - return FALSE; - } - - if (ffirst) - { - *ptdialerfound = DIALERFOUND_FREE; - ffirst = FALSE; - } - else - (void) uuconf_dialer_free (puuconf, q); - - if (*pzdialer != NULL) - ++pzdialer; - } + if (! fconn_dial_sequence (qconn, puuconf, pzdialer, qsys, zphone, + qdialer, ptdialerfound)) + return FALSE; } return TRUE; diff --git a/gnu/libexec/uucp/common_sources/trans.h b/gnu/libexec/uucp/common_sources/trans.h index 79c380ea48d8..93aee2e9ac8f 100644 --- a/gnu/libexec/uucp/common_sources/trans.h +++ b/gnu/libexec/uucp/common_sources/trans.h @@ -1,7 +1,7 @@ /* trans.h Header file for file and command transfer routines. - Copyright (C) 1992 Ian Lance Taylor + Copyright (C) 1992, 1993, 1994 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,7 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ /* The maximum possible number of channels. */ @@ -56,6 +56,10 @@ struct sdaemon { /* Global uuconf pointer. */ pointer puuconf; + /* Configuration file name argument (from -I option). */ + const char *zconfig; + /* How often to spawn uuxqt (from uuconf_runuuxqt). */ + int irunuuxqt; /* Remote system information. */ const struct uuconf_system *qsys; /* Local name being used. */ @@ -64,6 +68,8 @@ struct sdaemon struct sconnection *qconn; /* Protocol being used. */ const struct sprotocol *qproto; + /* Number of channels being used. */ + int cchans; /* The largest file size permitted for a local request. */ long clocal_size; /* The largest file size permitted for a remote request. */ @@ -72,6 +78,13 @@ struct sdaemon long cmax_ever; /* The remote system ulimit. */ long cmax_receive; + /* Number of bytes sent. */ + long csent; + /* Number of bytes received. */ + long creceived; + /* Number of execution files received since the last time we spawned + uuxqt. */ + long cxfiles_received; /* Features supported by the remote side. */ int ifeatures; /* TRUE if we should request the remote side to hang up. */ @@ -266,3 +279,10 @@ extern void usent_receive_ack P((struct sdaemon *qdaemon, lost. */ extern void uwindow_acked P((struct sdaemon *qdaemon, boolean fallacked)); + +/* Spawn a uuxqt process. The ffork argument is passed to + fsysdep_run. If the zsys argument is not NULL, then -s zsys is + passed to uuxqt. The zconfig argument is the name of the + configuration file, from the -I option. */ +extern boolean fspawn_uuxqt P((boolean ffork, const char *zsys, + const char *zconfig)); diff --git a/gnu/libexec/uucp/common_sources/util.c b/gnu/libexec/uucp/common_sources/util.c index 2ddc2608ddc3..8606cae70773 100644 --- a/gnu/libexec/uucp/common_sources/util.c +++ b/gnu/libexec/uucp/common_sources/util.c @@ -1,7 +1,7 @@ /* util.c A couple of UUCP utility functions. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,13 +20,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #include "uucp.h" #if USE_RCS_ID -const char util_rcsid[] = "$Id: util.c,v 1.1 1993/08/04 19:31:13 jtc Exp $"; +const char util_rcsid[] = "$Id: util.c,v 1.2 1994/10/24 22:17:31 jtc Exp $"; #endif #include @@ -95,6 +95,46 @@ funknown_system (puuconf, zsystem, qsys) return TRUE; } +/* Remove all occurrences of the local system name followed by an + exclamation point from the front of a string, returning the new + string. This is used by uucp and uux. */ + +char * +zremove_local_sys (qlocalsys, z) + struct uuconf_system *qlocalsys; + char *z; +{ + size_t clen; + char *zexclam; + + clen = strlen (qlocalsys->uuconf_zname); + zexclam = strchr (z, '!'); + while (zexclam != NULL) + { + if (z == zexclam + || (zexclam - z == clen + && strncmp (z, qlocalsys->uuconf_zname, clen) == 0)) + ; + else if (qlocalsys->uuconf_pzalias == NULL) + break; + else + { + char **pzal; + + for (pzal = qlocalsys->uuconf_pzalias; *pzal != NULL; pzal++) + if (strlen (*pzal) == zexclam - z + && strncmp (z, *pzal, (size_t) (zexclam - z)) == 0) + break; + if (*pzal == NULL) + break; + } + z = zexclam + 1; + zexclam = strchr (z, '!'); + } + + return z; +} + /* See whether a file is in a directory list, and make sure the user has appropriate access. */ @@ -118,7 +158,7 @@ fin_directory_list (zfile, pzdirs, zpubdir, fcheck, freadable, zuser) if (pz[0][0] == '!') { - zuse = zsysdep_local_file (*pz + 1, zpubdir); + zuse = zsysdep_local_file (*pz + 1, zpubdir, (boolean *) NULL); if (zuse == NULL) return FALSE; @@ -128,7 +168,7 @@ fin_directory_list (zfile, pzdirs, zpubdir, fcheck, freadable, zuser) } else { - zuse = zsysdep_local_file (*pz, zpubdir); + zuse = zsysdep_local_file (*pz, zpubdir, (boolean *) NULL); if (zuse == NULL) return FALSE; diff --git a/gnu/libexec/uucp/common_sources/uuconf.h b/gnu/libexec/uucp/common_sources/uuconf.h index 4bf6bccbf3f2..1710568d499a 100644 --- a/gnu/libexec/uucp/common_sources/uuconf.h +++ b/gnu/libexec/uucp/common_sources/uuconf.h @@ -1,7 +1,7 @@ /* uuconf.h Header file for UUCP configuration routines. - Copyright (C) 1992 Ian Lance Taylor + Copyright (C) 1992, 1993, 1994 Ian Lance Taylor This file is part of the Taylor UUCP uuconf library. @@ -26,7 +26,7 @@ informative, and does not modify the License in any way). The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #ifndef UUCONF_H @@ -348,7 +348,9 @@ enum uuconf_porttype /* A TCP port. Not supported on all systems. */ UUCONF_PORTTYPE_TCP, /* A TLI port. Not supported on all systems. */ - UUCONF_PORTTYPE_TLI + UUCONF_PORTTYPE_TLI, + /* A pipe port. Not supported on all systems. */ + UUCONF_PORTTYPE_PIPE }; /* Additional information for a stdin port (there is none). */ @@ -377,6 +379,8 @@ struct uuconf_modem_port long uuconf_ihighbaud; /* Non-zero if the port supports carrier detect. */ int uuconf_fcarrier; + /* Non-zero if the port supports hardware flow control. */ + int uuconf_fhardflow; /* A NULL terminated sequence of dialer/token pairs (element 0 is a dialer name, element 1 is a token, etc.) May be NULL, in which case qdialer should not be NULL. */ @@ -394,6 +398,10 @@ struct uuconf_direct_port char *uuconf_zdevice; /* The baud rate (speed). */ long uuconf_ibaud; + /* Non-zero if the port uses carrier detect. */ + int uuconf_fcarrier; + /* Non-zero if the port supports hardware flow control. */ + int uuconf_fhardflow; }; /* Additional information for a TCP port. */ @@ -403,6 +411,9 @@ struct uuconf_tcp_port /* The TCP port number to use. May be a name or a number. May be NULL, in which case "uucp" is looked up using getservbyname. */ char *uuconf_zport; + /* A NULL terminated sequence of dialer/token pairs (element 0 is a + dialer name, element 1 is a token, etc.) May be NULL. */ + char **uuconf_pzdialer; }; /* Additional information for a TLI port. */ @@ -431,6 +442,14 @@ struct uuconf_tli_port char *uuconf_zservaddr; }; +/* Additional information for a pipe port. */ + +struct uuconf_pipe_port +{ + /* The command and its arguments. */ + char **uuconf_pzcmd; +}; + /* Information kept for a port. */ struct uuconf_port @@ -460,6 +479,7 @@ struct uuconf_port struct uuconf_direct_port uuconf_sdirect; struct uuconf_tcp_port uuconf_stcp; struct uuconf_tli_port uuconf_stli; + struct uuconf_pipe_port uuconf_spipe; } uuconf_u; }; @@ -545,6 +565,13 @@ struct uuconf_dialer be b1 - b2. */ #define UUCONF_GRADE_CMP(b1, b2) (uuconf_grade_cmp ((b1), (b2))) +/* uuconf_runuuxqt returns either a positive number (the number of + execution files to receive between uuxqt invocations) or one of + these constant values. */ +#define UUCONF_RUNUUXQT_NEVER (0) +#define UUCONF_RUNUUXQT_ONCE (-1) +#define UUCONF_RUNUUXQT_PERCALL (-2) + /* Most of the uuconf functions returns an error code. A value of zero (UUCONF_SUCCESS) indicates success. */ @@ -849,15 +876,29 @@ extern int uuconf_debuglevel (void *uuconf_pglobal, extern int uuconf_maxuuxqts (void *uuconf_pglobal, int *uuconf_pcmaxuuxqt); +/* Get the frequency with which to spawn a uuxqt process. This + returns an integer. A positive number is the number of execution + files that should be received between spawns. Other values are one + of the UUCONF_RUNUUXQT constants listed above. */ +extern int uuconf_runuuxqt (void *uuconf_pglobal, + int *uuconf_pirunuuxqt); + /* Check a login name and password. This checks the Taylor UUCP password file (not /etc/passwd). It will work even if - uuconf_taylor_init was not called. If the login name exists and - the password is correct, this returns UUCONF_SUCCESS. If the login - does not exist, or the password is wrong, this returns - UUCONF_NOT_FOUND. Other errors are also possible. */ + uuconf_taylor_init was not called. All comparisons are done via a + callback function. The first argument to the function will be zero + when comparing login names, non-zero when comparing passwords. The + second argument to the function will be the pinfo argument passed + to uuconf_callin. The third argument will be the login name or + password from the UUCP password file. The comparison function + should return non-zero for a match, or zero for a non-match. If + the login name is found and the password compares correctly, + uuconf_callin will return UUCONF_SUCCESS. If the login is not + found, or the password does not compare correctly, uuconf_callin + will return UUCONF_NOT_FOUND. Other errors are also possible. */ extern int uuconf_callin (void *uuconf_pglobal, - const char *uuconf_zlogin, - const char *uuconf_zpassword); + int (*uuconf_cmp) (int, void *, const char *), + void *uuconf_pinfo); /* Get the callout login name and password for a system. This will set both *pzlog and *pzpass to a string allocated by malloc, or to @@ -922,6 +963,7 @@ extern int uuconf_statsfile (); extern int uuconf_debugfile (); extern int uuconf_debuglevel (); extern int uuconf_maxuuxqts (); +extern int uuconf_runuuxqt (); extern int uuconf_callin (); extern int uuconf_callout (); extern int uuconf_remote_unknown (); diff --git a/gnu/libexec/uucp/common_sources/uucp.h b/gnu/libexec/uucp/common_sources/uucp.h index 1a4f696ccd54..51316f3d33d5 100644 --- a/gnu/libexec/uucp/common_sources/uucp.h +++ b/gnu/libexec/uucp/common_sources/uucp.h @@ -1,7 +1,7 @@ /* uucp.h Header file for the UUCP package. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993, 1994 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,11 +20,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ /* Get the system configuration parameters. */ -#include "conf.h" +#include "config.h" #include "policy.h" /* Get a definition for ANSI_C if we weren't given one. */ @@ -41,11 +41,11 @@ /* We always include some standard header files. We need to define sig_atomic_t. */ +#include +#include #if HAVE_STDDEF_H #include #endif -#include -#include /* On some systems we need to get sig_atomic_t or size_t or time_t. */ @@ -103,21 +103,24 @@ typedef long time_t; constpointer -- for a generic pointer to constant data. BUCHAR -- to convert a character to unsigned. */ #if ANSI_C -#if ! HAVE_VOID || ! HAVE_UNSIGNED_CHAR - #error ANSI C compiler without void or unsigned char +#if ! HAVE_VOID || ! HAVE_UNSIGNED_CHAR || ! HAVE_PROTOTYPES + #error ANSI C compiler without void or unsigned char or prototypes #endif #define P(x) x typedef void *pointer; typedef const void *constpointer; #define BUCHAR(b) ((unsigned char) (b)) #else /* ! ANSI_C */ -/* Handle uses of const, volatile and void in Classic C. */ -#define const +/* Handle uses of volatile and void in Classic C. */ #define volatile #if ! HAVE_VOID #define void int #endif +#if HAVE_PROTOTYPES +#define P(x) x +#else #define P(x) () +#endif typedef char *pointer; typedef const char *constpointer; #if HAVE_UNSIGNED_CHAR @@ -169,6 +172,7 @@ extern pointer memcpy (), memchr (); #else /* ! HAVE_STDLIB_H */ extern pointer malloc (), realloc (), bsearch (); extern long strtol (); +extern unsigned long strtoul (); extern char *getenv (); #endif /* ! HAVE_STDLIB_H */ @@ -225,6 +229,11 @@ typedef FILE *openfile_t; #define ffileseek(e, i) (fseek ((e), (long) (i), 0) == 0) #define ffilerewind(e) (fseek ((e), (long) 0, 0) == 0) #endif +#ifdef SEEK_END +#define ffileseekend(e) (fseek ((e), (long) 0, SEEK_END) == 0) +#else +#define ffileseekend(e) (fseek ((e), (long) 0, 2) == 0) +#endif #define ffileclose(e) (fclose (e) == 0) #else /* ! USE_STDIO */ @@ -247,6 +256,11 @@ typedef int openfile_t; #define ffileseek(e, i) (lseek ((e), (off_t) i, 0) >= 0) #define ffilerewind(e) (lseek ((e), (off_t) 0, 0) >= 0) #endif +#ifdef SEEK_END +#define ffileseekend(e) (lseek ((e), (off_t) 0, SEEK_END) >= 0) +#else +#define ffileseekend(e) (lseek ((e), (off_t) 0, 2) >= 0) +#endif #define ffileclose(e) (close (e) >= 0) #endif /* ! USE_STDIO */ @@ -359,6 +373,11 @@ extern char *strrchr P((const char *z, int b)); extern long strtol P((const char *, char **, int)); #endif +/* Turn a string into a long unsigned integer. */ +#if ! HAVE_STRTOUL +extern unsigned long strtoul P((const char *, char **, int)); +#endif + /* Lookup a key in a sorted array. */ #if ! HAVE_BSEARCH extern pointer bsearch P((constpointer pkey, constpointer parray, diff --git a/gnu/libexec/uucp/common_sources/uudefs.h b/gnu/libexec/uucp/common_sources/uudefs.h index 47d2c89896ef..f957ee636c16 100644 --- a/gnu/libexec/uucp/common_sources/uudefs.h +++ b/gnu/libexec/uucp/common_sources/uudefs.h @@ -1,7 +1,7 @@ /* uudefs.h Miscellaneous definitions for the UUCP package. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,7 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #if ANSI_C @@ -106,8 +106,8 @@ struct scmd simple execution, 'H' for hangup, 'Y' for hangup confirm, 'N' for hangup deny). */ char bcmd; - /* At least one compiler needs an explicit padding byte here. */ - char bdummy; + /* Grade of the command ('\0' if from remote system). */ + char bgrade; /* Sequence handle for fsysdep_did_work. */ pointer pseq; /* File name to transfer from. */ @@ -237,6 +237,12 @@ extern boolean fspool_file P((const char *zfile)); extern boolean ftimespan_match P((const struct uuconf_timespan *qspan, long *pival, int *pcretry)); +/* Remove all occurrences of the local system name followed by an + exclamation point from the start of the argument. Return the + possibly shortened argument. */ +extern char *zremove_local_sys P((struct uuconf_system *qlocalsys, + char *z)); + /* Determine the maximum size that may ever be transferred, given a timesize span. If there are any time gaps larger than 1 hour not described by the timesize span, this returns -1. Otherwise it @@ -375,9 +381,8 @@ extern void xfree P((pointer)); /* Global variables. */ -/* The name of the program being run. This is statically initialized, - although it should perhaps be set from argv[0]. */ -extern char abProgram[]; +/* The name of the program being run. Set from argv[0]. */ +extern const char *zProgram; /* When a signal occurs, the signal handlers sets the appropriate element of the arrays afSignal and afLog_signal to TRUE. The @@ -427,12 +432,6 @@ extern boolean fLog_sighup; (afSignal[INDEXSIG_SIGHUP] || afSignal[INDEXSIG_SIGQUIT] \ || afSignal[INDEXSIG_SIGTERM] || afSignal[INDEXSIG_SIGPIPE]) -/* File being sent. */ -extern openfile_t eSendfile; - -/* File being received. */ -extern openfile_t eRecfile; - /* Device name to log. This is set by fconn_open. It may be NULL. */ extern char *zLdevice; diff --git a/gnu/libexec/uucp/tstuu.c b/gnu/libexec/uucp/tstuu.c index d30549907da3..ecefc425f794 100644 --- a/gnu/libexec/uucp/tstuu.c +++ b/gnu/libexec/uucp/tstuu.c @@ -1,7 +1,7 @@ /* tstuu.c Test the uucp package on a UNIX system. - Copyright (C) 1991, 1992 Ian Lance Taylor + Copyright (C) 1991, 1992, 1993, 1994 Ian Lance Taylor This file is part of the Taylor UUCP package. @@ -20,13 +20,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author of the program may be contacted at ian@airs.com or - c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. + c/o Cygnus Support, Building 200, 1 Kendall Square, Cambridge, MA 02139. */ #include "uucp.h" #if USE_RCS_ID -const char tstuu_rcsid[] = "$Id: tstuu.c,v 1.2 1993/08/04 19:29:58 jtc Exp $"; +const char tstuu_rcsid[] = "$Id: tstuu.c,v 1.3 1994/10/24 22:16:22 jtc Exp $"; #endif #include "sysdep.h" @@ -46,7 +46,9 @@ const char tstuu_rcsid[] = "$Id: tstuu.c,v 1.2 1993/08/04 19:29:58 jtc Exp $"; #endif #if HAVE_SELECT +#if HAVE_SYS_TIME_H #include +#endif #if HAVE_SYS_SELECT_H #include #endif @@ -75,9 +77,11 @@ const char tstuu_rcsid[] = "$Id: tstuu.c,v 1.2 1993/08/04 19:29:58 jtc Exp $"; #define O_RDWR 2 #endif -#if HAVE_TIME_H && (HAVE_SYS_TIME_AND_TIME_H || ! HAVE_SELECT) +#if HAVE_TIME_H +#if ! HAVE_SYS_TIME_H || ! HAVE_SELECT || TIME_WITH_SYS_TIME #include #endif +#endif #if HAVE_SYS_WAIT_H #include @@ -264,7 +268,7 @@ main (argc, argv) break; default: fprintf (stderr, - "Taylor UUCP version %s, copyright (C) 1991, 1992 Ian Lance Taylor\n", + "Taylor UUCP %s, copyright (C) 1991, 1992, 1993, 1994 Ian Lance Taylor\n", VERSION); fprintf (stderr, "Usage: tstuu [-xn] [-t #] [-u] [-1 cmd] [-2 cmd]\n"); @@ -501,6 +505,9 @@ main (argc, argv) if (close (oslave1) < 0) perror ("close"); + /* This is said to improve the tests on Linux. */ + sleep (3); + if (zDebug != NULL) fprintf (stderr, "About to exec first process\n"); @@ -538,6 +545,9 @@ main (argc, argv) if (close (oslave2) < 0) perror ("close"); + /* This is said to improve the tests on Linux. */ + sleep (5); + if (zDebug != NULL) fprintf (stderr, "About to exec second process\n"); @@ -959,14 +969,13 @@ uprepare_test (fmake, itest, fcall_uucico, zsys) fprintf (e, "port stdin\n"); fprintf (e, "type stdin\n"); - fprintf (e, "pty true\n"); xfclose (e); e = xfopen ("/usr/tmp/tstuu/Call1", "w"); fprintf (e, "Call out password file\n"); - fprintf (e, "%s test1 pass1\n", zsys); + fprintf (e, "%s test1 pass\\s1\n", zsys); xfclose (e); @@ -1035,7 +1044,7 @@ uprepare_test (fmake, itest, fcall_uucico, zsys) e = xfopen ("/usr/tmp/tstuu/Pass2", "w"); fprintf (e, "# Call in password file\n"); - fprintf (e, "test1 pass1\n"); + fprintf (e, "test1 pass\\s1\n"); xfclose (e); }