Opened 7 years ago

Closed 6 years ago

#832 closed defect (fixed)

RouterAddress expiration field assumed zero, can't be used

Reported by: zzz Owned by: zzz
Priority: minor Milestone: 0.9.6
Component: api/general Version: 0.9.3
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

In 0.9.3 we removed storage of the unused expiration field to save 8 bytes. This means any future use will cause RI signature verification to fail as it is assumed to be zero always. Either restore it so we may use it some day, or document that we can't ever use it.


<orion> Something I noticed about the implementation of the RouterInfo? verifier: If you explicitly set an expiration date on your RouterAddress?, the signature verification will fail.
<orion> This is because, as pointed out by the spec: "Expiration is currently unused, always null (all zeroes))"
<orion> More specifically, getBytes is simply returning all zeroes for the expiration.
<orion> If in the future we want to use an expiration time, older clients will refuse the RouterInfo? when it is sent via DatabaseStore?.
<orion> Just something to note for the future.

Subtickets

Change History (1)

comment:1 Changed 6 years ago by zzz

Milestone: 0.9.50.9.6
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.