Handle the virtual server for squid helper
authorNeutron Soutmun <neo.neutron@gmail.com>
Wed, 6 May 2009 03:43:45 +0000 (10:43 +0700)
committerNeutron Soutmun <neo.neutron@gmail.com>
Wed, 6 May 2009 03:43:45 +0000 (10:43 +0700)
2009-05-06  Neutron Soutmun <neo.neutron@gmail.com>

* weblogin/squid_helper.php: Handle the virtual server for squid helper.

ChangeLog
weblogin/squid_helper.php

index 044bca1..68d2141 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-05-06  Neutron Soutmun <neo.neutron@gmail.com>
+
+       * weblogin/squid_helper.php: Handle the virtual server for squid helper.
+
 2009-05-04  Neutron Soutmun <neo.neutron@gmail.com>
 
        * +weblogin/ChangeLog: Fork the changelog for weblogin.
index f744e8f..8c144cf 100644 (file)
@@ -32,6 +32,7 @@
 */
 include_once 'config.php';
 require_once 'rahu_xmlrpc.class.php';
+require_once 'networkchk.php';
 
 define(CACHE_TIME, 120);
 
@@ -45,10 +46,13 @@ while (!feof(STDIN)) {
   $arg = trim(fgets(STDIN));
   $srcip = rawurldecode($arg);
 
+  $config = get_config_by_network(trim($srcip), $config_list);
+  $vserver_id = $config["VSERVER_ID"];
+
   // Check cache
-  if (!empty($user_list[$srcip]['username']) && 
-    (time() - $user_list[$srcip]['timestamp']) < CACHE_TIME) {
-    fwrite(STDOUT, "OK user=". $user_list[$srcip]['username']  ."\n");
+  if (!empty($user_list[$vserver_id][$srcip]['username']) && 
+    (time() - $user_list[$vserver_id][$srcip]['timestamp']) < CACHE_TIME) {
+    fwrite(STDOUT, "OK user=". $user_list[$vserver_id][$srcip]['username']  ."\n");
     continue;
   }
 
@@ -56,10 +60,10 @@ while (!feof(STDIN)) {
   $xmlrpc->host = $config["RAHUNAS_HOST"];
   $xmlrpc->port = $config["RAHUNAS_PORT"];
   try {
-    $retinfo = $xmlrpc->do_getsessioninfo($srcip);
+    $retinfo = $xmlrpc->do_getsessioninfo($vserver_id, $srcip);
     if (is_array($retinfo) && !empty($retinfo['session_id'])) {
-      $user_list[$srcip]['username'] = $retinfo['username'];      
-      $user_list[$srcip]['timestamp'] = time();      
+      $user_list[$vserver_id][$srcip]['username'] = $retinfo['username'];      
+      $user_list[$vserver_id][$srcip]['timestamp'] = time();      
       fwrite(STDOUT, "OK user=". $retinfo['username']  ."\n");
     } else {
       fwrite(STDOUT, "ERR\n");