58 Commits

Author SHA1 Message Date
Jesse Peterson
da16c24036 switch to micromdm/plist and update jessepeterson/cfgprofiles 2025-01-17 00:13:33 -08:00
Jesse Peterson
d442653826 Support verifying SHA-2 signatures on the machine_info signer (#989) 2024-04-30 12:15:14 -07:00
Jesse Peterson
af7ee9b30b Remove PayloadScope=System from enrollment profile. Resolves #766. 2024-01-12 11:46:10 -08:00
Jesse Peterson
9f3e04982e switch to smallstep/pkcs7 (#944) 2023-12-02 14:41:37 -08:00
Graham Gilbert
c4a1cd97ef Add endpoint for inspecting the MDM command queue (#895) 2023-07-11 18:07:42 -05:00
Kory Prince
f0dd6fe7c5 checkin: add flag to configure allowable time skew (#887) 2023-06-15 14:21:19 -07:00
Jesse Peterson
1f01f70dba Declarative Management hand-off (#882) 2023-05-02 08:54:04 -07:00
Kory Prince
1f93237863 Make sure errors are logged on mdm endpoints (#871) 2023-04-10 11:24:03 -07:00
Kory Prince
88e9b0c4b4 added SoftwareUpdateSettings to Settings command (Fixes #771) (#856) 2023-02-16 10:06:29 -08:00
hrgbcxd
1e49dc2585 Feature/add lom commands (#839) 2022-07-20 08:27:24 -07:00
Jesse Peterson
d556eb9880 Switch to using jessepeterson/cfgprofiles for profile generation (#827)
* Switch to using jessepeterson/cfgprofiles for profile generation
2022-07-18 12:40:09 -05:00
Ayush Sharma
96e15ff9f2 Added RefreshCellularPlans support (#809) 2022-03-19 14:25:15 -07:00
Kory Prince
1f44de09b5 Fix RotateFileVaultKey panics (#801)
* added test case for RotateFileVaultKey marshalling panics
* update plist library (fixes panics in RotateFileVaultKey command)
2022-03-03 13:42:45 -08:00
meta-github
7a6fff3bdc Add support for Priority in ScheduleOSUpdate. (#803)
Co-authored-by: Esser <j905960@v100wpxmk1uj4b7.v100dpk1.v100.intern>
2022-03-03 13:26:11 -08:00
Kory Prince
ba387818b0 Add fields to ScheduleOSUpdate command (#790) (#793) 2022-01-12 08:00:03 -08:00
Jesse Peterson
5daf4d1c84 Remove gogo/protobuf (#773) 2021-10-16 13:21:24 -07:00
Kory Prince
fcf1d185fc Bootstrap Token (#781)
* Partial implementation of Bootstrap Token
Fetching the token from the db and sending it back to the client when the client asks for it ie sends the GetBootstrapTokenRequest is not implemented

Also earlier code for Bootstrap Token from commit 58c3782 "mdm: add SetBootstrapToken command." is removed

* implements rest of the bootstrap token feature - micromdm now sends bootstrap token back to the client, when client requests it

* regenerate some proto files

* use original proto generator versions
    checkin.pb.go: golang/protobuf@v1.2.0
    mdm.pb.go: gogo/protobuf@v1.3.2
    device.pb.go: golang/protobuf@v1.0.0

* cleanup syntax

* use more idiomatic naming

* clean up BootstrapToken storage

* add GetBootstrapToken test

* remove extra newline

Co-authored-by: Jesse Peterson <jessepeterson@users.noreply.github.com>

* add doc comments

Co-authored-by: Ilkka Vanhatalo <ilkka.vanhatalo@helsinki.fi>
Co-authored-by: Jesse Peterson <jessepeterson@users.noreply.github.com>
2021-10-05 10:43:46 -07:00
Jesse Peterson
4e684a40d2 Refactor MDM service to return a payload from check-ins (#764)
* Refactor MDM service to return a payload from check-ins

* Documented public methods, add documentation to main service interface

* Remove interface-implementing comments
2021-07-01 16:13:39 -07:00
tomaswallentinus
1dfa0a8fd0 Added SetRecoveryLock support (#757) 2021-06-16 13:48:47 -07:00
Jesse Peterson
0ba759a5c1 protobuf updates (#742) 2021-06-09 15:55:32 -07:00
Jesse Peterson
4d5fbf5fd1 scep v2, Mozilla PKCS7 fork, cleanup (#737)
- Upgrade to micromdm/scep v2 & updated API usage
  - Use interfaces rather than concrete types in a few places
- Switch to Mozilla's PKCS7 fork (actually @omorsi's fork of that fork)
- Import order: stdlib, project/self, 3rd party
2021-06-09 15:44:58 -07:00
Damon Aw
0b2caa5b77 Add a golden path E2E test case for command_uuid (#756) 2021-06-03 14:45:59 -07:00
Damon Aw
b75a7575ce Allow command callers to specify Command UUID for idempotency (#754) 2021-06-03 10:08:48 -07:00
Kory Prince
876ce83dc9 Fix SetFirmwarePassword and VerifyFirmwarePassword parameters (#743) 2021-04-24 09:31:28 -07:00
Jesse Peterson
ef5d879d27 CircleCI→GitHub Actions (#740)
* CircleCI→GitHub Actions
* Fix gofmt files
2021-04-21 20:51:39 -07:00
choehn-signogy
07c518d7c2 enabling timezone setting (#719)
Co-authored-by: choehn <c.hoehn@videro.com>
2020-12-16 09:37:42 -05:00
Jesse Peterson
e01ef8a382 Clear a UDID's command queue during Authenticate Check-in (enrollment) (#692) 2020-07-20 22:25:06 -07:00
Dan Lamppa
18f5451d07 Corrected typo in encoding tag of auth.Model struct property. Corrected typo in comment. (#681)
Co-authored-by: Dan Lamppa <dan.lamppa@medtronic.com>
2020-07-07 18:29:31 -04:00
Jesse Peterson
2b6639093f Marshal InstallEnterpriseApplication embedded manifest (#669)
Marshal Assets of InstallEnterpriseApplication embedded manifest

Update to support SHA256, Metadata, and other related fields. Update tests to use and test for new fields.

Match JSON field names to the plist field names. The manifest field names don't follow typical CamelCase key names like normal Plists. It looks more like JSON. To avoid confusion just make them match. This makes it simpler to follow along with Apple's documentation when composing commands in JSON for the MicroMDM API. Otherwise we have to use our Go struct field names which are specific to us and nobody should need to figure that out (or really have to translate between the two). Update the test case to match.
2020-06-21 13:36:28 -04:00
Victor Vrantchan
39230bbdfe replace UUID dependency (#665)
replaced the satori/uuid package which was no longer maintained

Closes #664
2020-04-23 20:00:18 -04:00
Jesse Peterson
05683d49b0 Revert "Correct SCEP profile payload (#492)" (#652)
This reverts commit 2f2616e274.
2020-03-16 09:10:28 -07:00
tomaswallentinus
e2acfb977e Add EnableRemoteDesktop and DisableRemoteDesktop (#651)
Add ability to send EnableRemoteDesktop and DisableRemoteDesktop mdm-commands:
https://developer.apple.com/documentation/devicemanagement/enable_remote_desktop

Add test for EnableRemoteDesktop and DisableRemoteDesktop mdm-commands:
https://developer.apple.com/documentation/devicemanagement/enable_remote_desktop
2020-03-10 08:50:03 -04:00
Jesse Peterson
9e65297e46 dynamic SCEP challenge support (#642) 2020-02-20 16:51:17 -08:00
Victor Vrantchan
ea393e9804 add new values for AccountConfiguration (#627)
Updates the AccountConfiguration command with options for 10.15.
Had to update protobuf to a newer version too.
2019-11-26 15:01:49 -05:00
Victor Vrantchan
127955dc74 Support User Enrollment (#597)
In iOS 10.13/macOS 10.15 a new, BYOD specific enrollment type was added, called User Enrollment.
This enrollment type replaces the typical UDID field in checkin and acknowledge requests with a EnrollmentID field which is unique per each enrollment. One important aspect of this enrollment type is that no personally identifiable information is available to the MDM (UDID, SerialNumber).

The implementation implemented here adds the new EnrollmentID field where appropriate, and ensures that the device tables do not store the enrollment ID.

I will follow up this change set with one that allows listing/removing current enrollment IDs in a similar way that mdmctl get devices and mdmctl get users does.
2019-06-29 15:36:13 -07:00
Victor Vrantchan
58c37822c5 mdm: add SetBootstrapToken command. 2019-06-22 18:50:12 -04:00
Nikola Lukic
727b76eb99 Serialize PurchaseMethod when value is 0. (#592)
The zero value is a legacy option that is still useful for iOS, but the `omitempty` was ignoring zero values.
2019-06-11 10:04:28 -04:00
Allister Banks
1988c308e9 typo in acct config struct (#584)
/skip/set/
2019-03-29 08:28:52 -04:00
jenjac
8e0d722d61 Handle ActivationLockBypassCode Request (#578)
* add ActivationLockBypassCode Request

* Update mdm.pb.go

fixed typo

* Update mdm.pb.go

add Size method

* Update unmarshal_proto.go

remove pbc

* add api script for activation_lock_bypass_code

* update Changelog

* Simplify Code

I was able to simplify the code as ActivationLockBypassCode does not have any additional fields.

* Update command.go

Remove ActivationLockBypassCode struct as ActivationLockBypassCode does not include any extra fields.
2019-03-04 15:55:51 -05:00
Victor Vrantchan
276e5756af refactor blueprint with worker (#533)
Closes #495
2018-10-14 00:02:05 -04:00
Victor Vrantchan
1593659382 add proper logger to queue (#530) 2018-10-13 14:25:11 -04:00
Victor Vrantchan
8af0ef7bd1 Add support for the ApplicationConfiguration setting (#521)
The ApplicationConfiguration setting is implemented by storing the values for Configuration as a plist, and then marshaling it into the settings command as a dictionary.
2018-10-13 13:54:43 -04:00
Danny Lockard
f45a0469f0 Some cleanup based on goreportcard linters (#517) 2018-10-02 14:54:10 -04:00
Jesse Peterson
d150d031e8 UDID/device certificate authentication (v.2) (#429)
udid-cert auth v.2. refactor udidauth and cert verification to be MDM service middleware
2018-09-11 20:25:49 -07:00
Jesse Peterson
72487f8c1e Remove SCEP CA certificate from both being stored on disk and being included in the enrollment profile (#490)
The SCEP CA certificate is not needed to establish trust between the client and MDM server. Thus including it in the enrollment profile is unnecessary. Separately, and since we don't need it, we can clean up the enrollment service a little by not reading the certificate from disk. Finally — just don't write it out to disk at all. Its usefulness on disk (for the sake of being in its own file) is debatable.
2018-08-23 10:20:47 -04:00
Scott Knight
2f2616e274 Correct SCEP profile payload (#492)
Both KeyType and KeyUsage were being defined with spaces in the name.
According to the spec this is incorrect. The clients were most likely just
ignoring these fields and everything still worked but it makes sense to correct
the profile.
2018-08-23 10:20:16 -04:00
Victor Vrantchan
463fbbdeb2 decode URL params into webhook event (#467)
Fixes #462
2018-07-21 18:13:56 +00:00
Victor Vrantchan
8ab19a93e8 add support for InstallEnterpriseApplication command (#452) 2018-07-09 22:48:10 -04:00
Scott Knight
05344403a5 Add software update command examples (#442)
Add support for the OSUpdateStatus command
Add example Software Update API commands
2018-06-21 08:07:56 -04:00
Victor Vrantchan
41bb645688 dependency update
Update everything to latest and cleans up unused dependencies.
2018-06-10 06:46:16 -07:00