[net.bugs.uucp] How to change nodenames

ber@enea.UUCP (Bjorn Eriksen) (09/11/84)

Giving a machine a uniq six character name might be a problem,
but what sometimes could be even more difficult is to give
the machine any name at all instead of the name it is shipped
with as default so that mail and uucp understands it.

I'v recently tried to hook up three different sites to the net.
They are V7 or System III based machines without source code.
Even if there are files as /etc/sysid or /usr/local/whoami it's
not fully supported by mail and uucp.

From the following I get

	Altos with XENIX Version 2.5a insists on "altos86"
	Don't know how to change it.

	ZEUS (don't know the version) naturally says "ZEUS".
	Don't know how to change it.

	A Victory Computer System with System III first gave "victory"
	but that could be changed with the chgnod(1M) command.


Vendors shouldn't send out systems with default names if there isnt't
any way to change it locally. Does anyone know how nodenames are
changed in different brands of Unix?

--------
"Thanks for 4.2BSD, consider it standard"

		Bjorn Eriksen
		ENEA DATA Sweden

		UUCP: {decvax,philabs}!mcvax!enea!ber

fair@dual.UUCP (Erik E. Fair) (09/12/84)

>> From: ber@enea.UUCP (Bjorn Eriksen)
>> Subject: How to change nodenames
>> Date: Mon, 10-Sep-84 19:51:49 PDT
>> Organization: ENEA DATA, Sweden
>> 
>> Vendors shouldn't send out systems with default names if there isnt't
>> any way to change it locally. Does anyone know how nodenames are
>> changed in different brands of Unix?

The rules are as follows:

	Vanilla v7 UNIX:	Change the name in uucp.h, whoami.h, and mail.c
				and recompile UUCP and /bin/mail.

	2.8 BSD:		Same as above

	4.1 BSD:		Same as above

	4.2 BSD:		Execute the hostname command.

	2.9 BSD:		Same as above(???)

	UniPlus v7:		Edit /usr/lib/uucp/SYSTEMNAME
				Make certain that your release has the /bin/mail
				that uses this, instead of the compiled in
				name ``UniSoft''. This bug was fixed 1.5 years
				ago, and if your system mfgr hasn't gotten
				a new release since then, it's their own fault.

	XENIX:			Does anyone know whether they fixed this? Or
				Are they just like Vanilla v7 (without source,
				of course)?
	
	System III:		Execute /etc/chgnod and reboot the system.
				chgnod adb's the kernel, but you need to reboot
				to have it in core. UUCP and mail use the
				uname(2) system call to fetch this. Unfortunate
				that there isn't a system call to set it...
	
	System V:		Same as above

	UniPlus System III/V:	Same as above

The bad guys right now are any 68000 system manufacturers who are still
distributing v7 UniPlus with the old UniSoft /bin/mail with that
compiled in name. I forced UniSoft to fix it quite some time ago (April
of 1983), but not everyone has bothered to get the update...

Does anyone know whether microsoft has fixed this problem in XENIX
(either by going System III completely or by hacking it out into a file
like UniSoft did for v7?)

	Erik E. Fair	ucbvax!fair	fair@ucb-arpa.ARPA

	dual!fair@BERKELEY.ARPA
	{ihnp4,ucbvax,hplabs,decwrl,cbosgd,sun,nsc,apple,pyramid}!dual!fair
	Dual Systems Corporation, Berkeley, California

mark@cbosgd.UUCP (Mark Horton) (09/12/84)

In answer to Erik Fair's question about Xenix and uname:

As I understand it, the old V7 based Xenix (Xenix version 2.0,
I think) has the compiled in name.  The current version (3.0)
is System III based, but still provides no way to change what
the uname system call or command return (which is the null string.)
However, all their code reads the file /etc/systemid, so changing
the file works fine for mail and uucp purposes.

guy@rlgvax.UUCP (09/14/84)

> >> Vendors shouldn't send out systems with default names if there isnt't
> >> any way to change it locally. Does anyone know how nodenames are
> >> changed in different brands of Unix?
> 
> The rules are as follows:
> 
> 	Vanilla v7 UNIX:	Change the name in uucp.h, whoami.h, and mail.c
> 				and recompile UUCP and /bin/mail.
> 
> 	2.8 BSD:		Same as above...
> 
> 	System III:		Execute /etc/chgnod and reboot the system...
> 	
> 	System V:		Same as above
> 
> 	UniPlus System III/V:	Same as above
> 

The rules for v7, 2.8, etc. only apply, of course, if you have the source to
/bin/mail or UUCP (or if you've got the source from somewhere and are willing
to install that version).  Vanilla System III and System V don't have
/etc/chgnod; they compile the system name into the kernel (which, of course,
assumes you have source, grumble grumble).  I suspect "chgnod" is a UniPlusism;
on our System III (called PERPOS-S 1.10 or 1.11 for reasons you really don't
want to know about) it's done by doing "uname <newhostname>" which sets it
in /perpos (I *said* you didn't want to know...) and in /dev/kmem, so you
don't have to reboot.

Methinks AT&T should get on the stick and put in such a facility as a standard
part of System V, as not all vendors are intelligent enough to realize that
it's necessary.

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy

chip@t4test.UUCP (Chip Rosenthal) (09/17/84)

--- REFERENCED ARTICLE ---------------------------------------------

>Subject: How to change nodenames
>Newsgroups: net.bugs.uucp
>From: ber@enea.UUCP (Bjorn Eriksen)
>Date: Mon, 10-Sep-84 19:51:49 PDT
>
>Vendors shouldn't send out systems with default names if there isnt't
>any way to change it locally. Does anyone know how nodenames are
>changed in different brands of Unix?

--------------------------------------------------------------------

What I find a real bummer (along the lines of Bjorn's complaint) is
that what `uuxqt' can do is compiled right into the program.  What a
wonderful deal for sites without a source license, like us. [ :-) for
extreme sarcasm ]

Our problem is that we are trying to use uucp to keep the file systems
of two VAXEN identical.  One of the guys here developed some programs
to do it.  Guess what he called the one executed by uuxqt.  It is
called "w".  (Heh.  Heh.  Imagine the surprise when somebody tries to
do a remote "w" on one of our systems.)  Does anybody have any better 
ways of getting around this problem?

*sigh*  What can you say about an operating system where half of the
documentation is in the source code.

-- 

Chip Rosenthal, Intel/Santa Clara
{ idi|intelca|icalqa|kremvax|qubix|ucscc } ! t4test ! { chip|news }

steve@opus.UUCP (Steve Berl) (09/18/84)

> > >> Vendors shouldn't send out systems with default names if there isnt't
> > >> any way to change it locally. Does anyone know how nodenames are
> > >> changed in different brands of Unix?
> > 
> > The rules are as follows:
> > 
> > 	Vanilla v7 UNIX:	Change the name in uucp.h, whoami.h, and mail.c
> > 				and recompile UUCP and /bin/mail.
> > 
> > 	2.8 BSD:		Same as above...
> > 
> > 	System III:		Execute /etc/chgnod and reboot the system...
> > 	
> > 	System V:		Same as above
> > 
> > 	UniPlus System III/V:	Same as above
> > 
> 
> The rules for v7, 2.8, etc. only apply, of course, if you have the source to
> /bin/mail or UUCP (or if you've got the source from somewhere and are willing
> to install that version).  Vanilla System III and System V don't have
> /etc/chgnod; they compile the system name into the kernel (which, of course,
> assumes you have source, grumble grumble).  I suspect "chgnod" is a UniPlusism;
> on our System III (called PERPOS-S 1.10 or 1.11 for reasons you really don't
> want to know about) it's done by doing "uname <newhostname>" which sets it
> in /perpos (I *said* you didn't want to know...) and in /dev/kmem, so you
> don't have to reboot.
> 
> Methinks AT&T should get on the stick and put in such a facility as a standard
> part of System V, as not all vendors are intelligent enough to realize that
> it's necessary.
> 
> 	Guy Harris
> 	{seismo,ihnp4,allegra}!rlgvax!guy

Another point to remember if you are running 4.2 uucp is that the
names of some of the subdirectories in /usr/spool/uucp have the
system node name as part of the directory name. Make will set
this up correctly for you, but just typing "hostname " will not
get everything straight.

	Steve Berl (nbires!steve)

hamilton@uiucuxc.UUCP (09/21/84)

i have some machines with that old UniSoft v7.  no sources.
fortunately, it was easy enough to use 'strings -o' and 'adb'
to patch the new node names in.

lee@ut-ngp.UUCP (William L. Lee III) (09/21/84)

For those of you with System 3 or System 5 binaries, here's some "magic"
that should allow you to change your nodename if you only have a binary
license and your vendor didn't supply a little utility that would change
the compiled in nodename (or fix uucp to read the nodename out of a file).
The magic goes like this (comments to the right)-

adb -w /unix /dev/kmem
?m xxxx			# replace xxxx if your adb doesn't know how to
			# properly map the kernel, otherwise ignore
utsname+9/S		# this should print the current nodename
utsname+9/w 'ne' 'wn' 'am' 'e'*100	# fix /dev/kmem
utsname+9?S				# check again
utsname+9?w 'ne' 'wn' 'am' 'e'*100	# fix /unix
utsname+9/S		# check to make sure its right
utsname+9?S		# ditto
^D			# EOF

Be sure you make a copy of /unix before you modify it in case you make
a mistake. Flames about adb'ing kernels to /dev/null.

Bill Lee
Cyb Systems, Inc.
...ihnp4!ut-sally!cyb-eng!lee

kdoyle@ihuxq.UUCP (J. K. Doyle) (09/26/84)

The 1.1 release of AT&T 3B2 (aka SVR2 or System V Release 2) has
the facility to change the nodename of a running system.
-- 
						kevin doyle
						ihnp4!ihuxq!kdoyle

mats@dual.UUCP (Mats Wichmann) (09/27/84)

Yeah, /etc/chgnod is a UniSoftism - they wrote it apparently because
I screamed very loudly about the very thing just discussed here -
System III/V machines should NOT be shipped without a way to change
the nodename. It is basically a script of commands for adb, nothing
too complex, except for making sure that exactly the right number
of characters are edited into /unix (or whatever name is specified).
I won't post it here because UniSoft probably considers it proprietary
(well, maybe), but I will mail a copy of the analagous thing that
I developed while I was waiting to people who want it.

This approach is certainly better for us than the old way, which
had unisoft compiled into the mail program....it makes some
sense to get the node name out of uname....

dan@rna.UUCP (Dan Ts'o) (09/30/84)

Hi,
	To add another entry in the binary uucp nodename question...

	On a VENIX-11 (Venix for PDP-11), which is somewhere between V6 and V7,
I discovered that it READS /usr/include/ident.h so that one simply needs to
change that file.

						Cheers,
						Dan Ts'o
						...cmcl2!rna!dan

allan@qtlon.UUCP (Allan Pick) (10/03/84)

There is always adb as a last resort.
-- 
UUCP:               {decvax,cbosgd,vax135}!qusavx!qtlon!allan
                    ukc!qtlon!allan
Phone:              +44 1 637 7061