python-opsi (4.1.1.101-1) stable; urgency=medium

  * updated hwaudit locales to include TPM data

 -- Nils Doerrer <n.doerrer@uib.de>  Fri, 19 Mar 2021 09:23:33 +0100

python-opsi (4.1.1.100-1) stable; urgency=medium

  * introduced TPM section and fields for MacOS data in opsihwaudit.conf

 -- Nils Doerrer <n.doerrer@uib.de>  Fri, 12 Mar 2021 09:29:43 +0100

python-opsi (4.1.1.99-1) testing; urgency=medium

  * adding more opsi-bootimage.append parameters

 -- Mathias Radtke <m.radtke@uib.de>  Wed, 27 Jan 2021 17:08:46 +0100

python-opsi (4.1.1.98-1) testing; urgency=medium

  * Posix.py: not using -D option in updated sfdisk anymore 

 -- Mathias Radtke <m.radtke@uib.de>  Wed, 27 Jan 2021 16:11:55 +0100

python-opsi (4.1.1.97-1) testing; urgency=medium

  * Validation of filters and attributes in backend getObject methods to prevent SQL injection attacks
  * OPSI.System.Posix: removed sfdisk downgrade functions

 -- Mathias Radtke <m.radtke@uib.de>  Mon, 14 Dec 2020 12:22:19 +0100

python-opsi (4.1.1.96-1) stable; urgency=medium

  * Fixing sql injection issue in backend

 -- Jan Schneider <j.schneider@uib.de>  Tue, 01 Dec 2020 15:34:58 +0100

python-opsi (4.1.1.95-1) stable; urgency=medium

  * setGeneralConfig: Raise Exception if given objectId is not found in backend
  * JSONRPCBackend: Small fix in creating instancemethods.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 07 Sep 2020 09:06:00 +0200

python-opsi (4.1.1.94-1) stable; urgency=medium

  * mysql strict mode support

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 13 Jul 2020 01:45:02 +0200

python-opsi (4.1.1.93-1) stable; urgency=medium

  * autosetupexcludes could be empty.
  * ProductRepositoryInfo refactoring.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 29 Jun 2020 22:51:52 +0200

python-opsi (4.1.1.92-1) stable; urgency=medium

  * small typofix in Updater.py

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 29 Jun 2020 16:59:53 +0200

python-opsi (4.1.1.91-1) stable; urgency=medium

  * Follow links at PackageContentFile generation after opsi-package installation

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Fri, 26 Jun 2020 16:08:05 +0200

python-opsi (4.1.1.90-1) stable; urgency=medium

  * PackageUpdater: autosetup excludes implemented.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Fri, 22 May 2020 16:11:12 +0200

python-opsi (4.1.1.89-1) testing; urgency=medium

  * OpsiPXEConfd: setting eliloMode to x64 when shim is present in
    clientconfig.dhcpd.filename

 -- Mathias Radtke <m.radtke@uib.de>  Mon, 06 Apr 2020 18:06:48 +0200

python-opsi (4.1.1.88-1) stable; urgency=medium

  * version bumped to cleanup rpm builds in buildservice.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 05 Feb 2020 11:02:12 +0100

python-opsi (4.1.1.87-1) stable; urgency=medium

  * DHCPD-Parser small fix for multiple domain-search entries
  * small fix for centos/rhel 8 build

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 04 Feb 2020 00:56:00 +0100

python-opsi (4.1.1.86-1) testing; urgency=medium

  * OPSI.Util.Task.UpdatePackages.Updater: Fix throwing an exception when
    mismatching md5sums are detected.
  * OPSI.Util.Task.UpdatePackages.Updater: Error on wrong md5sum in remote
    repository.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 03 Dec 2019 11:31:01 +0100

python-opsi (4.1.1.85-1) testing; urgency=medium

  * OPSI.Util.Task.UpdatePackages.Updater: throwing exception when md5sum
    missmatched an no zsync is available

 -- Mathias Radtke <m.radtke@uib.de>  Wed, 20 Nov 2019 13:37:21 +0100

python-opsi (4.1.1.84-1) testing; urgency=medium

  * OPSI.Util.File.InfFile: Small refactoring in device type detection.
  * OPSI.System.Posix: Support for using the 'ip' command to parse network
    information. By default 'ifconfig' is tried but in case of absence 'ip'
    will be used.
    This requires iproute2 4.15 or newer.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 14 Nov 2019 13:13:56 +0100

python-opsi (4.1.1.83-1) testing; urgency=medium

  * Fix regular expression pattern of HD audio device drivers.
    This has been broken since 4.1.1.63-1.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 04 Nov 2019 14:51:34 +0100

python-opsi (4.1.1.82-1) testing; urgency=medium

  * 30_kiosk.conf: Getting the product groups now works with broken configs.
  * MySQL backend: Changed SOFTWARE_CONFIG.config_id to bigint to allow for
    more entries. An update routine has been added that can be executed by
    running opsi-setup --update-mysql.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 17 Oct 2019 13:19:31 +0200

python-opsi (4.1.1.81-1) stable; urgency=medium

  * Use an User-Agent setting in accordance to RFC 2616 in more places.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 11 Oct 2019 15:22:25 +0200

python-opsi (4.1.1.80-1) stable; urgency=medium

  * OPSI.System.Posix.getActiveSessionIds: Support parsing output where the
    date is split into separate entries for month and day.
  * OPSI.Util.Task.UpdatePackages.Config: refactored parsing of split entries.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 10 Oct 2019 12:38:59 +0200

python-opsi (4.1.1.79-2) stable; urgency=medium

  * opsihwaudit.conf: Windows: Fix reading speed of network interfaces.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 07 Oct 2019 10:25:45 +0200

python-opsi (4.1.1.79-1) stable; urgency=medium

  * OPSI.Backend.MySQL.MySQL / OPSI.Backend.SQLite.SQLite: getTables will now
    always return the table names in uppercase.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 01 Oct 2019 14:16:20 +0200

python-opsi (4.1.1.78-1) stable; urgency=medium

  * OPSI.Logger: Do not raise an exception if message formatting fails due to
    missing format for key.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 19 Sep 2019 13:13:24 +0200

python-opsi (4.1.1.77-2) testing; urgency=medium

  * OPSI.Util.Task:Samba: corrected typo on opsi_logs SMB share creation

 -- Mathias Radtke <m.radtke@uib.de>  Mon, 02 Sep 2019 16:29:40 +0200

python-opsi (4.1.1.77-1) testing; urgency=medium

  * OPSI.Util.Task.Rights: Cache the path of the workbench once this has been read.
  * OPSI.util.Task.Samba: Added opsi_logs SMB share

 -- Mathias Radtke <m.radtke@uib.de>  Mon, 02 Sep 2019 13:24:05 +0200

python-opsi (4.1.1.76-2) stable; urgency=medium

  * RPM: patch the correct filename into /etc/opsi/backends/dhcpd.conf if
    running on a SUSE distribution.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 28 Aug 2019 16:09:47 +0200

python-opsi (4.1.1.76-1) stable; urgency=medium

  * OPSI.Backend.MySQL: The lifetime for DB connections can now be configured
    through the backend parameter 'ConnectionPoolRecycling'.
  * Removed module OPSI.Util.Debug.
  * Removed dependency to twisted.conch.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 28 Aug 2019 09:49:08 +0200

python-opsi (4.1.1.75-1) stable; urgency=medium

  * OPSI.Util.Task.ConfigureBackend.DHCPD: checking for SLES and OpenSUSE to
    set dhcpd boot file properly

 -- Mathias Radtke <m.radtke@uib.de>  Tue, 27 Aug 2019 13:50:17 +0200

python-opsi (4.1.1.74-1) stableD; urgency=medium

  * OPSI.Util.HTTP.HTTPResponse: Removed parts of experimental curl support.
  * OPSI.Util.HTTP.HTTPResponse: HTTP headers are now handle case-insensitive.

 -- Mathias Radtke <m.radtke@uib.de>  Tue, 27 Aug 2019 12:27:32 +0200

python-opsi (4.1.1.73-1) stable; urgency=medium

  * RPM/spec: installing net-tools-deprecated on Leap >= 15.0

 -- Mathias Radtke <m.radtke@uib.de>  Tue, 27 Aug 2019 10:23:31 +0200

python-opsi (4.1.1.72-1) stable; urgency=medium

  * OPSI.Util.Task.UpdatePackages.Notifier: Fix setting up EmailNotifier.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 12 Aug 2019 10:52:55 +0200

python-opsi (4.1.1.71-1) stable; urgency=medium

  * OPSI.Util.Task.UpdatePackages.Config: Use RFC 2616 compatible user agent.
  * OPSI.Util.Task.UpdatePackages.Config: Make it possible to configure a
    global proxy in the general config that will be applied to all repos
    that do not use their own proxy.
  * OPSI.Util.Task.UpdatePackages: Lower the loglevel for the used proxy.
  * OPSI.Util.Task.UpdatePackages.Updater: Simplify notifier handling.
  * OPSI.Util: librsync functions now provide more information about used
    files in the log.
  * Added new module OPSI.Util.Task.ConfigureBootimage.
  * Backend.backend_getOptions now returns a copy instead of a reference.
    This leads to temporaryBackendOptions behaving as expected.
  * OPSI.Service.Worker.WorkerOpsiJsonRpc: If a client sends gzip and deflate
    in the 'Accept-Encoding' HTTP header we prefer gzip for the response.
  * 30_kiosk.conf: getKioskProductInfosForClient: added new parameter
    addConfigs for the new version of the Kiosk client.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 06 Aug 2019 17:47:54 +0200

python-opsi (4.1.1.70-1) stable; urgency=medium

  * OPSI.System.Posix: Add support for retrieving the currently used
    distribution through the "distro" module.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 10 Jul 2019 14:30:26 +0200

python-opsi (4.1.1.69-1) testing; urgency=medium

  * 20_easy.conf: Added new method: getClientsWithActionRequest.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 08 Jul 2019 13:59:45 +0200

python-opsi (4.1.1.68-2) testing; urgency=medium

  * 45_deprecated.conf: Fix deprecation warning for getClients_listOfHashes
    and getClientIds_list.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 28 Jun 2019 17:50:27 +0200

python-opsi (4.1.1.68-1) testing; urgency=medium

  * OPSI.Util.File.DHCPDConfFile: Small refactoring to improve parse time.
  * OPSI.Backend.DHCPD: Errors are now logged with their traceback.
  * OPSI.Util.File.DHCPDConfFile: Support parsing data structures consisting
    of a sequence of data types (a.k.a. record types).
  * OPSI.Backend.JSONRPC.JSONRPCBackend: Added support for 'gzip' compression.
    For a seamless integration the new option 'compress' has been added to the
    constructor. It accepts either the values 'deflate', 'gzip' or a boolean.
    In case the boolean is selected the compression to use will be chosen
    by the implementation.
    This also adds the new function setCompression to instances of the class.
    This method should be used instead of the now deprecated 'setDeflate'.
    If compression is used can be checked with isCompressionUsed.
  * Added 20_easy.conf with the following methods: getClients, getClientIDs,
    getClientsOnDepot and getClientsWithProducts.
  * API: Deprecated the methods backend_searchIdents, getClients_listOfHashes
    and getClientIds_list.
    To replace their commonly used functionality use the methods getClients,
    getClientIDs, getClientsOnDepot and getClientsWithProducts respectively.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 28 Jun 2019 15:57:19 +0200

python-opsi (4.1.1.67-1) stable; urgency=medium

  * OPSI.Backend.File.FileBackend: raise an error when executing getData.
  * OPSI.System.Posix: Cache the service names of DHCPD and Samba after lookup.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 29 May 2019 16:52:29 +0200

python-opsi (4.1.1.66-1) stable; urgency=medium

  * OPSI.Backend.Backend: Only import MethodType from types.
  * OPSI.System.Windows.execute: refactored showing output lines.
  * 10_opsi.conf: setProductActionRequestWithDependencies small refactoring.
  * OPSI.SharedAlgorithm: Adjusted loglevel for cases where unfulfillable
    requirements are requested to make problems easier to spot.
  * OPSI.Backend.JSONRPC.JSONRPCBackend: Defaults ports are now class
    variables instead of instance variables.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 14 May 2019 15:42:58 +0200

python-opsi (4.1.1.65-1) stable; urgency=medium

  * Using thread.is_alive instead of thread.isAlive because the latter will
    be removed in Python 3.8.
  * hwaudit.conf: Change field for extClock from int to bigint.
  * OPSI.Util.File.Opsi: Internal refactorings.
  * OPSI.Util.Task.Backup: Internal refactorings.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 03 May 2019 14:26:59 +0200

python-opsi (4.1.1.64-1) stable; urgency=medium

  * OpsiBackupArchive: Use a defaults-file when creating/restoring a mysql
    backup.
  * OpsiBackupArchive: Removed Python 2.6 workaround code.
  * OPSI.Backend.HostControl.RpcThread: Setting user-agent to "opsi-RpcThread".

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 02 May 2019 12:03:40 +0200

python-opsi (4.1.1.63-1) stable; urgency=medium

  * Update regular expression patterns to be raw strings.
  * Add line breaks after the opsi logo on the interface page.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 05 Apr 2019 18:42:38 +0200

python-opsi (4.1.1.62-1) stable; urgency=medium

  * Opsi.Util.File.Opsi.Opsirc: Change the default path for an opsirc file
    to ~/.opsi.org/opsirc.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 19 Feb 2019 16:58:20 +0100

python-opsi (4.1.1.61-1) stable; urgency=medium

  * OPSI.Util.Task.UpdatePackages.Updater.getLocalPackages: When looking for
    the checksum file use the absolute path.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 18 Feb 2019 10:53:33 +0100

python-opsi (4.1.1.60-1) stable; urgency=medium

  * OPSI.Backend.MySQL: Fixed a reference error.
  * OPSI.Util.File.Opsi.Opsirc.readOpsirc: Skip empty values from config.
  * OPSI.Util.File.Opsi.Opsirc.readOpsirc: Mark passwords as confidential
    right after reading.
  * OPSI.Util.File.Opsi.Opsirc.readOpsirc: filename parameter is optional.
    If None is given it will resort to retrieving the path via
    getOpsircPath.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 15 Feb 2019 13:07:20 +0100

