diff options
author | Justus Winter <justus@g10code.com> | 2017-03-07 12:18:59 +0100 |
---|---|---|
committer | Justus Winter <justus@g10code.com> | 2017-03-07 12:23:47 +0100 |
commit | de3838372ae3cdecbd83eea2c53c8e2656d93052 (patch) | |
tree | 3ba36a75f31f00ce5ca21723c1bee6ff0fe72142 | |
parent | agent: Resolve conflict of util.h. (diff) | |
download | gnupg2-de3838372ae3cdecbd83eea2c53c8e2656d93052.tar.xz gnupg2-de3838372ae3cdecbd83eea2c53c8e2656d93052.zip |
tests: Avoid overflowing signed 32 bit time_t.
* tests/openpgp/quick-key-manipulation.scm: Use expiration times in
the year 2038 instead of 2105 to avoid overflowing 32 bit time_t.
time_t is used internally to parse the expiraton time from the iso
timestamp.
GnuPG-bug-id: 2988
Signed-off-by: Justus Winter <justus@g10code.com>
-rwxr-xr-x | tests/openpgp/quick-key-manipulation.scm | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/tests/openpgp/quick-key-manipulation.scm b/tests/openpgp/quick-key-manipulation.scm index 10f0bfe21..08ef62613 100755 --- a/tests/openpgp/quick-key-manipulation.scm +++ b/tests/openpgp/quick-key-manipulation.scm @@ -125,8 +125,13 @@ (default default never) (rsa "sign auth encr" "seconds=600") ;; GPGME uses this (rsa "auth,encr" "2") ;; "without a letter, days is assumed" - (rsa "sign" "2105-01-01") ;; "last year GnuPG can represent is 2105" - (rsa "sign" "21050101T115500") ;; "last year GnuPG can represent is 2105" + ;; Sadly, the timestamp is truncated by the use of time_t on + ;; systems where time_t is a signed 32 bit value. + (rsa "sign" "2038-01-01") ;; unix millennium + (rsa "sign" "20380101T115500") ;; unix millennium + ;; Once fixed, we can use later timestamps: + ;; (rsa "sign" "2105-01-01") ;; "last year GnuPG can represent is 2105" + ;; (rsa "sign" "21050101T115500") ;; "last year GnuPG can represent is 2105" (rsa sign "2d") (rsa1024 sign "2w") (rsa2048 encr "2m") @@ -157,7 +162,8 @@ (lambda (subkey) (assert (= 1 (:alg subkey))) (assert (string-contains? (:cap subkey) "s")) - (assert (time-matches? 4260207600 ;; 2105-01-01 + (assert (time-matches? 2145916800 ;; 2038-01-01 + ;; 4260207600 ;; 2105-01-01 (string->number (:expire subkey)) ;; This is off by 12h, but I guess it just ;; choses the middle of the day. @@ -165,7 +171,8 @@ (lambda (subkey) (assert (= 1 (:alg subkey))) (assert (string-contains? (:cap subkey) "s")) - (assert (time-matches? 4260254100 ;; UTC 2105-01-01 11:55:00 + (assert (time-matches? 2145959700 ;; UTC 2038-01-01 11:55:00 + ;; 4260254100 ;; UTC 2105-01-01 11:55:00 (string->number (:expire subkey)) (minutes->seconds 5)))) (lambda (subkey) |