[comp.unix.aix] /etc/rc.tcpip in the RS/6000 3002 patch

wross@engin.umich.edu (Wendy Ross) (12/04/90)

After installing the 3002 patch and rebooting my machine, I
noticed a rather bizarre error:
 
Starting tcpip daemons:
/etc/syslogd: ERROR: '57' getsockname, SRC not found, continuing without SRC support
        syslogd
        sendmail
        portmap
        inetd
 
As a result, none of the above daemons started automatically.
After narrowing everything down, I discovered that the 3001 and 3002
ps -e commands return slightly different things.  3001 version has
five columns and 3002 has four columns.  Thus, when /etc/rc.tcpip
checks for the srcmstr running, the line should be changed from
 
src_running=`ps -e | awk '$5 == "srcmstr" { print $1 }'`  <version 3001>
 
to
 
src_running=`ps -e | awk '$4 == "srcmstr" { print $1 }'`  <version 3002>
 
I was rather perplexed, because although there was mention in the update
documentation that /etc/rc.tcpip *was* changed in the 3002 release, a 
restore -T on the update bosnet.tcpip.obj file did not confirm that 
/etc/rc.tcpip was one of the changed files.  Additionally, the machines 
that were updated did not show a change in this file.

I did a dd from the stacked tape to get these files onto my server so I
could apply the patch across the network.  
 
Am I missing something here, or have other persons had this problem
when moving to 3002?

-Wendy
 
wross@caen.engin.umich.edu
<insert amusing quip here>

RS0THP@ROHVM1.BITNET (Dr. Thomas Pierce) (12/05/90)

I just installed release 3002 from 1/4" tape, and my rc.tcpip
was slightly different than yours.
This release also told me that /etc/rc.tcpip would be changed.

      My version is:
    src_running=`ps -e | awk '$NF == "srcmstr" {print $1; exit} '`

Perhaps your tape is a 'early version' of release 3002?

RS0THP@ROHVM1.BITNET (Dr. Thomas Pierce) (12/05/90)

Another interesting trick with patch tape 3002.

 After I installed it and uncommented the routed line in the new rc.tcpip,
I discovered that I could telnet out and rlogin out of the RS/6000, and
I could rlogin from other machines to the RS/6000. However, I could not
telnet into the RS/6000 from any other machines on the network. Any help
would be appreciated.

  You may send messages to me at:
     rs0thp@rohvm1    bitnet
or
     rs0thp@rohmhaas.com    internet

Thanks again for any help.

clarke@arnor.UUCP (Ed Clarke/204800000;07-033,2630) (12/08/90)

From article <1990Dec4.031214.11374@engin.umich.edu>, by wross@engin.umich.edu (Wendy Ross):
- ps -e commands return slightly different things.  3001 version has
- five columns and 3002 has four columns.  Thus, when /etc/rc.tcpip
- checks for the srcmstr running, the line should be changed from
- src_running=`ps -e | awk '$5 == "srcmstr" { print $1 }'`  <version 3001>
- to
- src_running=`ps -e | awk '$4 == "srcmstr" { print $1 }'`  <version 3002>

Hmmmm - I just applied 3002 yesterday.  As indicated, ps returns four
columns instead of five.  In my case, rc.tcpip WAS updated to:

        src_running=`ps -e | awk '$NF == "srcmstr" { print $1; exit }'`

and the 'routed' uncommenting problem mentioned in another posting did 
not occur.  I updated from tape, not from diskettes.  On the other hand,
ioctl and fcntl seem to be severely broken now.  Anyone see some stupid
mistake in the following code?

int	tty;
        tty = open( "/dev/tty1" , 0);
        printf("tty is %d\n",tty);
        if (ioctl(tty, TIOCEXCL, NULL) < 0) {
                perror("ioctl TIOCEXCL");
                exit(1);
        }

Fairly simple and a really bad thing to break.  The fcntl error is buried
in some xntp code ( ntp_io.c if you're interested ).