• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/Heimdal-398.1.2/lib/krb5/

Lines Matching refs:iov

328     krb5_crypto_iov iov[4];
337 iov[0].flags = KRB5_CRYPTO_TYPE_HEADER;
338 krb5_crypto_length(context, crypto, iov[0].flags, &iov[0].data.length);
339 iov[0].data.data = emalloc(iov[0].data.length);
341 iov[1].flags = KRB5_CRYPTO_TYPE_DATA;
342 iov[1].data.length = len;
343 iov[1].data.data = emalloc(iov[1].data.length);
344 memcpy(iov[1].data.data, p, iov[1].data.length);
347 iov[2].flags = KRB5_CRYPTO_TYPE_PADDING;
348 krb5_crypto_length(context, crypto, KRB5_CRYPTO_TYPE_PADDING, &iov[2].data.length);
349 iov[2].data.data = emalloc(iov[2].data.length);
351 iov[3].flags = KRB5_CRYPTO_TYPE_TRAILER;
352 krb5_crypto_length(context, crypto, iov[3].flags, &iov[3].data.length);
353 iov[3].data.data = emalloc(iov[3].data.length);
356 iov, sizeof(iov)/sizeof(iov[0]), NULL);
358 errx(1, "encrypt iov failed: %d", ret);
361 for (i = 0, len = 0; i < sizeof(iov)/sizeof(iov[0]); i++)
362 len += iov[i].data.length;
371 for (i = 0; i < sizeof(iov)/sizeof(iov[0]); i++) {
372 memcpy(q, iov[i].data.data, iov[i].data.length);
373 q += iov[i].data.length;
385 * Now decrypt use iov
389 p = q = emalloc(iov[1].data.length + iov[2].data.length);
391 memcpy(q, iov[1].data.data, iov[1].data.length);
392 q += iov[1].data.length;
393 memcpy(q, iov[2].data.data, iov[2].data.length);
395 free(iov[1].data.data);
396 free(iov[2].data.data);
398 iov[1].data.data = p;
399 iov[1].data.length += iov[2].data.length;
401 iov[2].flags = KRB5_CRYPTO_TYPE_EMPTY;
402 iov[2].data.length = 0;
405 iov, sizeof(iov)/sizeof(iov[0]), NULL);
406 free(iov[0].data.data);
407 free(iov[3].data.data);
410 krb5_err(context, 1, ret, "decrypt iov failed: %d", ret);
412 if (clear->length != iov[1].data.length)
416 if (memcmp(iov[1].data.data, p, iov[1].data.length) != 0)
417 errx(1, "iov[1] incorrect");
419 free(iov[1].data.data);
432 krb5_crypto_iov iov[3];
440 iov[0].flags = KRB5_CRYPTO_TYPE_HEADER;
441 krb5_crypto_length(context, crypto, iov[0].flags, &iov[0].data.length);
442 iov[0].data.data = emalloc(iov[0].data.length);
443 memcpy(iov[0].data.data, p, iov[0].data.length);
444 p += iov[0].data.length;
445 len -= iov[0].data.length;
447 iov[1].flags = KRB5_CRYPTO_TYPE_TRAILER;
448 krb5_crypto_length(context, crypto, iov[1].flags, &iov[1].data.length);
449 iov[1].data.data = emalloc(iov[1].data.length);
450 memcpy(iov[1].data.data, p + len - iov[1].data.length, iov[1].data.length);
451 len -= iov[1].data.length;
453 iov[2].flags = KRB5_CRYPTO_TYPE_DATA;
454 iov[2].data.length = len;
455 iov[2].data.data = emalloc(len);
456 memcpy(iov[2].data.data, p, len);
459 iov, sizeof(iov)/sizeof(iov[0]), NULL);
461 krb5_err(context, 1, ret, "krb_enc_iov decrypt iov failed: %d", ret);
463 if (clear->length != iov[2].data.length)
467 if (memcmp(iov[2].data.data, p, iov[2].data.length) != 0)
468 errx(1, "iov[2] incorrect");
470 free(iov[0].data.data);
471 free(iov[1].data.data);
472 free(iov[2].data.data);
484 krb5_crypto_iov iov[4];
492 iov[0].flags = KRB5_CRYPTO_TYPE_CHECKSUM;
493 krb5_crypto_length(context, crypto, iov[0].flags, &iov[0].data.length);
494 iov[0].data.data = emalloc(iov[0].data.length);
496 iov[1].flags = KRB5_CRYPTO_TYPE_DATA;
497 iov[1].data.length = len;
498 iov[1].data.data = p;
500 iov[2].flags = KRB5_CRYPTO_TYPE_TRAILER;
501 krb5_crypto_length(context, crypto, iov[0].flags, &iov[2].data.length);
502 iov[2].data.data = malloc(iov[2].data.length);
505 iov, sizeof(iov)/sizeof(iov[0]), NULL);
509 ret = krb5_verify_checksum_iov(context, crypto, usage, iov, sizeof(iov)/sizeof(iov[0]), NULL);
513 free(iov[0].data.data);
514 free(iov[2].data.data);
651 krb5_crypto_iov iov[6];
677 memset(iov, 0, sizeof(iov));
679 iov[0].flags = KRB5_CRYPTO_TYPE_HEADER;
680 iov[1].flags = KRB5_CRYPTO_TYPE_DATA;
681 iov[1].data = in;
682 iov[2].flags = KRB5_CRYPTO_TYPE_SIGN_ONLY;
683 iov[2].data = signonly;
684 iov[3].flags = KRB5_CRYPTO_TYPE_EMPTY;
685 iov[4].flags = KRB5_CRYPTO_TYPE_PADDING;
686 iov[5].flags = KRB5_CRYPTO_TYPE_TRAILER;
688 ret = krb5_crypto_length_iov(context, crypto, iov,
689 sizeof(iov)/sizeof(iov[0]));
693 for (len = 0, i = 0; i < sizeof(iov)/sizeof(iov[0]); i++) {
694 if (iov[i].flags == KRB5_CRYPTO_TYPE_SIGN_ONLY)
696 len += iov[i].data.length;
705 for (p = base, i = 0; i < sizeof(iov)/sizeof(iov[0]); i++) {
706 if (iov[i].flags == KRB5_CRYPTO_TYPE_SIGN_ONLY)
708 iov[i].data.data = p;
709 p += iov[i].data.length;
711 assert(iov[1].data.length == in.length);
712 memcpy(iov[1].data.data, in.data, iov[1].data.length);
718 ret = krb5_encrypt_iov_ivec(context, crypto, 7, iov,
719 sizeof(iov)/sizeof(iov[0]), NULL);
728 iov, sizeof(iov)/sizeof(iov[0]), NULL);
736 if (krb5_data_cmp(&iov[1].data, &in) != 0)
747 iov[3].flags = KRB5_CRYPTO_TYPE_DATA;
748 iov[3].data = in;
751 iov, sizeof(iov)/sizeof(iov[0]));
755 for (len = 0, i = 0; i < sizeof(iov)/sizeof(iov[0]); i++) {
756 if (iov[i].flags == KRB5_CRYPTO_TYPE_SIGN_ONLY)
758 len += iov[i].data.length;
767 for (p = base, i = 0; i < sizeof(iov)/sizeof(iov[0]); i++) {
768 if (iov[i].flags == KRB5_CRYPTO_TYPE_SIGN_ONLY)
770 iov[i].data.data = p;
771 p += iov[i].data.length;
773 assert(iov[1].data.length == in.length);
774 memcpy(iov[1].data.data, in.data, iov[1].data.length);
776 assert(iov[3].data.length == in2.length);
777 memcpy(iov[3].data.data, in2.data, iov[3].data.length);
786 iov, sizeof(iov)/sizeof(iov[0]), NULL);
795 iov, sizeof(iov)/sizeof(iov[0]), NULL);
803 if (krb5_data_cmp(&iov[1].data, &in) != 0)
806 if (krb5_data_cmp(&iov[3].data, &in2) != 0)
881 printf("iov test failed\n");