Add new ignoremac feature and adjust weblogin.
authorNeutron Soutmun <neutron@rahunas.kku.net>
Fri, 24 Oct 2008 08:47:16 +0000 (15:47 +0700)
committerNeutron Soutmun <neo.neutron@gmail.com>
Sun, 2 Nov 2008 19:43:12 +0000 (02:43 +0700)
2008-10-24  Neutron Soutmun <neo.neutron@gmail.com>

* src/rahunasd.h, src/rh-xmlrpc-server.c:
  Empty MAC Address now substitute by DEFAULT_MAC (00:00:00:00:00:00) to
support the new ignoremac feature (Tested with the OSPF Routing Protocol).

* weblogin/config.php, weblogin/index.php, weblogin/login.php,
  weblogin/logout.php:
- Add supporting for https port number other than default 443.
- Default https port for RahuNAS is 8443.

* rahunas.firewall:
  - Adjust the wrong connmark from 10 to 0x2;
  - Remove unnecessary command.

ChangeLog
rahunas.firewall
src/rahunasd.h
src/rh-xmlrpc-server.c
weblogin/config.php
weblogin/index.php
weblogin/login.php
weblogin/logout.php

index e5428e8..3654d6c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2008-10-24  Neutron Soutmun <neo.neutron@gmail.com>
+
+       * src/rahunasd.h, src/rh-xmlrpc-server.c:
+         Empty MAC Address now substitute by DEFAULT_MAC (00:00:00:00:00:00) to
+               support the new ignoremac feature (Tested with the OSPF Routing Protocol).
+
+       * weblogin/config.php, weblogin/index.php, weblogin/login.php, 
+         weblogin/logout.php:
+               - Add supporting for https port number other than default 443. 
+               - Default https port for RahuNAS is 8443. 
+       
+       * rahunas.firewall: 
+         - Adjust the wrong connmark from 10 to 0x2; 
+         - Remove unnecessary command.
+
 2008-10-16  Neutron Soutmun <neo.neutron@gmail.com>
 
        * +weblogin/*: Add the PHP web login.
index ddf0b9a..2891847 100755 (executable)
@@ -78,7 +78,7 @@ $IPTABLES -I INPUT -p udp --dport domain -j ACCEPT
 ##
 # Allow incoming to our HTTP server for login page
 ##
-$IPTABLES -I INPUT -p tcp -m multiport --dports 80,443,8888 -j ACCEPT
+$IPTABLES -I INPUT -p tcp -m multiport --dports 80,8443,8888 -j ACCEPT
 
 ##
 # Allow incoming to our DHCP
@@ -111,7 +111,5 @@ $IPTABLES -A FORWARD -m connmark --mark 0x2 -j ACCEPT
 ##
 
 $IPTABLES -t nat -A PREROUTING -p tcp -m multiport --dports 80,8080,8088,3128 \
-       $DEV_IN_PARAM $DEV_LAN -m connmark ! --mark 10 \
+       $DEV_IN_PARAM $DEV_LAN -m connmark ! --mark 0x2 \
        -j REDIRECT --to-port 8888
-
-echo "done"
index 6ef3da5..eff78b1 100644 (file)
@@ -21,6 +21,8 @@
 
 #define MAX_MEMBERS 0x00FFFF
 
+#define DEFAULT_MAC "00:00:00:00:00:00"
+
 extern struct rahunas_map *map;
 extern struct set *rahunas_set;
 extern const char *termstring; 
index d71cdb7..2c8ed31 100644 (file)
@@ -49,9 +49,12 @@ int do_startsession(GNetXmlRpcServer *server,
   mac_address = rh_string_get_sep(param, "|", 4);
 
   if (ip == NULL || username == NULL 
-        || session_id == NULL || mac_address == NULL)
+        || session_id == NULL)
     goto out;
 
+  if (mac_address == NULL)
+    mac_address = g_strdup(DEFAULT_MAC);
+
        id = iptoid(map, ip);
 
        if (id < 0) {
@@ -115,9 +118,12 @@ int do_stopsession(GNetXmlRpcServer *server,
   ip          = rh_string_get_sep(param, "|", 1);
   mac_address = rh_string_get_sep(param, "|", 2);
 
-  if (ip == NULL || mac_address == NULL)
+  if (ip == NULL)
     goto out;
 
+  if (mac_address == NULL)
+    mac_address = g_strdup(DEFAULT_MAC);
+
        id = iptoid(map, ip);
 
        if (id < 0) {
index fb7d29b..2026efe 100644 (file)
@@ -10,6 +10,7 @@ $config = array(
        "NAS_IDENTIFIER" => "RahuNAS-01",
        "NAS_IP_ADDRESS" => "10.55.95.251",
        "NAS_LOGIN_HOST" => "10.55.95.251",
+  "NAS_LOGIN_PORT" => "8443",
        "NAS_LOGIN_PROTO" => "https",
        "NAS_PORT" => 1,
        "DEFAULT_REDIRECT_URL" => "http://www.kku.ac.th",
index 46a4772..dcd4cd8 100644 (file)
@@ -1,10 +1,9 @@
 <?php
 require_once 'config.php';
 require_once 'header.php';
-
-$forward_uri = $config['NAS_LOGIN_PROTO'] . "://" .
-               $config['NAS_LOGIN_HOST'] .
-                                                        "/login.php?sss=" . time();
+$forward_uri  = $config['NAS_LOGIN_PROTO'] . "://" . $config['NAS_LOGIN_HOST'];
+$forward_uri .= !empty($config['NAS_LOGIN_PORT']) ? ":" . $config['NAS_LOGIN_PORT'] : "";
+$forward_uri .= "/login.php?sss=" . time();
 ?>
 <html>
 <head>
index ce7a9c2..a57fec8 100644 (file)
@@ -10,8 +10,9 @@ require_once 'header.php';
 if (!empty($_POST['user']) && !empty($_POST['passwd'])) {
   $ip = $_SERVER['REMOTE_ADDR'];
        $forward = false;
-       $LogoutURL = $config['NAS_LOGIN_PROTO'] . "://" .
-               $config['NAS_LOGIN_HOST'] . "/logout.php";
+  $LogoutURL  = $config['NAS_LOGIN_PROTO'] . "://" . $config['NAS_LOGIN_HOST'];
+  $LogoutURL .= !empty($config['NAS_LOGIN_PORT']) ? ":" . $config['NAS_LOGIN_PORT'] : "";
+       $LogoutURL .= "/logout.php";
 
   $RequestURL = empty($_GET['request_url']) ? 
                         $config['DEFAULT_REDIRECT_URL']
index 2899761..9650846 100644 (file)
@@ -15,8 +15,10 @@ if ($auto_refresh) {
   header("Refresh: $interval; url=$current_url");
 }
 
-$forward_uri = $config['NAS_LOGIN_PROTO'] . "://" .
-               $config['NAS_LOGIN_HOST'] . "/login.php";
+$forward_uri  = $config['NAS_LOGIN_PROTO'] . "://" . $config['NAS_LOGIN_HOST'];
+$forward_uri .= !empty($config['NAS_LOGIN_PORT']) ? ":" . $config['NAS_LOGIN_PORT'] : "";
+$forward_uri .= "/login.php?sss=" . time();
+
 $request_url = $_SESSION['request_url'];
 
 $ip = $_SERVER['REMOTE_ADDR'];