Frequently asked questions and hints about the AT&T UNIX PC (2 of 2)

Lenny Tropiano lenny at icus.ICUS.COM
Fri Sep 28 09:32:17 AEST 1990


       ------------------------------------------------------------------
       Answers to some frequently asked questions about the AT&T UNIX PC,
          as well as some frequent problems and useful hints with them
                        Continuation from Part 1 of FAQ
       ------------------------------------------------------------------



30. How can I get my machine to ask what load device and what program
    to boot from?

    By default the UNIX PC is set up with the non-verbose system loader.
    This can be changed to the "verbose" loader, and that will ask what
    program and device to load from.
    
    *** WARNING *** Any time you write to the disk device like the 
    following, be extra careful that you type the correct device name.
    A backup is always recommended.

    Insert a blank diskette in the floppy drive.
    # fdfmt.vl
    # /etc/ldrcpy /dev/rfp020 /dev/rfp000

    Reboot your machine and you'll be able to load from the floppy or
    the hard disk whatever program you desire (not that there is too
    much you can load).  What I have done on my machine is copy the
    several diagnostic utilities to the hard disk (for easy retrieval).

    Insert your diagnostic disk ...
    # mount /dev/fp021 /mnt -r
    # mkdir /dgn
    # cp /mnt/s4diag /dgn/s4diag
    # umount /dev/fp021

    This can be repeated for diagnostics like, STARLAN, Voice Power,
    DOS-73, Floppy Tape, etc.  Name the diagnostic programs something
    unique (slndiag, vpdiag, dosdiag, etc.)  Now you can load from
    the hard disk /dgn/s4diag, /dgn/vpdiag, etc.. and have that diagnostic
    utility handy when needed.
    
    NOTE: After you do this procedure your system will not reboot 
    automatically (after power failures) without some user input.
 

31. How do I get multiple login windows? 

    Don't be afraid to edit your /etc/inittab, even though there is a 
    big warning at the top of the file (providing you are careful nothing
    will happen).

    It is fairly easy to start up several windows with logins on them,
    all you need to do is after the:

            vid:2:respawn:/etc/getty window 9600
            vd2:2:respawn:/etc/getty window 9600
            vd3:2:respawn:/etc/getty window 9600
           ^ NOTE: in all cases there is a blank "space" there.

    This will start up 3 windows with logins.  Using the <Shift><Suspd> 
    option of the window manager, you can toggle between all of them.


