* Sync up to Seattle's r7220 (use cachedadvertise/advertisepipe instead of AdvertiseObject, give more verbose errors, random.random_shuffle instead of random.random_sample) * Make errors in constructing the stack, contacting the forwarder etc. raise exceptions instead of silently retrying or even falling back to non-NatPunch'ed operation. ``Explicit is better than implicit,''  and in our case implicity resulted in listening on the private IP address (and never getting incoming connections from the public Internet), and lots of DuplicateTupleErrors.
* Sync up to Seattle's r7220 (use cachedadvertise/advertisepipe instead of AdvertiseObject, give more verbose errors, random.random_shuffle instead of random.random_sample)
* Make errors in constructing the stack, contacting the forwarder etc. raise exceptions instead of silently retrying or even falling back to non-NatPunch'ed operation. ``Explicit is better than implicit,''  and in our case implicity resulted in listening on the private IP address (and never getting incoming connections from the public Internet), and lots of DuplicateTupleErrors.

SeattleTestbed/affix,BuildSeash/affix,BuildSeash/affix-repo