"Richard Levitte - VMS Whacker" said:

> time_t can be anything.  It can be a nose-picking monster for all I
> know.  All that matters is that it should represent time in some way,
> and be usefull in that way for any function that takes a time_t as an
> argument.  Under VMS (with DEC C), time_t is defined like this:
>
>      typedef __time_t time_t;
>
> and __time_t is defined like this:
>
>      typedef unsigned long int __time_t;

Ok, so unsigned isn't as uncommon as I thought.  Apparently
(http://mail-index.netbsd.org/port-alpha/1996/07/10/0000.html):

        "time_t" is defined by ANSI/ISO 9899-1990 (7.12.1) as an "arithmetic
        type capable of representing times".

        Not only does the standard *not* say how big time_t is, it doesn't
        even say if it is signed or unsigned. And the definition of "arithmetic
        type" includes floats too.

> To represent time as a 64-bit blob, one could very well have this:
>
>      typedef struct { unsigned long t1, t2; } time_t;

The above reference says that this is impossible, but a "long long" or an
"int64" if the compiler supports it should be okay.

> That's why I'm asking you to tell me what problems you have with
> time_t.  It may be that some of the OpenSSL code does incorrect
> assumptions about time_t (for example assumes that it's a long), and
> therefore behaves incorrectly and should be corrected.

Since I'm using the MSVC++ /W3 /WX options (max warnings, treat warnings as
errors), the following two numbered lines in x509_vfy.c are giving errors:
             time_t offset;
        807: offset= -offset;
        813: X509_time_adj(&atm,-offset*60, cmp_time);

> I will simply *not* change time_t to long in OpenSSL.  That's going
> backwards.

Fair enough, I agree, but in this instance I think it's the right change
since the second parameter of X509_time_adj is a long.

> It doesn't make much sense to run VC from Cygwin either, or does it?

No, not from within a bash shell, though it could be done except for running
the batch files for the tests.  Since I have Cygwin installed and have it's
/bin directory in the Windows path, I use Cygwin's perl.  I'm sure this
isn't an unusual setup for anyone who uses Cygwin.  Yeah, maybe it just
makes it sound confusing to mention any of this :-)

> Anyway, I'm sorry for the harsch notes.  I think you've done a great
> job doing this Windows CE port.

No problem, no offence taken, I too want the code to be right.  Thanks for
all of your work to get these changes in.

Regards,

Steven

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to