mirror of
https://github.com/amidaware/rmmagent.git
synced 2026-04-26 06:45:48 +03:00
[PR #68] [CLOSED] Implement separate mesh binary + .msh installation for macOS #72
Labels
No labels
bug
bug
enhancement
fixed
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/rmmagent#72
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/amidaware/rmmagent/pull/68
Author: @PeetMcK
Created: 11/13/2025
Status: ❌ Closed
Base:
develop← Head:develop📝 Commits (6)
5c8dc0fadd private, bin and .DS_Store1652df4Add macOS code signing and notarization pipelinec767d39Implement separate mesh binary + .msh installation for macOSefe5d7bMerge pull request #1 from PeetMcK/tacticalrmmAgent-Discovery81503b0Remove macOS build scripts and templates95616ecAdd SHA256 verification and dynamic filename discovery for macOS mesh agent📊 Changes
7 files changed (+136 additions, -143 deletions)
View changed files
📝
.gitignore(+3 -0)➖
agent/embed_darwin.go(+0 -24)➖
agent/embed_stub.go(+0 -17)📝
agent/install.go(+133 -6)➖
agent/scripts/macos_fix_mesh_install.sh(+0 -90)📝
agent/svc.go(+0 -4)📝
main.go(+0 -2)📄 Description
Summary
Replace single mesh binary download with tar.gz archive containing both mesh binary and .msh configuration file for macOS installations, with SHA256 verification for security.
This enables proper installation of a signed
meshagenton macOS using the--copy-mshflag instead of embedded configuration, preventing invalid code signatures and gatekeeper blocking.FixVenturaMesh()was removed, as it does not fix anything about the meshagent on macOS and actively breaks any fixes.Changes
Agent Installation (
agent/install.go)For macOS (darwin) only:
meshagentbinary andmeshagent.mshconfig filemeshagent -install --no-embedded="1" --copy-msh="1" --installPath=/opt/tacticalmeshWindows unchanged: Continues to use single binary download approach
Ventura Fix Removal
Removed the macOS Ventura workaround that renamed LaunchAgent plists, as it's no longer needed with proper .msh file usage:
agent/embed_darwin.go- Ventura fix implementationagent/embed_stub.go- Non-macOS stubagent/scripts/macos_fix_mesh_install.sh- Fix scriptmacventurafixCLI mode frommain.goFixVenturaMesh()call fromagent/svc.goService Cleanup (
agent/svc.go)Technical Details
Installation Flow:
trmm{random}.tar.gzto temp directorytrmm{random}_extracted_{random}/containingmeshagent{hash},meshagent{hash}.msh, andSHA256SUMSmeshagent{hash} -install --no-embedded="1" --copy-msh="1" --installPath=/opt/tacticalmeshSecurity Improvements:
Server-Side Changes Required:
This requires corresponding changes in the tacticalrmm server to deliver the tar.gz archive with SHA256SUMS. See: https://github.com/amidaware/tacticalrmm/pull/2344
Files Changed
agent/install.go- Modified Darwin mesh installation logic with verification (+99 lines, -9 lines)agent/svc.go- Removed FixVenturaMesh() auto-execution (-4 lines)main.go- Removed macventurafix CLI mode (-2 lines)embed_darwin.go,embed_stub.go,macos_fix_mesh_install.sh(-143 lines)Net change: ~-60 lines (cleaner, more secure code)
Benefits
meshagent --copy-msh="1"install. The meshagent must not be named meshagent for--copy-msh="1"to succeed]Testing
Related PRs
🤖 Generated with Claude Code. Read, tested, and edited by a human — I promise.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.