ruby-jss 3.2.0 → 3.2.2

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.
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