                     /*** Ncohafmuta 1.1.* changes ***/
 10/20/97
 Frogged users cant give afk messages nad talk that way
 Added socials wedgie, chicken, and noogie

 10/10/97
 Fixed buffer overrun in logerror();

 7/15/97
 Added bot global (int bot) to hold bot's user number for its login.
 Added bot_com and botsys[] (parallel to sys[] and exec_com) for bot
commands. bot commands will start with a _ and only send info back to the
bot set as BOT_ID. Some changes to the main loop and get_com_num() were
done to accomplish this.

 7/13/97
 Frogged users can no longer .to speech

 7/11/97
 Added check on boot-up for max connections set against file descriptors
available
 Fixed glitch in entpro and descroom that a variable wasn't clearing after
the function return;'ed
 Increased size of option variable in shutdown function from 80 to
ARR_SIZE;

 7/10/97
 Fixed bug in remove_junk() that wasn't actually removing the files.
 Added tzinfo/ directory to the distribution with all time zone info in
it. Do not rename this directory.
 Changed systime() to take tz info from tzinfo/ directory. FreeBSD, 
NetBSD, and UnixWare had incomplete or screwy zoneinfos.
 Changed Makefile so that 'make dist' copied tzinfo/ too.

 7/6/97
 Fixed glitch with pcreate
 .search's are no longer case-sensitive
 put some stuff in supass and suname
 Took out all PRIROOM stuff..i think it was a stupid iforms idea really.
 singular/plural-sensitiveD converttime() string

 6/20/97
 Compiled successfully on Digital UNIX. (a few warnings..they're no harm)
 Where it says "The room is set to...." in .look, if the area is locked
public, it will say, "The room is ^HClocked^ to..."
 Colors in .private and .public function.
 Removed year from time/date stamp in syslog entries..just takes up space.

 6/14/97
 fmail/autofwd security hole fixed.
 .shutdown -r now reboots the talker properly. No more socket errors 
plauging the log.
 NEW feauture. Rwho (remote who), gets a real-time who listing from the 
given talker. ".who @<talker keyword>"  ".w @" gives you a list. Iforms 
style and ncohafmuta talkers are supported. MOST NUTS talkers dont have 
external who ports. This command is forked so you and other players may 
talk while the talker gets the rwho listing in the background.
 Added .rules command. takes file from global RULESFILE which contents i 
made from a combination of .h etiquette and .h disclaimer
 For .look, if there are shadows in the room it will tell you (with 
global define VIS_IN_HERE), unless you are >= MIN_HIDE_LEVEL in which 
case it will give their name/desc thing with (invis) after their name.
 Cumulative time structure (totl) resets at 999 days, not 99 days

 6/12/97
 More <wiz> messages written to the wiztell buffer, SUICIDE, etc..
 If a user is ignoring pictures, they wont get ptells pics either now.
 Finished .pcreate. Read help file.
 FILETEMP is replaced by function get_temp_file() which creates a new 
tempfile with a random number os no two tempfile creations clash. These 
tempfile will be stuck in junk/ directory and removed on startup and at 
midnight with new utility function remove_junk()
 Trying to forward/autoforward mail will not even be ATTEMPTED now if the 
user has their email address as the default.

 6/10/97
 If a user .ustat's themselves and their email address is hidden, it will
show it to them now instead of just saying -hidden-
 If a user .ustat's themselves they will see what rank they are now.

 6/9/97
 Added abbrcount() function, and execute it on startup to compares counts
between the sys[] structure and NUM_ABBRS.
 .clist bans/newbans <search string> to search for banned sites instead of
having to look at the whole list.

 6/3/97
 Users that have .permission to a room can go there now EVEN IF it's not
adjoined to their current room. They can also make the room their home if
they have .permission to it.

 6/2/97
 Modified password() passwords can no longer have spaces in them. Too many
people using the syntax .password <old_pass> <new_pass> when it's just
.password <new_pass>
 Modified Makefile to add system specific -D's
 Modified code to use Makefile defined -D's
 Modified main function..did checking for non-blocking function from fcntl
Changed select() descriptors that are read to FD_SETSIZE.
 Modified make_sockets() to check for non-blocking from fcntl.
Added check to make sure machine is a host with gethostname and
gethostbyname.
 All sockets that get close()'d, now also get a shutdown(sock,2);
 Declared bzero() for make_sockets()
 Added more error cases to shutdown_error()
 
 6/1/97
 Removed check_abbrs() function. Checks are performed for all users on talker
boot in reset_userfors() instead.
 Bug fix put in abbreviations check. Talker previously did not
recognize you changing the name of a command and changing the command name in
the user .abbr's. Symptoms of this problem were user's name changing to
abbreviations, $ \ ", etc.. Also added 10 to a user's abbreviation space
allocation in the user struct {} profile, since NUM_ABBRS doesn't allow
enough room for user abbreviations to be read in intially if the global was
decreased in constants.h
 Removed incompatible pointer type errors for the utility announce.c
 Added some lib options to the Makefile for UnixWare compiles (ick!)

 5/28/97
 Users are now kicked out when they hit IDLE_TIME, instead of going 1 over
it
 LOGIN_TIMEOUT now defines how many minutes a user can be at the login
prompt before getting kicked out (WAS hardcoded to 3)
 Gagcommed users can't .smail
 Gagged users can't .to or .join the gagger
 Can't suname or supass users that are of same rank or greater rank than
you.

 5/19/97 pl6
 Changed ptell output message
 Fixed macro making so you can macro commands that start with .n except
for .nerf if it's set not to be macroed..previously it wouldn't let you
macro any .n command because it thought it was .nerf

 5/15/97
 Added shutdown_error() function to shut down the talker on an error
accepting a socket..esp. on a reboot with .shutdown -r
 Modified the external_www() function a bit to increase the chance of it
spitting out the user list correctly.
 Fixed the social function.
 Modified check_mess() function to print to the system log how many
messages are deleted at midnight and to tell the users when a system check
is completed so they don't think they lagged out. Also changed way temp
messages are written back to the message boards so it's faster.

 5/13/97
 Finished changes from "headquarters" to HEAD_ROOM
 Made kill messages global.
 You can still look at warning logs of people that dont exist anymore
 When a user is renamed their warning log is moved to the new name too.

 5/5/97
 Made some changes in .suname and .supass

** End of 1.1.1 changes **

 5/2/97 pl5
 Fixed bugs and glitches

 4/28/97 pl2
 Updated functions read_user(), descroom(), inedit_file(), and
inedit_file2()

 4/27/97 pl1
 Fixed abbreviation re-evaluation by adding checks to reset_userfors()
which is executed on talker startup.

 4/25/97
 The .banname check uses in-string checks now instead of exact checks.
Meaning, if you ".banname shit" any user trying to login with the word
"shit" in their name will fail. Previously if you banned that name, a user
like "shithead" could login since the name didn't match the banned 
name exactly.
 Added global LONGLOGIN_WHO. If set to 0, when a user types "who" at the
login prompt they will get a short who (.swho) If 1, they get the normal
.who

 4/23/97
 Added a line to the WWW port output to connect to the talker. Points to
the global TELNET_TO
 logged ip addresses for who and www ports connects are now resolved. This
is because if a site is totally restricted, they should not be allowed to
make www and who port connections, which is checked for now.

 4/19/97
 A .h now doesn't show the '.' before the commands in the list
 For users who used to or currently do try to do help on a command
literally (i.e. .h .succ) instead of .h succ, both ways will now work.

 4/17/97
 Added mail_warn ustr[user]. structure. Saved to user data file. This
structure is a check to see whether a user has received mail that their
mail file is over the size limit, so that they do not receive the message
each time someone tries to email them. (i.e. if someone is spam mails them
and they're over thier limit, the talker is gonna send them a message for
every mail, saying that they're over their limit, therefore spamming them
anyway) this flag is reset to 0 when the user uses .cmail successfully.

 4/16/97
 Fixed minor glitches.
 Fixed all occurences of things like "1 citizens online" or "displayed 1
users"
 Added SHORT_WHO message global.

 4/14/97
 AFK_BACK3 global shown to users who come back from being afk.

 4/13/97 
 Added .banname command to ban names from logging in or creating accounts
  Added nbanned[] list, NBANFILE, and NUM_NAMEBANS
 Added some more globals for messaging.
 For .to, now you can't .to a user that is AFK or BAFK

 4/12/97 
 Added stuff in .ranks
 Remove from constants.h *numcmds[] list and NUM_COMS global
 Put autopromote checking in command line .entpro (BUT YOU MUST INSERT 
TEXT FOR IT TO TAKE THE PROMOTION STEP), inserting blank lines doesnt count.
 Changed init_user() and add_user() to work more efficiently.
 Jazzin added 18 socials

 4/11/97
 You can now move users that are NOT online.
 Added <message> option to .kill (i.e. .kill <user> <message>)
with <message> being the global message sent on a user-kill.
 Added "all" option to .delatmos
 Changed file naming for atmosphere from "atmos<room number>" to <room 
name>.atmos (i.e. front_gate.atmos)
 Added enhanced profile editing to .descroom command.

 4/10/97
 Added some stuff in ./restart
 Changed the way MOTDs randomize..now instead of set globals for motds 
(MOTD1/motd and DTOM1/dtom1) it will be just the word motd with a number, 
starting with 0..first motd is motd0, then motd1, then motd2, and so on.
The number of motds you have should be set in the global NUM_MOTDS, in 
constants.h
 Fixed .picture bug of showing the list of filenames to everyone.
 Typing .ptell by itself now results in a file listing, not "Who do you 
want to send a picture to" or whatever.

 4/4/97
 Added init_netname structure which is the resolved site a user was 
created from. Runs with the already existing, but not-known-of, init_site
 Changed .entpro so you can edit profiles from the command line/prompt.
Lots of options in here, so READ THE HELP FILE.
 Fixed reading and writing of user data files.
 Now if you .ustat a user that is online, it reads their current 
strcuture, not their saved data file, which may not be as updated.
 Fixed bug in .examine that could crash the talker.
 Added more info in .examine, to make it look a little nicer.

 3/28/97
 In write_board() changed a line for the wiznote btell from sprintf() to
strcpy()..dunno HOW it got to sprintf. *shrug*
 Added global ANON_SUGGEST in constants.h so admins can set whether they want
.suggest suggestions to be anonymous or not.
 Added globals MOVE_TOUSER, MOVE_TOREST, and MOVE_TONEW to set messages
that are shown when a user is moved.
 Added globals ARREST_TOUSER, ARREST_TOREST, and ARREST_TOJAIL to set
messages that are shown when a user is arrested.

 3/27/97
 Added -c/clear option to .macros
 Added help glboal HELPSTYLE to let admins decide if they want..
  A) A blank help as the new style (commands by type) and ".h old" would
     be commands by level. OR
  B) A blank help as the old style (commands by level) and ".h old" would
     be commands by type.
 Added subject lines to autoforwarded and .fmail email that is sent out
