summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-02-19Refactor storing of measured_bw versus Unmeasured=1.Nick Mathewson
This patch moves the measured_bw field and the has_measured_bw field into vote_routerstatus_t, since only votes have 'Measured=XX' set on their weight line. I also added a new bw_is_unmeasured flag to routerstatus_t to represent the Unmeasured=1 flag on a w line. Previously, I was using has_measured_bw for this, which was quite incorrect: has_measured_bw means that the measured_bw field is set, and it's probably a mistake to have it serve double duty as meaning that 'baandwidth' represents a measured value. While making this change,I also found a harmless but stupid bug in dirserv_read_measured_bandwidths: It assumes that it's getting a smartlist of routerstatus_t, when really it's getting a smartlist of vote_routerstatus_t. C's struct layout rules mean that we could never actually get an error because of that, but it's still quite incorrect. I fixed that, and in the process needed to add two more sorting and searching helpers. Finally, I made the Unmeasured=1 flag get parsed. We don't use it for anything yet, but someday we might. This isn't complete yet -- the new 2286 unit test doesn't build.
2013-02-19Add unit test for unmeasured bandwidth clipping in consensusAndrea Shepard
2013-02-19Refactor v3_networkstatus test to allow reuse of test for measuredbwAndrea Shepard
2013-02-19Note some annoyinc copy-and-paste codeNick Mathewson
2013-02-19Tweak consensus method 17 based on arma's commentsNick Mathewson
Instead of capping whenever a router has fewer than 3 measurements, we cap whenever a router has fewer than 3 measurements *AND* there are at least 3 authorities publishing measured bandwidths. We also generate bandwidth lines with a new "Unmeasured=1" flag, meaning that we didn't have enough observations for a node to use measured bandwidth values in the authority's input, whether we capped it or not.
2013-02-05New consensus method: clip the maximum votable unmeasured bwNick Mathewson
If we're deciding on a node's bandwidth based on "Bandwidth=" declarations, clip it to "20" or to the maxunmeasuredbw parameter, if it's voted on. This adds a new consensus method. This is "part A" of bug 2286
2013-02-05Merge remote-tracking branch 'public/bug8151'Nick Mathewson
2013-02-04bump to 0.2.4.10-alpha-devRoger Dingledine
2013-02-04bump to 0.2.4.10-alphator-0.2.4.10-alphaRoger Dingledine
2013-02-04fold in changes for 0.2.4.10-alphaRoger Dingledine
2013-02-04Include a flag-thresholds line in each vote to describe flag cutoffsNick Mathewson
Implements ticket 8151.
2013-02-04Merge branch 'authdir_quick_fix'Nick Mathewson
2013-02-04Merge branch 'bug8146_etc'Nick Mathewson
2013-02-04Quick fix on 5956 for authoritiesNick Mathewson
Authorities don't set is_possible_guard on node_t, so they were never deciding that they could build enough paths. This is a quick and dirty fix. Bug not in any released version of Tor
2013-02-04Merge branch 'bug8153'Nick Mathewson
2013-02-04Reinstate some fixes/tweaks from 6e4a4002Nick Mathewson
These seem to have gotten conflicted out of existence while mike was working on path bias stuff. Thanks to sysrqb for collecting these in a handy patch.
2013-02-04Fix a warning when building with --disable-curve25519Nick Mathewson
It appears that the code for 7291 gave an unused-value warning when built with --disable-curve25519.
2013-02-04Fix compilation with --disable-curve25519 optionNick Mathewson
The fix is to move the two functions to format/parse base64 curve25519 public keys into a new "crypto_format.c" file. I could have put them in crypto.c, but that's a big file worth splitting anyway. Fixes bug 8153; bugfix on 0.2.4.8-alpha where I did the fix for 7869.
2013-02-04When we mark a node as a sybil, mark it down and reset its uptime to 0Nick Mathewson
This prevents bug 8147, where such nodes would accrue points towards Guard, Fast, HSDir, and so on. Fixes bug 8147.
2013-02-04Ignore tiny bandwidths entirely when computing thresholdsNick Mathewson
Another bug 8145 fix.
2013-02-04Increase the minimum value for the Fast flag to 4096.Nick Mathewson
Fix for 8145.
2013-02-04Refactor should-count-towards-thresholds test into new functionNick Mathewson
2013-02-04When computing performance thresholds, ignore omitted-as-sybil nodes.Nick Mathewson
Fixes bug 8146.
2013-02-04Whoops: evdns_log, not tor_log, in src/ext/eventdns.cNick Mathewson
2013-02-01Merge remote-tracking branch 'public/feature7706'Nick Mathewson
2013-02-01Merge remote-tracking branch 'public/bug7708_023_v3_squashed'Nick Mathewson
2013-02-01Clarify documentation of connection_finished_flushingNick Mathewson
2013-02-01Fix serious breakage in connection_handle_write_implNick Mathewson
When we first implemented TLS, we assumed in conneciton_handle_write that a TOR_TLS_WANT_WRITE from flush_buf_tls meant that nothing had been written. But when we moved our buffers to a ring buffer implementation back in 0.1.0.5-rc (!), we broke that invariant: it's possible that some bytes have been written but nothing. That's bad. It means that if we do a sequence of TLS writes that ends with a WANTWRITE, we don't notice that we flushed any bytes, and we don't (I think) decrement buckets. Fixes bug 7708; bugfix on 0.1.0.5-rc
2013-02-01Merge branch 'ticket8081_squashed'Nick Mathewson
2013-02-01Fix a couple of warnings on the 8081 branch.Nick Mathewson
2013-02-01Add EntryGuardPathUseBias to state file keyword list.Mike Perry
2013-02-01Increment an informational counter for use failed state.Mike Perry
This informational counter is probably now redundant, but might as well keep it consistent I guess.
2013-02-01Rename and relocate the bw weight scale param getter.Mike Perry
It had nothing to do with circuit build times.
2013-02-01Fix a log typo found by sysrqb.Mike Perry
2013-02-01Bounds-check path bias rate parameters.Mike Perry
The other remaining parameters don't really need range checks.
2013-02-01Refactor code that rolls back the use stateMike Perry
Also document it better. Mention this refactoring in the comments for the path state machine.
2013-02-01Refactor and rename pathbias rate evaluation.Mike Perry
2013-02-01Refactor the scaling parameter fetching into a single function.Mike Perry
Also, deprecate the torrc options for the scaling values. It's unlikely anyone but developers will ever tweak them, even if we provided a single ratio value.
2013-02-01Mark entry guard state dirty everwhere the pathbias code touches it.Mike Perry
2013-02-01Add a tristate to guard against unexpected circ purpose transitionsMike Perry
2013-02-01Clarify state transition and related pathbias commentsMike Perry
2013-02-01Merge branch 'rename_log_7599'Nick Mathewson
2013-02-01Help us track bug 8093:Roger Dingledine
Improve the log message when "Bug/attack: unexpected sendme cell from client" occurs.
2013-02-01fix wide lines from tor_log renameNick Mathewson
2013-02-01Fix a silly mistake in the tor_mathlog() documentation. Give it a unit test.Nick Mathewson
2013-02-01Remove old wrapper code and defines for keeping log() and log(3) apartNick Mathewson
This is the non-automated portion of bug 7599.
2013-02-01Rename log() to tor_log() for loggingNick Mathewson
This is meant to avoid conflict with the built-in log() function in math.h. It resolves ticket 7599. First reported by dhill. This was generated with the following perl script: #!/usr/bin/perl -w -i -p s/\blog\(LOG_(ERR|WARN|NOTICE|INFO|DEBUG)\s*,\s*/log_\L$1\(/g; s/\blog\(/tor_log\(/g;
2013-01-31typo in crypto_curve25519.c comment, spotted by rransomNick Mathewson
2013-01-31whitespace fixNick Mathewson
2013-01-31Merge branch 'double-0-check'Nick Mathewson