Subject: Snapshot report - August 19th/26th tar_files
To: None <current-users@NetBSD.ORG>
From: Alistair G. Crooks <agc@uts.amdahl.com>
List: current-users
Date: 08/31/1995 06:16:52
Lots seems to have happened over the last 3 weeks - not the least of
which is that our baby started sleeping through the night.

I'd just like to add to all the people I've seen thanking Chris
Demetriou for all the work he's contributed to NetBSD - Chris has
resigned from the core team, although he stays around as the Alpha
portmaster.  I used Chris' instructions in 1992 to give my 386BSD 0.1
system 20MB of swap space, rather than the default 5MB.  Many thanks,
Chris - it wasn't for your efforts, NetBSD wouldn't be around today.

The tar_files from August 26th will compile as long as you update your
machdep.c file, if you're on the i386 port.  The version that works is:
/*      $NetBSD: machdep.c,v 1.170 1995/08/27 21:30:00 fvdl Exp $       */

Thanks to Frank as well for making Linux svgalib binaries run on the
i386 port.  I haven't tried it yet, and note that you need pcvt
installed, but this looks good.

The August 19th tar_files compiled, but wouldn't install because of
missing /usr/share/man/cat{4,8}/sun3.

For those of you just back from Mars, there's been a bit of interest
shown in an 8lgm advisory that syslog(3) can be used, with user data,
to overflow a buffer on the stack, and thereby leaving return
addresses open to abuse a la Morris Internet worm of a few years ago. 
Various fixes have been floating around the mailing list, and there's
some new binaries on ftp.wasabi.com.  If you're at all worried about
security, you'd better upgrade your libc.so.12.3, and any static
binaries in /bin or /sbin which use syslog.  A fix was checked in last
night, and, personally, I can't see the what the fuss is all about,
but I'm not relying on NetBSD for firewall etc stuff.

In my copious spare time, I've managed to get my i386 to boot with a
kernel config file defining aha AND bt SCSI cards, and the machine
with only a 1542CF in it.  The diffs come in two parts, and I managed
to cock up completely the send-pr for it, so, just for posterity, and
because I've got a huge ego, the diffs are below:

RCS file: /local/cvs/src/sys/dev/isa/bt742a.c,v
retrieving revision 1.1.1.5
diff -c -r1.1.1.5 bt742a.c
*** bt742a.c    1995/08/24 13:36:18     1.1.1.5
--- bt742a.c    1995/08/28 10:35:57
***************
*** 128,133 ****
--- 128,139 ----
  #define BT_MBX_INIT_EXTENDED  0x81    /* Mbx initialization */
  #define BT_INQUIRE_EXTENDED   0x8D    /* Adapter Setup Inquiry */
  
+ #define BT_GET_BOARD_INFO     0x8b    /* Get H/W ID and Revision */
+ struct bt_board_info {
+       u_char  id[4];          /* i.e bt742a -> '7','4','2','A'  */
+       u_char  ver[2];         /* i.e Board Revision 'H' -> 'H', 0x00 */
+ };
+ 
  /* Follows command appeared at FirmWare 3.31 */
  #define       BT_ROUND_ROBIN  0x8f    /* Enable/Disable(default) round robin */
  #define   BT_DISABLE          0x00    /* Parameter value for Disable */
***************
*** 959,964 ****
--- 965,971 ----
        u_char ad[4];
        volatile int i, sts;
        struct bt_extended_inquire info;