from talker to user.
 .expire -n doesn't show how long ago they were on, it just nukes them now

 3/25/97
 Finished .set beeps and .set show.
 Fixed .suicide so that if a user gets demoted, they can't suicide and
come back and repromote themselves. Thanx Jazzin for pointing it out.
 Added .friends, untested as of yet. It's a new mode in t_who()

 3/23/97
 Logged adding of atmospherics to a room.
 Removed sw mode from init_user(), no need for it.
 Added resolve_names variable to init_data file first line, and removed
RESOLVE_DEFAULT global. Added dummy character to room lines in init_data
file so you know which room is which.
 Added in the .set recap function.

 3/19/97
 .expire -e won't exempt users that don't exist.
 Added globals for tells and creplys, VIS_TELLS, INVIS_TELLS,
VIS_FROMTELLS, VIS_FROMLINK.
 Added homepage and desc search options for .clist

 3/18/97
 Removed comment from checked line in check_mess();
 Removed temp user strctures: pcount, icount, acount, pmode, and pinput.

 3/17/97
 Added emote option to .mutter (.mutter <user> <your emote abbr><message>)
 Finished .time revamp. Removed globals ZONE_OFF, and all the DST globals.
Main timezones are still show, but now in am pm 0-12 hour format, not 24
hour format. a .time -l gets you a list of lesser-main zones, which you
can get time on by doing .time <zone> (i.e. .time hawaii)
 Added get_emote(user) function to get the emote abbreviation placer
