Package: network-manager
Version: 0.6.4-6
Severity: important
Tags: patch

Since a recent upgrade network-manager no longer lists my
WEP enabled access point as protected; no padlock is shown
in the menu.  When selecting this AP no keys are loaded.

When we find a WEP enabled access point we will accumulate
its 'capabilities' in add_capabilities_from_cipher().  For
WEP this is handled with the following stanza:

    if (cipher & IW_AUTH_CIPHER_WEP40)
    {
        caps |= (NM_802_11_CAP_PROTO_WEP & NM_802_11_CAP_CIPHER_WEP40);
        caps &= ~NM_802_11_CAP_PROTO_NONE;
    }

So if we find a WEPnn cypher we bitwise or in (WEP bitwise and
WEP40) to the capabilities:

    #define NM_802_11_CAP_PROTO_WEP                0x000000
    #define NM_802_11_CAP_CIPHER_WEP40             0x000010

However, the bitwise and of these two is 0, so we will or in nothing.
This leads to the access point being listed on your menus without
the normal padlock, and no keys are requested or loaded.

I applied the patch below, rebuilt and reinstalled and it appears
to fix things up.

=== 8< ===
commit 0cdd2bc4dc75ca6f14785de998cbd96be396b35e
Author: Andy Whitcroft <[EMAIL PROTECTED]>
Date:   Wed Feb 21 13:53:37 2007 +0000

    fix capability bit handling, fixing WEP Access Points
    
    When we find a WEP enabled access point we will accumulate
    its 'capabilities' in add_capabilities_from_cipher().  For
    WEP this is handled with the following stanza:
    
        if (cipher & IW_AUTH_CIPHER_WEP40)
        {
            caps |= (NM_802_11_CAP_PROTO_WEP & NM_802_11_CAP_CIPHER_WEP40);
            caps &= ~NM_802_11_CAP_PROTO_NONE;
        }
    
    So if we find a WEPnn cypher we bitwise or in (WEP bitwise and
    WEP40) to the capabilities:
    
        #define NM_802_11_CAP_PROTO_WEP                0x000000
        #define NM_802_11_CAP_CIPHER_WEP40             0x000010
    
    However, the bitwise and of these two is 0, so we will or in nothing.
    This leads to the access point being listed on your menus without
    the normal padlock, and no keys are requested or loaded.
    
    Change this to bitwise or.
    
    Signed-off-by: Andy Whitcroft <[EMAIL PROTECTED]>

diff --git a/src/NetworkManagerAP.c b/src/NetworkManagerAP.c
index 2f5c027..cc02308 100644
--- a/src/NetworkManagerAP.c
+++ b/src/NetworkManagerAP.c
@@ -572,12 +572,12 @@ static guint32 add_capabilities_from_cipher (guint32 
caps, int cipher)
 {
        if (cipher & IW_AUTH_CIPHER_WEP40)
        {
-               caps |= (NM_802_11_CAP_PROTO_WEP & NM_802_11_CAP_CIPHER_WEP40);
+               caps |= (NM_802_11_CAP_PROTO_WEP | NM_802_11_CAP_CIPHER_WEP40);
                caps &= ~NM_802_11_CAP_PROTO_NONE;
        }
        if (cipher & IW_AUTH_CIPHER_WEP104)
        {
-               caps |= (NM_802_11_CAP_PROTO_WEP & NM_802_11_CAP_CIPHER_WEP104);
+               caps |= (NM_802_11_CAP_PROTO_WEP | NM_802_11_CAP_CIPHER_WEP104);
                caps &= ~NM_802_11_CAP_PROTO_NONE;
        }
        if (cipher & IW_AUTH_CIPHER_TKIP)
=== 8< ===

-- System Information:
Debian Release: 4.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-3-686
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)

Versions of packages network-manager depends on:
ii  adduser                     3.102        Add and remove users and groups
ii  dbus                        1.0.2-1      simple interprocess messaging syst
ii  dhcdbd                      2.0-2        D-Bus interface to the ISC DHCP cl
ii  hal                         0.5.8.1-6.1  Hardware Abstraction Layer
ii  ifupdown                    0.6.8        high level tools to configure netw
ii  iproute                     20061002-3   Professional tools to control the 
ii  iputils-arping              3:20020927-6 Tool to send ICMP echo requests to
ii  libc6                       2.3.6.ds1-11 GNU C Library: Shared libraries
ii  libdbus-1-3                 1.0.2-1      simple interprocess messaging syst
ii  libdbus-glib-1-2            0.71-3       simple interprocess messaging syst
ii  libgcrypt11                 1.2.3-2      LGPL Crypto library - runtime libr
ii  libglib2.0-0                2.12.4-2     The GLib library of C routines
ii  libgpg-error0               1.4-1        library for common error values an
ii  libhal1                     0.5.8.1-6.1  Hardware Abstraction Layer - share
ii  libiw28                     28-1         Wireless tools - library
ii  libnl1-pre6                 1.0~pre6-2   Library for dealing with netlink s
ii  libnm-util0                 0.6.4-6      network management framework (shar
ii  lsb-base                    3.1-23       Linux Standard Base 3.1 init scrip
ii  wpasupplicant               0.5.5-2      Client support for WPA and WPA2 (I

network-manager recommends no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to