# $Header$ 2004-10-30 Alexandre Carmel-Veilleux * src/ping_thread.c: asynch read(). fixed bug in byte counting. 2004-10-29 Philippe April * ipkg/rules: added conffiles so it does not overwrite config files 2004-10-29 Alexandre Carmel-Veilleux * src/ping_thread.c: Much new debugging information * multiple files: Logging for all mutexes 2004-10-28 Philippe April * ipkg/rules: building ipkg-tools before packaging 2004-10-28 Alexandre Carmel-Veilleux * multiple files: Implemented a FirewallRule config command, it doesn't actually do anything yet. * libhttpd: #if 0'd out lots of request parsing code. * libhttpd: changed URL parsing. 2004-10-27 Philippe April * ipkg/rules: removed --build=mipsel from ./configure 2004-10-26 Philippe April * ipkg/rules: sed -i is not standard, did a workaround. * ipkg/rules: openwrt's buildroot has changed, modified ipkg accordingly, please read README.openwrt 2004-10-22 Alexandre Carmel-Veilleux * src/various: Added wd_gethostbyname, a thread-safe (serialized) version of gethostbyname. 2004-10-15 Alexandre Carmel-Veilleux * src/auth.c: Fixed hard coded port. 2004-10-09 Alexandre Carmel-Veilleux * src/gateway.c: More logging on termination_handler. 2004-10-08 Alexandre Carmel-Veilleux * src/wdctl_thread.c: Fix wdctl_status to return all connected users. 2004-10-07 Alexandre Carmel-Veilleux * src/conf.c: Fixed mark_auth_server_bad() for the case where there is only one auth server. * src/ping_thread.c: Added extra debugging. * src/ping_thread.c: Fixed file descriptor leak. * src/centralserver.c: Fixed many file descriptor leaks. * src/centralserver.c: Failure of read() no longer fatal. * src/centralserver.c: In case of failure, return from auth_server_request() is no longer an undefined authresponse. * src/util.c: Fixed typo in logging. * src/wdctl_thread.c: Added logging when socket path is too long. * src/debug.c: Debug now logs the time of an event. 2004-08-30 Alexandre Carmel-Veilleux * wifidog.conf: Corrected an example * README.openwrt: Typo fixed, editorial changes * ChangeLog: Benoit's last update entry was set in the future ;-). * All over src/: Compiled with -Wall and fixed all nagging. 2004-08-30 Benoit Grégoire * Makefile.am: Add rpm target * wifidog.spec.in: Rework spec file. Now works and include the init script * ipkg/rules: Deal with the incomplete init.d system of the OpenWrt. Install scripts/init.d/wifidog as /usr/bin/wifidog-init, and call wifidog-init start from S65wifidog. * scripts/openwrt/S65wifidog: Add file * scripts/init.d/wifidog: Fix performance and protability problem. Make it chkconfig compliant. Test that chkconfig --add wifidog works (at least on mandrake) * src/wdctl.c: Change some message, make sure wdctl return 0 unless there is an error. 2004-08-30 Benoit Grégoire * README.openwrt: Documentation update * Makefile.am: Make a ipkg target to ease WRT54G installation * ipkg/rules: Add wdctl and the init.d script. * Add BUILDROOT variable to the build system so we can use it when needed * src/ping_thread.c: Have the server ping immediately on boot. Note that this will only help if the second server responds. The logic of the ping itself should be changed so it iterates in the list until it finds one that responds or exausts the list * wifidog.conf: Add more doc, and (most) of ISF's default config in comments. * Bump version in anticipation for release 2004-08-29 Guillaume Beaudoin * wifidog.spec.in: Changed prefix to match scripts/init.d/wifidog. * debian/rules: Configuration and init.d file added. * debian/control: Description and Depends field changed. * Makefile.am: Added scripts directory and ipkg/rules file. 2004-08-29 Pascal Leclerc * scripts/init.d/wifidog: Startup/shutdown script for Wifidog deamon 2004-08-29 Guillaume Beaudoin * wifidog.spec.in: Must be in decending chronological order. 2004-08-29 Guillaume Beaudoin * wifidog.spec.in: Remove some leftover from libOFX. * Makefile.am: Include debian/* files. * We should now be able to package .deb and .rpm from dist. 2004-08-27 Benoit Grégoire * README.openwrt,src/conf.c,h: Documentation update * src/gateway.c, src/ping_thread.c, src/wdctl.c, src/wdctl_thread.c: Fix linking problems related to errno.h and extern int errno 2004-08-26 Pascal Leclerc * Makefile.am: Remove phpauth from EXTRA_DIST 2004-08-25 Alexandre Carmel-Veilleux * src/auth.c: Path as changed in 1.26 was preceded by a /, the path already contains a / so it would yield http://host//path/ 2004-08-25 Benoit Grégoire * src/auth.c: Remove hardcoded path. 2004-08-23 Benoit Grégoire * src/ping_thread.c: Send the gateway id to the central server during ping, so the server know which gateway checked in, and then knows for sure that it is up (well, once the server implements it...). 2004-08-23 Benoit Grégoire * src/centralserver.c: Fix path for auth by appending /auth/ to auth_server->authserv_path. Wifidog works again. 2004-08-20 Alexandre Carmel-Veilleux * Debug output of all HTTP transactions and their responses. * Changed ipkg to use wifidog.conf from the base tree * Send url to central server for link back out 2004-08-19 Alexandre Carmel-Veilleux * Sort of fixed the hanging thread (with an explicit thread kill) * Fixed ping code 2004-08-13 Alexandre Carmel-Veilleux * All Auth Server configuration now handled by the "AuthServer" directive. * The "AuthServer" directive is now multi line. 2004-08-11 Alexandre Carmel-Veilleux * Added code to do heartbeat. * Changed AuthServer yet again. 2004-08-09 Alexandre Carmel-Veilleux * WiFiDog now can read multiple auth servers in its config file. * Added functions to handle the auth servers list. * WiFiDog can failover between servers for its internal requests. * Firewall sets rules for all auth servers. 2004-08-06 Alexandre Carmel-Veilleux * AuthservPath no longer mandatory in config file. 2004-08-04 Philippe April * Renamed iptables.[ch] to fw_iptables.[ch] 2004-08-03 Alexandre Carmel-Veilleux * Fixed broken sockaddr_un usage in wdctl.c and wdctl_thread.c 2004-08-01 Benoit Grégoire * Delete everything in phpauth, it will now live in it's own module (wifidog-auth) 2004-08-01 Alexandre Carmel-Veilleux * Added wdctl facility 2004-07-21 Philippe April * Cleaned up the ipkg makefile * Added makefile to build on Debian 2004-07-19 Alexandre Carmel-Veilleux * Build script for OpenWRT ipkg 2004-07-06 Alexandre Carmel-Veilleux * Added cache control to default error message returned. 2004-07-05 Philippe April * Fixed an endless loop in client_list_delete 2004-06-10 Alexandre Carmel-Veilleux * Added debugging to libhttpd so that httpdGetConnection() traces its execution into ./httpdGetConnection.log. This should be removed once it's no longer needed or put within #ifdef DEBUG's. 2004-06-01 Philippe April * Sending User-Agent header to central server 2004-05-28 Philippe April * Fixed bugs implemented after major changes 2004-05-27 Benoit Grégoire * Massive Doxygen update in all files. IMPORTANT: The new convention is: @brief in the .h, long description and parameters in the .c * Cleaned up some more issues in my notes taken at the formal review * client_list.c,h: Make client_list_free_node() private, define and document client_list_mutex here * config.c: Start the hunt for evil globals: Get rid of the config global * doc/doxygen.cfg.in: Enable generation of internal doc, a few other tweaks * Documentation now generates a TODO list and DEPRECATED list, please look at them 2004-05-27 Alexandre Carmel-Veilleux * Cleaned up all the issues brought forward in the code review on 2004-05-26 at Benoit's. There are to many changes to list individually. 2004-05-15 Philippe April * Commented out cookie handling in libhttpd because it segfaults if you pass a particular formatting/buggy one 2004-05-14 Philippe April * Fixed crash when receiving SIGPIPE signal with write() would fail 2004-05-13 Philippe April * Advertise to the central server when we logged out a user 2004-05-12 Philippe April * Sending a "stage" when doing authentication for the server to be able to know if it's a login, or just a counters update. 2004-05-11 Philippe April * Now tracking the hotspot id and ip in database 2004-05-07 Philippe April * Now we store both incoming and outgoing counters on server and expire if no activity at all on both * Changed the structure of nodes a little 2004-05-07 Philippe April * New parameter ExternalInterface * Made possible to count inbound traffic by inserting new rules 2004-05-07 Philippe April * Cleaned up common.h from files 2004-05-07 Philippe April * Made iptables' tables DEFINEs instead of being hardcoded 2004-05-07 Philippe April * Fixed typo 2004-05-06 Philippe April * Cleanups and standardized things 2004-05-06 Philippe April * Cleanups in fw_counter function 2004-05-05 Philippe April * Calling iptables directly instead of using shell scripts for fw_init, fw_destroy and fw_allow/fw_deny * Removed shell script for fw.counters * Fixed memory leaks * Moved most of the iptables-specific (all but the counters) to iptables.c to modularize a bit more * Hack to allow deciding if we want FW calls' messages quiet or not 2004-04-23 Philippe April * Fixed a debug line 2004-04-22 Philippe April * Major changes, cleaned up code * Changed the way firewall tags traffic 2004-04-21 Philippe April * Changed fw.destroy so it cleans up more in a while loop 2004-04-20 Alexandre Carmel-Veilleux * fixed expiration time 2004-04-20 Philippe April * A lot of changes regarding debugging facilities and added logging to syslog * Removed possibility to specify port on command line 2004-04-19 Philippe April * Changed some debugging severity 2004-04-19 Benoit Grégoire * Properly integrate libhttpd into the source tree ;) Note that this will create a proper system wide shared library for libghttpd. Still to be done: 1- Store Mina's patch somewhere, in case we want to upgrade libhttpd. 2-Add configure option not to build httpd, and use an already installed one. 2004-04-18 Alexandre Carmel-Veilleux * Fixed pthread_cond_timedwait. The mutex needed to be locked as per the POSIX spec, yet Linux or Mac OS X don't care... * Fixed the double SIGTERM handler on Linux... 2004-04-17 Alexandre Carmel-Veilleux * Added work around for uClibc bug in auth.c 2004-04-17 Philippe April * Fixed firewall scripts to make them standard and some firewall functions 2004-04-17 Alexandre Carmel-Veilleux * Updated documentation in firewall.c 2004-04-17 Philippe April * Fixed path returning to gateway in phpauth/login/index.php 2004-04-16 Alexandre Carmel-Veilleux * Merged in libhttpd into the source tree 2004-04-16 Philippe April * Fixed CRLF/formatting in phpauth/login/index.php * Added some documentation for firewall.c, commandline.c * Removed an unnecessary line dist_sysconf_DATA from Makefile.am 2004-04-15 Alexandre Carmel-Veilleux * Changed the locking mechanism, now all access to t_node * structs are properly protected. 2004-04-15 Alexandre Carmel-Veilleux * Connection now closed if counter hasn't change for one full period. 2004-04-14 Philippe April * Fixed shell script hardcoded interface 2004-04-14 Alexandre Carmel-Veilleux * Existing IPs are logged off when they're authenticated again. 2004-04-14 Alexandre Carmel-Veilleux * Fixed clean up so it happens at the right time. 2004-04-14 Alexandre Carmel-Veilleux * Major retooling of insert_userclass(), fixed seg fault. * The program now works as advertised. 2004-04-14 Alexandre Carmel-Veilleux * Switched to threads. Alpha quality build, at best 2004-04-12 Alexandre Carmel-Veilleux * Changed child return value handling, again. Now it's actually using the real value instead of the flag. * The http.c authentication code now closes the http connection from the user. 2004-04-11 Alexandre Carmel-Veilleux * Added extra debugging information. * Fixed return value handling in debugging calls. 2004-04-11 Alexandre Carmel-Veilleux * Removed duplicates signal handling hooks * Additional comments in SIGCHLD handler 2004-04-11 Alexandre Carmel-Veilleux * Node find if's expressions changed 2004-04-11 Alexandre Carmel-Veilleux * SIGCHLD Handler initializaed outside of deamon mode now. 2004-04-11 Alexandre Carmel-Veilleux * Very large modification. The entire architecture has been reworked so that authentications to the central server are performed in a fork()'d child process and the exit code from that child is then used to set the User Class of the connection. * The UserClasses (global definitions) and Rights (per connection) have been integrated. 2004-03-16 Mina Naguib * Changed HTTP server tasks to be handled by libhttpd - merged incorporate_libhttpd branch 2004-03-13 Philippe April * Modified the way firewall scripts are called so we can configure them in the config file (a bit more modular than it was) * Added simple linked list to keep track of clients and to keep a counter of the utilization and send it to the auth server * Fixed CRLF/formatting in phpauth/auth/index.php * Hacked phpauth/auth/index.php to handle very basic utilization tracking 2004-03-12 Philippe April * Changed all perror()s into debug()s and added errno.h to common.h 2004-03-10 Philippe April * Small fix to firewall.c so we don't define variables after the function has started (so it builds on gcc-2.95) 2004-03-09 Philippe April * Major changes, not forking anymore for new connections, now using select() instead. It will allow us to efficiently use a linked list to track users and other things. It introduces some bugs and design issues but will be better in the end. 2004-03-09 Philippe April * Small fix in the default.php login page * exit() where the program was supposed to exit but wasn't when the firewall could not be setup 2004-03-09 Alexandre Carmel-Veilleux * Tiny change to increase cross-platform compatibility. It can now build on OS X and it comes close to building on my old BSD box. 2004-03-08 Benoit Grégoire * Initial CVS import. Integrate a standrad GNU build system and Doxygen to the build process. Add Doxygen and CVS headers, .cvsignores, etc. Note that the imported code is Philippe April (papril777 at yahoo.com)'s work. Tell me if I forgot anything. Please note that the paths in the src/fw* scripts are still hardcoded. Don't forget to update the ChangeLog file every commit and add doxygen comments to your code. Happy hacking.