Show number of failed logins in the last 7 days in the user admin page
[freeradius.git] / dialup_admin / Changelog
1 Ver 1.56:
2 * Small html fixes in user_edit.php3 and password.php3
3 * Show number of failed logins in the last 7 days in the user admin page
4 Ver 1.55:
5 * Update the FAQ about missing attributes from the user/group edit pages and add a few comments
6   in the configuration files
7 * Add support for the Expiration attribute. Add it in the sql attribute map, in user_edit.attrs and
8   check for it in user_admin
9 * Add a few more keys in the userinfo and badusers tables.
10 * Fix a problem with lib/sql/defaults.php3 where the first character in the default value when using
11   operators was set to the opeator
12 * Add a user find page. User can be searched based on the full name, department or RADIUS attribute.
13   The radius attribute should be included in the _user_ profile, not in a group/regular/default profile.
14 * Add support for the user ldap regular profile attribute in user_edit.attrs
15 Ver 1.54:
16 * Add attributes for the sql group tables in admin.conf. Now SQL group support should really work!
17 Ver 1.53:
18 * html fixes in show_groups.php3
19 * When reporting sql errors also print the output of da_sql_error
20 * When updating ldap user information don't do an update if the new attribute value
21   is '-' (default value)
22 * Comment out Reply-Message in conf/user_edit.attrs since in sql it maps to the same attribute as
23   the lock message
24 Ver 1.52:
25 * Add Reply-Message in conf/user_edit.attrs so that it appears in the user/group edit pages
26 * Allow the administrator to specify a group in the New User page. Update lib/sql/create_user.php3 to add
27   the user to the specified group
28 * Call user_info.php3 and defaults.php3 in user_new.php3 after creating a user
29 * Only run if $login is not NULL in lib/sql/defaults.php3
30 * In group admin add a button to administer the selected user which will redirect the administrator to the
31   corresponding user_admin page
32 * Add a show_groups.php3 to show all active user groups
33 Ver 1.51:
34 * Only call user_info.php3 in user_new.php3 when we are creating a user
35 * Fix a bug with personal information attributes in user_new.php3
36 Ver 1.50:
37 * Add support for groups in SQL. Added several new files and modified a few more.
38 * Default values in SQL are now extracted from the group membership. Added a lib/sql/defaults.php3 file.
39   As a result the default operator is not '=' anymore but whatever we find in the group check and reply tables.
40 * In lib/sql/user_info.php3 set user_exists in more than one places.
41 * Add support for the '=*' and '!*' operators
42 * Added a HELP_WANTED file describing what are the major things missing which people could contribute.
43 * Updated TODO
44 * Added a help page for the Session Timeout and Idle Timeout attributes.
45 * The new group page should only be available if the general library type is sql.
46 * Fix a small bug in lib/sql/create_user.php3 where work and home phone were stored in the wrong fields.
47 * Set personal information attributes in lib/sql/user_info.php3 to default values.
48 * Add a page to change the user's personal information. Changed the user toolbar and added htdocs/user_info.php3
49   along with lib/{sql,ldap}/change_info.php3
50 * Print a message if we can't connect to the ldap server in lib/ldap/user_info.php3
51 * Use a textarea for new members in group_admin.php3 and group_new.php3. Update lib/sql/create_group.php3 and
52   lib/sql/group_admin.php3
53 * Set a few more personal information attributes to defaults in lib/sql/user_info.php3
54 * Fix a typo for department
55 * Set personal information attributes to defaults in lib/ldap/user_info.php3
56 * Have adddress and home address in user personal info
57 * Set $user_info in lib/{ldap,sql}/user_info.php3 and only if the user exists and has personal info
58 * Show language attributes only if general_prefered_lang is not 'en'
59 Ver 1.30:
60 * Add limit of results returned in accounting.php3
61 * Fix a bug in time2strclock() in lib/functions.php3. Seconds ammount more than 9 would not show.
62   Bug noted by Timophey <bcloud@mail.ru>
63 * Reaarange a few things in user_admin. Put Subscription Analysis first and 'Account Status' second. Make a
64   few things bold.
65 * Change log_badlogins to use the mysql binary instead of the DBI module. That way we don't have any
66   dependencies and we don't need to bother with connection maintainance (dead mysql connections etc).
67 * html fixes in user_finger.php3
68 * Fix a bug in lib/add_badusers.php3 which did not allow inserts in the badusers table.
69 * Make lib/ldap/password_check.php3 behave properly when it is passed a null password
70 * Allow for daily/weekly/monthly limits to be set to none and show correct results in the show user page
71 * Fix a small bug in user_admin.php3.
72 * Pass the whole password as salt in da_encrypt() in password_check.php3
73 * Refresh the online users page every 50 secs. Patch by Alexandre Strube <surak@barroco.com.br>
74 * Check if the last logged in server and client ip are valid before calling gethostbyaddr
75 * If the same attribute appears more than once in the user edit page then show a count of the number of
76   occurences next to the attribute name
77 * Add a server argument to user_finger.php3. If it is set then the page will only show the logged in users
78   in that access server instead of all of them. Update the README with documentation for that fact.
79 Ver 1.29:
80 * Add general_ld_library_path directive and set LD_LIBRARY_PATH accordingly (used in snmpfinger and
81   radaclient).
82 * Add general_finger_type directive to determine if we will use snmpfinger in user_finger.php3
83 * Fix a bug in config.php3 when we have a directive containing ':'
84 * Fix a bug in lib/ldap/change_attrs.php3 that did not allow changing more than one value of a 
85   multivalued attribute simultaneously.
86 * Added selection of ordering in user_accounting.php3. Now it can be either ascending (older records
87   first) or descending (most recent records first). Added a corresponding configuration directive.
88 * Added operator support in sql. The eq(=),set(:=) and add(+=) operators are supported. Added an
89   sql_use_operators configuration directive. Hope everything works.
90 * Fixed a bug in sql/change_attrs which did not allow multi valued attributes in sql.
91 * unset item_vals before adding info in ldap and sql user_info files.
92 * Add support for the rest of the operators. Created the lib/operators.php3 file containing helper functions
93 * Fix a small bug in log_badlogins. The nas domain should be a variable not hard coded.
94 * Fix a bug in lib/sql/delete_user.php3. Call da_sql_query with the correct arguments
95 Ver 1.28:
96 * Make user_delete.php3 print something when a user is deleted
97 * Cache nas hostname lookups in user_accounting
98 Ver 1.27:
99 * Allow for variable expansion in the configuration file. Something like:
100   general_base_dir: /usr/local/dialup_admin
101   general_default_file: %{general_base_dir}/conf/default.vals
102 * Small changes in the README file
103 * A few corrections in the sql drivers
104 * Enlarged the textboxes in the user_edit page
105 * Created a folder help
106 * Added a help page for:
107    o Login-Time
108    o Simultaneous-Use
109    o Dialup-Access
110    o Framed-Compression
111    o Port-Limit
112    o Lock Message
113    o Framed-IP-Address
114 Ver 1.26:
115 * A few bugfixes for the general sql code (typo mistakes mostly)
116 Ver 1.25:
117 * Deleted a mysql_close from lib/mysql/create_user since we now have persistent sql connections
118 * Removed the select_db() from accounting.php3 since it is not needed
119 * A lot of html changes in accounting.php3
120 * Changed the sql code to be modular. Now under lib we don't have a mysql directory but a sql directory
121   with a directory drivers which contains the database specific functions. As a result all calls to mysql*
122   functions where changed to call da_sql* functions. Right now mysql should work and postgresql *may* work
123   It is not tested though. Hopefully things will come back to being stable in a few days.
124 * Added sql_port and sql_type configuration file directives
125 Ver 1.20:
126 * Fixed a bug in lib/ldap/change_attrs. When we modify an attribute do an ldap_mod_del($mod) and then a
127   ldap_mod_add($add_r)
128 * In accounting.php3 show the attribute description instead of the attribute name.
129 Ver 1.19:
130 * In lib/ldap/check_password.php3 don't do a user search but use the already available user DN
131 * Remove the language support from the get_user_info() functions. They are only used in the user_finger page
132 * In user_state show weekly usage for the week starting from sunday 00:00, not for the last 7 days
133 * Show upload/download when connected or for the last time the user connected
134 * Fixed a few minor problems with the help and about pages
135 Ver 1.18:
136 * Fixed a small problem with total upload,download numbers in user_admin
137 * Fixed a major problem in the accounting report generator when adding an attribute check. Now it
138   should be all OK.
139 * Fixed a small bug in lib/mysql/functions.php3. Bug found be galileo@microsky.net
140 Ver 1.17:
141 * Fixed a few more problems in the mysql code
142 * Updated README
143 * the help page now prints the README file. It also has a common layout with the other pages
144 * Changed the about page to have a common look with the other pages.
145 Ver 1.16:
146 * Fixed a few typing mistakes in mysql.attrmap
147 * If the corresponding attribute name (in ldap or mysql) is 'none' then do not
148   edit/add it. Based on a bug report by galileo@microsky.net
149 * Fixed a few errors in lib/attrshow.php3
150 Ver 1.15:
151 * Added user test page. It will use radclient to send a radius access-request
152   to the radius server and check the response. This page is also used to check
153   that the radius server is working fine. Added user_test.php3 and a few config
154   file parameters.
155 * Support for multi valued attributes.
156 * Changed cleartext encryption name from none to clear
157 * Renamed the general_sql_row_limit configuration directive to sql_row_limit
158 Ver 1.12:
159 * Added an FAQ
160 * Small changes in html code
161 * Small changes in the README file
162 * Fixed a small problem in delete_user from ldap
163 * Removed the Base64 encode since it was causing problems
164 Ver 1.11:
165 * Changed all ldap_bind() to use the ldap bind DN and password. Should have been
166   the default behaviour
167 * Do a Base64 encode in ldap/change_password.php3 before sending the password to
168   the ldap server
169 * Added support for module messages in log_badlogins and user_accounting
170 * Updated documentation
171 Ver 1.10:
172 * Added support for users in mysql database. All bugs are welcome. To activate
173   just use mysql as library_type
174 * Added support for salt in crypt.php3
175 * Added userinfo table to keep information for users (Name,Phone etc). Added two
176   corresponding values in admin.conf
177 * Added mysql.attrmap for mysql support
178 * Added TODO
179 * Added persistent connections for mysql (mysql_pconnect())
180 Ver 1.00:
181 * Added password change facility in user_edit. Support for multiple
182   password encryption methods
183 * Added user deletion page user_delete.php3 with corresponding ldap lib code
184 * Moved the second user_info.php3 include in user_edit to the correct location. Also
185   used isset instead of == ''
186 * Moved the action toolbar (show,edit,accounting...) into a separate html file
187 * Added the nas model in user_finger.php3
188 Ver 0.99.8:
189 * Added the caller id in the finger facility
190 * Changed the start date in the badusers file to 0000
191 * Added the out of quota message in user_admin
192 * fixed a few problems with the html code in user_admin.php3
193 * calculate account status in user_admin for the last week only
194 * Change font color to red if used time > corresponding limit (weekly or daily)
195 * Added the user_stats.php3. It can be used by outside pages to get a quick
196   overview of the status of the user. It will return the following fields
197   separated by new lines:
198   account_status(active or inactive),lock message,weekly limit,daily limit,
199   weekly used,weekly connections,daily used,daily connections
200 * fixed a bug in the subscription analysis in user_admin.php3
201 * calculate weekly used from sunday 00:00:00 when the counters reset
202 * added clean_radacct which will clean radacct entries which have been open
203   for more than a day. It will not do any harm even if it is incorrect since
204   when rlm_sql runs if the update operation fails then it will fall back to
205   insert (see sql.conf)
206 * added log_badlogins. It will continuously read the radius.log file and log
207   to the radacct table all login incorrect and multiple logins with a
208   corresponding acctterminatecause. user_accounting.php3 is already prepared
209   for this (it will show those entries in red)
210 * fix a small bug with null values in change_vals.php3 of the ldap lib
211 Ver 0.99:
212 * Added the badusers table
213 * Added the default and regular profile from ldap for user_edit
214 * Added the snmpfinger in the finger facility so that it will not
215   relly on the sql database.
216 * Added the new user facility
217 * Added support for the Lock Message facility
218 * Various bug fixes and enhancements
219
220 Ver 0.31:
221 * Added the @ sign in the {mysql,ldap}_{open,close} functions so that
222   they don't show error messages
223 * Changed double quotes with single quotes where applicable for performance
224   reasons