[BACK]Return to usm.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / snmp

Diff for /src/usr.bin/snmp/usm.c between version 1.4 and 1.4.2.1

version 1.4, 2019/09/18 09:59:05 version 1.4.2.1, 2019/10/27 20:05:12
Line 137 
Line 137 
                 usm->userlen = userlen;                  usm->userlen = userlen;
                 return -1;                  return -1;
         }          }
         ber_free_element(ber);          ober_free_element(ber);
   
         agent->v3->level = level;          agent->v3->level = level;
         usm->userlen = userlen;          usm->userlen = userlen;
Line 150 
Line 150 
         if (!usm->engineidset || !usm->bootsset || !usm->timeset) {          if (!usm->engineidset || !usm->bootsset || !usm->timeset) {
                 if ((ber = snmp_get(agent, NULL, 0)) == NULL)                  if ((ber = snmp_get(agent, NULL, 0)) == NULL)
                         return -1;                          return -1;
                 ber_free_element(ber);                  ober_free_element(ber);
         }          }
         return 0;          return 0;
 }  }
Line 191 
Line 191 
         if (agent->v3->level & SNMP_MSGFLAG_PRIV)          if (agent->v3->level & SNMP_MSGFLAG_PRIV)
             saltlen = sizeof(usmcookie->salt);              saltlen = sizeof(usmcookie->salt);
   
         if ((params = ber_printf_elements(NULL, "{xddxxx}", usm->engineid,          if ((params = ober_printf_elements(NULL, "{xddxxx}", usm->engineid,
             usm->engineidlen, usmcookie->boots, usmcookie->time, usm->user,              usm->engineidlen, usmcookie->boots, usmcookie->time, usm->user,
             usm->userlen, digest, digestlen, &(usmcookie->salt),              usm->userlen, digest, digestlen, &(usmcookie->salt),
             saltlen)) == NULL) {              saltlen)) == NULL) {
Line 199 
Line 199 
                 return NULL;                  return NULL;
         }          }
   
         if (ber_scanf_elements(params, "{SSSSe",  &digestelm) == -1) {          if (ober_scanf_elements(params, "{SSSSe",  &digestelm) == -1) {
                 ber_free_element(params);                  ober_free_element(params);
                 free(usmcookie);                  free(usmcookie);
                 return NULL;                  return NULL;
         }          }
   
         ber_set_writecallback(digestelm, usm_digest_pos, usmcookie);          ober_set_writecallback(digestelm, usm_digest_pos, usmcookie);
   
         bzero(&ber, sizeof(ber));          bzero(&ber, sizeof(ber));
         ber_set_application(&ber, smi_application);          ober_set_application(&ber, smi_application);
         if (ber_write_elements(&ber, params) != -1)          if (ober_write_elements(&ber, params) != -1)
             berlen = ber_copy_writebuf(&ber, (void **)&secparams);              berlen = ber_copy_writebuf(&ber, (void **)&secparams);
   
         *len = berlen;          *len = berlen;
         ber_free_element(params);          ober_free_element(params);
         ber_free(&ber);          ober_free(&ber);
         return secparams;          return secparams;
 }  }
   
Line 230 
Line 230 
         size_t encpdulen;          size_t encpdulen;
   
         bzero(&ber, sizeof(ber));          bzero(&ber, sizeof(ber));
         ber_set_application(&ber, smi_application);          ober_set_application(&ber, smi_application);
         pdulen = ber_write_elements(&ber, pdu);          pdulen = ober_write_elements(&ber, pdu);
         if (pdulen == -1)          if (pdulen == -1)
                 return NULL;                  return NULL;
   
         ber_get_writebuf(&ber, (void **)&serialpdu);          ober_get_writebuf(&ber, (void **)&serialpdu);
   
         encpdu = usm_crypt(usm->cipher, 1, usm->privkey, usmcookie, serialpdu,          encpdu = usm_crypt(usm->cipher, 1, usm->privkey, usmcookie, serialpdu,
             pdulen, &encpdulen);              pdulen, &encpdulen);
         ber_free(&ber);          ober_free(&ber);
         if (encpdu == NULL)          if (encpdu == NULL)
                 return NULL;                  return NULL;
   
         retpdu = ber_add_nstring(NULL, encpdu, encpdulen);          retpdu = ober_add_nstring(NULL, encpdu, encpdulen);
         free(encpdu);          free(encpdu);
         return retpdu;          return retpdu;
 }  }
Line 346 
Line 346 
         bzero(&ber, sizeof(ber));          bzero(&ber, sizeof(ber));
         bzero(exp_digest, sizeof(exp_digest));          bzero(exp_digest, sizeof(exp_digest));
   
         ber_set_application(&ber, smi_application);          ober_set_application(&ber, smi_application);
         ber_set_readbuf(&ber, buf, buflen);          ober_set_readbuf(&ber, buf, buflen);
         if ((secparams = ber_read_elements(&ber, NULL)) == NULL)          if ((secparams = ober_read_elements(&ber, NULL)) == NULL)
                 return -1;                  return -1;
         ber_free(&ber);          ober_free(&ber);
   
         if ((usmcookie = malloc(sizeof(*usmcookie))) == NULL)          if ((usmcookie = malloc(sizeof(*usmcookie))) == NULL)
                 goto fail;                  goto fail;
         *cookie = usmcookie;          *cookie = usmcookie;
   
         if (ber_scanf_elements(secparams, "{xddxpxx}", &engineid, &engineidlen,          if (ober_scanf_elements(secparams, "{xddxpxx}", &engineid, &engineidlen,
             &(usmcookie->boots), &(usmcookie->time), &user, &userlen,              &(usmcookie->boots), &(usmcookie->time), &user, &userlen,
             &digestoffset, &digest, &digestlen, &salt, &saltlen) == -1)              &digestoffset, &digest, &digestlen, &salt, &saltlen) == -1)
                 goto fail;                  goto fail;
Line 437 
Line 437 
                 if (digestlen != 0)                  if (digestlen != 0)
                         goto fail;                          goto fail;
   
         ber_free_element(secparams);          ober_free_element(secparams);
         return 0;          return 0;
   
 fail:  fail:
         free(usmcookie);          free(usmcookie);
         ber_free_element(secparams);          ober_free_element(secparams);
         return -1;          return -1;
 }  }
   
Line 461 
Line 461 
                 return NULL;                  return NULL;
   
         bzero(&ber, sizeof(ber));          bzero(&ber, sizeof(ber));
         ber_set_application(&ber, smi_application);          ober_set_application(&ber, smi_application);
         ber_set_readbuf(&ber, rawpdu, rawpdulen);          ober_set_readbuf(&ber, rawpdu, rawpdulen);
         scopedpdu = ber_read_elements(&ber, NULL);          scopedpdu = ober_read_elements(&ber, NULL);
         ber_free(&ber);          ober_free(&ber);
         free(rawpdu);          free(rawpdu);
   
         return scopedpdu;          return scopedpdu;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.4.2.1