+       struct bt_board_info binfo;
        struct bt_config conf;
  
        /*
***************
*** 980,985 ****
--- 987,1001 ----
  #endif
                return ENXIO;
        }
+ 
+       /*
+        * Check this REALLY is a bt - aha boards return ENXIO here.
+        */
+       delay(10000);
+       i = bt_cmd(bt, 1, sizeof(binfo), 0, &binfo, BT_GET_BOARD_INFO,
+               sizeof(binfo));
+       if (i)
+               return i;
  
        /*
         * Check that we actually know how to use this board.

RCS file: /local/cvs/src/sys/kern/subr_autoconf.c,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 subr_autoconf.c
*** subr_autoconf.c     1995/06/26 12:37:52     1.1.1.1
--- subr_autoconf.c     1995/08/30 14:49:07
***************
*** 334,340 ****
--- 334,352 ----
                if (cf->cf_driver == cd && cf->cf_unit == dev->dv_unit &&
                    cf->cf_fstate == FSTATE_NOTFOUND)
                        cf->cf_fstate = FSTATE_FOUND;
+ 
        (*cd->cd_attach)(parent, dev, aux);
+ 
+       /*
+        * We can't have two devices at the same physical address, and
+        * so mark all the devices on the same physical address as us
+        * to be `found'.  This should stop the aha/bt conflict
+        * problems.
+        */
+       for (cf = cfdata; cf->cf_driver; cf++)
+               if (cf->cf_loc == dev->dv_cfdata->cf_loc &&
+                   cf->cf_fstate == FSTATE_NOTFOUND)
+                       cf->cf_fstate = FSTATE_FOUND;
  }
  
  struct device *

der Mouse has put up his file system resizer program for ftp. It's in
ftp://collatz.mcrcim.mcgill.edu/mouse/fsresize.{c,8}

Jason Thorpe has spruced up his ccd driver, the concatenated disc driver,
and the sources are in the 26th August tar_files. Thanks, Jason.

John Kohl has put up new AFS binaries - v1.26 - the binaries are in
/afs/transarc.com/public/afs-contrib/bin/netbsd.client
although you'll need an AFS licence to get them...

There's been a new release of XFree86 3.1.2 for the i386 folks,
available on your friendly neighbourhood ftp site.  I'm running it on
one of my boxes here, and, on exit 3.1.1 knackered the text display by
making the standout colour black, which is the same as my background,
while 3.1.2 works fine.  Thanks to those resposible.

For the CVS gurus out there - how do I delete an empty directory from
the CVS repository?  e.g. /usr/share/doc/usd/04.csh has gone from the
main sources, but it's still in my cvs repository, and causes the Makefile
problems. I've tried deleting the tag from the repository, but it keeps
coming back to haunt me...

Some selected CVS commits (these are interesting to me, probably not
to you)

In the August 19th tar_files:
> /src/sys/kern sys_socket.c uipc_socket.c uipc_syscalls.c 
splnet --> splsoftnet
> /src/libexec/getty main.c 
log open failure every 10th try (that was the old behaviour) UNLESS
the error is ENXIO and it's already been logged.  (this allows people
to leave getty's running on nonexistent devices without filling their
syslog.  while it's arguable that that might not be a good idea, i've
found it to be _very_ useful, because it allows me to rdist /etc/ttys.)
> /src/sys/net bpf.c 
Don't pass through SIOCGIFADDR, per Steve McCanne.
> /src/sys/sys proc.h 
Add PHOLD() and PRELE() macros, used to hold a process in core and release it.
> /src/sys/compat/linux linux_misc.c 
Linux doesn't allow select(2) to be restarted.
> /src/sys/sys signalvar.h 
Add ps_sigreset, to to keep track of signals which are reset when caught.
> /src/sys/sys signal.h 
Add SA_RESETHAND and SA_NODEFER, as in SVR4.
Rename bits in ss_flags to SS_ONSTACK and SS_DISABLE; this makes more sense,
and it's what SVR4 does.
> /src/distrib/i386/floppies/kc-common list 
update to match current reality.  also, make a "COPYDIR" list entry
type, to copy a directory, and clean up "COPY" list entries.
> /src/sys/arch/sparc/include profile.h 
Make MCOUNT() PIC-safe.
> /src/sys/compat/linux linux_ipc.c linux_ipccall.h linux_msg.h linux_sem.h 
Implement the rest of the sysv ipc calls ({sem,msg}*())
> /src/sys/kern uipc_usrreq.c 
Allocate PCBs with malloc(), more mgetclr().  Be more careful to free the
PCB after it's done with.
> /src/sys/arch/mac68k/mac68k locore.s machdep.c 
Load the old MacOS ROMBase value back in before we jump to reset.
> /src/usr.sbin/pppd/pppstats pppstats.8 pppstats.c 
Updated to follow the example of slstats(8) more closely.
> /src/sys/sys disklabel.h 
Add disk types for the ccd and vnd.
> /src/sys/dev ccd.c ccdvar.h 
New version of ccd.  Allows dynamic run-time configuration and
unconfiguration and supports disklabels.
> /src/sys/dev/ic
Matt Thomas's dc21040 'de' driver, July 26, '95 snapshot.
> /src/sys/arch/amiga/dev grf_ul.c grf_ul.gsp grf_ulreg.h grf_ultmscode.h
new a2410 driver from is@Beverly.Rhein.DE (Ignatios Souvatzis)
> /src/sys
Generic FDDI support by Matt Thomas.  Support for DEC "PDQ" FDDI chipset
and for the PCI attachment of said chipset ("if_fpa"), also from Matt Thomas.
Arguably, pdq* doesn't belong in sys/dev/ic, but it's going to be shared by
various bus attachment devices at some point in the future, and there's no
other place that seems to fit as well.

