Lines Matching refs:crypt
131 struct lib80211_crypt_data **crypt; in prism2_ioctl_siwencode() local
144 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_siwencode()
147 if (*crypt) in prism2_ioctl_siwencode()
148 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencode()
152 if (*crypt != NULL && (*crypt)->ops != NULL && in prism2_ioctl_siwencode()
153 strcmp((*crypt)->ops->name, "WEP") != 0) { in prism2_ioctl_siwencode()
155 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencode()
158 if (*crypt == NULL) { in prism2_ioctl_siwencode()
182 *crypt = new_crypt; in prism2_ioctl_siwencode()
190 (*crypt)->ops->set_key(keybuf, len, NULL, (*crypt)->priv); in prism2_ioctl_siwencode()
192 if (j != i && local->crypt_info.crypt[j]) { in prism2_ioctl_siwencode()
234 struct lib80211_crypt_data *crypt; in prism2_ioctl_giwencode() local
247 crypt = local->crypt_info.crypt[i]; in prism2_ioctl_giwencode()
250 if (crypt == NULL || crypt->ops == NULL) { in prism2_ioctl_giwencode()
256 if (strcmp(crypt->ops->name, "WEP") != 0) { in prism2_ioctl_giwencode()
266 len = crypt->ops->get_key(key, WEP_KEY_LEN, NULL, crypt->priv); in prism2_ioctl_giwencode()
3209 struct lib80211_crypt_data **crypt; in prism2_ioctl_siwencodeext() local
3227 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_siwencodeext()
3231 sta_ptr = ap_crypt_get_ptrs(local->ap, addr, 0, &crypt); in prism2_ioctl_siwencodeext()
3240 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_siwencodeext()
3248 if (*crypt) in prism2_ioctl_siwencodeext()
3249 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencodeext()
3294 if (*crypt == NULL || (*crypt)->ops != ops) { in prism2_ioctl_siwencodeext()
3297 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencodeext()
3314 *crypt = new_crypt; in prism2_ioctl_siwencodeext()
3324 && (*crypt)->ops->set_key && in prism2_ioctl_siwencodeext()
3325 (*crypt)->ops->set_key(ext->key, ext->key_len, ext->rx_seq, in prism2_ioctl_siwencodeext()
3326 (*crypt)->priv) < 0) { in prism2_ioctl_siwencodeext()
3342 if (j != i && local->crypt_info.crypt[j]) { in prism2_ioctl_siwencodeext()
3380 struct lib80211_crypt_data **crypt; in prism2_ioctl_giwencodeext() local
3399 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_giwencodeext()
3402 sta_ptr = ap_crypt_get_ptrs(local->ap, addr, 0, &crypt); in prism2_ioctl_giwencodeext()
3409 if (*crypt == NULL || (*crypt)->ops == NULL) { in prism2_ioctl_giwencodeext()
3414 if (strcmp((*crypt)->ops->name, "WEP") == 0) in prism2_ioctl_giwencodeext()
3416 else if (strcmp((*crypt)->ops->name, "TKIP") == 0) in prism2_ioctl_giwencodeext()
3418 else if (strcmp((*crypt)->ops->name, "CCMP") == 0) in prism2_ioctl_giwencodeext()
3423 if ((*crypt)->ops->get_key) { in prism2_ioctl_giwencodeext()
3425 (*crypt)->ops->get_key(ext->key, in prism2_ioctl_giwencodeext()
3428 (*crypt)->priv); in prism2_ioctl_giwencodeext()
3449 struct lib80211_crypt_data **crypt; in prism2_ioctl_set_encryption() local
3452 param->u.crypt.err = 0; in prism2_ioctl_set_encryption()
3453 param->u.crypt.alg[HOSTAP_CRYPT_ALG_NAME_LEN - 1] = '\0'; in prism2_ioctl_set_encryption()
3456 (int) ((char *) param->u.crypt.key - (char *) param) + in prism2_ioctl_set_encryption()
3457 param->u.crypt.key_len) in prism2_ioctl_set_encryption()
3461 if (param->u.crypt.idx >= WEP_KEYS) in prism2_ioctl_set_encryption()
3464 crypt = &local->crypt_info.crypt[param->u.crypt.idx]; in prism2_ioctl_set_encryption()
3466 if (param->u.crypt.idx) in prism2_ioctl_set_encryption()
3470 (param->u.crypt.flags & HOSTAP_CRYPT_FLAG_PERMANENT), in prism2_ioctl_set_encryption()
3471 &crypt); in prism2_ioctl_set_encryption()
3474 param->u.crypt.err = HOSTAP_CRYPT_ERR_UNKNOWN_ADDR; in prism2_ioctl_set_encryption()
3479 if (strcmp(param->u.crypt.alg, "none") == 0) { in prism2_ioctl_set_encryption()
3480 if (crypt) in prism2_ioctl_set_encryption()
3481 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_set_encryption()
3485 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3486 if (ops == NULL && strcmp(param->u.crypt.alg, "WEP") == 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, "TKIP") == 0) { in prism2_ioctl_set_encryption()
3491 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3492 } else if (ops == NULL && strcmp(param->u.crypt.alg, "CCMP") == 0) { in prism2_ioctl_set_encryption()
3494 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3498 local->dev->name, param->u.crypt.alg); in prism2_ioctl_set_encryption()
3499 param->u.crypt.err = HOSTAP_CRYPT_ERR_UNKNOWN_ALG; in prism2_ioctl_set_encryption()
3508 if (*crypt == NULL || (*crypt)->ops != ops) { in prism2_ioctl_set_encryption()
3511 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_set_encryption()
3520 new_crypt->priv = new_crypt->ops->init(param->u.crypt.idx); in prism2_ioctl_set_encryption()
3523 param->u.crypt.err = in prism2_ioctl_set_encryption()
3529 *crypt = new_crypt; in prism2_ioctl_set_encryption()
3532 if ((!(param->u.crypt.flags & HOSTAP_CRYPT_FLAG_SET_TX_KEY) || in prism2_ioctl_set_encryption()
3533 param->u.crypt.key_len > 0) && (*crypt)->ops->set_key && in prism2_ioctl_set_encryption()
3534 (*crypt)->ops->set_key(param->u.crypt.key, in prism2_ioctl_set_encryption()
3535 param->u.crypt.key_len, param->u.crypt.seq, in prism2_ioctl_set_encryption()
3536 (*crypt)->priv) < 0) { in prism2_ioctl_set_encryption()
3539 param->u.crypt.err = HOSTAP_CRYPT_ERR_KEY_SET_FAILED; in prism2_ioctl_set_encryption()
3544 if (param->u.crypt.flags & HOSTAP_CRYPT_FLAG_SET_TX_KEY) { in prism2_ioctl_set_encryption()
3546 local->crypt_info.tx_keyidx = param->u.crypt.idx; in prism2_ioctl_set_encryption()
3547 else if (param->u.crypt.idx) { in prism2_ioctl_set_encryption()
3550 param->u.crypt.err = in prism2_ioctl_set_encryption()
3570 param->u.crypt.err = HOSTAP_CRYPT_ERR_CARD_CONF_FAILED; in prism2_ioctl_set_encryption()
3582 struct lib80211_crypt_data **crypt; in prism2_ioctl_get_encryption() local
3586 param->u.crypt.err = 0; in prism2_ioctl_get_encryption()
3589 (int) ((char *) param->u.crypt.key - (char *) param); in prism2_ioctl_get_encryption()
3595 if (param->u.crypt.idx >= WEP_KEYS) in prism2_ioctl_get_encryption()
3596 param->u.crypt.idx = local->crypt_info.tx_keyidx; in prism2_ioctl_get_encryption()
3597 crypt = &local->crypt_info.crypt[param->u.crypt.idx]; in prism2_ioctl_get_encryption()
3599 param->u.crypt.idx = 0; in prism2_ioctl_get_encryption()
3601 &crypt); in prism2_ioctl_get_encryption()
3604 param->u.crypt.err = HOSTAP_CRYPT_ERR_UNKNOWN_ADDR; in prism2_ioctl_get_encryption()
3609 if (*crypt == NULL || (*crypt)->ops == NULL) { in prism2_ioctl_get_encryption()
3610 memcpy(param->u.crypt.alg, "none", 5); in prism2_ioctl_get_encryption()
3611 param->u.crypt.key_len = 0; in prism2_ioctl_get_encryption()
3612 param->u.crypt.idx = 0xff; in prism2_ioctl_get_encryption()
3614 strncpy(param->u.crypt.alg, (*crypt)->ops->name, in prism2_ioctl_get_encryption()
3616 param->u.crypt.key_len = 0; in prism2_ioctl_get_encryption()
3618 memset(param->u.crypt.seq, 0, 8); in prism2_ioctl_get_encryption()
3619 if ((*crypt)->ops->get_key) { in prism2_ioctl_get_encryption()
3620 param->u.crypt.key_len = in prism2_ioctl_get_encryption()
3621 (*crypt)->ops->get_key(param->u.crypt.key, in prism2_ioctl_get_encryption()
3623 param->u.crypt.seq, in prism2_ioctl_get_encryption()
3624 (*crypt)->priv); in prism2_ioctl_get_encryption()