574 lines
18 KiB
Plaintext
574 lines
18 KiB
Plaintext
This is a list of things to do for the Taylor UUCP package. Please
|
|
feel free to work on any of them. You may want to check with me first
|
|
to make sure that nobody else is working on them as well.
|
|
|
|
Some of these are my thoughts, but most are suggestions from other
|
|
people; I have tried to give credit. They are in the order I received
|
|
them; the missing numbers have already been implemented.
|
|
|
|
Just because something is on the list doesn't mean that I necessarily
|
|
think it is a good idea. It does mean that I think it's worth
|
|
thinking about.
|
|
|
|
2.
|
|
|
|
John Cowan <cowan@snark.thyrsus.com> says:
|
|
|
|
>I think you should accept a broader range of time specifications.
|
|
>Consider using getdate() (from your handy Usenet news source code)
|
|
>with its high-powered yacc parser.
|
|
|
|
Of course, getdate() accepts a single date, but we want a range. A
|
|
better syntax would be certainly be nice.
|
|
|
|
9.
|
|
|
|
Gordon Burditt <gordon@sneaky.lonestar.org> warns about modifications
|
|
to the TZ environment variable, to fool uucico into dialing out at an
|
|
inappropriate time.
|
|
|
|
10.
|
|
|
|
Gordon Burditt <gordon@sneaky.lonestar.org> says:
|
|
|
|
>(4) Less important, because few people will have this problem, is a
|
|
>port-specific dialcodes file. Why? Well, one system I had was connected
|
|
>to 2 inside lines "dial 9 for outside line", and one outside line (which
|
|
>doesn't want the 9). A number of the systems called were "inside", so
|
|
>you didn't add the 9 on those lines dialing from inside, but you did add
|
|
>"390" to the 4-digit number if you dialed it via "outside". Also not
|
|
>unheard of are systems with 2 outside lines that are local to different
|
|
>area codes, or one local outside line and one WATS line (which MUST
|
|
>have an area code).
|
|
>Example:
|
|
> inside-line Dialcodes outside-line Dialcodes
|
|
> pbx "" pbx "390"
|
|
> local "9" local ""
|
|
> nyc "9-1212" nyc "1212"
|
|
|
|
12.
|
|
|
|
Ralf E. Stranzenbach <ralf@reswi.ruhr.de> says:
|
|
|
|
>It would be nice to also have the option of running a shell script each time
|
|
>uucico connects/disconnects a systen. I do not mean shell scripts for dial/in.
|
|
>I would like to do some accounting and batching when the connection
|
|
>establishes.
|
|
|
|
13.
|
|
|
|
les@chinet.chi.il.us (Leslie Mikesell) writes:
|
|
|
|
>>local-send /usr/spool/uucppublic !/usr/spool/uucpublic/private
|
|
>>
|
|
>>The directories are searched from left to right, and the last one to
|
|
>>match determines whether the file may be sent or not. This is
|
|
>>slightly more general than NOWRITE, since it permits a public
|
|
>>directory within a private directory within a public directory,
|
|
>>although probably nobody will ever want that.
|
|
>
|
|
>Interesting... The obvious enhancement is to generalize to shell-like
|
|
>wild cards for the READ/WRITE/COMMANDS entries.
|
|
|
|
14.
|
|
|
|
Should there be a way for chat scripts to specify the parity to
|
|
generate? I don't think there's much point to specifying what parity
|
|
to accept.
|
|
|
|
17.
|
|
|
|
The -b and -s switches to uux are not implemented by uuxqt.
|
|
|
|
18.
|
|
|
|
If we are supposed to call a system back, we should do it immediately
|
|
rather than merely queuing up an empty command file.
|
|
|
|
22.
|
|
|
|
Add an ftp port type which uses anonymous ftp rather than any of the
|
|
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.
|
|
This is complicated by the possibility of wanting to wait for any of
|
|
several different lines, and one would really want some sort of
|
|
semaphore function to do it right. If the available lines could be
|
|
sorted, then each could be assigned to a byte in a line lock file.
|
|
Looking for a line could be done by sleeping on a read lock on all
|
|
possible lines. Once it came through, write locks would be attempted.
|
|
If they all failed, somebody else snuck in, so you would sleep on a
|
|
read lock again. This isn't great because a process could be starved,
|
|
but it might be better than nothing.
|
|
|
|
This could be tied in to uucp and uux, such that they wouldn't
|
|
actually fire up uucico unless a line was known to be available; an
|
|
additional switch would be used to fire up uucico anyhow (or one could
|
|
switch the default behaviour and the switch).
|
|
|
|
So how do you sort the lines? You could just use the index in the
|
|
port (or Devices) file, but what if multiple ports used the same
|
|
physical device? Hmmm.
|
|
|
|
43.
|
|
|
|
David Nugent: it would be nice to be able to set debugging, log, and
|
|
statistics files on a site by site basis.
|
|
Brian Murrell: heck, set those files on a port by port basis as well.
|
|
|
|
74.
|
|
|
|
Yanek Martinson: allow each system to independently choose whether to
|
|
permit shell execution.
|
|
|
|
81.
|
|
|
|
Marty Shannon: log reason for dial failure (chat-fail string) in
|
|
.Status file.
|
|
|
|
83.
|
|
|
|
Switch between 'M' and 'S' correctly in the BNU log file output.
|
|
|
|
86.
|
|
|
|
Les Mikesell: allow a separate program to be specified to handle the
|
|
communications with a particular system.
|
|
|
|
105.
|
|
|
|
T. William Wells: close and open the Debug file after each file
|
|
transfer. Alternatively, cycle through a series of Debug file names
|
|
every 1000 lines or so.
|
|
|
|
106.
|
|
|
|
Marty Shannon: add a time command for ports, to specify when they may
|
|
be used.
|
|
|
|
115.
|
|
|
|
T. William Wells: new options for uustat:
|
|
-i display job ids only
|
|
Also, there should perhaps be a configuration option to request uustat
|
|
to only display jobs submitted by the user running uustat, except for
|
|
root and uucp.
|
|
|
|
117.
|
|
|
|
Marc Unangst: provide some way to change the debugging level of a
|
|
running uucico. T. William Wells suggests having it read a file to
|
|
change arbitrary configuration information, although obviously one has
|
|
to be careful of what gets changed while a connection is active.
|
|
|
|
120.
|
|
|
|
Jarmo Raiha: new chat-fail commands: one to not update the status file
|
|
and require a retry wait, and one to permit the string to occur a few
|
|
times before reporting an error.
|
|
|
|
124.
|
|
|
|
Peter da Silva: perhaps there should be a ``chat-end-program'' command
|
|
to let a program be run after the initial handshake has been completed
|
|
and the protocol has been selected and turned on. This would let
|
|
people run stty to change their terminal parameters.
|
|
|
|
128.
|
|
|
|
Richard Stallman: have an interactive program to set up a chat script.
|
|
It would let you type directly to the port, recording what you type as
|
|
send strings and recording what comes back from the other side as
|
|
expect strings.
|
|
|
|
129.
|
|
|
|
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
|
|
the line number reached in current C. file processing. This is a
|
|
hack, and won't work right with size control anyhow, but
|
|
fsysdep_did_work could, for example, clobber the first byte in the
|
|
line to a # or something to mark that it had been finished. Still a
|
|
hack, but a better one.
|
|
|
|
139.
|
|
|
|
Patrick Smith: incorporate patches to generate full debugging traces
|
|
with less debugging file overhead. The debugging file repeats too
|
|
much information at great length right now--not good.
|
|
|
|
141.
|
|
|
|
Franc,ois Pinard: batch up pauses and delays in chat scripts and do
|
|
them all at once in a single system call. This is particularly useful
|
|
for pauses on systems which don't support subsecond sleeps. For
|
|
everything else it's a fairly minor optimization.
|
|
|
|
142.
|
|
|
|
Franc,ois Pinard: give uustat an option to requeue jobs to another
|
|
system. This only makes a lot of sense for rmail executions, but it's
|
|
fairly easy to do for any type of command. I think uucico does all
|
|
the file checking needed to ensure that this doesn't break security,
|
|
but that should be double-checked.
|
|
|
|
144.
|
|
|
|
T. William Wells: add a -g option to uucico to permit specifying the
|
|
maximum grade to be transferred at that time. This could restrict the
|
|
timegrade command further, but should not be permitted to override it.
|
|
|
|
145.
|
|
|
|
T. William Wells: if uucico or uuxqt get started with bad arguments,
|
|
put an indication in the log file since stderr may be /dev/null.
|
|
|
|
146.
|
|
|
|
Richard Todd: it would be nice to sometimes be able to request the
|
|
other side to turn on debugging.
|
|
|
|
147.
|
|
|
|
Bart Schaefer: some more possible options for uucico:
|
|
-R reverse roles (hangup immediately). Not too exciting.
|
|
some method to restrict calling to particular systems.
|
|
|
|
148.
|
|
|
|
Jarmo Raiha: some method to control the work queue at the remote end.
|
|
This could get awfully general, though.
|
|
|
|
149.
|
|
|
|
The interaction of the time command and defaults can be confusing,
|
|
since any time command in the actual system entry, even a fairly
|
|
specific one, will wipe out the default entry. Not sure what can be
|
|
done about this.
|
|
|
|
150.
|
|
|
|
Jarmo Raiha: should there be some way to specify modem initialization
|
|
strings when uucico is hanging on a port with -l or -e? This would
|
|
presumably require a new type of chat script associated with a dialer.
|
|
|
|
151.
|
|
|
|
Petri Helenius: log complete CONNECT string reported by modem, so that
|
|
the baud rate is recorded in the log file.
|
|
|
|
152.
|
|
|
|
Marc Evans: let the protocol selection be based on the CONNECT string,
|
|
so that different protocols could be selected based on what type of
|
|
connection was made.
|
|
|
|
153.
|
|
|
|
Chris Lewis: provide a signal to get a core dump even on systems which
|
|
won't do core dumps if the uid is not the euid. One could catch a
|
|
signal, call setuid (getuid ()), and then raise the signal again.
|
|
Unfortunately the core dump has to wind up in a directory which is
|
|
world writable, so that the process is able to create the core file,
|
|
but is not world readable, since that would permit anybody to read the
|
|
core dump file and extract private information from it.
|
|
|
|
154.
|
|
|
|
Les Mikesell: write a new version of dial.o, with provisions for
|
|
running a chat script.
|
|
|
|
155.
|
|
|
|
Scott Blachowicz: perhaps there should be some way to telling uucico
|
|
to not log certain errors. This could get fairly complex, though.
|
|
|
|
156.
|
|
|
|
Franc,ois Pinard: have uustat -m report the time of the last
|
|
successful conversation when reporting a failure.
|
|
|
|
158.
|
|
|
|
Thomas Fischer: should there be a way to completely disable an entry
|
|
in the sys, port or dial file? Such as a ``disable'' command?
|
|
|
|
159.
|
|
|
|
Petri Helenius: when uuxqt -s is invoked, lock uuxqt for the system so
|
|
that only one uuxqt is invoked per system. If the -c option is used,
|
|
don't lock on a per system basis, and ignore any per system locks
|
|
(regardless of -s). If neither option is used, respect existing
|
|
system and command locks, and do any other type of file.
|
|
|
|
161.
|
|
|
|
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.
|
|
|
|
165.
|
|
|
|
Marc Sheldon: use exit codes from <sysexits.h> in uux and uucp.
|
|
|
|
166.
|
|
|
|
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
|
|
hang up the connection. This requires a protocol extension, since
|
|
there's no way to force the other side to hang up. The best we can do
|
|
without an extension is refuse to send any new jobs ourselves. Of
|
|
course, we could just drop the connection.
|
|
|
|
169.
|
|
|
|
Franc,ois Pinard: when given uustat -k00FC, check each possible job ID
|
|
and use it if there is an unambiguous one.
|
|
|
|
170.
|
|
|
|
T. William Wells: if ! HAVE_SETREUID && ! HAVE_SAVED_SETUID, fork a
|
|
subprocesses to revoke setuid and read the file over a pipe.
|
|
|
|
171.
|
|
|
|
Provide some option to have the internal uuconf functions not start
|
|
with an underscore.
|
|
|
|
172.
|
|
|
|
T. William Wells: have some way to configure the parity for cu.
|
|
|
|
173.
|
|
|
|
Gert Doering: uuchk should display unknown system information.
|
|
|
|
175.
|
|
|
|
T. William Wells:
|
|
Cu will not let itself be interrupted before the connection is
|
|
established. If the chat script doesn't write something, cu does
|
|
something odd, I've forgotten exactly what. Cu takes an
|
|
inordinate amount of time after the line drops to exit. Somebody,
|
|
cu, I think, but maybe uucico, drops dtr twice sometimes. Again,
|
|
somebody will attempt to write after a hangup signal has been
|
|
received. Once a hangup has been received, I/O should not be
|
|
attempted. Among other things this will save the bacon of those
|
|
who have brain damaged serial drivers (FAS, sigh, is among them)
|
|
that don't handle output properly on a dropped line.
|
|
|
|
Me:
|
|
Note that sometimes you do want to write to a line after receiving a
|
|
hangup signal. For example, you might want to use ATZ to reset a
|
|
modem.
|
|
|
|
176.
|
|
|
|
Hans-Dieter Doll: provide some way (another escape sequence) to pass
|
|
the protocol to a chat-program. Or, allow the protocol as an argument
|
|
to the chat script command, which is more general, but maybe a bit too
|
|
fancy.
|
|
|
|
177.
|
|
|
|
Nickolay Saukh: use a default port for cu, you can just do ``cu
|
|
number''.
|
|
|
|
178.
|
|
|
|
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
|
|
system to start sending from that point. We currently accept SVR4
|
|
style remote file positioning requests, but we do not generate them.
|
|
|
|
181.
|
|
|
|
Mark Powell: provide some way to restrict file transfer by size as
|
|
well as grade? One way would be to let uux select the grade based on
|
|
the file size.
|
|
|
|
182.
|
|
|
|
Mark Powell: permit using multiple timetables in a single time
|
|
statement.
|
|
|
|
183.
|
|
|
|
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
|
|
hold up the queue. Unfortunately, I don't know what can be done
|
|
except deny the command and report it. Reporting a garbled command
|
|
error should report the command correctly, rather than just the first
|
|
character.
|
|
|
|
186.
|
|
|
|
Franc,ois Pinard: have an option to control nostop vs. stop on the cu
|
|
command line.
|
|
|
|
187.
|
|
|
|
Fix the notion of %nostop to be SVID compatible.
|
|
|
|
188.
|
|
|
|
Frank Conrad: provide a means to set the strip mode for a port, to
|
|
make it easy to use it from cu.
|
|
|
|
189.
|
|
|
|
Marc Unangst: there should be a way to specify that a system should
|
|
only be called if there are jobs of a certain grade, but if the system
|
|
is called then jobs of any grade should be transferred. This
|
|
basically means splitting the ``timegrade'' command into two commands:
|
|
``place-call-timegrade'' and ``transfer-timegrade''. Or maybe another
|
|
optional argument to ``timegrade'':
|
|
timegrade grade time-string [retry] [transfer-any]
|
|
not to mention
|
|
time time-string [retry] [transfer-any]
|
|
Or maybe a separate command for a system or port like
|
|
transfer-any BOOL
|
|
|
|
190.
|
|
|
|
Chip Salzenberg: it would be really nice if uucico could automatically
|
|
figure out when it could use an E command, so that uux didn't have to
|
|
generate it and so that uucico could use with other versions of uux.
|
|
Unfortunately, it would require uucico to read the execution file to
|
|
see if it were suitable; this would be complex, but it would probably
|
|
be worth it since normally the execution file would wind up not being
|
|
sent. Of course, the current method works too; it's just harder to
|
|
combine with other versions of UUCP.
|
|
|
|
191.
|
|
|
|
Brian J. Murrell: should there be a way to cu a specific alternate?
|
|
|
|
192.
|
|
|
|
Andrew A. Chernov: Perhaps cu -pport system should be able to try
|
|
different alternates for the system, because there might be different
|
|
phone numbers to try.
|
|
|
|
193.
|
|
|
|
Brian J. Murrell: it would be nice to be able to ^C a cu chat script
|
|
if you know it's going to fail. Right now you have to use ^\.
|
|
|
|
194.
|
|
|
|
Steven S. Dick: have some way to force uucico off the phone at a
|
|
certain time. If that is done, it might be cool to have some way to
|
|
predict how long a file transfer will take, and not do it if it will
|
|
take too long. But, if doing file restart, you can just quit and then
|
|
pick it up later.
|
|
|
|
195.
|
|
|
|
Franc,ois Pinard: if the disk fills up, or some other error occurs,
|
|
while receiving a file, perhaps it would make sense to turn the
|
|
connection around immediately and see if the other side had anything
|
|
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.
|
|
|
|
198.
|
|
|
|
Lele Gaifax: mention the device in Stats, and provide some way to
|
|
associate the entry in Log with the entry in Stats.
|
|
|
|
199.
|
|
|
|
Michael Richardson: provide some way to turn on parity for the login
|
|
chat, since some systems apparently require it. Provide some way for
|
|
cu to control parity after connecting.
|
|
|
|
200.
|
|
|
|
Chip Salzenberg: add max-remote-debug to config.
|
|
|
|
201.
|
|
|
|
Gert Doering: change the timeout message in chat scripts to reflect
|
|
which chat script timed out (dialer or login).
|
|
|
|
202.
|
|
|
|
Bill Foote: have uuchk check whether a system is defined more than
|
|
once.
|
|
|
|
203.
|