aboutsummaryrefslogtreecommitdiff
path: root/src/or/directory.c
Commit message (Collapse)AuthorAge
* Report HTTP reasons to directory clients. (Also, fix format on new TODO items)Nick Mathewson2005-03-22
| | | | svn:r3811
* tell me the address of the guy who's trying to attack my dirserverRoger Dingledine2005-03-22
| | | | svn:r3799
* and forward-port the missing spaceRoger Dingledine2005-03-19
| | | | svn:r3789
* Turn addr_policy_compare from a tristate to a quadstate; this should help ↵Nick Mathewson2005-03-19
| | | | | | address our "Ah, you allow 1.2.3.4:80. You are a good choice for google.com" problem. svn:r3786
* Fix some more obscure compiler warningsNick Mathewson2005-03-14
| | | | svn:r3758
* Checkpoint in-progress fixes:Roger Dingledine2005-02-27
| | | | | | | | | | | | | Add 'testing' circuit purpose, for reachability testing. Notice when our IP changes, and reset stats. Try to pull down a directory via Tor to see if our DirPort is working. Try to extend a circuit back to us to see if our ORPort is working. Only publish a descriptor if they're both reachable. These mostly work, and I'd better get them in before I cause conflicts. svn:r3703
* Implement more control spec functionalityNick Mathewson2005-02-25
| | | | | | | | | | | | | | | | | | - Mapaddress - Postdescriptor - GetInfo on descriptors Required changes elsewhere: - Keep the most recent running_routers_t in the routerlist_t. That way we can learn about new routers and remember whether we were last told that they were up or down. Also enables more simplifications. - Keep the signed descriptor inside routerinfo_t. This makes descriptor_entry_t in dirservers.c unneeded. - Rename AddressMap (the verb) to MapAddress. Keep AddressMap as a noun. - Check addresses for plausibility before mapping them. svn:r3696
* add support for CONNECTing through https proxies.Roger Dingledine2005-02-24
| | | | | | | not sure if it works. i don't have an https proxy. svn:r3682
* Improve log message on unrecognized encoding to indicate that we can cope.Nick Mathewson2005-02-23
| | | | svn:r3676
* Add more functions to free things to help dmalloc allong.Nick Mathewson2005-02-10
| | | | svn:r3613
* when a client asks us for a dir mirror and we don't have one,Roger Dingledine2005-02-10
| | | | | | | launch an attempt to get a fresh one. svn:r3609
* Re-normalize whitespace; make "make check-spaces" happyNick Mathewson2005-02-05
| | | | svn:r3566
* forward-port the logic skew and double-free thingRoger Dingledine2005-02-04
| | | | svn:r3549
* define TOR_FRAGILE if you want tor to give you a core whenRoger Dingledine2005-02-01
| | | | | | | | something goes wrong. this should only be used by people actively tracking bugs. svn:r3487
* give a better log message when we don't have a good mirror ofRoger Dingledine2005-01-30
| | | | | | | the directory yet and somebody asks for it. svn:r3464
* if we fetch the dir from a mirror that has a wildly skewedRoger Dingledine2005-01-29
| | | | | | | | | | | | clock, then don't bother checking recommended-versions: it will just make us sad. as a side effect, people running obsolete versions and whose clocks are wildly skewed will not be auto-shut-down. but they will still get warns about their clock skew. svn:r3459
* distinguish between "well-formed and rejected" and "not wellRoger Dingledine2005-01-29
| | | | | | | formed", when parsing server descriptors. svn:r3458
* accept LDAP (389/tcp) and LDAPS (636/tcp) in default exit policyRoger Dingledine2005-01-29
| | | | svn:r3457
* fwd-port win32 isprint fixNick Mathewson2005-01-22
| | | | svn:r3410
* clean a couple of messagesNick Mathewson2005-01-21
| | | | svn:r3401
* special case so we don't yell when an empty http body doesn't specify aRoger Dingledine2005-01-21
| | | | | | | content-encoding svn:r3397
* if we get an incredibly skewed timestamp from a dirserver mirror thatRoger Dingledine2005-01-21
| | | | | | | | isn't a verified OR, don't complain very loudly -- it's probably him that's wrong. svn:r3395
* Have reason string for serverdesc post requests contain actual serverdesc ↵Nick Mathewson2005-01-20
| | | | | | status. Also fix return values of dirserv_add_descriptor to work as advertised. svn:r3391
* start to fix http status stuff, more work neededRoger Dingledine2005-01-20
| | | | svn:r3387
* Give better reason phrases in HTTP status lines. Start resolving task #67. ↵Nick Mathewson2005-01-20
| | | | | | (Messages still need to be better.) svn:r3386
* Handle unavailable hidden services better. We try each intro pointRoger Dingledine2005-01-19
| | | | | | | | | | until none are left, then we try to refetch the descriptor. If it's the same one we had before, then close streams right then. Whenever a new stream arrives, even if it's right after, optimistically try refetching the descriptor, just in case. svn:r3379
* Add unittests for compression detection. Make all rendezvous descriptors ↵Nick Mathewson2005-01-19
| | | | | | "plausible". svn:r3375
* Workaround for webservers that lie about Content-Encoding: Tor now tries to ↵Nick Mathewson2005-01-19
| | | | | | autodetect compressed directories and compression itself. (resolves bug 65) svn:r3374
* Make Tor use Niels Provos's libevent instead of it's currentNick Mathewson2005-01-12
| | | | | | | | | | | | poll-but-sometimes-select mess. This will let us use faster async cores (like epoll, kpoll, and /dev/poll), and hopefully work better on Windows too. There are some fairly nasty changes to main.c here; this will almost certainly break something. But hey, that's what alphas are for. svn:r3341
* Annotate circuits w/ whether they aim to contain high uptime nodes and/orRoger Dingledine2005-01-12
| | | | | | | | | | | | | | | | | high capacity nodes. When building circuits, choose appropriate nodes. New config option LongLivedPorts to indicate application streams that will want high uptime circuits. When attaching a stream to a circuit, pay attention to its requirements. This means that every single node in an intro rend circuit, not just the last one, will have a minimum uptime. Boost the min uptime from an hour to 24 hours. svn:r3339
* if you're a server and the auth dirservers are down, go to any otherRoger Dingledine2005-01-10
| | | | | | | | server. only give up hope on network reachability when no other servers are reachable either. svn:r3335
* when we haven't fetched a directory yet, or the last time weRoger Dingledine2005-01-07
| | | | | | | | | | | | tried they were all unreachable, assume we are not connected to the network. when an application request comes in during this state, be optimistic and assume we just reconnected. fetch a new directory and if it works, begin making circuits. svn:r3327
* new config option DirAllowPrivateAddresses for authdirservers.Roger Dingledine2005-01-06
| | | | | | | | now by default they refuse router descriptors that have non-IP or private-IP addresses. svn:r3321
* Fix a fun bug: do not rewrite a cached directory back to the cache; ↵Nick Mathewson2005-01-06
| | | | | | otherwise we will think it is recent and not fetch a newer one. svn:r3319
* forward-port the fix for the compiler warningRoger Dingledine2005-01-04
| | | | svn:r3273
* Log when we retry a directory connectionNick Mathewson2005-01-03
| | | | svn:r3258
* Use correct logic to decide whether there are more directory servers to retry.Nick Mathewson2005-01-03
| | | | svn:r3257
* Split mark-dir-failed-and-retry logic into separate function; make it retry ↵Nick Mathewson2005-01-03
| | | | | | runningrouters as well as directory fetches; note that the do-we-need-to-give-up test is wrong. svn:r3256
* bugfix: if a server uploads a descriptor that's unapproved, actuallyRoger Dingledine2005-01-03
| | | | | | | tell him so. svn:r3243
* when a dirserver causes you to give a warn, mention which dirserver it wasRoger Dingledine2005-01-01
| | | | svn:r3234
* clean up logging,Roger Dingledine2004-12-13
| | | | | | | | | make it clearer which warns are bugs, make the control log event match its specification, point out a bug in how we deal with failure when renewing the tls context. svn:r3138
* Solaris CC freaks out if isspace and friends get anything other than an int. ↵Nick Mathewson2004-12-08
| | | | | | We learned that, so we casted. But it is also a bad idea to cast a signed char to an int and expect things to work on win32. Now we cast to unsigned char, then to int, then pass to isspace. Ug svn:r3120
* New circuit building strategy: keep a list of ports that we've used in ↵Roger Dingledine2004-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | the past 6 hours, and always try to have 2 circuits open or on the way that will handle each such port. (We can extend this to include addresses if exit policies shift to require that.) Seed us with port 80 so web browsers won't complain that Tor is "slow to start up". This was necessary because our old circuit building strategy just involved counting circuits, and as time went by we would build up a big pile of circuits that had peculiar exit policies (e.g. only exit to 9001-9100) which would take up space in the circuit pile but never get used. Fix router_compare_addr_to_addr_policy: it was not treating a port of * as always matching, so we were picking reject *:* nodes as exit nodes too. If you haven't used a clean circuit in an hour, throw it away, just to be on the safe side. This means after 6 hours a totally unused Tor client will have no circuits open. svn:r3078
* Add function to check that addr_policy_t is okay; change struct ↵Nick Mathewson2004-12-04
| | | | | | addr_policy_t to addr_policy_t. svn:r3070
* Suggestion from weasel: Make tor --version --version dump the cvs Id of ↵Nick Mathewson2004-11-29
| | | | | | every file. svn:r3019
* Fetch cached running-routers from servers that serve it (that is, ↵Nick Mathewson2004-11-29
| | | | | | authdirservers, and servers running 0.0.9rc5-cvs or later.) svn:r3018
* After implementing a feature, remember to disable the error message you used ↵Nick Mathewson2004-11-29
| | | | | | to get when requesting it. svn:r3013
* wrong is ok, and right is fine, but in between is apparentlyRoger Dingledine2004-11-28
| | | | | | | totally unacceptable to me. svn:r3005
* Normalize space: add one between every control keyword and control clause.Nick Mathewson2004-11-28
| | | | svn:r3003
* remove emacs droppings, since nick says he doesn't need them anymoreRoger Dingledine2004-11-26
| | | | svn:r2989