The following changes have been made for the Beta-2 release of VU BBS

GENERAL VU FEATURES / LINK KIT

04/13/95	Flash messages fixed

Flash Message support is now back on track.  You will need to create
/usr/spool/flash with a permission of 0755.  Most B2 VU BBS apps
can now send pop-up messages to other users with this change.  B1
apps remain broken until linked with the B2 link kit.

The flash message system now depends on two setuid programs, postflash
and killflash.  These programs manage the /usr/spool/flash directory
and transfer file permissions as needed.  This assures us that shell
users cannot use /usr/spool/flash for 'pranks' and that no public
read or public write files are now involved in flash messaging.

04/13/95	Piping / download support

File download support added to link kit for use with LGM B2 download
option and news reader article download.

04/14/95	attach_stream()

Fixed for Linux.

04/14/95	libumail.a

Modified lock to assert lock in /tmp if unable to do so in spool.
Added standard rewrite_mailbox() for use by daemons.  Added mailgrp()
to determine mail methodology.

04/20/95	VU_TERMLIB

The VU_TERMLIB env variable has been introduced.  This may be used
to force loading of a VU TERMDEF record from a source other than
/etc/VUTermlib.  The eventual purpose is to allow a user to create a
~/.termdef file which can hold a completely custom terminal setup.

04/25/95	Word wrap for flash messages

Word wrap now active.  Everything gets relinked.

04/26/95	VU_COLORSET

The term_lib support module now processes the VU_COLORSET env variable
correctly to load alternate color tables!

04/27/95	VU_SHELL

VU apps will recognize VU_SHELL, and, if called from a VU shell, will
exit without an 'EXIT' window.

LGM

04/14/95	Updating mailboxes and access permissions

Most of these changes are also reflected in the link kit.  The update
on exit code now asserts mailbox lock files in /tmp if the lock cannot
be created in the spool directory.  LGM now also asserts flock exclusive
before re-writing the spool file at exit.

Since everyone seems to have a different way to setup a secure mail
system under Linux, we now do several things related to access and
update a little differently.  To resolve these differences, lgm must
run as a setuid program and now uses the new mailgrp() call.

Some configurations have the mail spool owned by group 'mail', with mode 770 
or 775.  For these situations, lgm now automatically changes the user to the 
gid of the spool.  This used to be done in B1 by adding 'group=' to mail.conf.

Another common configuration is to have /usr/spool/mail set as rwxrwxrwt.
This usage does not require lgm to assert setuid, but is generally
considered less secure.

For security, it may be desirable to change owner of lgm to 'mail', and chgrp 
of lgm to 'mail', as well as adding setuid.  LGM will assert the original
owner after changing the gid as needed.

04/15/95	Directory uses mempool

To better support very large white pages, the directory list code now
uses a mempool instead of descreat malloc()'s.  The result should be
quicker loading and exit with far less memory fragmentation.  Note
that you can add 'dirsize = xxxxx' to mail.conf to increase the default
white pages / yellow pages limit beyond 2000 names.

04/15/95	Fix CTRL-D in address

CTRL-D now does delete instead of closing the address form.

04/19/95	New letter addressing

Subject field now larger.  Problems with re-addressing replies should
now be fixed.

04/20/95	Downloads active

You can now download individual e-mail documents.  No MIME support yet,
though.

Add the following to mail.conf:

[download]
zmodem = sz -y -
ymodem = sb -
xmodem = sx -

04/20/95	localhost processing

Several problems were found in localhost processing.  This may result
in lgm disabling editing of 'remote' mail addresses.  The B1 release
can add a 'localhost=myhostid' to [mailer] in mail.conf to get around
this.  This is no longer nessisary.

Under LGM B2, if localhost is missing in mail.conf, then the hostid() is
now used to determine the local host name, and if remote mailing should
be disabled.  If no localhost lines are present, and your system has
a simple non-domain node name (like 'test'), then, and only then, will
remote mail addressing be disabled.

Remote mail addressing can also be turned off by adding 'remote=f' to the
[mailer] section of mail.conf.

localhost can be used to inform lgm that you have multiple host id's under
different networks and domains.  For example:

