ios_config_profile 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +9 -0
  3. data/.gitignore +35 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +602 -0
  6. data/.simplecov +4 -0
  7. data/CHANGELOG.md +67 -0
  8. data/CODE_OF_CONDUCT.md +13 -0
  9. data/Gemfile +5 -0
  10. data/LICENSE +661 -0
  11. data/README.md +15 -0
  12. data/Rakefile +5 -0
  13. data/ios_config_profile.gemspec +28 -0
  14. data/lib/ios_config_profile.rb +8 -0
  15. data/lib/ios_config_profile/basic_payload.rb +31 -0
  16. data/lib/ios_config_profile/command_payload.rb +24 -0
  17. data/lib/ios_config_profile/content/install_application_payload.rb +23 -0
  18. data/lib/ios_config_profile/content/install_book_payload.rb +23 -0
  19. data/lib/ios_config_profile/content/install_doc_payload.rb +27 -0
  20. data/lib/ios_config_profile/content/install_market_app_payload.rb +23 -0
  21. data/lib/ios_config_profile/content/installed_application_list_payload.rb +17 -0
  22. data/lib/ios_config_profile/content/remove_application_payload.rb +22 -0
  23. data/lib/ios_config_profile/content/remove_book_payload.rb +23 -0
  24. data/lib/ios_config_profile/content/remove_doc_payload.rb +23 -0
  25. data/lib/ios_config_profile/content/web_clip_payload.rb +38 -0
  26. data/lib/ios_config_profile/device/app_lock_payload.rb +33 -0
  27. data/lib/ios_config_profile/device/clear_passcode_payload.rb +24 -0
  28. data/lib/ios_config_profile/device/dep_payload.rb +40 -0
  29. data/lib/ios_config_profile/device/device_information_payload.rb +69 -0
  30. data/lib/ios_config_profile/device/enrollment_payload.rb +25 -0
  31. data/lib/ios_config_profile/device/erase_device_payload.rb +18 -0
  32. data/lib/ios_config_profile/device/install_profile_payload.rb +22 -0
  33. data/lib/ios_config_profile/device/lock_device_payload.rb +17 -0
  34. data/lib/ios_config_profile/device/mdm_payload.rb +40 -0
  35. data/lib/ios_config_profile/device/remove_profile_payload.rb +22 -0
  36. data/lib/ios_config_profile/device/restrictions_payload.rb +144 -0
  37. data/lib/ios_config_profile/device/scep_payload.rb +34 -0
  38. data/lib/ios_config_profile/device/security_payload.rb +32 -0
  39. data/lib/ios_config_profile/device/set_device_name_payload.rb +22 -0
  40. data/lib/ios_config_profile/device/vpn_payload.rb +86 -0
  41. data/lib/ios_config_profile/encrypted_payload.rb +14 -0
  42. data/lib/ios_config_profile/version.rb +4 -0
  43. data/spec/basic_payload_spec.rb +53 -0
  44. data/spec/command_payload_spec.rb +12 -0
  45. data/spec/content/install_application_payload_spec.rb +15 -0
  46. data/spec/content/install_book_payload_spec.rb +14 -0
  47. data/spec/content/install_doc_payload_spec.rb +16 -0
  48. data/spec/content/install_market_app_payload_spec.rb +15 -0
  49. data/spec/content/installed_application_list_payload_spec.rb +13 -0
  50. data/spec/content/remove_application_payoad_spec.rb +13 -0
  51. data/spec/content/remove_book_payload_spec.rb +14 -0
  52. data/spec/content/remove_doc_payload_spec.rb +18 -0
  53. data/spec/content/web_clip_payload_spec.rb +22 -0
  54. data/spec/device/app_lock_payload_spec.rb +23 -0
  55. data/spec/device/clear_passcode_payload_spec.rb +14 -0
  56. data/spec/device/dep_payload_spec.rb +18 -0
  57. data/spec/device/device_information_payload_spec.rb +28 -0
  58. data/spec/device/enrollment_payload_spec.rb +18 -0
  59. data/spec/device/erase_device_payload_spec.rb +11 -0
  60. data/spec/device/install_profile_payload_spec.rb +13 -0
  61. data/spec/device/lock_device_payload_spec.rb +11 -0
  62. data/spec/device/mdm_payload_spec.rb +41 -0
  63. data/spec/device/remove_profile_payload_spec.rb +14 -0
  64. data/spec/device/restrictions_payload_spec.rb +42 -0
  65. data/spec/device/scep_payload_spec.rb +14 -0
  66. data/spec/device/security_payload_spec.rb +29 -0
  67. data/spec/device/set_device_name_payload_spec.rb +14 -0
  68. data/spec/device/vpn_payload_spec.rb +75 -0
  69. data/spec/encrypted_payload_spec.rb +26 -0
  70. data/spec/spec_helper.rb +14 -0
  71. metadata +241 -0
