New opsi Products for 4.0.6 and opsi-wim-capture in Testing

Antworten
Benutzeravatar
m.scalese
uib-Team
Beiträge: 37
Registriert: 22 Aug 2014, 09:13

New opsi Products for 4.0.6 and opsi-wim-capture in Testing

Beitrag von m.scalese »

Dear opsi users,

We hereby publish a series of new packages, manuals and fixes as testing.
This includes especially the new opsi extension opsi-wim-capture.
The description for opsi-wim-capture, and the required activation steps
can be found in (Testing) opsi-manual in section 9.2.

As testing we publish:

Localboot:

* Opsi-client-agent (4.0.6.3-11)
* Opsi-winst / opsi script (4.11.5.18-1)
* Opsi-wim-capture_4.0.6.1-3
* Opsi winpe_1.0-1
* config-win10_4.0.6-6
* opsi-configed (4.0.6.7.4-1)

Netboot:

* Windows NT6 4.0.6.2-3
* New for opsi-wim-capture:
* Win7-captured
* Win7 x64 captured,
* Win81-captured,
* Win81-x64-captured,
* Win10-captured,
* Win10-x64-captured,

opsi-linux:

* debian7_4.0.6-2
* ubuntu_4.0.6.1-4
* sles12sp1_4.0.6.2-4
* opensusel42-1_4.0.6.2-4
* Opsi-linux-client-agent_4.0.6.3-20160225
* L-jedit_5.3-2
* L-system-update_4.0.6.1-1

opsi-local-image:

* Opsi-local-image-capture_4.0.6.1-5

Server packages:

* Opsi depot server (4.0.6.7-1)
* Opsi-utils (4.0.6.7-1)
* Python-opsi (4.0.6.45-1)
* Opsi4ucs (4.0.6.7-1)

Manuals:

* Opsi-getting-started
* Opsi-manual
* Opsi-support matrix
* Opsi-winst-manual
* Opsi-winst-reference card

The opsi products for testing as well as the Manuals can be found at:
http://download.uib.de/opsi4.0/testing/opsi-v406/

The testing server packages are in the Testing branch of the opsi repositories:
http://download.opensuse.org/repositori ... 0-testing/


As always, kind regards
Martin Scalese


Changelogs:
-------------------------------------------------- -------------------------------------------
opsi-winst / opsi script (4.11.5.18-1) stable; urgency = low

* Windows upgrade to indy 10.6.2 (Indy10_5345) for openssl 1.0.2g
* Downgrade to OpenSSL 1.0.2f

- Detlef Oertel <d.oertel@uib.de> Thu 09 Feb 2016: 15: 00: 00 +0200


opsi-winst / opsi script (4.11.5.17-2) stable; urgency = low

* Update to openssl 1.0.2g
* Touch on winst32.exe

- Detlef Oertel <d.oertel@uib.de> Fri, 04 Mar 2016: 15: 00: 00 +0200

opsi-winst / opsi script (4.11.5.17) stable; urgency = low

* Osparser: save text file: call FuncSaveToFile; fixes # 1997
* Merge from 4.11.6.1 for Linux:
* Osconf, osmain: change depotdrive for linux from / mnt to / media / opsi_depot
* Osmain: new command line parameter: 'credentialfile' for username, password and sessionid in format:
username = <username>
password = <password>
sessionid = <sessionid>
If the parameter 'credentialfile' is used all thre parameters will be used from the file and
the parameters: username, password and sessionid will be ignored
* Osmain: BuildPC: create flag files in / var / run / opsiclientd for shutdown or reboot
execute reboot only if no opsiclientd in processlist
* Opsiscript.lpr / winst.lpr replace default translator by lcltranslator
* Osmain: (GUI) GetParameter: new parameters: length <2 letter langCode>
is set to lcltranslator.SetDefaultLang

- Detlef Oertel <d.oertel@uib.de> Thu 09 Feb 2016: 15: 00: 00 +0200

-------------------------------------------------- -------------------------------------------
opsi-client-agent (4.0.6.3-11) stable; urgency = low

* Change to opsi script 4.11.5.18 (openssl 1.0.2f, can handle openssl 1.0.2g)
* Fixes at importing productOnClient from wim-capture and oli-capture
* Calling sc.exe with full path; fixes # 2085
* Copy ssl DLLs from openssl you (not from opsi script you)

- Detlef Oertel <d.oertel@uib.de> Tue, 22 Mar 2016: 15: 00: 00 +0200


opsi-client-agent (4.0.6.3-10) stable; urgency = low

* Update to opsi script 4.11.5.18 (with openssl 1.0.2g)
* Go back to openssl 1.0.2f until opsiclientd can handle 1.0.2g

- Detlef Oertel <d.oertel@uib.de> Thu, 10 Mar 2016: 15: 00: 00 +0200


