ruby-jss 3.2.0 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 487b55418c4189c503c97d8700afa29964905875ffcf3ab356af044bba0eb1ea
4
- data.tar.gz: 76c942852d9cc0df7bb70162ddda80e75a189ead434e3775595baf966619bcae
3
+ metadata.gz: 723328fc03b943e9453d8575edabd1a764582711f87c609dcbc439c147957ea6
4
+ data.tar.gz: 43f8c1cbde95f56e977678ba9a1573781761cae0635b9f89592ec5dab1b0aecf
5
5
  SHA512:
6
- metadata.gz: 72aeb242e3c161487d91f07bc1b12aacd99283ab72107d49b36d0949f3151148e05b8f940dc116f4ef1b12853ca4a1552a539eb9a9471394d247ceeaf51c8249
7
- data.tar.gz: a4f2684e8d886c1c4d4f803ed04317c9c54a4721871bfe3544248f07afcddebca201aee0f8f02fb74f2ae7d1cc4ad274e2de1b879a9b0514d3d40c4ecd8fecd8
6
+ metadata.gz: 7d95f14055ae3668af94a9aa0b8932255dcc6adf93175318ec4218a510a0ce8fa95cf99ffd60a803245b87f4087e733a51872c2b05c543f1dc025d3b5dfaf876
7
+ data.tar.gz: 79ddfbe92115d2d1325b6de74c1d999bf6f439ea4f0cab95a6b52b1e8055016abac9078873d2b63c4351eaeb0d0a8aa19c71a9c47e2bd8734e3b8ca8f5130f02
data/CHANGES.md CHANGED
@@ -15,7 +15,21 @@ __Please update all installations of ruby-jss to at least v1.6.0.__
15
15
  Many many thanks to actae0n of Blacksun Hackers Club for reporting this issue and providing examples of how it could be exploited.
16
16
 
17
17
  --------
18
- ## \[3.12.0] 2023-09-05
18
+ ## \[3.2.1] 2023-09-12
19
+
20
+ ### Fixed
21
+ - Don't look at the management_status of unmanaged computers, it doesn't exist.
22
+
23
+
24
+ --------
25
+ ## \[3.2.1] 2023-09-08
26
+
27
+ ### Fixed
28
+ - Scopes are properly maintained when using #clone on Policy and PatchPolicy instances.
29
+ Note: the data loss issue in addressed is in the previous version still applies. If the original policy being cloned has any `jss_users` or `jss_user_groups` defined in the targets or exclusions. they will be lost when saving the clone.
30
+
31
+ --------
32
+ ## \[3.2.0] 2023-09-05
19
33
 
20
34
  ### Added
21
35
  - Several new attributes to Jamf::Computer instances:
data/README.md CHANGED
@@ -66,7 +66,7 @@ Many many thanks to actae0n of Blacksun Hackers Club for reporting this issue an
66
66
 
67
67
  ruby-jss defines a Ruby module called `Jamf`, which is used for accessing the 'Classic' and
68
68
  'Jamf Pro' APIs of a Jamf Pro server. Jamf Pro is an enterprise-level management tool for Apple
