aboutsummaryrefslogtreecommitdiff
path: root/src/common/util.h
Commit message (Expand)AuthorAge
* Add a simple integer-ceiling-division macro before we get it wrongNick Mathewson2010-09-14
* Fix some issues in rate-limiting noticed by SebastianNick Mathewson2010-08-31
* Add a generic rate-limited log mechanism, and use it in a few places•••Incidentally fixes bug 1042. Nick Mathewson2010-08-18
* Merge remote branch 'origin/maint-0.2.1'•••Conflicts: src/common/test.h src/or/test.c Nick Mathewson2010-02-27
|\
| * Update Tor Project copyright yearsNick Mathewson2010-02-27
* | Refactor out the 'find string at start of any line' logic.•••We do this in too many places throughout the code; it's time to start clamping down. Also, refactor Karsten's patch to use strchr-then-strndup, rather than malloc-then-strlcpy-then-strchr-then-clear. Nick Mathewson2009-12-17
* | Refactor a bit so that it is safe to include math.h, and mostly not needed.Nick Mathewson2009-12-15
* | Code to generate, store, and parse microdescriptors and consensuses.•••The consensus documents are not signed properly, not served, and not exchanged yet. Nick Mathewson2009-10-15
* | Add a couple of time helper functions.•••Also add rounding support to tv_mdiff(). Mike Perry2009-09-20
* | Revise parsing of time and memory units to handle spaces.•••When we added support for fractional units (like 1.5 MB) I broke support for giving units with no space (like 2MB). This patch should fix that. It also adds a propoer tor_parse_double(). Fix for bug 1076. Bugfix on 0.2.2.1-alpha. Nick Mathewson2009-08-31
* | Fix dirreq and cell stats on 32-bit architectures.•••When determining how long directory requests take or how long cells spend in queues, we were comparing timestamps on microsecond detail only to convert results to second or millisecond detail later on. But on 32-bit architectures this means that 2^31 microseconds only cover time differences of up to 36 minutes. Instead, compare timestamps on millisecond detail. Karsten Loesing2009-07-27
* | Two tweaks to exit-port statistics.•••Add two functions for round_to_next_multiple_of() for uint32_t and uint64_t. Avoid division in every step of the loop over all ports. Karsten Loesing2009-07-13
* | Merge commit 'origin/maint-0.2.1'Nick Mathewson2009-05-27
|\|
| * Spell-check Tor.Nick Mathewson2009-05-27
| * Update copyright to 2009.Karsten Loesing2009-05-04
* | Update copyright to 2009.Karsten Loesing2009-05-02
* | Command-line option to dump SHA1 digests of all source files.•••Now, when you call tor --digests, it dumps the SHA1 digest of each source file that Tor was built with. We support both 'sha1sum' and 'openssl sha1'. If the user is building from a tarball and they haven't edited anything, they don't need any program that calculates SHA1. If they _have_ modified a file but they don't have a program to calculate SHA1, we try to build so we do not output digests. Nick Mathewson2009-04-29
|/
* Add a simple locale-independent no-surprises sscanf replacement.•••tor_sscanf() only handles %u and %s for now, which will make it adequate to replace sscanf() for date/time/IP parsing. We want this to prevent attackers from constructing weirdly formed descriptors, cells, addresses, HTTP responses, etc, that validate under some locales but not others. svn:r18760 Nick Mathewson2009-03-03
* Remove svn $Id$s from our source, and remove tor --version --version.•••The subversion $Id$ fields made every commit force a rebuild of whatever file got committed. They were not actually useful for telling the version of Tor files in the wild. svn:r17867 Nick Mathewson2009-01-04
* Use a consistent naming standard for header file guard macros, taking care no...•••svn:r17805 Nick Mathewson2008-12-29
* Expose hex_decode_digit from util.c•••svn:r17706 Nick Mathewson2008-12-19
* Replace calls to time(NULL) that occur on the order of once per read, one per...•••svn:r17690 Nick Mathewson2008-12-18
* Remove some cargo-cult gcc hacks around tor_assert and predict_unlikely; inst...•••svn:r17597 Nick Mathewson2008-12-11
* make read_all and write_all return ssize_t.•••svn:r17194 Nick Mathewson2008-11-05
* Add a new memcmpstart to use instead of strcmpstart when the thing we are com...•••svn:r17187 Nick Mathewson2008-11-03
* Document some dmalloc stuff and some stupid C tricks.•••svn:r17161 Nick Mathewson2008-10-27
* r17358@pc-10-8-1-079: nickm | 2008-07-25 16:41:03 +0200••• Split out the address manipulation functions from compat and util: they were about 21% of the total of those, and spread out too much. svn:r16208 Nick Mathewson2008-07-25
* r17346@aud-055: nickm | 2008-07-24 15:37:19 +0200••• Make generic address manipulation functions work better. Switch address policy code to use tor_addr_t, so it can handle IPv6. That is a good place to start. svn:r16178 Nick Mathewson2008-07-24
* r14373@tombo: nickm | 2008-02-21 16:29:18 -0500••• Apply warnings about implicit 64-to-32 conversions; some from Sebastian Hahn; some not. svn:r13664 Nick Mathewson2008-02-21
* r18336@catbus: nickm | 2008-02-21 09:33:15 -0500••• Patch from Sebastian Hahn: remove obsolete timeval manipulation functions. svn:r13653 Nick Mathewson2008-02-21
* r14185@tombo: nickm | 2008-02-15 18:05:54 -0500••• Replace the hefty tor_strpartition with a simple function to replace its only (trivial) use. svn:r13532 Nick Mathewson2008-02-15
* Update some copyright notices: it is now 2008.•••svn:r13412 Nick Mathewson2008-02-07
* r17472@catbus: nickm | 2008-01-05 22:10:19 -0500••• Another test for the increasingly bad check-spaces style checker to check: #else\n#if is almost a sure sign of a failure to use #elif. Fortunately, we only did that 3 times. svn:r13039 Nick Mathewson2008-01-06
* r15786@tombo: nickm | 2008-01-02 01:11:51 -0500••• Push the strdups used for parsing configuration lines into parse_line_from_string(). This will make it easier to parse more complex value formats, which in turn will help fix bug 557 svn:r13020 Nick Mathewson2008-01-02
* r15691@tombo: nickm | 2007-12-25 18:13:54 -0500••• New, slightly esoteric function, tor_malloc_roundup(). While tor_malloc(x) allocates x bytes, tor_malloc_roundup(&x) allocates the same size of chunk it would use to store x bytes, and sets x to the usable size of that chunk. svn:r12981 Nick Mathewson2007-12-26
* clean up copyrights, and assign 2007 copyrights to The Tor Project, Inc•••svn:r12786 Roger Dingledine2007-12-12
* r16279@catbus: nickm | 2007-10-30 11:14:29 -0400••• Improved skew reporting: "You are 365 days in the duture" is more useful than "You are 525600 minutes in the future". Also, when we get something that proves we are at least an hour in the past, tell the controller "CLOCK_SKEW MIN_SKEW=-3600" rather than just "CLOCK_SKEW" svn:r12283 Nick Mathewson2007-10-30
* r14359@Kushana: nickm | 2007-09-08 15:07:17 -0400••• Add some generic skew-and-tolerance functions so we can handle time more sanely. svn:r11406 Nick Mathewson2007-09-08
* r14832@catbus: nickm | 2007-08-29 15:00:27 -0400••• Use (and debug) new file-writing functions in order to simplify code that formerly built big strings in RAM. svn:r11301 Nick Mathewson2007-08-29
* r14831@catbus: nickm | 2007-08-29 14:17:42 -0400••• Refactor write_chunks_to_file_impl: break out the "pick a temporary name if it makes sense, and open the right filename" logic and the "close the file and unlink or rename if necessary" logic. This will let us write big files in a smarter way than "Build a big string" or "make a list of chunks", once we get around to using it. svn:r11300 Nick Mathewson2007-08-29
* r14093@catbus: nickm | 2007-08-08 01:49:54 -0400••• Include fewer redundant headers; use the compiler search paths better. svn:r11060 Nick Mathewson2007-08-08
* r14091@catbus: nickm | 2007-08-08 01:13:17 -0400••• Fix an annoying warning on OpenBSD: only include malloc.h if we are using it. svn:r11059 Nick Mathewson2007-08-08
* r14024@catbus: nickm | 2007-07-30 14:13:58 -0400••• Glibc (and maybe others) define a mallinfo() that can be used to see how the platform malloc is acting inside. When we have it, dump its output on dumpmemusage(). svn:r10996 Nick Mathewson2007-07-30
* r13834@catbus: nickm | 2007-07-19 15:40:42 -0400••• Another patch from croup: drop support for address masks that do not correspond to bit prefixes. Nobody has used this for a while, and we have given warnings for a long time. svn:r10881 Nick Mathewson2007-07-19
* r13827@catbus: nickm | 2007-07-19 14:42:25 -0400••• Merge in some generic address manipulation code from croup. Needs some work. svn:r10880 Nick Mathewson2007-07-19
* r13788@catbus: nickm | 2007-07-16 14:26:25 -0400••• Patch from croup: rewrite the logic of get_next_token() to do the right thing with input that ends at weird places, or aligns with block boundaries after mmap. should fix bug 455. Needs fuzzing. svn:r10847 Nick Mathewson2007-07-16
* r13687@catbus: nickm | 2007-07-10 16:08:14 -0400••• Possible partial fix for bug 455: use eos logic everywhere. svn:r10786 Nick Mathewson2007-07-10
* r13477@catbus: nickm | 2007-06-17 14:22:03 -0400••• Sun CC likes to give warnings for the do { } while(0) construction for making statement-like macros. Define STMT_BEGIN/STMT_END macros that do the right thing, and use them everywhere. svn:r10645 Nick Mathewson2007-06-17
* r13154@catbus: nickm | 2007-06-02 11:26:44 -0400••• Server-side support for If-Modified-Since in HTTP requsts for v1 stuff, and for network-status documents. svn:r10451 Nick Mathewson2007-06-02
* r12955@catbus: nickm | 2007-05-25 13:17:30 -0400••• First bare stubs of ipv6 work: commit some (untested, hence doublessly broken) implementations of inet_ntop/pton for systems that lack them. svn:r10326 Nick Mathewson2007-05-25