I maintain that unsigned time_t does not actually exist, and that time_t is signed everywhere that matters. Further, we probably have all kinds of assumptions in our code that it is signed. So let's remove the "support" for unsigned time_t, since it probably wouldn't work anyway.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
We've also warned about this since 0.2.5.1-alpha, and nobody has complained.
It turns out that OpenVMS has had an unsigned time_t for a while, but afaik nobody builds Tor on OpenVMS. Signed time_t remains as a compile-time option there anyway.
See branch "bug18184" in my public repository.
Trac: Priority: Medium to Low Severity: Normal to Minor Status: accepted to needs_review
I'm trying build tor for QNX, and met this errors when run configures.
"You have an unsigned time_t; Tor does not support that. Please tell the Tor developers about your interesting platform."
And QNX is using a unsigned 32-bit/64-bit number for time_t.
. The time_t data type is an unsigned 32-bit number, which extends this range for many applications through 2106. The kernel itself uses unsigned 64-bit numbers to count the nanoseconds since January 1970, and so can handle dates through 2554.
I've opened a new ticket (#21735 (moved)) for this. There's more to do here than just reverting the merge: We'd need to actually go through all our uses of time_t, and make sure that they don't rely on time_t being signed. Even though tor used to allow you to try to compile that way, we're pretty sure it never actually worked. More info on that ticket.