32. Is there such a thing as Floppy UNIX?  Can I run my machine that
    way and do things like filesystem checks (/etc/fsck)?

    Yes, most definitely.  The Foundation Set diskettes have a floppy
    UNIX on it.  Make a copy of the Floppy Filesystem Disk (Disk 3 of ##)

    Insert the original floppy filesystem diskette, and have a formatted
    10 sectors/track diskette ready.  Type the "fpcp" command and copy it.
    
    Now that you have a copy, we need to place a copy of /etc/fsck on it.

    # mount /dev/fp021 /mnt
    # cp /etc/fsck /mnt/etc/fsck
    # cp /etc/inittab /mnt/etc/inittab.save
    (That above line is useful for the next situation, see item #32)
    # sync
    # umount /dev/fp021

    Now you have a disk that will help you do a standalone filesystem 
    check.

    How do you get to boot this?  First boot the system using the 
    "Floppy Boot Disk" (Disk 2 of ##).  It then will stop and ask you to
    insert the Floppy Filesystem Disk.  Now put your "copy" in.

    When it comes to the first question you then should interrupt this
    script.  This is done by pressing <DEL> (that's <Shift><ESC>).  At
    this point you will get a "#"

    # umount /dev/fp002                     (the disk is already mounted
                                             as /mnt)
    warning: /dev/fp002 not in mount table  (you may get this, it's OK)
    # /etc/fsck -D -S /dev/rfp002           (do your filesystem check)
    # sync;sync;reboot                      (reboot the system)

    NOTE: that /etc/fsck is running off the floppy root filesystem disk
    you have in now, the -s option the restructures (salvages) the 
    free-list on the root filesystem partition.

    *** THE FOLLOWING IS NOT FOR THE UNINHIBITED OR CASUAL USER ***

    For the real UNIX hacker out there (and you are fortunate enough to 
    have a tape drive on your machine) you could grab the fp_unix.sh.Z, 
    conf.sh.Z and kern.cpio.Z files from the OSU Archives.  This is a set 
    of tools, along with the kernel object files for 3.51m, that will let 
    you link in the tape driver (tp.o) to your floppy UNIX kernel and 
    give you full control of the tape device from the floppy UNIX.  This 
    is very handy for doing full backups or restorals from the floppy!


33. My machine hung at the boot message:

               Version #.##x
               Real memory      = #######
               Available memory = #######
               Main board is P3...P5

    (NOTE: Main board could also be P5.1 if your machine was upgraded)

    What can I do?  Do I need to reload everything??

    I've seen this all too many times, so I've taken some precautions.
    9 times out of 10 the /etc/inittab file is either deleted, corrupted,
    or truncated because of some filesystem damage during a system crash.

    The machine will hang there at that Main board prompt forever, since
    /etc/init is looking for the inittab file.  Follow the directions
    in item #32 (above) and insert boot the floppy filesystem disk that
    you made.  On there, if you followed directions, is /etc/inittab.save,
    which can be happily copied to the /mnt/etc/inittab file (when the
    hard disk root filesystem (/dev/fp002) is mounted from the floppy as
    /mnt).  

    # umount /dev/fp002
    # fsck -s /dev/rfp002
    # mount /dev/fp002 /mnt
    # ls -l /mnt/etc/inittab
    (if it's not there, or corrupted ...)
    # cp /etc/inittab.save /mnt/etc/inittab
    # sync
    # umount /dev/fp002
    # sync;sync;reboot

    The other one time (out of 10) I've seen the /etc/inittab file there,
    but there was /etc/utmp.lck file on the system.  This happens in
    very rare "race" conditions with the pututent(3C) routines.  Removing
    this file, and rebooting will generally recover the system.


34. I heard the UNIX PC isn't the most secure machine?  How can I make
    it a bit more secure?

    The best way to not worry about security is don't allow users on
    your machine that aren't trusted.  Especially users that have shell
    access.

    There are several serious problems with the UNIX PC's software,
    specifically the User Agent (UA).  The UA (the windowing environment,
    also known as the Office environment) has some serious security
    problems.  The best solution, of course, would be to remove the
    entire UA system from your machine.  This isn't the easiest 
    procedure (since there are lots of programs scattered all around
    the disk that is tied into the UA) and probably not the most desirable
    for some novice users.  What's so wrong with it?  Well look in your
    trusty manuals, in section 4.  The manual UA(4) states: (talking about
    UA configuration files)

    [...] (page 4)
    EXEC and SH have a number of variations, which are used depending
    on the intelligence of the process being invoked. 
    [...]
    The variations are specified via option characters as follows:

	-n	Run the process without a window
	-w	Run the process without waiting
	-d	Run the process in a dimensionless window
	-p	Run the process with superuser privileges
    [...]

    The "-p" option being the problem.  For a little experiment, which
    I do to show the security conscious user (who still likes the UA),
    is give me a non-privileged user account.

    Then I do this, create a file in my home directory called "Office"
    with the following lines:

	Name=Super User UNIX
	Default = Run
	Run=EXEC -pwd $SHELL

    Then I type:

    $ exec /usr/bin/ua

    I select my new object that I just created "Super User UNIX" and then
    at the "#" prompt type "id" for the effect.

    # id
    uid=0(root) gid=0(root)

    OK, convinced?

    If you really *LOVE* the UA, you can do something about this.  Protect
    the programs /usr/lib/ua/uasetx and /usr/lib/ua/uasig so they are
    not executable by "other" and only excutable by a "trusted" group.

    -rwsr-x---   1 root     trusted      4268 Jan  1  1970 /usr/lib/ua/uasetx
    -rwsr-x---   1 root     trusted      2068 Jan  1  1970 /usr/lib/ua/uasig

    Want more?  OK.  Send yourself some electronic mail.  Nothing elaborate
    is necessary.

    $ mail myself < /dev/null
    
    Select the [mailbox] icon when it comes up, and then when you're in
    /bin/mail, at the "?" prompt type "! /bin/sh", poof!  Root shell.

    # id
    uid=0(root) gid=0(root)
    # pwd
    /etc/lddrv

    This can easily be corrected with my "email" program that has been
    posted to unix-pc.sources and is archived on OSU as "email.sh.Z" 
    That program sets the correct user id, group id, and home directory.

    Other things to look for are covered in lots of books on UNIX 
    security.  Directories protected as 777 (world writable), setuid
    programs that aren't very security conscious... etc.


35. What the heck is a +IN suffix on a file?

    On the UNIX PC, "+IN" denotes an "Installable File".  If you were
    to use the UA (and after the above item, you're probably not!) it would
    show that it's an Installable File.  The Installable format is just
    a normal CPIO archive.  The file can be installed by hand by doing:

    # mkdir /tmp/install
    # mv FILE+IN /tmp
    # cd /tmp/install
    # cpio -icduvmB < ../FILE+IN
    [...]
    # ./Install

    A list of other Suffixes are detailed in the file /usr/lib/ua/Suffixes


36. I heard there was some hidden mode in the diagnostics for expert users
    only?  What is it?  How do I get it?  How do I become an expert?

    The diagnostic floppy has a mode in it for the more experienced system
    testers.  Basically from this mode, there is no need for navigating
    through menus, pick the test and it does it.  The diagnostic tests
    can be run several times (for testing intermittent hardware).  The
    diagnostic output can be sent to a parallel printer for review later,
    and also for unattended testing (since the output can scroll off the
    screen rather easily).

    How do you enter this mode?  Simple.  At the first menu prompt, after
    booting the diagnostic disk, type in "s4test".  If you typed it in
    correctly you will get a prompt.

    expert>

    From there you can type "?" for a "semi-verbose" command syntax, and
    a list of many of the tests.  For more detail on what tests and subtest
    you can do, grab a nice file by Craig Votava <cmv at ihlpf.att.com>,
    "s4test.info.Z" from the OSU Archives.


37. I turned on my UNIX PC and all I have is a "green screen".  What can
    I do?

    This symptom crops up in a lot of UNIX PC's.  Generally speaking I've
    been able to revive the UNIX PC with only little fuss.  Open the 
    machine, as described in item #4, down to the motherboard.  Carefully,
    reseat all the socketed chips, especially the 68010 CPU.  Vacuum all
    the "dust bunnies" from the machine.  7 times out of 10 the machine
    will boot afterwards.  If the machine still doesn't boot, it could
    be something more serious.  Check with the ``ASCRC'' (see item #27)
    on how you can go about getting the machine repaired.


38. I turn on the machine and I hear the hard disk and fan, but I have no
    video?

    Well the first thing you could do is check the "brightness control".
    After you are sure that it's not that, the problem generally goes away
    by replacing the power supply.  If you don't have a spare one, again'
    you'll have to deal with either AT&T or ASCRC.


39. After installing the Development Set, but there are no include header
    files in /usr/include/*?  What gives?

    I've seen this once before, and it has to do with the ordering of
    packages that you install.  Because of a bug in one of the packages'
    Installation script, presumably "Curses/Terminfo Programmers Package,"'
    it tries to copy curses.h to /usr/include, but if /usr/include doesn't
    exist, it will make a *file* called /usr/include, which is really
    curses.h.

    To prevent this from happening, install the packages in this order:
                       Curses/Terminfo End User Package
                       Development Set 3.5x
                       Curses/Terminfo Programmers Package


40. Why with GCC (GNU C compiler) available for the UNIX PC, and in
    particular there are pre-compiled binaries for it, why do I need
    the development set (which is hard to come by in the first place)?

    Arnold Robbins <arnold at skeeve.ATL.GA.US> says ...

    For a number of reasons.
    1.  You need the include files from /usr/include and /usr/include/sys.
    2a. You need 'as', the assembler.
    2b. You need 'ld', the loader.
    2c. You need the C libraries (/lib/libc.a, etc).
        None of these come with GCC.
    3.  If you're starting with just GCC source, you need the C compiler
        for bootstrapping.

    Note that bootstrapping GCC from scratch on a Unix-PC is a painful
    operation (requiring much time and disk space).  You're much better 
    off using the binaries that are on osu-cis, and/or bootstrapping with 
    an earlier version of GCC.  The only problem with using the binaries
    off osu-cis, is adhering to /usr/local/bin convention compiled into
    these binaries.

    GAS (GNU assembler) and the GNU loader (ld) aren't ported for use with
    the UNIX PC, at least not completely.


41. I'm receiving a lot of floppy access errors (FDERR) when I format, or
    when I try to access the floppy drive for write.  What's the problem 
    here?

    Jon H. LaBadie, Boyd Ostroff, and Perry Miller have suggested to me
    that it could be the light occluding the write protect sensor on the
    floppy drive.  The easiest solution for this is to get a can of 
    compressed air, or blow real hard into the floppy aperature several
    times.  This generally will remove the dust or dirt from the area,
    and hopefully will solve the problem.  (With the light being blocked,
    the floppy drive is considered permanently write protected!)  

    If the problem persists after you follow the *simple* solution, you
    might have to open the machine, remove the floppy drive and do a
    closer examination.  If all else fails, a standard TEAC 360K floppy 
    drive is the one-for-one replacement.


42. I'm running rn(1) from the on-board modem device (/dev/ph[0 or 1])
    and it's coming up with.

    		Can't open /dev/tty.

    The problem is a line in the term.c file.  The lines that have to
    be changed for rn to work are:

    Before change:

		[...]
    		devtty = open("/dev/tty",O_RDONLY);
    		if (devtty < 0) {
			printf(cantopen,"/dev/tty") FLUSH;
			finalize(1);
    		}
    		fcntl(devtty,F_SETFL,O_NDELAY);
		[...]

    After change:

		[...]
    		devtty = open("/dev/tty",O_RDWR);    /* changed for UNIX PC */
    		if (devtty < 0) {
			printf(cantopen,"/dev/tty") FLUSH;
			finalize(1);
    		}
    		fcntl(devtty,F_SETFL,O_NDELAY);
		[...]

    This is since the /dev/phN devices *require* DATA connections to
    be opened with O_RDWR, so changing the O_RDONLY (or in some 
    versions the number "0") will solve your problems.


43. Can I do more than uucp(1) or cu(1) with my STARLAN boards?  Can I hook 
    the STARLAN to Ethernet? 

    Let me answer the second question first, no, you cannot connect STARLAN
    to an Ethernet network, at least not directly.  STARLAN, or in the case
    of the UNIX PC, STARLAN-1 (1BASE5) is a 1Mbps (megabits/sec) network over 
    twisted pair wire.  The URP protocol used to communicate over STARLAN-1 
    on the UNIX PC.  The newer STARLAN standard is STARLAN-10 (10BASE2) and
    is 10Mbps which is more *like* Ethernet.  The protocol used is the ISO/OSI 
    standard, and therefore it's interconnectability is increased.  However, 
    this is *NOT* compatible with the UNIX PC version.  There is an expensive 
    item that AT&T sells, called the STARLAN 1:10 BRIDGE.  This connects the 
    two networks together, if this is a necessity, but plan to spend around 
    $4,500 for the convenience.  (AT&T PEC Code: STARLAN 1:10 BRIDGE 2611-005)
    According to AT&T STARGROUP documentation, there is software available
    to interconnect STARLAN-10 hardware to Ethernet using IEEE 802.3, TCP/IP
    protocol, this of course in conjunction with the BRIDGE could connect
    STARLAN-1 via the STARLAN 1:10 BRIDGE to STARLAN-10, and then to Ethernet,
    a round-about way, but presumably possible.

    If you want to connect your UNIX PC to a *real* Ethernet, you'll need to
    hunt down the AT&T UNIX PC Ethernet board.  This board runs a version
    of the TCP/IP drivers, distributed by Wollogong.  The board will require
    the proper cables, as well as, a tranceiver.  This increases the cost of
    Ethernet interconnectability.  The Wollogong TCP/IP drivers are an older
    version, which I'm sure isn't support by Wollogong anymore.  It's rumored
    that there are many bugs, and the throughput of the board is no where
    near what Ethernet should be getting.  I was told that throughput over 
    STARLAN-1 was better than over the TCP/IP Ethernet board, where if
    it were working properly shouldn't be the case.

    Thanks to the hard work of Roger Florkowski (cs.utexas.edu!taliesin!roger),
    UNIX PC STARLAN users don't have to be limited with just uucp'ing and
    cu'ing over the network.  He has ported and created a bunch of BSD network
    utilities (r*commands).  With his package, which was posted to 
    unix-pc.sources, and now resides archived on OSU-CIS (bsdslan.cpio.Z),
    you can do remote tape operations, remote copies, and remote shell 
    commands.  


44. Can I run SLIP (Serial Line Internet Protocol) on my UNIX PC?

    So far there hasn't been anyone who ported a SLIP device driver. That 
    would be the optimal solution, but in the interim we do have an
    answer for those who want to run SLIP.  

    There is the KA9Q/W9NK TCP/IP Version 890421.1 available for the
    UNIX PC.  Thanks to Phil Karn (the original developer), Gary Sanders,
    and Rob Stampfli the package supports SLIP (which in theory over
    a modem or direct serial line (preferably 9600 baud or higher) one
    could SLIP on over (sorry for the pun) to an Internet machine allowing
    Dialup/Direct SLIP logins.  With the pseudo-tty driver (pty) you
    can have multiple TELNET sessions (even on the UNIX PC side).  Built
    into the "net" package is FTP, TELNET, FINGER, SMTP, and others.

    KA9Q is available from OSU-CIS, Gary Sander's BBS or via anonymous
    uucp login on Rob's UNIX PC:

	kd8wk Any ACU 2400 16147598597 in:--in: uucp word: anonymous

	To obtain the net source, issue the following uucp command:

	    uucp kd8wk!~/pub/netsrc.cpio.Z /usr/spool/uucppublic

	To obtain an executable for the AT&T 7300, enter the following:

	    uucp kd8wk!~/pub/netexe.7300.Z /usr/spool/uucppublic

    Gary's HAM RADIO BBS Access:

	System Name: 	N8EMR
	Phone:		614-895-2553 (19.2K Trailblazer, 2400, 1200)
	Login:		hbbs 
	Data Settings:	8 Bits, NO Parity, 1 Stop Bit
	Times: 		24hrs


45. I'm having trouble configuring my Hayes compatible external modem on
    the UNIX PC?  How do I do it?  

    Thanks to Jim Adams, I have included in the OSU Archives, HDB_Modem.Z, 
    which is an informational posting (posted to unix-pc.uucp 
    and comp.sys.att) on how to set up your external modem under HDB uucp.  
    The file particularly uses the "hayes" modem as the example, although
    information could probably be extracted for uses with other modems.
    If you want information on how to set up your Telebit Trailblazer modem,
    get the file tb-setup.sh.Z, also archived.

    This posting was too large to include in its entirety here, so a 
    completely seperate posting was made.  He goes into how to set up
    the modem, proper cabling, proper Devices and Dialers entries, and
    a discussion on HFC (hardware flow control).


46. What are the consequences of "fsck -s" (salvaging the freelist)?

    Jim Adams sent me some information I'd like to share with you, regarding
    the uses (and dangers) of salvaging the freelist using the fsck(1M)
    command.

    fsck(1M) provides for a method of salvaging and reconstructing the
    freelist maintained by the UNIX filesystem.  It is dangerous to
    haphazardly do anything with the filesystem, as well as just 
    reconstructing the freelist.  If the filesystem isn't in a good
    state, it's possible that the freelist could be further damaged by
    just salvaging it.  fsck(1M) will salvage the freelist when necessary,
    or when the question "SALVAGE (Y/N)?" is answered "yes". 

    Jim has said, that the alternative method, fsck -S, should be used
    if you wish to salvage the freelist.  The salvage will only be done
    if the filesystem is properly constructed, and nothing damaging could
    occur by it's reconstruction.   If errors are found during the fsck
    phases, other than errors like "POSSIBLE FILE SIZE ERROR I=nnn" (which
    occurs from sparse files, also known as files with holes in them)
    the salvage will not be done.

    fsck(1M) is designed to be run on a mounted root filesystem, as 
    long as the block device is used and the system is in a quiescent
    (quiet) state.  fsck(1M) can be run on the raw/character device when 
    the filesystem isn't mounted, and this is generally much faster.  
    fsck(1M) will automatically reboot the system without sync'ing, if 
    the "mounted" root filesystem was modified, just as you should (since 
    the in-core image of the filesystem would be different).  There is no 
    "re-mount" facility on the UNIX PC, otherwise the root filesystem 
    could just be remounted.

    Another suggestion made was to run "fsck -D" to check directories
    for bad blocks.  This takes longer, but is considered worth it.
    (fsck -D is similar to the MSDOS CHKDSK facility)


47. What does the option to "dismount -s" do?

    It should never be used, it's an historical option (as the manual 
    notes), used to un-mount the "Syquest" external drive.  This 
    unfortunately causes the first hard disk to RECAL if you don't have 
    the second disk upgrade.  With the second disk upgrade it improperly 
    un-mounts all the filesystems, but to my knowledge doesn't handle 
    the /etc/mnttab file correctly for all the partitions on the second
    disk.

    In my opinion, it's much safer to use multiple /etc/umount commands,
    to un-mount multiple partitions.  This works for all cases, and there
    is no second guessing on what the command is actually doing.  If you 
    want to mimic the operation of dismount, you can easily issue the 
    "sync" command before the "umount" command.  As far as clearing the 
    "pulled-flag" as the manual indicates, I never had any problem just 
    using the /etc/umount command (on floppies, as well as, my other 
    partitions and hard disk)


48. What's /etc/update?  What does it do? 

    /etc/update is an antiquated command, that is no longer necessary
    to be used.  It is not a shell script, but could easily be written
    as one.  The executable, /etc/update basically takes one argument,
    the number of seconds to sleep, or defaults to 30 (I believe).  It
    then sleeps that interval and then issues a sync(2) system call.  
    This is a continuous process, it detaches itself from the current
    tty with the setpgrp(2) call, and closes all file descriptors 0, 1,
    and 2 (stdin, stdout, and stderr).  It was to be run by /etc/init,
    as a boot-time process, and was to remain there for the duration of 
    the machine's uptime.


______________________________________________________________________________

   Thanks to the following people, and I apologize if I inadvertently left 
   your name out.

          Lenny Tropiano     <lenny at icus.ICUS.COM>
          Gil Kloepfer, Jr.  <gil at limbic.ssdl.com>
          Brian Botton       <botton at i88.isc.com>
          Brad Bosch         <brad at i88.isc.com>
          Darren Friedlien   <darren at bacchus.bacchus.com>
          Thad Floryan       <thad at cup.portal.com>
          Mike "Ford" Ditto  <ditto at amix.commodore.com>
          Craig Votava       <cmv at ihlpf.att.com>
          John McMillian     <jcm at pegasus.att.com>
          Jan Isley          <...!gatech!bagend!jan>
          John Milton        <...!cis.ohio-state.edu!n8emr!uncle!jcm>
          Alex S. Crain      <alex at umbc3.umbc.edu>
          Robert Granvin     <rjg at sialis.mn.org>
          Roger Florkowski   <...!cs.utexas.edu!taliesin!roger>
          Brant Cheikes      <brant at manta.pha.pa.us>
          Mark Dapoz         <...!cs.utoronto.edu!hybrid!mdapoz>
          Scott H. Mueller   <unix-pc-request at zorch.SF-Bay.ORG>
          Emmet P. Gray      <...!uunet!uiucuxc!fthood!egray>
          Mark Galassi       <rosalia at max.physics.sunysb.edu>
          David Brierley     <dave at Galaxia.Newport.RI.US> 
          Arnold Robbins     <arnold at skeeve.ATL.GA.US>
	  Jon H. LaBadie     <...!princeton!jonlab!jon>
	  Boyd Ostroff       <ostroff at oswego.oswego.edu>
	  Perry Miller       <pbm at cup.portal.com>
          Karl Kleinpaste    <karl at cis.ohio-state.edu>
          Gary W. Sanders    <...!osu-cis!n8emr!gws>
          Rob Stampfli       <...!osu-cis!n8emr!kd8wk!res>
	  James Warner Adams <adams at ucunix.san.uc.edu>
          
   All the people who were kind enough to make suggestions, additions,
   and corrections -- the list is a bit too long to include here.

-- 
| Lenny Tropiano           ICUS Software Systems        lenny at icus.ICUS.COM |
| {ames,pacbell,decuac,sbcs,hombre,rayssd}!icus!lenny   attmail!icus!lenny  |
+------ ICUS Software Systems --  PO Box 1;  Islip Terrace, NY  11752 ------+
-- 
| Lenny Tropiano           ICUS Software Systems        lenny at icus.ICUS.COM |
| {ames,pacbell,decuac,sbcs,hombre,rayssd}!icus!lenny   attmail!icus!lenny  |
+------ ICUS Software Systems --  PO Box 1;  Islip Terrace, NY  11752 ------+



More information about the Comp.sys.att mailing list