Add some documentation for X509_gmtime_adj()

Other very similar functions were documented, but this one was missing.

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18974)
This commit is contained in:
Matt Caswell 2022-08-10 09:53:12 +01:00
parent 63df86b041
commit 425e972dfa
2 changed files with 21 additions and 17 deletions

View File

@ -3,7 +3,7 @@
=head1 NAME =head1 NAME
X509_cmp_time, X509_cmp_current_time, X509_cmp_timeframe, X509_cmp_time, X509_cmp_current_time, X509_cmp_timeframe,
X509_time_adj, X509_time_adj_ex X509_time_adj, X509_time_adj_ex, X509_gmtime_adj
- X509 time functions - X509 time functions
=head1 SYNOPSIS =head1 SYNOPSIS
@ -15,36 +15,41 @@ X509_time_adj, X509_time_adj_ex
ASN1_TIME *X509_time_adj(ASN1_TIME *asn1_time, long offset_sec, time_t *in_tm); ASN1_TIME *X509_time_adj(ASN1_TIME *asn1_time, long offset_sec, time_t *in_tm);
ASN1_TIME *X509_time_adj_ex(ASN1_TIME *asn1_time, int offset_day, long ASN1_TIME *X509_time_adj_ex(ASN1_TIME *asn1_time, int offset_day, long
offset_sec, time_t *in_tm); offset_sec, time_t *in_tm);
ASN1_TIME *X509_gmtime_adj(ASN1_TIME *asn1_time, long offset_sec);
=head1 DESCRIPTION =head1 DESCRIPTION
X509_cmp_time() compares the ASN1_TIME in B<asn1_time> with the time X509_cmp_time() compares the ASN1_TIME in I<asn1_time> with the time
in <in_tm>. in <in_tm>.
X509_cmp_current_time() compares the ASN1_TIME in X509_cmp_current_time() compares the ASN1_TIME in
B<asn1_time> with the current time, expressed as time_t. I<asn1_time> with the current time, expressed as time_t.
X509_cmp_timeframe() compares the given time period with the reference time X509_cmp_timeframe() compares the given time period with the reference time
included in the verification parameters B<vpm> if they are not NULL and contain included in the verification parameters I<vpm> if they are not NULL and contain
B<X509_V_FLAG_USE_CHECK_TIME>; else the current time is used as reference time. B<X509_V_FLAG_USE_CHECK_TIME>; else the current time is used as reference time.
X509_time_adj_ex() sets the ASN1_TIME structure B<asn1_time> to the time X509_time_adj_ex() sets the ASN1_TIME structure I<asn1_time> to the time
B<offset_day> and B<offset_sec> after B<in_tm>. I<offset_day> and I<offset_sec> after I<in_tm>.
X509_time_adj() sets the ASN1_TIME structure B<asn1_time> to the time X509_time_adj() sets the ASN1_TIME structure I<asn1_time> to the time
B<offset_sec> after B<in_tm>. This method can only handle second I<offset_sec> after I<in_tm>. This method can only handle second
offsets up to the capacity of long, so the newer X509_time_adj_ex() offsets up to the capacity of long, so the newer X509_time_adj_ex()
API should be preferred. API should be preferred.
In both methods, if B<asn1_time> is NULL, a new ASN1_TIME structure In both methods, if I<asn1_time> is NULL, a new ASN1_TIME structure
is allocated and returned. is allocated and returned.
In all methods, if B<in_tm> is NULL, the current time, expressed as In all methods, if I<in_tm> is NULL, the current time, expressed as
time_t, is used. time_t, is used.
B<asn1_time> must satisfy the ASN1_TIME format mandated by RFC 5280, I<asn1_time> must satisfy the ASN1_TIME format mandated by RFC 5280,
i.e., its format must be either YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ. i.e., its format must be either YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ.
X509_gmtime_adj() sets the ASN1_TIME structure I<asn1_time> to the time
I<offset_sec> after the current time. It is equivalent to calling
X509_time_adj() with the last parameter as NULL.
=head1 BUGS =head1 BUGS
Unlike many standard comparison functions, X509_cmp_time() and Unlike many standard comparison functions, X509_cmp_time() and
@ -52,11 +57,11 @@ X509_cmp_current_time() return 0 on error.
=head1 RETURN VALUES =head1 RETURN VALUES
X509_cmp_time() and X509_cmp_current_time() return -1 if B<asn1_time> X509_cmp_time() and X509_cmp_current_time() return -1 if I<asn1_time>
is earlier than, or equal to, B<in_tm> (resp. current time), and 1 is earlier than, or equal to, I<in_tm> (resp. current time), and 1
otherwise. These methods return 0 on error. otherwise. These methods return 0 on error.
X509_cmp_timeframe() returns 0 if B<vpm> is not NULL and the verification X509_cmp_timeframe() returns 0 if I<vpm> is not NULL and the verification
parameters do not contain B<X509_V_FLAG_USE_CHECK_TIME> parameters do not contain B<X509_V_FLAG_USE_CHECK_TIME>
but do contain B<X509_V_FLAG_NO_CHECK_TIME>. Otherwise it returns but do contain B<X509_V_FLAG_NO_CHECK_TIME>. Otherwise it returns
1 if the end time is not NULL and the reference time (which has determined as 1 if the end time is not NULL and the reference time (which has determined as
@ -64,8 +69,8 @@ stated above) is past the end time, -1 if the start time is not NULL and the
reference time is before, else 0 to indicate that the reference time is in range reference time is before, else 0 to indicate that the reference time is in range
(implying that the end time is not before the start time if both are present). (implying that the end time is not before the start time if both are present).
X509_time_adj() and X509_time_adj_ex() return a pointer to the updated X509_time_adj(), X509_time_adj_ex() and X509_gmtime_adj() return a pointer to
ASN1_TIME structure, and NULL on error. the updated ASN1_TIME structure, and NULL on error.
=head1 HISTORY =head1 HISTORY

View File

@ -1324,7 +1324,6 @@ X509_get_default_cert_file_env(3)
X509_get_default_private_dir(3) X509_get_default_private_dir(3)
X509_get_pubkey_parameters(3) X509_get_pubkey_parameters(3)
X509_get_signature_type(3) X509_get_signature_type(3)
X509_gmtime_adj(3)
X509_issuer_and_serial_hash(3) X509_issuer_and_serial_hash(3)
X509_issuer_name_hash(3) X509_issuer_name_hash(3)
X509_issuer_name_hash_old(3) X509_issuer_name_hash_old(3)