opsi-client-agent (4.0.6.3-9) stable; urgency = low

* Updated opsi-deploy-client-agent to 4.0.6.13. (Nw 02.26.16)
* Update to openssl 1.0.2g

- Detlef Oertel <d.oertel@uib.de> Fri, 04 Mar 2016: 15: 00: 00 +0200

opsi-client-agent (4.0.6.3-8) stable; urgency = low

* Integrate restore of product on clientsfromhell wim-capture
* $ LogDir =% opsiLogDir%
* Update to opsi-winst 4.11.5.16

- Detlef Oertel <d.oertel@uib.de> Mon 01 Feb 2016: 15: 00: 00 +0200
-------------------------------------------------- -------------------------------------------
opsi-wim-capture (4.0.6.1-3) stable; urgency = low

* Added check for WinPE partition

- Detlef oertel <d.oertel@uib.de> Wed, 23 Mar 2016 15:00:00 +0000

opsi-wim-capture (4.0.6.1-2) stable; urgency = low

* Added locking file opsi-wim-capture.lock in base directory of target product
* File install.esd accepted as possible append file
* Update to 1.9 wimlib

- Detlef oertel <d.oertel@uib.de> Mon, February 24, 2016 15:00:00 +0000

opsi-wim-capture (4.0.6.1-1) stable; urgency = low

* Project copied from: opsi-local-image-sysprep_4.0.6.1-1.opsi
* Merged with opsi-local-image-capture

- Detlef oertel <d.oertel@uib.de> Mon, 28 Dec 2015 19:18:21 +0000
-------------------------------------------------- -------------------------------------------
opsi winpe (1.0-1) testing; urgency = low

* Initial package

- Ne <a.neugebauer@uib.de> Tue, 08 Dec 2015 10:40:42 +0000
-------------------------------------------------- -------------------------------------------
config-win10 (4.0.6-6) experimental; urgency = low

* Added option to defer upgrades (8 months) and updates (4 weeks)

- M.radtke <m.radtke@uib.de> Mon, 15 February 2016 13:55:00 + 0100
-------------------------------------------------- -------------------------------------------
opsi-server (4.0.6.7.4-1) testing; urgency = medium

* Multiselection switched on in swaudit page
* Labeling of pdf open or save dialog

- Roeder <roeder@uib.de> Thu, 17 Mar 2016 13:46:02 +0100

opsi-server (4.0.6.7.3-1) EXPERIMENTAL; urgency = medium

* Fixed lost view of filtered clients

- Roeder <roeder@uib.de> Wed, 16 Mar 2016 16:23:32 +0100

opsi-server (4.0.6.7.2-1) EXPERIMENTAL; urgency = medium

* Treeview groups can now be moved, the clients can be removed (without
deleting the group)

- Roeder <roeder@uib.de> Tue, 15 Mar 2016 15:12:07 +0100

opsi-server (4.0.6.7.1-1) EXPERIMENTAL; urgency = medium

* Password property hiding

- Roeder <roeder@uib.de> Wed, 09 Mar 2016 12:56:07 +0100

opsi-server (4.0.6.7.0-1) EXPERIMENTAL; urgency = medium

* Fixed re-selection of clients after reload

- Roeder <roeder@uib.de> Mon, 07 Mar 2016 12:30:43 +0100

opsi-server (4.0.6.6.2-1) TESTING; urgency = medium

* Fixed two problems in license management

- Roeder <roeder@uib.de> Thu, 03 Mar 2016 16:23:06 +0100

opsi-server (4.0.6.6.1-1) TESTING; urgency = medium

* (Delayed) wake on lan on Several depots
* Multi-word search Implemented for client page
* Windows menu Introduced
* Option to arrange all running dialogue in the foreground
* Context menu option for saving log files
* Several bug fixes

- Roeder <roeder@uib.de> Mon, February 22, 2016 14:38:12 +0200
-------------------------------------------------- -------------------------------------------
windows (4.0.6.2-3) stable; urgency = low

* Opsisetuplib.py: added NVME Device path in getPartitionDevicePath ()

- Mathias Radtke <m.radtke@uib.de> Thu, 03 Mar 2016 13:45:00 +0200
-------------------------------------------------- -------------------------------------------
sles12_4.0.6.2-3 stable; urgency = low

* Initial from sles12_4.0.6.2-4

- Detlef Oertel <d.oertel@uib.de> Mon, 22 Feb 2016: 15: 00: 00 +0200
-------------------------------------------------- -------------------------------------------
opensusel42-1_4.0.6.2-4 stable; urgency = low

* Created from sles12sp1 and opensuse13-2

- Detlef oertel <d.oertel@uib.de> Mon, February 29, 2016 15:00:00 +0200
-------------------------------------------------- -------------------------------------------
debian7-4.0.6-2 stable; urgency = low

