Merge remote-tracking branch 'public/unsigned-time_t'

This commit is contained in:
Nick Mathewson 2013-03-20 10:53:07 -04:00
commit 63a42b38b1
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
o Minor bugfixes (portability):
- On the chance that somebody manages to build Tor on a
platform where time_t is unsigned, correct the way that
microdesc_add_to_cache handles negative time arguments. Fix for
bug 8042; bugfix on 0.2.3.1-alpha.
o Build improvements: o Build improvements:
- Warn if building on a platform with an unsigned time_t: there - Warn if building on a platform with an unsigned time_t: there
are too many places where Tor currently assumes that time_t can are too many places where Tor currently assumes that time_t can

View File

@ -135,7 +135,7 @@ get_microdesc_cache(void)
* ending at <b>eos</b>, and store them in <b>cache</b>. If <b>no_save</b>, * ending at <b>eos</b>, and store them in <b>cache</b>. If <b>no_save</b>,
* mark them as non-writable to disk. If <b>where</b> is SAVED_IN_CACHE, * mark them as non-writable to disk. If <b>where</b> is SAVED_IN_CACHE,
* leave their bodies as pointers to the mmap'd cache. If where is * leave their bodies as pointers to the mmap'd cache. If where is
* <b>SAVED_NOWHERE</b>, do not allow annotations. If listed_at is positive, * <b>SAVED_NOWHERE</b>, do not allow annotations. If listed_at is not -1,
* set the last_listed field of every microdesc to listed_at. If * set the last_listed field of every microdesc to listed_at. If
* requested_digests is non-null, then it contains a list of digests we mean * requested_digests is non-null, then it contains a list of digests we mean
* to allow, so we should reject any non-requested microdesc with a different * to allow, so we should reject any non-requested microdesc with a different
@ -155,7 +155,7 @@ microdescs_add_to_cache(microdesc_cache_t *cache,
descriptors = microdescs_parse_from_string(s, eos, descriptors = microdescs_parse_from_string(s, eos,
allow_annotations, allow_annotations,
copy_body); copy_body);
if (listed_at > 0) { if (listed_at != (time_t)-1) {
SMARTLIST_FOREACH(descriptors, microdesc_t *, md, SMARTLIST_FOREACH(descriptors, microdesc_t *, md,
md->last_listed = listed_at); md->last_listed = listed_at);
} }