Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ All notable changes to this project will be documented in this file.
- `doublezero connect Multicast` with N groups is one transaction in the common case (all groups sharing one publisher/subscriber flag pair fold into the create, skipping the activation wait); `doublezero multicast subscribe|unsubscribe|publish|unpublish`, `doublezero user subscribe`, and the role-strip cleanup in `user delete`/`request-ban` batch their role changes by flag pair, chunked to 16 groups per transaction. Failure reporting in the multicast verbs is per batch: a failed batch lists every group it carried, since none was applied. (malbeclabs/infra#2114)
- `doublezero feed update|delete --force-unsubscribe` strips each user's orphaned groups with one batched role update per user (chunked to 16 groups per transaction) instead of one transaction per group. (malbeclabs/infra#2114)
- `doublezero connect` obtains an RFC-27 IP ownership proof from the verification service and attaches it to user creation; the address the service observes is authoritative, and where it disagrees with the daemon's own discovery `connect` stops and names both. A verifier that is unreachable, unconfigured, or that declines is reported and the connect continues without a proof, which the program accepts until `require-ip-ownership-proof` is set; `--ip-verifier-url` or `DZ_IP_VERIFIER_URL` points at one, and no environment has a built-in default yet. (#4201)
- Client
- From-source builds per `client/INSTALL.md` now succeed. `client/Makefile` defaulted `CARGO_FLAGS` to empty, so `make build` produced `target/debug/doublezero` while `make install` copied from `target/release/doublezero`, which never existed; `CARGO_FLAGS` now defaults to `--release` so the two agree. `make install` also called Debian-only `addgroup`/`adduser`, which are absent on RHEL/Rocky/Amazon Linux (in the documented support matrix), failing with `addgroup: command not found`; it now uses the portable `groupadd`/`useradd` with equivalent flags. (#4175)
- Serviceability
- `UpdateMulticastGroupRoles` (58) and `CreateSubscribeUser` (59) accept additional writable MulticastGroup accounts (counted by a new borsh-incremental `extra_group_count: u8` arg), so subscribing a user to N groups is one atomic transaction instead of N: one signature/fee, and a failure rolls back every group. Each batch member is authorized exactly like a single-group call (per-group allowlist checks; in `CreateSubscribeUser`, EdgeSeat extras are coverage-checked against the single passed feed and the seat still ticks once per user per feed, so a seat tick can no longer outlive a partial subscription). Duplicate group accounts in a batch are rejected. Old encodings without the count byte decode as 0, so existing clients are unaffected. Deploy ordering (RFC-1): the program must deploy to all clusters before any client that emits batches — an old program would misread the extra group accounts as the trailing optional accounts. (malbeclabs/infra#2114)
- SDK
Expand Down
6 changes: 3 additions & 3 deletions client/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ PREFIX:=github.com/malbeclabs/doublezero/smartcontract
BUILD:=`git rev-parse --short HEAD`
LDFLAGS=
CLIPPY_FLAGS=-- -Dclippy::all -D warnings
CARGO_FLAGS?=
CARGO_FLAGS?=--release

.PHONY: test
test:
Expand Down Expand Up @@ -30,10 +30,10 @@ SYSTEMD_DIR ?= /usr/lib/systemd/system
.PHONY: install
install:
@if ! getent group doublezero >/dev/null 2>&1; then \
addgroup --system doublezero; \
groupadd --system doublezero; \
fi
@if ! getent passwd doublezero >/dev/null 2>&1; then \
adduser --system --ingroup doublezero --no-create-home --home /nonexistent doublezero; \
useradd --system --gid doublezero --no-create-home --home-dir /nonexistent --shell /usr/sbin/nologin doublezero; \
Comment thread
martinsander00 marked this conversation as resolved.
Outdated
fi
install -d $(DESTDIR)$(BINDIR)
install -m 755 ../target/release/doublezero $(DESTDIR)$(BINDIR)/doublezero
Expand Down
Loading