python-opsi (4.1.1.59-1) stable; urgency=medium

  * DhcpOnDepot Feature-Fix: (fixes #3901)
  * Added module OPSI.Util.File.Opsi.Opsirc

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Fri, 08 Feb 2019 15:15:29 +0100

python-opsi (4.1.1.58-1) stable; urgency=medium

  * Re-release 4.1.1.57 due to some merge problems.

 -- Niko Wenselowski <niko@stellar>  Fri, 18 Jan 2019 16:36:48 +0100

python-opsi (4.1.1.57-1) stable; urgency=medium

  * OPSI.Util.Task.ConfigureBackend.DHCPD: Default path for dhcpd config set
    to /etc/dhcp/dhcpd.conf.
  * Added module OPSI.Util.Task.ConfigureBackend.ConfigDefaults.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 18 Jan 2019 16:19:30 +0100

python-opsi (4.1.1.56-1) testing; urgency=medium

  * OPSI.Backend.OpsiPXEConfd: _collectDataForUpdate: Changed first parameter
    to client ID instead of getting the value from a ProductOnClient.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 08 Jan 2019 17:40:47 +0100

python-opsi (4.1.1.55-1) testing; urgency=medium

  * OPSI.Backend.OpsiPXEConfd: Caching data will now work as expected
    when changing PXE templates of a product.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 08 Jan 2019 17:12:53 +0100

python-opsi (4.1.1.54-1) stable; urgency=medium

  * OPSI.Util.Task.Backup: Do not show a message for an unused backend
    when running in auto mode.
  * OPSI.System.Posix & OPSI.System.Windows: refactored getDiskSpaceUsage.
  * OPSI.System.Windows: Make code more consistent with the other modules.
  * OPSI.Util.Task.InitializeBackend: supplied an __all__.
  * OPSI.Util.Task.InitializeBackend and OPSI.Util.Task.Rights use the
    BackendManager in contextmanager style.
  * OPSI.Util.Repository: Make code more consistent with the other modules.
  * opsihwaudit.conf: Accept NICs with 10GB+ throughput.
  * OPSI.Sytem.Posix: removed support for dhcp3 dhclient.leases file.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 07 Dec 2018 13:37:00 +0100

python-opsi (4.1.1.53-1) stable; urgency=medium

  * OPSI.System.Posix: isOpenSuse will return False if not running on openSuse.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 30 Nov 2018 11:26:37 +0100

python-opsi (4.1.1.52-2) testing; urgency=medium

  * OPSI.System.Posix: isOpenSUSE refactored to not use platform

 -- Mathias Radtke <m.radtke@uib.de>  Mon, 26 Nov 2018 12:07:10 +0100

python-opsi (4.1.1.52-1) testing; urgency=medium

  * OPSI.System.Posix: correctly detecting openSUSE Leap 15.0 and above
  * OPSI.System.Posix: using isOpenSUSE() to determine Leap, isOpenSUSELeap()
    is obsolete
  * OPSI.Util.Task.Rights: replaced isOpenSUSELeap() with isOpenSUSE()

 -- Mathias Radtke <m.radtke@uib.de>  Fri, 23 Nov 2018 09:58:13 +0100

python-opsi (4.1.1.51-3) stable; urgency=medium

  * RPM: openSUSE Leap 15 needs net-tools-deprecated to work with 'ifconfig'

 -- Mathias Radtke <m.radtke@uib.de>  Thu, 22 Nov 2018 15:30:36 +0100

python-opsi (4.1.1.51-2) stable; urgency=medium

  * RPM: requires python-mysqlclient on openSUSE Leap 15.0

 -- Mathias Radtke <m.radtke@uib.de>  Mon, 19 Nov 2018 15:43:29 +0100

python-opsi (4.1.1.51-1) stable; urgency=medium

  * Fixed opsiDepotId Usage for opsi-package-updater

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 19 Nov 2018 14:48:57 +0100

python-opsi (4.1.1.50-1) stable; urgency=medium

  * OPSI.Util.Task.UpdatePackages: Certificate authentication implemented
    for opsi-package-updater.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Fri, 16 Nov 2018 12:38:45 +0100

python-opsi (4.1.1.49-1) stable; urgency=medium

  * OPSI.Service.Worker: HTTP headers are set according to RFC 2616.
    If a header with Content-Type starting with "gzip" is encountered a
    backwards-compatible answer is made.
  * OPSI.Object: Adding a property read-only property version to Product,
    ProductOnClient and ProductOnDepot. It is a string combining the values of
    productVersion and packageVersion. This property is not present in the API.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 06 Nov 2018 12:16:49 +0100

python-opsi (4.1.1.48-1) stable; urgency=medium

  * OPSI.System.Windows: Fixed some reference bugs.
  * OPSI.Util.Task.UpdatePackages: Added missing reference.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 17 Oct 2018 14:36:41 +0200

python-opsi (4.1.1.47-1) stable; urgency=medium

  * Based on python-opsi 4.0.7.69.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 20 Sep 2018 17:17:14 +0200

python-opsi (4.1.1.46-1) stable; urgency=medium

  * OPSI.Backend.File: Fix reading extended attributes of LocalbootProduct and
    NetbootProduct.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 11 Sep 2018 14:59:21 +0200

python-opsi (4.1.1.45-1) testing; urgency=medium

  * Added OPSI.Util.Task.UpdatePackages. This makes parts of
    opsi-package-updater reusable.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 04 Sep 2018 13:56:55 +0200

python-opsi (4.1.1.44-1) stable; urgency=medium

  * OPSI.Backend.Depotserver: Small internal refactorings.
  * OPSI.Backend.Depotserver: depot_installPackage: Log messages show exactly
    what product / depot is involved.
  * OPSI.Backend.HostControl: Refactored lookup for custom opsiclientd port.
  * OPSI.Backend.HostControlSafe: Added support for custom opsiclientd port.
  * OPSI.Backend.OpsiPXEConfd: Added support for connection to a different
    external opsi server.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 03 Sep 2018 13:34:03 +0200

python-opsi (4.1.1.43-1) testing; urgency=medium

  * OPSI.Backend.Depotserver: only unlock productOnDepot after successful
    installation.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 20 Aug 2018 17:15:26 +0200

python-opsi (4.1.1.42-4) stable; urgency=medium

  * Debian: Reverted changes from -3 and -2.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 15 Aug 2018 13:08:28 +0200

python-opsi (4.1.1.42-3) stable; urgency=medium

  * Alter dependency from 4.1.1.42-2: Depend on python-twisted <= 17.9.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 15 Aug 2018 11:46:48 +0200

python-opsi (4.1.1.42-2) stable; urgency=medium

  * Do not use conch 18.4 or newer because this will currently break things

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 14 Aug 2018 17:06:37 +0200

python-opsi (4.1.1.42-1) testing; urgency=medium

  * Various small internal refactorings.
  * OPSI.Backend.Depotserver: Refactored handling in installPackage.
  * OPSI.Backend.MySQL: Refactored productProperty_updateObject and
    productProperty_insertObject.
  * OPSI.System.Windows.getArchitecture: correctly returns the default 'x86'
    in case of an error.
  * OPSI.Util.File.Archive: Make use of longopts in all commands.
  * OPSI.Util.File.Archive.CpioArchive: Extract with --no-preserve-owner.
  * OPSI.Util.Task.Backup.OpsiBackup: added method 'list' to show what is
    contained in a backup.
  * OPSI.Util.Task.Backup.OpsiBackup: restore will warn if restoring an
    currently unused backend is attempted.
  * OPSI.Util.Task.Backup.OpsiBackup: restore will fail if an restore attempt
    would lead to doing nothing.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 07 Aug 2018 09:09:07 +0200

python-opsi (4.1.1.41-1) stable; urgency=medium

  * Based on python-opsi 4.0.7.68.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 26 Jul 2018 15:10:44 +0200

python-opsi (4.1.1.40-2) stable; urgency=medium

  * Postinst: Making sure that /etc/opsi/server_commands_default.conf exists.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 16 Jul 2018 12:18:52 +0200

python-opsi (4.1.1.40-1) testing; urgency=medium

  * OpsiPXEConfd backend: improve performance by precollecting the
    required data that then can be used by opsipxeconfd.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 19 Jun 2018 14:38:25 +0200

python-opsi (4.1.1.39-1) stable; urgency=medium

  * SQL-based backends: Increased length of inventoryNumber of a host to 64
    characters.
  * OPSI.Backend.Backend.ModificationTrackingBackend: small speedup.
  * Various small internal refactorings.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 11 Jun 2018 11:44:15 +0200

python-opsi (4.1.1.38-1) stable; urgency=medium

  * Based on python-opsi 4.0.7.66.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 07 Jun 2018 22:35:19 +0200

python-opsi (4.1.1.37-1) stable; urgency=medium

  * Based on python-opsi 4.0.7.65.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 29 May 2018 13:23:17 +0200

python-opsi (4.1.1.36-1) testing; urgency=medium

  * OPSI.Util.Message has received an __all__.
  * OPSI.Backend.SQL: The length of column `groupId` in table `OBJECT_TO_GROUP`
    is now the same as defined in the table `GROUP`.
  * Refactored processing of backend migrations for MySQL backend.
  * OPSI.SharedAlgorithm: Changed classification of many log messages to
    have fewer log entries in non-debug levels.
  * OPSI.Backend.Backend: added new method 'describeInterface' to describe
    the public interface of an instance.
  * OPSI.Service.JsonRpc: Only one lookup of the method name during execution.
  * 10_opsi.conf: setProductActionRequestWithDependencies will relay
    requests for a netboot product to setProductActionRequest.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 22 May 2018 15:10:02 +0200

python-opsi (4.1.1.35-2) testing; urgency=medium

  * Debian: depend on iproute or iproute2.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 04 May 2018 14:26:40 +0200

python-opsi (4.1.1.35-1) testing; urgency=medium

  * Based on python-opsi 4.0.7.63.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 02 May 2018 17:45:26 +0200

python-opsi (4.1.1.34-1) testing; urgency=medium

  * OpsiPXEConfdBackend.configState_deleteObjects: Make sure that only one
    update of the PXE config is triggered per host.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 24 Apr 2018 18:15:31 +0200

python-opsi (4.1.1.33-1) experimental; urgency=medium

  * Changed loglevel for execution of a package script (preinst / postinst).
  * Small internal refactorings.
  * OPSI.Util.HTTP: Removed unfinished pycurl experiments.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 13 Apr 2018 11:07:17 +0200

python-opsi (4.1.1.32-1) stable; urgency=medium

  * BackendManager logs easier to spot warning if loading the configuration
    for HostControlBackend or HostControlSafeBackend fails.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 09 Apr 2018 10:03:28 +0200

python-opsi (4.1.1.31-1) testing; urgency=medium

  * Creating /var/lib/opsi/server_commands_custom.conf if missing and
    setting the appropriate access rights during postinst.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 21 Mar 2018 15:22:50 +0100

python-opsi (4.1.1.30-1) testing; urgency=medium

  * Based on python-opsi 4.0.7.58.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 20 Mar 2018 16:07:34 +0100

python-opsi (4.1.1.29-1) stable; urgency=medium

  * OPSI.Util.Task.Certificate: use os.urandom instead of OpenSSL.rand
    because OpenSSL.rand has been removed in current versions.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 09 Mar 2018 15:40:23 +0100

python-opsi (4.1.1.28-1) stable; urgency=medium

  * Based on python-opsi 4.0.7.57-1.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 23 Feb 2018 13:26:52 +0100

python-opsi (4.1.1.27-1) stable; urgency=medium

  * 45_deprecated.conf: Added methods createOpsiBase, createServer,
    deleteClient, deleteDepot, deleteGroup, deleteProductDependency,
    deleteServer, setHostLastSeen. These methods are deprecated.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 22 Feb 2018 13:48:10 +0100

python-opsi (4.1.1.26-1) stable; urgency=medium

  * Based on python-opsi 4.0.7.56-1.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 20 Feb 2018 14:13:35 +0100

python-opsi (4.1.1.25-1) stable; urgency=medium

  * Move targetfile to the name of link if dispatch.conf and acl.conf
    are symbolic links
  * dispatch.conf.default renamed to dispatch.conf.example
  * acl.conf.default renamed to acl.conf.example
  * RPM & debian: Added preinst

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Thu, 08 Feb 2018 00:39:05 +0100

python-opsi (4.1.1.24-1) stable; urgency=medium

  * dispatch.conf.default: Removed dhcpd from backends because this is
    an optional backend.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 05 Feb 2018 12:59:08 +0100

python-opsi (4.1.1.23-1) stable; urgency=medium

  * OPSI.Backend.OpsiPXEConfd: The error marker is now a constant.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 01 Feb 2018 16:19:32 +0100

python-opsi (4.1.1.22-1) testing; urgency=medium

  * Based on python-opsi 4.0.7.53-1.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 04 Jan 2018 15:37:42 +0100

python-opsi (4.1.1.21-1) stable; urgency=medium

  * Fix problem when updating hardware audit data.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 27 Nov 2017 18:02:31 +0100

python-opsi (4.1.1.20-2) stable; urgency=medium

  * Creating empty directory /etc/opsi/modules.d/

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 22 Nov 2017 13:04:26 +0100

python-opsi (4.1.1.20-1) stable; urgency=medium

  * Moved function getGlobalConfig from OPSI.Util to OPSI.Util.Config.
  * Calling OPSI.Util.getfqdn without explicit parameter as this resembles
    the default behaviour.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 06 Nov 2017 15:02:03 +0100

python-opsi (4.1.1.19-1) stable; urgency=medium

  * spec: added python-setuptools workaround for sles12 + Leap

 -- Mathias Radtke <m.radtke@uib.de>  Fri, 13 Oct 2017 13:53:02 +0200

python-opsi (4.1.1.18-1) stable; urgency=medium

  * 45_deprecated.conf: Removed methods isLegacyOpsi, isOpsi35 and isOpsi4
    since there is no need for them.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 27 Sep 2017 16:20:25 +0200

python-opsi (4.1.1.17-1) stable; urgency=medium

  * Added logging to host_renameOpsiClient.
  * host_renameOpsiDepotserver will now also change the workbenchRemoteUrl.
  * Added logging to host_renameOpsiDepotserver.
  * Internal refactorings in host_renameOpsiDepotserver.
  * OPSI.Backend.ConfigDataBackend: Added new method
    backend_getSystemConfiguration.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 30 Aug 2017 13:05:56 +0200

python-opsi (4.1.1.16-1) stable; urgency=medium

  * OPSI.System.Posix: Added CommandNotFoundException to __all__.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 31 Jul 2017 11:44:27 +0200

python-opsi (4.1.1.15-1) testing; urgency=medium

  * Improved rpm packaging.
  * Refactored OPSI.Util.compareVersions.
  * Refactored OPSI.Util.File.Opsi.HostKeyFile for faster writing.
  * OPSI.Util.File.Opsi.HostKeyFile: Do not crash when reading file with
    invalid format.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 28 Jul 2017 15:20:43 +0200

python-opsi (4.1.1.14-3) testing; urgency=medium

  * Listing 45_deprecated.conf for rollout.
  * Debian: Removed leftovers from the pre-systemd-era.
  * postinst: Another change at removing /etc/opsi/version to make SLES
    happy.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 13 Jul 2017 16:03:00 +0200

python-opsi (4.1.1.14-2) testing; urgency=medium

  * RPM: Removed leftovers from the pre-systemd-era.
  * postinst: Making sure that a failed attempt at removing /etc/opsi/version
    does not crash the postinst.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 13 Jul 2017 15:47:25 +0200

python-opsi (4.1.1.14-1) testing; urgency=medium

  * OPSI.Util.File.Opsi.PackageContentFile.generate has been refactored to
    be easier to maintain.
  * OPSI.Backend.Backend: backend_info will log informations about a
    possibly missing modules file as info instead of warning.
  * postinst: only remove /etc/opsi/version if this file exists
  * Debian packaging: Remove leftover from python-support.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 13 Jul 2017 15:17:49 +0200

python-opsi (4.1.1.13-1) testing; urgency=medium

  * OpsiBackup: Fix a bug where an attempt may be made to compare
    uncomparable types.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 10 Jul 2017 17:57:43 +0200

python-opsi (4.1.1.12-1) testing; urgency=medium

  * OpsiBackup: Fix bug where differences between the archive and the current
    system are detected but there are none.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 10 Jul 2017 13:53:23 +0200

python-opsi (4.1.1.11-2) testing; urgency=medium

  * dispatch.conf.default now uses a default setup that makes use of file
    for all data except for audit data which is stored in MySQL.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 04 Jul 2017 16:15:53 +0200

python-opsi (4.1.1.11-1) testing; urgency=medium

  * OPSI.Util.Task.UpdateBackend.ConfigurationData.getServerAddress is
    now a public function.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 30 Jun 2017 16:06:00 +0200

python-opsi (4.1.1.10-1) testing; urgency=medium

  * acl.conf.default: restricted the access to user_getCredentials and
    user_setCredentials.
  * New extension: 45_deprecated.conf. Methods in that extension will issue a
    warning when called. Calls to these functions should be replaced in the used clients as these functions will be removed in the future.
    Currently containing the functions isLegacyOpsi, isOpsi35 and isOpsi4.
  * Make it possible to configure the location of the workbench on
    OpsiDepotserver.
  * New module OPSI.Util.Task.InitializeBackend for backend setup.
  * New module OPSI.Util.Task.UpdateBackend.ConfigurationData for updating
    the configuration data in an existing backend.
  * New module OPSI.Config.
  * initializeBackends will set up new servers with remote URLs using IP
    except for UCS where FQDN is used by default.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 30 Jun 2017 12:01:29 +0200

python-opsi (4.1.1.9-1) testing; urgency=medium

  * Remove obsolete reference to /etc/opsi/version when restoring a backup.
  * dhcpd.conf: Make the current Debian/Ubuntu dhcp settings the default.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 27 Jun 2017 15:02:52 +0200

python-opsi (4.1.1.8-1) testing; urgency=medium

  * Fix a bug in OPSI.Util.objectToBash leading to an AttributeError.
  * Fix a bug in OPSI.Util.objectToBash where the reference to an result
    was incomplete.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 22 Jun 2017 16:06:21 +0200

python-opsi (4.1.1.7-1) testing; urgency=medium

  * Exceptions have been moved from OPSI.Types to OPSI.Exceptions.
  * Remove leftover for Scientific Linux support.
  * Re-classified log-messages regarding the (un)installation of packages.
  * Post-installation /etc/opsi/version will be removed.
  * SQL backend: speed up retrieval of ProductProperty objects.
  * Various refactorings regarding (de)serialization.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 21 Jun 2017 15:48:26 +0200

python-opsi (4.1.1.6-1) testing; urgency=medium

  * 20_legacy.conf: Various refactorings to make it easier to maintain.
  * 20_legacy.conf: Removed method deleteGroup. Use group_delete instead.
  * 20_legacy.conf: Removed method createServer.
  * 20_legacy.conf: Removed method deleteClient. Use host_delete instead.
  * 20_legacy.conf: Removed method deleteDepot. Use host_delete instead.
  * 20_legacy.conf: Removed method setHostLastSeen.
  * 20_legacy.conf: Removed method deleteProductDependency.
  * 20_legacy.conf: Removed method deleteOpsiBase.
  * 20_legacy.conf: Removed method createOpsiBase.
  * 30_kiosk.conf: Relying on dict comprehensions.
  * Debian packaging: Remove workarounds for Debian 7 and Ubuntu 12.04.
  * Method backend_info will now use the version from OPSI.__version__.
  * Certificates created with OPSI.Util.Task.createCertificate will use
    sha512 instead of sha1.
  * acl.conf.default: Limit access to getData / getRawData to administrative
    users.
  * Remove support for RHEL / CentOS 6.
  * Remove modules for obsolete opsiconfd supervisor.
  * New module OPSI.Util.Task.UpdateBackend.File.
  * OPSI.Util.Task.UpdateBackend: Added check for the used schema version
    of the backend.
  * Removed usage of the file /etc/opsi/version. It is safer to read the
    version from OPSI.__version__.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 30 May 2017 13:58:35 +0200

python-opsi (4.1.1.5-1) testing; urgency=medium

  * OPSI.Util.objectToBash: refactored function.
  * ConfigDataBackend: log_read and log_write now accept logType 'winpe'.
  * Removed deprecated method backend_getSharedAlgorithm.
  * OPSI.Util.getfqdn: small internal refactoring.
  * OPSI.Service.Session: SessionHandler.getSessions now always returns
    a dict.
  * Refactored configState_getClientToDepotserver to work faster.
  * Improved speed of OPSI.Object.decodeIdent if the hash contains no
    key 'ident'.
  * 10_opsi.conf: Dropped the deprecated 'force' parameter from
    setProductActionRequestWithDependencies.
  * Instead of a plain Exception we now raise more specific exceptions in
    many places.
  * OPSI.Util.File.Opsi.PackageControlFile now supports product properties
    with empty lists as default or possible values. Regenerating a control
    file will not drop that empty lists anymore.
  * The ports used for Wake-on-LAN in the HostControl(Safe) backend can now
    be configured on a per-broadcast-addresse-basis in hostcontrol.conf.
  * Refactorings in OPSI.Util.Message.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 10 May 2017 14:32:20 +0200

python-opsi (4.1.1.4-1) testing; urgency=medium

  * OPSI.Backend.MySQL: Providing known error codes as constants.
  * OPSI.Backend.MySQL: Refactored MySQL.connect.
  * OPSI.Backend.JSONRPC.JSONRPCBackend: Removed check for working deflate
    that was required because of possibly invalid HTTP headers in old
    OPSI versions.
  * OPSI.System.Posix: no direct import of posix module.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 24 Apr 2017 14:11:55 +0200

python-opsi (4.1.1.3-1) testing; urgency=medium

  * Small refactorings in SQL backend.
  * Cleaned up OPSI.Util.Repository.
  * 20_legacy.conf: Various cleanups and adaption of code style.
  * The user pcpatch is created with /bin/false as default shell.
  * Builds for debian-based systems do not depend on python-support anymore.
  * acl.conf.default and dispatch.conf.default will be copied instead of
    linked.
  * Implemented __all__ with tuples.
  * JSONRPCBackend: removed methods isLegacyOpsi, isOpsi35 and isOpsi4.
    If you need to know the version of the connected backend call the
    method 'backend_info' instead.
  * Internal refactorings.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 17 Mar 2017 16:10:09 +0100

python-opsi (4.1.1.2-1) experimental; urgency=medium

  * OPSI.Backend.Backend got new context manager temporaryBackendOptions.
  * Removed various obsolete modules.
  * OPSI.Util.Task.Rights: removed opsi-deploy-client-agent-default and
    opsi-deploy-client-agent-old from the list of known executables.
  * PackageControlFile: no more support for opsi3 compatible packages.
  * Removed support for incremental packages.
  * Minimum required Python version is now 2.7.
  * 70_dynamic_depot.conf: Removed unused getBytes.
  * Removed 30_configed.conf.
  * 20_legacy.conf: Removed various methods only returning a
    NotImplementedError: setNetworkConfigValue, deleteNetworkConfig,
    setPXEBootConfiguration, unsetPXEBootConfiguration,
    softwareInformationToProductInstallationStatus,
    filterHostsByHardwareInformation, generateOpsiHostKey,
    createServerProduct, getServerProductIds_list,
    getUninstalledProductIds_list, getDefaultNetBootProductId,
    deleteProductProperty, deleteProductProperties
  * 20_legacy.conf: getHostId now raises a ValueError if no hostname
    is given.
  * 20_legacy.conf: getOpsiHostKey now raises a ValueError if no hostId
    is given.
  * Remove unused BootConfiguration objects and SQL tables. If the table
    'BOOT_CONFIGURATION' exists updateMySQLBackend will drop that table.
  * BackendDispatchConfigFile.parse will now return a list of tuples.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 27 Jan 2017 15:42:15 +0100

python-opsi (4.1.1.1-1) experimental; urgency=medium

  * OPSI.Logger, OPSI.Object, OPSI.System.Posix, OPSI.System.Windows,
    OPSI.Util and the modules in OPSI.Backend now provide __all__.
  * JSONRPCBackend: Avoid using "async" as name for a variable because
    this will become a keyword with Python 3.5.
  * ConfigurationData.initializeConfigs now creates entries for
    opsiclientd.event_user_login.active and
    opsiclientd.event_user_login.action_processor_command by default.
  * Removed parts of an old message bus implementation.
  * Replacing the deprecated module 'new' with 'types'.
  * SQLBackend: Filter creation is done through generators.
  * OPSI.Util.objectToBeautifiedText now uses the json module instead of
    a custom implementation.
  * Removed unsupported backends: Cache, Multiplex, LDAP.
  * ThreadPool: removed functions __createWorker & __deleteWorker.
  * Removed unused function OPSI.Util.flattenSequence.
  * OPSI.Backend.Backend implemented the protocol for being used as a
    context manager.
  * setup.py will patch the first version found in debian/changelog
    into OPSI/__init__.py to always show the current version.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 04 Oct 2016 16:15:11 +0200

python-opsi (4.0.7.69-1) stable; urgency=medium

  * OPSI.Util.File.Opsi.parseFilename now works with absolute and relative
    paths.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 13 Sep 2018 14:19:24 +0200

python-opsi (4.0.7.68-1) stable; urgency=medium

  * OpsiBackup: Internal refactorings for restore handling.
  * OpsiBackup: Fix restore when backends are "auto" and the backup
    does not contain data for a backend.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 26 Jul 2018 14:25:19 +0200

python-opsi (4.0.7.67-1) stable; urgency=medium

  * OpsiBackup: File backend: improve handling of hostkeys file.
    Most noticable the restore will restore the file to the path
    configured in the backup.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 11 Jun 2018 09:51:42 +0200

python-opsi (4.0.7.66-1) stable; urgency=medium

  * MySQL-Backend: Improve handling of very large changelogs containing
    unicode characters.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 07 Jun 2018 22:07:32 +0200

python-opsi (4.0.7.65-1) stable; urgency=medium

  * Reverted changes made in 4.0.7.63.
    This means all updates will be relayed to the depot again regardless
    of the set action request.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 29 May 2018 12:56:42 +0200

python-opsi (4.0.7.64-1) testing; urgency=medium

  * 10_opsi.conf: setProductActionRequestWithDependencies will relay
    requests for a netboot product to setProductActionRequest.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 22 May 2018 15:32:58 +0200

python-opsi (4.0.7.63-1) testing; urgency=medium

  * OpsiPXEConfd: Only relay updates to the depot if the action request is
    setup, always or once.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 02 May 2018 16:40:36 +0200

python-opsi (4.0.7.62-1) testing; urgency=medium

  * JSONRPCBackend: Block again when retrieving connections.
  * JSONRPCBackend: Default connection pool size is 2.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 18 Apr 2018 10:35:24 +0200

python-opsi (4.0.7.61-1) testing; urgency=medium

  * OpsiPXEConfd backend: Reliably close socket.
  * OpsiPXEConfd backend: small refactorings.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 12 Apr 2018 14:15:17 +0200

python-opsi (4.0.7.60-1) experimental; urgency=medium

  * JSONRPCBackend: Do not block when retrieving connections.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 12 Apr 2018 12:12:15 +0200

python-opsi (4.0.7.59-1) testing; urgency=medium

  * 10_wim.conf: updateWIMConfig checks for install.wim and install.esd.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 21 Mar 2018 15:16:25 +0100

python-opsi (4.0.7.58-1) testing; urgency=medium

  * 20_legacy.conf: setProductProperty does not make a string out of lists
    anymore.
  * 20_legacy.conf: setProductProperty does not have the side-effect of
    changing out-of-scope properties anymore.
  * 20_legacy.conf: Refactored setProductProperties.
    This will now raise BackendMissingDataError in case non-existing
    product or property should be changed.
    This will raise an ValueError if an attempt is made to set multiple
    values on a non-multivalue ProductProperty.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 20 Mar 2018 15:10:37 +0100

python-opsi (4.0.7.57-1) testing; urgency=medium

  * OPSI.Backend.MySQL: In case the MySQL server goes away during the
    execution of a query the retry will not deadlock.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 23 Feb 2018 12:58:25 +0100

python-opsi (4.0.7.56-1) testing; urgency=medium

  * OPSI.Backend.MySQL: Creation of connection pool will wait for the lock
    in a non-blocking fashion.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 20 Feb 2018 13:34:45 +0100

python-opsi (4.0.7.55-1) stable; urgency=medium

  * OPSI.Backend.Backend: configState_insertObject and configState_updateObject
    do not fail anymore when called with a dict as parameter.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 02 Feb 2018 14:32:28 +0100

python-opsi (4.0.7.54-1) stable; urgency=medium

  * OPSI.Backend.MySQL: Avoid possible deadlock situation.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 01 Feb 2018 15:27:03 +0100

python-opsi (4.0.7.53-1) testing; urgency=medium

  * OPSI.Backend.MySQL: Fix a bug in the handling of the connection pool
    that would lead to opening too many connections to the mysql server.
  * OPSI.Backend.MySQL: Correctly defining a special version of
    productProperty_updateObject.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 04 Jan 2018 15:05:09 +0100

python-opsi (4.0.7.52-1) stable; urgency=medium

  * OPSI.Util.Task.Samba: _writeConfig does not reload Samba. This is
    now a separate function _reloadSamba.
  * 30_kiosk.conf: Fix bug in getKioskProductInfosForClient where product
    missing on depot will result in a KeyError.
    This limits the available products to those present on the depot of
    the client.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 15 Dec 2017 10:13:19 +0100

python-opsi (4.0.7.51-1) stable; urgency=medium

  * Fixed typo in documentation.
  * Updated documentation of log_read / log_write.
  * Refactored reading of the used algorithm to make sure algorithm1 is used
    whenever an invalid value is encountered.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 11 Dec 2017 16:47:58 +0100

python-opsi (4.0.7.50-1) experimental; urgency=medium

  * Corrected failing Samba tests

 -- Mathias Radtke <m.radtke@uib.de>  Fri, 22 Sep 2017 12:22:40 +0200

python-opsi (4.0.7.49-1) experimental; urgency=medium

  * fixed OpenSUSE Leap opsi_workbench share directory
  * Catching missing server_commands_custom.conf error

 -- Mathias Radtke <m.radtke@uib.de>  Fri, 22 Sep 2017 10:54:06 +0200

python-opsi (4.0.7.48-1) stable; urgency=medium

  * System.Windows.getActiveSessionIds fix for nt6
  * hostControl: Implementation for modified opsiclientd controlserver port over configState

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 21 Aug 2017 16:07:09 +0200

python-opsi (4.0.7.47-1) stable; urgency=medium

  * Changed OPSI.Util.File.Opsi.parseFilename to be able to handle files
    not ending in .opsi.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 18 Aug 2017 17:06:35 +0200

python-opsi (4.0.7.46-1) stable; urgency=medium

  * Added function OPSI.Util.File.Opsi.parseFilename.
  * OPSI.Util.Repository.FileRepository: Fix bug where instead of appending
    a file it was newly written.
  * OPSI.Backend.BackendManager.BackendAccessControl: Added logmessages
    to make it easier to follow PAM authentication.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 17 Aug 2017 12:28:47 +0200

python-opsi (4.0.7.45-3) stable; urgency=medium

  * openSuse 42.3: We depend on python-setuptools because python-cryptography
    requires it during runtime but the package from the openSuse repos
    misses that requirement.
    See https://bugzilla.opensuse.org/show_bug.cgi?id=1052927

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 09 Aug 2017 10:35:06 +0200

python-opsi (4.0.7.45-2) stable; urgency=medium

  * Updated Spanish and Russian translation.
  * Added Dutch translation.
  * Updated Russian hwaudit translation.
  * Added Dutch hwaudit translation.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 07 Aug 2017 14:17:14 +0200

python-opsi (4.0.7.45-1) stable; urgency=medium

  * 10_opsi.conf: setProductActionRequestWithDependencies will relay a call
    with actionRequest = 'none' to setProductActionRequest.
  * OPSI.Backend.Backend.ConfigDataBackend: improved log truncation when
    processing unicode characters that use more than one byte.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 27 Jul 2017 14:02:39 +0200

python-opsi (4.0.7.44-1) experimental; urgency=medium

  * OPSI.Util.Task.Certificate: replaced gendh with dhparam
  * OPSI.Util.Task.Rights: Default access rights for workbench set to 664.

 -- Mathias Radtke <m.radtke@uib.de>  Tue, 25 Jul 2017 14:28:31 +0200

python-opsi (4.0.7.43-2) stable; urgency=medium

  * Debian packaging: Depending on net-tools for ifconfig.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 25 Jul 2017 09:19:10 +0200

python-opsi (4.0.7.43-1) stable; urgency=medium

  * opsihwaudit.conf: Memory clock speed is now handled as a bigint.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 17 Jul 2017 17:35:54 +0200

python-opsi (4.0.7.42-1) stable; urgency=medium

  * Fixed a bug in the package content file generation where a link that
    linked to a destination outside of the client data directory did not
    have the hash of the link destination included.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 12 Jul 2017 10:55:49 +0200

python-opsi (4.0.7.41-1) stable; urgency=medium

  * 30_kiosk.conf: Improved speed of getKioskProductInfosForClient.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 24 May 2017 16:02:20 +0200

python-opsi (4.0.7.40-1) stable; urgency=medium

  * 30_kiosk.conf: getKioskProductInfosForClient does only return a product
    once even if they are in multiple groups.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 03 May 2017 14:18:09 +0200

python-opsi (4.0.7.39-1) stable; urgency=medium

  * Added 30_kiosk.conf for the new kiosk client.
  * 30_sshcommands.conf: Internal refactoring.
  * 30_sshcommands.conf: Removed getSSHCommand.
    Use SSHCommand_getObject instead.
  * 30_sshcommands.conf: Removed getSSHCommands.
    Use SSHCommand_getObjects instead.
  * 30_sshcommands.conf: Removed createSSHCommands.
    Use SSHCommand_createObjects instead.
  * 30_sshcommands.conf: Removed createSSHCommand.
    Use SSHCommand_createObject instead.
  * 30_sshcommands.conf: Removed updateSSHCommand.
    Use SSHCommand_updateObject instead.
  * 30_sshcommands.conf: Removed updateSSHCommands.
    Use SSHCommand_updateObjects instead.
  * 30_sshcommands.conf: Removed deleteSSHCommands.
    Use SSHCommand_deleteObjects instead.
  * 30_sshcommands.conf: Removed deleteSSHCommand.
    Use SSHCommand_deleteObject instead.
  * 40_admin_tasks.conf: Updated docstring of getClientsWithOutdatedProduct.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 24 Apr 2017 17:46:09 +0200

python-opsi (4.0.7.38-4) stable; urgency=medium

  * Drop creating the custom ssh command file in the postinst.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 20 Apr 2017 19:29:11 +0200

python-opsi (4.0.7.38-3) stable; urgency=medium

  * Do not deploy empty file for custom ssh command config but instead
    create that file in the postinst if not existing.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 20 Apr 2017 17:09:02 +0200

python-opsi (4.0.7.38-2) stable; urgency=medium

  * Reverted the prevention of creating users on UCS.
  * SSH extension: emptied file with default commands for safety reasons.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 20 Apr 2017 12:52:51 +0200

python-opsi (4.0.7.38-1) stable; urgency=medium

  * 10_opsi.conf: Do not pass invalid parameter in deleteProductDependency.
  * Added SSH extension.
  * OPSI.Logger: Show no message if unlinking a non-existing file fails.
  * OPSI.Util.File.Opsi.PackageControlFile: if no version for package or
    product are given assume defaults.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 30 Mar 2017 10:47:13 +0200

python-opsi (4.0.7.37-1) stable; urgency=medium

  * 20_legacy.conf: Removed methods getPcpatchRSAPrivateKey and
    setPcpatchPassword. Please use the opsi-admin task setPcpatchPassword
    for setting the password instead.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 02 Mar 2017 11:23:49 +0100

python-opsi (4.0.7.36-1) stable; urgency=medium

  * OPSI.Util: the methods for blowfish encryption / decryption now raise
    a BlowfishError if things fail.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 16 Feb 2017 15:11:25 +0100

python-opsi (4.0.7.35-1) stable; urgency=medium

  * 10_opsi.conf: setProductActionRequestWithDependencies fix.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Fri, 10 Feb 2017 16:01:16 +0100

python-opsi (4.0.7.34-3) experimental; urgency=medium

  * Negate check for UCS to make it work as intended.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 02 Feb 2017 14:11:32 +0100

python-opsi (4.0.7.34-2) experimental; urgency=medium

  * Do not add users on UCS.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 01 Feb 2017 16:12:25 +0100

python-opsi (4.0.7.34-1) stable; urgency=medium

  * 40_admin_tasks.conf: New method setupWhereFailed.
  * 40_admin_tasks.conf: setupWhereFailed and setupWhereInstalled do not
    alter the actionResult anymore.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 27 Jan 2017 10:30:16 +0100

python-opsi (4.0.7.33-1) experimental; urgency=medium

  * OPSI.Service.SSLContext: new parameter acceptedCiphers to limit the
    ciphers a context accepts.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 11 Jan 2017 15:05:07 +0100

python-opsi (4.0.7.32-1) experimental; urgency=medium

  * DepotserverBackend: the function depot_installPackage has a new parameter
    suppressPackageContentFileGeneration that can be used to avoid the
    generation of package content file during installation.
  * OPSI.Util: Backported md5sum from opsi 4.1.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 02 Jan 2017 17:14:58 +0100

python-opsi (4.0.7.31-1) stable; urgency=medium

  [ Mathias Radtke ]
  * OPSI.System.Posix: Reboot scheduled after 1 minute of reboot() call

  [ Niko Wenselowski ]
  * OPSI.Util.Task.UpdateBackend.MySQL: Disable foreign key checks when
    changing length of productId column.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 02 Jan 2017 10:52:42 +0100

python-opsi (4.0.7.30-1) stable; urgency=medium

  * OPSI.Util.Task.Samba.isSamba4: fix possible reference to unitialised
    variable.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 15 Dec 2016 12:27:59 +0100

python-opsi (4.0.7.29-1) testing; urgency=medium

  * OPSI.Util.Task.ConfigureBackend.MySQL: allow creation of users containing
    a minus in their name.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 09 Dec 2016 17:28:45 +0100

python-opsi (4.0.7.28-5) stable; urgency=medium

  * Updated acl.conf to restrict backend deletion to administrators.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 13 Jan 2017 09:48:38 +0100

python-opsi (4.0.7.28-4) stable; urgency=medium

  * Updated acl.conf to restrict access to hostControl(Safe)-methods.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 12 Jan 2017 11:21:53 +0100

python-opsi (4.0.7.28-3) stable; urgency=medium

  * Updated translations for hwaudit.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 08 Dec 2016 15:17:30 +0100

python-opsi (4.0.7.28-2) stable; urgency=medium

  * Updated translations.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 08 Dec 2016 14:11:42 +0100

python-opsi (4.0.7.28-1) stable; urgency=medium

  * OPSI.Backend.Backend.Backend.backend_setOptions now logs whenever a value
    is skipped because of the type differs from the expected one.
  * OPSI.Backend.JSONRPC.JSONRPCBackend: corrected indentation.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 22 Nov 2016 14:12:48 +0100

python-opsi (4.0.7.27-1) experimental; urgency=medium

  * Improved __repr__ of Group, ProductProperty, ProductPropertyState and
    their subclasses.
  * OpsiBackupArchive does not fail anymore if an added file does not exist.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 25 Oct 2016 11:29:56 +0200

python-opsi (4.0.7.26-1) experimental; urgency=medium

  * SQLite backend: Fix syntax error that may occur during an ALTER TABLE
    if more than one column should be altered.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 10 Oct 2016 17:54:42 +0200

python-opsi (4.0.7.25-1) testing; urgency=medium

  * DepotserverBackend: Fix problem with package installation.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 29 Sep 2016 18:16:54 +0200

python-opsi (4.0.7.24-1) stable; urgency=medium

  * ConfigurationData: On UCS we preferably read the domain from UCR.
    If this fails we resort to the Samba config file.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 27 Sep 2016 12:37:43 +0200

python-opsi (4.0.7.23-2) stable; urgency=medium

  * Correct entry in changelog.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 26 Sep 2016 15:29:35 +0200

python-opsi (4.0.7.23-1) stable; urgency=medium

  * OPSI.System.Posix: added missing 'datetime' import.
  * OPSI.System.Posix: fix wrong reference in getBlockDeviceBusType

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 26 Sep 2016 13:18:20 +0200

python-opsi (4.0.7.22-1) testing; urgency=medium

  * DepotserverBackend: function depot_installPackage now has parameter
    'forceProductId' to force a specific product id when installing a
     product. The installation will be made into the corresponding directory
     of the given product id.
  * OPSI.Util.File.Archive.getFileType now follows symlinks.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 23 Sep 2016 14:15:56 +0200

python-opsi (4.0.7.21-1) stable; urgency=medium

  * New BackendMethod changeWANConfig
  * OPSI.System.Posix: added enx network device support
  * small fix in Repository-Handling

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 21 Sep 2016 01:22:59 +0200

python-opsi (4.0.7.20-1) stable; urgency=medium

  * Various internal refactorings.
  * OPSI.System.Posix.which now throws CommandNotFoundException instead of
    a basic Exception to make catching errors easier.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 13 Sep 2016 09:39:56 +0200

python-opsi (4.0.7.19-1) testing; urgency=medium

  * OPSI.Util.Task.UpdateBackend.MySQL: temporary disable foreign key checks
    when altering the depotId / hostId.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 06 Sep 2016 14:11:02 +0200

python-opsi (4.0.7.18-1) stable; urgency=medium

  * OPSI.System.Posix: added sleep function when using ms-sys to write partition
    boot record
  * Corrected some typos.
  * Make header verify_server_cert work with current Python 2.7.
  * OPSI.Util.Task.Samba.configureSamba: warn if oplocks are present in
    Samba configuration.
  * OPSI.System.Posix: Wait a few seconds before running ms-sys to avoid
    timing problems on systems with NVME storage.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 24 Aug 2016 17:08:55 +0200

python-opsi (4.0.7.17-1) stable; urgency=medium

  * OPSI.Util: Refactored encryptWithPublicKeyFromX509CertificatePEMFile
    and decryptWithPrivateKeyFromPEMFile.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 18 Aug 2016 10:10:53 +0200

python-opsi (4.0.7.16-1) testing; urgency=medium

  * OPSI.System.Posix: new function isOpenSUSELeap.
  * OPSI.Util.Task.Rights: Improved support for openSUSE Leap.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 15 Aug 2016 16:53:24 +0200

python-opsi (4.0.7.15-1) stable; urgency=medium

  * corrected opsi-set-rights for openSUSE

 -- Mathias Radtke <m.radtke@uib.de>  Wed, 10 Aug 2016 13:44:48 +0200

python-opsi (4.0.7.14-1) stable; urgency=medium

  * OPSI.Util.Task.Rights: Corrected path for UCS.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 05 Aug 2016 15:56:55 +0200

python-opsi (4.0.7.13-1) testing; urgency=medium

  * OPSI.Util.Task.Rights: Corrected path for SLES 11.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 27 Jul 2016 17:11:57 +0200

python-opsi (4.0.7.12-1) stable; urgency=medium

  * Correct indentation in some places.
  * Use future-proof octal values.
  * Correct version in OPSI.Util.Task.Rights and OPSI.Backend.JSONRPC.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 25 Jul 2016 14:39:25 +0200

python-opsi (4.0.7.11-1) testing; urgency=medium

  * OPSI.Util.Task.Rights: Better support for different SLES versions.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 25 Jul 2016 13:13:55 +0200

python-opsi (4.0.7.10-1) testing; urgency=medium

  * OPSI.Util.Task.Rights: Do not fail if MySQL backend is configured but
    not yet set up.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 22 Jul 2016 11:17:24 +0200

python-opsi (4.0.7.9-1) testing; urgency=medium

  * OPSI.System.Posix: new functions: isDebian, isOpenSuse, isUbuntu, isUCS.
  * OPSI.Util.Task.Rights: Refactored module.
  * OPSI.Util.Task.Rights: setRights will try to set rights on the webserver
    directory as installed by the package opsi-linux-support.
  * 40_admin_tasks.conf: Bugfix for setupWhereNotInstalled

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 21 Jul 2016 16:22:58 +0200

python-opsi (4.0.7.8-1) stable; urgency=low

  * OPSI.System.Windows:
    - getOpsiHotfixName supports now Windows 10
    - fixed Syncing Time function with service
  * Proxysupport for HTTP-Connections
  * Fix for setActionRequestWithDependencies
  * do not add obsolete config software-on-demand.show-details
  * ConfigDataBackend: internal refactoring in log_read and log_write

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 19 Jul 2016 15:36:42 +0200

python-opsi (4.0.7.7-1) stable; urgency=low

  * WindowsDrivers byAudit sku fallback fixed.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 05 Jul 2016 15:29:36 +0200

python-opsi (4.0.7.6-1) stable; urgency=medium

  * Changed formatting in Logger to not expose parts of confidential strings
    under special circumstances.
  * OPSI.Util.Task.ConfigureBackend.MySQL: fixed error on hostname with dash

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 04 Jul 2016 17:49:17 +0200

python-opsi (4.0.7.5-1) testing; urgency=medium

  * JSONRPC backend has received small refactorings.
  * 10_opsi.conf: Refactored setProductActionRequestWithDependencies.
    With this change the 'force' parameter is deprecated and does not have
    any effect. It may be removed in future releases.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 30 Jun 2016 15:39:29 +0200

python-opsi (4.0.7.4-1) testing; urgency=medium

  * OPSI.Util.Task.UpdateBackend.MySQL: Also correct license key column in
    table SOFTWARE_CONFIG.
  * ACL: Pre-compiling patterns
  * ACL: Changed log output for easier debugging.
  * Various small improvements in OPSI.Backend.BackendManager.
  * OPSI.Util.Task.Samba: Removed oplocks from share definition.
    This will only affect new share configurations.
  * OPSI.System.Posix: Improved detection for predictable network interfaces.
  * Configuration of MySQL backends warns if strict mode seems to be
    enabled.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 24 Jun 2016 14:28:26 +0200

python-opsi (4.0.7.3-1) testing; urgency=medium

  * Repaired sort algorithm 1.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 10 Jun 2016 13:36:41 +0200

python-opsi (4.0.7.2-1) testing; urgency=medium

  * OPSI.Util.Task.UpdateBackend.MySQL: making sure that columns for license
    keys are 1024 characters long.
  * HostControl: If resolveHostAddress is set to True we fall back to
    using the specified in case of a lookup failure.
  * Various small changes.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 09 Jun 2016 15:34:59 +0200

python-opsi (4.0.7.1-1) testing; urgency=medium

  * forceObjectClass got a faster check to see if we are processing JSON.
  * OPSI.System.Posix: fixed typo: init -6 -> init 6.
  * OPSI.Backend.Backend: _testFilterAndAttributes is faster if attributes
    and filter are missing.
  * OPSI.Backend.Backend: _objectHashMatches now avoids temporary variable.
  * Improved iteration in many parts to be more efficient.
  * OPSI.Logger: Faster lookup for output color / level name.
  * Changed some log outputs to make use of the formatting during logging.
  * Updated hwaudit.conf: Now showing the number of physical and logical
    cores.
  * OPSI.Util.Task.ConfigureBackend.DHCP: only retrieve and show system
    information once.
  * 20_legacy.conf: Refactored setGeneralConfig.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 20 May 2016 15:44:59 +0200

python-opsi (4.0.6.50-1) experimental; urgency=medium

  * OPSI.Logger.Logger now is able to do formatting in the style of
    str.format. To format a message use the appropriate placeholders and
    then supply args / kwargs as needed.
    Formatting will only be applied if the message will actually be logged.
  * Improved logging during HTTP Connection.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 07 Jun 2016 10:47:44 +0200

python-opsi (4.0.6.49-1) stable; urgency=medium

  * OPSI.Util.Task.Samba: removed oplocks from opsi_depot share
  * OPSI.Util.Product: Added debug output to show when tasks end.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 6 May 2016 07:32:28 +0200

python-opsi (4.0.6.48-1) stable; urgency=medium

  * OPSI.Types.forceOct avoids using a temporary variable.
  * OPSI.Util.Task.Rights.setRights: avoid processing the same path
    twice.
  * OPSI.Logger and OPSI.Service.JsonRpc now use the 'traceback' module
    to get the tracebacks.
  * OPSI.Backend.Replicator: Show the renaming of the server as a single
    step for better user feedback.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 27 Apr 2016 12:35:39 +0200

python-opsi (4.0.6.47-1) stable; urgency=medium

  * Not using bare "except:" - at least catching Exception.
  * OPSI.Util.Task.Samba: notify the user that he may need to restart the Samba
    daemon.
  * Fix typo in error message if the filter was referencing an attribute not
    present at the used object type.
  * OPSI.Backend.Replicator: Check if the used backend can rename the server
    before trying to do so. If the check fails fall back to using an
    ExtendedBackend.
  * OPSI.Backend.SQL: Limit the length of inserted changelogs to be lower than
    65535 to avoid problems with the limited size of columns of type TEXT.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 21 Apr 2016 13:18:16 +0200

python-opsi (4.0.6.46.1-1) stable; urgency=medium

  * Using the new-style base64 Python interface to avoid breaking with
    combinations of username and password that exceed 72 characters and
    lead to newlines in the base64-encoded authentication header.
    This is in response to CVE-2016-5699 / Python bug 22928 as these
    patched Python versions may lead to breaks on some systems.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 22 Jun 2016 17:28:31 +0200

python-opsi (4.0.6.46-1) stable; urgency=medium

  * File backend: Correctly read/write the locked attribute on ProductOnDepot.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 07 Apr 2016 11:07:15 +0200

python-opsi (4.0.6.45-1) experimental; urgency=medium

  * 40_admin_tasks.conf: added method setupWhereInstalled.
  * 40_admin_tasks.conf: added method getClientsWithOutdatedProduct.
  * 40_admin_tasks.conf: added method
    setActionRequestWhereOutdatedWithDependencies.
  * Updated French translation for hwaudit.
  * OPSI.System.Posix: bypassed startsector 0 in Xenial Sfdisk

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 07 Mar 2016 17:12:50 +0100

python-opsi (4.0.6.44-1) experimental; urgency=medium

  * .spec: Naming all known config files.
  * Small improvements around the creation of AuditHardwareOnHosts.
  * OPSI.Types.forceOpsiTimestamp has received improved handling of
    datetime.datetime objects.
  * OPSI.Types.forceTime can now handle datetime.datetime objects.
  * OPSI.Object.mandatoryConstructorArgs has been refactored.
  * Moved the methods "uninstallWhereInstalled",
    "updateWhereInstalled", "setupWhereNotInstalled" and
    "setActionRequestWhereOutdated" into the new backend extension
    "40_admin_tasks.conf".
  * Method "setActionRequestWhereOutdated" ignores products on client
    with installation-status 'unknown'.
  * Added polish translation. Thanks to Jerzy Włudarczylk!
  * OPSI.System.Posix: corrected typo in sfdisk call
  * OPSI.System.Posix: added more reboot calls in reboot() function
  * OPSI.System.Posix: refactored sfdisk compatability from 4.0.6.41-1
  * OPSI.System.Posix: added new function setLocalSystemTime.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 03 Mar 2016 13:58:55 +0100

python-opsi (4.0.6.43-1) experimental; urgency=medium

  * Small bugfix in 10_wim.conf.
  * OPSI.Util.WIM got a new function getImageInformation.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 23 Feb 2016 13:32:33 +0100

python-opsi (4.0.6.42-1) experimental; urgency=medium

  * 20_legacy.conf: Added new methods "uninstallWhereInstalled",
    "updateWhereInstalled", "setupWhereNotInstalled" and
    "setActionRequestWhereOutdated".
  * New module: OPSI.Util.WIM.
  * New file: 10_wim.conf with methods "updateWIMConfigFromPath" and
    "updateWIMConfig".
  * OPSI.Util.File.Opsi.PackageControlFile does not add empty line after
    changelog anymore.
  * Improved error messages during creation of an object from a dict if that
    dict does miss an argument required by the constructor.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 22 Feb 2016 17:29:04 +0100

python-opsi (4.0.6.41-1) experimental; urgency=medium

  [ Mathias Radtke ]
  * OPSI.System.Posix.py: Added sfdisk (2.26) compatability on HP Smart-Array
  * OPSI.System.Posix.py: Added 'enp' device in getEthernetDevices()

  [ Niko Wenselowski ]
  * OPSI.Util.flattenSequence is now handles generators by consuming them.
  * OPSI.Util.formatFileSize now handles terrabyte sized data.
  * 20_legacy.conf: new function setActionRequestWhereOutdated.
  * Show what sort algorithm get's called.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 12 Feb 2016 14:45:33 +0100

python-opsi (4.0.6.40-1) experimental; urgency=medium

  [ Mathias Radtke ]
  * OPSI.System.Posix.py: fixed bug in HP Smart Array Disk handling
  * OPSI.System.Posix.py: added simple sfdisk 2.26 (wily) compatability

  [ Niko Wenselowski ]
  * 70_wan.conf: Added docstring for changeWANConfig.
  * 70_wan.conf: The 'enabled' parameter now will be converted to bool internally.
  * Rights.py: added 'windows-image-detector.py' to known executables.
  * JSONRPC-Backend: Changed method to use when checking for deflate support.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 18 Jan 2016 14:27:19 +0100

python-opsi (4.0.6.39-2) experimental; urgency=medium

  * gettext.python-opsi_en: copied from python-opsi.pot instead of linking because of placeholder Variables

 -- Mathias Radtke <m.radtke@uib.de>  Wed, 06 Jan 2016 08:05:00 +0100

python-opsi (4.0.6.39-1) experimental; urgency=medium

  [Mathias Radtke]
  * gettext: added faked english 'translation'

  [ Niko Wenselowski]
  * Replacing many try/finally-constructs with contextmanagers.
  * OPSI.Util.Repository: Removed wildcard imports.
  * OPSI.Util.Repository: some small refactorings.
  * OPSI.Backend.BackendManager now uses a default configuration if no
    keyword arguments are supplied to the constructor.
  * openSuse: do not alter the path of filename in dhcpd.conf.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 05 Jan 2016 15:10:27 +0100

python-opsi (4.0.6.38-1) experimental; urgency=medium

  * Reverting changes to
    OPSI.SharedAlgorithm.generateProductOnClientSequence_algorithm1

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 15 Dec 2015 13:43:42 +0100

python-opsi (4.0.6.37-1) experimental; urgency=medium

  * OPSI.SharedAlgorithm.generateProductOnClientSequence_algorithm1
    should now return the products in the expected order.
  * OPSI.Util.HTTP: new function closeConnection.
  * OPSI.Util.HTTP: new context manager closingConnection.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 08 Dec 2015 15:12:00 +0100

python-opsi (4.0.6.36-1) experimental; urgency=medium

  * OPSI.Util.HTTP: Added log statements for easier debugging.
  * OPSI.Util.HTTP: Refactorings in hybi10Encode & hybi10Decode
  * OPSI.Backend.JSONRPC: Better readable debug output with loglevel 8.
  * OPSI.Logger: do not fail if calling setLogFile with None.
  * OPSI.Backend.ExtendedBackend: calling backend_info without backend
    set will not fail anymore.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 03 Dec 2015 10:10:43 +0100

python-opsi (4.0.6.35-1) experimental; urgency=medium

  * OPSI.Backend.JSONRPC: Enrich debug information for method creation.
  * OPSI.Types: if forceOct fails show at what number it failed.
  * OPSI.Types: small refactoring in forceBool.
  * HostControl.RpcThread: specify "application/json" as content-type.
  * New module: OPSI.Util.Task.ConfigureBackend.DHCPD
  * New functions in OPSI.System.Posix: isCentOS, isSLES & isRHEL
  * OPSI.Backend.Backend: Small refactorings and improved debug output.
  * OPSI.Backend.ManagerBackend: Small refactorings and improved debug output.
  * configureDHCPD now also patches the DHCPD backend config to use the
    right service restart command.
  * OPSI.Object.AuditHardware: improve __repr__
  * OPSI.Logger: always use the absolute path when setting a logfile.
  * OPSI.Object.Product: __repr__ now shows version of product and package
  * OPSI.Object.BaseObject now creates a __repr__ out of the attributes
    that make an object unique.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 27 Nov 2015 10:47:19 +0100

python-opsi (4.0.6.34-1) experimental; urgency=medium

  * ConfigDataBackend: the argument 'maxSize' for log_read must be positive.
  * ConfigDataBackend: refactored the log_write method.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 12 Nov 2015 15:16:28 +0100

python-opsi (4.0.6.33-1) experimental; urgency=medium

  * OPSI.Service.Session.Session gained a __repr__.
  * OPSI.Backend.BackendManager.BackendDispatcher gained a __repr__.
  * OPSI.Backend.HostControl.HostControlBackend gained a __repr__.
  * OPSI.Backend.HostControlSafe.HostControlSafeBackend gained a __repr__.
  * ConfigDataBackend: fixed an edge case where the amount of data written
    would exceed the limit.
  * opsihwaudit.conf: Re-introduce the missing SKU.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 06 Nov 2015 10:37:12 +0100

python-opsi (4.0.6.32-1) experimental; urgency=medium

  * OPSI.SharedAlgorithm: less log output.
  * OPSI.Backend.JSONRPC: small refactorings in JSONRPC.
  * OPSI.Backend.BackendManager: Log if dispatching a method is done.
  * OPSI.Backend.SQL.timeQuery: log duration even in case of failure.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 30 Oct 2015 12:28:12 +0100

python-opsi (4.0.6.31-1) experimental; urgency=medium

  * OPSI.Backend.JSONRPC: Added some debug output.
  * OPSI.Service.Session: Show what session is in use before deletion.
  * OPSI.Util.HTTP.HTTPConnectionPool.urlopen: Log errors instead of ignoring
  * OPSI.Util.HTTP.HTTPConnectionPool.urlopen: slightly increased the delay
    between retries to not bomb a busy server with even more requests.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 29 Oct 2015 14:31:33 +0100

python-opsi (4.0.6.30-1) experimental; urgency=medium

  * OPSI.Service.Session: SessionHandler.sessionExpired does more frequently
    checks if session is still in use or timeout occurred.
  * 20_legacy.conf & 30_configed.conf: getDomain: Fix NameError caused by
    implicit import.
  * 10_opsi.conf & 30_configed.conf: getProductOrdering: Fix NameError caused
    by implicit import.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 28 Oct 2015 12:05:45 +0100

python-opsi (4.0.6.29-1) experimental; urgency=medium

  * Implementing type checks via isinstance instead of using type.
  * Removed wildcard import in various modules in OPSI.Backend.
  * 20_legacy.conf: Removed librsyncPatchFile because it never worked.
  * OpsiConfFile.parse now raises ValueError if invalid sections are
    found or configuration happens outside sections.
  * objectToHtml now works more efficient with large results.
  * OPSI.Util.Task.Samba: Fix typo in share opsi_repository that lead
    to referencing the wrong path.
  * toJson now handles generators by consuming them.
    The output resembles that of a list.
  * objectToBeautifiedText, objectToBash and objectToHtml are now able
    to handle sets - they interpret it like a list.
  * OPSI.Service.Worker.WorkerOpsiJsonRpc: improved backwards compatible
    handling of queries without any specific encoding. This should make
    any call with a plain encoding work as expected.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 27 Oct 2015 17:38:16 +0100

python-opsi (4.0.6.28-1) testing; urgency=medium

  * OPSI.SharedAlgorithm: OpsiProductOrderingErrors now show what products
    cause the problem.
  * OPSI.Util.Task.CleanupBackend: Reference correct key.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 08 Oct 2015 14:37:45 +0200

python-opsi (4.0.6.27-1) experimental; urgency=medium

  * OPSI.Util.flattenSequence now can handle sets.
  * OPSI.Backend.ConfigDataBackend.host_deleteObjects does not fail if
    no license management module is present.
  * OPSI.Backend.MySQL.SQLBackend: softwareLicense_getObjects and
    licenseContract_getObjects now return an empty list instead of None.
  * addDynamicDepotDriveSelection now only adds the new value and does
    not change the default.
  * The config for 'clientconfig.depot.drive' now also has the drives 'a:'
    and 'b:' present if it is created anew.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 07 Oct 2015 16:40:29 +0200

python-opsi (4.0.6.26-1) testing; urgency=medium

  * toJSON: correctly handle sets.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 07 Oct 2015 10:15:13 +0200

python-opsi (4.0.6.25-1) stable; urgency=medium

  * added proper sles12 version check

 -- Mathias Radtke <m.radtke@uib.de>  Fri, 02 Oct 2015 11:47:21 +0200

python-opsi (4.0.6.24-1) experimental; urgency=medium

  * OPSI.Util.Task.Rights: set +x on known executables in /opt/pcbin/install
  * OPSI.Util.Task.Rights: disabled the removal of duplicate folders to avoid
    problems with wrong rights in the depot.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 01 Oct 2015 17:27:07 +0200

python-opsi (4.0.6.23-2) testing; urgency=medium

  * Added Danish translation for hwaudit.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 25 Sep 2015 15:23:11 +0200

python-opsi (4.0.6.23-1) experimental; urgency=medium

  * Copy the following methods to 30_configed.conf: getDomain,
    getOpsiHWAuditConf, getPossibleMethods_listOfHashes, getServerIds_list
  * OPSI.Backend.Backend: Reading the default maximum logfile size from
    /etc/opsi/opsiconfd.conf.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 16 Sep 2015 11:59:33 +0200

python-opsi (4.0.6.22-1) experimental; urgency=medium

  * log_read: Removed append-feature for rotated logs.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 15 Sep 2015 14:23:46 +0200

python-opsi (4.0.6.21-1) experimental; urgency=medium

  * ExtendedConfigBackend: repr now works also with subclasses.
  * ConfigDataBackend: log_write does correctly limit the logsize.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 15 Sep 2015 12:38:36 +0200

python-opsi (4.0.6.20-1) experimental; urgency=medium

  * OPSI.Service.Worker: header parsing errors are now logged
    with loglevel 8.
  * Re-introduce 30_configed.conf

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 09 Sep 2015 09:15:14 +0200

python-opsi (4.0.6.19-2) experimental; urgency=medium

  * Translations updated and translations for es, it & ru added.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 03 Sep 2015 11:04:01 +0200

python-opsi (4.0.6.19-1) experimental; urgency=medium

  * OPSI.Backend.JSONRPC: refuse to enable deflate if we are talking to an
    old version of the service to avoid problems.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 03 Sep 2015 10:30:30 +0200

python-opsi (4.0.6.18-1) experimental; urgency=medium

  * OPSI.Backend.BackendManager: showing the used ACL only on log level debug
    or higher.
  * OPSI.SharedAlgorithm: small refactorings regarding iteration of lists
  * OPSI.Backend.JSONRPC: more reliable fix for working with deflate against
    older webservice versions. This works by disabling deflate to ensure
    proper encoding / decoding.
  * OPSI.Backend.JSONRPC: type check via isinstance instead of type.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 02 Sep 2015 16:34:26 +0200

python-opsi (4.0.6.17-1) experimental; urgency=medium

  * removed cpatureStderr=False fom execute of 'lsb-release -i' command

 -- Mathias Radtke <m.radtke@uib.de>  Wed, 02 Sep 2015 11:54:51 +0200

python-opsi (4.0.6.16-1) experimental; urgency=medium

  * OPSI.Backend.BackendManager: redirected lsb_release stderr and stdout output to /dev/null

 -- Mathias Radtke <m.radtke@uib.de>  Wed, 02 Sep 2015 09:33:16 +0200

python-opsi (4.0.6.15-1) experimental; urgency=medium

  * OPSI.Util.Task.Samba: add newline when adding repository.
  * RPM: Made the license machine-parseable.
  * OPSI.Util.WindowsDrivers: do not fail if Vendor or Model are None.
  * Create user / groups without explicit uid / gid.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 25 Aug 2015 11:02:44 +0200

python-opsi (4.0.6.14-1) experimental; urgency=medium

  [ Mathias Radtke ]
  * OPSI.System.Posix: removed unneded captureStderr flag

  [ Anna Sucher ]
  * OPSI.Util.Task.Rights: added opsi-deploy-client-agent-default to
    files that are made executable

  [ Niko Wenselowski ]
  * JSONRPCBackend: Better handling of JSON-RPC-response from an old service.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 11 Aug 2015 15:27:10 +0200

python-opsi (4.0.6.13-1) experimental; urgency=medium

  * Provide OPSI.System.Posix.shutdown.
  * Added function OPSI.Util.chunk.
  * OPSI.Util.Task.CleanupBackend: added chunking on mass-operations.
  * OPSI.Util.Task.CleanupBackend: Improving speed of operations.
  * OPSI.Backend.Replicator: Speed up membership test for productsOnDepot.
  * OPSI.System.Posix.execute now accepts list, set or tuple for ignoreExitCode
  * Debian: Remove dependency on python-support.
  * OPSI.System.Posix: removed unneded captureStderr flags from sfdisk calls

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 10 Aug 2015 15:22:38 +0200

python-opsi (4.0.6.12-1) experimental; urgency=medium

  [ Niko Wenselowski ]
  * Improving Python 3 compatibility.
  * hwaudit: Added translations for COMPUTER_SYSTEM.sku
  * tests: rename the domain of test objects from uib.local to test.invalid
  * OPSI.Service.Worker.WorkerOpsiJsonRpc: The header handling introduced
    with 4.0.6.8-1 must now be explicitely enabled by creating the file:
    /etc/opsi/opsi.header.fix.enable
    This makes sure that components get the same behaviour as before unless
    an change is done by an administrator.
  * 10_opsi.conf: Reintroduce setRights from the now remove 30_configed.conf
  * OPSI.Util.HTTP: the functions to decode/encode gzip/deflate now work
    better with unicode input and always return unicode.
  * OPSI.Service.Worker.WorkerOpsi: properly decode requests that have their
    content-encoding header set to "deflate".
  * log_read now also reads rotated logs.
  * OPSI.Util.Task.Rights: chown now correctly sets uid/gid on links.

  [ Mathias Radtke ]
  * new module OPSI Util task Samba
  * wrote tests for new module

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 29 Jul 2015 16:04:38 +0200

python-opsi (4.0.6.11-4) experimental; urgency=medium

  * Packaging fixes for Debian 8.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 29 Jun 2015 16:23:22 +0200

python-opsi (4.0.6.11-3) experimental; urgency=medium

  * RPM: do not link removed file.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 29 Jun 2015 16:11:06 +0200

python-opsi (4.0.6.11-2) experimental; urgency=medium

  * Removing remaining occurances of 30_configed.conf.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 29 Jun 2015 16:06:51 +0200

python-opsi (4.0.6.11-1) experimental; urgency=medium

  * Debian: Moving lintian-overrides into debian/source
  * 20_legacy.conf: Small refactoring of getClients_listOfHashes
  * 20_legacy.conf: Refactored getLicenseStatistics_hash
  * OPSI.Types: better error message if forceObjectClass fails because of an
    argument that is missing for the constructor
  * OPSI.Types: better error message if forceObjectClass fails because of an
    invalid type
  * 20_legacy.conf: some small bugfixes.
  * OPSI.Object: repr for ConfigState now includes values.
  * Moving getProductOrdering from 30_configed.conf to 10_opsi.conf.
  * Removing 30_configed.conf.
  * Removing the link from etc/opsi/backendManager/extend.d/20_legacy.conf to
    etc/opsi/backendManager/extend.d/configed/20_legacy.conf.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 29 Jun 2015 15:58:47 +0200

python-opsi (4.0.6.10-3) experimental; urgency=medium

  * Debian: Setting the package format to 1.0
  * RPM: creating folder for systemd templates before installation

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 16 Jun 2015 12:27:05 +0200

python-opsi (4.0.6.10-2) experimental; urgency=medium

  * RPM: supply %prep and %debug_package
  * Remove references to opsi-distutils

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 16 Jun 2015 10:57:43 +0200

python-opsi (4.0.6.10-1) experimental; urgency=medium

  * Added __repr__ for Backend and JSONRPCBackend.
  * OPSI.Backend.Replicator: Inserting objects should be a little faster.
  * OPSI.Backend: Only do a lookup for returnObjectsOnUpdateAndCreate once
    per method execution.
  * objectToBash, objectToHtml and objectToBeautifiedText now also correctly
    format subclasses of the lists / dicts.
  * 20_legacy.conf: Speed up _getProductStates_hash
  * FileBackend: Do not double the mapping list of LocalbootProduct and NetbootProduct.
  * FileBackend: allow products having ProductPropertyStates that are the same as the id of a product.
  * Some small refactorings to OPSI.Backend.SQL and OPSI.Backend.MySQL.
  * Supply new folder /etc/opsi/systemdTemplates

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 16 Jun 2015 10:45:21 +0200

python-opsi (4.0.6.9-1) experimental; urgency=medium

  * OPSI.Util.Task.Rights: reuse an existing depot URL if we found one before.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 10 Jun 2015 10:20:56 +0200

python-opsi (4.0.6.8-1) experimental; urgency=low

  * 20_legacy.conf: createLicenseContract now returns the complete
    license contract id instead of just the first character.
  * OPSI.Util.File: Avoid bloating dhcpd.conf with '%s'
  * OPSI.Util.Task.Rights: added 'service_setup.sh' to KNOWN_EXECUTABLES
  * OPSI.Util.Task.Rights: Fix setting rights on KNOWN_EXECUTABLES in
    the depot folder.
  * Refactored worker for the interface page.
  * OPSI.Backend.File: Convert errors to unicode before logging them.
  * 40_groupActions.conf: create method to rename groups: updateGroupname
  * __repr__ now gives even better results.
  * 20_legacy.conf: new method setHostInventoryNumber
  * 20_legacy.conf: refactored getAndAssignSoftwareLicenseKey
  * debian/format: removed
  * OPSI.Types: checking for classes is now implemented via isinstance and
    therefore also subclasses will be accepted.
  * OPSI.Util.Task.Certificate: Fix certificate creation on Debian 8.
  * OPSI.Util.HTTP: Workarround for Python versions that implement PEP0476
  * OPSI.Service.Worker.WorkerOpsiJsonRpc: now correctly stating the HTTP
    header field "content-type" if the content is compressed via deflate or
    gzip. To stay backwards compatible we return in the old style if the
    header field "Accept" of the request starts with "gzip-application".
  * OPSI.Util.HTTP: new functions deflateEncode, deflateDecode, gzipEncode
    and gzipDecode
  * OPSI.Backend.JSONRPC: various refactorings
  * OPSI.Backend.JSONRPC.JSONRPCBackend: correctly handle responses that are
    compressed via deflate or gzip. To stay backwards compatible it deflates
    the data if the HTTP header field "content-type" starts with "gzip".
  * The users opsiconfd / pcpatch are now added to the file admin group
    based on the groupname and not on the gid. This avoids adding these users
    to the wrong group if a group with gid 992 already exists.
  * RPM: if a group with gid 992 is already existing add the file admin group
    without giving a specific gid.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 09 Jun 2015 16:34:33 +0200

python-opsi (4.0.6.7-2) experimental; urgency=low

  * RHEL / CentOS 7: No indent to avoid confusing rpm.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 10 Apr 2015 14:23:46 +0200

python-opsi (4.0.6.7-1) experimental; urgency=low

  * Fix encoding problems in new __repr__.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 10 Apr 2015 13:40:21 +0200

python-opsi (4.0.6.6-1) experimental; urgency=low

  * OPSI.Util.Task.Rights: better ignoring of subfolders.
  * OPSI.Logger: some small refactorings.
  * OPSI.Util.Task.Sudoers: Do not duplicate existing entries.
  * OPSI.Logger.logWarnings: only log to the opsi-Logger.
  * CentOS / RHEL 7: depend on net-tools for ifconfig.
  * Added OPSI.System.Posix.getActiveConsoleSessionId

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 10 Apr 2015 10:31:29 +0200

python-opsi (4.0.6.5-1) experimental; urgency=low

  * Fix problem when working mit DHCP files.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 31 Mar 2015 11:38:41 +0200

python-opsi (4.0.6.4-1) experimental; urgency=low

  * OPSI.System.Posix.execute now accepts keyword arguments 'shell' and
    'waitForEnding' to have the same keyword arguments as on Windows.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 30 Mar 2015 15:38:39 +0200

python-opsi (4.0.6.3-1) experimental; urgency=low

  * OPSI.Util.Task.Rights: avoid duplicate path processing.
  * OPSI.Backend.MySQL.ConnectionPool: lower log-level for messages.
  * OPSI.Util.Task.Rights.setRights: show what path is given.
  * Fix various problems in OPSI.Backend.Replicator.
  * OPSI.Util.Task.Sudoers: Retrieve path to 'service' from the OS.
  * OPSI.Util.Task.Sudoers: Add single entry if missing.
  * Small changes in OPSI.Util.File.
  * Less wildcard imports.
  * Refactoring in OPSI.Util.Task.Rights
  * OPSI.Util.Task.Rights will fail without raising an error if chown
    is not possible.
  * OPSI.Backend.BackendManager: refactored reading groups of user to be
    faster for large environments.
  * Many objects now have proper representations.
  * OPSI.Util.Task.ConfigureBackend.ConfigurationData: Adding WAN
    configuration defaults if they are missing.
  * New extension 70_wan.conf for easy disabling/enabling of WAN configuration
  * 70_dynamic_depot.conf: getDepotSelectionAlgorithmByNetworkAddress
    makes use of OPSI.Util.ipAddressInNetwork instead of copying code.
  * OPSI.Util.Task.Rights: chown will only supply an uid if euid is 0 to
    avoid failures.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 30 Mar 2015 11:44:00 +0200

python-opsi (4.0.6.2-1) experimental; urgency=low

  * OPSI.Backend.MySQL: If connecting to DB fails during creation of the
    connection pool we wait 5 seconds before retrying to connect.
  * OPSI.Logger: Easier and faster check if syslog is present.
  * OPSI.Backend.Replicator: small refactorings.
  * OPSI.Backend.BackendManager: _dispatchMethod creats no more temp. list.
  * OPSI.Util.Task.Certificate: do not set the same serial number for
    every certificate.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 09 Mar 2015 10:56:28 +0100

python-opsi (4.0.6.1-1) experimental; urgency=low

  * OPSI.Util.Repository: correctly set number of retries for dynamic bandwidth
  * setup.py: Exclude test folders.
  * objectToBeautifiedText: indent with only four spaces
  * OPSI/Object.py overhauled module
  * Added OPSI.System.Posix.runCommandInSession to have access to this
    function not only when running Windows.
  * OPSI.Backend.File: Various refactorings, not only to avoid unnecessary
    creation of temporary objects.
  * Backends: speed up option parsing during initalisation.
  * Make excessive use of List Comprehensions for faster processing.
  * OPSI.Backend.HostControl: Using the timeout-parameter available on
    httplib.HTTP(S)Connection in RpcThread and ConnectionThread
  * Improve speed of configState_getClientToDepotserver
  * OPSI.Backend.SQL: Refactored working with the hardware audit
  * Speed up OPSI.Backend.Backend.log_read
  * The size limit of log_write can now be controlled through
    opsiconfd.conf and the value of "max log size" in the section "global".
  * New module: OPSI.Util.Task.Rights
  * OPSI.System.Windows: function "mount" accepts "dynamic" as mountpoint to
    enable the automatic search for a free mountpoint on the system.
    Thanks to Markus Kötter for the initial patch!
  * OPSI.Util.Task.ConfigureBackend.ConfigurationData: add the possibility
    to enable the dynamic mountpoint selection.
  * OPSI.Backend.SQL: the columns referencing hostId are now of the same size
  * New module OPSI.Util.Task.UpdateBackend.MySQL
  * OPSI.Util.Task.UpdateBackend.MySQL: Fix too small hostId columns
  * OPSI.Backend.SQL: replacing duplicate code
  * Removed LDAP schema files and backend configuration.
  * OPSI.Backend.SQL: Functions getData and getRawData only allow SELECT
  * Making method backend_getSharedAlgorithm nonfunctional.
  * OPSI.SharedAlgorithm: No more working with code-as-text and evaluation
    of the text to get objects to work with. Now there are only the objects.
  * WindowsDrivers: Fallback if directories ends with "." or with whitespace.
  * OPSI.Types.forceList is now able to handle sets and generators
  * New function OPSI.System.Posix.getDHCPDRestartCommand
  * OPSI.SharedAlgorithm: Raising an error when a circular dependecy is
    detected between products.
  * OPSI.System.Posix.getNetworkDeviceConfig is now able to parse output
    from newer ifconfig versions like on CentOS 7.
  * OPSI.Backend.SQLite refactored query creation.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Thu, 05 Feb 2015 09:46:50 +0100

python-opsi (4.0.5.17-1) testing; urgency=medium

  * Small bugfix in ConfigureBackend Task.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 25 Feb 2015 14:33:25 +0100

python-opsi (4.0.5.16-1) stable; urgency=low

  * JSONRPCBackend: Fix build long authorization headers.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Thu, 19 Feb 2015 13:23:19 +0100

python-opsi (4.0.5.15-1) stable; urgency=low

  * Patching sudoers: allow using service when no TTY present

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 22 Oct 2014 14:30:24 +0200

python-opsi (4.0.5.14-1) experimental; urgency=low

  * 10_opsi.conf: New methods getHardwareAuditDataCount and
    getSoftwareAuditDataCount
  * DHCPD backend: Fix logging problem caused by string / unicode mixup.
  * OPSI.System.Posix.getServiceNames: Prefer "systemctl" over "service"
    to have a solution that flawlessly works on CentOS 7.
  * OPSI.System.Posix.locateDHCPDInit: Added search via getServiceNames

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 22 Oct 2014 12:23:35 +0200

python-opsi (4.0.5.13-1) experimental; urgency=low

  * OPSI.System.Posix.Distribution: stripping the distribution attribute.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 14 Oct 2014 15:34:21 +0200

python-opsi (4.0.5.12-1) experimental; urgency=low

  * More work on OPSI.System.Posix.getSambaServiceName

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 08 Oct 2014 14:50:17 +0200

python-opsi (4.0.5.11-2) experimental; urgency=low

  * Dropping python-simplejson as dependency because it is Pythons stdlib as
    json since Python 2.6

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 08 Oct 2014 11:43:34 +0200

python-opsi (4.0.5.11-1) experimental; urgency=low

  * MySQL-backend: lower log-level for messages regarding transactions
  * Posix: added Methods getServiceNames and getSambaServiceName

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 06 Oct 2014 15:58:24 +0200

python-opsi (4.0.5.10-1) stable; urgency=low

  * DHCPD.py: small fix in restarting dhcp-service

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 01 Oct 2014 16:54:50 +0200

python-opsi (4.0.5.9-1) stable; urgency=low

  * opsi-setup: changed restarting services over service calls
    instead of using init-scripts directly.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 01 Oct 2014 16:14:13 +0200

python-opsi (4.0.5.8-2) testing; urgency=low

  * python-crypto requirement modified for sles to python-pycrypto

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 29 Sep 2014 10:13:17 +0200

python-opsi (4.0.5.8-1) testing; urgency=low

  * FileBackend raises Exception if getRawData method is called.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 23 Sep 2014 15:16:56 +0200

python-opsi (4.0.5.7-1) experimental; urgency=low

  * Preferring ldaptor over OPSI.ldaptor

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 10 Sep 2014 13:36:47 +0200

python-opsi (4.0.5.6-2) experimental; urgency=low

  * rpm-based packages: require python-pyasn1

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 09 Sep 2014 16:55:20 +0200

python-opsi (4.0.5.6-1) experimental; urgency=low

  * Fix for certificate creation on SLES11SP3

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 25 Aug 2014 15:26:42 +0200

python-opsi (4.0.5.5-1) testing; urgency=medium

  * setProductActionRequestWithDependencies: added optional force
    parameter, to set dependend products even if they are installed

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Sat, 23 Aug 2014 02:37:20 +0200

python-opsi (4.0.5.4-3) testing; urgency=low

  * Also build on Ubuntu 10.04

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 22 Aug 2014 17:28:08 +0200

python-opsi (4.0.5.4-2) experimental; urgency=low

  * 40_groupActions.conf: _getClientsOnDepotByHostGroup get correct clients.
  * Debian: call dh --with python2

 -- Niko Wenselowski <n.wenselowski@uib.de>  Fri, 22 Aug 2014 17:18:16 +0200

python-opsi (4.0.5.3-2) experimental; urgency=low

  * SLES: Require libmagic1 for working python-magic

 -- Niko Wenselowski <n.wenselowski@uib.de>  Tue, 19 Aug 2014 12:55:00 +0200

python-opsi (4.0.5.3-1) experimental; urgency=low

  * Fix termination of KillableThread on newer Pythons

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 11 Aug 2014 14:09:02 +0200

python-opsi (4.0.5.2-7) experimental; urgency=low

  * RHEL / CentOS: Depending on MySQL-python instead python-mysql
  * openSUSE / SLES: Fix depending on wrong version number for python-newt

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 06 Aug 2014 12:10:08 +0200

python-opsi (4.0.5.2-5) experimental; urgency=low

  * Dependencies for RHEL / CentOS 6 fixed and cleaned up .spec.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 06 Aug 2014 11:20:25 +0200

python-opsi (4.0.5.2-4) experimental; urgency=low

  * Re-Enabling dependency on python-ldaptor.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 04 Aug 2014 16:39:12 +0200

python-opsi (4.0.5.2-2) experimental; urgency=low

  * Possible to build with python-support again.

 -- Niko Wenselowski <n.wenselowski@uib.de>  Mon, 04 Aug 2014 14:35:00 +0200

python-opsi (4.0.5.2-1) experimental; urgency=low

  * fix in write method for backendConfigFiles

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Sun, 03 Aug 2014 03:26:28 +0200

python-opsi (4.0.5.1-2) experimental; urgency=low

  * Using dh_python2

 -- Niko Wenselowski <n.wenselowski@uib.de>  Wed, 30 Jul 2014 17:38:00 +0200

python-opsi (4.0.5.1-1) experimental; urgency=low

  * New module: OPSI.Util.Task.Sudoers
  * 70_dynamic_depot.conf: Latency algorythm does even work if pinging
    a depot results in a timeout.
  * OpsiBackupArchive: Avoid hanging in an endless loop when running
    backupMySQLBackend and stderr gets spammed with the same message
  * DHCPD Backend: Trying to read the address of an client from the
    DHCPD configuration file if it can't be resolved via DNS.
  * Certificate Creation: Using 2048 bit instead of 1024
  * small fix in getOpsiHostKey method
  * configed: direct access for mysql-backend users
  * forceUrl method don't convert value to lower
  * OpsiBackupArchive: get path to mysqldump via which
  * Speeding up backend_getInterface, getArgAndCallString, objectToHtml,
    objectToBeautifiedText
  * New module: OPSI.Util.Task.ConfigureBackend.ConfigurationData
  * Added possibility to disable pigz in opsi.conf
  * SQL-Backends: Improved speed of query creation
  * Do not fail on removing installed products if the directory
    contains filenames with unicode characters
  * OPSI.System.Posix: Fixing reread partiontable problem with new bootimage
  * OPSI.System.Windows: Added setLocalSystemTime and getServiceTime in backend
  * Driverintegration: Fallback for byAudit to check if mainboard integration is possible.
  * OPSI.System.Posix: initializing bytesPerSector attribute in Harddisk class
    constructor
  * OPSI.Util.Repository: workarround timing problem after reconnect network
    adapter

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Thu, 28 Jul 2014 23:51:00 +0200

python-opsi (4.0.4.5-1) stable; urgency=low

  * set of small fixes.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Fri, 07 Feb 2014 02:10:23 +0100

python-opsi (4.0.4.4-1) testing; urgency=low

  * added geo_override patch for older bios (opsi-linux-bootimage)
  * removed debug outputs from repository.py
  * SQL backend: tables PRODUCT_PROPERTY and BOOT_CONFIGURATION now use type
    TEXT for column 'description'
  * Harddisks have a new attribute 'rotational'.
  * MySQL backend: table 'HOST': using DEFAULT value for column 'created' to
    avoid using the values given by MySQL. These values did result in a
    unwanted misbehaviour where clients always updated their 'created'
    attribute to the time of the last update.
  * Removed workarounds for Python versions prior to 2.6
  * New depot selection alogrith: Select the depot with lowest latency that
    either is or belongs to the master depot the client is attached to.
  * New module: OPSI.Util.Task.CleanupBackend
  * Suppressing DeprecationWarning from ldaptor.
  * Bugfix in HTTPRepository.
  * Workarround for Windows 8.1 detection.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 29 Jan 2014 01:22:18 +0100

python-opsi (4.0.4.3-1) testing; urgency=low

  * Small bugfix for objectToBeautifiedText Method.

 -- Erol Ueluekmen <e.ueluekmen@uib.>  Fri, 20 Dec 2013 18:11:37 +0100

python-opsi (4.0.4.2-1) testing; urgency=low

  * objectToBeautifiedText optimization.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 11 Dec 2013 11:02:06 +0100

python-opsi (4.0.4.1-1) testing; urgency=low

  * Minimum required Python version is now 2.6
  * New backend method for configed: setRights
  * Tar archives: make use of pigz for parallel gzip compression if available.
    Requires pigz version >2.2.3
  * File backend: Added options to configure user/group the files belong to.
  * Bugfix: Added missing import to prevent "opsi-setup --renew-opsiconfd-cert"
    from crashing
  * Bugfix: Do not fail when reading distribution information from an UCS
    system.
  * Bugfix in posix.py for precise
  * Remove loading geo_override kernel patch
  * Fixing mountoptions handling for cifs-mount
  * Added Transaction control for sql-backends for prevent of duplicate entries in productProperty-Defaultvalues. (fixes #456)
  * New module: OPSI.Util.Task.Certificate

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 12 Sep 2013 11:41:33 +0200

python-opsi (4.0.3.3-1) experimental; urgency=low

  * Fixes for wheezy and raring support
  * System.Windows: Added handling mshotfix for win8 and win2012
  * Moved method formatFileSize from OPSI.web2.dirlist to OPSI.Util
  * Added 40_groupActions.conf in opsi-webservice-extender
  * Modified debian postinst script (user opsiconfd will be created if not exists)

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 03 Jun 2013 11:41:33 +0200

python-opsi (4.0.3.2-1) experimental; urgency=low

  * Don't load geo_override module on 64bit bootimage.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 29 Apr 2013 16:13:16 +0200

python-opsi (4.0.3.1-1) testing; urgency=low

  * dhcp-backend: ddns-rev-domainname added to list where the values are written in double quotas
  * System: opsi-setup --init-current-config gives an warning instead of error, when vendor not found for network device
  * Posix:
    - saveImage returns the result from partclone if run was successful.
    - readPartitionTable: Try to find out the right filesystem with blkid tool.
    - createPartition: allows linux as filesystem-type and produces partition with id 83
  * WindowsDriver: byAudit: Translating model and vendor from hwinvent: characters <>?":|\/* will be translated to _
  * python-opsi locale: danish added
  * compareVersion: fixed handling with versions from custom packages.
  * global.conf: fixed hostname entries
  * fixed resource directory listing for custom packages /repository
  * fix for ubuntu 12.10

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 05 Feb 2013 17:40:23 +0100

python-opsi (4.0.2.6-1) testing; urgency=low

  * Posix: getBlockDeviceControllerInfo():
    - if no devices attached on a AHCI-Controller (maybe a lshw or a kernel bug)
      try to find AHCI-Controller, if found try return the first found AHCI Controller
      for textmode-driverintegration (only for nt5)
  * Posix: modifications for newer ms-sys version
  * rpm-spec-file: noreplace option for dispatch.conf.default in files-section

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 07 Nov 2012 17:34:13 +0100

python-opsi (4.0.2.5-1) testing; urgency=low

  * fix in hwinvent procedure, don't crash if lshw don't work properly
  * fix for resizeNTFSPartition if blockAlignmnet is used (ntfs-restore-image)

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Fri, 02 Nov 2012 15:00:34 +0200

python-opsi (4.0.2.4-1) stable; urgency=low

  * fixes method setProductActionRequestWithDependencies after host_createOpsiClient
  * added default dhcp string and text options that the values will be set in double-quotes (fixes#403)
  * added method userIsReadOnlyUser()
  * WindowsDriverIntegration: do not break when no devices found in txtsetup.oem (corrupted txtsetup.oem)

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Thu, 27 Sep 2012 10:35:17 +0200

python-opsi (4.0.2.3-1) testing; urgency=low

  * Workarround for bootimage: wait if blockfile to partition not exists.
  * Automated additional-driver - byAudit - integration support.
  * hostControl-Fix for host_reachable method.
  * added opsiFileAdminhandling, added new opsi.conf File.
  * dellexpresscode for hwinvent implemented
  * licensekey length increased to 1024
  * use opsi-auth pam module if exists

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 17 Jul 2012 13:33:13 +0200

python-opsi (4.0.2.2-1) testing; urgency=low

  * Workarround for python 2.7 in jsonrpc-backend: compressed data will send as bytearray
  * fix for isc-dhcp-server for oneiric and precise
  * Workarround for bootimage: wait if blockfile to partition not exists.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 11 Jun 2012 13:42:58 +0200

python-opsi (4.0.2.1-1) stable; urgency=low

  * Featurepack-Release 4.0.2

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 30 May 2012 11:20:56 +0200

python-opsi (4.0.1.40-1) testing; urgency=low

  * Fix getArchitecture for Windows-Systems (opsiclientd)
  * Workarround for WinAPI Bug: LSAGetLogonSessionData in NT5 x64

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 08 May 2012 15:27:08 +0200

python-opsi (4.0.1.39-1) testing; urgency=low

  * opsi-makeproductfile: switch to tar format if source files take
      then 2GB of diskusage, to prevent a override of cpio sizelimit.
  * 20_legacy.conf: method getProductDependencies_listOfHashes fix.
  * fix loosing membership in productGroups when upgrading opsi-packages
  * setProductActionRequestWithDepedencies:
      Raising exeption if required packages are not available.
  * fix setVersion for auditSoftware and auditSoftwareOnClient
      software Version 0 will be produce '0' and not ''

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 17 Apr 2012 16:51:08 +0200

python-opsi (4.0.1.38-1) testing; urgency=low

  * HostControl-Backend: added hostControl_execute
  * 10_opsi.conf: added setProductActionRequestWithDependencies
  * Object.py: OpsiDepotserver new default: isMasterDepot=True

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 15 Feb 2012 13:42:37 +0100

python-opsi (4.0.1.37-1) stable; urgency=low

  * fix hybi10Decode

 -- Jan Schneider <j.schneider@uib.de>  Tue, 17 Jan 2012 13:40:01 +0100

python-opsi (4.0.1.36-1) stable; urgency=low

  * MessageBus improvements
  * fix deleteProduct method

 -- Jan Schneider <j.schneider@uib.de>  Tue, 22 Nov 2011 13:05:41 +0100

python-opsi (4.0.1.35-1) stable; urgency=low

  * Add funtions hybi10Decode, hybi10Encode to Util/HTTP

 -- Jan Schneider <j.schneider@uib.de>  Tue, 15 Nov 2011 15:08:07 +0100

python-opsi (4.0.1.34-1) stable; urgency=low

  * Posix.py: blockAlignment in createPartition

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Mon, 14 Nov 2011 10:27:23 +0100

python-opsi (4.0.1.33-1) stable; urgency=low

  * OPSI/Util: Add function getGlobalConf
  * OPSI/Types: Add BootConfiguration

 -- Jan Schneider <j.schneider@uib.de>  Tue, 11 Oct 2011 09:36:12 +0200

python-opsi (4.0.1.32-1) stable; urgency=low

  * Add module OPSI/Util/MessageBus
  * OPSI/Backend/BackendManager: implement MessageBusNotifier
  * OPSI/Backend/HostControl: Don't reboot or shutdown all opsiClients if wrong hostId is given
  * OPSI/Util/WindowsDriver: Fix for duplicatesearch in WindowsDriver
  * OPSI/Backend/JSONRPCBackend: raise socket.error on connect
  * opsihwaudit.conf: HDAUDIO_DEVICE wmi

 -- Jan Schneider <j.schneider@uib.de>  Tue, 27 Sep 2011 14:29:14 +0200

python-opsi (4.0.1.31-1) stable; urgency=low

  * OPSI/Backend/Backend:
     - log_read/log_write: add type userlogin
     - log_write: maximum logfile size
  * OPSI/Objects:
     - remove forceUnicodeLower for all licensekeys

 -- Jan Schneider <j.schneider@uib.de>  Tue, 13 Sep 2011 14:40:13 +0200

python-opsi (4.0.1.30-1) stable; urgency=low

  * DHCP-parser: Fix recursive searching blocks.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 13 Sep 2011 10:11:15 +0200

python-opsi (4.0.1.29-1) stable; urgency=low

  * OPSI/Util/WindowsDriver
     - Fix intregateWindowsDrivers
  * OPSI/UI
     - Fix encoding

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Fri, 02 Sep 2011 17:11:13 +0200

python-opsi (4.0.1.28-1) stable; urgency=low

  * french localization

 -- Jan Schneider <j.schneider@uib.de>  Wed, 31 Aug 2011 16:57:40 +0200

python-opsi (4.0.1.27-1) stable; urgency=low

  * OPSI/UI
     - Fix getSelection for many entries / scrolling

 -- Jan Schneider <j.schneider@uib.de>  Mon, 29 Aug 2011 14:38:29 +0200

python-opsi (4.0.1.26-1) stable; urgency=low

  * OPSI/Util/WindowsDriver:
     - Fix integrateWindowsDrivers
  * OPSI/Util/File:
     - Modify loglevels in inf-file-parsing

 -- Jan Schneider <j.schneider@uib.de>  Thu, 25 Aug 2011 15:42:13 +0200

python-opsi (4.0.1.25-1) stable; urgency=low

  * OPSI/Object:
     - BoolConfig: remove duplicates from default values

 -- Jan Schneider <j.schneider@uib.de>  Tue, 23 Aug 2011 12:15:29 +0200

python-opsi (4.0.1.24-1) stable; urgency=low

  * tests/helper/fixture
    - fix for python 2.4

 -- Jan Schneider <j.schneider@uib.de>  Mon, 15 Aug 2011 15:12:05 +0200

python-opsi (4.0.1.23-1) stable; urgency=low

  * OPSI/Object
    - Host: force list of hardware addresses to single value (needed for univention)

 -- Jan Schneider <j.schneider@uib.de>  Mon, 15 Aug 2011 14:15:33 +0200

python-opsi (4.0.1.22-1) stable; urgency=low

  * OPSI/Util/File/Opsi/__init__:
    - Fix startswith for python 2.4

 -- Jan Schneider <j.schneider@uib.de>  Thu, 04 Aug 2011 09:58:22 +0200

python-opsi (4.0.1.21-1) experimental; urgency=low

  * Build against dhcp3 in lucid

 -- Christian Kampka <c.kampka@uib.de>  Mon, 01 Aug 2011 12:27:34 +0200

python-opsi (4.0.1.20-1) stable; urgency=low

  * OPSI/Backend/JSONRPC
    - forceUnicode Exception

 -- Jan Schneider <j.schneider@uib.de>  Thu, 21 Jul 2011 17:36:54 +0200

python-opsi (4.0.1.19-1) stable; urgency=low

  * OPSI/Util/WindowsDrivers
    - add integrated drivers to integratedDrivers list in loop

 -- Jan Schneider <j.schneider@uib.de>  Wed, 20 Jul 2011 14:48:27 +0200

python-opsi (4.0.1.18-1) stable; urgency=low

  * OPSI/Backend/SQL
    - fix _getHardwareIds

 -- Jan Schneider <j.schneider@uib.de>  Wed, 20 Jul 2011 11:42:10 +0200

python-opsi (4.0.1.17-1) stable; urgency=low

  * Correct replacement of escaped asterisk in search filter
  * Added new hostControl method opsiclientdRpc

 -- Jan Schneider <j.schneider@uib.de>  Tue, 19 Jul 2011 14:46:35 +0200

python-opsi (4.0.1.16-1) stable; urgency=low

  * Version bump

 -- Christian Kampka <c.kampka@uib.de>  Wed, 13 Jul 2011 14:20:15 +0200

python-opsi (4.0.1.15-2) stable; urgency=low

  * OPSI/Utils
    - fixed import bug

 -- Christian Kampka <c.kampka@uib.de>  Wed, 13 Jul 2011 11:54:22 +0200

python-opsi (4.0.1.15-1) stable; urgency=low

  * OPSI/Util
    - method to determain a fixed fqdn
  * OPIS/Util/HTTP
    - make sure socket is not None

 -- Christian Kampka <c.kampka@uib.de>  Tue, 12 Jul 2011 12:49:24 +0200

python-opsi (4.0.1.14-1) stable; urgency=low

  * SQL: methods for character escaping

 -- Jan Schneider <j.schneider@uib.de>  Wed, 29 Jun 2011 14:47:47 +0200

python-opsi (4.0.1.13-1) stable; urgency=low

  * Service/Session
    - sessionExpired(): return true if expired / false if closed by client
  * Util/HTTP:
    - disable server verification for localhost
  * Backend/HostControl:
    - new method hostControl_getActiveSessions

 -- Jan Schneider <j.schneider@uib.de>  Fri, 17 Jun 2011 14:21:03 +0200

python-opsi (4.0.1.12-1) stable; urgency=low

  * Util/File/Opsi
    - copy permission bits and mtime on filecopy

 -- Christian Kampka <c.kampka@uib.de>  Wed, 15 Jun 2011 11:00:27 +0200

python-opsi (4.0.1.11-2) stable; urgency=low

  * Util/Task/Backup:
    - supress waring when restoring configuration

 -- Christian Kampka <c.kampka@uib.de>  Tue, 14 Jun 2011 15:57:24 +0200

python-opsi (4.0.1.11-1) stable; urgency=low

  * Util/Task/Backup:
    - Override backup file if it already exists
    - Fixed spelling in help text

 -- Christian Kampka <c.kampka@uib.de>  Tue, 14 Jun 2011 13:41:56 +0200

python-opsi (4.0.1.10-1.1) stable; urgency=low

  * Util/Task/Backup, Util/File/Opsi
    - Several usability improvements

 -- Christian Kampka <c.kampka@uib.de>  Fri, 10 Jun 2011 14:14:46 +0200

python-opsi (4.0.1.9-1) stable; urgency=low

  * System/Posix:
     - Added Harddisk.setDosCompatibility()
     - reread partition table after deleting partition table
  * Util/Repository:
     - Fix HTTPRepository.copy
  * Util/HTTP, Util/Repository, Backend/JSONRPC
     - SSL verify by ca certs file

 -- Jan Schneider <j.schneider@uib.de>  Tue, 07 Jun 2011 10:45:49 +0200

python-opsi (4.0.1.8-1) stable; urgency=low

  * HostControl backend: Fix error message

 -- Jan Schneider <j.schneider@uib.de>  Tue, 31 May 2011 12:41:44 +0200

python-opsi (4.0.1.7-1) stable; urgency=low

  * Fixes additional driver integration with directories as symbolic links
  * Improved logging in generateProductOnClientSequence_algorithm1
  * Fixes Driverintegration: Fix loading duplicate driver, if integrated in additional

 -- Jan Schneider <j.schneider@uib.de>  Mon, 30 May 2011 14:21:08 +0200

python-opsi (4.0.1.6-1) stable; urgency=low

  * fixes for OpsiBackup

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 18 May 2011 15:42:33 +0200

python-opsi (4.0.1.5-1) stable; urgency=low

  * OpsiBackupFile: Fix symlink restore

 -- Jan Schneider <j.schneider@uib.de>  Wed, 11 May 2011 17:40:42 +0200

python-opsi (4.0.1.4-1) stable; urgency=low

  * IniFile: Add newline at end of section
  * BackenAccessControl _pamAuthenticateUser: pam winbind forceUnicode names

 -- Jan Schneider <j.schneider@uib.de>  Wed, 04 May 2011 14:46:17 +0200

python-opsi (4.0.1.3-1) stable; urgency=low

  * File-Backend: Fix host_insert for depots

 -- Jan Schneider <j.schneider@uib.de>  Mon, 02 May 2011 14:55:27 +0200

python-opsi (4.0.1.2-1) stable; urgency=low

  * Posix: fix calculation of disk size

 -- Jan Schneider <j.schneider@uib.de>  Tue, 19 Apr 2011 10:41:19 +0200

python-opsi (4.0.1.1-1) stable; urgency=low

  * Product: do not set owner of links
  * Util: new function ipAddressInNetwork
  * DHCPD: use ipAddressInNetwork
  * 70_dynamic_depot.conf: fix log
  * BackendAccessControl: forced groups

 -- Jan Schneider <j.schneider@uib.de>  Fri, 15 Apr 2011 12:19:02 +0200

python-opsi (4.0.1-22) stable; urgency=low

  * Correct json html output

 -- Jan Schneider <j.schneider@uib.de>  Thu, 14 Apr 2011 10:33:35 +0200

python-opsi (4.0.1-21) stable; urgency=low

  * Fix product sequence

 -- Jan Schneider <j.schneider@uib.de>  Wed, 13 Apr 2011 18:58:41 +0200

python-opsi (4.0.1-20) stable; urgency=low

  * fixed import for python 2.4 environments

 -- Christain Kampka <c.kampka@uib.de>  Tue, 05 Apr 2011 12:23:32 +0200

python-opsi (4.0.1-19) stable; urgency=low

  * Fixes

 -- Jan Schneider <j.schneider@uib.de>  Fri, 01 Apr 2011 15:10:37 +0200

python-opsi (4.0.1-18) testing; urgency=low

  * move server verification into HTTP module

 -- Jan Schneider <j.schneider@uib.de>  Tue, 29 Mar 2011 16:13:03 +0200

python-opsi (4.0.1-17) testing; urgency=low

  * LDAP: Fix productPropertyState_updateObject

 -- Jan Schneider <j.schneider@uib.de>  Sat, 26 Mar 2011 13:26:47 +0100

python-opsi (4.0.1-16) testing; urgency=low

  * PackageControlFile: fix generation of productproperty with empty values
  * DepotserverBackend: cleanup product property states on package installation

 -- Jan Schneider <j.schneider@uib.de>  Wed, 23 Mar 2011 18:46:19 +0100

python-opsi (4.0.1-15) testing; urgency=low

  * Posix.py: get dhcp config from dhclient

 -- Jan Schneider <j.schneider@uib.de>  Tue, 22 Mar 2011 14:08:04 +0100

python-opsi (4.0.1-14) testing; urgency=low

  * Rework KillableThread
  * HostControlBackend: wait 5 seconds before killing threads

 -- Jan Schneider <j.schneider@uib.de>  Thu, 17 Mar 2011 16:47:07 +0100

python-opsi (4.0.1-13) testing; urgency=low

  * Fix _transfer in Repository

 -- Jan Schneider <j.schneider@uib.de>  Wed, 16 Mar 2011 14:15:25 +0100

python-opsi (4.0.1-12) testing; urgency=low

  * Fix SQL

 -- Jan Schneider <j.schneider@uib.de>  Wed, 16 Mar 2011 10:52:41 +0100

python-opsi (4.0.1-11) testing; urgency=low

  * SQL: Fix config_updateObject/productProperty_updateObject

 -- Jan Schneider <j.schneider@uib.de>  Tue, 15 Mar 2011 11:14:58 +0100

python-opsi (4.0.1-10) testing; urgency=low

  * Add OPSI.Util.Ping

 -- Jan Schneider <j.schneider@uib.de>  Mon, 14 Mar 2011 14:40:10 +0100

python-opsi (4.0.1-8) testing; urgency=low

  * Add dependency to m2crypto

 -- Jan Schneider <j.schneider@uib.de>  Tue, 08 Mar 2011 22:25:46 +0100

python-opsi (4.0.1-7) testing; urgency=low

  * Fix group type filter in file backend

 -- Jan Schneider <j.schneider@uib.de>  Thu, 24 Feb 2011 19:23:29 +0100

python-opsi (4.0.1-6) testing; urgency=low

  * HostControl_reachable

 -- Jan Schneider <j.schneider@uib.de>  Thu, 24 Feb 2011 11:56:22 +0100

python-opsi (4.0.1-5) testing; urgency=low

  * HostControl: support for directed broadcasts

 -- Jan Schneider <j.schneider@uib.de>  Wed, 23 Feb 2011 16:34:00 +0100

python-opsi (4.0.1-3) testing; urgency=low

  * HostControl: resolve if ip address not known

 -- Jan Schneider <j.schneider@uib.de>  Wed, 23 Feb 2011 12:35:25 +0100

python-opsi (4.0.1-2) testing; urgency=low

  * testing release

 -- Jan Schneider <j.schneider@uib.de>  Wed, 23 Feb 2011 11:15:04 +0100

python-opsi (4.0.0.99-2) testing; urgency=low

  * Add config file for HostControlBackend

 -- Jan Schneider <j.schneider@uib.de>  Wed, 16 Feb 2011 16:57:01 +0100

python-opsi (4.0.0.99-1) testing; urgency=low

  * Add new serivce lib
  * Close socket in HTTP

 -- Jan Schneider <j.schneider@uib.de>  Wed, 02 Feb 2011 12:32:59 +0100

python-opsi (4.0.0.20-1) stable; urgency=low

  * Fix AccessControlBackend
  * Add OPSI/Service
  * Fix getNetworkDeviceConfig Posix.py

 -- Jan Schneider <j.schneider@uib.de>  Tue, 11 Jan 2011 11:03:28 +0100

python-opsi (4.0.0.19-1) stable; urgency=low

  * Added ProductGroup Handling
  * add ConfigDataBackend methods <objectclass>_getHashes

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Wed, 08 Dec 2010 00:29:18 +0100

python-opsi (4.0.0.18-1) stable; urgency=low

  * Util: objectToHtml() Escape &
  * Backend/Backend: reimplemented configState_getClientToDepotserver

 -- Jan Schneider <j.schneider@uib.de>  Thu, 02 Dec 2010 15:29:10 +0100

python-opsi (4.0.0.17-1) stable; urgency=low

  * Util/File: ZsyncFile

 -- Jan Schneider <j.schneider@uib.de>  Wed, 01 Dec 2010 14:30:18 +0100

python-opsi (4.0.0.16-1) testing; urgency=low

  * Fix LDAP.py: Don't delete HostObject on ucs-Servers, if deleteCommand is not set.

 -- Erol Ueluekmen <e.ueluekmen@uib.de>  Tue, 30 Nov 2010 13:33:26 +0000

python-opsi (4.0.0.15-2) stable; urgency=low

  * new package version for build service

 -- Jan Schneider <j.schneider@uib.de>  Mon, 29 Nov 2010 18:08:50 +0100

python-opsi (4.0.0.15-1) stable; urgency=low

  * Move method getDepotSelectionAlgorithm into new config file 70_dynamic_depot.conf
  * Backend/Backend: Fix _objectHashMatches for version numbers
  * System/Posix: Fix getBlockDeviceContollerInfo for device/vendor ids with len < 4

 -- Jan Schneider <j.schneider@uib.de>  Mon, 29 Nov 2010 17:04:37 +0100

python-opsi (4.0.0.14-1) stable; urgency=low

  * Util/Repository: fix upload

 -- Jan Schneider <j.schneider@uib.de>  Thu, 25 Nov 2010 15:09:27 +0100

python-opsi (4.0.0.13-1) stable; urgency=low

  * Backend/JSONRPC: fix username/password kwargs

 -- Jan Schneider <j.schneider@uib.de>  Wed, 24 Nov 2010 09:09:57 +0100

python-opsi (4.0.0.12-1) stable; urgency=low

  * Util/HTTP
     - change default to not reuse HTTP connection in pool
     - fix urlsplit
  * Util/Repository: retry upload
  * Backend/Backend: fix key error in _productOnClient_processWithFunction

 -- Jan Schneider <j.schneider@uib.de>  Tue, 23 Nov 2010 12:16:39 +0100

python-opsi (4.0.0.11-1) stable; urgency=low

  * Backend/LDAP: fix execution of external commands
  * Backend/DHCPD: fix deletion of hosts

 -- Jan Schneider <j.schneider@uib.de>  Fri, 19 Nov 2010 11:39:45 +0100

python-opsi (4.0.0.10-1) stable; urgency=low

  * Product sort algorithm1: move product up in sequence if requirement type is "after"
  * Backend/LDAP: fix handling on attributes param in get methods
  * Backend/DHCPD: fix depot handling

 -- Jan Schneider <j.schneider@uib.de>  Wed, 17 Nov 2010 16:58:59 +0100

python-opsi (4.0.0.9-1) stable; urgency=low

  * Util/File: try/except setting locale
  * BAckend/Backend: fix backend_searchIdents for ProductOnClient, ProductPropertyState, ConfigState objects

 -- Jan Schneider <j.schneider@uib.de>  Fri, 22 Oct 2010 12:17:57 +0200

python-opsi (4.0.0.8-1) stable; urgency=low

  * Added SQLite backend
  * New JSONRPCBackend
  * Use ConnectionPool in Util/WebDAVRepository
  * Added Util/HTTP
  * Fix package extraction order in Util/Product

 -- Jan Schneider <j.schneider@uib.de>  Wed, 20 Oct 2010 17:03:55 +0200

python-opsi (4.0.0.7-1) stable; urgency=low

  * Util/Repository: remove functools import, Repository.disconnect()
                     call mount from System, nt compatibility
  * Util/Message: fix fireAlways
  * System/Windows: new funftions: getArchitecture, getFreeDrive, reimplemented mount for cifs/smb

 -- Jan Schneider <j.schneider@uib.de>  Tue, 12 Oct 2010 16:26:43 +0200

python-opsi (4.0.0.6-1) stable; urgency=low

  * Util/File/Opsi: Fix parsing of true/false of product property defaults in control file (again)

 -- Jan Schneider <j.schneider@uib.de>  Mon, 11 Oct 2010 21:24:38 +0200

python-opsi (4.0.0.5-1) stable; urgency=low

  * Util/File/Opsi: Fix parsing of true/false of product property defaults in control file
  * Backend/LDAP: Fix reading objects with attribute value []

 -- Jan Schneider <j.schneider@uib.de>  Mon, 11 Oct 2010 18:02:52 +0200

python-opsi (4.0.0.4-1) stable; urgency=low

  * 30_configed.conf: add method getConfigs
  * Backend/File: Fix auditHardware/auditHardwareOnHost insert/update/delete

 -- Jan Schneider <j.schneider@uib.de>  Mon, 11 Oct 2010 14:20:23 +0200

python-opsi (4.0.0.3-1) stable; urgency=low

  * Types,Logger: forceUnicode try except __unicode__
  * System/Posix: get fs from partclone
  * Backend/File: fix double escape
  * opsihwaudit.conf: : USB_DEVICE: interfaceClass, interfaceSubClass resized to 500, interfaceProtocol resized to 200

 -- Jan Schneider <j.schneider@uib.de>  Thu, 07 Oct 2010 10:47:48 +0200

python-opsi (4.0.0.2-1) stable; urgency=low

  * UI: drawRootText: encode to ascii because snack does not support unicode here

 -- Jan Schneider <j.schneider@uib.de>  Tue, 05 Oct 2010 17:25:59 +0200

python-opsi (4.0.0.1-1) stable; urgency=low

  * Added hwaudit locale fr_FR
  * System/Posix: use partclone for images
  * Util/File: set "<value>" for DHCPDConf_Option *-domain
  * opsihwaudit.conf: USB_DEVICE: interfaceClass, interfaceSubClass resized to 200

 -- Jan Schneider <j.schneider@uib.de>  Mon, 04 Oct 2010 09:48:46 +0200

python-opsi (4.0.0.0-1) stable; urgency=low

  * opsi 4.0 stable release

 -- Jan Schneider <j.schneider@uib.de>  Mon, 27 Sep 2010 14:11:39 +0200

python-opsi (3.99.0.6-1) testing; urgency=low

  * Object __repr__ now returning __str__

 -- Jan Schneider <j.schneider@uib.de>  Mon, 27 Sep 2010 10:34:59 +0200

python-opsi (3.99.0.5-1) testing; urgency=low

  * Fix getDepotIds_list in legacy extension
  * Fix SQL expression for numbers

 -- Jan Schneider <j.schneider@uib.de>  Fri, 24 Sep 2010 14:35:08 +0200

python-opsi (3.99.0.4-1) testing; urgency=low

  * Fix dependcy recurion in _productOnClient_processWithFunction
  * Prevent unnecessary update of dhcpd configuration

 -- Jan Schneider <j.schneider@uib.de>  Fri, 17 Sep 2010 14:15:01 +0200

python-opsi (3.99.0.3-1) testing; urgency=low

  * Fix table creation in MySQL-Backend

 -- Jan Schneider <j.schneider@uib.de>  Fri, 17 Sep 2010 12:04:11 +0200

python-opsi (3.99.0.2-1) testing; urgency=low

  * rc2

 -- Jan Schneider <j.schneider@uib.de>  Thu, 16 Sep 2010 10:04:21 +0200

python-opsi (3.99.0.1-1) testing; urgency=low

  * rc 1

 -- Jan Schneider <j.schneider@uib.de>  Wed, 01 Sep 2010 15:45:41 +0200

python-opsi (3.99.0.0-1) testing; urgency=low

  * local package
  * opsi 4.0

 -- Jan Schneider <j.schneider@uib.de>  Tue, 18 May 2010 15:38:15 +0200

python-opsi (3.4.99.1-1) testing; urgency=low

  * testing release

 -- Jan Schneider <j.schneider@uib.de>  Tue, 06 Apr 2010 12:19:37 +0200

python-opsi (3.4.99.0-1) experimental; urgency=low

  * starting 3.5 development

 -- Jan Schneider <j.schneider@uib.de>  Fri, 06 Nov 2009 15:33:48 +0100

python-opsi (3.4.0.4-1) stable; urgency=low

  * implemented setIpAddress() in DHCPD, File31

 -- Jan Schneider <j.schneider@uib.de>  Wed, 04 Nov 2009 12:41:51 +0100

python-opsi (3.4.0.3-1) stable; urgency=low

  * Posix 1.3.1
     - fixed getNetworkDeviceConfig

 -- Jan Schneider <j.schneider@uib.de>  Wed, 28 Oct 2009 17:51:07 +0100

python-opsi (3.4.0.2-1) stable; urgency=low

  * Posix 1.3
     - new method getEthernetDevices
     - new method getNetworkDeviceConfig
     - rewritten method getDHCPResult

 -- Jan Schneider <j.schneider@uib.de>  Fri, 11 Sep 2009 19:03:50 +0200

python-opsi (3.4.0.1-1) stable; urgency=low

  * Changed lshw class for DISK_PARITION in hwaudit.conf
  * Posix 1.2.6

 -- Jan Schneider <j.schneider@uib.de>  Mon, 07 Sep 2009 10:12:19 +0200

python-opsi (3.4.0.0-s1) stable; urgency=low

  * New version number

 -- Jan Schneider <j.schneider@uib.de>  Thu, 27 Aug 2009 14:23:40 +0200

python-opsi (3.4.0.0-rc6) unstable; urgency=low

  * MySQL 0.3.3.4: fixed encoding error
  * Fixed db conversion in init-opsi-mysql-db.py

 -- Jan Schneider <j.schneider@uib.de>  Wed, 26 Aug 2009 10:19:37 +0200

python-opsi (3.4.0.0-rc5) unstable; urgency=low

  * Posix.py 1.2.4

 -- Jan Schneider <j.schneider@uib.de>  Wed, 29 Jul 2009 16:39:46 +0200

python-opsi (3.4.0.0-rc4) unstable; urgency=low

  * LDAP.py 1.0.9

 -- Jan Schneider <j.schneider@uib.de>  Tue, 28 Jul 2009 11:07:28 +0200

python-opsi (3.4.0.0-rc3) unstable; urgency=low

  * Bugfix in File31
  * LDAP 1.0.7

 -- Jan Schneider <j.schneider@uib.de>  Fri, 26 Jun 2009 16:00:29 +0200

python-opsi (3.4.0.0-rc2) unstable; urgency=low

  * Tools.py 1.0.1: replaced popen by subprocess
  * BackendManager 1.0.6: installPackage() encode defaultValue to utf-8
  * Bugfix in LDAP.py and File31

 -- Jan Schneider <j.schneider@uib.de>  Tue, 16 Jun 2009 12:40:10 +0200

python-opsi (3.4.0.0-rc1) unstable; urgency=low

  * Introducing license management
  * JSONRPC backend: non-blocking connect
  * Introducing modules file /etc/opsi/modules
  * Added /usr/share/opsi/opsi-fire-event.py
  * opsi-admin 1.0

 -- Jan Schneider <j.schneider@uib.de>  Tue, 02 Jun 2009 12:49:22 +0200

python-opsi (3.3.1.5-1) stable; urgency=low

  * Fixed getSelections on lenny in module UI (snack)

 -- Jan Schneider <j.schneider@uib.de>  Mon, 06 Apr 2009 15:30:13 +0200

python-opsi (3.3.1.4-1) stable; urgency=low

  * Tools.py 0.9.9.6
      - fixed text mode driver integration
  * BackendManager.py 1.0
      - introducing method getOpsiInformation_hash

 -- Jan Schneider <j.schneider@uib.de>  Wed, 04 Mar 2009 12:32:32 +0100

python-opsi (3.3.1.3-1) stable; urgency=low

  * Product.py 1.1.2
  * BackendManager.py 0.9.9.5
  * LDAP.py 0.9.1.12
  * Tools.py 0.9.9.4
  * Util.py 0.2.1

 -- Jan Schneider <j.schneider@uib.de>  Tue, 24 Feb 2009 14:02:42 +0100

python-opsi (3.3.1.2-1) stable; urgency=low

  * Posix.py 1.1.12
     - createPartition: lowest possible start sector now 0
  * Util.py 0.2
  * BackendManager.py 0.9.9.3
     - possibility to pass forced backend instance to constructor
  * Cache.py 0.1 (starting a new data backend)
  * Backend.py 0.9.9
  * Product.py 1.1.1
     - introducing file-info-file
  * Tools.py 0.9.9.2
     - includeDir, includeFile parms for findFile

 -- Jan Schneider <j.schneider@uib.de>  Tue, 17 Feb 2009 10:28:12 +0100

python-opsi (3.3.1.1-1) stable; urgency=low

  * Product.py 1.0.1
  * Util.py 0.2
  * BackendManager.py 0.9.9.2

 -- Jan Schneider <schneider@pcbon14.uib.local>  Wed, 11 Feb 2009 16:18:17 +0100

python-opsi (3.3.1.0-5) stable; urgency=low

  * File31.py 0.2.7.22
  * Windows.py 0.1.5

 -- Jan Schneider <j.schneider@uib.de>  Wed, 04 Feb 2009 14:51:24 +0100

python-opsi (3.3.1.0-4) stable; urgency=low

  * Bugfixes in:
      - Windows.py
      - LDAP.py
      - BackendManager.py

 -- Jan Schneider <j.schneider@uib.de>  Wed, 04 Feb 2009 14:50:08 +0100

python-opsi (3.3.1.0-3) stable; urgency=low

  * BackendManager.py 0.9.9
      new methods adjustProductActionRequests, adjustProductStates
  * File.py 0.9.7.9
      pathnams.ini fixes
  * new version of config file 50_interface.conf

 -- Jan Schneider <j.schneider@uib.de>  Mon, 26 Jan 2009 11:54:04 +0100

python-opsi (3.3.1.0-2) stable; urgency=low

  * Fix

 -- Jan Schneider <j.schneider@uib.de>  Wed, 14 Jan 2009 17:57:18 +0100

python-opsi (3.3.1.0-1) stable; urgency=low

  * changed signature of methods getClientIds_list, getClients_listOfHashes
      depotid=None => depotIds=[]
  * added creation timestamp to host hash

 -- Jan Schneider <j.schneider@uib.de>  Tue, 13 Jan 2009 12:42:41 +0100

python-opsi (3.3.0.32-1) stable; urgency=low

  * Posix 1.1.11
      hardwareInventory(): added alsa hdaudio information
  * opsihwaudit.conf: added class HDAUDIO_DEVICE

 -- Jan Schneider <j.schneider@uib.de>  Tue, 06 Jan 2009 11:49:47 +0100

python-opsi (3.3.0.31-1) stable; urgency=low

  * MySQL.py 0.2.4.4

 -- Jan Schneider <j.schneider@uib.de>  Wed, 17 Dec 2008 16:23:51 +0100

python-opsi (3.3.0.30-1) stable; urgency=low

  * Fixed bug in File31.py method getSoftwareInformation_hash
  * File.py 0.9.7.5

 -- Jan Schneider <j.schneider@uib.de>  Tue, 16 Dec 2008 17:44:35 +0100

python-opsi (3.3.0.29-1) stable; urgency=low

  * Fixed bug in Product.py (Product instance has no attribute 'windowsSoftwareId')

 -- Jan Schneider <j.schneider@uib.de>  Fri, 21 Nov 2008 23:06:59 +0100

python-opsi (3.3.0.28-1) stable; urgency=low

  * Added maxSize param to readLog()

 -- Jan Schneider <j.schneider@uib.de>  Wed, 19 Nov 2008 15:45:47 +0100

python-opsi (3.3.0.27-1) stable; urgency=low

  * new versions of opsi-standalone.schema, opsi.schema
  * new version of 50_interface.conf
  * Windows.py 0.1.1
  * Util.py 0.1.2.1
  * Product.py 0.9.9
  * Backend/LDAP.py 0.9.1.6
  * Backend/BackendManager.py 0.9.7.2
  * Backend/File31.py 0.2.7.14
  * Backend/File.py 0.9.7.4

 -- Jan Schneider <j.schneider@uib.de>  Wed, 19 Nov 2008 13:50:22 +0100

python-opsi (3.3.0.26-1) stable; urgency=low

  * Product.py 0.9.8.9
  * Backend/MySQL.py 0.2.4.3
  * System/Posix.py 1.1.9
  * new version of opsihwaudit.conf
  * register-depot.py 1.1.1

 -- Jan Schneider <j.schneider@uib.de>  Tue, 28 Oct 2008 14:43:01 +0100

python-opsi (3.3.0.25-1) stable; urgency=low

  * Added Twisted.Web2.dav
  * Posix.py 1.1.8
  * JSONRPC.py 0.9.5.8

 -- Jan Schneider <j.schneider@uib.de>  Wed, 08 Oct 2008 15:53:05 +0200

python-opsi (3.3.0.24-1) stable; urgency=low

  * Using librsync from duplicity

 -- Jan Schneider <j.schneider@uib.de>  Mon, 25 Aug 2008 13:59:57 +0200

python-opsi (3.3.0.23-1) stable; urgency=low

  * Util.py 0.1
  * File31.py 0.2.7.13
  * LDAP.py 0.9.1.4
  * System.py removed
  * System/Posix.py 1.1.5
  * System/Windows.py 0.0.1

 -- Jan Schneider <j.schneider@uib.de>  Mon, 11 Aug 2008 11:50:51 +0200

python-opsi (3.3.0.22-1) stable; urgency=low

  * librsync included

 -- Jan Schneider <j.schneider@uib.de>  Wed, 09 Jul 2008 17:12:04 +0200

python-opsi (3.3.0.21-1) stable; urgency=low

  * File31.py 0.2.7.11
     fixed bug in getDefaultNetbootProductId

 -- Jan Schneider <j.schneider@uib.de>  Wed, 09 Jul 2008 17:07:02 +0200

python-opsi (3.3.0.20-1) stable; urgency=low

  * File31.py 0.2.7.10
  * LDAP.py 0.9.1.2

 -- Jan Schneider <j.schneider@uib.de>  Mon, 07 Jul 2008 14:11:40 +0200

python-opsi (3.3.0.19-1) stable; urgency=low

  * LDAP.py 0.9.1.1
  * Univention.py 0.5
  * File31.py 0.2.7.9

 -- Jan Schneider <j.schneider@uib.de>  Thu, 03 Jul 2008 13:46:13 +0200

python-opsi (3.3.0.18-1) stable; urgency=low

  * File.py 0.9.7.3
  * LDAP.py 0.9.0.3
  * Product.py 0.9.8.8

 -- Jan Schneider <j.schneider@uib.de>  Thu, 26 Jun 2008 09:36:36 +0200

python-opsi (3.3.0.17-1) stable; urgency=low

  * LDAP Backend rewritten

 -- Jan Schneider <j.schneider@uib.de>  Mon, 23 Jun 2008 17:16:03 +0200

python-opsi (3.3.0.16-1) stable; urgency=low

  * WakeOnLAN 0.9.2
      Magic Packet changed

 -- Jan Schneider <j.schneider@uib.de>  Tue, 17 Jun 2008 14:08:30 +0200

python-opsi (3.3.0.15-1) stable; urgency=low

  * System.py 1.1.0
      LD_PRELOAD now set temporary while running subprocesses
      new methods getBlockDeviceBusType(), Harddisk.getBusType()

 -- Jan Schneider <j.schneider@uib.de>  Thu, 12 Jun 2008 17:35:19 +0200

python-opsi (3.3.0.14-1) stable; urgency=low

  * System.py 1.0.1
  * interface method getDepot_hash returns depot's ip

 -- Jan Schneider <j.schneider@uib.de>  Thu, 05 Jun 2008 16:16:46 +0200

python-opsi (3.3.0.13-1) stable; urgency=low

  * System.py 1.0.0.8

 -- Jan Schneider <j.schneider@uib.de>  Thu, 29 May 2008 14:40:20 +0200

python-opsi (3.3.0.12-1) stable; urgency=low

  * System.py 1.0.0.7
  * File31.py 0.2.7.7

 -- Jan Schneider <j.schneider@uib.de>  Thu, 29 May 2008 13:40:01 +0200

python-opsi (3.3.0.11-1) stable; urgency=low

  * changed logging

 -- Jan Schneider <j.schneider@uib.de>  Wed, 28 May 2008 14:33:22 +0200

python-opsi (3.3.0.10-1) stable; urgency=low

  * added BackendManager method getDiskSpaceUsage

 -- Jan Schneider <j.schneider@uib.de>  Tue, 20 May 2008 09:48:22 +0200

python-opsi (3.3.0.9-1) stable; urgency=low

  * parameter tempDir added to method installPackage in BackendManager

 -- Jan Schneider <j.schneider@uib.de>  Thu, 15 May 2008 14:11:03 +0200

python-opsi (3.3.0.8-1) stable; urgency=low

  * added interface method setMacAddress()
  * repository bandwidth added

 -- Jan Schneider <j.schneider@uib.de>  Tue, 13 May 2008 13:39:56 +0200

python-opsi (3.3.0.7-1) stable; urgency=low

  * setMacAddresses() implemented in DHCPD-Backend
  * added methods readLog(), writeLog()
  * Fixed bug in System.py

 -- Jan Schneider <j.schneider@uib.de>  Mon,  5 May 2008 13:26:45 +0200

python-opsi (3.3.0.6-1) stable; urgency=low

  * Fixed several bugs

 -- Jan Schneider <j.schneider@uib.de>  Fri,  2 May 2008 14:05:46 +0200

python-opsi (3.3.0.5-1) stable; urgency=low

  * Fixed bug in Logger linkLogFile()

 -- Jan Schneider <j.schneider@uib.de>  Thu, 24 Apr 2008 17:08:12 +0200

python-opsi (3.3.0.4-1) stable; urgency=low

  * MySQL lacy connect

 -- Jan Schneider <j.schneider@uib.de>  Wed, 23 Apr 2008 16:25:33 +0200

python-opsi (3.3.0.3-1) stable; urgency=low

  * Fixed unpack of SERVER_DATA

 -- Jan Schneider <j.schneider@uib.de>  Tue, 22 Apr 2008 18:00:03 +0200

python-opsi (3.3.0.2-1) stable; urgency=low

  * MySQL Backend 0.2.3

 -- Jan Schneider <j.schneider@uib.de>  Mon, 21 Apr 2008 16:11:48 +0200

python-opsi (3.3.0.1-1) stable; urgency=high

  * Fixed postinst bug in BackendManager
  * Added method getMD5Sum()

 -- Jan Schneider <j.schneider@uib.de>  Thu, 17 Apr 2008 16:16:55 +0200

python-opsi (3.3.0.0-1) stable; urgency=low

  * Multidepot support
  * Major changes in product/package handling
  * OpsiPXEConfd backend can forward requests to other depots
  * MySQL Backend for hardware audit and software audit
  * Removed Reinstmgr Backend
  * Logger can handle special configuration for class instances

 -- Jan Schneider <j.schneider@uib.de>  Tue, 15 Apr 2008 13:42:27 +0200

python-opsi (3.2.0.16-1) stable; urgency=low

  * JSONRPC - fixed bug in retry request

 -- Jan Schneider <j.schneider@uib.de>  Mon, 31 Mar 2008 10:44:44 +0200

python-opsi (3.2.0.15-1) stable; urgency=low

  * Added backend methods userIsHost() and userIsAdmin()
  * Univention.py fixed some warnings

 -- Jan Schneider <j.schneider@uib.de>  Mon, 10 Mar 2008 13:03:15 +0100

python-opsi (3.2.0.14-1) stable; urgency=low

  * System.py 0.9.9.9
     - hardwareInventory() replacing invalid tokens from lshw output

 -- Jan Schneider <j.schneider@uib.de>  Wed, 27 Feb 2008 12:43:13 +0100

python-opsi (3.2.0.13-1) stable; urgency=low

  * Product.py 0.9.8.0
     - fixes
     - faster unpacking
     - custom only packages
  * System.py: fixed bug in shred()

 -- Jan Schneider <j.schneider@uib.de>  Mon, 18 Feb 2008 11:17:57 +0100

python-opsi (3.2.0.12-1) stable; urgency=low

  * File31.py 0.2.6.1: fixed bug in getProductProperties_hash

 -- Jan Schneider <j.schneider@uib.de>  Sun, 10 Feb 2008 21:04:21 +0100

python-opsi (3.2.0.11-1) stable; urgency=low

  * Product.py 0.9.7.0: productProperty values with space characters
  * Added interface method setProductProperty

 -- Jan Schneider <j.schneider@uib.de>  Fri,  8 Feb 2008 09:12:35 +0100

python-opsi (3.2.0.10-1) stable; urgency=low

  * System.py 0.9.9.7

 -- Jan Schneider <j.schneider@uib.de>  Wed,  6 Feb 2008 12:35:11 +0100

python-opsi (3.2.0.9-1) stable; urgency=low

  * System.py 0.9.9.6

 -- Jan Schneider <j.schneider@uib.de>  Wed,  6 Feb 2008 10:31:49 +0100

python-opsi (3.2.0.8-1) stable; urgency=low

  * System.py 0.9.9.5

 -- Jan Schneider <j.schneider@uib.de>  Fri, 25 Jan 2008 13:52:38 +0100

python-opsi (3.2.0.7-1) stable; urgency=low

  * Fixed bug when passing unicode strings in Logger.log

 -- Jan Schneider <j.schneider@uib.de>  Mon, 21 Jan 2008 14:53:00 +0100

python-opsi (3.2.0.6-1) stable; urgency=low

  * Fixed bug in backend LDAP method getProductIds_list

 -- Jan Schneider <j.schneider@uib.de>  Wed, 16 Jan 2008 17:20:09 +0100

python-opsi (3.2.0.5-1) stable; urgency=low

  * readPartitionTable adapted for cciss

 -- Jan Schneider <j.schneider@uib.de>  Tue, 15 Jan 2008 11:20:26 +0100

python-opsi (3.2.0.4-1) stable; urgency=low

  * getPcpatchRSAPrivateKey updated

 -- Jan Schneider <j.schneider@uib.de>  Tue, 18 Dec 2007 11:29:01 +0100

python-opsi (3.2.0.3-1) stable; urgency=low

  * added default parameter for getProductIds_list in LDAP.py

 -- Rupert Roeder <r.roeder@uib.de>  Mon,  3 Dec 2007 15:29:39 +0100

python-opsi (3.2.0.2-1) stable; urgency=low

  * handling of percent signs in file 3.1

 -- Jan Schneider <j.schneider@uib.de>  Thu,  8 Nov 2007 15:29:39 +0100

python-opsi (3.2.0.1-1) stable; urgency=low

  * Extended hwaudit

 -- Jan Schneider <j.schneider@uib.de>  Thu,  8 Nov 2007 15:29:39 +0100

python-opsi (3.2.0-1) stable; urgency=low

  * Changes in System.hardwareInventory()
  * Bugfix in System.execute()
  * New function Tools.objectToBeautifiedText()

 -- Jan Schneider <j.schneider@uib.de>  Fri,  2 Nov 2007 11:04:35 +0100

python-opsi (3.1.2.1-1) stable; urgency=low

  * File31: Implemented getSoftwareInformation_hash(), setSoftwareInformation(), deleteSoftwareInformation()

 -- Jan Schneider <j.schneider@uib.de>  Tue, 23 Oct 2007 12:56:04 +0200

python-opsi (3.1.2.0-1) stable; urgency=low

  * Added methods comment(), exit() to Logger
  * Fixed bug in Logger (exception if log-file not writable)

 -- Jan Schneider <j.schneider@uib.de>  Mon, 22 Oct 2007 16:09:26 +0200

python-opsi (3.1.1.0-1) stable; urgency=low

  * Added opsi hwaudit
  * SSH RSA authentication for pcpatch
  * Fixed bug on unpacking incremental packages
  * ProductPackageSource.pack() excludes .svn dirs by default

 -- Jan Schneider <j.schneider@uib.de>  Fri, 19 Oct 2007 13:35:55 +0200

python-opsi (3.1.0.1-1) stable; urgency=low

  * fixed bug in Tools.compareVersions()
  * changed permissions for method getClientIds_list in 50_interface.conf
  * fixed bugs in DHCPD.py: inheritance when creating clients, single ; as command
  * added methods getPcpatchRSAPrivateKey(), getHostRSAPublicKey()

 -- Jan Schneider <j.schneider@uib.de>  Tue, 11 Sep 2007 10:12:32 +0200

python-opsi (3.1.0-2) stable; urgency=low

  * added method getProducts_listOfHashes to 50_interface.conf

 -- Jan Schneider <j.schneider@uib.de>  Thu, 30 Aug 2007 15:37:46 +0200

python-opsi (3.1.0-1) stable; urgency=low

  * Opsi 3.1 stable release

 -- Jan Schneider <j.schneider@uib.de>  Tue, 28 Aug 2007 10:02:48 +0200

python-opsi (3.1rc1-8) unstable; urgency=low

  * 50_interface: Corrected hwinvent-backend
  * File-Backend: fixed createProduct()

 -- Jan Schneider <j.schneider@uib.de>  Thu,  2 Aug 2007 13:51:33 +0200

python-opsi (3.1rc1-7) unstable; urgency=low

  * File: keep client property values when reinstalling product with opsiinst

 -- Jan Schneider <j.schneider@uib.de>  Wed, 25 Jul 2007 13:31:37 +0200

python-opsi (3.1rc1-6) unstable; urgency=low

  * reverted hardware information handling
  * Fixed version information (all backends)

 -- Jan Schneider <j.schneider@uib.de>  Thu, 19 Jul 2007 11:50:27 +0200

python-opsi (3.1rc1-5) unstable; urgency=low

  * opsiaudit adjustments
  * Bugfixes

 -- Jan Schneider <j.schneider@uib.de>  Tue, 17 Jul 2007 13:19:45 +0200

python-opsi (3.1rc1-4) unstable; urgency=low

  * Fixed: DHCPD-Backend-configuration fixed-address type setting not working
  * Fixed: makeproductfile does not create Customized products
  * Fixed: LDAP-Backend wrong version information

 -- Jan Schneider <j.schneider@uib.de>  Thu, 12 Jul 2007 10:34:05 +0200

python-opsi (3.1rc1-3) unstable; urgency=low

  * added support for pxeConfigTemplates defined in netboot products

 -- Jan Schneider <j.schneider@uib.de>  Thu,  5 Jul 2007 12:16:37 +0200

python-opsi (3.1rc1-2) unstable; urgency=low

  * File31 getDepotId() recursion fix

 -- Jan Schneider <j.schneider@uib.de>  Wed,  4 Jul 2007 09:51:24 +0200

python-opsi (3.1rc1-1) unstable; urgency=low

  * opsi 3.1 release candidate 1
  * opsipxeconfd becomes default boot manager
  * getClientIds_list, getClients_listOfHashes: filter by productVersion + packageVersion
  * new method setProductState
  * FileBackend becomes LegacyFileBackend, new FileBackend

 -- Jan Schneider <j.schneider@uib.de>  Thu, 26 May 2007 15:17:00 +0200

python-opsi (0.9.6.0-1) unstable; urgency=low

  * getDomain() returns default domain if called without params
  * setPcpatchPassword / getPcpatchPassword for server
  * Bugfixes

 -- Jan Schneider <j.schneider@uib.de>  Fri, 11 May 2007 17:21:46 +0200

python-opsi (0.9.5.1-1) unstable; urgency=low

  * Added support for package-dependencies and incremental packages

 -- Jan Schneider <j.schneider@uib.de>  Mon, 07 May 2007 12:18:34 +0200

python-opsi (0.9.5.0-1) unstable; urgency=low

  * Added product state "installing"
  * Added backend OpsiPXEConfd

 -- Jan Schneider <j.schneider@uib.de>  Thu, 26 Apr 2007 11:24:56 +0200

python-opsi (0.9.4.4-1) unstable; urgency=low

  * support for product archives without compression

 -- Jan Schneider <j.schneider@uib.de>  Mon, 23 Apr 2007 09:54:28 +0200

python-opsi (0.9.4.3-1) unstable; urgency=low

  * BackendManager uses /etc/opsi/backendManager.d for config by default

 -- Jan Schneider <j.schneider@uib.de>  Thu, 19 Apr 2007 14:13:31 +0200

python-opsi (0.9.4.2-1) unstable; urgency=high

  * Corrected important errors when creating and extracting tar archives

 -- Jan Schneider <j.schneider@uib.de>  Thu, 19 Apr 2007 14:13:31 +0200

python-opsi (0.9.4.1-1) unstable; urgency=low

  * added backend method setPcpatchPassword

 -- Jan Schneider <j.schneider@uib.de>  Wed, 18 Apr 2007 16:41:21 +0200

python-opsi (0.9.4.0-1) unstable; urgency=low

  * fixed setGeneralConfig in LDAP backend

 -- Jan Schneider <j.schneider@uib.de>  Fri, 13 Apr 2007 16:07:51 +0200

python-opsi (0.9.3.9-1) unstable; urgency=low

  * fixes

 -- Jan Schneider <j.schneider@uib.de>  Thu, 12 Apr 2007 14:39:22 +0200

python-opsi (0.9.3.8-1) unstable; urgency=low

  * Product.py pack() fix

 -- Jan Schneider <j.schneider@uib.de>  Tue, 05 Apr 2007 15:06:12 +0200

python-opsi (0.9.3.7-1) unstable; urgency=low

  * several fixes, improvements
  * tar as default format for opsi packages

 -- Jan Schneider <j.schneider@uib.de>  Tue, 05 Apr 2007 13:02:23 +0200

python-opsi (0.9.3.6-1) unstable; urgency=low

  * several fixes, improvements

 -- Jan Schneider <j.schneider@uib.de>  Thu, 22 Mar 2007 12:16:01 +0200

python-opsi (0.9.3.5-1) unstable; urgency=low

  * Tools.py
      Fixed createArchive()

 -- Jan Schneider <j.schneider@uib.de>  Fri, 13 Mar 2007 17:16:26 +0200

python-opsi (0.9.3.4-1) unstable; urgency=low

  * Latest version of File.py
      Fixed ini writing (uninstall script) on createProduct()
  * Latest version of LDAP.py
  * Latest version of Univention.py

 -- Jan Schneider <j.schneider@uib.de>  Fri, 09 Mar 2007 16:15:02 +0200

python-opsi (0.9.3.3-1) unstable; urgency=low

  * Latest version of Product.py

 -- Jan Schneider <j.schneider@uib.de>  Thu, 08 Mar 2007 11:24:01 +0200

python-opsi (0.9.3.2-2) unstable; urgency=low

  * Added LDAP schema /etc/ldap/schema/opsi.schema

 -- Jan Schneider <j.schneider@uib.de>  Thu, 15 Feb 2007 14:25:44 +0200

python-opsi (0.9.3.2-1) unstable; urgency=high

  * Product.py (0.9.3.2)
       Bugfix

 -- Jan Schneider <j.schneider@uib.de>  Thu, 15 Feb 2007 14:18:01 +0200

python-opsi (0.9.3.1-1) unstable; urgency=low

  * System.py (0.9.3.1)
       Using -t cifs instead of -t smbfs to mount smb shares

 -- Jan Schneider <j.schneider@uib.de>  Thu, 15 Feb 2007 13:20:03 +0200

python-opsi (0.9.3-1) unstable; urgency=low

  * File.py (0.9.2)
       Improved logging of name resolution errors

 -- Jan Schneider <j.schneider@uib.de>  Wed, 14 Feb 2007 14:51:13 +0200

python-opsi (0.9.2-1) unstable; urgency=low

  * backendManager.conf
       permissions rw-rw---- pcpatch:opsiadmin
  * /usr/bin/opsi-admin
       permissions rwxrwx--- pcpatch:opsiadmin
  * Backend.py (0.9.2)
       added abstract DataBackend.createOpsiBase()
  * File.py (0.9.2)
       createClient() file mode for <pcname>.ini now 660
  * Product.py (0.9.2)
       added method ProductPackageFile.unpackSource,
       which creates package source from package file
  * Reinstmgr (0.9.2)
       no Exception raised by getBootimages_list if no bootimages present

 -- Jan Schneider <j.schneider@uib.de>  Wed, 14 Feb 2007 13:16:10 +0200

python-opsi (0.91-1) unstable; urgency=low

  * backendManager.conf: createClient() creates opsi-hostkey only if missing.
  * some fixes in File backend

 -- Jan Schneider <j.schneider@uib.de>  Tue, 13 Feb 2007 8:56:44 +0200

python-opsi (0.9-1) unstable; urgency=low

  * Initial Release.

 -- Jan Schneider <j.schneider@uib.de>  Thu, 18 Jan 2007 11:46:44 +0200
