Releases: jssimporter/python-jss
Releases · jssimporter/python-jss
v0.5.1 (December 4, 2014) Gold Soundz
FIXES:
- Finally implementing @ocoda suggestions for solving the disabling of SSL in >= JSS v9.61. (jssimporter/JSSImporter#9, #16) #Further behind-the-scenes-measures are being investigated to streamline this edit for the future.
- Fixed
list_type
forActivationCode
regression. - Fixed DistributionPoints init mistake.
CHANGES:
- Configuration for a JDS has changed. Now it only requires key: type, value: JDS. See the wiki for complete examples.
- Old configuration was misleading and/or redundent. Uploading to a JDS actually involves POSTing to the JSS, using the JSS' URL, and a correctly privileged API user, NOT the JDS' URL or WebDAV R/W accounts.
- Implemented missing API objects:
- BYOProfile
- ComputerConfiguration
- IBeacon. PEP8 wins over Apple 'iFoolishness' for naming.
- MacApplication
- VPPAccount
v0.4.4 (December 3, 2014) Welcome to the Terrordome
FIXES:
- Included submodules should now properly handle TLS for JSS v9.6.1 or later. (jssimporter/JSSImporter#9, #16)
JSSObject.save()
has been reworked to safely handle all permutations of PUT and POST abilities on objects. For example,ComputerInvitations
can only POST, not PUT, and did not work correctly.- All tests in the test suite are passing again. This is of course set up to work on our testing server only.
CHANGES:
JSS
objects will now have aDistributionPoint
propertyJSS.distribution_points
even if no repos are configured. This makes it easier to add in after the fact.- Updated requests to 2.5.0.
JSSObject.save()
now has better error reporting.
KNOWN ISSUES:
- See #15. Objects that can potentially have a category, but have none, fail to save. This is almost certainly related to how the JSS interprets the changed value of nil categories (was "Unknown", now "No category assigned"). This has been solved by overriding the
save
method on Policies and Packages until they fix it. Please let me know if you come across others.
v0.4.3 (December 1, 2014) Anti-Corruption Sauce
FIXES:
- JDS repos can now upload packages and scripts. Thanks to @beckf for sorting out the dark magic in the packets.
CHANGES:
- Identified eBooks as file type 1 and in mobile apps as file type 2 for dbfileupload parameters. This may not be the appropriate place to house these functions, but for those who need it, the JDS._copy() method can now upload eBooks and mobile apps. Please feel free to experiment and clue me in to how to make it work better.
- Research also showed that there are two viable methods for uploading to a JDS. We will stick with the existing method for the time being.
0.4.2: (November 25, 2014) Eyebrow Floss
I did a quick update to include an egg installer on pypi.org. This was needed to support the jss-autopkg-addon installer.
CHANGES:
- AFP and SMB shares' URL variable should not include a prefixed protocol. Now, python-jss removes any preceding afp:// or smb:// from URL preferences just to be safe. Thanks @eahrold.
FIXES:
- Repos input variables
port
anddomain
were incorrectly pulled from preferences. This has been corrected. Thanks @eahrold.
0.4.1 (November 25, 2014) Postpartum Fixapalooza
CHANGES:
- Updates bundled Requests to 2.4.3.
- Mounted repositories now use the force flag to unmount. If this troubles anyone, let me know and I'll make it an option.
FIXES:
- AFP and SMB file shares did not properly escape password characters. Thanks @eahrold for the fix.
- AFP shares were defaulting to the incorrect port (139). Now defaults to 548. Thanks @eahrold again!
- Requests module not properly referenced in jss.py and distribution_points.py. Big props to @eahrold.
- SSLv3 support was dropped in JSS v9.61 to avoid the Poodle attack. Thanks to @ocoda for a solution while we waited for urllib3 (part of requests) to update to solve this problem.
- Explicitly configured AFP and SMB sharepoints, despite the documentation, needed a
name
. This is no properly set as optional. If left out, a generic name with an incremented numeric suffix will be used.
KNOWN ISSUES:
- JDS distribution points can upload scripts and packages, but they are getting corrupted with HTML multipart boundaries because the requests are not being made quite right. This should be solved soon.
v0.4.0: Mayonnaise Olive Parfait
ADDITIONS:
- Adds class
casper
. This class pulls the information returned from POSTing to the undocumented casper.jxml. At some point I would like this to allow for automatic configuration of all repository information (provided an authentication by a privileged user). However, due to its undocumented nature, I don't want to rely on it until I can get some confirmation from JAMF that this is 'OK'. - Adds class
JDS
to moduledistribution_points
.- Can copy packages/DMG's.
- Can copy scripts, although it is currently broken.
- Scripts include HTML form boundaries... Working on this.
- Has a limited .exists() method.
- Has a more thorough .exists_with_casper() method that uses the undocumented casper.jxml/casper-module.
- class
DistributionPoints
now addsJDS
type DP's. DistributionPoints
now have helper methods to add and remove aDistributionPoint
.
CHANGES:
DistributionPoints.__repr__
factored intoDistributionPoint
and children.- New option to fully declare distribution point connection information in the preference file or at JSS or DistributionPoints instantiation time.
- Shares will now only be included if they are defined in the list of
repos
. (Previously, it would try to match all DP's from .distributionpoints to a config option). - AFP or SMB shares declared in the previous style, with just a
name
andpassword
will still get the rest of the information from the server. - You may now specify these connection properties explictly.
- JDS' must be configured with explicit properties.
- See docstrings for the different types of DistributionPoint for required keys.
- Shares will now only be included if they are defined in the list of
- DistributionPoint subclasses will now let you know what config information you left out.
- DistributionPoints and DistributionPoint subclasses now have an optional argument id_ for supporting JDS copy methods.
- Ignored by non-JDS DP's.
- Can be used to copy a package/script to an existing package object rather than creating a new one (the default, of -1 makes a new object).
- Moved documentation from README to wiki.
KNOWN ISSUES:
- JDS distribution points can upload scripts and packages, but they are getting corrupted with HTML multipart boundaries because the requests are not being made quite right. This should be solved soon.
v0.3.11: Offal Sliders 2
FIXES:
- Except I screwed it up. Now
FileUploads
is squared away.
v0.3.10: Offal Sliders
FIXES:
FileUploads
were sent using a non-session request because I couldn't get it working with a session. I got it working with a session.FileUploads
non-session request lacked the verify parameter, thus, even if SSL verification was turned off in the JSS object, it still tried to verify SSL.
v0.3.9: Chorizo
FIXES:
- Fix resource name when using FileUpload. Previous behavior was to give resource the full upload path as a name. Switched to just os.path.basename()
ADDITIONS:
- Add method
DistributionPoints.exists()
for testing for the existence of a script/pkg across all distribution points.
v0.3.7: Chorizo
ADDITIONS:
- Add module
distribution_points
. Provides:DistributionPoints
to handle copying packages and scripts across all configured repositories.- Distribution points are automatically configured (except for password until I can figure out the hashing) based on your JSS's data.
- copy copies a file to the directory indicated by the file extension (.pkg, .dmg to Packages, everything else to Scripts) of all distribution points.
- copy_pkg copies a .pkg or .dmg to the Packages directory of all distribution points.
- copy_script copies a script to the Scripts directory of all distribution points.
- Distribution points are mounted prior to copy operations if they aren't already.
AFPRepository
,SMBRepository
,HTTPRepository
,HTTPSRepository
, andJDSRepository
. (Only AFP and SMB implemented currently-HTTP(S) and JDS coming soon.)- mount (Has option to mount -o nobrowse, so disk doesn't appear in GUI)
- umount
CHANGES:
- Add handling of
repos
preference key in com.github.sheagcraig.python-jss.plist. See README. - JSS objects now have a DistributionPoint property included at init time, so you don't need to instantiate one. Just delegate!