ACUA Revision History.
ACUA v3.03
Items Fixed/Added:
o Can't be bothered maintaining history.html because I'd rather
focus my efforts in the C code than in the HTML code. From now
on this is the ACUA history file you'll be reading, which was
previously called history-detailed.txt but is now a HTML file.
o Compiled ACUA with GCC v3.0.2, compiled successfully.
o Starting to wonder if my brain has gone to mush
as I seem to be forgetting stuff, but that could be because
I'm usually in a programming mood at around 3am, I guess I'm
in denial now :)
o Took out some debug code I accidently left in v3.02.
o Added the ACUA v3.02 entry below as I forgot to put it
into ACUA v3.02.
o Fixed a problem in PPPupdate() where I didn't remember to
close a file descriptor.
o Fixed a problem of having two slightly different PPPupdate
definitions in acua_updated.cc.
o Added a safe-guard to stop ACUA from ever deleting the
root account. A message will be logged via syslog, and
may be sent to local terminals as well.
ACUA v3.02
Items Fixed/Added:
o Corrected a few things to allow ACUA to work properley on
Linux Kernel 2.4.x, with ppp driver version 2.4.1.
ACUA v3.01-2
Items Fixed/Added:
o Fixed a problem that would cause acua_updated to have a
segmentation fault at 3am. The problem has been 'fixed'
by reverting back to code from ACUA v3.00. I'll fix the
new code when I have some more time.
o Fixed a small documentation glitch where a standard txt file
had a html extention which caused web browsers to display the
file as one continuous line of text.
ACUA v3.01
Items Fixed/Added:
o Added "minUID" option to clean_proc.config, which will tell
the clean_proc program to not kill any process with a UID lower
than minUID. The default value has been set to 500 in the
ACUA code.
o Documentation Update - Added some unfinished manpages I've
been working on.
o Documentation update - A filename was wrong, so I fixed it.
(acua_timeleft.html -> acua_timeLeft.html).
o Fixed a problem that would cause acua_updated to die during
it's maintenance period.
o By default ACUA now accepts long usernames up to and including 16
charactors in length. This has only been crudely tested, could
someone please test it more for me and give me the results? All
I've done is added a user with a long username, subscribed them,
modified their record here and there. I havn't attempted to login
as the user yet. Also, does anyone know the actual length limit of
a Linux username? If I find this out, then I'll just hard code it
into ACUA as a default.
o Manually added a patch by Kirk Reiser to allow for pts/pty support.
o Looked into why my system would have commas after the
"Hi" in the emails acua_updated would send. I knew where
it was coming from, so since it's working now I should document
it properley somewhere.
The original file in question is acua_updated.header, the line
starts with:
Hi $gecos0.
The 0 is actually an option to tell it to print the whole
"full name" field out of the users entry in /etc/passwd.
The below line will fix this (on Debian boxes for example
where if you use the adduser script it will add extra stuff
seperated by commas):
Hi $gecos.
(no zero on the end)
o Added new config directive - MailUser
This is so you can configure what user the mail process will
run as. Thus, using this feature, you can have mails to appear
from accounts@your.isp.com, instead of root@your.isp.com.
Example: MailUser accounts
Example: MailUser 1000
As you may have guessed, the param to MailUser can be either the
login name or the UID.
o Added new config directive - MailWait
This directive is so you can specify how long to wait (in
seconds) for a mailout process to finish before we consider
it crashed and kill it with a SIGKILL
Example: MailWait 10
o Added a default path to "mail" if none was specified of
/usr/bin/mail
o Rewrote mail procedure in acua_updated (again!)
It's back down to one page of code and pipes are
no longer used, and is less CPU intensive.
One of the reasons for the rewrite was a possible
database corruption problem, but it's unconfirmed,
on our production system (that runs radacua) there
were corruption problems when the mail section was
taken from the normal acua and put into radacua, when
the mail section was put back to normal, the corruption
problems were solved. If your using ACUA v3.01b2 I would
_really_ suggest you upgrade to ACUA v3.01b4, just as a
precaution measure. I have been running ACUA v3.01b2 with
no corruption problems.
o Added a new command to the 'acua' executable: version
example: acua ve or acua version
o NOTE: There was never a ACUA v3.01b3 release. If you see one,
dont use it.
o Added a new flag called NOUNSUB. When this flag is set, ACUA
will run /usr/sbin/acua_nounsub instead of unsubscribing the
user. This can be used for many things, for example, automatically
renewing certain accounts when they run out, sending a mail to an
admin, etc. Look at the documentation or in the example script that
comes with ACUA for more information.
o MailProg config file directive. You can specify the program
to use for the mailing of messages. You NEED to set this
otherwise mailing will NOT work. In acua.config add something
similar to this:
MailProg /usr/bin/mail
o The mailing code has all been re-written. I've tested this
pretty well I think, and I havn't had any problems.
o Some more security vulnerabilitys have been fixed up, there
is no doubt more, it's just a matter of me finding them and
you reporting the ones I miss.
o I think I broke CC'ing from the WarnExpireCC part of acua.config,
so it's been fixed. It probably would have caused a Segmentation
fault under some conditions.
o Added a Segmentation fault handler to acua_updated, not that
acua_updated sufferes from them if everything is in order.
o Added a credits html file.
o You can have multiple people get CC'd the expiry messages.
This feature has been there for a while, just not documented.
o Eliminated all system() calls.
o ACUA uses malloc() a bit more, which in some areas saves a tad
of memory, in others it's paranoia, and others it's just because
I felt like it, some will also be removed later on.
o The acua_adduser and acua_deluser scripts have been updated to
use useradd and userdel instead of the previous methods.
o Modified acua_viewRec to use a safe tempory file.
o "acua delrec" and "acua unBan" used to use /bin/mv, this has
been replaced with rename().
o Some more error checking code added here and there.
o You now have to be root to have ACUA take notice of the
environment variables ACUA_CONFIG, ACUA_USERS and ACUA_BANNED_USERS.
o Fixed what I believe to be a bug in "acua ban" that would allow
you to ban a user who doesn't have a phone number to ban, so from
what I gather, that would be pointless.
o Added some y2k bugs just for kicks (kidding).
Please mail all bug reports to acua@acua.ebbs.com.au