summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2012-12-21 15:45:53 -0500
committerTom Yu <tlyu@mit.edu>2012-12-22 12:40:11 -0500
commite8e34ead59b3e1fd28beb151c5e6efb47bc57bee (patch)
tree5232828753936cdc12615aea67b2bf140feda321 /src/lib
parentaf26a3e882372b6617a62cad01966ab90b045114 (diff)
downloadkrb5-e8e34ead59b3e1fd28beb151c5e6efb47bc57bee.tar.gz
krb5-e8e34ead59b3e1fd28beb151c5e6efb47bc57bee.tar.xz
krb5-e8e34ead59b3e1fd28beb151c5e6efb47bc57bee.zip
Add more formats to krb5_timestamp_to_sfstring
krb5_timestamp_to_string() can produce ambiguous dates. The final fallback, "%d/%m/%Y %R", contains a European order date format that can be confused with a US date format. Add some additional strftime() format strings, including locale-dependent formats and some ISO 8601 formats. Remove the hardcoded strftime() format that had an ambiguous date order. ticket: 7458 target_version: 1.11 tags: pullup
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/krb/str_conv.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/krb5/krb/str_conv.c b/src/lib/krb5/krb/str_conv.c
index e39cd6696..1ffd02676 100644
--- a/src/lib/krb5/krb/str_conv.c
+++ b/src/lib/krb5/krb/str_conv.c
@@ -239,7 +239,12 @@ krb5_timestamp_to_sfstring(krb5_timestamp timestamp, char *buffer, size_t buflen
"%c", /* Default locale-dependent date and time */
"%d %b %Y %T", /* dd mon yyyy hh:mm:ss */
"%x %X", /* locale-dependent short format */
- "%d/%m/%Y %R" /* dd/mm/yyyy hh:mm */
+ "%x %T", /* locale-dependent date + hh:mm:ss */
+ "%x %R", /* locale-dependent date + hh:mm */
+ "%Y-%m-%dT%H:%M:%S", /* ISO 8601 date + time */
+ "%Y-%m-%dT%H:%M", /* ISO 8601 date + hh:mm */
+ "%Y%m%d%H%M%S", /* ISO 8601 date + time, basic */
+ "%Y%m%d%H%M" /* ISO 8601 date + hh:mm, basic */
};
static const unsigned int sftime_format_table_nents =
sizeof(sftime_format_table)/sizeof(sftime_format_table[0]);