Symbol: usm
regress/usr.sbin/snmpd/snmp.c
100
void snmpv3_usm_discovery(int, int, struct headerdata *, struct usm *);
regress/usr.sbin/snmpd/snmp.c
103
void snmpv3_usm_encode(int, struct ber *, struct usm *);
regress/usr.sbin/snmpd/snmp.c
109
void snmpv3_usm_decode(int, void *, size_t, void *, size_t, struct usm *);
regress/usr.sbin/snmpd/snmp.c
143
.usm.engineidlen = 0,
regress/usr.sbin/snmpd/snmp.c
144
.usm.engineboots = 0,
regress/usr.sbin/snmpd/snmp.c
145
.usm.enginetime = 0,
regress/usr.sbin/snmpd/snmp.c
146
.usm.username = "noauthpriv"
regress/usr.sbin/snmpd/snmp.c
375
snmpv3_usm_discovery(s, timeout, hd, &params->usm);
regress/usr.sbin/snmpd/snmp.c
393
struct usm *params)
regress/usr.sbin/snmpd/snmp.c
400
.usm = *params
regress/usr.sbin/snmpd/snmp.c
417
sp.usm.username[0] = '\0';
regress/usr.sbin/snmpd/snmp.c
441
memcpy(params->engineid, sp.usm.engineid, sp.usm.engineidlen);
regress/usr.sbin/snmpd/snmp.c
442
params->engineidlen = sp.usm.engineidlen;
regress/usr.sbin/snmpd/snmp.c
463
snmpv3_usm_encode(s, ber, &params->usm);
regress/usr.sbin/snmpd/snmp.c
489
snmpv3_usm_encode(int s, struct ber *ber, struct usm *params)
regress/usr.sbin/snmpd/snmp.c
551
snmpv3_usm_decode(s, buf, buflen, spstr, spstrlen, &sp->usm);
regress/usr.sbin/snmpd/snmp.c
558
struct usm *usm)
regress/usr.sbin/snmpd/snmp.c
589
if (usm->engineidlen == 0) {
regress/usr.sbin/snmpd/snmp.c
590
memcpy(usm->engineid, engineid, engineidlen);
regress/usr.sbin/snmpd/snmp.c
591
usm->engineidlen = engineidlen;
regress/usr.sbin/snmpd/snmp.c
593
if (usm->engineidlen != engineidlen ||
regress/usr.sbin/snmpd/snmp.c
594
memcmp(usm->engineid, engineid, engineidlen) != 0)
regress/usr.sbin/snmpd/snmp.c
597
if (usm->engineboots == 0 && usm->enginetime == 0) {
regress/usr.sbin/snmpd/snmp.c
598
usm->engineboots = engineboots;
regress/usr.sbin/snmpd/snmp.c
599
usm->enginetime = enginetime;
regress/usr.sbin/snmpd/snmp.c
601
if (usm->engineboots < engineboots)
regress/usr.sbin/snmpd/snmp.c
603
else if (usm->engineboots == engineboots) {
regress/usr.sbin/snmpd/snmp.c
604
if (enginetime < usm->enginetime - 150 ||
regress/usr.sbin/snmpd/snmp.c
605
enginetime > usm->enginetime + 150)
regress/usr.sbin/snmpd/snmp.c
614
if (strcmp(username, usm->username) != 0)
regress/usr.sbin/snmpd/snmp.c
72
struct usm usm;
regress/usr.sbin/snmpd/snmp.c
98
int32_t snmpv3_usm_send(int, int, struct headerdata *, struct usm *, int32_t,
usr.bin/snmp/usm.c
100
free(usm);
usr.bin/snmp/usm.c
103
memcpy(usm->user, user, userlen);
usr.bin/snmp/usm.c
104
usm->userlen = userlen;
usr.bin/snmp/usm.c
115
sec->data = usm;
usr.bin/snmp/usm.c
123
struct usm_sec *usm = agent->v3->sec->data;
usr.bin/snmp/usm.c
127
if (usm->engineidset && usm->bootsset && usm->timeset)
usr.bin/snmp/usm.c
132
userlen = usm->userlen;
usr.bin/snmp/usm.c
133
usm->userlen = 0;
usr.bin/snmp/usm.c
137
usm->userlen = userlen;
usr.bin/snmp/usm.c
143
usm->userlen = userlen;
usr.bin/snmp/usm.c
150
if (!usm->engineidset || !usm->bootsset || !usm->timeset) {
usr.bin/snmp/usm.c
163
struct usm_sec *usm = agent->v3->sec->data;
usr.bin/snmp/usm.c
178
if (usm->timeset) {
usr.bin/snmp/usm.c
183
timespecsub(&now, &(usm->timecheck), &timediff);
usr.bin/snmp/usm.c
184
usmcookie->time = usm->time + timediff.tv_sec;
usr.bin/snmp/usm.c
187
usmcookie->boots = usm->boots;
usr.bin/snmp/usm.c
190
digestlen = usm_digestlen(usm->digest);
usr.bin/snmp/usm.c
194
if ((params = ober_printf_elements(NULL, "{xddxxx}", usm->engineid,
usr.bin/snmp/usm.c
195
usm->engineidlen, usmcookie->boots, usmcookie->time, usm->user,
usr.bin/snmp/usm.c
196
usm->userlen, digest, digestlen, &(usmcookie->salt),
usr.bin/snmp/usm.c
224
struct usm_sec *usm = agent->v3->sec->data;
usr.bin/snmp/usm.c
240
encpdu = usm_crypt(usm->cipher, 1, usm->privkey, usmcookie, serialpdu,
usr.bin/snmp/usm.c
318
struct usm_sec *usm = agent->v3->sec->data;
usr.bin/snmp/usm.c
325
if (usm->authlevel != USM_KEY_LOCALIZED)
usr.bin/snmp/usm.c
328
if (HMAC(usm->digest, usm->authkey, EVP_MD_size(usm->digest), buf,
usr.bin/snmp/usm.c
333
usm_digestlen(usm->digest));
usr.bin/snmp/usm.c
342
struct usm_sec *usm = agent->v3->sec->data;
usr.bin/snmp/usm.c
373
if (!usm->engineidset) {
usr.bin/snmp/usm.c
378
if (usm->engineidlen != engineidlen)
usr.bin/snmp/usm.c
380
if (memcmp(usm->engineid, engineid, engineidlen) != 0)
usr.bin/snmp/usm.c
384
if (!usm->bootsset) {
usr.bin/snmp/usm.c
385
usm->boots = usmcookie->boots;
usr.bin/snmp/usm.c
386
usm->bootsset = 1;
usr.bin/snmp/usm.c
388
if (usmcookie->boots < usm->boots)
usr.bin/snmp/usm.c
390
if (usmcookie->boots > usm->boots) {
usr.bin/snmp/usm.c
391
usm->bootsset = 0;
usr.bin/snmp/usm.c
392
usm->timeset = 0;
usr.bin/snmp/usm.c
398
if (!usm->timeset) {
usr.bin/snmp/usm.c
399
usm->time = usmcookie->time;
usr.bin/snmp/usm.c
400
if (clock_gettime(CLOCK_MONOTONIC, &usm->timecheck) == -1)
usr.bin/snmp/usm.c
402
usm->timeset = 1;
usr.bin/snmp/usm.c
406
timespecsub(&now, &(usm->timecheck), &timediff);
usr.bin/snmp/usm.c
408
usm->time + timediff.tv_sec - USM_MAX_TIMEWINDOW ||
usr.bin/snmp/usm.c
410
usm->time + timediff.tv_sec + USM_MAX_TIMEWINDOW) {
usr.bin/snmp/usm.c
411
usm->bootsset = 0;
usr.bin/snmp/usm.c
412
usm->timeset = 0;
usr.bin/snmp/usm.c
421
if (usm->boots == 0 && usm->time == 0) {
usr.bin/snmp/usm.c
422
usm->bootsset = 0;
usr.bin/snmp/usm.c
423
usm->timeset = 0;
usr.bin/snmp/usm.c
426
if (userlen != usm->userlen ||
usr.bin/snmp/usm.c
427
memcmp(user, usm->user, userlen) != 0)
usr.bin/snmp/usm.c
431
if (digestlen != usm_digestlen(usm->digest))
usr.bin/snmp/usm.c
436
if (HMAC(usm->digest, usm->authkey, EVP_MD_size(usm->digest), packet,
usr.bin/snmp/usm.c
458
struct usm_sec *usm = agent->v3->sec->data;
usr.bin/snmp/usm.c
465
if ((rawpdu = usm_crypt(usm->cipher, 0, usm->privkey, usmcookie,
usr.bin/snmp/usm.c
490
struct usm_sec *usm = data;
usr.bin/snmp/usm.c
492
free(usm->user);
usr.bin/snmp/usm.c
493
free(usm->authkey);
usr.bin/snmp/usm.c
494
free(usm->privkey);
usr.bin/snmp/usm.c
495
free(usm->engineid);
usr.bin/snmp/usm.c
496
free(usm);
usr.bin/snmp/usm.c
503
struct usm_sec *usm = sec->data;
usr.bin/snmp/usm.c
513
if ((usm->authkey = usm_passwd2mkey(digest, key)) == NULL)
usr.bin/snmp/usm.c
525
usm->authkey = lkey;
usr.bin/snmp/usm.c
527
usm->digest = digest;
usr.bin/snmp/usm.c
528
usm->authlevel = level;
usr.bin/snmp/usm.c
536
struct usm_sec *usm = sec->data;
usr.bin/snmp/usm.c
539
if (usm->digest == NULL) {
usr.bin/snmp/usm.c
550
if ((usm->privkey = usm_passwd2mkey(usm->digest, key)) == NULL)
usr.bin/snmp/usm.c
553
keylen = EVP_MD_size(usm->digest);
usr.bin/snmp/usm.c
555
if (keylen != (size_t)EVP_MD_size(usm->digest)) {
usr.bin/snmp/usm.c
562
usm->privkey = lkey;
usr.bin/snmp/usm.c
564
usm->cipher = cipher;
usr.bin/snmp/usm.c
565
usm->privlevel = level;
usr.bin/snmp/usm.c
572
struct usm_sec *usm = sec->data;
usr.bin/snmp/usm.c
575
if (usm->engineid != NULL)
usr.bin/snmp/usm.c
576
free(usm->engineid);
usr.bin/snmp/usm.c
577
if ((usm->engineid = malloc(engineidlen)) == NULL)
usr.bin/snmp/usm.c
579
memcpy(usm->engineid, engineid, engineidlen);
usr.bin/snmp/usm.c
580
usm->engineidlen = engineidlen;
usr.bin/snmp/usm.c
581
usm->engineidset = 1;
usr.bin/snmp/usm.c
583
if (usm->authlevel == USM_KEY_MASTER) {
usr.bin/snmp/usm.c
584
mkey = usm->authkey;
usr.bin/snmp/usm.c
585
if ((usm->authkey = usm_mkey2lkey(usm, usm->digest,
usr.bin/snmp/usm.c
587
usm->authkey = mkey;
usr.bin/snmp/usm.c
591
usm->authlevel = USM_KEY_LOCALIZED;
usr.bin/snmp/usm.c
593
if (usm->privlevel == USM_KEY_MASTER) {
usr.bin/snmp/usm.c
594
mkey = usm->privkey;
usr.bin/snmp/usm.c
595
if ((usm->privkey = usm_mkey2lkey(usm, usm->digest,
usr.bin/snmp/usm.c
597
usm->privkey = mkey;
usr.bin/snmp/usm.c
601
usm->privlevel = USM_KEY_LOCALIZED;
usr.bin/snmp/usm.c
610
struct usm_sec *usm = sec->data;
usr.bin/snmp/usm.c
612
if (clock_gettime(CLOCK_MONOTONIC, &(usm->timecheck)) == -1)
usr.bin/snmp/usm.c
615
usm->boots = boots;
usr.bin/snmp/usm.c
616
usm->bootsset = 1;
usr.bin/snmp/usm.c
617
usm->time = time;
usr.bin/snmp/usm.c
618
usm->timeset = 1;
usr.bin/snmp/usm.c
666
usm_mkey2lkey(struct usm_sec *usm, const EVP_MD *md, const char *mkey)
usr.bin/snmp/usm.c
678
!EVP_DigestUpdate(ctx, usm->engineid, usm->engineidlen) ||
usr.bin/snmp/usm.c
84
struct usm_sec *usm;
usr.bin/snmp/usm.c
94
if ((usm = calloc(1, sizeof(struct usm_sec))) == NULL) {
usr.bin/snmp/usm.c
98
if ((usm->user = malloc(userlen)) == NULL) {
usr.sbin/snmpd/mib.h
867
{ MIBDECL(usm) }, \
usr.sbin/snmpd/usm.c
271
struct ber_element *usm = NULL, *next = NULL, *decr;
usr.sbin/snmpd/usm.c
289
usm = ober_read_elements(&ber, NULL);
usr.sbin/snmpd/usm.c
290
if (usm == NULL) {
usr.sbin/snmpd/usm.c
298
smi_debug_elements(usm);
usr.sbin/snmpd/usm.c
301
if (ober_scanf_elements(usm, "{xiixpxx$", &engineidv, &engineid.length,
usr.sbin/snmpd/usm.c
392
if (usm != NULL)
usr.sbin/snmpd/usm.c
393
ober_free_elements(usm);
usr.sbin/snmpd/usm.c
401
struct ber_element *usm, *a, *res = NULL;
usr.sbin/snmpd/usm.c
410
usm = ober_add_sequence(NULL);
usr.sbin/snmpd/usm.c
439
if ((a = ober_printf_elements(usm, "xdds",
usr.sbin/snmpd/usm.c
455
smi_debug_elements(usm);
usr.sbin/snmpd/usm.c
457
len = ober_write_elements(&ber, usm);
usr.sbin/snmpd/usm.c
466
ober_free_elements(usm);