for user commands that checked for a ; or : to do emotes in stuff.
Like a .wiztell ;<action>  now becomes..
.wiztell <what user has set for .emote><action>
 Changed formatting in last 3 lines of .ustat
 Removed user structures that aren't needed anymore. listen, dir, and 
tzone
 Removed .set tzone command and functions related to it. I never liked
this idea in the first place, most people just look at .time
 Added more line variables to the [Muzzled, Visible, ....] line
 Changed login message of when you were last logged in.
 Fixed nuke() for kill-nukes.

 3/15/97
 Changed MONTH_OFF to DAYS_OFF, if we expire by number of days, we don't
have to worry about the fluctuating number of days in a month, esp. Feb.
 Added EXPIRE_EXEMPT global. If this is set to a user level #, users at
and above that level get an extra 30 days before showing up on .expire -n
Setting this global to -1 disables this bonus.
 Changed show_expire() to reflect the DAYS_OFF change.
 Moved rank odds from text.h to constants.h
 Changed user data readfile and writefile macros from xwrite() and
xread() to fscanf()'s fprintf()'s and 4 macros rlong() and rtime() that
both point to a read_time()..and wlong() and wtime(). I'm planing on writing
the user data files with them instead. Easier to read, easier to change a
user's file by hand if need be, and minimizes the program's chance of reading
an improper value or corrupting the file.
 Changed user structures rawtime, numcoms, and totl to "long" declarations.


                     /*** Ncohafmuta 1.0.* changes ***/
 3/14/97
 Moved timed alarm() events to main function and made easier to read.
 Changed Daylight Savings Time info in constants.h (more coming later)
 Made .suname so that you can't chaneg a user's name to a name that
