kkalev [Tue, 29 Jun 2004 10:09:26 +0000 (10:09 +0000)]
* Escape special characters in the sql password. This closes bug #96
* Do an xlat for general_accounting_attrs_file and general_user_edit_attrs_file. That way we can
have different mappings for each administrator.
kkalev [Fri, 18 Jun 2004 13:01:56 +0000 (13:01 +0000)]
* Move the xlat function to a separate file in lib/xlat.php3
* Add a lib/sql/nas_list.php3 to also get the nas list from sql (naslist.conf still works)
* add realms nasdb and nasadmin in username.mappings. nasadmin is used to signify if the
user is allowed to use the nas_admin page. nasdb is used to shorten the nas list to only
a few specific entries. That way administrator responsible for a few access servers will
only be able to administer those access servers and not see the rest of the nas list.
* Add username searching in the find page as suggested by joram agten
* Don't use nas_list in nas_admin
* Add a check_user_passwd() and a get_user_dn() functions in lib/ldap/functions.php3
* Add general_restrict_badusers_access directive. If set to yes we only allow each administrator
access to their own entries in the badusers table
* Add a username.mappings table. We are able to map each administrator username to additional queries
on the accounting and user settings tables.
* Add an sql_accounting_extra_query directive. If set this query is included in all
queries to the accounting tables.
Combined with admin username mappings we are able to easily restrict access on specific accounting data
to each administrator.
* Escape bad characters in the $login variable
* Add a da_sql_escape_string function. We use that for every element we pass to sql queries in order to
protect ourselves from sql injection.
* Use the ldap_userdn directive where applicable in the functions.php3 file
* Add an sql_xlat function
TODO: Check out the sql queries in lin/sql for sql injection.
Add ldap_userdn as a configuration directive. If set we use that for
user DN's (variables supported) instead of performing and ldap search for
each user. That can be somewhat faster.
kkalev [Wed, 10 Mar 2004 14:29:32 +0000 (14:29 +0000)]
Add a force directive in log_badlogins. If uncommented it will force inserts even if there are
sql errors. That can help in case there is one sql query which stops the whole failed logins
logging system from working
kkalev [Mon, 15 Dec 2003 16:55:28 +0000 (16:55 +0000)]
* Huge PostgreSQL compatibility patch by Guy Fraser <guy@incentre.net>
* Also support the Crypt-Password attribute in lib/sql/password_check.php3. Patch by Guy Fraser <guy@incentre.net>
kkalev [Sun, 2 Nov 2003 13:57:35 +0000 (13:57 +0000)]
* Check for the binaries used (mysql/snmpwalk) in the scripts in the bin folder before using them
* Update the HOWTO file
* Use the general_domain variable from the admin.conf file in log_badlogins instead of a new one
* Add a sql_command directive in admin.conf containing the path to the mysql binary. That can be used by the
scripts in the bin folder instead of setting a variable in each script
* Add a general_nas_type and a per nas type directive and pass that to snmpfinger. Updated snmpfinger to also
support lucent equipment apart from cisco
kkalev [Sat, 1 Nov 2003 15:04:02 +0000 (15:04 +0000)]
* Add a few help pages for the nomadix radius attributes by Ulrich Walcher
* Update the HOWTO with instructions about the ldap configuration directives and the scripts in the bin folder
* Update the AUTHORS file
kkalev [Mon, 20 Oct 2003 16:39:38 +0000 (16:39 +0000)]
* Add a captions.conf file with a few configurable captions for now
* Move the nas list to a separate file called naslist.conf
* Add the ability to include configuration files in admin.conf
* Add a page for clearing open sessions from the database called clear_opensessions.php3. Add it in the
user toolbar
* Move the userinfo page of user_admin to a separate file so that it can be easily changed to
fit per installation needs
* Add a conf/accounting.attrs allowing the customization of the attributes in the user_accounting,
user_finger and failed_logins pages
* Add a directive to determine if the administrator will be able to change the user password from
the user edit page
* Call mysql_escape_string before running the sql query
* Use the sql_connect_timeout for the mysql driver
* Add a help page for the badusers table
* Also take the Session-Timeout in consideration when calcualting the remaining time in user_admin.php3
* Add regex matching in log_badlogins and don't expect the callerid to always be in numeric format
With these changes dialupadmin can probably be used for administrating other radius based services
apart from dialup
Hope everything works
kkalev [Sun, 5 Oct 2003 16:03:11 +0000 (16:03 +0000)]
Add a configuration directive counter_monthly_calculate_usage to calculate the monthly usage time. Calculate
it in user_admin if monthly_limit != 'none' or if this directive is set.
Based on a report by "apellido jr., wilfredo p"
Allow for defining the ldap_filter used when searching for a user. The filter supports dynamic variables
like %u (username) and %U (username provided though http auth)
* Only delete sessions which are not open in truncate_radacct. Bug noted by Evren Yurtesen <yurtesen@ispro.net.tr>
* Add a user input tag in user_stats.php3
* Make all scripts use the mysql binary instead of DBI and make the sql password even if it is empty
* Make log_badlogins work with usernames containing spaces
kkalev [Sat, 10 May 2003 13:49:46 +0000 (13:49 +0000)]
Add a usage_summary parameter in user_finger. If it is passed then we only output a text like:
"Online: <num> Free: <num>" which can be used in outside pages
kkalev [Mon, 5 May 2003 23:10:04 +0000 (23:10 +0000)]
* Use Max-Monthly-Session not Max-Weekly-Session for the monthly limit
* When checking the weekly limit check first that $remaining is numeric before doing any comparisons
kkalev [Sat, 1 Feb 2003 16:33:26 +0000 (16:33 +0000)]
* Call lib/{ldap,sql}/user_info in user_info before displaying any information about the user
* Add a configuration directive general_charset. Add a language meta tag in all pages
kkalev [Sat, 1 Feb 2003 16:06:05 +0000 (16:06 +0000)]
* Do an eval on the attribute description strings in the user_edit page. That will allow the login-time creation
page to work properly.
* Add a login-time creation page which will allow the administrator to create the login-time string through a gui
instead of writing it directly in UUCP format.
kkalev [Tue, 28 Jan 2003 15:59:16 +0000 (15:59 +0000)]
Add two new tables totacct and mtotacct containing per user aggregated statistics for each day and month
respectively. Also add two corresponding scripts in the bin folder, tot_stats and monthly_tot_stats. Lastly,
create a new page, user_stats.php3 which will show the top users in connections or connections duration based
on the data in the totacct table.
kkalev [Wed, 1 Jan 2003 23:30:29 +0000 (23:30 +0000)]
In log_badlogins create a separate sql input file for each sql server and append sql commands to it. If the
sql command succeeds we delete the corresponding input file. That way if an sql server is down we store the
accounting info in the input file and then send it all when it comes back up.
kkalev [Sun, 22 Dec 2002 15:44:14 +0000 (15:44 +0000)]
Add sql_use_http_credentials configuration directive to connect to the sql database using the http user
credentials (that way there can be more than one administrator usernames, each with different privileges
on the sql database).