| 3103 | } |
| 3104 | |
| 3105 | static const char * |
| 3106 | rsn_cipher(const u_int8_t *sel) |
| 3107 | { |
| 3108 | #define RSN_SEL(x) (((x)<<24)|RSN_OUI) |
| 3109 | u_int32_t w = LE_READ_4(sel); |
| 3110 | |
| 3111 | switch (w) { |
| 3112 | case RSN_SEL(RSN_CSE_NULL): |
| 3113 | return "NONE"; |
| 3114 | case RSN_SEL(RSN_CSE_WEP40): |
| 3115 | return "WEP40"; |
| 3116 | case RSN_SEL(RSN_CSE_WEP104): |
| 3117 | return "WEP104"; |
| 3118 | case RSN_SEL(RSN_CSE_TKIP): |
| 3119 | return "TKIP"; |
| 3120 | case RSN_SEL(RSN_CSE_CCMP): |
| 3121 | return "AES-CCMP"; |
| 3122 | case RSN_SEL(RSN_CSE_WRAP): |
| 3123 | return "AES-OCB"; |
| 3124 | } |
| 3125 | return "?"; |
| 3126 | #undef WPA_SEL |
| 3127 | } |
| 3128 | |
| 3129 | static const char * |
| 3130 | rsn_keymgmt(const u_int8_t *sel) |