Lines Matching refs:crypt

121 	struct lib80211_crypt_data **crypt;  in prism2_ioctl_siwencode()  local
134 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_siwencode()
137 if (*crypt) in prism2_ioctl_siwencode()
138 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencode()
142 if (*crypt != NULL && (*crypt)->ops != NULL && in prism2_ioctl_siwencode()
143 strcmp((*crypt)->ops->name, "WEP") != 0) { in prism2_ioctl_siwencode()
145 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencode()
148 if (*crypt == NULL) { in prism2_ioctl_siwencode()
172 *crypt = new_crypt; in prism2_ioctl_siwencode()
180 (*crypt)->ops->set_key(keybuf, len, NULL, (*crypt)->priv); in prism2_ioctl_siwencode()
182 if (j != i && local->crypt_info.crypt[j]) { in prism2_ioctl_siwencode()
224 struct lib80211_crypt_data *crypt; in prism2_ioctl_giwencode() local
237 crypt = local->crypt_info.crypt[i]; in prism2_ioctl_giwencode()
240 if (crypt == NULL || crypt->ops == NULL) { in prism2_ioctl_giwencode()
246 if (strcmp(crypt->ops->name, "WEP") != 0) { in prism2_ioctl_giwencode()
256 len = crypt->ops->get_key(key, WEP_KEY_LEN, NULL, crypt->priv); in prism2_ioctl_giwencode()
3194 struct lib80211_crypt_data **crypt; in prism2_ioctl_siwencodeext() local
3212 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_siwencodeext()
3216 sta_ptr = ap_crypt_get_ptrs(local->ap, addr, 0, &crypt); in prism2_ioctl_siwencodeext()
3225 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_siwencodeext()
3233 if (*crypt) in prism2_ioctl_siwencodeext()
3234 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencodeext()
3279 if (*crypt == NULL || (*crypt)->ops != ops) { in prism2_ioctl_siwencodeext()
3282 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_siwencodeext()
3299 *crypt = new_crypt; in prism2_ioctl_siwencodeext()
3309 && (*crypt)->ops->set_key && in prism2_ioctl_siwencodeext()
3310 (*crypt)->ops->set_key(ext->key, ext->key_len, ext->rx_seq, in prism2_ioctl_siwencodeext()
3311 (*crypt)->priv) < 0) { in prism2_ioctl_siwencodeext()
3327 if (j != i && local->crypt_info.crypt[j]) { in prism2_ioctl_siwencodeext()
3365 struct lib80211_crypt_data **crypt; in prism2_ioctl_giwencodeext() local
3384 crypt = &local->crypt_info.crypt[i]; in prism2_ioctl_giwencodeext()
3387 sta_ptr = ap_crypt_get_ptrs(local->ap, addr, 0, &crypt); in prism2_ioctl_giwencodeext()
3394 if (*crypt == NULL || (*crypt)->ops == NULL) { in prism2_ioctl_giwencodeext()
3399 if (strcmp((*crypt)->ops->name, "WEP") == 0) in prism2_ioctl_giwencodeext()
3401 else if (strcmp((*crypt)->ops->name, "TKIP") == 0) in prism2_ioctl_giwencodeext()
3403 else if (strcmp((*crypt)->ops->name, "CCMP") == 0) in prism2_ioctl_giwencodeext()
3408 if ((*crypt)->ops->get_key) { in prism2_ioctl_giwencodeext()
3410 (*crypt)->ops->get_key(ext->key, in prism2_ioctl_giwencodeext()
3413 (*crypt)->priv); in prism2_ioctl_giwencodeext()
3434 struct lib80211_crypt_data **crypt; in prism2_ioctl_set_encryption() local
3437 param->u.crypt.err = 0; in prism2_ioctl_set_encryption()
3438 param->u.crypt.alg[HOSTAP_CRYPT_ALG_NAME_LEN - 1] = '\0'; in prism2_ioctl_set_encryption()
3441 (int) ((char *) param->u.crypt.key - (char *) param) + in prism2_ioctl_set_encryption()
3442 param->u.crypt.key_len) in prism2_ioctl_set_encryption()
3446 if (param->u.crypt.idx >= WEP_KEYS) in prism2_ioctl_set_encryption()
3449 crypt = &local->crypt_info.crypt[param->u.crypt.idx]; in prism2_ioctl_set_encryption()
3451 if (param->u.crypt.idx) in prism2_ioctl_set_encryption()
3455 (param->u.crypt.flags & HOSTAP_CRYPT_FLAG_PERMANENT), in prism2_ioctl_set_encryption()
3456 &crypt); in prism2_ioctl_set_encryption()
3459 param->u.crypt.err = HOSTAP_CRYPT_ERR_UNKNOWN_ADDR; in prism2_ioctl_set_encryption()
3464 if (strcmp(param->u.crypt.alg, "none") == 0) { in prism2_ioctl_set_encryption()
3465 if (crypt) in prism2_ioctl_set_encryption()
3466 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_set_encryption()
3470 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3471 if (ops == NULL && strcmp(param->u.crypt.alg, "WEP") == 0) { in prism2_ioctl_set_encryption()
3473 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3474 } else if (ops == NULL && strcmp(param->u.crypt.alg, "TKIP") == 0) { in prism2_ioctl_set_encryption()
3476 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3477 } else if (ops == NULL && strcmp(param->u.crypt.alg, "CCMP") == 0) { in prism2_ioctl_set_encryption()
3479 ops = lib80211_get_crypto_ops(param->u.crypt.alg); in prism2_ioctl_set_encryption()
3483 local->dev->name, param->u.crypt.alg); in prism2_ioctl_set_encryption()
3484 param->u.crypt.err = HOSTAP_CRYPT_ERR_UNKNOWN_ALG; in prism2_ioctl_set_encryption()
3493 if (*crypt == NULL || (*crypt)->ops != ops) { in prism2_ioctl_set_encryption()
3496 lib80211_crypt_delayed_deinit(&local->crypt_info, crypt); in prism2_ioctl_set_encryption()
3505 new_crypt->priv = new_crypt->ops->init(param->u.crypt.idx); in prism2_ioctl_set_encryption()
3508 param->u.crypt.err = in prism2_ioctl_set_encryption()
3514 *crypt = new_crypt; in prism2_ioctl_set_encryption()
3517 if ((!(param->u.crypt.flags & HOSTAP_CRYPT_FLAG_SET_TX_KEY) || in prism2_ioctl_set_encryption()
3518 param->u.crypt.key_len > 0) && (*crypt)->ops->set_key && in prism2_ioctl_set_encryption()
3519 (*crypt)->ops->set_key(param->u.crypt.key, in prism2_ioctl_set_encryption()
3520 param->u.crypt.key_len, param->u.crypt.seq, in prism2_ioctl_set_encryption()
3521 (*crypt)->priv) < 0) { in prism2_ioctl_set_encryption()
3524 param->u.crypt.err = HOSTAP_CRYPT_ERR_KEY_SET_FAILED; in prism2_ioctl_set_encryption()
3529 if (param->u.crypt.flags & HOSTAP_CRYPT_FLAG_SET_TX_KEY) { in prism2_ioctl_set_encryption()
3531 local->crypt_info.tx_keyidx = param->u.crypt.idx; in prism2_ioctl_set_encryption()
3532 else if (param->u.crypt.idx) { in prism2_ioctl_set_encryption()
3535 param->u.crypt.err = in prism2_ioctl_set_encryption()
3555 param->u.crypt.err = HOSTAP_CRYPT_ERR_CARD_CONF_FAILED; in prism2_ioctl_set_encryption()
3567 struct lib80211_crypt_data **crypt; in prism2_ioctl_get_encryption() local
3571 param->u.crypt.err = 0; in prism2_ioctl_get_encryption()
3574 (int) ((char *) param->u.crypt.key - (char *) param); in prism2_ioctl_get_encryption()
3580 if (param->u.crypt.idx >= WEP_KEYS) in prism2_ioctl_get_encryption()
3581 param->u.crypt.idx = local->crypt_info.tx_keyidx; in prism2_ioctl_get_encryption()
3582 crypt = &local->crypt_info.crypt[param->u.crypt.idx]; in prism2_ioctl_get_encryption()
3584 param->u.crypt.idx = 0; in prism2_ioctl_get_encryption()
3586 &crypt); in prism2_ioctl_get_encryption()
3589 param->u.crypt.err = HOSTAP_CRYPT_ERR_UNKNOWN_ADDR; in prism2_ioctl_get_encryption()
3594 if (*crypt == NULL || (*crypt)->ops == NULL) { in prism2_ioctl_get_encryption()
3595 memcpy(param->u.crypt.alg, "none", 5); in prism2_ioctl_get_encryption()
3596 param->u.crypt.key_len = 0; in prism2_ioctl_get_encryption()
3597 param->u.crypt.idx = 0xff; in prism2_ioctl_get_encryption()
3599 strncpy(param->u.crypt.alg, (*crypt)->ops->name, in prism2_ioctl_get_encryption()
3601 param->u.crypt.key_len = 0; in prism2_ioctl_get_encryption()
3603 memset(param->u.crypt.seq, 0, 8); in prism2_ioctl_get_encryption()
3604 if ((*crypt)->ops->get_key) { in prism2_ioctl_get_encryption()
3605 param->u.crypt.key_len = in prism2_ioctl_get_encryption()
3606 (*crypt)->ops->get_key(param->u.crypt.key, in prism2_ioctl_get_encryption()
3608 param->u.crypt.seq, in prism2_ioctl_get_encryption()
3609 (*crypt)->priv); in prism2_ioctl_get_encryption()