Add the XMLRPC interface for admin to reset user
[rahunas] / ChangeLog
1 2008-01-27  Neutron Soutmun <neo.neutron@gmail.com>
2
3         * src/rh-task-memset.c, src/rh-xmlrpc-server.c: Add the XMLRPC interface for
4           admin to reset user and other termination cuase support by parsing cause id.
5         * weblogin/rahu_xmlrpc.class.php, weblogin/logout.php:
6           Implement the new XMLRPC interface changes.
7
8 2009-01-07  Suriya Soutmun <darksolar@gmail.com>
9
10         * configure.ac, Makefile.am: Add weblogin to EXTRA_DIST to distribute the 
11                 whole weblogin dir.
12         * -weblogin/Makfile.am: Removed unnecessary now.
13
14 2008-12-09  Neutron Soutmun <neo.neutron@gmail.com>
15
16         * weblogin/Makefile.am: Change my mind, do not install weblogin only 
17           distribute it in the tarball.
18
19 2008-12-09  Neutron Soutmun <neo.neutron@gmail.com>
20
21         * weblogin/Makefile.am: Rewrite makefile to install weblogin properly.
22
23 2008-12-09  Neutron Soutmun <neo.neutron@gmail.com>
24
25         * +weblogin/Makefile.am: Add makefile for weblogin to install with package.
26         * configure.ac, Makefile.am: Update accordingly to weblogin/Makefile.am.
27         * NEWS: Change release date to 2008-12-09 due to forgot to install weblogin.
28
29 2008-12-03  Neutron Soutmun <neo.neutron@gmail.com>
30
31         * -INSTALL: Drop file the automake --add-missing will create it automatically.
32         * +TODO: Add TODO list.
33         * NEWS: Update the 0.1.1 released.
34
35 2008-12-03  Neutron Soutmun <neo.neutron@gmail.com>
36
37         * src/rahunasd.c: Fix the malfunction rh_sighandler(), handle only SIGTERM and
38           adjust the code to let the program really exit gracefully.
39
40 2008-12-03  Neutron Soutmun <neo.neutron@gmail.com>
41
42         * src/rahunasd.c: Fix the worst case that the pid < 0 (fail) is parsed into 
43           the rh_sighandler() which the program must ignore this trigger.
44
45 2008-12-03  Neutron Soutmun <neo.neutron@gmail.com>
46
47         * src/rahunasd.{c,h}, src/rh-config.h, src/rh-ipset.{c,h}, 
48           src/rh-task-ipset.c, src/rh-task-memset.c, src/rh-task.h, 
49           src/rh-xmlrpc-cmd.c, src/rh-xmlrpc-server.{c,h}:
50           Use :retab to convert tab to 2 spaces.
51
52 2008-12-01  Neutron Soutmun <neo.neutron@gmail.com>
53
54         * example/firewall.sh.in:
55           - Fix the syntax error in excluded ip rules.
56           - Fix the malfunction of whitespace trim in the get_config_value() by
57             only left and right trim rather than trim every whitespace. This error
58             affect the excluded value which have many values whitespace separated.
59           - Fix $N malform declaration cause of the Usage message never show.
60
61 2008-11-28  Neutron Soutmun <neo.neutron@gmail.com>
62
63         * weblogin/config.php, weblogin/locale.php: Add default language setting.
64
65 2008-11-28  Neutron Soutmun <neo.neutron@gmail.com>
66
67         * src/rh-ipset.c: Fix mem free by replace free() with rh_free() for the 
68           variable allocated memory by rh_malloc() which prevent the double free.
69
70 2008-11-28  Neutron Soutmun <neo.neutron@gmail.com>
71
72         * weblogin/locale.php, weblogin/locale/*, +weblogin/messages.php,
73           weblogin/login.php, weblogin/logout.php: 
74           Add multilingual weblogin base on PHP gettext, now supported languages are 
75           Thai and English.
76         * weblogin/loading.gif, weblogin/note.txt: 
77           Change the loading animation picture which now is the hourclass spinning 
78           downloaded from www.clipartpoint.com. (Free to use it on website)
79         * -weblogin/rahu-{loading,waiting}.gif: Remove unused pictures.
80         * weblogin/templates/*/rahunas.css: Add new customized CSS for each template
81           which now can customized independently from the core.
82         * weblogin/templates/rahunas/rahunas.html: Adjust the rahunas template.
83
84 2008-11-27  Neutron Soutmun <neo.neutron@gmail.com>
85
86         * weblogin/config.php: 
87           - Adjust the weblogin config value to satisfy the default settings of 
88             RahuNAS.
89           - Set rahunas theme to be default theme.
90         * weblogin/{indedx,login,logout}.php,
91           weblogin/{rahu_radius.class,rahu_xmlrpc.class,xmlrpc_service}.php:
92           - Convert tab to 2 spaces (Beautify code for text editor compatibility).
93
94 2008-11-27  Neutron Soutmun <neo.neutron@gmail.com>
95
96         * -example/rahunas.{default,init,conf}, -example/{firewall,bandwidth}.sh
97           +example/rahunas.{default,init,conf}.in, 
98           +example/{firewall,bandwidth}.sh.in:
99           - Raname the wrapper script and example config files to .in which all of
100             them will be autogenerated on build time with the respective prefix path.
101         * configure.ac: Add the files above to AC_CONFIG_FILES.
102
103 2008-11-27  Neutron Soutmun <neo.neutron@gmail.com>
104
105         [ Suriya Soutmun ]
106         * +lcfg/lcfg_static.{h,c}, +lcfg/Makefile.am, +src/rh-config.c,
107           src/rahunasd.{h,c}:
108           Add liblcfg and their implementation to satisfy RahuNAS requirement.
109         * Makefile.am, configure.ac, src/Makefile.am: 
110           Add the lcfg and their implementation to build config and makefile.
111
112         [ Neutron Soutmun ]
113         * +example/rahunas.conf: Add example config file.
114         * -example/rahunas.firewall, -example/rahunas.bandwidth,
115           +example/firewall.sh, +example/bandwidth.sh:
116           - Rename the wrapper script.
117           - Adjust the firewall.sh to satisfy the config implementation.
118         * example/rahunas.default: 
119           Remove the parts the moved to the config file.
120         * src/rh-ipset.c, src/rh-task-ipset.c, src/rh-xmlrpc-cmd.c:
121           Update accordingly to new config implementation.
122
123 2008-11-26  Neutron Soutmun <neo.neutron@gmail.com>
124
125         * example/rahunas.bandwidth: Fix the script delete all filters rather than 
126           the specified flowid.
127
128 2008-11-26  Neutron Soutmun <neo.neutron@gmail.com>
129
130         * -rahunas.{init,default,firewall,bandwidth},
131           +example/rahunas.{init,default,firewall,bandwidth}:
132           Move rahunas.* wrapper scripts to example dir.
133
134 2008-11-26  Neutron Soutmun <neo.neutron@gmail.com>
135
136         * configure.ac: Remove old RAHUNAS_VERSION which now replaced by 
137           AC_SUBST(RAHUNAS_VERSION, major.minor.micro). 
138
139 2008-11-25  Neutron Soutmun <neo.neutron@gmail.com>
140
141         * rahunas.default: 
142           Add bandwidth shaping support by using the IMQ and iproute2.
143         * rahunas.firewall: 
144           Adjust to prevent the re-init firewall that cause the failure on the 
145                 stop process.
146         * rahunas.init: 
147           Adjust the firewall script caller.
148         * +rahunas.bandwidth: Add the rahunas bandwidth wrapper script.
149
150         * src/rh-task-bandwidth.{h,c}: Add bandwidth shaping task which response to
151           the WISPr-Bandwidth-Max-{Up,Down} that reply from RADIUS.
152         * src/rahunasd.h: Add bandwidth_slot_id into members structure.
153         * src/rh-task-dbset.c: 
154           - Add bandwidth_* into dbset_row structure.
155           - Add insert, fetch and restore code of bandwidth_* from DB into dbset_row 
156             structure.
157           - Change task priority to 10. (Lowest priority now).
158         * src/rh-task-ipset.c: 
159           Change task priority to 30. 
160         * src/rh-task-memset.c: 
161           Change task priority to 40. (Highest priority).
162         * src/rh-task.c: 
163           Include and register new task, bandwidth task.
164         * src/rh-task.h: 
165           Change the bandwidth_max_* type from long to unsigned long.
166         * src/Makefile.am: 
167           Update accordingly to bandwidth task implementation.
168         * weblogin/logout.php: 
169           Update CSS style for loginbox background.
170         * weblogin/templates/kkulogin/kkulogin.html: 
171           Update KKU-Login template.
172         * data/rahunas.db: 
173           Alter the schema of dbset table to support bandwidth fields.
174
175 2008-11-20  Neutron Soutmun <neo.neutron@gmail.com>
176
177         * rahunas.firewall: Add excluded IP support.
178
179 2008-11-19  Neutron Soutmun <neo.neutron@gmail.com>
180
181         * src/rh-xmlrpc-cmd.c: Fixed half-close socket, cause of the socket stay in 
182           the CLOSE_WAIT state (TCP resources starvation by mistake - forgot to close
183           the socket).
184
185 2008-11-18  Neutron Soutmun <neo.neutron@gmail.com>
186
187         * src/rh-ipset.c: 
188           Do not warning in syslog when the shutdown() and close() socket, fix syslog     flooding.
189
190 2008-11-14  Neutron Soutmun <neo.neutron@gmail.com>
191
192         * src/rh-ipset.c: 
193           Fixed the too many open files due to the uncleanly close sockets.
194         * src/rh-task-dbset.c:
195           Fixed the too many open temporary files due to unclosed connections.
196         * src/rh-xmlrpc-server.c:
197           Fixed the Session-Timeout handler which it does not set the session_timeout
198           in members data to 0 when the Session-Timeout is not set. 
199
200 2008-11-12  Neutron Soutmun <neo.neutron@gmail.com>
201
202         * weblogin/logout.php: Substring the request url to shorten the line
203           when it length longer than 20 chars.
204
205 2008-11-11  Neutron Soutmun <neo.neutron@gmail.com>
206
207         * rahunas.{default,firewall}: Add supporting for DHCP and DNS forwarding, 
208           Proxy, Transparent-Proxy and the Natwork Address Translation (Masquerading).
209         * weblogin/templates/rahunas/*: Add new login template for rahunas, 
210           "My inspiration" - featuring by my daughter, "Music".
211         * weblogin/{login,logout}.php: Adjust to support new template.
212
213 2008-11-06  Neutron Soutmun <neo.neutron@gmail.com>
214
215         * src/rahunas.{h,c}, src/rh-task-memset.c, rh-task.h, src/rh-xmlrpc-server.c:
216                 Add Session-Timeout support
217
218         * weblogin/login.php, weblogin/logout.php, weblogin/rahu_radius.class.php,
219           weblogin/rahu_xmlrpc.class.php:
220           Add Session-Timeout support and prepare the WISPr-Bandwidth-Max-{Down,Up}.
221
222 2008-11-03  Neutron Soutmun <neo.neutron@gmail.com>
223
224         * rahunas.firewall:
225           - Adjust the firewall to define new chain for easy start and stop.
226           - The firewall now cleanly start and stop by do not disturb other rules
227             than this script done.
228         * rahunas.init: Update respectively to rahunas.firewall changes.
229
230 2008-10-24  Neutron Soutmun <neo.neutron@gmail.com>
231
232         * src/rahunasd.h, src/rh-xmlrpc-server.c:
233           Empty MAC Address now substitute by DEFAULT_MAC (00:00:00:00:00:00) to
234                 support the new ignoremac feature (Tested with the OSPF Routing Protocol).
235
236         * weblogin/config.php, weblogin/index.php, weblogin/login.php, 
237           weblogin/logout.php:
238                 - Add supporting for https port number other than default 443. 
239                 - Default https port for RahuNAS is 8443. 
240         
241         * rahunas.firewall: 
242           - Adjust the wrong connmark from 10 to 0x2; 
243           - Remove unnecessary command.
244
245 2008-10-16  Neutron Soutmun <neo.neutron@gmail.com>
246
247         * +weblogin/*: Add the PHP web login.
248
249 2008-10-16  Neutron Soutmun <neo.neutron@gmail.com>
250
251         * -rahunas.in: Remove unnecessary.
252
253 2008-10-16  Neutron Soutmun <neo.neutron@gmail.com>
254
255         * +rahunas.{init.default,firewall}: Add the support scripts for do the 
256           initialize daemon, firewall and daemon config.
257         * data/rahunas.db: Remove the tested data from db.
258
259 2008-10-10  Neutron Soutmun <neo.neutron@gmail.com>
260
261         * configure.ac:
262           - Add the module checking for libgda which require to build the new 
263             database session backups (sqlite3).
264           - Add the major, minor and micro variables to easy handle the future 
265             version bump.
266           - Add VERSION and PROGRAM variables which will be used in the core program.
267           - Add data/Makefile.
268                 - Add src/include/linux/netfilter_ipv4/Makefile to include it in the 
269                   distribution. (make dist-*) 
270         * src/rahunasd.{h,c}: Update the code which using VERSION and PROGRAM 
271                   corresponding to the build config.
272         * +data/Makefile.am, +data/rahunas.db, Makefile.am: 
273           Add data dir which now contains sqlite3 db file and update makefile.
274         * +src/rh-task-dbset.{h,c}:     
275           Add the database session backups task.
276         * src/Makefile.am:
277           - Update corresponding to the new database session backups task.
278           - Add missing header files to rahunasd_SOURCES which they are not included
279                   in the distribution. (make dist-*)
280         * src/rh-config.h: Define DB_NAME which using by task-dbset.  
281         * src/rh-task-ipset.c: 
282           - Update taskprio from 1 to 2 for the appropriate 
283             point of working which now the ipset is the middle priority task.
284           - Update the positions of the logmsg. (Debuging purpose)
285         * src/rh-task-memset.c:
286           - Update taskprio from 2 to 3 for the appropriate 
287             point of working which now the memset is the most priority task.
288           - Update the positions of the logmsg. (Debuging purpose)
289         * src/rh-task.{h,c}: 
290           - Change the way to handle the tasklist from singly linked-list to the
291             GList from GLib which can handle the forward and backward link. (Doubly
292                   linked-list), the tasks eq. stopservice, stopsess, cleanup need to start 
293             from the least priority first. (Prevent the most significant data in 
294             memset was deleted which will cause the failures of the other tasks that 
295                         depend on it.
296           - Update the struct task structure by remove unneeded *next which now we
297             handle the task list by the GList.
298         * src/rh-xmlrpc-server.c: Move the req.id and req.req_opt to the inner of 
299           the condition checking because of their values not even use if the 
300           conditions are not true.
301         * +src/include/linux/netfilter_ipv4/Makefile.am: Add the header files in this 
302           dir to EXTRA_DIST which they will be distribute in the distribution.
303
304 2008-09-12  Neutron Soutmun <neo.neutron@gmail.com>
305
306         * +src/rh-task-*.{h,c}: 
307                 - Add the tasks concept of the workers. eg. memset, ipset,
308             dbset and etc. 
309           - Each tasks provide the function to handle each events, 
310                         eg. init, start and stop service, start and stop session.
311         * src/rahunas.{h,c}, src/rh-ipset.{h,c}, src/rh-utils.{h,c},
312           src/rh-xmlrpc-server.c: 
313           Change respectively to new tasks concept and do code beautifier. 
314         * +src/rh-config.h: Move the configuration definitions from rahunasd.h.
315         * src/Makefile.am: Change respectively to properly build the tasks concept.
316         * AUTHORS: Add Suriya Soutmun to the author team.
317
318 2008-09-03  Neutron Soutmun <neo.neutron@gmail.com>
319
320         * src/rahunasd.{h,c}: 
321           - Handle the signal and when child process is stopped or restart, 
322             send the stop accounting to Radius with NAS Reboot code.
323         * +src/rh-radius.h: Add predefined termination code of Radius.
324         * src/rh-xmlrpc-cmd.{h,c}: Change send_xmlrpc_stopacct() API, which provide
325           the ability to send the cause of the stop accounting.
326
327 2008-09-02  Neutron Soutmun <neo.neutron@gmail.com>
328
329         * src/rh-xmlrpc-cmd.h, src/rh-utils.h: Add header definitions.
330
331 2008-09-02  Neutron Soutmun <neo.neutron@gmail.com>
332
333         * +src/rh-xmlrpc-cmd.{h,c}: Add new xmlrpc client command sender.
334         * src/rahunasd.c: Move the send_xmlrpc_stopacct() code to rh-xmlrpc-cmd.
335         * src/Makefile.am: Update accordingly to new change.
336
337 2008-09-01  Neutron Soutmun <neo.neutron@gmail.com>
338
339         * src/rahunasd.c: Remove unnecessary functions.
340         * src/rh-xmlrpc-server.c: Free the allocated memory of the the vars that 
341           calling rh_string_get_sep().
342
343 2008-08-31  Neutron Soutmun <neo.neutron@gmail.com>
344
345         * +src/rh-utils.{h,c}: Add new utility functions.
346         * src/rahunasd.{h,c}: 
347           - Move rh_malloc() and rh_free() to rh-utils.
348           - include file rh-utils.h which now provide rh_{malloc,free}().
349         * src/rh-ipset.c: include file rh-utils.h.
350         * src/rh-xmlrpc-server.c:
351           - Implement new function rh_string_get_sep() which more clean looking code.
352         * src/Makefile.am: Update accordingly to new change.
353
354 2008-08-25  Neutron Soutmun <neo.neutron@gmail.com>
355
356         * src/rh-ipset.c:
357           - Shutdown will not close the socket after finish the request, 
358             try close() to done.
359
360 2008-08-23  Neutron Soutmun <neo.neutron@gmail.com>
361
362         * src/rh-ipset.c:
363           - Shutdown the socket after finish the request.
364           - Log the errno of the failure of the kernel_getsocket() to syslog for 
365             later debuging.
366
367 2008-08-23  Neutron Soutmun <neo.neutron@gmail.com>
368
369         * src/rahunasd.h:
370           - Fix typo the project name, it is shame.
371           - Change POLLING interval from 30 seconds to 60 seconds, 
372             try to prevent the socket access overload.
373         * src/rh-ipset.{h,c}:
374           - Try to open the socket until over the limit GETSOCK_TRIES before exit with            EXIT_FAILURE status.
375
376 2008-08-22  Neutron Soutmun <neo.neutron@gmail.com>
377
378         * src/rahunasd.c, src/rh-xmlrpc-server.c:
379           - Rename dummy to termstring (make sense).
380           - More preventing the segfault due to print NULL string pointer.
381
382 2008-08-21  Neutron Soutmun <neo.neutron@gmail.com>
383
384         * src/rahunasd.{h,c}, src/rh-xmlrpc-server.c:
385           - Prevent the segfault due to the log printing username and session_id 
386             pointing to NULL.
387           - Implement the ipset Flush set command.
388         * src/rh-ipset.{h,c}: Add code to support ipset Flush set command.
389         * + rahunas.in: Add init script example.
390
391 2008-08-21  Neutron Soutmun <neo.neutron@gmail.com>
392
393         * src/rahunasd.c: Remove the including to ipset-control.h which not exist now.
394
395 2008-08-21  Neutron Soutmun <neo.neutron@gmail.com>
396
397         * src/include/linux/netfilter_ipv4/ip_set*.h: 
398           add to resolve FTBFS when clone from git (forgot to commit last time).
399
400 2008-08-21  Neutron Soutmun <neo.neutron@gmail.com>
401
402         * src/rahunasd.{h,c}, src/rh-ipset.{h,c}, src/rh-xmlrpc-server.c:
403           Implement the native ipset command, the codes are adapted from ipset 
404           userspace program.
405         * src/ipset-control.{h,c}: Removed as they are replaced by new native ipset
406           implementation.
407         * src/Makefile.am: Adjust to support new native ipset implementation.
408
409 2008-08-20  Neutron Soutmun <neo.neutron@gmail.com>
410
411         * src/rahunas.{h,c}:
412           - Replace logmsg which using RH_DEBUG to new DP().
413
414 2008-08-20  Neutron Soutmun <neo.neutron@gmail.com>
415
416         * src/rahunas.h:
417           - Add predefine RH_LOG_LEVEL and set it to RH_LOG_NORMAL.
418           - Remove unneccessary code.
419
420 2008-08-20  Neutron Soutmun <neo.neutron@gmail.com>
421
422         * src/rahunas.h:
423           - Add timemsg(), static funtion returning the time message for logging. 
424           - Adjust DP() for the DEBUG logging, which activate by define RH_DEBUG in 
425             compilation time.
426
427         * src/rahunas.c:
428           - Adjust logmsg() to use the new timemsg().
429
430 2008-08-19  Neutron Soutmun <neo.neutron@gmail.com>
431
432         * src/rahunas.{h,c}:
433           - pipe stderr stream to logfile.
434
435         * src/rahunas.h:
436           - Add minor version numbering to VERSION.
437           - Change MAX_MEMBERS from dec to hex.
438
439 2008-08-19  Neutron Soutmun <neo.neutron@gmail.com>
440
441         * === First import the project ===