And in the August 26th tar_files:
> /src/sys/compat/linux linux_misc.c linux_types.h syscalls.master 
Implement the old and older uname(2) calls.
> /src/sys/arch/i386/isa fd.c 
Require drives 2 and 3 to be explicitly configured.
> /src/sys/scsi scsiconf.c 
Set the scsi link before calling config_attach(), so target/lun info is
available to, say, dk_establish().
> /src/sys/arch/vax/include endian.h 
Bug fix in byte_swap_word(); didn't always make it.
> /src/sys/compat/linux linux_misc.c 
Check for status NULL argument in wait4 and waitpid. From PR #1392
by Thomas EberHardt.
> /src/etc/etc.* fstab.wd 
ufs -> ffs; PR #1381
> /src/sys/compat/linux linux_misc.c syscalls.master 
Emulate some syscalls that appear in Linux 1.3: a select() with normal args,
getdents() and flock().
> /src/gnu/libexec/uucp ChangeLog Makefile.inc README TODO tstuu.c NEWS 
Upgraded to Taylor UUCP 1.06.1 (Thanks to John Kohl).
> /src/gnu/usr.bin/ld/ldconfig ldconfig.c 
Ensure the hints file is readable.

Paul Kranenberg took me to task last time for the upgrade instructions
which left a window whereby there wasn't a good ld.so program around.

What was the outcome of the `What's in a name - BSD' news thread in
comp.unix.bsd?  It seems that BSDi now have a trademark on the name
`BSD', and are demanding that people recognise their trademark. 
FreeBSD have signed a letter whereby they will recognise BSDi's
ownership.  Big deal.  Now I know that, unless they try to protect the
trademark, it becomes useless, but this doesn't make me feel very
warmly towards BSDi, despite the number of former CSRG people they
have onboard.  And despite prior use of the name (I remember posting a
bug report about find(1) on net.bugs.4bsd in 1985 - oops, that rather
dates me), the strong-arm tactics may well prevail against a bunch of
individuals.

Just rambling thoughts from the bunker...
Alistair

PS. There may be another of these next week, but I'm off on vacation
for two weeks from the 9th September.

PPS.  Sparc people, prepare for the imminent invasion of Pete Delaney,
the list-member from hell.  He's already pissed off the people on the
java-porting list with his political views, and is currently starring
on the freebsd lists with his medical knowledge.
--
Alistair G. Crooks (agc@uts.amdahl.com)                    +44 125 234 6377
Amdahl European HQ, Dogmersfield Park, Hartley Wintney, Hants RG27 8TE, UK.
[These are only my opinions, and certainly not those of Amdahl Corporation]