* Use kexec from boot image if possible

- Detlef Oertel <d.oertel@uib.de> Wed, 02 Mar 2016: 15: 00: 00 +0200
-------------------------------------------------- -------------------------------------------
ubuntu (4.0.6.1-4) stable; urgency = low

* Release: added xenial

- Detlef Oertel <d.oertel@uib.de> Mon, 22 Feb 2016: 15: 00: 00 +0200
-------------------------------------------------- -------------------------------------------
ubuntu (4.0.6.1-3) stable; urgency = low

* Release: added wily
* Added dependency for opsi-linux-client-agent: lsof

- Detlef Oertel <d.oertel@uib.de> Tue 09 Feb 2016: 15: 00: 00 +0200

-------------------------------------------------- -------------------------------------------

opsi-linux-client-agent (4.0.6.3-20160225) experimental; urgency = low

* Refactored installation steps under SLES / openSUSE.
This should fix problems When the opsi-client-agent is installed as part
of an OS installation.
* Added support for opsiclientd sles12sp1 (do 20160225)
* Updated opsiclientd.
* Added opsiclientd support for openSUSE 42.1 Leap (do 20160229)
* Reactivated postinst copy product to nfs_share; needed by suse, redhat, ... (do 20160302)

- Niko Wenselowski <n.wenselowski@uib.de> Wed, February 24, 2016 17:00:35 +0200

opsi-linux-client-agent (4.0.6.3-20160224) experimental; urgency = low

* Updated opsi-deploy-client-agent to 4.0.6.13. (NW, 20160224)

- Niko Wenselowski <n.wenselowski@uib.de> Wed, February 24, 2016 11:08:35 +0200

opsi-linux-client-agent (4.0.6.3-20160222) experimental; urgency = low

* Fix for Univention (use only first 3 chars of release sting) (do 20160216)
* Added sles12 opsiclientd support (nw 20160217)

- D.oertel <d.oertel@uib.de> Tue, 16 January 2016 15:00:00 + 0100


opsi-linux-client-agent (4.0.6.3-20160212) experimental; urgency = low

* New: ShellInAnIcon_configure_opsiclientd_ports_univention
* Remove direct opsiscriptstarter startup if opsiclientd will be installed
* Do not install X opsiscriptstarter startup if opsiclientd will be installed
* Opsi script / opsi script starter: new mountpoint: / media / opsi_depot
* Use opsi script command line parameter 'credentialfile'
* Old (405 - non opsiclientd) start files as startfiles405
* Sles12: remove installation of librsync1
* Create mountpoint / media / opsi_depot
* Service_setup.sh: copyfiles with tar (avoid magic super filesize at openSuse 13.2)
* Set default (false) for property ALLOW_REBOOT
* Added openssl as debian dep
* Moved opsi script po files to /usr/share/locale/<lang>/LC_MESSAGES/opsi-script.po
* Update to opsi script 4.11.5.17
* Add lsof to the dependencies
* New property: dns_name_source; to change the method priority to get the name dnsdomain

- D.oertel <d.oertel@uib.de> Wed, January 13, 2016 15:00:00 + 0100


opsi-linux-client-agent (4.0.6.3-20160106) experimental; urgency = low

* Integrated old and new (opsiclientd) installation gemäß to $ opsiclientd_supported $

- D.oertel <d.oertel@uib.de> Wed, January 6, 2016 15:00:00 + 0100


opsi-linux-client-agent (4.0.6.2-1) experimental; urgency = low

* New opsiclientd-build.
* Improvements on the installation and deploy script.
* Update to opsi script / opsi script nogui 4.11.5.15

- Niko Wenselowski <n.wenselowski@uib.de> Tue, November 30, 2015 13:33:49 + 0100

opsi-linux-client-agent (4.0.6.1-1) stable; urgency = low

