123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362 |
- --- uucp-1.06.1.orig/contrib/uurate.c
- +++ uucp-1.06.1/contrib/uurate.c
- @@ -82,6 +82,11 @@
- * and one for the errors encountered
- * - reapplied patch by Scott Boyd <scott@futures.com> that I did not
- * get knowledge of
- + *
- + * Ed Doolittle <dolittle@math.toronto.edu> - Sun Aug 8 1999
- + * - shrunk compact summary to fit in 78 characters (time strings only
- + * require 8 characters, not 9)
- + *
- */
- /* $Log: uurate.c,v $
- * Revision 1.15 1994/04/07 21:47:11 kdburg
- @@ -302,6 +307,7 @@
- int sent, called = IN;
- int report = 0; /* if <= 0 give msg that no report was avail. */
- int junk;
- + extern int getopt();
-
- /* --------------------------------------------------------------------
- * P r o l o g
- @@ -980,7 +986,7 @@
- if (cur->next == NULL) /* totals line reached ? */
- hdrprt('s',1); /* print the separator line */
-
- - printf("%-8s %4d %4d %9s %9s %9s %9s %9s %5.0f %5.0f\n",
- + printf("%-8s %4ld %4ld %9s %9s %9s %8s %8s %5.0f %5.0f\n",
- cur->Hostname, rf, sf,
- t1, t2, t3, t4, t5,
- ir, or);
- @@ -1028,7 +1034,7 @@
- hdrprt('p',0); /* print the header line(s) */
- hdr_done = TRUE;
- }
- - printf("%-8s %3s %4d %4d %5d %4d %10d %7d %10d\n",
- + printf("%-8s %3s %4ld %4ld %5ld %4ld %10ld %7ld %10ld\n",
- type == NULL ? " ":cur->Hostname,
- prot->type,
- prot->pr_psizemin,
- @@ -1072,7 +1078,7 @@
- hdrprt('p',1); /* print the header line(s) */
- hdr_done = TRUE;
- }
- - printf("%-8s %3s %11d %11d %11d %11d\n",
- + printf("%-8s %3s %11ld %11ld %11ld %11ld\n",
- type == NULL ? " ":cur->Hostname,
- prot->type,
- prot->pr_eheader,
- @@ -1747,13 +1753,13 @@
- puts("\nCompact summary:");
- puts("----------------");
- puts("\
- -Name of + Files + +------- Bytes/1000 --------+ +------ Time -----+ + Avg CPS +\n\
- -site in out inbound outbound total inbound outbound in out\n\
- --------- ---- ---- --------- --------- --------- --------- --------- ----- -----");
- +Name of + Files + +------- Bytes/1000 --------+ +----- Time ----+ + Avg CPS +\n\
- +site in out inbound outbound total inbound outbound in out\n\
- +-------- ---- ---- --------- --------- --------- -------- -------- ----- -----");
- }
- else
- puts("\
- ---------------------------------------------------------------------------------");
- +------------------------------------------------------------------------------");
- break;
-
-
- --- uucp-1.06.1.orig/system.h
- +++ uucp-1.06.1/system.h
- @@ -303,7 +303,8 @@
- will allow all grades from 'A' to 'Z' and 'a' to 'd'). This
- function should return FALSE on error. */
- extern boolean fsysdep_get_work_init P((const struct uuconf_system *qsys,
- - int bgrade));
- + int bgrade,
- + boolean unlimited));
-
- /* Get the next command to be executed for a remote system. The
- bgrade argument will be the same as for fsysdep_get_work_init;
- --- uucp-1.06.1.orig/trans.c
- +++ uucp-1.06.1/trans.c
- @@ -511,7 +511,7 @@
- if (bgrade == '\0')
- return TRUE;
-
- - if (! fsysdep_get_work_init (qsys, bgrade))
- + if (! fsysdep_get_work_init (qsys, bgrade, FALSE))
- return FALSE;
-
- while (TRUE)
- @@ -670,7 +670,8 @@
- fhangup = FALSE;
-
- if (qdaemon->fhangup_requested
- - && qTsend == NULL)
- + && qTsend == NULL
- + && (qTreceive == NULL || qdaemon->cchans > 1))
- {
- /* The remote system has requested that we transfer
- control by sending CYM after receiving a file. */
- --- uucp-1.06.1.orig/uucico.c
- +++ uucp-1.06.1/uucico.c
- @@ -126,6 +126,9 @@
- struct sconnection *qconn;
- };
-
- +/* min. grade set on commandline */
- +static char cmdlgrade = '\0';
- +
- /* Local functions. */
-
- static void uusage P((void));
- @@ -176,6 +179,7 @@
- { "nodetach", no_argument, NULL, 'D' },
- { "loop", no_argument, NULL, 'e' },
- { "force", no_argument, NULL, 'f'},
- + { "grade", required_argument, NULL, 'g'},
- { "stdin", required_argument, NULL, 'i' },
- { "prompt", no_argument, NULL, 'l' },
- { "port", required_argument, NULL, 'p' },
- @@ -250,9 +254,9 @@
- ++zProgram;
-
- #if COHERENT_C_OPTION
- - zopts = "c:CDefi:I:lp:qr:s:S:u:x:X:vwz";
- + zopts = "c:CDefg:i:I:lp:qr:s:S:u:x:X:vwz";
- #else
- - zopts = "cCDefi:I:lp:qr:s:S:u:x:X:vwz";
- + zopts = "cCDefg:i:I:lp:qr:s:S:u:x:X:vwz";
- #endif
-
- while ((iopt = getopt_long (argc, argv, zopts,
- @@ -293,6 +297,14 @@
- failed call. */
- fforce = TRUE;
- break;
- +
- + case 'g':
- + /* Force a grade */
- + if (isalpha(optarg[0]))
- + cmdlgrade = optarg[0];
- + else
- + fprintf (stderr, "%s: invalid grade \n", zProgram);
- + break;
-
- case 'i':
- /* Type of port to use for standard input. Only TLI is
- @@ -794,6 +806,7 @@
- printf ("Usage: %s [options]\n", zProgram);
- printf (" -s,-S,--system system: Call system (-S implies -f)\n");
- printf (" -f,--force: Force call despite system status\n");
- + printf (" -g,--grade: limit outgoing call to a given grade\n");
- printf (" -r state: 1 for master, 0 for slave (default)\n");
- printf (" --master: Act as master\n");
- printf (" --slave: Act as slave (default)\n");
- @@ -940,6 +953,9 @@
- if (! qsys->uuconf_fcall || qsys->uuconf_qtimegrade == NULL)
- continue;
-
- + if (qport && strcmp (qsys->uuconf_zport,qport->uuconf_zname))
- + continue;
- +
- fnevertime = FALSE;
-
- /* Make sure this is a legal time to call. */
- @@ -1331,12 +1347,18 @@
- boolean fret;
-
- /* Determine the grade we should request of the other system. A
- - '\0' means that no restrictions have been made. */
- - if (! ftimespan_match (qsys->uuconf_qcalltimegrade, &ival,
- - (int *) NULL))
- - bgrade = '\0';
- + '\0' means that no restrictions have been made.
- + If a grade is set on the command line, the calltimegrade-value
- + is overwritten. */
- +
- + if (cmdlgrade != '\0')
- + bgrade = cmdlgrade;
- else
- - bgrade = (char) ival;
- + if (! ftimespan_match (qsys->uuconf_qcalltimegrade, &ival,
- + (int *) NULL))
- + bgrade = '\0';
- + else
- + bgrade = (char) ival;
-
- /* Determine the name we will call ourselves. */
- if (qsys->uuconf_zlocalname != NULL)
- --- uucp-1.06.1.orig/uustat.c
- +++ uucp-1.06.1/uustat.c
- @@ -933,7 +933,7 @@
- {
- boolean fret;
-
- - if (! fsysdep_get_work_init (qsys, UUCONF_GRADE_LOW))
- + if (! fsysdep_get_work_init (qsys, UUCONF_GRADE_LOW, TRUE))
- return FALSE;
-
- while (TRUE)
- @@ -2166,7 +2166,7 @@
- char *zid;
- boolean fret;
-
- - if (! fsysdep_get_work_init (qsys, UUCONF_GRADE_LOW))
- + if (! fsysdep_get_work_init (qsys, UUCONF_GRADE_LOW, TRUE))
- return FALSE;
-
- cwork = 0;
- --- uucp-1.06.1.orig/uuxqt.c
- +++ uucp-1.06.1/uuxqt.c
- @@ -928,6 +928,44 @@
- don't permit multiple arguments. */
- for (i = 1; azQargs[i] != NULL; i++)
- {
- + if (azQargs[i][0] == '-' && azQargs[i][1] == '-')
- + {
- + char *zopts = azQargs[i] + 2;
- +
- + /* The -g, -n, and -s options take an argument. */
- + if (!strncmp(zopts, "grade", 5) && zopts[5] != '=')
- + {
- + if (azQargs[i+1] != NULL)
- + ++i;
- + }
- + if (!(strncmp(zopts, "notify", 6)
- + && strncmp(zopts, "status", 6)) && zopts[6] != '=')
- + {
- + if (azQargs[i+1] != NULL)
- + ++i;
- + }
- +
- + /* The -I, -u and -x options are not permitted. */
- + if (!strncmp(zopts, "config", 6))
- + {
- + if (zopts[6] != '=' && azQargs[i+1] != NULL)
- + ++i;
- + azQargs[i] = zbufcpy ("--nouucico");
- + }
- + if (!strncmp(zopts, "user", 4))
- + {
- + if (zopts[4] != '=' && azQargs[i+1] != NULL)
- + ++i;
- + azQargs[i] = zbufcpy ("--nouucico");
- + }
- + if (!strncmp(zopts, "debug", 5))
- + {
- + if (zopts[5] != '=' && azQargs[i+1] != NULL)
- + ++i;
- + azQargs[i] = zbufcpy ("--nouucico");
- + }
- + }
- + else
- if (azQargs[i][0] == '-')
- {
- char *zopts;
- --- uucp-1.06.1.orig/unix/lock.c
- +++ uucp-1.06.1/unix/lock.c
- @@ -425,7 +425,9 @@
- {
- (void) close (o);
- o = -1;
- - (void) remove (zpath);
- + if (remove (zpath) < 0 && errno == EPERM)
- + break;
- + sleep(1);
- fret = TRUE;
- continue;
- }
- --- uucp-1.06.1.orig/unix/serial.c
- +++ uucp-1.06.1/unix/serial.c
- @@ -920,6 +920,12 @@
- #ifdef B115200
- { B115200, 115200 },
- #endif
- +#ifdef B230400
- + { B230400, 230400 },
- +#endif
- +#ifdef B460800
- + { B460800, 460800 },
- +#endif
- { B0, 0 }
- };
-
- @@ -2371,8 +2377,17 @@
- 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)
- {
- @@ -2773,9 +2788,20 @@
- / baud bits/sec)
- * 10 bits/byte)
- */
- +#ifndef BUG
- + if (q->ibaud) {
- + stime.tv_sec = (long) 10240 / q->ibaud;
- + stime.tv_usec = ((((long) 1024000000 / q->ibaud) * (long) 10)
- + % (long) 1000000);
- + } else {
- + stime.tv_sec = 1;
- + stime.tv_usec = 0;
- + }
- +#else
- stime.tv_sec = (long) 10240 / q->ibaud;
- stime.tv_usec = ((((long) 1024000000 / q->ibaud) * (long) 10)
- % (long) 1000000);
- +#endif
-
- imask = 1 << q->o;
- if (imask == 0)
- @@ -2846,7 +2872,14 @@
- 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);
- +#ifndef BUG
- + if (q->ibaud)
- + alarm ((int) ((long) 10240 / q->ibaud) + 1);
- + else
- + alarm (1);
- +#else
- alarm ((int) ((long) 10240 / q->ibaud) + 1);
- +#endif
-
- /* There is a race condition here: on a severely loaded
- system, we could get the alarm before we start the
- --- uucp-1.06.1.orig/unix/work.c
- +++ uucp-1.06.1/unix/work.c
- @@ -282,9 +282,10 @@
- #define CWORKFILES (10)
-
- boolean
- -fsysdep_get_work_init (qsys, bgrade)
- +fsysdep_get_work_init (qsys, bgrade, unlimited)
- const struct uuconf_system *qsys;
- int bgrade;
- + boolean unlimited;
- {
- char *zdir;
- DIR *qdir;
- @@ -398,7 +399,7 @@
- asSwork_files[cSwork_files].zfile = zname;
- asSwork_files[cSwork_files].bgrade = bfilegrade;
- ++cSwork_files;
- - if (cSwork_files - chad > COMMANDS_PER_SCAN)
- + if (!unlimited && (cSwork_files - chad > COMMANDS_PER_SCAN))
- break;
- }
- }
|