summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-08prop224: Add service replay cacheDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Support INTRODUCE2 cell replay cacheDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Support legacy INTRODUCE2 cellDavid Goulet
Also rename some function to follow a bit more the naming convention in that file. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Handle service RENDEZVOUS1 cellDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Establish rendezvous circuit for serviceDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Handle service INTRODUCE2 cellDavid Goulet
At this commit, launching rendezvous circuit is not implemented, only a placeholder. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Add helper function to lookup HS objectsDavid Goulet
Add this helper function that can lookup and return all the needed object from a circuit identifier. It is a pattern we do often so make it nicer and avoid duplicating it everywhere. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Handle service INTRO_ESTABLISHED cellDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Circuit has opened and ESTABLISH_INTRO cellDavid Goulet
Add the entry point from the circuit subsystem of "circuit has opened" which is for all type of hidden service circuits. For the introduction point, this commit actually adds the support for handling those circuits when opened and sending ESTABLISH_INTRO on a circuit. Rendevzou point circuit aren't supported yet at this commit. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Introduction circuit creationDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Service v3 descriptor creation and logicDavid Goulet
This commit adds the functionality for a service to build its descriptor. Also, a global call to build all descriptors for all services is added to the service scheduled events. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Implement subcredential creationDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Add descriptor overlap mode functionGeorge Kadianakis
The function has been added but not used except for the unit tests. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: Scheduled events for serviceDavid Goulet
Add the main loop entry point to the HS service subsystem. It is run every second and make sure that all services are in their quiescent state after that which means valid descriptors, all needed circuits opened and latest descriptors have been uploaded. For now, only v2 is supported and placeholders for v3 actions for that main loop callback. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08prop224: API for the creation of blinded keysDavid Goulet
Add a function for both the client and service side that is building a blinded key from a keypair (service) and from a public key (client). Those two functions uses the current time period information to build the key. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-08-08hs: Implement constructor for hs_desc_intro_point_tDavid Goulet
Add a new and free function for hs_desc_intro_point_t so the service can use them to setup those objects properly. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-25prop224: Add onion key to service descriptor intro pointDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-25prop224: Add the introduction point onion key to descriptorDavid Goulet
A prop224 descriptor was missing the onion key for an introduction point which is needed to extend to it by the client. Closes #22979 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-25prop224: Helper to dup a link_specifier_t objectDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-25prop224: Update hs identifier circuitDavid Goulet
Remove the legacy intro point key because both service and client only uses the ed25519 key even though the intro point chosen is a legacy one. This also adds the CLIENT_PK key that is needed for the ntor handshake. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-25trunnel: Add prop224 RENDEZVOUS1 cell definitionDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-25fix wordo in commentRoger Dingledine
2017-07-24Fix remaining cases of hs_config failures without af_unixNick Mathewson
2017-07-24Fix hs_config unit test on systems without unix socketsNick Mathewson
Bugfix on 418059dd96f5f427eceffff1daeb2a2f6c4adbeb; jenkins found this.
2017-07-24Rename the hybrid_encrypt/decrypt functions; label them as dangerousNick Mathewson
We need to keep these around for TAP and old-style hidden services, but they're obsolete, and we shouldn't encourage anyone to use them. So I've added "obsolete" to their names, and a comment explaining what the problem is. Closes ticket 23026.
2017-07-24Improve comment about why we disable TLS compression.Nick Mathewson
Closes bug 22964. Based on Teor's replacement there, but tries to put the comment in a more logical place, and explain why we're actually disabling compression in the first place.
2017-07-24test: Remove buggy unit test in test_hs_serviceDavid Goulet
There isn't much of a point of this buggy test afterall to add twice the same service object but with a different key which ultinately can end up failing the test because 1/N_BUCKETS of probability that we end up to put the service in the same bucket. Fixes #23023 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-23fix whitespace issueRoger Dingledine
2017-07-14Merge branch 'bug17750_029_squashed'Nick Mathewson
2017-07-14Fix a signed integer overflow in dir/download_status_random_backoffNick Mathewson
Fix for 22924. Bugfix on 0.2.9.1-alpha when the test was introducd -- though it couldn't actually overflow until we fixed 17750. Additionally, this only seems to overflow on 32-bit, and only when the compiler doesn't re-order the (possibly dead) assignment out of the way. We ran into it on a 32-bit ubuntu trusty builder.
2017-07-14Fix 32-bit warnings in hs_common.cNick Mathewson
2017-07-14Merge branch 'maint-0.3.1'Nick Mathewson
2017-07-14Merge branch 'maint-0.3.0' into maint-0.3.1Nick Mathewson
2017-07-14Merge branch 'maint-0.2.9' into maint-0.3.0Nick Mathewson
2017-07-14Merge branch 'bug22916_027' into maint-0.2.9Nick Mathewson
2017-07-14Merge branch 'maint-0.3.1'Nick Mathewson
2017-07-14Merge branch 'maint-0.3.0' into maint-0.3.1Nick Mathewson
2017-07-14Merge branch 'bug22803_030' into maint-0.3.0Nick Mathewson
2017-07-13Fix compiler warnings with openssl-scrypt/libscrypt test on clangNick Mathewson
Clang didn't like that we were passing uint64_t values to an API that wanted uint32_t. GCC has either not cared, or has figured out that the values in question were safe to cast to uint32_t. Fixes bug22916; bugfix on 0.2.7.2-alpha.
2017-07-13Merge remote-tracking branch 'dgoulet/ticket21979_032_04'Nick Mathewson
2017-07-13prop224: Fix clang warningsDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-13Merge remote-tracking branch 'isis/bug19476'Nick Mathewson
2017-07-13Merge branch 'maint-0.3.1'Nick Mathewson
2017-07-13Merge branch 'fewer-diffs' into maint-0.3.1Nick Mathewson
2017-07-13Merge branch 'maint-0.3.1'Nick Mathewson
2017-07-13Merge branch 'bug22520_031' into maint-0.3.1Nick Mathewson
2017-07-13Merge branch 'maint-0.3.1'Nick Mathewson
2017-07-13Merge remote-tracking branch 'isis/bug22830_0.3.1' into maint-0.3.1Nick Mathewson
2017-07-13prop224: Move service version into config objectDavid Goulet
It makes more sense to have the version in the configuration object of the service because it is afterall a torrc option (HiddenServiceVersion). Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-07-13prop224: Use the service config object when configuringDavid Goulet
Both configuration function now takes the service config object instead of the service itself. Signed-off-by: David Goulet <dgoulet@torproject.org>