• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

enbility / ship-go
93%

Build:
DEFAULT BRANCH: dev
Repo Added 14 Jan 2024 07:40PM UTC
Files 45
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH dev
branch: dev
CHANGE BRANCH
x
Reset
  • dev
  • auto_accept_stalls_ship
  • bug/attempt_reconnect_when_device_reappears
  • bug/autoAcceptAnnouncement
  • bug/avahi_dead_lock
  • bugfix/race-condition
  • feat/dynamicMdnsInterfaceManagement
  • feature/action-update
  • feature/analysis-docs
  • feature/bugfixes
  • feature/hub-improvements
  • feature/json-parsing-improvements
  • feature/maintenance
  • feature/mdns-restart-improvements
  • feature/register-improvements
  • feature/shippairing-2
  • feature/tls-improvements
  • fix/hub-connection-bugs
  • fix/hub_connections_test
  • fix/pairing-issues-and-trust-dupes
  • fix_issue_49
  • main
  • safer-connection-attempt-running-handling
  • update-to-zeroconf-v3

18 May 2026 11:30AM UTC coverage: 92.952% (-0.2%) from 93.112%
26030742651

push

github

web-flow
Fix pairing issues and trust duplications (#82)

Fixes pairing-flow correctness issues and eliminates duplicate
ServiceDetails entries that were causing already-registered devices to
be rejected.

##  Hub — duplicate service entries
- Introduce mergeOrAddService, a single registry primitive that matches
existing entries by the union of non-empty SKI / Fingerprint / ShipID,
detects cross-identifier conflicts, and folds matches into a canonical
(trust-preferred) entry under muxReg.
- Replaces per-call ad-hoc patching across mDNS, TLS handshake, pairing,
and registration paths.
- foldInto copies missing identifiers, ORs Trusted/AutoAccept, upgrades
PairingType to AddCu if either side has it, and takes IPv4 if missing.
- ServiceForIdentifier* now prefers a trusted match on collision
(defence against split state from persistence rehydration).
- Behavioural change: an identifier conflict in ServeHTTP now closes the
connection (safeClose) instead of silently creating a parallel entry.

##  Pairing — trust transfer on addCu replacement
- Untrust the prior devZ on every successful addCu-request whose
fingerprint differs, regardless of whether the SHIP ID matches.
- Per Pairing TS §4.3.1.b.i and §10.3, the prior
same-vs-different-ShipID branching was suppressing untrust+remove for
same-SHIP-ID cert rotation (SHIP §12.2.1), causing the merge to abort on
fingerprint conflict and trust to never propagate.

##  mDNS — TXT record validation
  - Make TXT key handling RFC 6763 case-insensitive.

##  Misc
- Reduce SHIP Pairing ring buffer from 100 → 10, the spec-recommended
minimum (Pairing TS §11.2).
- Restore activation of addCu Replacement timer in
HandleConnectionClosed — accidentally removed previously.

220 of 247 new or added lines in 10 files covered. (89.07%)

7 existing lines in 4 files now uncovered.

5803 of 6243 relevant lines covered (92.95%)

15404.57 hits per line

Relevant lines Covered
Build:
Build:
6243 RELEVANT LINES 5803 COVERED LINES
15404.57 HITS PER LINE
Source Files on dev
  • Tree
  • List 45
  • Changed 10
  • Source Changed 10
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
26030742651 dev Fix pairing issues and trust duplications (#82) Fixes pairing-flow correctness issues and eliminates duplicate ServiceDetails entries that were causing already-registered devices to be rejected. ## Hub — duplicate service entries - Introduce me... push 18 May 2026 11:33AM UTC web-flow github
92.95
25171174759 dev Fix calls to ServiceFor* in hub_connections_unit_test (#81) push 30 Apr 2026 02:34PM UTC web-flow github
93.11
24991636226 dev SHIP Pairing Implementation and API redesign (#66) Implements SHIP Pairing Service specification including automatic device pairing, HMAC-based authentication, and Device Replacement Timing Logic for AddCu devices. BREAKING CHANGE: ServiceIdenti... push 27 Apr 2026 11:14AM UTC web-flow github
93.04
24657161027 dev Hub.SetAutoAccept stalls SHIP stack (#76) Hello, this pull request tries to solve issue #75 . Please have a look and tell me what you think. Thank you very much. push 20 Apr 2026 08:48AM UTC web-flow github
94.71
24188525287 dev Disable TLS session resumption to prevent trust bypass (#71) (#72) Resumed TLS sessions skip VerifyPeerCertificate, allowing a device whose trust was removed to re-establish a TLS connection via a cached session ticket. Disable session tickets on... push 09 Apr 2026 11:50AM UTC web-flow github
94.81
24188290012 dev feat: add dynamic mDNS interface management with runtime monitoring (#61) ## Summary Implements dynamic mDNS interface management that gracefully handles network interface availability changes at runtime. Fixes #62 **Note**: While the primary f... push 09 Apr 2026 11:44AM UTC web-flow github
94.78
23893306287 dev Fix Hub lifecycle bugs: double-start guard and restart panic (#70) - Add duplicate-start guard in Hub.Start() returning ErrHubAlreadyStarted - Reset lifecycle state (hasStarted, serverStarted, serverStartErr) in Shutdown() - Capture serverStarted... push 02 Apr 2026 09:18AM UTC web-flow github
95.06
23892701812 dev [mDNS] Fix handling of mdns service shutdown and restart (#69) When using the zeroconf provider, after stopping and restarting the service (calling Start/Shutdown/Start on the same MdnsManager), mDNS announcements would become invisible to other ... push 02 Apr 2026 09:03AM UTC web-flow github
95.1
21584233075 dev Fix SetAutoAccept not working correctly (#63) Adds missing mdns unannounce on auto accept state changed Fixes #60 push 02 Feb 2026 09:21AM UTC web-flow github
95.14
18464140295 dev Critical security and other bugfixes (#58) - security: fix SKI validation & add fingerprint - Calculate SKI from public key using ECDH conversion method - Validate certificate SKI matches cryptographically derived value - Prevent certificat... push 13 Oct 2025 11:24AM UTC web-flow github
95.02
See All Builds (229)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc