SHA256
1
0
forked from pool/uucp
Dr. Werner Fink 2017-03-31 14:49:30 +00:00 committed by Git OBS Bridge
parent 80d00e41e4
commit 8c12bf97ce
12 changed files with 544 additions and 177 deletions

View File

@ -0,0 +1,40 @@
I use uucp over a pseudo-tty allocated by ssh with the i protocol.
Especially I call several peers via this method.
With the attached patch I can use one single port definition like
port ssh
type pipe
command /usr/bin/ssh <lots of ssh options> \H
instead of one port definitioon per peer.The sys definitions then all
look like
system uucp-peer
address uucppeer.example.com
port ssh
Besides, the built-in tcp port could be replaced with this patch and
netcat, or the tty port with chat.
I thought it might be of general interest.
--- uucp-1.07/unix/pipe.c
+++ uucp-1.07/unix/pipe.c 1999-10-18 21:46:07.000000000 +0000
@@ -199,6 +199,7 @@ fspipe_dial (qconn, puuconf, qsys, zphon
struct ssysdep_conn *q;
int aidescs[3];
const char **pzprog;
+ char **p;
q = (struct ssysdep_conn *) qconn->psysdep;
@@ -211,6 +212,11 @@ fspipe_dial (qconn, puuconf, qsys, zphon
ulog (LOG_ERROR, "No command for pipe connection");
return FALSE;
}
+
+ /* Look for a string \H and replaced it by the address given for this system */
+ for (p=pzprog; *p; p++)
+ if (!strcmp(*p, "\\H"))
+ *p = zphone;
aidescs[0] = SPAWN_WRITE_PIPE;
aidescs[1] = SPAWN_READ_PIPE;

21
fix-proty-gcc33.patch Normal file
View File

@ -0,0 +1,21 @@
Index: proty.c
===================================================================
RCS file: /var/cvs/weasel/debian/uucp/proty.c,v
retrieving revision 1.1.1.3
retrieving revision 1.2
diff -u -r1.1.1.3 -r1.2
--- proty.c 12 Oct 2003 23:29:46 -0000 1.1.1.3
+++ proty.c 13 Mar 2004 18:37:37 -0000 1.2
@@ -606,12 +606,7 @@
#endif
#endif
-#ifdef I386_ASM
-#define ROTATE(i) \
- asm ("rolw $1,%0" : "=g" (i) : "g" (i))
-#else
#define ROTATE(i) i += i + ((i & 0x8000) >> 15)
-#endif
static unsigned short
iychecksum (z, c)

View File

@ -2,7 +2,18 @@
Description=SSL tunnel for uucp
After=syslog.target network.target
# The config needs to be adjusted by the admin, see example file in /etc/uucp/
# Helpful guide http://ftp.gnumonks.org/pub/doc/uucp-over-ssl.html
# Just an proposal without any without obligation, without any warranty, and
# at your own risk:
#
# Creation of /etc/uucp/stunnel.pem used in /etc/uucp/suucp-server.conf(.example)
# > umask 022
# > cp -p /etc/uucp/suucp-server.conf.example /etc/uucp/suucp-server.conf
# > openssl req -new -x509 -days 3650 -utf8 -nodes -keyout /etc/uucp/stunnel.pem -out /etc/uucp/stunnel.pem
# > dd if=/dev/urandom count=4 | openssl dhparam -rand - 1024 >> /etc/uucp/stunnel.pem
#
# Fingerprint
# > openssl x509 -text -subject -dates -fingerprint -noout -in /etc/uucp/stunnel.pem
#
ConditionPathExists=/etc/uucp/suucp-server.conf
[Service]

View File

@ -1,5 +1,24 @@
---
contrib/Makefile.uurt | 2 +-
contrib/Makefile.xchat | 2 +-
contrib/amiga.c | 2 +-
contrib/stats.sh | 2 +-
contrib/uuclean | 4 ++--
contrib/uudemon.shar | 2 +-
contrib/uupoll.shar | 32 +++++++++++++++-----------------
contrib/uuq.sh | 2 +-
contrib/uurate.c | 3 ++-
contrib/uurate.man | 6 +++---
contrib/uureroute.perl | 4 ++--
contrib/uusnap.c | 2 +-
contrib/uutraf | 6 +++---
contrib/uutry | 9 +++++----
contrib/xc-conf.h-dist | 4 ++--
contrib/xchat.man | 4 ++--
16 files changed, 43 insertions(+), 43 deletions(-)
--- contrib/Makefile.uurt
+++ contrib/Makefile.uurt Thu Jun 26 16:47:59 2003
+++ contrib/Makefile.uurt 2017-03-31 12:12:47.894874344 +0000
@@ -3,7 +3,7 @@
#
@ -10,7 +29,7 @@
# Directory where the needed .h files are installed (uucp.h ...).
uucpsrcs = ../
--- contrib/Makefile.xchat
+++ contrib/Makefile.xchat Thu Jun 26 16:47:59 2003
+++ contrib/Makefile.xchat 2017-03-31 12:12:47.974872857 +0000
@@ -5,7 +5,7 @@
#
CC=cc
@ -21,7 +40,7 @@
#-----------
--- contrib/amiga.c
+++ contrib/amiga.c Thu Jun 26 16:51:06 2003
+++ contrib/amiga.c 2017-03-31 12:12:48.058871296 +0000
@@ -30,7 +30,7 @@
int main(int argc,char *argv[],char *envp)
{
@ -32,7 +51,7 @@
if (sysm68k(_m68k_LIMUSER,EUA_GET_LIC) == 0 ) { /* are we unlicensed? */
if (sysm68k(_m68k_LIMUSER,EUA_UUCP) == -1) { /* yes, get a "uucp"
--- contrib/stats.sh
+++ contrib/stats.sh Thu Jun 26 16:47:59 2003
+++ contrib/stats.sh 2017-03-31 12:12:48.146869661 +0000
@@ -8,7 +8,7 @@
# (since baud is not really the correct name for it and bits/s actually
# depends on the number of start and stop bits etc)
@ -43,7 +62,7 @@
BEGIN {
printf(" UUCP transmission history:\n");
--- contrib/uuclean
+++ contrib/uuclean Thu Jun 26 16:47:59 2003
+++ contrib/uuclean 2017-03-31 12:12:48.218868323 +0000
@@ -3,8 +3,8 @@
# Do whatever you like with this script.
#
@ -56,8 +75,8 @@
# Warn about all mail over two days old
$(bindir)/uustat -c rmail -o 48 -N -Q -W"Unable to deliver; will try up to one week"
--- contrib/uudemon.shar
+++ contrib/uudemon.shar Thu Jun 26 16:47:59 2003
@@ -43,7 +43,7 @@
+++ contrib/uudemon.shar 2017-03-31 12:12:48.294866911 +0000
@@ -43,7 +43,7 @@ X
X# change LIBDIR to where UUCP library/conf. files are
X# change SPOOLDIR to the UUCP spool directory. It must be HDB-ish.
XLIBDIR=/usr/lib/uucp; export LIBDIR
@ -67,8 +86,8 @@
X### no changes needed past here ###
X
--- contrib/uupoll.shar
+++ contrib/uupoll.shar Thu Jun 26 16:47:59 2003
@@ -33,7 +33,7 @@
+++ contrib/uupoll.shar 2017-03-31 12:12:48.382865275 +0000
@@ -33,7 +33,7 @@ sed 's/^X//' << 'SHAR_EOF' > 'uupoll/Mak
# borrowed and hacked from Taylor UUCP 1.04
X
# Prefix directory for installation directories.
@ -77,7 +96,7 @@
X
# The user name/group that should own the resulting executables.
# Both should run suid.
@@ -174,7 +174,7 @@
@@ -174,7 +174,7 @@ it was to automate the task of reschedul
started by an entry in the crontab tables in just the same way uucico is
started (it will start uucico):
X
@ -86,7 +105,7 @@
X
Any messages go to stderr or a file (if compiled with that option); in case
the file could not be opened it will use stdout to tell you just that and quit.
@@ -384,12 +384,10 @@
@@ -384,12 +384,10 @@ without any alias expansion done.
a failing call.
.SH FILES
.nf
@ -103,7 +122,7 @@
X directories will hold the null jobs.
/tmp/poll.log This file is present only if autopoll
X has been compiled to place the messages
@@ -1672,15 +1670,15 @@
@@ -1672,15 +1670,15 @@ X
/* Define the complete path to the uuname program.
X * If undefined we'll use just the name 'uuname' to call it
X * */
@ -122,7 +141,7 @@
X
/* at least one of the follwing must be defined To use the second or
X * third set of definitions, change the ``#if 1'' to ``#if 0''
@@ -1724,7 +1722,7 @@
@@ -1724,7 +1722,7 @@ X
X * This will assure that we get the one we want
X * The path must be the same as given in Makefile (lbindir)
X * */
@ -131,7 +150,7 @@
X
/* define the path to the directory which is to contain the
X * message log created by autopoll and the file name itself.
@@ -1737,11 +1735,11 @@
@@ -1737,11 +1735,11 @@ X
/* define the full path to the directory which holds the status files
X * The name should be given *except* the sitename. A trailing `/' if any
X * must be given.
@ -146,7 +165,7 @@
#endif
SHAR_EOF
chmod 0444 uupoll/conf.h ||
@@ -1906,10 +1904,10 @@
@@ -1906,10 +1904,10 @@ for
.IR all
sites given. That may lead to a `No port available' condition.
.SH FILES
@ -160,7 +179,7 @@
X compiled to place the messages into a file.
X Otherwise all messages will go to stderr.
--- contrib/uuq.sh
+++ contrib/uuq.sh Thu Jun 26 16:47:59 2003
+++ contrib/uuq.sh 2017-03-31 12:12:48.462863788 +0000
@@ -4,7 +4,7 @@
# note - uses the uuname script or similar functionality.
# Zacharias Beckman
@ -171,8 +190,17 @@
TMPFILE="/tmp/uuq.tmp"
FORSYSTEM=""
--- contrib/uurate.c
+++ contrib/uurate.c Thu Jun 26 16:47:59 2003
@@ -307,6 +307,7 @@
+++ contrib/uurate.c 2017-03-31 12:13:13.474399028 +0000
@@ -216,7 +216,7 @@ struct Protocol_Summary
struct Host_entry
{
struct Host_entry *next;
- char Hostname[32];
+ char Hostname[MAXHOSTNAMELEN];
struct Execution_Command *cmds; /* Local Activities */
struct Phone_Call call[2]; /* In & Out Activities */
struct Protocol_Summary *proto;
@@ -307,6 +307,7 @@ int main(argc, argv)
int sent, called = IN;
int report = 0; /* if <= 0 give msg that no report was avail. */
int junk;
@ -181,14 +209,14 @@
/* --------------------------------------------------------------------
* P r o l o g
--- contrib/uurate.man
+++ contrib/uurate.man Thu Jun 26 16:47:59 2003
+++ contrib/uurate.man 2017-03-31 12:12:48.630860667 +0000
@@ -1,4 +1,4 @@
-''' $Id: uurate.man,v 1.4 1993/09/28 17:38:31 kdburg Rel $
+'\" $Id: uurate.man,v 1.4 1993/09/28 17:38:31 kdburg Rel $
.TH uurate 1
.SH NAME
uurate \- Report Taylor UUCP statistics
@@ -252,8 +252,8 @@
@@ -252,8 +252,8 @@ configuration file, so these are only ap
.nf
.in +.3in
.ta 2.2i
@ -200,8 +228,8 @@
.IR uucico "(8)"
.SS BUGS
--- contrib/uureroute.perl
+++ contrib/uureroute.perl Thu Jun 26 16:54:33 2003
@@ -34,7 +34,7 @@
+++ contrib/uureroute.perl 2017-03-31 12:12:48.702859328 +0000
@@ -34,7 +34,7 @@ $USAGE = "
#
";
@ -210,7 +238,7 @@
$SHELL = "/bin/sh";
$SMAIL = "/bin/smail";
@@ -61,7 +61,7 @@
@@ -61,7 +61,7 @@ if (!$verbose)
while ($system = shift)
{
$sysprefix = substr ($system, 0, 7);
@ -220,7 +248,7 @@
print "set -ex\n";
while (<UUSTAT>)
--- contrib/uusnap.c
+++ contrib/uusnap.c Thu Jun 26 16:48:01 2003
+++ contrib/uusnap.c 2017-03-31 12:12:48.786857768 +0000
@@ -11,7 +11,7 @@
At the moment it only works with taylor config and taylor dirs
@ -231,8 +259,8 @@
For this, uusnap.[ch] must be in the same directory as uucp.h and so.
--- contrib/uutraf
+++ contrib/uutraf Thu Jun 26 16:48:01 2003
@@ -52,21 +52,21 @@
+++ contrib/uutraf 2017-03-31 12:12:48.870856207 +0000
@@ -52,21 +52,21 @@ if ( $ARGV[0] =~ /^-/ ) {
}
if ( $uucp_type eq "taylor" || $uucp_type eq "gnu" ) {
@ -258,7 +286,7 @@
"(sent|received) (\\d+) b (\\d+) secs";
$uucp_type = 2;
--- contrib/uutry
+++ contrib/uutry Thu Jun 26 16:48:01 2003
+++ contrib/uutry 2017-03-31 12:12:48.954854646 +0000
@@ -14,10 +14,11 @@
# The following variables should be gropped from the configuration
# files rather then being hard coded here.
@ -276,7 +304,7 @@
#
# Default option values
--- contrib/xc-conf.h-dist
+++ contrib/xc-conf.h-dist Thu Jun 26 16:48:01 2003
+++ contrib/xc-conf.h-dist 2017-03-31 12:12:49.038853084 +0000
@@ -26,7 +26,7 @@
* executed. Normally, this is the same place you put your config
* and system files for UUCP.
@ -294,8 +322,8 @@
+#define LOG_DIR "/var/log/uucp/" /* MUST HAVE TRAILING "/" */
--- contrib/xchat.man
+++ contrib/xchat.man Thu Jun 26 16:48:01 2003
@@ -14,7 +14,7 @@
+++ contrib/xchat.man 2017-03-31 12:12:49.114851672 +0000
@@ -14,7 +14,7 @@ script. If
begins with ``/'', then it is assumed to be a full path name for the
script file. If not, a configuration-dependent default directory path
(usually
@ -304,7 +332,7 @@
) is prepended to the script file name. Normally, the default path
is the same as that for the Taylor UUCP configuration files.
.SH DESCRIPTION
@@ -163,7 +163,7 @@
@@ -163,7 +163,7 @@ If
begins with ``/'', it is assumed to be an absolute path name for the
debugging file. If not, then a configuration-dependent default directory
path (usually

50
uucp-1.07-lfs.patch Normal file
View File

@ -0,0 +1,50 @@
--- uucp-1.07/unix/fsusg.h.lfs 2003-05-29 08:08:49.000000000 +0200
+++ uucp-1.07/unix/fsusg.h 2005-07-14 15:18:50.000000000 +0200
@@ -19,13 +19,19 @@
Taylor UUCP. */
/* Space usage statistics for a filesystem. Blocks are 512-byte. */
+
+#if ! HAVE_SYS_STATVFS_H /* not SVR4. */
+typedef long fsblkcnt_t;
+typedef long fsfilcnt_t;
+#endif
+
struct fs_usage
{
- long fsu_blocks; /* Total blocks. */
- long fsu_bfree; /* Free blocks available to superuser. */
- long fsu_bavail; /* Free blocks available to non-superuser. */
- long fsu_files; /* Total file nodes. */
- long fsu_ffree; /* Free file nodes. */
+ fsblkcnt_t fsu_blocks; /* Total blocks. */
+ fsblkcnt_t fsu_bfree; /* Free blocks available to superuser. */
+ fsblkcnt_t fsu_bavail; /* Free blocks available to non-superuser. */
+ fsfilcnt_t fsu_files; /* Total file nodes. */
+ fsfilcnt_t fsu_ffree; /* Free file nodes. */
};
extern int get_fs_usage P((char *path, char *disk, struct fs_usage *fsp));
--- uucp-1.07/unix/fsusg.c.lfs 2003-05-29 08:08:49.000000000 +0200
+++ uucp-1.07/unix/fsusg.c 2005-07-14 15:02:27.000000000 +0200
@@ -90,16 +90,16 @@
#if ! STAT_NONE
-static long adjust_blocks P((long blocks, int fromsize, int tosize));
+static fsblkcnt_t adjust_blocks P((fsblkcnt_t blocks, unsigned long fromsize, unsigned long tosize));
/* Return the number of TOSIZE-byte blocks used by
BLOCKS FROMSIZE-byte blocks, rounding away from zero.
TOSIZE must be positive. Return -1 if FROMSIZE is not positive. */
-static long
+static fsblkcnt_t
adjust_blocks (blocks, fromsize, tosize)
- long blocks;
- int fromsize, tosize;
+ fsblkcnt_t blocks;
+ unsigned long fromsize, tosize;
{
if (tosize <= 0)
abort ();

14
uucp-1.07-sigfpe2.patch Normal file
View File

@ -0,0 +1,14 @@
--- uucp-1.07/log.c.sigfpe2 2005-03-13 09:35:52.500596891 +0100
+++ uucp-1.07/log.c 2005-03-13 09:38:26.414639470 +0100
@@ -671,8 +671,8 @@
}
/* On a system which can determine microseconds we might very well
- have both csecs == 0 and cmicros == 0. */
- if (csecs == 0 && cmicros < 1000)
+ have both csecs == 0 and cmicros == 0. */
+ if (csecs < 0 || (csecs == 0 && cmicros < 1000))
cbps = 0;
else
{

View File

@ -1,11 +1,40 @@
---
.pkgextract | 3 +
Makefile.am | 12 +++--
README.suse | 9 ++++
configure.in | 43 +++++++++++--------
cu.1 | 4 +
logrotate | 23 ++++++++++
policy.h | 64 ++++++++++++++++-------------
unix/lock.c | 1
unix/portnm.c | 2
unix/serial.c | 70 ++++++++++++++++++++++++++++++-
unix/tcp.c | 2
uuchk.1 | 39 +++++++++++++++++
uucico.8 | 4 +
uucico.c | 3 +
uuconv.1 | 74 +++++++++++++++++++++++++++++++++
uucp.1 | 4 +
uucp.texi | 48 ++++++++++-----------
uulog.1 | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
uuname.1 | 72 ++++++++++++++++++++++++++++++++
uupick.1 | 72 ++++++++++++++++++++++++++++++++
uupoll.1 | 27 ++++++++++++
uusched.8 | 25 +++++++++++
uustat.1 | 4 +
uuto.1 | 36 ++++++++++++++++
uux.1 | 4 +
uuxqt.8 | 4 +
26 files changed, 693 insertions(+), 84 deletions(-)
--- .pkgextract
+++ .pkgextract 2006-06-22 10:58:24.000000000 +0000
+++ .pkgextract 2017-03-31 13:21:07.262285353 +0000
@@ -0,0 +1,3 @@
+patch -p0 -s --suffix=.cont < ../uucp-1.07-contrib.dif
+patch -p0 -s --suffix=.grad < ../uucp-1.07-grade.patch
+patch -p0 -s --suffix=.cu < ../uucp-1.07-cu.patch
--- Makefile.am
+++ Makefile.am 2007-02-12 14:59:24.000000000 +0000
+++ Makefile.am 2017-03-31 13:21:07.262285353 +0000
@@ -75,20 +75,24 @@ EXTRA_DIST = uusched.in uuto.in \
dist-hook:
@ -36,7 +65,7 @@
chmod 4555 $(DESTDIR)$(uudirdir)/uudir
endif
--- README.suse
+++ README.suse 2006-06-22 10:58:24.000000000 +0000
+++ README.suse 2017-03-31 13:21:07.266285279 +0000
@@ -0,0 +1,9 @@
+If you want to have a public uucp directory, use the "pubdir" command
+in the sys file and change the permissions of this directory with:
@ -48,7 +77,7 @@
+uucp.uucp 1777.
+
--- configure.in
+++ configure.in 2006-06-22 10:58:24.000000000 +0000
+++ configure.in 2017-03-31 13:21:07.266285279 +0000
@@ -15,6 +15,13 @@ AC_ARG_WITH(user,
AC_DEFINE_UNQUOTED(OWNER, "$OWNER", [user ID for programs; normally uucp])
AC_SUBST(OWNER)
@ -163,7 +192,7 @@
AC_CACHE_VAL(uucp_cv_decl_$1,
[AC_TRY_COMPILE([#include <sys/types.h>
--- cu.1
+++ cu.1 2006-06-22 10:58:24.000000000 +0000
+++ cu.1 2017-03-31 13:21:07.266285279 +0000
@@ -1,4 +1,6 @@
-''' $Id: cu.1,v 1.10 2002/03/05 22:13:33 ian Rel $
+'\"
@ -173,7 +202,7 @@
.SH NAME
cu \- Call up another system
--- logrotate
+++ logrotate 2006-06-22 10:58:24.000000000 +0000
+++ logrotate 2017-03-31 13:21:07.266285279 +0000
@@ -0,0 +1,23 @@
+/var/log/uucp/Log /var/log/uucp/Stats {
+ compress
@ -199,7 +228,7 @@
+ copytruncate
+}
--- policy.h
+++ policy.h 2006-06-22 10:58:24.000000000 +0000
+++ policy.h 2017-03-31 13:21:07.266285279 +0000
@@ -22,6 +22,15 @@
The author of the program may be contacted at ian@airs.com.
*/
@ -254,6 +283,24 @@
#define HAVE_PS_MULTIPLE 0
#endif
#if 0
@@ -302,7 +312,7 @@
/* #define LOCKDIR "/usr/spool/locks" */
/* #define LOCKDIR "/usr/spool/uucp/LCK" */
/* #define LOCKDIR "/var/spool/lock" */
-/* #define LOCKDIR "/var/lock" */
+#define LOCKDIR "/var/lock"
/* You must also specify the format of the lock files by setting
exactly one of the following macros to 1. Check an existing lock
@@ -349,7 +359,7 @@
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 0
+#define HAVE_HDB_LOCKFILES 1
#define HAVE_SCO_LOCKFILES 0
#define HAVE_SVR4_LOCKFILES 0
#define HAVE_SEQUENT_LOCKFILES 0
@@ -420,7 +430,7 @@
the executable. Leaving them out will decrease the executable
size. Leaving them in will make it easier to determine which
@ -300,7 +347,7 @@
systems, you should just make sure that the programs rmail and
rnews can be found using this path. */
-#define CMDPATH "/bin /usr/bin /usr/local/bin"
+#define CMDPATH "/bin /usr/bin /usr/local/bin /usr/lib/news /usr/lib/news/bin"
+#define CMDPATH "/bin /usr/bin /usr/local/bin /usr/sbin /usr/lib/news /usr/lib/news/bin"
/* The default amount of free space to require for systems that do not
specify an amount with the ``free-space'' command. This is only
@ -384,8 +431,148 @@
+#define DEBUGFILE "/var/spool/uucp/.Admin/audit.local"
#endif /* HAVE_HDB_LOGGING */
--- unix/lock.c
+++ unix/lock.c 2017-03-31 13:21:07.266285279 +0000
@@ -429,6 +429,7 @@ fsdo_lock (zlock, fspooldir, pferr)
zerr = "remove";
break;
}
+ sleep(1);
fret = TRUE;
continue;
}
--- unix/portnm.c
+++ unix/portnm.c 2017-03-31 13:21:07.266285279 +0000
@@ -32,7 +32,7 @@ zsysdep_port_name (ftcp_port)
#if HAVE_TCP
{
- size_t clen;
+ socklen_t clen;
struct sockaddr s;
clen = sizeof (struct sockaddr);
--- unix/serial.c
+++ unix/serial.c 2017-03-31 13:26:14.012531153 +0000
@@ -36,6 +36,7 @@ const char serial_rcsid[] = "$Id: serial
#include <errno.h>
#include <ctype.h>
+#include <stdio.h>
#if HAVE_SYS_PARAM_H
#include <sys/param.h>
@@ -1018,6 +1019,45 @@ static struct sbaud_table
#ifdef B4000000
{ B4000000, 4000000 },
#endif
+#ifdef B230400
+ { B230400, 230400 },
+#endif
+#ifdef B460800
+ { B460800, 460800 },
+#endif
+#ifdef B500000
+ { B500000, 500000 },
+#endif
+#ifdef B576000
+ { B576000, 576000 },
+#endif
+#ifdef B921600
+ { B921600, 921600 },
+#endif
+#ifdef B1000000
+ { B1000000, 1000000 },
+#endif
+#ifdef B1152000
+ { B1152000, 1152000 },
+#endif
+#ifdef B1500000
+ { B1500000, 1500000 },
+#endif
+#ifdef B2000000
+ { B2000000, 2000000 },
+#endif
+#ifdef B2500000
+ { B2500000, 2500000 },
+#endif
+#ifdef B3000000
+ { B3000000, 3000000 },
+#endif
+#ifdef B3500000
+ { B3500000, 3500000 },
+#endif
+#ifdef B4000000
+ { B4000000, 4000000 },
+#endif
{ B0, 0 }
};
@@ -2559,16 +2599,40 @@ fsysdep_conn_read (qconn, zbuf, pclen, c
else
csleepchars = MAX_INPUT - 10;
+#ifndef BUG
+ if (q->ibaud)
+ {
+ isleep = (int) (((long) csleepchars * 10000L) / q->ibaud);
+ isleep -= 10;
+ }
+ else
+ {
+ isleep = 1000; /* I hope, a second is right... */
+ }
+#else
isleep = (int) (((long) csleepchars * 10000L) / q->ibaud);
isleep -= 10;
+#endif
if (isleep > 10)
{
struct timeval s;
-
+#ifndef BUG
+ if (q->ibaud)
+ {
+ s.tv_sec = (long) 10240 / q->ibaud;
+ s.tv_usec = ((((long) 1024000000 / q->ibaud) * (long) 10)
+ % (long) 1000000);
+ }
+ else
+ {
+ s.tv_sec = 1;
+ s.tv_usec = 0;
+ }
+#else
s.tv_sec = isleep / 1000;
s.tv_usec = (isleep % 1000) * 1000;
-
+#endif
/* Some versions of select take a pointer to an int,
while some take a pointer to an fd_set. I just cast
the arguments to a generic pointer, and assume that
@@ -3066,7 +3130,7 @@ fsysdep_conn_io (qconn, zwrite, pcwrite,
we don't need to use the catch stuff, since we know
that HAVE_RESTARTABLE_SYSCALLS is 0. */
usset_signal (SIGALRM, usalarm, TRUE, (boolean *) NULL);
- if (q->fterminal)
+ if (q->fterminal && q->ibaud)
alarm ((int) ((long) 10240 / q->ibaud) + 1);
else
alarm (1);
--- unix/tcp.c
+++ unix/tcp.c 2017-03-31 13:21:07.266285279 +0000
@@ -395,7 +395,7 @@ ftcp_open (qconn, ibaud, fwait, fuser)
while (! FGOT_SIGNAL ())
{
sockaddr_storage speer;
- size_t clen;
+ socklen_t clen;
int onew;
pid_t ipid;
--- uuchk.1
+++ uuchk.1 2006-06-22 13:33:29.000000000 +0000
+++ uuchk.1 2017-03-31 13:21:07.270285203 +0000
@@ -0,0 +1,39 @@
+.TH uuchk 1 "Taylor UUCP 1.07"
+.\" manual page source format generated by PolyglotMan v3.0.8+X.Org,
@ -427,7 +614,7 @@
+.B info uucp 'Invoking uuchk'
+.RE
--- uucico.8
+++ uucico.8 2006-06-22 10:58:24.000000000 +0000
+++ uucico.8 2017-03-31 13:21:07.270285203 +0000
@@ -1,4 +1,6 @@
-''' $Id: uucico.8,v 1.20 2002/03/05 22:20:48 ian Rel $
+'\"
@ -437,7 +624,7 @@
.SH NAME
uucico \- UUCP file transfer daemon
--- uucico.c
+++ uucico.c 2006-06-22 10:58:24.000000000 +0000
+++ uucico.c 2017-03-31 13:21:07.270285203 +0000
@@ -981,6 +981,9 @@ fcall (puuconf, zconfig, fuuxqt, qorigsy
continue;
}
@ -449,7 +636,7 @@
/* Make sure this is a legal time to call. */
--- uuconv.1
+++ uuconv.1 2006-06-22 14:03:11.000000000 +0000
+++ uuconv.1 2017-03-31 13:21:07.270285203 +0000
@@ -0,0 +1,74 @@
+.TH uuconv 1 "Taylor UUCP 1.07"
+.\" manual page source format generated by PolyglotMan v3.0.8+X.Org,
@ -526,7 +713,7 @@
+.B info uucp 'Invoking uuconv'
+.RE
--- uucp.1
+++ uucp.1 2006-06-22 10:58:25.000000000 +0000
+++ uucp.1 2017-03-31 13:21:07.270285203 +0000
@@ -1,4 +1,6 @@
-''' $Id: uucp.1,v 1.12 2002/03/05 22:13:33 ian Rel $
+'\"
@ -536,7 +723,7 @@
.SH NAME
uucp \- Unix to Unix copy
--- uucp.texi
+++ uucp.texi 2006-06-22 10:58:25.000000000 +0000
+++ uucp.texi 2017-03-31 13:21:07.270285203 +0000
@@ -2289,8 +2289,8 @@ system switch (e.g., @samp{uucico -s uun
you what happens. The exact location of the log file depends upon the
settings in @file{policy.h} when you compiled the program, and on the
@ -705,7 +892,7 @@
@ifset faq
--- uulog.1
+++ uulog.1 2006-06-22 14:03:34.000000000 +0000
+++ uulog.1 2017-03-31 13:21:07.274285128 +0000
@@ -0,0 +1,128 @@
+.TH uulog 1 "Taylor UUCP 1.07"
+.\" manual page source format generated by PolyglotMan v3.0.8+X.Org,
@ -836,7 +1023,7 @@
+.RE
+
--- uuname.1
+++ uuname.1 2006-06-22 14:03:52.000000000 +0000
+++ uuname.1 2017-03-31 13:21:07.274285128 +0000
@@ -0,0 +1,72 @@
+.TH uuname 1 "Taylor UUCP 1.07"
+.\" manual page source format generated by PolyglotMan v3.0.8+X.Org,
@ -911,7 +1098,7 @@
+.RE
+
--- uupick.1
+++ uupick.1 2006-06-22 14:04:13.000000000 +0000
+++ uupick.1 2017-03-31 13:21:07.274285128 +0000
@@ -0,0 +1,72 @@
+.TH uupick 1 "Taylor UUCP 1.07"
+.\" manual page source format generated by PolyglotMan v3.0.8+X.Org,
@ -985,8 +1172,38 @@
+.RS 5
+.B info uucp 'Invoking uupick'
+.RE
--- uupoll.1
+++ uupoll.1 2017-03-31 13:21:07.274285128 +0000
@@ -0,0 +1,27 @@
+.\" This is under the same license as uupoll itself
+.TH UUPOLL 1
+.SH NAME
+uupoll \- Poll a system manually
+.SH SYNOPSIS
+.B uupoll
+[\fI-n\fR] [\fI-xNUM\fR] <\fBsystem\fR>
+.SH DESCRIPTION
+.I Uupoll
+is a program that polls a system manually like uudemon.hr would do when
+the system is scheduled. This shell script assumes Taylor UUCP and
+Taylor style log files.
+.SH OPTIONS
+.TP
+\fB-n\fR
+Do not batch news for this system.
+.TP
+\fB-xNUM\fR
+Set the debugging level to \fBNUM\fR.
+.SH BUGS
+None apparent.
+.SH "SEE ALSO"
+.BR uucp(1),
+.BR sh(1)
+.SH AUTHOR
+This manual page is a quick write-up for Debian done by Kevin Kreamer
+<kkreamer@etherhogz.org>.
--- uusched.8
+++ uusched.8 2006-06-22 14:02:20.000000000 +0000
+++ uusched.8 2017-03-31 13:21:07.274285128 +0000
@@ -0,0 +1,25 @@
+.TH uusched 8 "Taylor UUCP 1.07"
+.\" manual page source format generated by PolyglotMan v3.0.8+X.Org,
@ -1014,7 +1231,7 @@
+.B info uucp 'Invoking uusched'
+.RE
--- uustat.1
+++ uustat.1 2006-06-22 10:58:25.000000000 +0000
+++ uustat.1 2017-03-31 13:21:07.274285128 +0000
@@ -1,4 +1,6 @@
-''' $Id: uustat.1,v 1.14 2002/03/05 22:15:10 ian Rel $
+'\"
@ -1024,7 +1241,7 @@
.SH NAME
uustat \- UUCP status inquiry and control
--- uuto.1
+++ uuto.1 2006-06-22 14:10:32.000000000 +0000
+++ uuto.1 2017-03-31 13:21:07.274285128 +0000
@@ -0,0 +1,36 @@
+.TH uuto 1 "Taylor UUCP 1.07"
+.\" manual page source format generated by PolyglotMan v3.0.8+X.Org,
@ -1063,7 +1280,7 @@
+.RE
+
--- uux.1
+++ uux.1 2006-06-22 10:58:25.000000000 +0000
+++ uux.1 2017-03-31 13:21:07.274285128 +0000
@@ -1,4 +1,6 @@
-''' $Id: uux.1,v 1.15 2002/03/05 22:20:48 ian Rel $
+'\"
@ -1073,7 +1290,7 @@
.SH NAME
uux \- Remote command execution over UUCP
--- uuxqt.8
+++ uuxqt.8 2006-06-22 10:58:25.000000000 +0000
+++ uuxqt.8 2017-03-31 13:21:07.274285128 +0000
@@ -1,4 +1,6 @@
-''' $Id: uuxqt.8,v 1.10 2002/03/05 22:20:48 ian Rel $
+'\"
@ -1082,112 +1299,3 @@
.TH uuxqt 8 "Taylor UUCP 1.07"
.SH NAME
uuxqt \- UUCP execution daemon
--- unix/lock.c
+++ unix/lock.c 2006-06-22 10:58:25.000000000 +0000
@@ -429,6 +429,7 @@ fsdo_lock (zlock, fspooldir, pferr)
zerr = "remove";
break;
}
+ sleep(1);
fret = TRUE;
continue;
}
--- unix/portnm.c
+++ unix/portnm.c 2006-06-22 10:58:25.000000000 +0000
@@ -32,7 +32,7 @@ zsysdep_port_name (ftcp_port)
#if HAVE_TCP
{
- size_t clen;
+ socklen_t clen;
struct sockaddr s;
clen = sizeof (struct sockaddr);
--- unix/serial.c
+++ unix/serial.c 2006-06-22 10:58:25.000000000 +0000
@@ -36,6 +36,7 @@ const char serial_rcsid[] = "$Id: serial
#include <errno.h>
#include <ctype.h>
+#include <stdio.h>
#if HAVE_SYS_PARAM_H
#include <sys/param.h>
@@ -1016,6 +1017,45 @@ static struct sbaud_table
#ifdef B4000000
{ B4000000, 4000000 },
#endif
+#ifdef B230400
+ { B230400, 230400 },
+#endif
+#ifdef B460800
+ { B460800, 460800 },
+#endif
+#ifdef B500000
+ { B500000, 500000 },
+#endif
+#ifdef B576000
+ { B576000, 576000 },
+#endif
+#ifdef B921600
+ { B921600, 921600 },
+#endif
+#ifdef B1000000
+ { B1000000, 1000000 },
+#endif
+#ifdef B1152000
+ { B1152000, 1152000 },
+#endif
+#ifdef B1500000
+ { B1500000, 1500000 },
+#endif
+#ifdef B2000000
+ { B2000000, 2000000 },
+#endif
+#ifdef B2500000
+ { B2500000, 2500000 },
+#endif
+#ifdef B3000000
+ { B3000000, 3000000 },
+#endif
+#ifdef B3500000
+ { B3500000, 3500000 },
+#endif
+#ifdef B4000000
+ { B4000000, 4000000 },
+#endif
{ B0, 0 }
};
@@ -2557,8 +2597,20 @@ fsysdep_conn_read (qconn, zbuf, pclen, c
else
csleepchars = MAX_INPUT - 10;
+#ifndef BUG
+ if (q->ibaud)
+ {
+ isleep = (int) (((long) csleepchars * 10000L) / q->ibaud);
+ isleep -= 10;
+ }
+ else
+ {
+ isleep = 1000; /* I hope, a second is right... */
+ }
+#else
isleep = (int) (((long) csleepchars * 10000L) / q->ibaud);
isleep -= 10;
+#endif
if (isleep > 10)
{
--- unix/tcp.c
+++ unix/tcp.c 2006-06-22 10:58:25.000000000 +0000
@@ -395,7 +395,7 @@ ftcp_open (qconn, ibaud, fwait, fuser)
while (! FGOT_SIGNAL ())
{
sockaddr_storage speer;
- size_t clen;
+ socklen_t clen;
int onew;
pid_t ipid;

3
uucp-rpmlintrc Normal file
View File

@ -0,0 +1,3 @@
addFilter(".*name-repeated-in-summary.*")
addFilter(".*binary-or-shlib-calls-gethostbyname.*")
addFilter(".*missing-call-to-setgroups-before-setuid.*")

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Mar 31 13:54:24 UTC 2017 - werner@suse.de
- Provide both uucp/suucp xinetd *and* systemd activated service
- Add patches
* address-wildcard-in-port.patch
* fix-proty-gcc33.patch
* uucp-1.07-sigfpe2.patch
to fix potential crashes with SIGFPE
* uucp-1.07-lfs.patch
to fix truncation of values on 32bit platforms where statvfs64
is being called on a lfs
- Add xinetd.uucp and uucp.pam
-------------------------------------------------------------------
Thu Oct 27 11:32:24 CEST 2016 - kukuk@suse.de

7
uucp.pam Normal file
View File

@ -0,0 +1,7 @@
#
# The PAM configuration file for uucpd logins
#
auth include common-auth
account include common-account
session include common-session

View File

@ -29,6 +29,9 @@ Source3: suucp.service
Source4: uucpman.sh
Source5: uucp@.service
Source6: uucp.socket
Source7: uucp.pam
Source8: xinetd.uucp
Source9: uucp-rpmlintrc
Patch0: uucp-1.07.dif
Patch1: uucp-1.07-contrib.dif
Patch2: uucp-1.07-grade.patch
@ -36,14 +39,20 @@ Patch3: uucp-1.07-cu.patch
Patch4: uucp-1.07-lockdev.patch
Patch5: drop_ftime.patch
Patch6: uucp-texinfo-5.0.patch
Patch7: address-wildcard-in-port.patch
Patch8: fix-proty-gcc33.patch
Patch9: uucp-1.07-lfs.patch
Patch11: uucp-1.07-sigfpe2.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: lockdev-devel
BuildRequires: makeinfo
BuildRequires: pkgconfig
Requires: ca-certificates
Requires: filesystem
Requires: logrotate
Requires: netcfg
Requires: openssl
Requires: rmail
Requires: stunnel
Requires(pre): user(uucp) group(uucp)
@ -70,13 +79,17 @@ account, make sure the directory %{_localstatedir}/spool/uucppublic exists.
%prep
%setup -q
%patch1 -b .cont
%patch2 -b .grad
%patch3 -b .cu
%patch4 -b .lockdev
%patch0
%patch5 -p1
%patch6 -p1
%patch1 -p0 -b .cont
%patch2 -p0 -b .grad
%patch3 -p0 -b .cu
%patch4 -p0 -b .lockdev
%patch0 -p0 -b .p0
%patch5 -p1 -b .p5
%patch6 -p1 -b .p6
%patch7 -p1 -b .p7
%patch8 -p0 -b .p8
%patch9 -p1 -b .p9
%patch11 -p1 -b .p11
%build
autoreconf -fvi
@ -98,6 +111,10 @@ mkdir -p %{buildroot}%{_unitdir}
install -m644 %{SOURCE3} %{buildroot}%{_unitdir}
install -m644 %{SOURCE5} %{buildroot}%{_unitdir}
install -m644 %{SOURCE6} %{buildroot}%{_unitdir}
mkdir -p %{buildroot}%{_sysconfdir}/pam.d
install -m644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pam.d/uucp
mkdir -p %{buildroot}%{_sysconfdir}/xinetd.d
install -m644 %{SOURCE8} %{buildroot}%{_sysconfdir}/xinetd.d/uucp
# move to libexec
mkdir -p -m 755 %{buildroot}%{_libexecdir}/uucp/
mv %{buildroot}%{_sbindir}/uu* %{buildroot}%{_libexecdir}/uucp/
@ -115,9 +132,17 @@ mkdir -p %{buildroot}%{_localstatedir}/log/uucp
chmod 1755 %{buildroot}%{_localstatedir}/log/uucp
tar jxvfpC %{SOURCE1} %{buildroot}%{_defaultdocdir}/uucp
chmod -R u+r,o+r,g+r %{buildroot}%{_defaultdocdir}/uucp/
cp %{buildroot}%{_defaultdocdir}/uucp/cfg_example/taylor_config/suucp-server.conf %{buildroot}%{_sysconfdir}/uucp/suucp-server.conf.example
cp %{buildroot}%{_defaultdocdir}/uucp/cfg_example/taylor_config/suucp-server.conf \
%{buildroot}%{_sysconfdir}/uucp/suucp-server.conf.example
sed -ri '/^connect/ { s/(uucp)/localhost:\1/ }' %{buildroot}%{_sysconfdir}/uucp/suucp-server.conf.example
# rcbla compat symlink
ln -fs service %{buildroot}/%{_sbindir}/rcs%{name}
# manual pages
for man in uulog uuto uuname uupick
do
test -e ${man}.1 || continue
install -m 0644 ${man}.1 %{buildroot}%{_mandir}/man1/
done
%verifyscript
%verify_permissions -e %{_localstatedir}/spool/uucp/
@ -131,10 +156,14 @@ ln -fs service %{buildroot}/%{_sbindir}/rcs%{name}
%pre
%service_add_pre s%{name}.service
%service_add_pre %{name}@.service
%service_add_pre %{name}.socket
%post
%install_info --info-dir=%{_infodir} %{_infodir}/uucp.info%{ext_info}
%service_add_post s%{name}.service
%service_add_post %{name}@.service
%service_add_post %{name}.socket
for log in Log Stats Debug ; do
if test -e %{_localstatedir}/log/uucp/$log ; then
continue
@ -157,9 +186,13 @@ chmod 1755 %{_localstatedir}/log/uucp
%preun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/uucp.info%{ext_info}
%service_del_preun s%{name}.service
%service_del_preun %{name}@.service
%service_del_preun %{name}.socket
%postun
%service_del_postun s%{name}.service
%service_del_postun %{name}@.service
%service_del_postun %{name}.socket
%files
%defattr(-,root,root)
@ -168,7 +201,9 @@ chmod 1755 %{_localstatedir}/log/uucp
%{_unitdir}/s%{name}.service
%{_sbindir}/rcs%{name}
%config(noreplace) %{_sysconfdir}/logrotate.d/uucp
%config %{_sysconfdir}/pam.d/uucp
%config %{_sysconfdir}/%{name}/suucp-server.conf.example
%config %{_sysconfdir}/xinetd.d/uucp
%dir %attr(0750,uucp,uucp) %{_sysconfdir}/uucp/hdb_config
%dir %{_libexecdir}/uucp
%dir %attr(1755,root,root) %{_localstatedir}/log/uucp
@ -192,12 +227,8 @@ chmod 1755 %{_localstatedir}/log/uucp
%{_sbindir}/uuconv
%{_sbindir}/uusched
%{_sbindir}/uuxqt
%{_mandir}/man1/cu.1%{ext_man}
%{_mandir}/man1/uucp.1%{ext_man}
%{_mandir}/man1/uustat.1%{ext_man}
%{_mandir}/man1/uux.1%{ext_man}
%{_mandir}/man8/uucico.8%{ext_man}
%{_mandir}/man8/uuxqt.8%{ext_man}
%{_mandir}/man1/*.1*
%{_mandir}/man8/*.8*
%{_localstatedir}/spool/uucppublic/README
%doc %{_defaultdocdir}/uucp
%attr(0640,root,uucp) %{_defaultdocdir}/uucp/cfg_example/taylor_config/call

40
xinetd.uucp Normal file
View File

@ -0,0 +1,40 @@
#
# The Internet UUCP service.
#
# Find UUCP config examples at
# /usr/share/doc/packages/uucp/cfg_example/taylor_config/
#
service uucp
{
disable = yes
socket_type = stream
protocol = tcp
wait = no
user = uucp
server = /usr/lib/uucp/uucico
server_args = -l
}
# The config needs to be adjusted by the admin, see example file in /etc/uucp/
# Just an proposal without any without obligation, without any warranty, and
# at your own risk:
#
# Creation of /etc/uucp/stunnel.pem used in /etc/uucp/suucp-server.conf(.example)
# > umask 022
# > cp -p /etc/uucp/suucp-server.conf.example /etc/uucp/suucp-server.conf
# > openssl req -new -x509 -days 3650 -utf8 -nodes -keyout /etc/uucp/stunnel.pem -out /etc/uucp/stunnel.pem
# > dd if=/dev/urandom count=4 | openssl dhparam -rand - 1024 >> /etc/uucp/stunnel.pem
#
# Fingerprint
# > openssl x509 -text -subject -dates -fingerprint -noout -in /etc/uucp/stunnel.pem
#
service suucp
{
disable = yes
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/stunnel
server_args = /etc/uucp/suucp-server.conf
}