Lines Matching defs:skey

477 sctp_free_sharedkey(sctp_sharedkey_t * skey)
479 if (skey == NULL)
482 if (SCTP_DECREMENT_AND_CHECK_REFCOUNT(&skey->refcount)) {
483 if (skey->key != NULL)
484 sctp_free_key(skey->key);
485 SCTP_FREE(skey, SCTP_M_AUTH_KY);
492 sctp_sharedkey_t *skey;
494 LIST_FOREACH(skey, shared_keys, next) {
495 if (skey->keyid == key_id)
496 return (skey);
505 sctp_sharedkey_t *skey;
516 LIST_FOREACH(skey, shared_keys, next) {
517 if (new_skey->keyid < skey->keyid) {
519 LIST_INSERT_BEFORE(skey, new_skey, next);
521 } else if (new_skey->keyid == skey->keyid) {
524 if ((skey->deactivated) && (skey->refcount > 1)) {
533 LIST_INSERT_BEFORE(skey, new_skey, next);
534 LIST_REMOVE(skey, next);
535 sctp_free_sharedkey(skey);
538 if (LIST_NEXT(skey, next) == NULL) {
540 LIST_INSERT_AFTER(skey, new_skey, next);
551 sctp_sharedkey_t *skey;
554 skey = sctp_find_sharedkey(&stcb->asoc.shared_keys, key_id);
557 if (skey) {
558 atomic_add_int(&skey->refcount, 1);
561 __func__, (void *)stcb, key_id, skey->refcount);
572 sctp_sharedkey_t *skey;
575 skey = sctp_find_sharedkey(&stcb->asoc.shared_keys, key_id);
578 if (skey) {
581 __func__, (void *)stcb, key_id, skey->refcount);
584 if ((skey->refcount <= 2) && (skey->deactivated)) {
590 __func__, (void *)stcb, key_id, skey->refcount);
592 sctp_free_sharedkey(skey);
597 sctp_copy_sharedkey(const sctp_sharedkey_t * skey)
601 if (skey == NULL)
606 if (skey->key != NULL)
607 new_skey->key = sctp_set_key(skey->key->key, skey->key->keylen);
610 new_skey->keyid = skey->keyid;
617 sctp_sharedkey_t *skey, *new_skey;
622 LIST_FOREACH(skey, src, next) {
623 new_skey = sctp_copy_sharedkey(skey);
1229 sctp_sharedkey_t *skey;
1239 skey = sctp_find_sharedkey(&stcb->asoc.shared_keys, keyid);
1240 if (skey == NULL)
1244 if (skey->refcount > 1)
1248 LIST_REMOVE(skey, next);
1249 sctp_free_sharedkey(skey); /* frees skey->key as well */
1263 sctp_sharedkey_t *skey;
1273 skey = sctp_find_sharedkey(&inp->sctp_ep.shared_keys, keyid);
1274 if (skey == NULL)
1280 LIST_REMOVE(skey, next);
1281 sctp_free_sharedkey(skey); /* frees skey->key as well */
1295 sctp_sharedkey_t *skey = NULL;
1298 skey = sctp_find_sharedkey(&stcb->asoc.shared_keys, keyid);
1299 if (skey == NULL) {
1303 if ((skey->deactivated) && (skey->refcount > 1)) {
1310 skey->deactivated = 0;
1322 sctp_sharedkey_t *skey;
1325 skey = sctp_find_sharedkey(&inp->sctp_ep.shared_keys, keyid);
1326 if (skey == NULL) {
1341 sctp_sharedkey_t *skey;
1351 skey = sctp_find_sharedkey(&stcb->asoc.shared_keys, keyid);
1352 if (skey == NULL)
1356 if (skey->refcount == 1) {
1362 skey->deactivated = 1;
1374 sctp_sharedkey_t *skey;
1384 skey = sctp_find_sharedkey(&inp->sctp_ep.shared_keys, keyid);
1385 if (skey == NULL)
1391 LIST_REMOVE(skey, next);
1392 sctp_free_sharedkey(skey); /* frees skey->key as well */
1542 sctp_sharedkey_t *skey;
1559 skey = sctp_find_sharedkey(&stcb->asoc.shared_keys, keyid);
1560 /* the only way skey is NULL is if null key id 0 is used */
1561 if (skey != NULL)
1562 key = skey->key;
1632 sctp_sharedkey_t *skey;
1685 skey = sctp_find_sharedkey(&stcb->asoc.shared_keys,
1688 if (skey == NULL) {
1710 stcb->asoc.authinfo.peer_random, skey->key);