Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • Legacy
  • TracTrac
  • Issues
  • #17000

Closed (moved)
Open
Opened Sep 07, 2015 by Karsten Loesing@karsten

Allow to distinguish between relay and bridge descriptors

So far, we did not distinguish between relay and bridge descriptors in the case of server descriptors and extra-info descriptors. This works just fine, because we tried hard to re-use existing keywords in relay descriptors for sanitized contents in bridge descriptors to facilitate parsing.

However, some applications process both relay and bridge descriptors and need to add workarounds for distinguishing between the two. For example, they couldn't just read the contents of CollecTor's recent/ directory, because they wouldn't be able to know whether a ServerDescriptor instance was published by a relay or bridge. Or even worse, if an application expects a given directory to contain relay descriptors and that directory suddenly contains bridge descriptors, that application wouldn't notice.

I pushed branch relay-bridge-descs to my public repository which attempts to fix this. Please review.

This change adds new interfaces to distinguish between relay and bridge descriptors. It still supports the existing two interfaces that don't make this distinction. Those two interfaces are not deprecated, because it's okay if an application does not care whether a descriptor was published by a relay or bridge.

This change is in parts based on a discussion with atagar. Thanks!

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#17000