lkml.org 
[lkml]   [2011]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[34-longterm 173/209] orinoco: fix TKIP countermeasure behaviour
    Date
    From: David Kilroy <kilroyd@googlemail.com>

    =====================================================================
    | This is a commit scheduled for the next v2.6.34 longterm release. |
    | If you see a problem with using this for longterm, please comment.|
    =====================================================================

    commit 0a54917c3fc295cb61f3fb52373c173fd3b69f48 upstream.

    Enable the port when disabling countermeasures, and disable it on
    enabling countermeasures.

    This bug causes the response of the system to certain attacks to be
    ineffective.

    It also prevents wpa_supplicant from getting scan results, as
    wpa_supplicant disables countermeasures on startup - preventing the
    hardware from scanning.

    wpa_supplicant works with ap_mode=2 despite this bug because the commit
    handler re-enables the port.

    The log tends to look like:

    State: DISCONNECTED -> SCANNING
    Starting AP scan for wildcard SSID
    Scan requested (ret=0) - scan timeout 5 seconds
    EAPOL: disable timer tick
    EAPOL: Supplicant port status: Unauthorized
    Scan timeout - try to get results
    Failed to get scan results
    Failed to get scan results - try scanning again
    Setting scan request: 1 sec 0 usec
    Starting AP scan for wildcard SSID
    Scan requested (ret=-1) - scan timeout 5 seconds
    Failed to initiate AP scan.

    Reported by: Giacomo Comes <comes@naic.edu>
    Signed-off by: David Kilroy <kilroyd@googlemail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
    ---
    drivers/net/wireless/orinoco/wext.c | 4 ++--
    1 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/net/wireless/orinoco/wext.c b/drivers/net/wireless/orinoco/wext.c
    index fbcc6e1..7117d93 100644
    --- a/drivers/net/wireless/orinoco/wext.c
    +++ b/drivers/net/wireless/orinoco/wext.c
    @@ -1023,10 +1023,10 @@ static int orinoco_ioctl_set_auth(struct net_device *dev,
    */
    if (param->value) {
    priv->tkip_cm_active = 1;
    - ret = hermes_enable_port(hw, 0);
    + ret = hermes_disable_port(hw, 0);
    } else {
    priv->tkip_cm_active = 0;
    - ret = hermes_disable_port(hw, 0);
    + ret = hermes_enable_port(hw, 0);
    }
    break;

    --
    1.7.4.4


    \
     
     \ /
      Last update: 2011-04-14 20:09    [W:0.021 / U:0.516 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site