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