Skip to content

Releases: jssimporter/python-jss

v0.5.1 (December 4, 2014) Gold Soundz

04 Dec 19:44
Compare
Choose a tag to compare

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 for ActivationCode 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

03 Dec 20:05
Compare
Choose a tag to compare

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 a DistributionPoint property JSS.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

02 Dec 15:15
Compare
Choose a tag to compare

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

25 Nov 20:34
Compare
Choose a tag to compare

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 and domain were incorrectly pulled from preferences. This has been corrected. Thanks @eahrold.

0.4.1 (November 25, 2014) Postpartum Fixapalooza

25 Nov 16:37
Compare
Choose a tag to compare

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

02 Nov 19:52
Compare
Choose a tag to compare
Pre-release

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 module distribution_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 adds JDS type DP's.
  • DistributionPoints now have helper methods to add and remove a DistributionPoint.

CHANGES:

  • DistributionPoints.__repr__ factored into DistributionPoint 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 and password 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.
  • 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

08 Oct 16:35
Compare
Choose a tag to compare

FIXES:

  • Except I screwed it up. Now FileUploads is squared away.

v0.3.10: Offal Sliders

08 Oct 14:15
Compare
Choose a tag to compare

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

04 Sep 15:49
Compare
Choose a tag to compare

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

29 Aug 18:50
Compare
Choose a tag to compare

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, and JDSRepository. (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!