* Add consoleuser and stamp default profile on known username in migration
* Refactor consoleuser to verify Id, fix seats on linux and default stamp
* Add default profile claim
* Add disable auto-claim of default profile and always fail close
* Add disable auto-claim flag to migration
* Adding timeout to console user on Linux and close library load on darwin
* Fixed failed close test
* Close both Dlopen for darwin
* Replace RegisterFunc with purego.Dlsym to avoid possible panic
* Fix freebsd tty enumeration
* Fix active profile migration logic and add test
* Log defaultClaimDisabled error once
* Guard against panicking console user lookup.
* Fix merge conflict
* Fix broken tests
* Implement OwnsProfile on Server
* (WIP) List profiles based on ownership by Identity
* (WIP) Migrate active_profile
* Fix status and list profiles
* Add profile stamping as active migration
* Add one-shot migration
* Only default profile fail open
* Use restricted write for config json
* Fix stale server config after stamp
* Fix OwnsProfile fallback to active profile
* Fix config concurrent reload during OwnsProfile check
* Move known check to inside stamp owner
* Update client/internal/profilemanager/service.go
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
* Recover from dup active profiles that cannot be resolved with username.
* Add test for already owned profile during migration
* Improve stamping of fields in the config
* Apply suggestion from @cubic-dev-ai[bot]
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
* Fix codespell and test comment
---------
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Declare the runtime dependencies, generate the changelog from git tags with
chglog at release time, and ship LICENSE, README.md and an example
/etc/sysconfig/netbird as %license, %doc and %config(noreplace). The unit
generated by "netbird service install" already reads that path via
EnvironmentFile, so post_install.sh is unchanged.
AGENTS.md forbids attribution trailers, but a rule an agent has to go and read loses to the instruction it is handed every turn. CLAUDE.md now imports AGENTS.md so it is always in context; a commit-msg hook (via make setup-hooks) refuses the trailers at commit time; a CodeRabbit pre-merge check flags a PR whose description or commits carry them. The check reports rather than blocks, since the repository keeps CodeRabbit's request-changes workflow off; turning that on is a separate, repository-wide decision.
Every curl invocation in the install script that follows redirects now passes
`--proto` and `--proto-redir` set to https only, so neither the initial request
nor any hop in the redirect chain can drop to plaintext. This matters most for
the macOS .pkg download, whose URL is itself the result of a redirect
resolution, and for the release tarballs that get moved into the install dir as
root.
The protocol set lives in a single `PROTO_HTTPS` variable rather than being
repeated at each call site, and every expansion is quoted — the variable holds
one option value, not a list of flags.
The two call sites without `-L` (the release metadata lookups) are left alone:
they do not follow redirects and their URLs are https literals.
Verified against every URL the script fetches on curl 7.29.0 (CentOS 7),
7.68.0, 7.76.1, 7.88.1 and 8.14.1; both options have existed since curl 7.20.0.
Plaintext http:// is refused on all of them.