localhost=trike.bikes.com  n4.a3.z1.fidonet.org pups.dog.com

In this case, any mail with an address for these 'local' hosts will
in reality be routed to the current host by lgm stripping '@' portions
of the name.  The mail delivery agent is probably also able to do this,
though the results are cleaner when replying to pre-stripped mail since
the @address portion is not present in from or sender info.

04/21/95	Segmentation fault

We found that letters with empty subject headers (Subject: ) would fault.
This is now fixed.

04/22/95	Locking

Stream locking is now used in a manner consistant with other Linux mail
utilities.  In particular, flock will be asserted during the entire
mailbox rewrite phase.

04/26/95	'-' addresses

MCI Mail code removed, as it was interfering with mailing lists.

ADMIN

04/25/95	Dup'd menus

To avoid dup menu items, root is not automatically assumed to have permision
to any line item.  As a result, you will need to add an entry for root when
needed for special menu items that are also given to other users.

HELLO

04/13/95	Expire obsolete flash messages

Hello will kill any leftover instant messages from a previous login
session that are older than one hour.  This might occur if someone
disconnected while in a non-VU application, and another user had 
attempted to send a message to them.

04/13/95	Flash announcement

If an announcement file exists for a user in 
/usr/spool/flash-msgs/announce, hello will now run 'flash' to flash
the announcement to all logged in users.  This one should be fun!
The announcement is stored under userid, and the file must be
chown'd to the user you are announcing. 

Of course, the flash will probably also go to the user who is logging
in, but if the user has a big enough ego to need to announce....

04/24/95	Telnet support added

See Telnet kit for details.

04/27/95	Noaccess support

The 'noaccess' keyword can specify a path to a file and a list of
'groups', as in noaccess=/etc/noaccess user guest etc.  If the noaccess
file is found and the user has logged in under a group matching the
list, then the user will be taken to 'browse noaccess-config', such as
'noaccess-default', for example,  and then the user will be dumped.
This allows for the creation of 'access limiting' scripts, such as for
systems with pre-scheduled mail polls.  The user will get a 'noaccess'
text file to browse through the browse command.

Since each hello 'config' set can have a different noaccess file to check
and can have a different noaccess browser, careful use of doorway settings
can allow different scheduling scenareos on different ports. 

DSCAN

04/15/95	Uploads in dscan

I think dscan has been falsely failing successful uploads.  A minor
change has been added to rectify this.

04/22/95	Uploads in dscan again

It's rare enough these days to find people uploading, let alone adding
descriptions.  Yes, a bug was found in recording descriptions in .index
after a successful upload.

04/25/95	Dscan HOME shadowing

Dscan can now be used to point to and allow browsing of a user's home
directory.  Simply add a '[home-area]' to dscan.conf.  The dir will
automatically be set to the user's home directory when 'dscan home' is
used.  You may wish to add a 'title=' and 'logpath=' entry to the
[home-area] section, but do not specify and directory.

MENU

04/13/95	Expire obsolete flash messages

The menu shell will kill any leftover flash messages older than
one hour when started as the users 'login' shell.  This is performed 
by menu as well as by hello for those sites which do not run hello.

A new menu.conf [menu-options] entry, 'expire = t', can be added to
force menu to kill leftover flash messages whether it is started as the
login shell or not.  Setting 'expire = f' would disable menu from ever
killing old flash messages.

04/13/95	Fixed env code for setting term

In the case of Linux, using putenv() must be from a unique pointer,
since Linux putenv() does not dup the string.  As a result, strdup()
code has been added for setting .setup display and colorset settings.
These may not have been working right under Linux B1.

04/13/95	Added 'TERM=' option

Telnet users who login using the 'normal' login may have terminal
settings not found in VUtermlib.  The menu shell will then respond
with an 'Unable to initialize' error.  To compensate, you can now set a
'default' TERM entry in menu.conf [menu-options] which will be used
if the user's current TERM is unknown in VUtermlib and VUaliases.  The
menu shell will export the default TERM for other apps.  We recommend 
using TERM=vt100 for this purpose.