* Integration of clientd
* Rename of setup.ins and uninstall.ins to * .opsiscript
* Opsi script 4.11.5.6 (with ssl protocol: sslvSSLv23 - auto negotation)
* Opsi script starter (with ssl protocol: sslvSSLv23 - auto negotation)
* Opsi script starter gets mount user from clientconfig.depot.user
* Get hostname from% pcname%; references # 1369
* Disabled winbind at jessie .. (Bug in winbind 4.1.7: https://bugzilla.samba.org/show_bug.cgi?id=10604)

- D.oertel <d.oertel@uib.de> Fri, 30 January 2015 15:00:00 + 0100

-------------------------------------------------- -------------------------------------------

opsi-local-image-capture (4.0.6.1-5) stable; urgency = low

* Fix for host opsi_depot_rw_host (use host from depoturl)

- Detlef oertel <d.oertel@uib.de> Wed, 09 Mar 2016 15:00:00 +0200

-------------------------------------------------- ----------------------------------------------

opsi4ucs (4.0.6.7-1) testing; urgency = medium

* Opsi-setup: Fix another trouble during initialisiation config.

- Niko Wenselowski <n.wenselowski@uib.de> Tue, 08 Mar 2016 17:16:50 +0100

opsi4ucs (4.0.6.6-1) experimental; urgency = medium

* Opsi-setup: Fix a problem during initialisation config if a existing
OpsiConfigserver is found.

- Niko Wenselowski <n.wenselowski@uib.de> Tue, 08 Mar 2016 10:48:33 +0100

opsi4ucs (4.0.6.5-1) experimental; urgency = medium

* Using OPSI.Util.Task.ConfigureBackend.DHCPD

- Niko Wenselowski <n.wenselowski@uib.de> Thu, November 19, 2015 14:56:24 +0100

-------------------------------------------------- ----------------------------------------------

opsi depot server (4.0.6.7-1) testing; urgency = medium

* Opsi-setup: Fix another trouble during initialisiation config.

- Niko Wenselowski <n.wenselowski@uib.de> Tue, 08 Mar 2016 17:16:21 +0100

opsi depot server (4.0.6.6-1) experimental; urgency = medium

* Opsi-setup: Fix a problem during initialisation config if a existing
OpsiConfigserver is found.

- Niko Wenselowski <n.wenselowski@uib.de> Tue, 08 Mar 2016 10:43:33 +0100

opsi depot server (4.0.6.5-1) experimental; urgency = medium

* RPM: license now machine-parseable.
* Using OPSI.Util.Task.ConfigureBackend.DHCPD.

- Niko Wenselowski <n.wenselowski@uib.de> Thu, November 19, 2015 15:02:51 +0100

================================================== =========

opsi-utils (4.0.6.7-1) testing; urgency = medium

* Opsi-admin: Fix bug with failed translations.

- Niko Wenselowski <n.wenselowski@uib.de> Fri, September 25, 2015 12:31:35 +0200

opsi-utils (4.0.6.6-4) experimental; urgency = medium

* Do not forget to add the directory for Danish translation.

- Niko Wenselowski <n.wenselowski@uib.de> Thu, September 3, 2015 16:36:04 +0200

opsi-utils (4.0.6.6-3) experimental; urgency = medium

* Translations updated and translation for da added.

- Niko Wenselowski <n.wenselowski@uib.de> Thu, September 3, 2015 11:20:04 +0200

opsi-utils (4.0.6.6-2) experimental; urgency = medium

* Debian: Updated description.
* Debian: add missing install file.

- Niko Wenselowski <n.wenselowski@uib.de> Thu, August 13, 2015 15:36:30 +0200

opsi-utils (4.0.6.6-1) experimental; urgency = medium

* Opsi-admin: setPcpatchPassword fails on empty password.
* Opsi-admin: setPcpatchPassword hides password in output.
* Update translation to fix typo.
* Opsi-product-updater: Do not delete old logfile.
* Opsi-package-manager: Do not delete old logfile.
* Debian: overhauled packaging.

- Niko Wenselowski <n.wenselowski@uib.de> Thu, August 13, 2015 15:36:16 +0200

opsi-utils (4.0.6.5-2) experimental; urgency = medium

* Packaging fixes for OBS.

- Niko Wenselowski <n.wenselowski@uib.de> Mon, June 29, 2015 15:50:40 +0200

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

* Opsi convert: Fix problem with conversion between backends.
* Opsi-admin: Convert errors to unicode before logging them.
* Updated manpage.
* Opsi convert: fix the Possibility to convert between backends where
one of the backends is given as the backend address.
* Opsi convert: refactorings and cleanups.

- Niko Wenselowski <n.wenselowski@uib.de> Wed, June 10, 2015 11:22:40 +0200

================================================== =========

python-opsi (4.0.6.45-1) testing; 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 start sector 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 calls reboot to 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, February 23, 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 did
dict does miss an argument required by the constructor.

- Niko Wenselowski <n.wenselowski@uib.de> Mon, February 22, 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 February 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.
* JSON-RPC backend: Changed method to use When checking for deflate support.

- Niko Wenselowski <n.wenselowski@uib.de> Mon, 18 January 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, January 6, 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 context managers.
* 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, January 5, 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
shoulderstand now return the products in the expected order.
* OPSI.Util.HTTP: new function closeConnection.
* OPSI.Util.HTTP: new context manager closing connection.

- 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 so patches the DHCPD backend config to use the
right service restart command.
* OPSI.Object.AuditHardware: improve __repr__
* OPSI.Logger: always use the absolute path dow 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
did make an object unique.

- Niko Wenselowski <n.wenselowski@uib.de> Fri, November 27, 2015 10:47:19 +0100
opsi support - uib gmbh
For productive opsi installations we recommend support contracts.

http://www.uib.de
Antworten