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

hyperledger-labs / fabric-smart-client / 33736099224
86%

Build:
DEFAULT BRANCH: main
Ran 03 Sep 2026 08:58AM UTC
Jobs 19
Files 514
Run time 3min
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

03 Sep 2026 08:56AM UTC coverage: 84.741% (+0.03%) from 84.707%
33736099224

push

github

web-flow
fix(fabric): validate discovered peer identities against the channel's MSPs (#1703)

A discovery response is supplied by whichever peer answered the query. The
envelope signature checks made while parsing it prove only that each envelope was
signed by the key in the identity shipped alongside it, which a malicious
responder satisfies with an identity no CA ever issued - and the TLS roots that
would authenticate the peer came from that same response.

Validate every peer at toDiscoveredPeers, the one point where a discovery
response becomes a driver.DiscoveredPeer: deserialize and validate the identity
against the channel configuration's MSPs, cross-check the MSP ID the response
claimed against the identity's own, and take TLS roots from the channel
configuration instead. An unrecognized peer is dropped so that one rogue entry
cannot deny service - except where the request cannot be satisfied without it,
so an implicit collection left with no endorsers is reported and names the
organization.

The channel configuration arrives asynchronously, so Service.WithConfigWait
gives the chaincode manager a view whose reading accessors wait for the first one
instead of failing for that window, reusing ChannelConfig.DiscoveryTimeout() as
the budget. The committer keeps the non-waiting view: it installs the
configuration and must not wait on it. deferred.Holder gains WaitForValue for
this, releasing parked callers on a value, a refusal or a reset, so an
unavailable or refused configuration is always reported as such and never as
peers failing validation.

MembershipConstructor now returns *membership.Service instead of
driver.MembershipService, which makes the trust anchor discovery needs a
compile-time requirement.

Closes #1623.

Signed-off-by: Said Altury <Said.Altury@ibm.com>
Signed-off-by: Marcus Brandenburger <bur@zurich.ibm.com>
Co-authored-by: Marcus Brandenburger <bur@zurich.ibm.com>

166 of 174 new or added lines in 5 files covered. (95.4%)

10 existing lines in 4 files now uncovered.

31471 of 37138 relevant lines covered (84.74%)

3293.23 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
94.17
-5.83% platform/common/utils/deferred/holder.go
2
92.74
1.14% platform/fabric/core/generic/chaincode/discovery.go

Coverage Regressions

Lines Coverage ∆ File
5
85.75
-1.19% platform/view/services/comm/host/websocket/ws/multiplexed_provider.go
2
54.96
-1.53% platform/fabricx/core/channel/wrappers.go
2
93.75
-1.04% platform/fabricx/core/channel/config/monitor.go
1
97.83
-0.31% platform/fabricx/core/finality/nlm.go
Jobs
ID Job ID Ran Files Coverage
1 itest-fabric-iou - 33736099224.1 03 Sep 2026 09:06AM UTC 468
41.47
GitHub Action Run
2 itest-fabric-iouhsm - 33736099224.2 03 Sep 2026 09:05AM UTC 468
40.64
GitHub Action Run
3 itest-fabricx-simple - 33736099224.3 03 Sep 2026 08:59AM UTC 485
28.12
GitHub Action Run
4 itest-fabricx-multiendorsement - 33736099224.4 03 Sep 2026 08:59AM UTC 485
28.8
GitHub Action Run
5 itest-fabric-stoprestart - 33736099224.5 03 Sep 2026 09:03AM UTC 458
32.12
GitHub Action Run
6 itest-fsc-stoprestart - 33736099224.6 03 Sep 2026 09:01AM UTC 258
32.37
GitHub Action Run
7 itest-fabric-runtimeconfig - 33736099224.7 03 Sep 2026 09:02AM UTC 468
39.14
GitHub Action Run
8 itest-fabric-configupdate - 33736099224.8 03 Sep 2026 09:02AM UTC 468
38.94
GitHub Action Run
9 utest-postgres - 33736099224.9 03 Sep 2026 09:00AM UTC 505
10.25
GitHub Action Run
10 itest-fabric-events - 33736099224.10 03 Sep 2026 09:02AM UTC 463
29.15
GitHub Action Run
11 itest-fabricx-deployment - 33736099224.11 03 Sep 2026 08:59AM UTC 485
28.78
GitHub Action Run
12 itest-fabric-atsa - 33736099224.12 03 Sep 2026 09:05AM UTC 458
45.11
GitHub Action Run
13 itest-fabric-atsachaincode - 33736099224.13 03 Sep 2026 09:02AM UTC 463
31.82
GitHub Action Run
14 itest-fabricx-iou - 33736099224.14 03 Sep 2026 08:59AM UTC 487
29.19
GitHub Action Run
15 utest - 33736099224.15 03 Sep 2026 09:03AM UTC 505
77.88
GitHub Action Run
16 itest-fsc-signedpingpong - 33736099224.16 03 Sep 2026 08:59AM UTC 256
30.46
GitHub Action Run
17 itest-fabric-twonets - 33736099224.17 03 Sep 2026 09:02AM UTC 458
30.13
GitHub Action Run
18 itest-fabricx-atsa - 33736099224.18 03 Sep 2026 08:58AM UTC 487
30.96
GitHub Action Run
19 itest-fsc-pingpong - 33736099224.19 03 Sep 2026 09:05AM UTC 262
33.43
GitHub Action Run
Source Files on build 33736099224
  • Tree
  • List 514
  • Changed 39
  • Source Changed 6
  • Coverage Changed 38
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33736099224
  • c3cea6b9 on github
  • Prev Build on main (#33733870469)
  • Next Build on main (#33848347611)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc