Changeset 1445

Show
Ignore:
Timestamp:
02/04/10 16:20:28 (7 months ago)
Author:
gbastien
Message:

* First draft: nothing has changed so far, just the way tokens are generated from a template. Integration of the code by richard Jackson (#684). Not thoroughly tested though.

Location:
branches/newtoken/wifidog
Files:
2 added
6 modified

Legend:

Unmodified
Added
Removed
  • branches/newtoken/wifidog/classes/AbstractDb.php

    r1428 r1445  
    357357    { 
    358358        // WARNING : magic quotes must be off 
     359        if (is_null($string)) 
     360            return "null"; 
    359361        return pg_escape_string($string); 
    360362    } 
  • branches/newtoken/wifidog/classes/Authenticator.php

    r1419 r1445  
    147147  
    148148        foreach ($network_array as $network) { 
    149                 if ($network->getName() == $default_network) 
    150                         $default_network_param = $network->getId(); 
     149            if ($network->getName() == $default_network->getName()) { 
     150                $default_network_param = $network->getId(); 
     151            } 
    151152        } 
    152153        if (Server::getServer()->getUseGlobalUserAccounts()) 
  • branches/newtoken/wifidog/classes/Permission.php

    r1435 r1445  
    9494            $PERMISSIONS['NETWORK_PERM_EDIT_DYNAMIC_ABUSE_CONTROL'] = array(_("User is allowed to set dynamic abuse control options for the network"), StakeholderType::Network, false); 
    9595            $PERMISSIONS['NETWORK_PERM_ALLOW_GROUP_NODE'] = array(_("User is allowed group nodes into virtual node groups"), StakeholderType::Network, false); 
     96            $PERMISSIONS['NETWORK_PERM_GENERATE_USERS'] = array(_("User is allowed to generate user accounts"), StakeholderType::Network, false); 
     97             
    9698 
    9799            $PERMISSIONS['SERVER_PERM_EDIT_ROLES'] = array(_("User is allowed to edit user role definitions"), StakeholderType::Server, true); 
  • branches/newtoken/wifidog/classes/User.php

    r1435 r1445  
    10891089            ); 
    10901090        } 
     1091        if(Security::getObjectsWithPermission(Permission::P('NETWORK_PERM_GENERATE_USERS'))) 
     1092        { 
     1093            $items[] = array('path' => 'users/user_generator', 
     1094            'title' => _("User generator"), 
     1095            'url' => BASE_URL_PATH."admin/user_gen.php" 
     1096            ); 
     1097        } 
    10911098        if(Security::getObjectsWithPermission(Permission::P('NETWORK_PERM_VIEW_STATISTICS'))) 
    10921099        { 
  • branches/newtoken/wifidog/include/schema_validate.php

    r1435 r1445  
    4848 * Define current database schema version 
    4949 */ 
    50 define('REQUIRED_SCHEMA_VERSION', 68); 
     50define('REQUIRED_SCHEMA_VERSION', 69); 
    5151/** Used to test a new shecma version before modyfying the database */ 
    5252define('SCHEMA_UPDATE_TEST_MODE', false); 
     
    15251525    } 
    15261526     
     1527    $new_schema_version = 69; 
     1528    if ($schema_version < $new_schema_version && $new_schema_version <= $targetSchema) { 
     1529        printUpdateVersion($new_schema_version); 
     1530        $sql .= "\n\nUPDATE schema_info SET value='$new_schema_version' WHERE tag='schema_version';\n"; 
     1531         
     1532        //$networks = Network::getAllNetworks(); 
     1533        $networks = array(); 
     1534        $db->execSql("Select network_id from networks", $networks, false); 
     1535        foreach ($networks as $network) { 
     1536            $new_guid = get_guid(); 
     1537            $sql .= "INSERT INTO token_templates(token_template_id, token_template_network) values('{$new_guid}', '{$network['network_id']}');\n "; 
     1538        } 
     1539    } 
     1540     
    15271541     
    15281542    /* 
  • branches/newtoken/wifidog/login/index.php

    r1435 r1445  
    7777require_once('classes/User.php'); 
    7878require_once('classes/Network.php'); 
     79require_once('classes/Token.php'); 
     80require_once('classes/TokenTemplate.php'); 
    7981require_once('classes/Authenticator.php'); 
    8082require_once('classes/MainUI.php'); 
     
    181183 */ 
    182184 
     185$templates = array(); 
     186if ($network != null) { 
     187     
     188} 
     189 
    183190/* 
    184191 * If this is a splash-only node, skip the login interface and log-in using 
     
    189196        // Login from a gateway, redirect to the gateway to activate the token 
    190197        $user = $network->getSplashOnlyUser(); 
    191         $token = $user->generateConnectionToken($mac); 
     198        //$token = $user->generateConnectionToken($mac); 
     199        $token = Token::generateConnectionToken($mac, $network, $user); 
    192200        User::setCurrentUser($user); 
    193201        header("Location: http://" . $gw_address . ":" . $gw_port . "/wifidog/auth?token=" . $token); 
     
    213221        if (!empty($gw_address) && !empty($gw_port)) { 
    214222            // Login from a gateway, redirect to the gateway to activate the token 
    215             $token = $user->generateConnectionToken($mac); 
     223            // $token = $user->generateConnectionToken($mac); 
     224            $token = Token::generateConnectionToken($mac, $network, $user); 
    216225            if(!$token) 
    217226            {