Lines Matching refs:crypt
132 struct lib80211_crypt_data **crypt; in prism2_ioctl_siwencode() local
145 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_siwencode()
148 if (*crypt) in prism2_ioctl_siwencode()
149 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencode()
153 if (*crypt != NULL && (*crypt)->ops != NULL && in prism2_ioctl_siwencode()
154 strcmp((*crypt)->ops->name, "WEP") != 0) { in prism2_ioctl_siwencode()
156 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencode()
159 if (*crypt == NULL) { in prism2_ioctl_siwencode()
183 *crypt = new_crypt; in prism2_ioctl_siwencode()
191 (*crypt)->ops->set_key(keybuf, len, NULL, (*crypt)->priv); in prism2_ioctl_siwencode()
193 if (j != i && local->crypt_info.crypt[j]) { in prism2_ioctl_siwencode()
235 struct lib80211_crypt_data *crypt; in prism2_ioctl_giwencode() local
248 crypt = local->crypt_info.crypt[i]; in prism2_ioctl_giwencode()
251 if (crypt == NULL || crypt->ops == NULL) { in prism2_ioctl_giwencode()
257 if (strcmp(crypt->ops->name, "WEP") != 0) { in prism2_ioctl_giwencode()
267 len = crypt->ops->get_key(key, WEP_KEY_LEN, NULL, crypt->priv); in prism2_ioctl_giwencode()
3206 struct lib80211_crypt_data **crypt; in prism2_ioctl_siwencodeext() local
3224 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_siwencodeext()
3228 sta_ptr = ap_crypt_get_ptrs(local->ap, addr, 0, &crypt); in prism2_ioctl_siwencodeext()
3237 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_siwencodeext()
3245 if (*crypt) in prism2_ioctl_siwencodeext()
3246 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencodeext()
3291 if (*crypt == NULL || (*crypt)->ops != ops) { in prism2_ioctl_siwencodeext()
3294 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencodeext()
3311 *crypt = new_crypt; in prism2_ioctl_siwencodeext()
3321 && (*crypt)->ops->set_key && in prism2_ioctl_siwencodeext()
3322 (*crypt)->ops->set_key(ext->key, ext->key_len, ext->rx_seq, in prism2_ioctl_siwencodeext()
3323 (*crypt)->priv) < 0) { in prism2_ioctl_siwencodeext()
3339 if (j != i && local->crypt_info.crypt[j]) { in prism2_ioctl_siwencodeext()
3377 struct lib80211_crypt_data **crypt; in prism2_ioctl_giwencodeext() local
3396 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_giwencodeext()
3399 sta_ptr = ap_crypt_get_ptrs(local->ap, addr, 0, &crypt); in prism2_ioctl_giwencodeext()
3406 if (*crypt == NULL || (*crypt)->ops == NULL) { in prism2_ioctl_giwencodeext()
3411 if (strcmp((*crypt)->ops->name, "WEP") == 0) in prism2_ioctl_giwencodeext()
3413 else if (strcmp((*crypt)->ops->name, "TKIP") == 0) in prism2_ioctl_giwencodeext()
3415 else if (strcmp((*crypt)->ops->name, "CCMP") == 0) in prism2_ioctl_giwencodeext()
3420 if ((*crypt)->ops->get_key) { in prism2_ioctl_giwencodeext()
3422 (*crypt)->ops->get_key(ext->key, in prism2_ioctl_giwencodeext()
3425 (*crypt)->priv); in prism2_ioctl_giwencodeext()
3446 struct lib80211_crypt_data **crypt; in prism2_ioctl_set_encryption() local
3449 param->u.crypt.err = 0; in prism2_ioctl_set_encryption()
3450 param->u.crypt.alg[HOSTAP_CRYPT_ALG_NAME_LEN - 1] = '\0'; in prism2_ioctl_set_encryption()
3453 (int) ((char *) param->u.crypt.key - (char *) param) + in prism2_ioctl_set_encryption()
3454 param->u.crypt.key_len) in prism2_ioctl_set_encryption()
3458 if (param->u.crypt.idx >= WEP_KEYS) in prism2_ioctl_set_encryption()
3461 crypt = &local->crypt_info.crypt[param->u.crypt.idx]; in prism2_ioctl_set_encryption()
3463 if (param->u.crypt.idx) in prism2_ioctl_set_encryption()
3467 (param->u.crypt.flags & HOSTAP_CRYPT_FLAG_PERMANENT), in prism2_ioctl_set_encryption()
3468 &crypt); in prism2_ioctl_set_encryption()
3471 param->u.crypt.err = HOSTAP_CRYPT_ERR_UNKNOWN_ADDR; in prism2_ioctl_set_encryption()
3476 if (strcmp(param->u.crypt.alg, "none") == 0) { in prism2_ioctl_set_encryption()
3477 if (crypt) in prism2_ioctl_set_encryption()
3478 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_set_encryption()
3482 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3483 if (ops == NULL && strcmp(param->u.crypt.alg, "WEP") == 0) { in prism2_ioctl_set_encryption()
3485 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3486 } else if (ops == NULL && strcmp(param->u.crypt.alg, "TKIP") == 0) { in prism2_ioctl_set_encryption()
3488 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3489 } else if (ops == NULL && strcmp(param->u.crypt.alg, "CCMP") == 0) { in prism2_ioctl_set_encryption()
3491 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3495 local->dev->name, param->u.crypt.alg); in prism2_ioctl_set_encryption()
3496 param->u.crypt.err = HOSTAP_CRYPT_ERR_UNKNOWN_ALG; in prism2_ioctl_set_encryption()
3505 if (*crypt == NULL || (*crypt)->ops != ops) { in prism2_ioctl_set_encryption()
3508 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_set_encryption()
3517 new_crypt->priv = new_crypt->ops->init(param->u.crypt.idx); in prism2_ioctl_set_encryption()
3520 param->u.crypt.err = in prism2_ioctl_set_encryption()
3526 *crypt = new_crypt; in prism2_ioctl_set_encryption()
3529 if ((!(param->u.crypt.flags & HOSTAP_CRYPT_FLAG_SET_TX_KEY) || in prism2_ioctl_set_encryption()
3530 param->u.crypt.key_len > 0) && (*crypt)->ops->set_key && in prism2_ioctl_set_encryption()
3531 (*crypt)->ops->set_key(param->u.crypt.key, in prism2_ioctl_set_encryption()
3532 param->u.crypt.key_len, param->u.crypt.seq, in prism2_ioctl_set_encryption()
3533 (*crypt)->priv) < 0) { in prism2_ioctl_set_encryption()
3536 param->u.crypt.err = HOSTAP_CRYPT_ERR_KEY_SET_FAILED; in prism2_ioctl_set_encryption()
3541 if (param->u.crypt.flags & HOSTAP_CRYPT_FLAG_SET_TX_KEY) { in prism2_ioctl_set_encryption()
3543 local->crypt_info.tx_keyidx = param->u.crypt.idx; in prism2_ioctl_set_encryption()
3544 else if (param->u.crypt.idx) { in prism2_ioctl_set_encryption()
3547 param->u.crypt.err = in prism2_ioctl_set_encryption()
3567 param->u.crypt.err = HOSTAP_CRYPT_ERR_CARD_CONF_FAILED; in prism2_ioctl_set_encryption()
3579 struct lib80211_crypt_data **crypt; in prism2_ioctl_get_encryption() local
3583 param->u.crypt.err = 0; in prism2_ioctl_get_encryption()
3586 (int) ((char *) param->u.crypt.key - (char *) param); in prism2_ioctl_get_encryption()
3592 if (param->u.crypt.idx >= WEP_KEYS) in prism2_ioctl_get_encryption()
3593 param->u.crypt.idx = local->crypt_info.tx_keyidx; in prism2_ioctl_get_encryption()
3594 crypt = &local->crypt_info.crypt[param->u.crypt.idx]; in prism2_ioctl_get_encryption()
3596 param->u.crypt.idx = 0; in prism2_ioctl_get_encryption()
3598 &crypt); in prism2_ioctl_get_encryption()
3601 param->u.crypt.err = HOSTAP_CRYPT_ERR_UNKNOWN_ADDR; in prism2_ioctl_get_encryption()
3606 if (*crypt == NULL || (*crypt)->ops == NULL) { in prism2_ioctl_get_encryption()
3607 memcpy(param->u.crypt.alg, "none", 5); in prism2_ioctl_get_encryption()
3608 param->u.crypt.key_len = 0; in prism2_ioctl_get_encryption()
3609 param->u.crypt.idx = 0xff; in prism2_ioctl_get_encryption()
3611 strncpy(param->u.crypt.alg, (*crypt)->ops->name, in prism2_ioctl_get_encryption()
3613 param->u.crypt.key_len = 0; in prism2_ioctl_get_encryption()
3615 memset(param->u.crypt.seq, 0, 8); in prism2_ioctl_get_encryption()
3616 if ((*crypt)->ops->get_key) { in prism2_ioctl_get_encryption()
3617 param->u.crypt.key_len = in prism2_ioctl_get_encryption()
3618 (*crypt)->ops->get_key(param->u.crypt.key, in prism2_ioctl_get_encryption()
3620 param->u.crypt.seq, in prism2_ioctl_get_encryption()
3621 (*crypt)->priv); in prism2_ioctl_get_encryption()