*BSD News Article 14479


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!ariel.ucs.unimelb.EDU.AU!werple.apana.org.au!news
From: andrew@werple.apana.org.au (Andrew Herbert)
Newsgroups: comp.os.386bsd.bugs
Subject: Re: Patchkit: tip for zmodem
Date: 15 Apr 1993 17:07:44 +1000
Organization: werple public-access unix, Melbourne
Lines: 71
Message-ID: <1qj1k0$ng3@werple.apana.org.au>
References: <C5GF08.Hu2@newsserver.technet.sg>
NNTP-Posting-Host: werple.apana.org.au

milton@solomon.technet.sg (Milton Choo) writes:

>Please pardon me, but after installing 0.2.2 on 0.1
>i still have problems with tip which using Zmodem.

[Patch that forces bits8 = 1 in tip.c omitted]

A much better way to get around this problem is to put the line
"parity=none" in ~/.tiprc.  tip doesn't flip to ruid before trying to read
.tiprc, so this fails if your home directory is not world-searchable or
.tiprc is not world-readable.  A fix for this follows.  If you're really
dead-set against even parity, you can change the setparity("even") call in
tip.c to setparity("none").

Apologies if something similar appears in 0.2.[23] - I've only looked at
0.2.1...

Andrew
--
*** tip.c.orig	Thu Apr 15 14:02:02 1993
--- tip.c	Thu Apr 15 16:57:25 1993
***************
*** 152,157 ****
--- 152,166 ----
  	loginit();
  
  	/*
+ 	 * Now that we have the logfile and the ACU open
+ 	 *  return to the real uid and gid.  These things will
+ 	 *  be closed on exit.  Swap real and effective uid's
+ 	 *  so we can get the original permissions back
+ 	 *  for removing the uucp lock.
+ 	 */
+ 	user_uid();
+ 
+ 	/*
  	 * Kludge, their's no easy way to get the initialization
  	 *   in the right order, so force it here
  	 */
***************
*** 161,178 ****
  	setparity("even");			/* set the parity table */
  	if ((i = speed(number(value(BAUDRATE)))) == NULL) {
  		printf("tip: bad baud rate %d\n", number(value(BAUDRATE)));
  		(void)uu_unlock(uucplock);
  		exit(3);
  	}
- 
- 	/*
- 	 * Now that we have the logfile and the ACU open
- 	 *  return to the real uid and gid.  These things will
- 	 *  be closed on exit.  Swap real and effective uid's
- 	 *  so we can get the original permissions back
- 	 *  for removing the uucp lock.
- 	 */
- 	user_uid();
  
  	/*
  	 * Hardwired connections require the
--- 170,179 ----
  	setparity("even");			/* set the parity table */
  	if ((i = speed(number(value(BAUDRATE)))) == NULL) {
  		printf("tip: bad baud rate %d\n", number(value(BAUDRATE)));
+ 		daemon_uid();
  		(void)uu_unlock(uucplock);
  		exit(3);
  	}
  
  	/*
  	 * Hardwired connections require the