@@ -0,0 +1,11 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::EraseDevicePayload do
4
+ subject { IOSConfigProfile::EraseDevicePayload }
5
+
6
+ describe "#initialize" do
7
+ it "has an EraseDevice payload" do
8
+ expect(subject.new["RequestType"]).to eq "EraseDevice"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::InstallProfilePayload do
4
+ subject { IOSConfigProfile::InstallProfilePayload }
5
+
6
+ describe "#initialize" do
7
+ it "has the correct payload" do
8
+ payload = subject.new("asdf")
9
+ expect(payload["RequestType"]).to eq "InstallProfile"
10
+ expect(payload["Payload"].gets).to eq "asdf"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::LockDevicePayload do
4
+ subject { IOSConfigProfile::LockDevicePayload }
5
+
6
+ describe "#initialize" do
7
+ it "has an LockDevicePayload payload" do
8
+ expect(subject.new["RequestType"]).to eq "DeviceLock"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,41 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::MDMPayload do
4
+ let(:mdm_payload_attributes) do
5
+ {
6
+ "Topic" => "user id from apple push notification certificate",
7
+ "ServerURL" => "https://example.com/command",
8
+ "CheckInURL" => "https://example.com/checkin",
9
+ "PayloadUUID" => "00000000-0000-0000-0000-000000000000",
10
+ "IdentityCertificateUUID" => "11111111-1111-1111-1111-111111111111",
11
+
12
+ "SignMessage" => false,
13
+ "AccessRights" => 8191,
14
+ "UseDevelopmentAPNS" => false,
15
+ "CheckOutWhenRemoved" => true,
16
+
17
+ "PayloadType" => "com.apple.mdm",
18
+ "PayloadVersion" => 1,
19
+ "PayloadIdentifier" => "com.cellabusipcu.profile.mdm",
20
+ "PayloadDisplayName" => "Mobile Device Management",
21
+ "PayloadDescription" => "Configures Mobile Device Management",
22
+ "PayloadOrganization" => "Cellabus, Inc.",
23
+ }
24
+ end
25
+ let(:url) { "https://example.com" }
26
+ let(:security_payload) { double uuid: "11111111-1111-1111-1111-111111111111" }
27
+ let(:topic) { "user id from apple push notification certificate" }
28
+
29
+ before do
30
+ allow_any_instance_of(IOSConfigProfile::MDMPayload).to receive_messages random_uuid: "00000000-0000-0000-0000-000000000000"
31
+ end
32
+
33
+ subject do
34
+ IOSConfigProfile::MDMPayload.new(url, security_payload, topic)
35
+ end
36
+
37
+ it { is_expected.to eq(mdm_payload_attributes) }
38
+ it "requires an https url" do
39
+ expect { IOSConfigProfile::MDMPayload.new("http://example.com", security_payload, topic) }.to raise_error RuntimeError
40
+ end
41
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::RemoveProfilePayload do
4
+ let(:remove_profile_payload_attributes) do
5
+ {
6
+ "RequestType" => "RemoveProfile",
7
+ "Identifier" => "profile-identifier",
8
+ }
9
+ end
10
+
11
+ subject { IOSConfigProfile::RemoveProfilePayload.new "profile-identifier" }
12
+
13
+ it { is_expected.to eq(remove_profile_payload_attributes) }
14
+ end
@@ -0,0 +1,42 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::RestrictionsPayload do
4
+ let(:payload) { { "allowAppInstallation" => true } }
5
+ let(:crap_payload) { { "asdf" => false } }
6
+
7
+ describe "IOSConfigProfile::RestrictionsPayload.generate_restrictions" do
8
+ it "defaults to empty payload" do
9
+ expect(IOSConfigProfile::RestrictionsPayload.new.send(:generate_restrictions, nil).length).to eq(0)
10
+ end
11
+ it "allows for additional payloads" do
12
+ payload["allowAppInstallation"] = false
13
+ expect(IOSConfigProfile::RestrictionsPayload.new.send(:generate_restrictions, payload).length).to eq(1)
14
+ end
15
+ it "will ignore default values" do
16
+ expect(IOSConfigProfile::RestrictionsPayload.new.send(:generate_restrictions, payload).length).to eq(0)
17
+ end
18
+ it "will ignore unrecognized values" do
19
+ expect(IOSConfigProfile::RestrictionsPayload.new.send(:generate_restrictions, crap_payload).length).to eq(0)
20
+ end
21
+ end
22
+
23
+ describe "IOSConfigProfile::RestrictionsPayload.new" do
24
+ it "adds boilerplate on top of restrictions" do
25
+ expect(IOSConfigProfile::RestrictionsPayload.new.length).to eq(6)
26
+ expect(IOSConfigProfile::RestrictionsPayload.new["PayloadContent"][0].length).to eq(6)
27
+ expect(IOSConfigProfile::RestrictionsPayload.new["PayloadContent"][0]["PayloadType"]).to eq("com.apple.applicationaccess")
28
+ end
29
+ end
30
+
31
+ its(:length) { should == 6 }
32
+
33
+ describe "available_payloads" do
34
+ subject { IOSConfigProfile::RestrictionsPayload.available_payloads }
35
+ it { is_expected.to be_instance_of Hash }
36
+ end
37
+
38
+ describe "available_supervised_payloads" do
39
+ subject { IOSConfigProfile::RestrictionsPayload.available_supervised_payloads }
40
+ it { is_expected.to be_instance_of Hash }
41
+ end
42
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::SCEPPayload do
4
+ subject { IOSConfigProfile::SCEPPayload }
5
+ let(:url) { "https://asdf.com/" }
6
+
7
+ describe "#initialize" do
8
+ it "must be initialized with an SCEP server url" do
9
+ payload = subject.new url
10
+ expect(payload["URL"]).to eq url
11
+ expect(payload["PayloadType"]).to eq "com.apple.security.scep"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,29 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::SecurityPayload do
4
+ let(:security_payload_attributes) do
5
+ {
6
+ "Password" => "password",
7
+ "PayloadUUID" => "00000000-0000-0000-0000-000000000000",
8
+ "PayloadCertificateFileName" => "identity.p12",
9
+
10
+ "PayloadType" => "com.apple.security.pkcs12",
11
+ "PayloadVersion" => 1,
12
+ "PayloadIdentifier" => "com.cellabusipcu.profile.credential",
13
+ "PayloadDisplayName" => "Security",
14
+ "PayloadDescription" => "Provides device authentication (certificate or identity).",
15
+ "PayloadOrganization" => "Cellabus, Inc.",
16
+ }
17
+ end
18
+
19
+ before do
20
+ allow_any_instance_of(IOSConfigProfile::SecurityPayload).to receive_messages random_uuid: "00000000-0000-0000-0000-000000000000"
21
+ end
22
+
23
+ subject { IOSConfigProfile::SecurityPayload.new("identity", "password") }
24
+
25
+ it { is_expected.to include security_payload_attributes }
26
+ it "contains valid PayloadContent" do
27
+ expect(subject["PayloadContent"].read).to eq("identity")
28
+ end
29
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::SetDeviceNamePayload do
4
+ subject { IOSConfigProfile::SetDeviceNamePayload }
5
+
6
+ describe "#initialize" do
7
+ it "has an Settings payload" do
8
+ payload = subject.new("asdf")
9
+ expect(payload["RequestType"]).to eq "Settings"
10
+ expect(payload["Settings"][0]["Item"]).to eq "DeviceName"
11
+ expect(payload["Settings"][0]["DeviceName"]).to eq "asdf"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,75 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::VPNPayload do
4
+ subject { IOSConfigProfile::VPNPayload }
5
+ let(:config) { { override_primary: "asdf", vpn_type: "L2TP" } }
6
+
7
+ describe "#initialize" do
8
+ it "must be initialized with a config" do
9
+ payload = subject.new config
10
+ expect(payload.vpn_config).to eq config
11
+ expect { subject.new nil }.to raise_error RuntimeError
12
+ end
13
+ it "has a uuid" do
14
+ payload1 = subject.new config
15
+ payload2 = subject.new config
16
+ expect(payload1["PayloadUUID"]).to_not eq payload2["PayloadUUID"]
17
+ end
18
+ end
19
+
20
+ describe "#vpn_payload" do
21
+ subject { IOSConfigProfile::VPNPayload.new config }
22
+ it "calls #get_vendor_config" do
23
+ expect(subject).to receive(:get_vendor_config).once
24
+ subject.send :vpn_payload
25
+ end
26
+ it "has a proper payload type" do
27
+ expect(subject["PayloadContent"][0]["PayloadType"]).to eq "com.apple.vpn.managed"
28
+ end
29
+ it "has the proper vpn type" do
30
+ expect(subject["PayloadContent"][0]["VPNType"]).to eq "L2TP"
31
+ end
32
+ end
33
+
34
+ describe "#get_vendor_config" do
35
+ subject { IOSConfigProfile::VPNPayload.new config }
36
+ it "raises errors for unimplemented vpn types" do
37
+ subject.send :get_vendor_config
38
+ subject.vpn_config[:vpn_type] = "AlwaysOn"
39
+ expect { subject.send :get_vendor_config }.to raise_error NotImplementedError
40
+ subject.vpn_config[:vpn_type] = "asdf"
41
+ expect { subject.send :get_vendor_config }.to raise_error NotImplementedError
42
+ end
43
+ it "calls appropriate function" do
44
+ expect(subject).to receive(:get_l2tp_config).and_return "asdf"
45
+ expect(subject.send :get_vendor_config).to eq "asdf"
46
+ end
47
+ end
48
+
49
+ describe "#get_l2tp_config" do
50
+ let(:config) { { vpn_type: "L2TP", auth_name: "name", auth_password: "password", comm_remote_access: "asdf.com" } }
51
+ subject { IOSConfigProfile::VPNPayload.new config }
52
+ it "returns the l2tp configuration" do
53
+ config = subject.send :get_l2tp_config
54
+ expect(config["AuthName"]).to eq "name"
55
+ expect(config["TokenCard"]).to eq false
56
+ expect(config["CommRemoteAccess"]).to eq "asdf.com"
57
+ end
58
+ end
59
+
60
+ describe "#get_ipsec_config" do
61
+ let(:config) { { vpn_type: "IPSec", remote_address: "asdf.com" } }
62
+ subject { IOSConfigProfile::VPNPayload.new config }
63
+ it "returns the IPSec configuration" do
64
+ config = subject.send :get_ipsec_config
65
+ expect(config["RemoteAddress"]).to eq "asdf.com"
66
+ expect(config.include? "LocalIdentifier").to be_falsey
67
+ end
68
+ it "adds in local identifier if using shared secret" do
69
+ subject.vpn_config[:authentication_method] = "SharedSecret"
70
+ subject.vpn_config[:local_identifier] = "asdf"
71
+ config = subject.send :get_ipsec_config
72
+ expect(config["LocalIdentifier"]).to eq "asdf"
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,26 @@
1
+ require "spec_helper"
2
+
3
+ describe IOSConfigProfile::EncryptedPayload do
4
+ let(:wrapped_payload) { double to_plist: "wrapped payload in plist form" }
5
+
6
+ subject { IOSConfigProfile::EncryptedPayload.new wrapped_payload }
7
+
8
+ its(:payload) { should == "wrapped payload in plist form" }
9
+
10
+ # This way we ensure super was called in the #initialize
11
+ its(:url) { should be }
12
+ its(:identifier) { should be }
13
+ its(:description) { should be }
14
+ its(:display_name) { should be }
15
+ its(:organization) { should be }
16
+
17
+ describe "#encrypted_configuration" do
18
+ it "can return an encrypted configuration" do
19
+ mock = double
20
+ expect(subject).to receive(:encrypt).with("cert").and_return(mock)
21
+ expect(mock).to receive(:certificate).and_return("asdf")
22
+ expect(subject).to receive(:configuration).and_return("encrypted_cert")
23
+ expect(subject.encrypted_configuration "cert").to eq "encrypted_cert"
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,14 @@
1
+ require "codeclimate-test-reporter"
2
+ CodeClimate::TestReporter.start
3
+
4
+ require "ios_config_profile"
5
+ require "rspec/its"
6
+
7
+ IOSCertEnrollment.configure do |config|
8
+ config.ssl_key = lambda { "test_ssl_key" }
9
+ config.ssl_certificate = lambda { "test_ssl_certificate" }
10
+ config.base_url = lambda { "https://example.com/" }
11
+ config.identifier = "Test Identifier"
12
+ config.display_name = "Test Display Name"
13
+ config.organization = "Test Organization"
14
+ end
metadata ADDED
@@ -0,0 +1,241 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ios_config_profile
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Albert Wang
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: CFPropertyList
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: plist
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.4'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.4'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.4'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.4'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-its
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.2'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.2'
97
+ - !ruby/object:Gem::Dependency
98
+ name: codeclimate-test-reporter
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.4'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.4'
111
+ description: Generate Apple iOS configuration profiles and payloads
112
+ email:
113
+ - albert@cellabus.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - ".codeclimate.yml"
119
+ - ".gitignore"
120
+ - ".rspec"
121
+ - ".rubocop.yml"
122
+ - ".simplecov"
123
+ - CHANGELOG.md
124
+ - CODE_OF_CONDUCT.md
125
+ - Gemfile
126
+ - LICENSE
127
+ - README.md
128
+ - Rakefile
129
+ - ios_config_profile.gemspec
130
+ - lib/ios_config_profile.rb
131
+ - lib/ios_config_profile/basic_payload.rb
132
+ - lib/ios_config_profile/command_payload.rb
133
+ - lib/ios_config_profile/content/install_application_payload.rb
134
+ - lib/ios_config_profile/content/install_book_payload.rb
135
+ - lib/ios_config_profile/content/install_doc_payload.rb
136
+ - lib/ios_config_profile/content/install_market_app_payload.rb
137
+ - lib/ios_config_profile/content/installed_application_list_payload.rb
138
+ - lib/ios_config_profile/content/remove_application_payload.rb
139
+ - lib/ios_config_profile/content/remove_book_payload.rb
140
+ - lib/ios_config_profile/content/remove_doc_payload.rb
141
+ - lib/ios_config_profile/content/web_clip_payload.rb
142
+ - lib/ios_config_profile/device/app_lock_payload.rb
143
+ - lib/ios_config_profile/device/clear_passcode_payload.rb
144
+ - lib/ios_config_profile/device/dep_payload.rb
145
+ - lib/ios_config_profile/device/device_information_payload.rb
146
+ - lib/ios_config_profile/device/enrollment_payload.rb
147
+ - lib/ios_config_profile/device/erase_device_payload.rb
148
+ - lib/ios_config_profile/device/install_profile_payload.rb
149
+ - lib/ios_config_profile/device/lock_device_payload.rb
150
+ - lib/ios_config_profile/device/mdm_payload.rb
151
+ - lib/ios_config_profile/device/remove_profile_payload.rb
152
+ - lib/ios_config_profile/device/restrictions_payload.rb
153
+ - lib/ios_config_profile/device/scep_payload.rb
154
+ - lib/ios_config_profile/device/security_payload.rb
155
+ - lib/ios_config_profile/device/set_device_name_payload.rb
156
+ - lib/ios_config_profile/device/vpn_payload.rb
157
+ - lib/ios_config_profile/encrypted_payload.rb
158
+ - lib/ios_config_profile/version.rb
159
+ - spec/basic_payload_spec.rb
160
+ - spec/command_payload_spec.rb
161
+ - spec/content/install_application_payload_spec.rb
162
+ - spec/content/install_book_payload_spec.rb
163
+ - spec/content/install_doc_payload_spec.rb
164
+ - spec/content/install_market_app_payload_spec.rb
165
+ - spec/content/installed_application_list_payload_spec.rb
166
+ - spec/content/remove_application_payoad_spec.rb
167
+ - spec/content/remove_book_payload_spec.rb
168
+ - spec/content/remove_doc_payload_spec.rb
169
+ - spec/content/web_clip_payload_spec.rb
170
+ - spec/device/app_lock_payload_spec.rb
171
+ - spec/device/clear_passcode_payload_spec.rb
172
+ - spec/device/dep_payload_spec.rb
173
+ - spec/device/device_information_payload_spec.rb
174
+ - spec/device/enrollment_payload_spec.rb
175
+ - spec/device/erase_device_payload_spec.rb
176
+ - spec/device/install_profile_payload_spec.rb
177
+ - spec/device/lock_device_payload_spec.rb
178
+ - spec/device/mdm_payload_spec.rb
179
+ - spec/device/remove_profile_payload_spec.rb
180
+ - spec/device/restrictions_payload_spec.rb
181
+ - spec/device/scep_payload_spec.rb
182
+ - spec/device/security_payload_spec.rb
183
+ - spec/device/set_device_name_payload_spec.rb
184
+ - spec/device/vpn_payload_spec.rb
185
+ - spec/encrypted_payload_spec.rb
186
+ - spec/spec_helper.rb
187
+ homepage: https://github.com/cellabus/ios_config_profile
188
+ licenses:
189
+ - AGPL-3.0
190
+ metadata: {}
191
+ post_install_message:
192
+ rdoc_options: []
193
+ require_paths:
194
+ - lib
195
+ required_ruby_version: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ version: '0'
200
+ required_rubygems_version: !ruby/object:Gem::Requirement
201
+ requirements:
202
+ - - ">="
203
+ - !ruby/object:Gem::Version
204
+ version: '0'
205
+ requirements: []
206
+ rubyforge_project:
207
+ rubygems_version: 2.5.1
208
+ signing_key:
209
+ specification_version: 4
210
+ summary: This gem provides an easy way to generate configuration profiles for use
211
+ with Apple iOS devices. These profiles and payloads can be delivered via Apple MDM,
212
+ Apple's Configurator, or the iPhone Configuration Utility (IPCU).
213
+ test_files:
214
+ - spec/basic_payload_spec.rb
215
+ - spec/command_payload_spec.rb
216
+ - spec/content/install_application_payload_spec.rb
217
+ - spec/content/install_book_payload_spec.rb
218
+ - spec/content/install_doc_payload_spec.rb
219
+ - spec/content/install_market_app_payload_spec.rb
220
+ - spec/content/installed_application_list_payload_spec.rb
221
+ - spec/content/remove_application_payoad_spec.rb
222
+ - spec/content/remove_book_payload_spec.rb
223
+ - spec/content/remove_doc_payload_spec.rb
224
+ - spec/content/web_clip_payload_spec.rb
225
+ - spec/device/app_lock_payload_spec.rb
226
+ - spec/device/clear_passcode_payload_spec.rb
227
+ - spec/device/dep_payload_spec.rb
228
+ - spec/device/device_information_payload_spec.rb
229
+ - spec/device/enrollment_payload_spec.rb
230
+ - spec/device/erase_device_payload_spec.rb
231
+ - spec/device/install_profile_payload_spec.rb
232
+ - spec/device/lock_device_payload_spec.rb
233
+ - spec/device/mdm_payload_spec.rb
234
+ - spec/device/remove_profile_payload_spec.rb
235
+ - spec/device/restrictions_payload_spec.rb
236
+ - spec/device/scep_payload_spec.rb
237
+ - spec/device/security_payload_spec.rb
238
+ - spec/device/set_device_name_payload_spec.rb
239
+ - spec/device/vpn_payload_spec.rb
240
+ - spec/encrypted_payload_spec.rb
241
+ - spec/spec_helper.rb