| Commit message (Collapse) | Author | Age |
... | |
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The next series of commits begins addressing the issue that we're
currently including the complete or.h file in all of our source files.
To change that, we're splitting function definitions into new header
files (one header file per source file).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Right now it says "552 internal error" because there's no way for
getinfo_helper_*() countries to specify an error message. This
patch changes the getinfo_helper_*() interface, and makes most of the
getinfo helpers give useful error messages in response to failures.
This should prevent recurrences of bug 1699, where a missing GeoIPFile
line in the torrc made GETINFO ip-to-county/* fail in a "not obvious
how to fix" way.
|
| |
| |
| |
| |
| | |
This appeases some versions of MSVC, which don't like it when you
have preprocessor commands inside a set of macro arguments.
|
| | |
|
|\ \ |
|
| | | |
|
|\ \ \
| |/ /
|/| /
| |/
| |
| | |
Conflicts:
src/common/test.h
src/or/test.c
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We accidentally freed the internal buffer for bridge stats when we
were writing the bridge stats file or honoring a control port
request for said data. Change the interfaces for
geoip_get_bridge_stats* to prevent these problems, and remove the
offending free/add a tor_strdup.
Fixes bug 1208.
|
| |
| |
| |
| |
| |
| |
| | |
if we try to read it to publish stats and it's not there,
that means there are no stats to publish.
reported by swisstorexit.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Fix statistics on client numbers by country as seen by bridges that were
broken in 0.2.2.1-alpha. Also switch to reporting full 24-hour intervals
instead of variable 12-to-48-hour intervals.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Avoid memmoving 0 bytes which might lead to compiler warnings.
- Don't require relays to be entry node AND bridge at the same to time to
record clients.
- Fix a memory leak when writing dirreq-stats.
- Don't say in the stats files that measurement intervals are twice as long
as they really are.
- Reduce minimum observation time for requests to 12 hours, or we might
never record usage.
- Clear exit stats correctly after writing them, or we accumulate old stats
over time.
- Reset interval start for buffer stats, too.
|
| |
| |
| |
| | |
Big thanks to nickm and arma for helping me with this!
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Refactor geoip.c by moving duplicate code into rotate_request_period().
- Don't leak memory when cleaning up cell queues.
- Make sure that exit_(streams|bytes_(read|written)) are initialized in all
places accessing these arrays.
- Read only the last block from *stats files and ensure that its timestamp
is not more than 25 hours in the past and not more than 1 hour in the
future.
- Stop truncating the last character when reading *stats files.
The only thing that's left now is to avoid reading whole *stats files into
memory.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This patch avoids a bunch of allocations, and avoids using unallocated
memory.
|
|/ /
| |
| |
| | |
Spotted by Coverity Scan.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Changes to directory request statistics:
- Rename GEOIP statistics to DIRREQ statistics, because they now include
more than only GeoIP-based statistics, whereas other statistics are
GeoIP-dependent, too.
- Rename output file from geoip-stats to dirreq-stats.
- Add new config option DirReqStatistics that is required to measure
directory request statistics.
- Clean up ChangeLog.
Also ensure that entry guards statistics have access to a local GeoIP
database.
|
| |
| |
| |
| |
| | |
- Use common prefixes DIRREQ_* and dirreq_*.
- Replace enums in structs with bitfields.
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
src/or/geoip.c
|
| | | |
|
| | | |
|
|\ \ \ |
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
|
| | | | |
|
|/ / / |
|
|/ / |
|
|\| |
|
| | |
|
| |
| |
| |
| | |
Ignore connections two hours after switching from bridge to relay or back.
|
| | |
|
| | |
|