Skip to content

Releases: int08h/roughenough

Version 1.2.1-draft5

28 Nov 04:09
Compare
Choose a tag to compare
  • Fixes runtime crash (see #33) when client socket wasn't ready to be written.
  • Introduces statistics to track failed send attempts

Version 1.2.0-draft-5

02 Apr 22:12
Compare
Choose a tag to compare
Version 1.2.0-draft-5 Pre-release
Pre-release

Thank you contributors!

  • Add support for IPv6 in roughtime-client. Contributed by @unrelentingtech #28.

  • Document how to set the time on FreeBSD. By @unrelentingtech in #29

  • Support base64 encoded public keys in roughtime-client. Contributed by @lachesis in #31.

  • Added -d/--dump to roughenough-client that will pretty-print text representations of the messages it sends and receives.

  • Roughenough (mostly) implements the Roughtime protocol as specified in the draft-5 RFC.

    Important differences from the draft RFC

    1. Roughenough uses SHA-512/256 to compute the Merkle tree. Draft-5 of the RFC uses a bespoke 32-byte SHA-512 prefix without rationale or justification. Given that standardized 32-byte SHA-512/256 exists and is already implemented widely, I'm sticking with it while I advocate for the RFC to move away from the custom prefix and adopt SHA-512/256.
    2. The server and client send/expect RFC protocol version 1 (VER tag is 0x00000001) instead of the draft's suggested 0x80000000 + version.
  • The Roughenough server operates both the "classic" protocol and the RFC compliant protocol at the same time on a single serving port (the 8-byte magic frame value added by the RFC is used to distinguish classic vs. rfc requests).

    The new -p/--protocol flag of roughenough-client controls the protocol version to use in requests (0 = classic protocol, 1 = RFC protocol). The default is 0 the "classic" protocol, until the RFC is finalized:

    # send RFC protocol Roughtime requests
    $ roughenough-client -p 1 roughtime.int08h.com 2002
    

Update of major dependencies

18 May 20:01
Compare
Choose a tag to compare

Overdue housekeeping to update to latest dependencies:

  • 8f088f1 Overdue Ring update 0.13 -> 0.16
  • 43b1de3 GCK KMS updated to the latest dependencies
  • 7ff2e53 AWS KMS also updated to latest dependencies

Output local or UTC time

21 Mar 18:43
Compare
Choose a tag to compare

Version 1.1.8

New feature:

  • 407f12d client: output local time by default, add -z/--zulu for UTC

Housekeeping:

  • 02212e2 Switch to std::time and drop use of 'time' crate
  • d42db50 Upgrade several dependencies to latest versions
  • e13d6fd Remove deprecated std::error::Error::description calls
  • 32f11aa Update Dockerfile to Rust 1.42

Improved client output

12 Oct 23:27
Compare
Choose a tag to compare

Version 1.1.7

  • Improved options for client output thanks to @zicklag (f1f834e).

    By default the client now outputs just the time reported by the queried server. The -v or --verbose flag will print additional information such as the response's midpoint and radius. -j or --json outputs responses in JSON format instead.

    Non-response text output is written to standard error to enable verbose output while redirecting the response(s) to a file or pipe like so:

    $ roughenough-client -v roughtime.int08h.com 2002 > time.txt
    Requesting time from: "roughtime.int08h.com":2002
    Received time from server: midpoint="Oct 08 2019 18:40:38", radius=1000000, verified=No (merkle_index=0)
    
    $ cat time.txt
    Oct 08 2019 18:40:38
    

Clippy fixes; dependencies updated; Dockerfile to Rust 1.38

28 Sep 18:03
Compare
Choose a tag to compare

Version 1.1.6

  • Fix several Clippy items (266f1ad)
  • Update to latest Rusoto (6ff01af)
  • Update to latest google-cloudkms (a0165c0)
  • Update Dockerfile to Rust 1.38 (a14c2e8)

Fuzzing related changes; container build; better error message

11 May 14:28
Compare
Choose a tag to compare

Version 1.1.5

  • Improved error messages (3841942)
  • Update fuzzer server target to sync with roughenough-fuzz
  • Add Dockerfile to create a server container

Implement Roughtime ecosystem response mangling

09 Mar 13:20
81ebd9e
Compare
Choose a tag to compare

Version 1.1.4

Add decryption to KMS command-line tool

02 Feb 02:05
fc463f8
Compare
Choose a tag to compare

Version 1.1.3

  • Add decrypt option to roughenough-kms

Now with tracking of client requests

26 Jan 13:41
9515a56
Compare
Choose a tag to compare

Version 1.1.2

  • Add client request statistics tracking.
  • Clean-up and simplification of server inner loop.
  • Rust 2018 edition required to compile.