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

hyperledger / fabric-x-orderer / 40630736208
85%

Build:
DEFAULT BRANCH: main
Ran 28 Oct 2026 04:23AM UTC
Jobs 1
Files 217
Run time 1min
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

26 Oct 2026 10:07AM UTC coverage: 84.768% (-0.04%) from 84.809%
40630736208

push

github

web-flow
requestfilter: verify the TxID of every request (#1330)

* requestfilter: verify the TxID of every request (#1151)

Nothing checked the TxID of a client request, so a client could submit
a TX with an empty or arbitrary TxID. That lets junk reach the
committer, and, since consensus deduplicates config requests by the
TxID of their CONFIG_UPDATE, lets a client reuse another client's TxID
to get its config update dropped as a duplicate.

The sig filter now requires a non-empty nonce and a channel header TxID
equal to protoutil.ComputeTxID(nonce, creator). The check runs before,
and regardless of, client signature verification, for data and config
requests alike, on the router, the batcher and the consenter. Follower
consenters also check the TxID of a leader-proposed config request and
of its CONFIG_UPDATE.

The test envelope helpers now set a valid TxID, and
PrepareUnsignedEnvelope computes the data size from the marshaled
header sizes instead of a hard-coded threshold, which was already off
by one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Yoav Tock <TOCK@il.ibm.com>

* requestfilter: address review of the TxID check

Follower consenters now verify a leader-proposed config envelope and its
LastUpdate with the consenter's sig filter, instead of only checking
their TxIDs. The LastUpdate's signature was never checked on that path,
since ProposeConfigUpdate only evaluates the admins' ConfigSignatures, so
a Byzantine leader could put another client's creator, nonce and TxID on
a config update and have that client's update dropped as a duplicate.

The TxID check returns constant errors, and rejects a TxID of the wrong
length before calling protoutil.CheckTxID, so a rejected request does
not echo its unbounded TxID into errors and logs. A SigFilter benchmark
measures the check with client signature verification off.

The perf, signed and config update test helpers use a random nonce, so
each envelope gets a unique TxID, as a comm... (continued)

75 of 79 new or added lines in 4 files covered. (94.94%)

100 existing lines in 11 files now uncovered.

18526 of 21855 relevant lines covered (84.77%)

49122.08 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
89.29
0.0% testutil/tx/tx_utils.go

Coverage Regressions

Lines Coverage ∆ File
32
80.33
0.0% config/local_config.go
14
93.07
0.0% node/consensus/consensus_builder.go
14
89.29
0.0% testutil/tx/tx_utils.go
9
70.59
0.0% node/consensus/configrequest/config_request_validator.go
8
83.06
-1.86% common/ledger/blkstorage/blockfile_mgr.go
6
75.0
0.0% node/consensus/state/config_request.go
5
89.11
-4.95% node/batcher/primary_req_connector.go
4
94.67
0.0% common/requestfilter/sigfilter.go
4
83.16
-2.04% node/delivery/deliver_client.go
3
90.57
0.0% node/comm/deliver.go
1
98.9
-1.1% node/batcher/requests_inspector_verifier.go
Jobs
ID Job ID Ran Files Coverage
1 40630736208.1 28 Oct 2026 04:23AM UTC 217
84.77
GitHub Action Run
Source Files on build 40630736208
  • Tree
  • List 217
  • Changed 9
  • Source Changed 0
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 1aecbdf1 on github
  • Prev Build on main (#40448413661)
  • 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