already exists.
 Cleaned up some small stuff, probably unnoticeable.

 3/5/97
 Added .wlog and .unarrest command. Read the help.
 Added bzero() to make_sockets()
 Added email search option to .search
 Now you can give a "kill -USR1 <pid>" from the unix command line to
give the talker a clean shutdown if you can't connect for some reason.

 3/1/97
 Patched .expire for 29/28 days in february
 Patched send_mail function checking of partial-named recepient.
 Patched storage space for get_help_file(), preview(), and picture()

 2/19/97
 Fixed bug in .fight as per smoothie. Thanx!
 Fixed password case-mixing. No biggie.
 Added a line option to .preview and .picture. Read the respective
helpfiles

 2/15/97
 Made .echo so that you can't echo usernames even if they're NOT ONLINE.
 Made a nuke do a kill on auto, since nuking a user before killing them
is useless, this takes care of it for you.

 2/11/97
 Made gag and alert so you can ungag and unalert users that don't exist
anymore.
 Made DEMOTE_SAME global to constants.h so admins can decide easily if
they want wizzes and up to be able to demote their own kind.
 Made USTAT_PROFILE global to constants.h so admins can decide easily if
they want .ustat to show a user's .ex profile

 2/7/97
 Added more options to the .cbuff command. The former "all" option is now
the "rooms" option. Read the helpfile
 Added functions cshbuff() ctellbuff()
 Set paging (one screen at a time) for .samesite, .restrict, .bannew, and
.clist
 Fixed bug in .force which tried to allows users to force offline users
certain flags which they must be online for.

 2/1/97
 Added another toggle level for .autoread and .autofwd. FOR autoread, the
toggles are now off, autoread on just login, or autoread on login and when
you get mail inside the talker. FOR autofwd, the toggles are now off,
autofwd all the time, or autofwd just when you're not online.
 Long usernames that exactly match as input string for .site now print out
their info, not like before.
 Redid socket code. Made accept sockets just one sockaddr, instead of like
6. What was once in set_up_socket() is now make_sockets().
 Updated helpfiles.

 1/29/97
 Took out arpa/inet.h include, don't need it anymore. Fixed bug that
.greet crashes the talker if you don't compile with the -traditional flag.
 Added .guru command structure. Sort of like eight-ball. I promised him I
would do it :-)
 Added afk desc-messages to who port userlist.

 1/27/97
 Stripped color before sending off an autoforward email.
 Added -h option to .rooms, to see a list of hidden rooms for users above
the ROOMVIS_LEVEL.
 Added global FOLLOWIS_JOIN for admins to turn on/off whether a .follow
for a user allows the user to telport to the target user's room. i.e. the
room doesn't have to be connected.
 Fixed log_misc_connect getting of ip addresses
 Added resolve_add() to simplify resolution of incoming addresses to
hostnames.

 1/25/97
 Fixed unnoticeable glitch in .afk and .bafk
 Added a -l option to .meter to see login activity to the talker per hour.
 At the end of every day, the info will be appended to the file pointed to
by the global, ACTVYFILE. Also will be put there on a shutdown or reboot.
actually done in write_meter();

 1/22/97
 Fixed bug in .site
 Took out suggest() function and integrated the command into read_board()
and write_board() homogenaity. (What a word) You cna now do selective
reads on the wiz, suggestion, and gripe board.
 Color codes for blinking, reverse video, and underline are now BL, RV,
and UL respectively.

 1/17/97
 Made BOTS_ROOTID so users can't echo the bot's owner's name to do
his commands.
 Made it so that you can't suname a user to a name with non-letters.
 Made the color test option, turn color on, then off after the test
because if a user had color of, which is the default, user won't see color
in the test.

 1/14/97
 Fixed bug in the successes and fails
 Fixed glitch in .log, Finished .set pbreak. If set on, who list will be
paged out to the user based on how they have their rows set.
 Fixed it so that if user is above a level 0 and has their description as
the default description, they don't get mistakenly autonuked.
 Cleaned up some things and fixed all the minor glitches with this new
version.

 1/6/97
 Fixed a few bugs in the new version. Added a mode option to
write_hilite() so you cna write colors with it. Added a color_strip()
function. Added check_for_file() function. Found out the reboot option for
.shutdown doesn't work on SunOS.

 1/3/97
 Added lots more globals to .h file. Most for defaults and for ranks.
 Made gripes not anonymous anymore.
 Fixed column write problem with write_str()
 Finished custom abbreviations for commands with .abbr  Added NUM_ABBRS
global. It EQUALS the number of abbreviations set in the sys[] command
structure.
 
 1/1/97
 Added color options to selective hilites. Read .h coloruse
 Added port type argument to .close and .open commands. Read the help.

 12/29/96
 Added -s option to .rmail so users can see how big their mailfiles are,
so they know they won't go over their disk limit.
 Added .gagcomm command and all code that goes with it. Added globals for
its messages and more globals for muzzle and xcomm messages, among others.
 Commands users cannot do when gagcommed are .tell, .semote, .creply,
.sthink, .ptell, .picture, .echo, and all socials.
 Added a btell for auto-nukes.
 Added auto_promote code. If user is level 0 and enters a description
gender and profile, they will be promoted to level 1 by the talker. If use
is demoed for some reason or promoted by a wizard before they auto-promote
themselves, user will NOT be able to auto-promote themselves again by
doing those 3 commands. It only makes sense. Added AUTO_PROMOTE global in
library file so admins can turn the feature on or off.
 Finished .frog command. Read the help on it.
 
 12/27/96
 Added in that users in a profile, room description, or vote topic, will
no longer ignore tells, but checks will go in all private comm. commands
to tell people That a person is entering a profile, vote desc. or whatever
with #define IS_ENTERING
 Made the .vote -c delete the vote topic too. So to start a vote, you do
.vote -c and then .vote -d. NOT the other way around!

 12/26/96
 You should be able to use caret hilites anywhere now. The formatting on
some things might be off since i can't remember everything that changes.
If you find something wrong, let Cygnus know.
 Finished the mail checks for auto-forwarding and mailfile size. Added
global defines MAX_AUTOFORS, MAX_MAILSIZE, MAILFILE_NOTIFY, and
MAILFILE2_NOTIFY.
 Added PROMOTE_TO_ABOVE flag to let admin control whether people with
.promote can promote ABOVE their level.
 Changed .who formatting to accomadate caret hilited descriptions.
 Changed .site so you can site someone that is offline.
 Fixed little .entpro/.vote -d/.descroom glitch
 Made .samesite so that you can search for hostnames as well as ip #s
 Made roomsec() function for .permission less screwy and more normal. A
non-permission for a room is now a 'N' not a ' '
 User listen and ignore flags are now 1's and 0's not 1's and spaces. 2
defines for total flags, FLAG_ONS, FLAG_OFFS
 Fixed glitch that .vote had on Linux.
 Added .to command for directed says.
 Added NUKE_NOSET define global to let admins tell the talker whether
new users signing off without changing their description should be nuked.

 12/20/96
 .suicide's are now logged.
 Changed .demote so that if a user is being demoted to a level that
shouldn't have .monitor privledges, it resets their monitor to off. It's
only fair.
 Fixed .gag and .alert so you can't add users that don't exist. DUH!
 Made array sizes larger to try and stop memory overwrites. Started adding
code to limit autoforwards messages per day for each user. Started
.gagcomm function/command. Next code compile will result in level changes,
data file structure increases, and a necessary user wipe.
 
12/7/96
 Added (V)iew option to .entpro prompt. Added PROFILE_PROMPT global.

12/6/96
 If you do an .examine <user>, it will give you the real status on
them, if they exist or jsut don't have a profile..before it used to say
"User doesn't exist or doesn't have a profile", but now you know which.
 Increased .expire exempt users to 15 by default.
 Added Save, Redo, or Abort? option to all the editor commands, .entpro,
.vote -d, .descroom
 Updated .samesite so you can also samesite a user as well as an ip.
 Added a reboot (-r) option with time to .shutdown
 FINALLY FIXED the .site for linux..added get_ip_address() function.
 Added color write_str and write_str_nr functions but did not implement
yet.

12/3/96
 Made .mutter so person has to be in room with you for it to work AND you
must type the name of the person IN FULL.
 Updates the read_exem_data() function to detect on bootup whether the
number of expire names in the globals file was changed. If so, it updates
the file with more or less globals.

12/2/96
 Added possesive emote options to .semote, .shemote, .wiztell,
.emote, and .creply.  Re-read the help files on these commands.

11/26/96
 Made .cbuff all  and .monitor level 4 commands now instead of 5.
 Changed the output of .muzzle just a litte.

11/23/96
 A logout now is in blue for people who see colors, so as to distinguish
from logins
 If you have someone on your .alert list, but you are ignoring
logins/outs, it still will tell you that the user has logged in AND beep.
 Added 'profdel' option to .force to let wizzes and up delete users'
profiles if they have to.
 Made more messages to globals progressively. Promotions and demotions are
now .wiztelled as per request.
 Added a new command .suicide to let a user nuke his/her own account.
Read the helpfile on it.

11/20/96
 Added a -c/clear option to .set email  for users that want to clear their
email address. (Since setting an email address requires a @ and a .)

11/6/96
 Added .shthink (shout think)
 Cleaned up some small stuff and globals
 Added BOT_ID like ROOT_ID
 Made if_cons.h now constants.h and if_text.h is now text.h
 Added stuff so that the bot can work easier on the talker. Included
the bot code in the talker distribution.

11/1/96
 Added partial helpfile matching. Like if you did ".h rea" it would say
that the pattern was not unique, matched: read readlog
but like ".h atm" would show the 'atmos' helpfile
 Made .h to list commands from the command structure, instead of having to
edit a rank helpfile everytime i add a command. also ".h old" brings up
the old way of looking at the command list. Added a few "#define"s
 The command structure was changed internally to make the .h possible and
to make checking for abbreviations and adding default abbreviations for
commands easier.
 Added my own password encryption function in case anyone doesn't like
deep's.  cyg_crypt()
 Abbreviation check for commands in get_com_num() are now done by querying
the command structure instead of it being set ni the function. Soon, users
will be able to set their own character abbreviations for commands.

10/30/96
 Added 3 commands for atmospheric control.  .addatmos to add atmospherics
to the current room you are in.  .delatmos to delete them one at a time.
.listatmos to list the current atmospheres for a room.  For Level 5
and up.  Read the help files on them for full explanation.
 Fixed the .time command/function to take in account Daylight savings for
all zones shown. Global to turn daylight savings on or off is in the lib
file. Added New Zealand and Brazil time zones.
 Modified profile, vote topic, and room description entry functions so
that user's ignore/listen flags are restored to what they were before they
entered the function. Previously, they were ignoring all, then listening
to all, which meant they had to restore their listen/ignore flags
manually.

10/26/96
 Made ranks more global so other talkers could change the NUMBER of ranks
more easily. Like from 8 to 4, or whatever.
 Made ".cbuff all" a level 5 command option.
 Made .entpro show you at the beginning how many lines you can write.

10/25/96
 Made a lot of messages in the talker globals in the if_cons.h library
file so that it's easier for others to chaneg the code for a new talker.
Hopefully gonna get all of them as globals, but there are so damn many of
them. :)
 Changed .bannew and .restrict yet again. Keep getting requests on them.
You know who you are. There is now a -c and -r option. The -c option lets
you write a long comment about the site (why it is banned..who caused the
banned..your name if you want to show you banned it..how long it SHOULD be
banned). The -r option again lets you give a reason why it is banned. This
is different in that THIS is the message shown to people who try and log
in from said 'site'. The max length is set as REASON_LEN in if_cons.h,
currently 320 characters (4 lines). On the list of banned sites, now along
with the site name/ip and how long ago it was banned, it shows comments too.
The commands' helpfile tells you most of this and some more.

10/13/96
 Made .atmos command now .atmos [all|<room_name>] if all, it will toggle
whether atmospherics are on or off for all rooms like normal. If a room
name is specified, the atmospheres for that room will be toggled on or
off. In the init_data file, the room line info has another flag for
initial atmospheres (right after the hidden flag) if 0, the room initially
has them turned off, if 1, on.
 Example..    town_square AGDB 0 1
The room's atmospheric status will also now show up in the .rooms command,
next to the private/public area_change flag. If the atmos are on for the
room, it will show an "A", if not, nothing will be shown.
 Bans now have time/date stamping. A blank .bannew or .restrict will show
the sites/clusters/domains banned and how long ago it was banned.
 You can now specify a reason to be shown to all who log in from a banned
or new-banned site, by specifying a message after the sitename for the
restrict or bannew command.
 Example.. .restrict microserve.com You're site is banned from this talker
           because of excessive player making.
