Changeset 136

Show
Ignore:
Timestamp:
12/18/06 12:45:33 (2 years ago)
Author:
syrus
Message:

rajout d un niveau member-users

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • wifidog/wifidog-1.1.3_beta4/src/auth.c

    r98 r136  
    232232            break; 
    233233 
     234    case AUTH_MEMBER: 
     235                /* Logged in successfully as a member account */ 
     236                debug(LOG_INFO, "Got MEMBER from central server authenticating token %s from %s at %s - adding to firewall and redirecting them to portal", client->token, client->ip, client->mac); 
     237                client->fw_connection_state = FW_MARK_MEMBER; 
     238                fw_allow(client->ip, client->mac, FW_MARK_MEMBER); 
     239        served_this_session++; 
     240                safe_asprintf(&newlocation, "Location: %s://%s:%d%sportal/?gw_id=%s", 
     241                        protocol, 
     242                        auth_server->authserv_hostname, 
     243                        port, 
     244                        auth_server->authserv_path, 
     245                        config->gw_id 
     246                ); 
     247                httpdSetResponse(r, "307 Redirect to portal\n"); 
     248                httpdAddHeader(r, newlocation); 
     249                free(newlocation); 
     250                http_wifidog_header(r, "Redirection to portal"); 
     251                httpdPrintf(r, "Please <a href='%s://%s:%d%sportal/?gw_id=%s'>click here</a> for the portal.", 
     252                        protocol, 
     253                        auth_server->authserv_hostname, 
     254                        port, 
     255                        auth_server->authserv_path, 
     256                        config->gw_id 
     257                ); 
     258                http_wifidog_footer(r); 
     259            break; 
     260 
    234261    case AUTH_VALIDATION_FAILED: 
    235262                 /* Client had X minutes to validate account by email and didn't = too late */ 
  • wifidog/wifidog-1.1.3_beta4/src/auth.h

    r98 r136  
    3838    AUTH_DENIED = 0, /**< Client was denied by the auth server */ 
    3939    AUTH_ALLOWED = 1, /**< Client was granted access by the auth server */ 
     40    AUTH_MEMBER = 2, /**< Client was granted access as a member by the auth server */ 
    4041    AUTH_VALIDATION = 5, /**< A misnomer.  Client is in 15 min probation to validate his new account */ 
    4142    AUTH_VALIDATION_FAILED = 6, /**< @todo DOCUMENT ME */ 
  • wifidog/wifidog-1.1.3_beta4/src/conf.c

    r135 r136  
    9191        oLon, 
    9292        oTinyproxyPort, 
     93        oProxyHost, 
    9394} OpCodes; 
    9495 
  • wifidog/wifidog-1.1.3_beta4/src/firewall.h

    r98 r136  
    3333                            @todo: VERIFY THAT THIS IS ACCURATE*/ 
    3434    FW_MARK_KNOWN = 2,  /**< @brief The client is known to the firewall */  
     35    FW_MARK_MEMBER = 3, /**< @brief The client is a member */  
    3536    FW_MARK_LOCKED = 254 /**< @brief The client has been locked out */ 
    3637} t_fw_marks; 
  • wifidog/wifidog-1.1.3_beta4/src/fw_iptables.c

    r135 r136  
    192192     t_trusted_mac *p; 
    193193     int tinyproxy_port; 
    194     
     194 
    195195    fw_quiet = 0; 
    196196 
     
    236236                        iptables_do_command("-t nat -N " TABLE_WIFIDOG_WIFI_TO_ROUTER); 
    237237                        iptables_do_command("-t nat -N " TABLE_WIFIDOG_WIFI_TO_INTERNET); 
    238                         iptables_do_command("-t nat -N " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS); 
    239238                        iptables_do_command("-t nat -N " TABLE_WIFIDOG_GLOBAL); 
    240239                        iptables_do_command("-t nat -N " TABLE_WIFIDOG_UNKNOWN); 
     
    252251                          debug(LOG_INFO,"Tinyproxy port set, setting tinyproxy rule"); 
    253252                          iptables_do_command("-t nat -A " TABLE_WIFIDOG_WIFI_TO_INTERNET " -p tcp --dport 80 -m mark --mark 0x%u -j REDIRECT --to-port %u", FW_MARK_KNOWN, tinyproxy_port); 
    254                           iptables_do_command("-t nat -A " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS " -p tcp --dport 80 -m mark --mark 0x%u -j REDIRECT --to-port %u", FW_MARK_KNOWN, tinyproxy_port); 
     253                          iptables_do_command("-t nat -A " TABLE_WIFIDOG_WIFI_TO_INTERNET " -p tcp --dport 80 -m mark --mark 0x%u -j REDIRECT --to-port %u", FW_MARK_MEMBER, tinyproxy_port); 
    255254                        } else { 
    256255                          iptables_do_command("-t nat -A " TABLE_WIFIDOG_WIFI_TO_INTERNET " -m mark --mark 0x%u -j ACCEPT", FW_MARK_KNOWN); 
    257                           iptables_do_command("-t nat -A " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS " -m mark --mark 0x%u -j ACCEPT", FW_MARK_KNOWN); 
     256                          iptables_do_command("-t nat -A " TABLE_WIFIDOG_WIFI_TO_INTERNET " -m mark --mark 0x%u -j ACCEPT", FW_MARK_MEMBER); 
    258257                        } 
    259258 
    260259                        iptables_do_command("-t nat -A " TABLE_WIFIDOG_WIFI_TO_INTERNET " -m mark --mark 0x%u -j ACCEPT", FW_MARK_PROBATION); 
    261260                        iptables_do_command("-t nat -A " TABLE_WIFIDOG_WIFI_TO_INTERNET " -j " TABLE_WIFIDOG_UNKNOWN); 
    262  
    263                         iptables_do_command("-t nat -A " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS " -m mark --mark 0x%u -j ACCEPT", FW_MARK_PROBATION); 
    264                         iptables_do_command("-t nat -A " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS " -j " TABLE_WIFIDOG_UNKNOWN); 
    265261 
    266262                        iptables_do_command("-t nat -A " TABLE_WIFIDOG_UNKNOWN " -j " TABLE_WIFIDOG_AUTHSERVERS); 
     
    277273                        /* Create new chains */ 
    278274                        iptables_do_command("-t filter -N " TABLE_WIFIDOG_WIFI_TO_INTERNET); 
    279                         iptables_do_command("-t filter -N " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS); 
    280275                        iptables_do_command("-t filter -N " TABLE_WIFIDOG_AUTHSERVERS); 
    281276                        iptables_do_command("-t filter -N " TABLE_WIFIDOG_LOCKED); 
     
    321316                        iptables_do_command("-t filter -A " TABLE_WIFIDOG_WIFI_TO_INTERNET " -j " TABLE_WIFIDOG_UNKNOWN); 
    322317 
    323                         iptables_load_ruleset("filter", "members-users", TABLE_WIFIDOG_MEMBERS);  
    324                         iptables_do_command("-t filter -A " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS " -j " TABLE_WIFIDOG_UNKNOWN); 
     318                        iptables_do_command("-t filter -A " TABLE_WIFIDOG_WIFI_TO_INTERNET " -m mark --mark 0x%u -j " TABLE_WIFIDOG_MEMBERS, FW_MARK_MEMBER); 
     319                        iptables_load_ruleset("filter", "member-users", TABLE_WIFIDOG_MEMBERS);  
    325320 
    326321                        iptables_load_ruleset("filter", "unknown-users", TABLE_WIFIDOG_UNKNOWN); 
     
    371366    iptables_do_command("-t nat -F " TABLE_WIFIDOG_WIFI_TO_ROUTER); 
    372367    iptables_do_command("-t nat -F " TABLE_WIFIDOG_WIFI_TO_INTERNET); 
    373     iptables_do_command("-t nat -F " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS); 
    374368    iptables_do_command("-t nat -F " TABLE_WIFIDOG_GLOBAL); 
    375369    iptables_do_command("-t nat -F " TABLE_WIFIDOG_UNKNOWN); 
     
    378372    iptables_do_command("-t nat -X " TABLE_WIFIDOG_WIFI_TO_ROUTER); 
    379373    iptables_do_command("-t nat -X " TABLE_WIFIDOG_WIFI_TO_INTERNET); 
    380     iptables_do_command("-t nat -X " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS); 
    381374    iptables_do_command("-t nat -X " TABLE_WIFIDOG_GLOBAL); 
    382375    iptables_do_command("-t nat -X " TABLE_WIFIDOG_UNKNOWN); 
     
    390383         iptables_fw_destroy_mention("filter", "FORWARD", TABLE_WIFIDOG_WIFI_TO_INTERNET); 
    391384         iptables_do_command("-t filter -F " TABLE_WIFIDOG_WIFI_TO_INTERNET); 
    392          iptables_do_command("-t filter -F " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS); 
    393385         iptables_do_command("-t filter -F " TABLE_WIFIDOG_AUTHSERVERS); 
    394386         iptables_do_command("-t filter -F " TABLE_WIFIDOG_LOCKED); 
     
    399391         iptables_do_command("-t filter -F " TABLE_WIFIDOG_UNKNOWN); 
    400392         iptables_do_command("-t filter -X " TABLE_WIFIDOG_WIFI_TO_INTERNET); 
    401          iptables_do_command("-t filter -X " TABLE_WIFIDOG_WIFI_TO_INTERNET_FOR_MEMBERS); 
    402393         iptables_do_command("-t filter -X " TABLE_WIFIDOG_AUTHSERVERS); 
    403394         iptables_do_command("-t filter -X " TABLE_WIFIDOG_LOCKED); 
  • wifidog/wifidog-1.1.3_beta4/wifidog.conf

    r106 r136  
    212212} 
    213213 
     214# Rule Set: member-users 
     215# 
     216# Used for member validated users. 
     217FirewallRuleSet member-users { 
     218FirewallRule allow to 0.0.0.0/0 
     219} 
     220 
     221 
     222 
    214223# Rule Set: unknown-users 
    215224#