Show
Ignore:
Timestamp:
06/10/08 00:25:06 (4 years ago)
Author:
benoitg
Message:
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/wifidog-auth/wifidog/classes/Authenticator.php

    r1330 r1350  
    229229            if ($splash_user_id != $user->getId() && $node = Node::getCurrentNode()) { 
    230230                // Try to destroy all connections tied to the current node 
    231                 $sql = "SELECT conn_id FROM connections WHERE user_id = '{$user->getId()}' AND node_id='{$node->getId()}' AND token_status='".TOKEN_INUSE."';"; 
     231                $sql = "SELECT conn_id FROM connections JOIN tokens USING (token_id) WHERE user_id = '{$user->getId()}' AND node_id='{$node->getId()}' AND token_status='".TOKEN_INUSE."';"; 
    232232                $conn_rows = null; 
    233233                $db->execSql($sql, $conn_rows, false); 
     
    247247             * that all other active tokens should expire 
    248248             */ 
    249             $sql = "SELECT conn_id FROM connections WHERE user_id = '{$user->getId()}' AND token_status='".TOKEN_INUSE."';"; 
     249            $sql = "SELECT conn_id FROM connections JOIN tokens USING (token_id) WHERE user_id = '{$user->getId()}' AND token_status='".TOKEN_INUSE."';"; 
    250250            $conn_rows = null; 
    251251            $db->execSql($sql, $conn_rows, false); 
     
    285285        $mac = $db->escapeString($_REQUEST['mac']); 
    286286        $ip = $db->escapeString($_REQUEST['ip']); 
    287         $sql = "UPDATE connections SET token_status='".TOKEN_INUSE."',user_mac='$mac',user_ip='$ip',last_updated=CURRENT_TIMESTAMP WHERE conn_id='{$conn_id}';"; 
     287        $sql = "BEGIN;\n"; 
     288        $sql .= "UPDATE connections SET user_mac='$mac',user_ip='$ip',last_updated=CURRENT_TIMESTAMP WHERE conn_id='{$conn_id}';"; 
     289        $sql .= "UPDATE tokens SET token_status='".TOKEN_INUSE."' FROM connections WHERE connections.token_id=tokens.token_id AND conn_id='{$conn_id}';"; 
     290        $sql .= "COMMIT;\n"; 
     291         
    288292        $db->execSqlUpdate($sql, false); 
    289293 
     
    295299             */ 
    296300            $token = $db->escapeString($_REQUEST['token']); 
    297             $sql = "SELECT * FROM connections WHERE user_id = '{$info['user_id']}' AND token_status='".TOKEN_INUSE."' AND token!='$token';"; 
     301            $sql = "SELECT * FROM connections JOIN tokens USING (token_id) WHERE user_id = '{$info['user_id']}' AND token_status='".TOKEN_INUSE."' AND token_id!='$token';"; 
    298302            $conn_rows = array (); 
    299303            $db->execSql($sql, $conn_rows, false); 
     
    305309            } 
    306310        } 
    307  
    308         /* 
    309          * Delete all unused tokens for this user, so we don't fill the database 
    310          * with them 
    311          */ 
    312         $sql = "DELETE FROM connections "."WHERE token_status='".TOKEN_UNUSED."' AND user_id = '{$info['user_id']}';"; 
    313         $db->execSqlUpdate($sql, false); 
    314311    } 
    315312