Lines Matching refs:checker
19 void wg_cookie_checker_init(struct cookie_checker *checker,
22 init_rwsem(&checker->secret_lock);
23 checker->secret_birthdate = ktime_get_coarse_boottime_ns();
24 get_random_bytes(checker->secret, NOISE_HASH_LEN);
25 checker->device = wg;
45 void wg_cookie_checker_precompute_device_keys(struct cookie_checker *checker)
47 if (likely(checker->device->static_identity.has_identity)) {
48 precompute_key(checker->cookie_encryption_key,
49 checker->device->static_identity.static_public,
51 precompute_key(checker->message_mac1_key,
52 checker->device->static_identity.static_public,
55 memset(checker->cookie_encryption_key, 0,
57 memset(checker->message_mac1_key, 0, NOISE_SYMMETRIC_KEY_LEN);
92 struct cookie_checker *checker)
96 if (wg_birthdate_has_expired(checker->secret_birthdate,
98 down_write(&checker->secret_lock);
99 checker->secret_birthdate = ktime_get_coarse_boottime_ns();
100 get_random_bytes(checker->secret, NOISE_HASH_LEN);
101 up_write(&checker->secret_lock);
104 down_read(&checker->secret_lock);
106 blake2s_init_key(&state, COOKIE_LEN, checker->secret, NOISE_HASH_LEN);
116 up_read(&checker->secret_lock);
119 enum cookie_mac_state wg_cookie_validate_packet(struct cookie_checker *checker,
131 checker->message_mac1_key);
140 make_cookie(cookie, skb, checker);
147 if (!wg_ratelimiter_allow(skb, dev_net(checker->device->dev)))
182 struct cookie_checker *checker)
192 make_cookie(cookie, skb, checker);
195 checker->cookie_encryption_key);