diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/a_time_tm.c')
| -rw-r--r-- | src/lib/libcrypto/asn1/a_time_tm.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/lib/libcrypto/asn1/a_time_tm.c b/src/lib/libcrypto/asn1/a_time_tm.c index c8b0172621..c269d770b4 100644 --- a/src/lib/libcrypto/asn1/a_time_tm.c +++ b/src/lib/libcrypto/asn1/a_time_tm.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: a_time_tm.c,v 1.27 2022/11/26 16:08:50 tb Exp $ */ | 1 | /* $OpenBSD: a_time_tm.c,v 1.28 2023/07/05 21:23:36 beck Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2015 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2015 Bob Beck <beck@openbsd.org> |
| 4 | * | 4 | * |
| @@ -60,6 +60,7 @@ ASN1_time_tm_cmp(struct tm *tm1, struct tm *tm2) | |||
| 60 | return (1); | 60 | return (1); |
| 61 | return 0; | 61 | return 0; |
| 62 | } | 62 | } |
| 63 | LCRYPTO_ALIAS(ASN1_time_tm_cmp); | ||
| 63 | 64 | ||
| 64 | int | 65 | int |
| 65 | ASN1_time_tm_clamp_notafter(struct tm *tm) | 66 | ASN1_time_tm_clamp_notafter(struct tm *tm) |
| @@ -76,6 +77,7 @@ ASN1_time_tm_clamp_notafter(struct tm *tm) | |||
| 76 | #endif | 77 | #endif |
| 77 | return 1; | 78 | return 1; |
| 78 | } | 79 | } |
| 80 | LCRYPTO_ALIAS(ASN1_time_tm_clamp_notafter); | ||
| 79 | 81 | ||
| 80 | /* Convert time to GeneralizedTime, X.690, 11.7. */ | 82 | /* Convert time to GeneralizedTime, X.690, 11.7. */ |
| 81 | ASN1_TIME * | 83 | ASN1_TIME * |
| @@ -344,6 +346,7 @@ ASN1_time_parse(const char *bytes, size_t len, struct tm *tm, int mode) | |||
| 344 | 346 | ||
| 345 | return -1; | 347 | return -1; |
| 346 | } | 348 | } |
| 349 | LCRYPTO_ALIAS(ASN1_time_parse); | ||
| 347 | 350 | ||
| 348 | /* | 351 | /* |
| 349 | * ASN1_TIME generic functions. | 352 | * ASN1_TIME generic functions. |
| @@ -404,6 +407,7 @@ ASN1_TIME_set(ASN1_TIME *s, time_t t) | |||
| 404 | { | 407 | { |
| 405 | return (ASN1_TIME_adj(s, t, 0, 0)); | 408 | return (ASN1_TIME_adj(s, t, 0, 0)); |
| 406 | } | 409 | } |
| 410 | LCRYPTO_ALIAS(ASN1_TIME_set); | ||
| 407 | 411 | ||
| 408 | ASN1_TIME * | 412 | ASN1_TIME * |
| 409 | ASN1_TIME_set_tm(ASN1_TIME *s, struct tm *tm) | 413 | ASN1_TIME_set_tm(ASN1_TIME *s, struct tm *tm) |
| @@ -414,12 +418,14 @@ ASN1_TIME_set_tm(ASN1_TIME *s, struct tm *tm) | |||
| 414 | return NULL; | 418 | return NULL; |
| 415 | return (ASN1_TIME_adj(s, t, 0, 0)); | 419 | return (ASN1_TIME_adj(s, t, 0, 0)); |
| 416 | } | 420 | } |
| 421 | LCRYPTO_ALIAS(ASN1_TIME_set_tm); | ||
| 417 | 422 | ||
| 418 | ASN1_TIME * | 423 | ASN1_TIME * |
| 419 | ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, long offset_sec) | 424 | ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, long offset_sec) |
| 420 | { | 425 | { |
| 421 | return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec, RFC5280)); | 426 | return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec, RFC5280)); |
| 422 | } | 427 | } |
| 428 | LCRYPTO_ALIAS(ASN1_TIME_adj); | ||
| 423 | 429 | ||
| 424 | int | 430 | int |
| 425 | ASN1_TIME_check(const ASN1_TIME *t) | 431 | ASN1_TIME_check(const ASN1_TIME *t) |
| @@ -428,6 +434,7 @@ ASN1_TIME_check(const ASN1_TIME *t) | |||
| 428 | return (0); | 434 | return (0); |
| 429 | return (t->type == ASN1_time_parse(t->data, t->length, NULL, t->type)); | 435 | return (t->type == ASN1_time_parse(t->data, t->length, NULL, t->type)); |
| 430 | } | 436 | } |
| 437 | LCRYPTO_ALIAS(ASN1_TIME_check); | ||
| 431 | 438 | ||
| 432 | ASN1_GENERALIZEDTIME * | 439 | ASN1_GENERALIZEDTIME * |
| 433 | ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, ASN1_GENERALIZEDTIME **out) | 440 | ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, ASN1_GENERALIZEDTIME **out) |
| @@ -450,12 +457,14 @@ ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, ASN1_GENERALIZEDTIME **out) | |||
| 450 | 457 | ||
| 451 | return (agt); | 458 | return (agt); |
| 452 | } | 459 | } |
| 460 | LCRYPTO_ALIAS(ASN1_TIME_to_generalizedtime); | ||
| 453 | 461 | ||
| 454 | int | 462 | int |
| 455 | ASN1_TIME_set_string(ASN1_TIME *s, const char *str) | 463 | ASN1_TIME_set_string(ASN1_TIME *s, const char *str) |
| 456 | { | 464 | { |
| 457 | return (ASN1_TIME_set_string_internal(s, str, 0)); | 465 | return (ASN1_TIME_set_string_internal(s, str, 0)); |
| 458 | } | 466 | } |
| 467 | LCRYPTO_ALIAS(ASN1_TIME_set_string); | ||
| 459 | 468 | ||
| 460 | static int | 469 | static int |
| 461 | ASN1_TIME_cmp_time_t_internal(const ASN1_TIME *s, time_t t2, int mode) | 470 | ASN1_TIME_cmp_time_t_internal(const ASN1_TIME *s, time_t t2, int mode) |
| @@ -500,6 +509,7 @@ ASN1_TIME_compare(const ASN1_TIME *t1, const ASN1_TIME *t2) | |||
| 500 | 509 | ||
| 501 | return ASN1_time_tm_cmp(&tm1, &tm2); | 510 | return ASN1_time_tm_cmp(&tm1, &tm2); |
| 502 | } | 511 | } |
| 512 | LCRYPTO_ALIAS(ASN1_TIME_compare); | ||
| 503 | 513 | ||
| 504 | int | 514 | int |
| 505 | ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t) | 515 | ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t) |
| @@ -511,6 +521,7 @@ ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t) | |||
| 511 | V_ASN1_GENERALIZEDTIME); | 521 | V_ASN1_GENERALIZEDTIME); |
| 512 | return -2; | 522 | return -2; |
| 513 | } | 523 | } |
| 524 | LCRYPTO_ALIAS(ASN1_TIME_cmp_time_t); | ||
| 514 | 525 | ||
| 515 | /* | 526 | /* |
| 516 | * ASN1_UTCTIME wrappers | 527 | * ASN1_UTCTIME wrappers |
| @@ -523,6 +534,7 @@ ASN1_UTCTIME_check(const ASN1_UTCTIME *d) | |||
| 523 | return (0); | 534 | return (0); |
| 524 | return (d->type == ASN1_time_parse(d->data, d->length, NULL, d->type)); | 535 | return (d->type == ASN1_time_parse(d->data, d->length, NULL, d->type)); |
| 525 | } | 536 | } |
| 537 | LCRYPTO_ALIAS(ASN1_UTCTIME_check); | ||
| 526 | 538 | ||
| 527 | int | 539 | int |
| 528 | ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str) | 540 | ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str) |
| @@ -531,12 +543,14 @@ ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str) | |||
| 531 | return (0); | 543 | return (0); |
| 532 | return (ASN1_TIME_set_string_internal(s, str, V_ASN1_UTCTIME)); | 544 | return (ASN1_TIME_set_string_internal(s, str, V_ASN1_UTCTIME)); |
| 533 | } | 545 | } |
| 546 | LCRYPTO_ALIAS(ASN1_UTCTIME_set_string); | ||
| 534 | 547 | ||
| 535 | ASN1_UTCTIME * | 548 | ASN1_UTCTIME * |
| 536 | ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t) | 549 | ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t) |
| 537 | { | 550 | { |
| 538 | return (ASN1_UTCTIME_adj(s, t, 0, 0)); | 551 | return (ASN1_UTCTIME_adj(s, t, 0, 0)); |
| 539 | } | 552 | } |
| 553 | LCRYPTO_ALIAS(ASN1_UTCTIME_set); | ||
| 540 | 554 | ||
| 541 | ASN1_UTCTIME * | 555 | ASN1_UTCTIME * |
| 542 | ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec) | 556 | ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec) |
| @@ -544,6 +558,7 @@ ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec) | |||
| 544 | return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec, | 558 | return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec, |
| 545 | V_ASN1_UTCTIME)); | 559 | V_ASN1_UTCTIME)); |
| 546 | } | 560 | } |
| 561 | LCRYPTO_ALIAS(ASN1_UTCTIME_adj); | ||
| 547 | 562 | ||
| 548 | int | 563 | int |
| 549 | ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t) | 564 | ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t) |
| @@ -552,6 +567,7 @@ ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t) | |||
| 552 | return ASN1_TIME_cmp_time_t_internal(s, t, V_ASN1_UTCTIME); | 567 | return ASN1_TIME_cmp_time_t_internal(s, t, V_ASN1_UTCTIME); |
| 553 | return -2; | 568 | return -2; |
| 554 | } | 569 | } |
| 570 | LCRYPTO_ALIAS(ASN1_UTCTIME_cmp_time_t); | ||
| 555 | 571 | ||
| 556 | /* | 572 | /* |
| 557 | * ASN1_GENERALIZEDTIME wrappers | 573 | * ASN1_GENERALIZEDTIME wrappers |
| @@ -564,6 +580,7 @@ ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *d) | |||
| 564 | return (0); | 580 | return (0); |
| 565 | return (d->type == ASN1_time_parse(d->data, d->length, NULL, d->type)); | 581 | return (d->type == ASN1_time_parse(d->data, d->length, NULL, d->type)); |
| 566 | } | 582 | } |
| 583 | LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_check); | ||
| 567 | 584 | ||
| 568 | int | 585 | int |
| 569 | ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str) | 586 | ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str) |
| @@ -572,12 +589,14 @@ ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str) | |||
| 572 | return (0); | 589 | return (0); |
| 573 | return (ASN1_TIME_set_string_internal(s, str, V_ASN1_GENERALIZEDTIME)); | 590 | return (ASN1_TIME_set_string_internal(s, str, V_ASN1_GENERALIZEDTIME)); |
| 574 | } | 591 | } |
| 592 | LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_set_string); | ||
| 575 | 593 | ||
| 576 | ASN1_GENERALIZEDTIME * | 594 | ASN1_GENERALIZEDTIME * |
| 577 | ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, time_t t) | 595 | ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, time_t t) |
| 578 | { | 596 | { |
| 579 | return (ASN1_GENERALIZEDTIME_adj(s, t, 0, 0)); | 597 | return (ASN1_GENERALIZEDTIME_adj(s, t, 0, 0)); |
| 580 | } | 598 | } |
| 599 | LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_set); | ||
| 581 | 600 | ||
| 582 | ASN1_GENERALIZEDTIME * | 601 | ASN1_GENERALIZEDTIME * |
| 583 | ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, time_t t, int offset_day, | 602 | ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, time_t t, int offset_day, |
| @@ -586,6 +605,7 @@ ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, time_t t, int offset_day, | |||
| 586 | return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec, | 605 | return (ASN1_TIME_adj_internal(s, t, offset_day, offset_sec, |
| 587 | V_ASN1_GENERALIZEDTIME)); | 606 | V_ASN1_GENERALIZEDTIME)); |
| 588 | } | 607 | } |
| 608 | LCRYPTO_ALIAS(ASN1_GENERALIZEDTIME_adj); | ||
| 589 | 609 | ||
| 590 | int | 610 | int |
| 591 | ASN1_TIME_normalize(ASN1_TIME *t) | 611 | ASN1_TIME_normalize(ASN1_TIME *t) |
| @@ -596,9 +616,11 @@ ASN1_TIME_normalize(ASN1_TIME *t) | |||
| 596 | return 0; | 616 | return 0; |
| 597 | return tm_to_rfc5280_time(&tm, t) != NULL; | 617 | return tm_to_rfc5280_time(&tm, t) != NULL; |
| 598 | } | 618 | } |
| 619 | LCRYPTO_ALIAS(ASN1_TIME_normalize); | ||
| 599 | 620 | ||
| 600 | int | 621 | int |
| 601 | ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str) | 622 | ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str) |
| 602 | { | 623 | { |
| 603 | return ASN1_TIME_set_string_internal(s, str, RFC5280); | 624 | return ASN1_TIME_set_string_internal(s, str, RFC5280); |
| 604 | } | 625 | } |
| 626 | LCRYPTO_ALIAS(ASN1_TIME_set_string_X509); | ||