The SYS_NOT_ALLOWED and NO_NEW_MESS globals were replaced with BANNED_MESS
and BANNED_NEW_MESS to be the initial messages shown to users that are
banned if a banner does not specify a reason on the command line.
 Made a little auto_restrict() function to simplify the auto restricting
of a site by the talker.
 Fixed bug in read_board() for reading # of messages.
 Put "all" option for .cbuff to clear all room buffers.
 Connections to the WHO port are now logged.
added .smiles social
put one or two lines in version()
in t_who() put PROF in "Idle" field if user is entering profile
in t_who() put users' afkmsg as their desc., if they are afk and have one
therefore, made afkmsg length to DESC_LEN
in lock_afk check in main while() loop, put a telnet_echo_off for users
that are bafk locked so when they enter their password, it won't be shown
can't put in the normal afk lock, because a telnet_echo_off() would then
supress all info to the user, just like a bafk
WORKING on the paged who list..added 5 structures to use with it.
 * pcount - to hold the "u" variable (user num) when the function breaks
            out to get confirmation
 * acount - to hold the "v" variable (area num) when the function breaks
            out to get confirmation
 * icount - to hold the "invis" variable (invisible users already in
            counter) when the function breaks out to get confirmation
 * pmode  - to hold the "mode" variable (who mode) when the function
            breaks out to get confirmation
 * pinput - to hold the "inpstr" variable (user search string, if any)
            when the function breaks out to get confirmation
In .ustat took out the User Status line with the two "---" lines before
and just put one line with "User is logged in" in between the "---"'s if
the specified user is logged in. Saves two lines of junk.
Changed autofwd to also forward 3 lines which say that if you would like
to respond to this sender, try emailing them at their email address, and
it writes ustr[user].email_addr in there. However, if the user's email is
hidden, it just shows the normal external mail message. See EXT_MAILx in
if_cons.h
 Made it so that invisible people can't participate in nerfs..All users
must be visible.
 Made it so that people in remote rooms can't read hidden boards
 Changed the end of read_mail to handle number inpstrs better and to
decrease new mail messages instead of just set to 0 when only some new
ones are read. Also fixed so that if a user enters a number > the number
of messages in their mailfile, it WILL cat out the whole file instead of
showing them nada.
 Changed .ustat's function to say (if the user has new mail) "Has %d new
mail messages." instead of "Has unread mail messages."
 Made .vote -d so you can change the vote topic internally. which included
non-saved user structures vote_enter, vote_start, vote_end. And functions
enter_votedesc() and write_vote()
 Now users of same level as promote or demote victim, can't promote or
demote the victim.
 Made AFK_NERF global to prevent people from going afk or bafk in the
nerf_room (if set to 0 in the lib file)
 Updated creply() to take in account gagged users, afks, igtell, and if
the phoned user logs off.
 Made time function so ZONE_OFF global can be negative (i.e. time zones to
the right of EST, UK, Europe, etc..)
 Made the .memory command for level 3 and above to check mem stats on all
major structures and buffers.

 
# Version 1.0.23 #

* Pawn added WWW port for a who listing. VERY COOL.
  http://leopard.misty.com:5030
* Tried to put some telnet IAC commands in to help people log in.
  Hope it helps. Put coloring in Autofwd command.
* Made hilites ON by default.
* Cleaned up some miscellaneous stuff.
* Added write_raw() function.  Changes the headquarters comparison to
  HEAD_ROOM 
* In #includes, added <ctype.h>
* Added do_telnet_commands() function
* Owner message function updated a bunch.
* char_buffer and char_buffer_size added as user structures. Not saved to
  disk.
* Made the .wlist command cat one file instead of have it hardcoded in to 
  show color, no more wlist() (Reason: too hard to change the list..have
  to reboot every time you promote a wiz/user)
* Character mode clients should be supported now.
* Passwords are not echoed back to users anymore.
* Made a global #define for selective hilites, since they don't work on
  linux.
* Made a global #define for password echoing also.
* Added the .force command to force users to change their settings
* Added command .expire with all it's switches. Purpose of it is to nuke
  users that are a specified number of months old. Read help.
* Changed .version to reflect real globals, not just print out set text.
* Changed .time to show time zones!
* Added the -l/-lock switch for .afk and .bafk to allow users to lock
  their terminal to their account password.
* Changed the FIGHT_ROOM constant..the room number specified is now the
  room you CAN'T fight in..also users now must be in the same room as one
  another to fight.
* Removed TIME_ZONE and TIME_MESSAGE (?) global defines.
* Updated help files.

