NetBSD/gnu/libexec/uucp/ChangeLog

1646 lines
63 KiB
Plaintext

Tue Apr 7 01:02:17 1992 Ian Lance Taylor (ian@comton.airs.com)
* Released version 1.03.
Mon Apr 6 15:49:08 1992 Ian Lance Taylor (ian@comton.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)
* sys2.unx: Petri Helenius: only clear known bits in termio or
termios structure; didn't change HAVE_BSD_TTY handling--maybe next
version.
* configure.in: test TIMES_DECLARATION_OK correctly.
* Makefile.in: update version to 1.03, remove distclean, add
mostlyclean per GNU standards.
* sys1.unx, chat.c: minor cleanups for gcc 2.1.
Thu Apr 2 17:51:36 1992 Ian Lance Taylor (ian@comton.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)
* sys3.unx (esysdep_open_receive): David J. MacKenzie: some
USG_STATFS systems use 512 as the block size of f_bfree, despite
the existence of f_bsize.
* port.c (fport_open): initialize stdin port.
* policy.h, log.c: added CLOSE_LOGFILES configuration parameter.
* sys2.unx: T. William Wells: handle a system without <poll.h> or
<stropts.h>.
* configure.in: Franc,ois Pinard: warn if none of napms, nap,
usleep, poll or select are available, since \p will sleep for a
full second.
* Makefile.in: Gerben Wierda: fixed uninstall to set file owner
and mode correctly. Also changed install to handle uucp.info-4
and uustat.1.
* MANIFEST: added uucp.info-4 and uustat.1.
* uustat.1: Wrote.
* 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)
* sys1.unx (usysdep_initialize): use $PWD to get the current
working directory if it's defined and correct.
* sys1.unx (usysdep_initialize): Brian Antoine: use name from
getpwname rather than getlogin.
* uucp.texi: David J. MacKenzie: put in a number of corrections.
Also split sys file and config file nodes, and rearranged several
nodes.
* 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)
* tcp.c (ftcp_reset): Petri Helenius: TCP server never started
uuxqt, because it exited in ftcp_reset.
* policy.h, sysh.unx, sys2.unx (fsserial_lockfile): added
HAVE_SVR4_LOCKFILES configuration parameter.
* 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)
* uucp.h, sysinf.c, prot.c, prote.c, protf.c, protg.c, prott.c:
Niels Baggesen: added new debugging types abnormal and uucp-proto.
* uucico.c (fuucp), prot.c (freceive_file), file.c
(fstore_recfile): Dirk Musstopf: if a file receive fails before it
starts, perhaps because the file was too large, remember to remove
the temporary file.
* sys2.unx (fsserial_lock, fsserial_open, fsserial_write,
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)
* uustat.c: allow multiple systems and users to be specified at
once; likewise for kills and rejuvenates. Allow old and young to
be combined with systems and users. As suggested by Niels
Baggesen, make machine status output more columnar.
* uucp.h, uucico.c, config.c, sys3.unx: Michael I Bushnell:
renamed enum tstatus to tstatus_type to avoid conflict with
<sys/ioctl.h> on some systems.
* config.c, sysinf.c, prtinf.c, chat.c: David J. MacKenzie: allow
backslash newline quoting in all TAYLOR_CONFIG configuration
files.
* chat.c (fchat): David J. MacKenzie: handle empty subexpect
strings correctly.
* uucico.c (main, fcall): Petri Helenius: must dump controlling
terminal before going to next alternate. Also fixed David J.
MacKenzie bug in which a signal did not prevent the next
alternates from being tried. Also made sure qtime was always
freed up.
* uucp.h, uucico.c (fdo_call), sysinf.c (tialternate), uuchk.c
(ukshow): Franc,ois Pinard: allow a name to be given to an
alternate, and display the name when placing a call.
* chat.c (fcprogram), port.c (fport_open, fport_close): David J.
MacKenzie: send port device rather than port name to a chat
program using \Y; make sure port device is reset if port open
fails and when port is closed.
* 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)
* uucico.c (fdo_call): Mark Mallett: minor cleanup.
* uuname.c (main): Franc,ois Pinard: output aliases, added -a
switch.
* uucico.8, uuxqt.8, uux.1, uucp.1: David J. MacKenzie: changed
.TP5 to .TP 5; also updated to 1.03.
* tstuu.c: Roberto Biancardi: if SIGCHLD is not defined, define it
as SIGCLD.
* config.c: David J. MacKenzie: cMaxuuxqts is independent of
HAVE_TAYLOR_CONFIG.
* uucp.h: Gerben Wierda: don't always declare bzero.
* sys7.unx (ussettime, fsysdep_lock_status): Niels Baggesen,
Gerben Wierda: minor patches.
* sys2.unx: Gerben Wierda: minor cleanups.
* uucp.h: Niels Baggesen: simplified debugging message macros to
avoid broken compilers.
* sys2.unx: don't use TIOCEXCL locking.
* sys2.unx: rework HAVE_UNBLOCKED_WRITES == 0 to work even if
writes are unblocked. Correct initialization of fwrite_blocking.
* 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.
* policy.h: David J. MacKenzie: various cleanups.
Thu Mar 26 12:17:41 1992 Ian Lance Taylor (ian@comton.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)
* 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)
* 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)
* config.c (tprocess_one_cmd): handle CMDTABTYPE_FULLSTRING
correctly if there are no arguments.
* Released beta version 1.03
* 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)
* uucico.c (fdo_call, faccept_call): T. William Wells: set current
time in status file when call completes.
* sys1.unx (iswait), sys2.unx (fsserial_read, fsserial_write,
fsserial_io): log signals when they occur, even if we continue
some sort of loop, rather than waiting for the next ulog call.
* 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)
* system.h, uuxqt.c (uqdo_xqt_file), sys5.unx (fsysdep_execute):
pass command to fsysdep_execute as first element of argument
array.
* tcp.c: declare _exit.
* uucp.h: move definition of const before use for non ANSI C.
* uucp.h, sys1.unx: undefine remove in uucp.h if the system does
not have it to avoid conflict with macro definitions.
* uucico.c, uuxqt.c, protf.c, prott.c, prote.c, config.c, chat.c,
port.c, sys2.unx: miscellaneous cleanups.
* tcp.c (ftcp_open): cast argument to bzero.
* time.c (qtimegrade_parse): cast argument to qttime_parse to
long.
* file.c: changed iRecmode to unsigned int.
* configure.in, uucp.h: on SCO 3.2.2 sig_atomic_t is defined in
<sys/types.h> but not <signal.h>.
* sys1.unx: undefined remove before the function definition to
avoid trouble on systems for which it is a macro.
* Makefile.in: removed dependencies of getopt.o.
* sys1.unx, sys7.unx, tstuu.c: adjusted external declarations.
* getopt.h, getopt.c: get new versions from glibc 1.01.
* sys1.unx: don't declare sigemptyset.
* version.c: updated to beta 1.03.
* chat.c (fcsend): Scott Ballantyne: go ahead and send a character
for an illegal escape sequence rather than failing out.
* uuxqt.c (uqdo_xqt_file), sys5.unx (zsysdep_find_command): cast
result of alloca.
* protg.c (fgprocess_data): Niels Baggesen: improved debugging
information. Also tweaked fgprocess_data code to use memchr to
find the next DLE rather than searching for it by hand.
* uucico.c (faccept_call, fuucp): accept SVR4 -U flag giving
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)
* sysinf.c (titime, titimegrade): permit a retry time to be
specified as an optional additional argument.
* uucico.c (zget_uucp_cmd, zget_typed_line): turn off DEBUG_PORT
when doing DEBUG_HANDSHAKE.
* policy.h, sysh.unx, sys1.unx, sys2.unx (fsblock_writes,
fsserial_write, fsserial_io): added configuration parameters
HAVE_UNBLOCKED_WRITES and SINGLE_WRITE. Also blocked signals
while clearing afSignal in fsysdep_modem_close.
* chat.c (icexpect, fcsend): turn off DEBUG_PORT while doing chat
script debugging.
* sysh.unx, sys2.unx (fsserial_lock, fsserial_open,
fsserial_write, fsserial_io, fsysdep_tcp_read, fsysdep_tcp_write,
fsysdep_tcp_io): T. William Wells: some systems don't support
unblocked writes, so don't use them.
* port.c (fport_read, fport_write): show calls to fport_read and
fport_write under DEBUG_PORT.
* 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)
* 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
(ftcp_open), log.c (ulog, ulog_close), sys1.unx (ussignal),
sys2.unx (fsserial_close, fsysdep_modem_end_dial, fsserial_read,
fsserial_write, fsserial_io, fsysdep_tcp_read, fsysdep_tcp_write,
fsysdep_tcp_io): T. William Wells and Chip Salzenberg: keep an
array of signals so that a new signal doesn't obliterate our
knowledge of an old signal. Johan Vromans: if we get SIGINT
continue the current session but don't start any new ones.
* sysh.unx, sys1.unx (isspawn, espopen, iswait, fsysdep_mail,
fsysdep_run, getcwd, mkdir), sys2.unx (fsrun_chat), sys3.unx
(fsysdep_wildcard_start), sys5.unx (fsysdep_execute), sys7.unx
(fsysdep_lock_status), uuxqt.c (uqdo_xqt_file), tcp.c (ftcp_open),
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)
* sysinf.c (uset_system_defaults): Chip Salzenberg: changed
default login script timeout to 10 seconds.
* prot.h, prot.c (freceive_data, breceive_char), protg.c, protf.c,
prott.c, prote.c: changed breceive_char to go through
freceive_data rather than calling fport_read directly. Added an
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)
* uucp.h: added a padding byte to scmd structure, since at least
one compiler needs it.
* uucp.c (main): use fake local name (from ``myname'' command)
when generating an execution request intended for the local
system.
* sysh.unx: corrected readdir prototype.
* sys2.unx: moved local header files ahead of sleep routine
determination.
* General overhaul to change debugging system. Debugging is now
done by type rather than by number. iDebug is now interpreted as
a bit sequence. DEBUG may only be 0 (no checks or debugging), 1
(checks, no debugging) or 2 (checks and debugging). The debugging
names are parsed by idebug_parse and tidebug_parse in config.c.
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)
* policy.h, uuxqt.c (uqdo_xqt_file): Chip Salzenberg: support
Internet mail addresses in uuxqt replies (added configuration
parameter HAVE_INTERNET_MAIL to control this).
* sys7.unx (fskill_or_rejuv): permit uucp user to delete any job.
* uucp.h, system.h, sysh.unx, config.c, uuxqt.c (main, uqabort),
sys5.unx (isysdep_lock_uuxqt, fsysdep_unlock_uuxqt), bnu.c
(ubnu_read_sysfiles): Marty Shannon: added max-uuxqts command,
along with support for BNU Maxuuxqts, to limit number of
concurrent uuxqt processes.
* chat.c (icexpect, fcsend), uucico.c (zget_uucp_cmd,
zget_typed_line): improved debugging by avoiding incredibly long
lines.
* system.h, sys5.unx (fsysdep_execute), uuxqt.c (uqdo_xqt_file):
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)
* sysh.unx, sys1.unx (isfork), sys2.unx, sys5.unx, tcp.c:
Franc,ois Pinard: retry fork several times before giving up.
* uucp.h, prot.c (fploop, fgot_data), file.c (usendfile_error,
urecfile_error, frecfile_rewind): Niels Baggesen: if we can't read
or write a file, treat it as a temporary error rather than a
permanent error; if we get an error on write, drop the connection
rather they try to continue.
* uucp.h, system.h, sysh.unx, uucico.c (fuucp), prot.c
(fsend_file, freceive_file), file.c (fsent_file, usendfile_error,
freceived_file, urecfile_error, fmail_transfer), sys1.unx
(usmake_spool_dir), sys4.unx (zsysdep_save_temp_file): if a file
send fails, save the file away rather than lose it forever.
* uucico.c (main): don't run uuxqt if we got a SIGTERM.
* tcp.c (ftcp_open): Petri Helenius: have server fork twice to
avoid zombies.
* port.h, prtinf.c, v2.c, bnu.c (fbnu_find_port), uucico.c
(fdo_call, faccept_call), uuchk.c (fkshow_port): added protocol
command for ports, mostly to support BNU. Also modified uuchk to
make the absence of any matching port or dialer more obvious.
* sys3.unx (esysdep_open_receive): check size of destination file
system as well as temporary file system; handle f_bsize field
under FS_MNTENT.
* configure.in, sysh.unx: test for including <termios.h> and
<sys/ioctl.h> in the same file, setting new configuration
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)
* sys2.unx (fsserial_close): Franc,ois Pinard: sleep for a second
after closing the serial port to give it a chance to settle.
* sysh.unx (fsetterminfodrain), sys2.unx (fsserial_close,
fsserial_reset, fsserial_set): wait for terminal output to drain
before closing it, resetting it, or changing its parameters.
* uucico.c (zget_uucp_cmd): Ted Lindgreen: strip parity bit from
initial handshake strings.
* system.h, sys3.unx (esysdep_open_send), uucico.c (fuucp): Ted
Lindgreen: don't send a mail message if a file to send has been
removed, since it might have been sent in a previous session.
* uuchk.c (ukshow): Zacharias Beckman: put list of permitted
programs and execution path on separate lines.
* uucico.c (fdo_call, faccept_call): only look for hangup string
in debugging mode, since there's nothing to be done with it
anyhow.
* uucico.c (faccept_call): Ted Lindgreen: report the minimum
transfer grade requested during an incoming call in the log file.
* uucp.h, uutime.h, config.c, uucico.c (fcall), time.c
(ftimespan_match, btimegrade, cmax_size_now): added a new status
type for ``wrong time to call''. If a system can never be called,
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)
* uucico.c (main, flogin_prompt, faccept_call): Ted Lindgreen: if
we were asked to call a single system, or if a single system
called in, then start uuxqt with -s for just that system.
* uucico.c (main): Ted Lindgreen: ignore the -u option.
* tstuu.c: Ted Lindgreen: don't include <sys/ioct.h> if it's not
there. Also removed the ``ignore this error'' message from the
chat scripts since it's no longer marked as an error.
* sys2.unx (fsserial_set): Ted Lindgreen: if CRTSCTS is defined
and turned on, then don't turn on IXOFF.
* uucp.h, log.c, uucico.c (fdo_call, faccept_call): Ted Lindgreen:
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)
* port.h, prtinf.c, sys2.unx (fsserial_lockfile, fsserial_lock):
Peter da Silva: added ``lockname'' command to ports to permit
specification of the file name to use when locking.
* sys1.unx (usysdep_detach): let setpgrp fail silently.
* sys2.unx: always include <sys/ioctl.h> if it's present on the
system.
* time.c (btimegrade, cmax_size_now): removed extraneous
semicolons.
* sys2.unx (fsserial_lock, fsserial_open, fsserial_close): support
TIOCEXCL locking.
* sys2.unx (fsserial_open): preserve unknown bits in c_cflag when
using HAVE_SYSV_TERMIO or HAVE_POSIX_TERMIOS.
* prot.h: never included more than once.
Fri Mar 6 21:53:28 1992 Ian Lance Taylor (ian@comton.airs.com)
* uucp.h: Eric Ziegast: some systems don't define EXIT_SUCCESS or
EXIT_FAILURE in stdlib.h.
* uucp.h, uutime.h, uucico.c (fuucp), sysinf.c (uinittimetables,
uaddtimetable), uuchk.c (main, ukshow_size, ukshow_time,
qcompress_span), time.c (all new): rewrote time routines
completely for consistency and simplicity. Fixed bug causing
incorrect maximum possible transfer size. Added new file
uutime.h.
Wed Mar 4 10:06:13 1992 Ian Lance Taylor (ian@comton.airs.com)
* sys2.unx (fsserial_lockfile, fsserial_lock, fsysdep_modem_open,
fsysdep_direct_open, fsysdep_modem_close, fsysdep_direct_close):
Petri Helenius: if the open failed on a serial port, the lock
files were not removed.
* config.c (igradecmp): the local variables in igradecmp have to
be integers; signed characters might not work correctly (although
they would in all normal cases).
* sys4.unx (fsysdep_has_work): Johan Vromans: set *pbgrade
correctly if we still have work left over that we haven't looked
at yet.
* tstuu.c (main, uchoose, fwriteable): Roberto Biancardi: use poll
if we haven't got select.
* 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)
* uuxqt.c (main, uqdo_xqt_file): permit local executions, don't
get grade out of system dependent file name.
* sys4.unx (fsysdep_get_work): Bob Denny: warn if we can't open a
command file.
* v2.c (uv2_read_systems): Jeff Putsch: infinite loop when reading
time string.
* uucp.h, sys1.unx, sys2.unx, sys3.unx, tstuu.c, configure.in:
Thomas Fischer: some NeXT compatibility stuff: removed externs of
sleep and alarm, included <libc.h> in uucp.h.
* uucp.h, port.h, uucico.c (zget_uucp_cmd, zget_typed_line),
port.c (cdebug_char, udebug_buffer), chat.c (icexpect, fcsend,
fcphone), log.c (ulog): Michael Richardson: added LOG_DEBUG_START,
LOG_DEBUG_CONTINUE and LOG_DEBUG_END to allow a debugging line in
the log file to be built character by character. Used this new
feature in chat script debugging, rather than having each
character appear on a separate line. Added fPort_debug variable
to control port debugging.
* uustat.c (fsquery, fsquery_system, fsquery_show): handle
execution files queued up for the local system correctly when
using -q option (they still don't show up on any other option).
* uucp.texi, protg.c (fgstart, fgshutdown): Aleksey P. Rudnev:
added remote-window and remote-packet-size 'g' protocol
parameters. Reset the parameters to their default values in
fgshutdown.
* sysh.unx, sys2.unx (fsserial_read, usalarm), sys1.unx
(usset_signal, usysdep_detach), uucico.c (main): overhauled
fsserial_read yet again. The timeout passed in is now an absolute
bound. A special SIGALRM handler does some wierd stuff to avoid
any possible race.
* config.c (uread_config), sysinf.c (uiread_systems,
fcallout_login, fcheck_login), prtinf.c (ffind_port,
fread_dialer_info), chat.c (fctranslate), uucico.c (faccept_call):
T. William Wells: when using HAVE_TAYLOR_CONFIG in combination
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)
* sys2.unx (fsserial_read): T. William Wells: don't arbitrarily
extend read timeout.
* 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)
* 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)
* system.h, uucico.c (faccept_call, fdo_xcmd), uuxqt.c
(uqdo_xqt_file), uux.c (main), uucp.c (main, ucspool_cmds),
sys3.unx (zsysdep_spool_cmds), uux.1, uucp.1: added -j switch to
uucp and uux to display the jobid of the spooled job.
* uucp.h, system.h, sysh.unx, uucico.c (fuucp, fdo_xcmd,
fok_to_send, fok_to_receive), uuxqt.c (uqdo_xqt_files), uux.c
(main, uxcopy_stdin), uucp.c (main), file.c (freceived_file),
config.c (fin_directory_list), sys1.unx (fsysdep_file_exists,
fsuser_access, fsysdep_in_directory), sys3.unx (esysdep_open_send,
fsysdep_move_file), sys5.unx (fsysdep_xqt_check_file): Chip
Salzenberg: recheck file access permissions before sending, to try
to avoid symbolic link games. Check that the user has search
access on all directories down to the file, and read or write
access to the file or directory itself. Check in uucp and uux as
well as uucico, to provide early messages. Check the standard
input file in uuxqt. Be more careful about creating files in the
spool directory. This eliminates all security problems I know of,
except for a very short race in fsysdep_move_file.
* sys3.unx (esysdep_open_send): give an error message if we try to
send a directory (used to just fail silently).
* system.h, sysh.unx, sys1.unx (usysdep_detach, ussignal,
fsysdep_catch, usysdep_start_catch), sys2.unx
(fsysdep_modem_end_dial, fsserial_read), uux.c (main): T. William
Wells: fsysdep_catch obviously must be a macro, since it calls
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)
* sys1.unx, sys6.unx, sys7.unx: added some extern definitions.
* configure.in, uucp.h, system.h, sysh.unx, uucico.c (main,
ucatch, uabort, zget_typed_line, zget_uucp_cmd), uuxqt.c (main,
uqcatch, uqabort), uux.c (main, uxcatch, uxrecord_file, uxabort),
uucp.c (main, uccatch, ucrecord_file, ucabort), uustat.c (main,
uscatch), uulog.c (main, ulcatch), uuname.c (main, uncatch),
uucheck.c (main, ukcatch), log.c (ulog_fatal_fn, ulog,
ulog_close), tstuu.c (main, uchild, uprepare_test), sys1.unx
(usysdep_initialize, usysdep_detach, usysdep_signal,
fsysdep_catch, usysdep_end_catch, ussignal, fsset_signal,
fsysdep_run, raise), sys2.unx (usalarm, usysdep_pause,
fsserial_lock, fsserial_open, fsysdep_stdin_close,
fsysdep_modem_close, fsysdep_modem_end_dial, fsserial_read,
fsserial_write, fsserial_io), sys5.unx (fsysdep_execute): T.
William Wells: overhaul to support detaching from the terminal and
completely reliable signals. uucico now calls usysdep_detach at
various points; new option -D prevents detaching. The signal
handling code all goes through usysdep_signal, fsysdep_catch and
usysdep_end_catch. A signal now just sets iSignal, which is
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)
* protg.c (fgwait_for_packet): Bob Denny: reset the count of
timeouts only when data is recognized, so that we aren't fooled by
a sequence of imperfect echoes.
* 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)
* uucico.c (main, uusage): don't treat an extra argument as a port
name.
* sys3.unx (esysdep_truncate): Roberto Biancardi: support F_CHSIZE
and F_FREESP in esysdep_truncate.
* configure.in, sys2.unx (fsserial_read, usysdep_pause): Roberto
Biancardi: use poll to sleep less than a second if we haven't got
anything else.
* v2.c (uv2_read_systems, fv2_find_port), bnu.c
(ubnu_read_systems, fbnu_find_port, fbnu_read_dialer_info),
uustat.c (fsworkfile_show): Roberto Biancardi: skip spaces and
tabs after doing a strtok ((char *) NULL, "").
* copy.c (fcopy_file), sys1.unx (esysdep_fopen), sys2.unx,
sys3.unx (esysdep_open_receive, esysdep_truncate, fsdo_lock,
fscmd_seq), sys5.unx (fsysdep_execute), sys7.unx, tstuu.c: John
Theus: some systems use <sys/file.h> instead of <fcntl.h>. Also
changed the code to call creat instead of open when appropriate.
Should now work on V7, with the exception of O_NONBLOCK and
O_NDELAY in sys2.unx and tstuu.c.
* 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)
* uucp.h, system.h, bnu.c (ubnu_read_systems), config.c
(fin_directory_list), sys1.unx (fsysdep_in_directory), sys5.unx
(fsysdep_xqt_check_file), uucp.c (main), uuxqt.c (uqdo_xqt_file),
uucico.c (fdo_xcmd, fok_to_send, fok_to_receive), tstuu.c
(uprepare_test): only permit files to be received into directories
that are world writeable. Check for this in fsysdep_in_directory,
with a new argument. Changed calls appropriately. In tstuu
create /usr/tmp/tstuu as world writeable.
* bnu.c (ubadd_perm_alternate): Doug Evans: after all that, I got
it wrong: WRITE only applies to remote requests.
* uucp.h, uucico.c (fuucp, fdo_xcmd, fok_to_send, fok_to_receive),
uuxqt.c (uqdo_xqt_file), uuchk.c (ukshow), sysinf.c
(uset_system_defaults, tialternate), sys5.unx
(fsysdep_xqt_check_file), bnu.c (ubadd_perm_alternate): fixed READ
and WRITE handling to match BNU semantics. Added
zcalled_local_send, zcalled_local_receive, zcalled_remote_send and
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)
* Complete overhaul of configuration to use automatic shell
script. Eliminated conf.h, now generated by configure. Renamed
Makefile to Makefile.in. Added policy.h for administrative
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)
* 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)
* sys7.unx (fskill_or_rejuv): make sure that only the submitter or
the superuser is permitted to cancel (or rejuvenate) a request.
* system.h, sysh.unx, sys3.unx (zsfile_to_jobid, zsjobid_to_file),
sys4.unx (zsysdep_jobid), sys7.unx, uustat.c, Makefile, MANIFEST:
wrote uustat. Changed CSEQLEN in sys3.unx from 5 to 4. Added
several new system dependent functions, mostly in sys7.unx.
* system.h, sys1.unx, log.c, file.c, chat.c, protg.c, uucico.c:
rearranged the time functions for the convenience of uustat. Made
isysdep_time take an optional pimicros arguments. Renamed
usysdep_full_time to isysdep_process_time, and made clear that it
need only work within a single process. Changed usysdep_localtime
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)
* 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)
* uuxqt.c (uqdo_xqt_file): T. William Wells: make sure sh uses
absolute path of command, rather than relying on PATH.
* sys5.unx (zsysdep_find_command): Michael Nolan: allow full
command name to be specified by remote system, not just basename,
if command is not in path.
* log.c (ulog): don't use headers when outputting to terminal.
* 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)
* uucico.c (ucatch), uuxqt.c (uqcatch): Neils Baggesen: under
HAVE_BNU_LOGGING, don't lose the system name when dieing.
* uulog.c, Makefile, MANIFEST: wrote uulog.
* uuname.c, Makefile, MANIFEST: wrote uuname.
* bnu.c (ubadd_perm_alternate): T. William Wells: must xstrdup the
system name before calling uadd_validate.
* log.c (ulog_close): Micheal Nolan: don't refer to eLdebug if the
DEBUG configuration parameter is 0.
* 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)
* uucico.c (fuucp), prot.c (fsend_file, freceive_file): Bob Denny:
call fmail_transfer before calling fsysdep_did_work, because the
latter frees up strings used by the former.
* sysh.unx, sys1.unx (mkdir), uudir.c (new file), Makefile: added
HAVE_MKDIR configuration parameter for systems without the mkdir
system call. The emulation function in sys1.unx invokes the new
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)
* sysh.unx, sys1.unx (opendir, readdir, closedir), sys4.unx,
sys5.unx: added HAVE_OLD_DIRECTORIES configuration parameter to
support systems without opendir/readdir/closedir which use
original Unix directory format.
* sysh.unx, sys1.unx (dup2): added HAVE_DUP2 configuration
parameter and dup2 emulation function.
* sys1.unx (zsysdep_local_name): put utsname structure on stack
rather than making it static.
* sysh.unx, sys1.unx (usysdep_initialize, getcwd): if we have
neither getcwd nor getwd, fork /bin/pwd to get the current working
directory.
* system.h, uucico.c (main), uuxqt.c (main), uux.c (main), uucp.c
(main), uuchk.c (main), sys1.unx (usysdep_initialize), sys6.unx
(fsysdep_needs_cwd, zsysdep_add_cwd): because getting the current
working directory can be expensive on Unix, since some
implementation of getcwd fork a shell to execute pwd, only try to
get the cwd if it is going to be needed by uux or uucp.
* uucico.c (main), uuxqt.c (main), uux.c (main), uucp.c (main),
uuchk.c (main), log.c (ulog): handle all possible signals raised
by abort, namely SIGABRT, SIGILL and SIGIOT. In ulog always call
abort rather than raise (SIGABRT).
* sys4.unx (usysdep_get_work_free): the qSwork_file information
was freed up incorrectly if a file transfer failed.
* sysh.unx, sys2.unx: Archaic Zilog System III computers use
setret and longret rather than setjmp and longjmp, so I added a
HAVE_SETRET configuration option.
* prott.c (ftstart, ftsenddata): shifts of integers by more than
15 are not portable.
* prot.c (fsend_file, freceive_file, fploop, fgot_data): I ran
into an old compiler which couldn't handle the calls to pffile, so
I simplified them to use a variable.
* port.c (fmodem_dial): cast result of alloca.
* getopt.h, getopt.c: Jay Vassos-Libove: renamed getopt and
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)
* everything: added HAVE_STRING_H and HAVE_STRINGS_H. Removed
include of <string.h> in every source file and put it in uucp.h.
Since I had to change everything anyhow, added 1992 to the
copyright date.
* 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)
* uucp.c (main): Get the file name for the destination of a local
copy using zsysdep_real_file_name rather than zsysdep_in_dir,
since the latter doesn't get the basename of the argument.
* sys3.unx (fsysdep_get_status): Niels Baggesen: cast enum to int
before comparison.
* system.h, uucp.c (main), uux.c (main), sys6.unx (fsysdep_access,
fsysdep_daemon_access): Niels Baggesen: check user access to file
since programs are running setuid. Previously uucp and uux
permitted a file readable only by uucp to be transferred to
another system by user request!
* chat.c (fchat): Michael Nolan: portions of a chat string might
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)
* protg.c: Chip Salzenberg: change default window size to 7.
* sys3.unx (fsdo_unlock): Michael Nolan: cast result of alloca to
(char *), not that it really matters.
* 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)
* 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)
* uucico.c (zget_uucp_cmd): Patrick Smith: only wait a short time
for the hangup string.
* 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)
* sys1.unx, sys3.unx, tstuu.c: Jay Vassos-Libove: removed some
declarations of system functions that conflict with system header
files on BSD/386 alpha.
* Makefile: Jeff Ross: make sure the uninstall target restores the
original file owner and mode.
* 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)
* log.c (ustats): Marty Shannon: don't report a failed transfer
under USE_BNU_LOGGING.
* sys3.unx (zsysdep_real_file_name): Marty Shannon: a trailing '/'
on the name means that it is a directory, even if the directory
does not already exist.
* uucico.c (fuucp): Marty Shannon: the -f flag indicating that
directories should not be created was not being handled correctly.
* uucico.c (fcall): Chip Salzenberg: set .Status correctly if
wrong time to call.
* protg.c (fgsendcmd): John Antypas: didn't handle null byte at
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)
* Released version 1.02.
* system.h, uucico.c (main), uux.c (main), uucp.c (main,
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)
* sys1.unx (fsysdep_make_dirs): don't try to create a directory
with no name.
* version.c: change version number to 1.02.
* uucico.8, uuxqt.8, uucp.1, uux.1: change version number to 1.02.
* MANIFEST: removed texinfo.tex; it's twice the size of any other
file, so I think it's just to large to distribute.
* uucico.c (fcall, fdo_call): Marty Shannon: update the time in
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)
* protg.c (fgsendcmd, fgsenddata): Dave Platt: if the remote UUCP
accepts packets larger than 64 bytes, assume it can handle
differing packet sizes, so if we have a small amount of data to
send, use a small packet. Besides the two routines mentioned,
also made minor changes to other routines to get the packet length
out of the packet data rather than always assuming the same packet
size.
* conf.h, uucp.h: Matthew Lyle: some systems don't declare errno
in <errno.h>, so I added HAVE_ERRNO_DECLARATION.
* 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)
* tstuu.c (utransfer): Mike Park: don't sleep when the input
buffer is full; it's too slow.
* Makefile: when making a distribution,change the mode of separate
copies of the configuration files Makefile, conf.h and sysh.unx.
* uucico.c (faccept_call): Marty Shannon: update .Status file on
incoming calls.
* uucp.h, prot.h, uucico.c (fuucp), prot.c (fsend_file,
fpsendfile_confirm, freceive_file, fprecfile_confirm, fxcmd,
ustats_failed), file.c (fsent_file, usendfile_error,
freceived_file, urecfile_error, frecfile_rewind, fmail_transfer):
reworked calls to fsydep_did_work and sending of mail messages to
be more sensible. Now sends mail to requestor if request fails
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)
* protg.c (fgsendcmd, fgsenddata): zero out unused bytes in short
packets.
* prot.c (zgetcmd), protf.c (ffsendcmd), prott.c (ftsendcmd),
prote.c (fesendcmd): Niels Baggesen: added some debugging
messages.
* protg.c (fgsendcmd): corrected misspelling in debugging message.
* log.c (ustats): Niels Baggesen: add FAILED to end of xferstats
line if appropriate.
* uuxqt.c (uqdo_xqt_file): Niels Baggesen: was checking strcmp
return value incorrectly, so messages to other systems were not
being sent.
* 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)
* sys1.unx: put \n at end of fsysdep_run error message.
* sysh.unx, sys1.unx, sys2.unx, tstuu.c: Mike Park: on some
systems <sys/time.h> includes <time.h> but <time.h> can only be
included once; added HAVE_SYS_TIME_AND_TIME_H to sysh.unx.
* tstuu.c: Mike Park: removed prototype for times since some
systems don't have clock_t.
* conf.h, sys2.unx, util.c: Mike Park: some systems don't have
<limits.h>. Every macro used from it already had a check to make
sure it was defined anyhow.
* tstuu.c (uprepare_test): Mike Park: sh on NeXT interprets a
leading ~, so we have to quote the argument to system(3).
Incredible.
* conf.h, uucp.h: Mike Park: if HAVE_ALLOCA is 0 when compiling
with gcc, don't define alloca as a macro. This will let the NeXT
define it in some header file.
* sysh.unx, sys2.unx, sys5.unx, tstuu.c: Mike Park: handle
HAVE_UNION_WAIT completely. Assume that system(3) returns an int
which should be put into the w_status field. Define macros for
union wait if they are not already defined. Move all this stuff
into sysh.unx rather than duplicating it in three different files.
* conf.h, uucp.h, sysh.unx, config.c, bnu.c, v2.c, uucico.c,
uuxqt.c, uux.c, uucp.c, uuchk.c, Makefile: set directory to look
for configuration files in in Makefile rather than in sysh.unx.
This forced a number of changes, as now all new style
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)
* sys3.unx: David Nugent: don't declare chmod, since it may be
prototyped to take an argument that is smaller than an int.
* uucico.c (faccept_call): Chip Salzenberg: only declare sportinfo
if it will be used (if HAVE_TAYLOR_CONFIG is true).
* sys3.unx (isysdep_get_sequence): Chip Salzenberg: avoid use
before set warning from gcc.
* protf.c (ffprocess_data): Chip Salzenberg: avoid use before set
warning from gcc.
* sysh.unx, sys2.unx (fsserial_read, usysdep_pause): Chip
Salzenberg: added HAVE_USLEEP configuration parameter for the AIX
usleep routine.
* uuchk.c, prtinf.c, config.c: Chip Salzenberg: strcmp is a macro
on AIX, so avoid declaring it and undef it in config.c where we
want to declare it because we want to take its address.
* uucp.h, sys3.unx (fsysdep_get_status, fsysdep_set_status): Chip
Salzenberg: handle out of range status codes in status files.
* Makefile, sysh.unx: defined LIBDIR in the Makefile, rather than
forcing the user to define it in two different places.
* sys.unx, tstuu.c: Chip Salzenberg: can't declare execl, since it
is varadic.
* sys1.unx, sys2.unx, sys3.unx, sys5.unx, tstuu.c: David Nugent:
can't declare open or fcntl, since they may use ... in header file
prototype; added declaration for popen; added casts of first mkdir
argument to char *.
* sysh.unx, tstuu.c (uchild): Mike Park: added HAVE_WAITPID and
HAVE_WAIT4 configuration parameters to allow the use of wait4 as
found on the NeXT.
* tstuu.c (uprepare_test): Mike Park: use IPUBLIC_DIRECTORY_MODE
rather than S_IRWXU | S_IRWXG | S_IRWXO.
* 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)
* Eliminated CONFIG, INSTALL and THANKS. They are now included in
uucp.texi. Changed README and MANIFEST accordingly. Added
uucp.info* and texinfo.tex to MANIFEST.
* Makefile, uucp.texi: renamed taylor.texi to uucp.texi.
* uucico.c (fcall, fdo_call): John Antypas: pass in sportinfo
structure for fdo_call to use for an unknown port.
* 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)
* Makefile: changed to correspond to GNU standards, according to
standards.text of 24 Nov 91.
* Makefile: Franc,ois Pinard: use $(INSTALL_PROGRAM) and
$(INSTALL) rather than cp to install the programs.
* time.c (ftime_now), sys1.unx (usysdep_localtime): John Antypas:
use memcpy to get the result of localtime rather than relying on
structure assignment.
* sysh.unx, prtinf.c: Hannu Strang: changed definition of
SYSDEP_STDIN_CMDS to pass structure instead of address of
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)
* Released beta 1.02.
* protg.c (fgcheck_errors): discount out of order packets in the
total error count, and allow a negative error count to mean that
any number of errors are accepted.
* 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)
* log.c (ulog): tweaked HAVE_V2_LOGGING slightly.
* v2.c (uv2_read_systems): set chat script correctly.
* uucp.h, sys3.unx: avoid redefining SEEK_SET if it appears in
<unistd.h> but not <stdio.h>.
* chat.c (fcsend): made fcsend into a static function.
* uucp.h, uucico.c, uuxqt.c, uux.c, uucp.c, uuchk.c, version.c:
changed abProgram and abVersion from const char [] to char []
because the Microsoft compiler on SCO can't handle const char []
arrays correctly.
* uux.c (main): allocate enough space for log message.
* sys1.unx (usysdep_localtime): to get the current time, we can't
call usysdep_full_time if the latter uses times.
* sys1.unx, sys3.unx: added a couple more extern definitions for
SCO 3.2.2.
* uucico.c (main): start uuxqt even if a call fails.
* sysh.unx, system.h, uuxqt.c (uqdo_xqt_file), sys5.unx
(fsysdep_xqt_check_file): Chip Salzenberg: added configuration
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)
* system.h, uuxqt.c (uqdo_xqt_file), sys5.unx
(fsysdep_xqt_check_file): David J. Fiander: make sure that if an
argument looks like a filename we are permitted to access it.
* 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)
* 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)
* protg.c (fgstart): Franc,ois Pinard: forgot to initialize
cGdelayed_packets.
* prot.h, uucico.c, prote.c: added the 'e' protocol, creating the
new file prote.c
* prot.c (freceive_data), protf.c (fffile), prott.c (ftfile):
changed pffile protocol entry point to pass number of bytes being
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)
* 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)
* uucp.h, prot.c (fploop): John Theus: check for EOF before
reading from file to work around bug in Tektronix library.
* protg.c (fprocess_data): don't send RR packets when an error
occurs; the other side will probably ignore them, and it may
confuse some Telebit modems.
* sys1.unx (usysdep_localtime): don't take the address of a cast
value.
* 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)
* uuxqt.c (uqdo_xqt_file): forgot to initialize zmail.
* uucp.h, time.c, copy.c, sys1.unx, sys2.unx, sys3.unx, sys4.unx,
sys5.unx, config.c, log.c, uuxqt.c, uux.c, tstuu.c: added a bunch
of externs to decrease the number of implicit function
definitions.
* system.h, sys1.unx (usysdep_localtime), log.c (zldate_and_time):
Lele Gaifax: put the full year in the log file, using the format
YYYY-MM-DD HH:MM:SS.HH (ending in hundredths of seconds).
* config.c (uprocesscmds): Terry Gardner: allow a # to be quoted
in a configuration file. Also made uprocesscmds reentrant.
* sysh.unx, sys2.unx (fsrun_chat), sys5.unx (fsysdep_execute),
tstuu.c (uchild): Monty Solomon: added HAVE_UNION_WAIT
configuration option to pass a variable of type union wait to the
wait and waitpid system calls.
* sysh.unx, sys1.unx (usysdep_initialize): John Theus: added
HAVE_GETWD to use getwd instead of getcwd.
* sysh.unx, sys1.unx (usysdep_full_time): added HAVE_FTIME
configuration option.
* tstuu.c (uchild): use TIMES_TICK from sysh.unx rather than
CLK_TCK.
* 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)
* uucico.c (fuucp): set fmasterdone correctly when running as a
slave.
* port.c (cpshow, upshow, fport_read, fport_write, fport_io):
cleaned up debugging code by isolating out upshow and by making
cpshow handle backslash.
* tstuu.c (uprepare_test): create spool directories by hand, to
make sure test 6 can be done and to test creating needed
directories.
* conf.h, uucp.h, bnu.c, v2.c, chat.c, protg.c, prott.c, sysinf.c,
tcp.c, getopt.c, tstuu.c, util.c: added HAVE_MEMFNS and HAVE_BFNS
to conf.h. Changed memset calls to use bzero.
* protg.c (fgcheck_errors, fgprocess_data): added protocol
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)
* 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)
* 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)
* 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
conf.h for systems which don't have <unistd.h>. Also added
externs for all functions from <unistd.h>, which required adding
definitions for pid_t, uid_t and off_t to sysh.unx.
* config.c, prtinf.c, time.c, uuchk.c: added externs for
strcasecmp or strncasecmp, to avoid implicit function definitions
now that I took the prototypes out of uucp.h.
* sys3.unx (fsysdep_get_status): Franc,ois Pinard: the code added
to avoid scanf had a stupid bug.
* 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)
* uucp.h, uucico.c (ucatch), prot.c (fpsendfile_confirm,
fprecfile_confirm, ustats_failed), file.c (fsent_file,
freceived_file), log.c (ustats): Terry Gardner: record failed file
transfers in the statistics file.
* uucico.c: change protocol ordering to 't', 'g', 'f'.
* uucico.c (faccept_call), tstuu.c (uprepare_test): John Theus:
don't warn if the port file doesn't exist when the slave mode
uucico looks up the port.
* sys1.unx, sys5.unx: moved fsysdep_file_exists from sys5.unx to
sys1.unx so that uucico can call it.
* uux.c: Fran,cois Pinard: remove parentheses from ZSHELLSEPS so
that they may be used to quote arguments as documented. This
means that may not be used to start subshell, but that is no great
loss.
* uux.c (main): use ulog to report illegal grade error message.
* 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)
* uucico.c (fdo_call, faccept_call): Terry Gardner: put the length
of the conversation in the ``Call complete'' log file message.
* uux.c: added space and tab to ZSHELLSEPS, because otherwise the
command was parsed to include whitespace.
* protg.c, protf.c: Oleg Tabarovsky: added statistical logging
messages to the 'g' and 'f' protocols. These go to the main log
file right now, but I'm not sure if that's appropriate.
* sys2.unx (fsserial_set): don't change terminal settings if we
don't have to.
* port.c (fport_io): add complete diagnostics for fport_io so we
can see every byte that goes in or out.
* uucico.c (fuucp): don't give user name in errors produced by
getting the next command.
* uuxqt.c (main): don't process execute files for unknown systems.
This is not unreasonable, I hope, and it avoids errors caused by
an uninitialized sUnknown structure.
* sys4.unx (fsysdep_get_work_init): sort the previously found
files all together so we can correctly check new files using
bsearch.
* protf.c (pfprocess, pfprocess_data, pfwait): Franc,ois Pinard:
don't kill 'f' protocol because of an illegal byte. Also slightly
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)
* sysh.unx, sys2.unx, tstuu.c: Terry Gardner: added
USE_FOR_UNBLOCKED configuration parameter to support systems that
don't permit O_NONBLOCK and O_NDELAY to both be set.
* tstuu.c (uchild): give the uucico processes a chance to die on
their own rather than killing them immediately.
* uuxqt.c (main, uqdo_xqt_file): David Nugent: keep rescanning the
list of execute files until nothing can be done. Also, don't
remove the execute file if we get some sort of internal error.
* sys4.unx (fsysdep_get_work, usysdep_get_work_free): David
Nugent: after we've processed all the work files we found
initially, rescan the work directory to pick up any that may have
come in in the meantime. Also, reset iSwork_file to 0 in
usysdep_get_work_free so that we can handle more than one system.
* tstuu.c, uucico.c (main, fwait_for_calls, flogin_prompt): added
-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)
* uucp.h, uucico.c, uuxqt.c, uux.c, uucp.c, config.c
(uread_config), log.c (ulog): eliminated ulog_program and added
abProgram and ulog_to_file. Made log messages output to stderr
more Unix like.
* log.c (ulog): use a fixed number of fields in a log file message
by replacing a missing system or user with '-'.
* port.h, chat.c (renamed fchat_send to fcsend), bnu.c
(fbnu_read_dialer_info), prtinf.c (tpcomplete), sys2.unx
(fsysdep_modem_close), uuchk.c (ukshow_dialer): T. William Wells:
change the modem complete and abort strings into chat scripts.
* sys2.unx (fsserial_open): on BSD start in RAW mode to avoid
dropping characters when we switch over. I originally thought
being able to use XON/XOFF was worth the risk; I no longer think
so.
* tstuu.c (uprepare_test): have shell script sleep before printing
the login name to make sure the second system has finished
flushing its input buffer.
* protg.c (fginit_sendbuffers), prott.c (ftsendcmd): David Nugent:
avoid sending confidential information by zeroing out memory
buffers before using them.
* sysinf.c (tirequest, titransfer), prtinf.c (tpseven_bit,
tpreliable, tpdtr_toggle): Marc Unangst: several functions did not
accept true and false as boolean strings, contradicting the
documentation.
* uucp.h, system.h, sysh.unx, sys1.unx (usysdep_full_time), file.c
(fstore_sendfile, fsent_file, fstore_recfile, freceived_file),
log.c (ustats): generate statistics in microseconds instead of
seconds for more accurate time keeping.
* sys2.unx (fsserial_open): David Nugent: flush pending input
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)
* uucico.c (main), uuxqt.c (main), tstuu.c (main, uchild): David
Nugent: ignore SIGHUP in uucico and uuxqt, so that they are
unaffected by the parent shell closing down and by the remote
terminal dropping the connection.
* bnu.c (ubnu_read_sysfiles, ubnu_read_systems, fbnu_find_port,
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)
* sys2.unx (fsserial_open): don't turn on ISTRIP initially.
* uucp.h, sysinf.c, chat.c (icexpect), uuchk.c (ukshow_chat):
added chat-seven-bit command to allow control over whether
parity bits are stripped out of chat scripts.
* uucp.h, port.h, chat.c (fchat, fcprogram),
config.c (tprocess_one_cmd), prtinf.c,
sysinf.c (tichat, tprocess_chat_cmd),
bnu.c (fbnu_read_dialer_info), port.c (fpdo_dial),
uucico.c (fdo_call, faccept_call) uuchk.c (ukshow_chat):
changed processing of chat commands to go through
tprocess_chat_cmd, avoiding repetition. All chat script
information is now held in an schat_info structure.
Eliminated the fchat_program function, renaming it fcprogram
and making it static to chat.c (it is now called via fchat).
Added CMDTABTYPE_PREFIX. Added INIT_CHAT macro to initialize
chat script information. Added TTYPE_CMDTABTYPE and
CARGS_CMDTABTYPE to eliminate hex constants in
tprocess_one_cmd.
* sys5.unx (zsysdep_get_xqt): Oleg Tabarovsky: don't stop
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)
* 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)
* 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
doesn't send it.
* chat.c (icexpect, fchat_send): Franc,ois Pinard: add some chat
script debugging messages.
* log.c (ulog): David Nugent: move ERROR: from the start of the
line to after the date and time; this makes it easier to use awk
on log files.
* sys3.unx (fsdo_lock), sys1.unx (usysdep_initialize): do locking
using link rather than O_CREAT | O_EXCL to avoid race conditions
and to safely run as the superuser.
* sys3.unx (fsysdep_move_file): fcopyfile now creates the
destination file with IPRIVATE_MODE, so we don't need to chmod to
it.
* sys1.unx (usysdep_initialize, fsysdep_other_config): set the
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)
* conf.h, uucp.h, util.c (strtol): Mark Powell: added my own
version of strtol to util.c, for systems which lack it.
* protg.c (fgstart, fgexchange_init): if we start resending
packets during initialization, don't forget which packets we have
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)
* 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
style logging, with some minor additions and changes.
* sys1.unx, sys3.unx, sys5.unx, uux.c, uucp.c, uucico.c, copy.c,
uucp.h, system.h: create directories when necessary rather than
assuming that they exist. Added fmkdirs argument to esysdep_fopen
and fcopy_file, changing all calls. Added fpublic argument to
fsysdep_make_dirs, changing all calls. Moved fsysdep_make_dirs
and fsdirectory_exists from sys3.unx to sys1.unx. Added checks
for ENOENT in several places in sys3.unx and sys5.unx.
* log.c, port.c (fport_open), sys2.unx (fsserial_open): added
ulog_device routine to record device name. This is currently only
used for the BNU statistics file, but more uses might arise later.
* file.c, log.c, uucp.h: moved statistics file routines from
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)
* bnu.c (ubnu_read_systems): Arne Ludwig: the device entry for a
system can be followed by a comma and a list of protocols.
* sysh.unx, sys3.unx (fsdo_lock): Richard Todd: add
HAVE_V2_LOCKFILES, in which the process ID is written out in
binary.
* uuxqt.c (uqdo_xqt_file): Richard Todd: the requestor address is
relative to the requesting system.
* config.c (uprocesscmds, umulti_pushback): Richard Todd: each
line pushed back because of "#" is local to a particular
smulti_file structure.
* prtinf.c (asPdialer_cmds): Richard Todd: exit the current dialer
if the special command "#" is seen. A similar thing should be put
in for ports, but it's marginally more complex.
* 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)
* config.c (uprocesscmds): Franc,ois Pinard: don't limit the
number of arguments to a command!
* 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)
* sys5.unx (fsysdep_execute): David J. Fiander: if execve fails
with ENOEXEC, try using /bin/sh with a quoted argument.
* uux.c (main): split arguments the way /bin/sh does. If any
shell metacharacters appears, request uuxqt to execute the command
using /bin/sh.
* tstuu.c (uprepare_test): allow the uux to test to send a failure
message.
* uuxqt.c (uqdo_xqt_file): don't send mail on successful execution
unless specifically requested; pay attention to the 'n' line
which requests mail on success; ignore the 'Z' line because it
now specifies the default action.
* sys1.unx (usysdep_initialize), sys6.unx (zsysdep_add_cwd):
Franc,ois Pinard: getcwd may legitimately fail, so only give an
error if we really need the result.
* chat.c (ccescape): Franc,ois Pinard: ccescape should never
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)
* bnu.c (ubnu_read_systems): Dave Buck: time strings with grades
were parsed in an endless loop!
* sys3.unx (fsdo_lock, fsdo_unlock): the alloca when using LOCKDIR
was one byte too small.
* config.c (tprocess_one_cmd): pass 10 to strtol rather than 0 to
avoid surprises if a leading zero is used.
* prtinf.c (tpproto_param, tpdialer_proto_param): Niels Baggesen:
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)
* tstuu.c: don't use the fd_set typedef at all.
* tstuu.c (uprepare_test): don't read V2 or BNU configuration
files while testing.
* bnu.c, v2.c, config.c (uread_config): David Nugent: even if the
code was compiled with HAVE_TAYLOR_CONFIG, read the V2 and BNU
configuration files if the code was compiled to support them.
* 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)
* tstuu.c: Bob Izenberg: copied over conditional definitions of
EAGAIN and EWOULDBLOCK from sys2.unx.
* bnu.c (fbnu_read_dialer_info): Niels Baggesen: accept dialers
with no substitutions.
* bnu.c (ubnu_read_systems, ubadd_perm): Niels Baggesen: don't
free up zline in ubadd_perm; in fact, changed the calling sequence
to not even pass zline in at all.
* bnu.c (ubadd_perm): Niels Baggesen: didn't handle multiple
MACHINE= and multiple LOGNAME= values in a single Permissions
line, because it was clobbering the machine name while processing
the first logname.
* bnu.c: Made zread and zwrite elements of sperm structure const
char * to avoid warning.
* copy.c, sys1.unx, sys2.unx, sys3.unx, sys5.unx, tstuu.c: Niels
Baggesen: don't multiply include <unistd.h>. Eventually there
should be a macro controlling whether it gets included at all, for
non-POSIX systems.
* sys3.unx (fsysdep_get_status, isysdep_get_sequence): Marty
Shannon: accept a truncated status file. I also eliminated scanf
calls in sys3.unx, since that was the only place it was called;
this was to make the executables smaller for systems which cared.
* bnu.c (ubnu_read_sysfiles): Marty Shannon: accept comment
characters in Sysfiles.
* sysh.unx, sys3.unx: Marty Shannon: added HAVE_RENAME, put a fake
rename system call in sys3.unx.
* prtinf.c (ffind_port): Marty Shannon: failed to handle multiple
ports in the port file since I forgot to reset my pointer
variable.
* bnu.c (ubnu_read_systems): Marty Shannon: don't initialize the
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)
* tstuu.c: Bob Denny: add definitions for FD_SET, FD_ZERO and
FD_ISSET.
* config.c: Bob Denny: add explicit externs for strcmp and
strcasecmp.
* sys2.unx: the fread_blocking and fwrite_blocking fields were
not getting initialized correctly in the TCP support routines.
* sysh.unx, sys2.unx, sys5.unx, tstuu.c: Marty Shannon: added
configuration option HAVE_SYSWAIT_H.
* bnu.c (fbnu_find_port, fbnu_read_dialer_info), v2.c
(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)
* 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)
* Released version 1.01 to alt.sources and uunet