mirror of
git://git.gnupg.org/gnupg.git
synced 2024-11-11 21:48:50 +01:00
Fix bug #947 (expire time overflow)
This commit is contained in:
parent
99fb609e0a
commit
64a47d54c4
@ -1,3 +1,7 @@
|
|||||||
|
2008-08-11 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* configure.ac: Check for size of time_t.
|
||||||
|
|
||||||
2008-04-01 Werner Koch <wk@g10code.com>
|
2008-04-01 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* configure.ac (AC_INIT): Fix quoting.
|
* configure.ac (AC_INIT): Fix quoting.
|
||||||
|
13
configure.ac
13
configure.ac
@ -949,6 +949,19 @@ AC_CHECK_SIZEOF(unsigned short)
|
|||||||
AC_CHECK_SIZEOF(unsigned int)
|
AC_CHECK_SIZEOF(unsigned int)
|
||||||
AC_CHECK_SIZEOF(unsigned long)
|
AC_CHECK_SIZEOF(unsigned long)
|
||||||
AC_CHECK_SIZEOF(unsigned long long)
|
AC_CHECK_SIZEOF(unsigned long long)
|
||||||
|
AC_CHECK_SIZEOF(time_t,,[[
|
||||||
|
#include <stdio.h>
|
||||||
|
#if TIME_WITH_SYS_TIME
|
||||||
|
# include <sys/time.h>
|
||||||
|
# include <time.h>
|
||||||
|
#else
|
||||||
|
# if HAVE_SYS_TIME_H
|
||||||
|
# include <sys/time.h>
|
||||||
|
# else
|
||||||
|
# include <time.h>
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
]])
|
||||||
|
|
||||||
# Ensure that we have UINT64_C before we bother to check for uint64_t
|
# Ensure that we have UINT64_C before we bother to check for uint64_t
|
||||||
AC_CHECK_HEADERS([inttypes.h])
|
AC_CHECK_HEADERS([inttypes.h])
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2008-08-11 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* keygen.c (ask_expire_interval): Check for time overflow of an
|
||||||
|
u32. Fixes bug #947. Use SIZEOF_TIME_T for the 2039--2106 check.
|
||||||
|
|
||||||
2008-08-01 Werner Koch <wk@g10code.com>
|
2008-08-01 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* tdbio.c (open_db) [!EROFS]: Move closing parens out of the
|
* tdbio.c (open_db) [!EROFS]: Move closing parens out of the
|
||||||
|
18
g10/keygen.c
18
g10/keygen.c
@ -1697,12 +1697,18 @@ ask_expire_interval(u32 timestamp,int object,const char *def_expire)
|
|||||||
? _("Key expires at %s\n")
|
? _("Key expires at %s\n")
|
||||||
: _("Signature expires at %s\n"),
|
: _("Signature expires at %s\n"),
|
||||||
asctimestamp((ulong)(timestamp + interval) ) );
|
asctimestamp((ulong)(timestamp + interval) ) );
|
||||||
/* FIXME: This check yields warning on alhas: Write a
|
#if SIZEOF_TIME_T <= 4
|
||||||
configure check and to this check here only for 32 bit
|
if ((time_t)((ulong)(timestamp+interval)) < 0 )
|
||||||
machines */
|
tty_printf (_("Your system can't display dates beyond 2038.\n"
|
||||||
if( (time_t)((ulong)(timestamp+interval)) < 0 )
|
"However, it will be correctly handled up to"
|
||||||
tty_printf(_("Your system can't display dates beyond 2038.\n"
|
" 2106.\n"));
|
||||||
"However, it will be correctly handled up to 2106.\n"));
|
else
|
||||||
|
#endif /*SIZEOF_TIME_T*/
|
||||||
|
if ( (time_t)((unsigned long)(timestamp+interval)) < timestamp )
|
||||||
|
{
|
||||||
|
tty_printf (_("invalid value\n"));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( cpr_enabled() || cpr_get_answer_is_yes("keygen.valid.okay",
|
if( cpr_enabled() || cpr_get_answer_is_yes("keygen.valid.okay",
|
||||||
|
Loading…
Reference in New Issue
Block a user