04/13/95	Fix mailcheck

A pesky irritant; menu would decide there is new mail in empty mailboxes.
Now fixed.

04/19/95	Restricted users shell

Restricted users now have shell escapes disabled automatically.

04/20/95	VU_TERMLIB setup

Menu now sets VU_TERMLIB to ~/.termdef if the user chooses 'custom'
in setup.  Changes are needed to display setup to support this.

04/25/95	Dup'd menus

To avoid dup menu items for root user, root user no longer has automatic
access to every menu item.

04/26/95	Colors

When used as a 'login' shell, menu will now set VU_COLORSET to the color
set selected in setup_display, which will be loaded from /usr/lib/colorsets.

04/27/95	VU_SHELL

VU_SHELL now properly asserted as the PID of menu.

USERS

04/19/95

Fax number truncated in display.

BROWSE

04/27/95	timer

A timer = entry has been added as an option.  This is normally used in
conjunction with a '[noaccess]' file to kick the user off after 30
seconds or so...

NEWUSER

04/14/95

Newuser now supports 'secure' mail spools by creating new user mailboxes
with gid set to the 'mail' group and file mode 0770 if the mail spool
directory does not have public write permission.  This is consistant
with the mailgrp() function in libumail.a and with revised operation of
lgm.

04/21/95	Name size

Linux cannot support user id's longer than 8 chars....oops.  Newuser now
restricts new usernames to 8 chars or less :).

04/22/95	Window parent bug

A problem was found in newuser related to accepting new accounts, where it
would segfault or swap forever.  This is now fixed.

SETUP

04/19/95	custom

Setup now has 'custom' as a display option, related to setting VU_TERMLIB
and ~/.termdef.

04/21/95	Menu scrolling

A bug in menu list when longer than the menu window was fixed.

04/26/95	Color schemes

Setup display now allows selection of alternate color schemes.  The color
schemes are created in /usr/lib/colorsets with the colors utility.

04/26/95	Extra lines

Menu made bigger.  We have lots of setup modules now!

DOORWAY

04/24/95	Telnet support added

Doorway can now be run from telnetd directly.  See telnet kit update
for details.

04/24/95	Protocol changes

Protocol entry ID strings no longer forced to upper case.  Protocol
entry selection is now logged.

MESSAGE

Added for B2 release.  A setup module that allows a user to block or
unblock receipt of VU flash messages.  Now that they work, we need
this!

FLASH

This is a little shell utility to link /usr/spool/flash-msgs files
to /usr/spool/flash for all currently logged in users.  It can be
ran from crontab to schedule auto-notify flash messages.  It can
be ran from the shell.  Non-root users can also run it IF they have
a file they own in flash-msgs.

SETUP_TERM

New setup module to allow users to create custom private terminal
definitions.

AUTOEVENT

Beginning of autoevent system.  Easier to setup than crontab entries.
Autoevent currently manages linking and unlinking of files as needed
to auto-restrict access or perform other 'file check' sensitive operations
by time of day and optional days of week.

A typical use might be to link /usr/lib/browse/noaccess to /etc/noacces
during mail polling times and then have a noaccess=/etc/noaccess user guest
entry in your hello.conf, or to force the system offline during
pre-scheduled tape backups via a link between something like
/etc/modem.offline.backup and /etc/modem.offline.

Autoevent also cleans up current link states when it starts, so if the
system unexpectadly terminates, you won't have to start looking for left-
over links.

Autoevent can also age log files.  New files are moved into backup
sets (logfile.1 .. logfile.n) once a day and each time autoevent starts.
These backup sets may also be compressed.  This assures us that we will
never run out of diskspace do to neglect :).  However, the sysop is
responsible for adding log file pathnames to the autoevent system.

USAGED

Mkdir /usr/spool/usage.  Run usaged during rc.  Usaged will record timed
usage and logins on a daily basis.  This is the first component for true
usage based tracking and time quotas.

OMMISSIONS IN B1

There is a feature known as the 'logo', which can be drawn on the desktop
of hello and the menu shell.  The logo is a VU line drawing control, and
takes a line drawing command string found in /etc/logo. 