# Version 1.0.22#
Added: .gag  (Syntax, .gag <user>)
       Will stop tells, semotes, ptells, sthinks, and smails
       .alert (Syntax, .alert <user>)
       Alerts you of a user in your alert list when they log on with
       an audible beep
       .wlist  -   Replaces the  .h new_wiz
       .schedule -  Shows Important/Relevant upcoming CG events.
       .bannew , .unbannew - Ban only new users from a site, check for this
       is where the check for any new logins is (in login()?)
       No new function, just changed restrict(user,inpstr)  and
        unrestrict(user,inpstr)  TO  restrict(user,inpstr,type)  and
        unrestrict(user,inpstr,type)  where type == ANY  or  NEW
       MORE COLORS! In mail notify, ignore, listen, log, call, fail, succ,
                   suggest, and autoread. Selective hilites now in .write
                   and .smail
       added selective reads to .read, .rmail, and .rsent  to read the last
       5 mail messages, you do --> .rmail 5
       autoread now reads only your NEW messages.
       on login, check_mail returns  you have  %i  new mail messsages, now.
       .help (general) changed to groups/list commands together by category.

# Version 1.0.21#

Added: .finger, .nslookup, .whois from the system
       Logging of use of fmail and autoforward, echos, bcasts, etc..
       Added homepage option to ".set"
       Added Creation dates and command totals in .ustat
       Formatted ustat slightly different..lined certain things up
       Mail you sent will go to a personal SENT mailbox.
       Read it with new .rsent  and clear with .csent
       Message "== You have mail waiting ==" now says..
               "== You have mail waiting from (user) =="
       .samesite <search_string>  
         To look for people with the <search_string> contained in their
         last_site     i.e.  .same 205  might show..  
         Cygnus    from  205.164.146.11
         Cray      from  145.205.3.4
          *NOTE: Since it has to check EVERY user file, it causes lag and
                 CPU% usage for a minute maybe.
Fixed: process stdout from errors in autoforwarding.
Changed: added the rest of cline..will it work? 

# Version 1.0.20#

Added new .realuser command. Moved .wnote to level 4 where it should be.
Added profiles from .examine in .ustat. Capitalization now allowed 
in a  .examine <user> 
Added selective ^ hilites for .say, emotes, shouts, and thinks.
Changed macro length from 45 characters to 70 characters by request.
Made title screen random. Chooses between the MOTD or the DTOM. :-)
DTOM - 4 parts
MOTD - 6 parts
Made MOTD and DTOM disclaimer come up on new users only.
Feature files: .h birthday     .prev lotd   (Laugh Of The Day)
               BIRTHDAY_SQUARE file in config dir. to change the square's 
               descrip. for specific people's birthdays
Help files for .say, .follow, and .quote updated.

# Version 1.0.19#

New site. Ported to Sunos 4.1.4. Works great. No more site problems.
Whoda thunk it?
Added .log command.

# Version 1.0.18#
Removed: .afklog, .cafklog (too much mem usage) and not needed
         .punt (can just move them) groups commands (stupid idea
         in the first place) .gripe (can just use suggest)
         .vsugg (can just use a blank .suggest)
Changed: .go (normal users can now warp to main room with blank command,
         except for room "jail"..hehe, almost forgot about that)
         swho(lined up columns...again, forgot about a minor thing)
         idle times (users time out after 300 minutes, made so that
         "gardener" bot never times out)
         Sites still stuff up..I'm pissed. :)

# Version 1.0.17#
Sites still not fixed *sigh* I just don't know.
Added: .bubble, random color in .look exits, more color in .who, (afk) string
       after user desc. in .look to show being afk. .stalker searches the 
       talker address list for the talker you specify. Changed say and
       tell format to use quotes. Needed for story bot.
Changed: swho(lined up columns), optional messages for .afk(.afk <mess>), 
         changed .echo so users cannot echo login/outs. 

# Version 1.0.15#

Fixed incompatible pointer type in gethostbyaddr, integer variable 
changed to (char *). Maybe that'll fix the sites?? Added .quote to allow 
users to turn the quotes feature off at login time. Added level 4's to
the .wizards list. 

# Version 1.0.14#

Added .cafklog and .afklog. They work, but up the mem usage 2%! Go figure.
Added additional help and quit pointers. ('HELP','QUIT')

# Version 1.0.13#

Tried to fix stuffing of sites with new function addrout(long a);
Added clears for .succ and .fail.  Added .visemail for hidden email
address. Add pointers to .help and .quit for says of 'help' '/help'
'/quit' 'quit', etc..  