69
- devices from [Jamf.com](http://www.jamf.com/). It is available as a[ruby gem](https://rubygems.org/gems/ruby-jss), and the
69
+ devices from [Jamf.com](http://www.jamf.com/). ruby-jss is available as a [ruby gem](https://rubygems.org/gems/ruby-jss), and the
70
70
  [source is on github](https://github.com/PixarAnimationStudios/ruby-jss).
71
71
 
72
72
  The Jamf module maintains connections to both APIs simultaneously, and uses which ever is appropriate as needed.
@@ -75,7 +75,7 @@ which API are all handled under-the-hood.
75
75
 
76
76
  The Jamf module abstracts many API resources as Ruby objects, and provides methods for interacting with those
77
77
  resources. It also provides some features that aren't a part of the API itself, but come with other
78
- Jamf-related tools, such as uploading {Jamf::Package} files to the master distribution
78
+ Jamf-related tools, such as uploading {Jamf::Package} files to the primary fileshare distribution
79
79
  point, and the installation of those objects on client machines. (See [BEYOND THE API](#beyond-the-api))
80
80
 
81
81
  The Jamf module is not a complete implementation of the Jamf Pro APIs. Only some objects are modeled,
@@ -923,7 +923,14 @@ module Jamf
923
923
  @distribution_point = @init_data[:general][:distribution_point]
924
924
  @initial_entry_date = JSS.epoch_to_time @init_data[:general][:initial_entry_date_epoch]
925
925
  @last_enrolled = JSS.epoch_to_time @init_data[:general][:last_enrolled_date_epoch]
926
- @enrolled_via_dep = @init_data[:general][:management_status][:enrolled_via_dep]
926
+
927
+ @management_status = @init_data[:general][:management_status]
928
+ if @management_status
929
+ @enrolled_via_dep = @management_status[:enrolled_via_dep]
930
+ @user_approved_enrollment = @management_status[:user_approved_enrollment]
931
+ @user_approved_mdm = @management_status[:user_approved_mdm]
932
+ end
933
+
927
934
  @ip_address = @init_data[:general][:ip_address]
928
935
  @reported_ip_address = @init_data[:general][:last_reported_ip]
929
936
  @itunes_store_account_is_active = @init_data[:general][:itunes_store_account_is_active]
@@ -933,8 +940,6 @@ module Jamf
933
940
  @mdm_capable = @init_data[:general][:mdm_capable]
934
941
  @mdm_capable_users = @init_data[:general][:mdm_capable_users].values
935
942
  @supervised = @init_data[:general][:supervised]
936
- @user_approved_enrollment = @init_data[:general][:management_status][:user_approved_enrollment]
937
- @user_approved_mdm = @init_data[:general][:management_status][:user_approved_mdm]
938
943
  @mdm_profile_expiration = JSS.epoch_to_time @init_data[:general][:mdm_profile_expiration_epoch]
939
944
 
940
945
  @netboot_server = @init_data[:general][:netboot_server]
@@ -946,8 +951,6 @@ module Jamf
946
951
 
947
952
  @configuration_profiles = @init_data[:configuration_profiles]
948
953
 
949
- @management_status = @init_data[:general][:management_status]
950
-
951
954
  @groups_accounts = @init_data[:groups_accounts]
952
955
  @hardware = @init_data[:hardware]
953
956
  @peripherals = @init_data[:peripherals]
@@ -624,7 +624,9 @@ module Jamf
624
624
  general.add_element('allow_downgrade').text = allow_downgrade
625
625
  general.add_element('patch_unknown').text = patch_unknown
626
626
 
627
- obj << scope.scope_xml if scope.should_update?
627
+ # always include the scope if we have no id yet - we could be
628
+ # a clone of an existing object
629
+ obj << scope.scope_xml if scope.should_update? || @id.nil?
628
630
 
629
631
  add_self_service_xml doc
630
632
 
@@ -2111,7 +2111,9 @@ module Jamf
2111
2111
  activation = @server_side_limitations[:activation]
2112
2112
  date_time_limitations.add_element('activation_date_epoch').text = activation.to_jss_epoch if activation
2113
2113
 
2114
- obj << @scope.scope_xml if @scope.should_update?
2114
+ # always include the scope if we have no id yet - we could be
2115
+ # a clone of an existing object
2116
+ obj << @scope.scope_xml if @scope.should_update? || @id.nil?
2115
2117
 
2116
2118
  reboot = obj.add_element 'reboot'
2117
2119
  JSS.hash_to_rexml_array(@reboot_options).each { |elem| reboot << elem }
data/lib/jamf/version.rb CHANGED
@@ -27,6 +27,6 @@
27
27
  module Jamf
28
28
 
29
29
  ### The version of ruby-jss
30
- VERSION = '3.2.0'.freeze
30
+ VERSION = '3.2.2'.freeze
31
31
 
32
32
  end # module
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-jss
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Lasell
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-09-05 00:00:00.000000000 Z
13
+ date: 2023-09-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: CFPropertyList