Univention Bugzilla – Attachment 10198 Details for
Bug 49838
Wireless/Wired group GPO not replicated from Master Samba/AD to School Slave via OpenLDAP
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch (git:fbest/hackathon-s4-connector-windows-policies)
49838.patch (text/plain), 25.76 KB, created by
Florian Best
on 2019-10-09 16:38:24 CEST
(
hide
)
Description:
patch (git:fbest/hackathon-s4-connector-windows-policies)
Filename:
MIME Type:
Creator:
Florian Best
Created:
2019-10-09 16:38:24 CEST
Size:
25.76 KB
patch
obsolete
>commit 7348b67f51282661723b94bcf4313710db7d49cb >Author: Florian Best <best@univention.de> >Date: Wed Oct 9 14:26:38 2019 +0200 > > Bug #49838: add MS GWPL policy type > >diff --git a/services/univention-s4-connector/97univention-s4-connector.inst b/services/univention-s4-connector/97univention-s4-connector.inst >old mode 100644 >new mode 100755 >index d794ae1d3f..5e3a234f1f >--- a/services/univention-s4-connector/97univention-s4-connector.inst >+++ b/services/univention-s4-connector/97univention-s4-connector.inst >@@ -32,7 +32,7 @@ > > ## joinscript api: bindpwdfile > >-VERSION=6 >+VERSION=7 > . /usr/share/univention-join/joinscripthelper.lib > joinscript_init > >@@ -160,6 +160,18 @@ ucs_registerLDAPExtension "$@" \ > --schema /usr/share/univention-s4-connector/ldap/msprintconnectionpolicy.schema \ > --udm_module /usr/share/pyshared/univention/admin/handlers/settings/msprintconnectionpolicy.py || die > >+ucs_registerLDAPExtension "$@" \ >+ --schema /usr/share/univention-s4-connector/ldap/msgpwl.schema || die >+ >+ucs_registerLDAPExtension "$@" \ >+ --udm_module /usr/share/pyshared/univention/admin/handlers/ms/gpwl-wireless.py || die >+ >+ucs_registerLDAPExtension "$@" \ >+ --udm_module /usr/share/pyshared/univention/admin/handlers/ms/gpwl-wired.py || die >+ >+ucs_registerLDAPExtension "$@" \ >+ --udm_module /usr/share/pyshared/univention/admin/handlers/ms/gpwl-wireless-blob.py \ || die >+ > if ! is_ucr_true 'connector/s4/allow/secondary'; then > s4connector_dc=$(get_available_s4connector_dc) || exit $? > >@@ -261,6 +273,11 @@ if [ -z "$s4connector_dc" ] \ > # resync msPrint-ConnectionPolicy objects from samba to ucs > /usr/share/univention-s4-connector/resync_object_from_s4.py --filter '(objectClass=msPrint-ConnectionPolicy)' > fi >+ >+ if [ $JS_LAST_EXECUTED_VERSION -lt 7 ] && is_ucr_true connector/s4/mapping/msgpwl; then >+ # resync msgpwl objects from samba to ucs >+ /usr/share/univention-s4-connector/resync_object_from_s4.py --filter '(|(objectClass=ms-net-ieee-80211-GroupPolicy)(objectClass=ms-net-ieee-8023-GroupPolicy)(objectClass=msieee80211-Policy))' >+ fi > fi > > /etc/init.d/univention-s4-connector restart >diff --git a/services/univention-s4-connector/conffiles/etc/univention/s4connector/s4/mapping.py b/services/univention-s4-connector/conffiles/etc/univention/s4connector/s4/mapping.py >index 30d7499dc6..46555b83a1 100644 >--- a/services/univention-s4-connector/conffiles/etc/univention/s4connector/s4/mapping.py >+++ b/services/univention-s4-connector/conffiles/etc/univention/s4connector/s4/mapping.py >@@ -880,6 +880,135 @@ s4_mapping = { > ), > }, > ), >+ 'ms/gpwl-wireless': univention.s4connector.property( >+ ucs_module='ms/gpwl-wireless', >+ sync_mode=str(configRegistry.get('connector/s4/mapping/gpwl/syncmode', configRegistry.get('connector/s4/mapping/syncmode'))), >+ scope='sub', >+ con_search_filter='(objectClass=ms-net-ieee-80211-GroupPolicy)', >+ ignore_filter=ignore_filter_from_attr('cn', 'connector/s4/mapping/gpwl/ignorelist'), >+ ignore_subtree=global_ignore_subtree, >+ con_create_objectclass=['top', 'ms-net-ieee-80211-GroupPolicy'], >+ attributes={ >+ 'cn': univention.s4connector.attribute( >+ ucs_attribute='name', >+ ldap_attribute='cn', >+ con_attribute='cn', >+ required=1, >+ compare_function=univention.s4connector.compare_lowercase, >+ single_value=True, >+ ), >+ 'description': univention.s4connector.attribute( >+ ucs_attribute='description', >+ ldap_attribute='description', >+ con_attribute='description', >+ single_value=True, >+ ), >+ 'ms-net-ieee-80211-GP-PolicyReserved': univention.s4connector.attribute( >+ ucs_attribute='ms-net-ieee-80211-GP-PolicyReserved', >+ ldap_attribute='ms-net-ieee-80211-GP-PolicyReserved', >+ con_attribute='ms-net-ieee-80211-GP-PolicyReserved', >+ single_value=True, >+ ), >+ 'ms-net-ieee-80211-GP-PolicyData': univention.s4connector.attribute( >+ ucs_attribute='ms-net-ieee-80211-GP-PolicyData', >+ ldap_attribute='ms-net-ieee-80211-GP-PolicyData', >+ con_attribute='ms-net-ieee-80211-GP-PolicyData', >+ single_value=True, >+ ), >+ 'ms-net-ieee-80211-GP-PolicyGUID': univention.s4connector.attribute( >+ ucs_attribute='ms-net-ieee-80211-GP-PolicyGUID', >+ ldap_attribute='ms-net-ieee-80211-GP-PolicyGUID', >+ con_attribute='ms-net-ieee-80211-GP-PolicyGUID', >+ single_value=True, >+ ), >+ }, >+ ), >+ 'ms/gpwl-wired': univention.s4connector.property( >+ ucs_module='ms/gpwl-wired', >+ sync_mode=str(configRegistry.get('connector/s4/mapping/gpwl/syncmode', configRegistry.get('connector/s4/mapping/syncmode'))), >+ scope='sub', >+ con_search_filter='(objectClass=ms-net-ieee-8023-GroupPolicy)', >+ ignore_filter=ignore_filter_from_attr('cn', 'connector/s4/mapping/gpwl/ignorelist'), >+ ignore_subtree=global_ignore_subtree, >+ con_create_objectclass=['top', 'ms-net-ieee-8023-GroupPolicy'], >+ attributes={ >+ 'cn': univention.s4connector.attribute( >+ ucs_attribute='name', >+ ldap_attribute='cn', >+ con_attribute='cn', >+ required=1, >+ compare_function=univention.s4connector.compare_lowercase, >+ single_value=True, >+ ), >+ 'description': univention.s4connector.attribute( >+ ucs_attribute='description', >+ ldap_attribute='description', >+ con_attribute='description', >+ single_value=True, >+ ), >+ 'ms-net-ieee-8023-GP-PolicyReserved': univention.s4connector.attribute( >+ ucs_attribute='ms-net-ieee-8023-GP-PolicyReserved', >+ ldap_attribute='ms-net-ieee-8023-GP-PolicyReserved', >+ con_attribute='ms-net-ieee-8023-GP-PolicyReserved', >+ single_value=True, >+ ), >+ 'ms-net-ieee-8023-GP-PolicyData': univention.s4connector.attribute( >+ ucs_attribute='ms-net-ieee-8023-GP-PolicyData', >+ ldap_attribute='ms-net-ieee-8023-GP-PolicyData', >+ con_attribute='ms-net-ieee-8023-GP-PolicyData', >+ single_value=True, >+ ), >+ 'ms-net-ieee-8023-GP-PolicyGUID': univention.s4connector.attribute( >+ ucs_attribute='ms-net-ieee-8023-GP-PolicyGUID', >+ ldap_attribute='ms-net-ieee-8023-GP-PolicyGUID', >+ con_attribute='ms-net-ieee-8023-GP-PolicyGUID', >+ single_value=True, >+ ), >+ }, >+ ), >+ 'ms/gpwl-wireless-blob': univention.s4connector.property( >+ ucs_module='ms/gpwl-wireless-blob', >+ sync_mode=str(configRegistry.get('connector/s4/mapping/gpwl/syncmode', configRegistry.get('connector/s4/mapping/syncmode'))), >+ scope='sub', >+ con_search_filter='(objectClass=msieee80211-Policy)', >+ ignore_filter=ignore_filter_from_attr('cn', 'connector/s4/mapping/gpwl/ignorelist'), >+ ignore_subtree=global_ignore_subtree, >+ con_create_objectclass=['top', 'msieee80211-Policy'], >+ attributes={ >+ 'cn': univention.s4connector.attribute( >+ ucs_attribute='name', >+ ldap_attribute='cn', >+ con_attribute='cn', >+ required=1, >+ compare_function=univention.s4connector.compare_lowercase, >+ single_value=True, >+ ), >+ 'description': univention.s4connector.attribute( >+ ucs_attribute='description', >+ ldap_attribute='description', >+ con_attribute='description', >+ single_value=True, >+ ), >+ 'msieee80211-ID': univention.s4connector.attribute( >+ ucs_attribute='msieee80211-ID', >+ ldap_attribute='msieee80211-ID', >+ con_attribute='msieee80211-ID', >+ single_value=True, >+ ), >+ 'msieee80211-DataType': univention.s4connector.attribute( >+ ucs_attribute='msieee80211-DataType', >+ ldap_attribute='msieee80211-DataType', >+ con_attribute='msieee80211-DataType', >+ single_value=True, >+ ), >+ 'msieee80211-Data': univention.s4connector.attribute( >+ ucs_attribute='msieee80211-Data', >+ ldap_attribute='msieee80211-Data', >+ con_attribute='msieee80211-Data', >+ single_value=True, >+ ), >+ }, >+ ), > 'container': univention.s4connector.property( > ucs_module='container/cn', > sync_mode=configRegistry.get('connector/s4/mapping/container/syncmode', configRegistry.get('connector/s4/mapping/syncmode')), >@@ -970,6 +1099,10 @@ if not configRegistry.is_true('connector/s4/mapping/wmifilter', False): > s4_mapping.pop('msWMIFilter') > if not configRegistry.is_true('connector/s4/mapping/msprintconnectionpolicy', False): > s4_mapping.pop('msPrintConnectionPolicy') >+if not configRegistry.is_true('connector/s4/mapping/msgwl', False): >+ s4_mapping.pop('ms/gpwl-wireless') >+ s4_mapping.pop('ms/gpwl-wired') >+ s4_mapping.pop('ms/gpwl-wireless-blob') > > #print 'global_ignore_subtree = %r' % (global_ignore_subtree,) > #print 's4_mapping = %s' % (pprint.pformat(s4_mapping, indent=4, width=250),) >diff --git a/services/univention-s4-connector/debian/python-univention-connector-s4.install b/services/univention-s4-connector/debian/python-univention-connector-s4.install >index 082b1a67b9..02b9862760 100644 >--- a/services/univention-s4-connector/debian/python-univention-connector-s4.install >+++ b/services/univention-s4-connector/debian/python-univention-connector-s4.install >@@ -2,4 +2,5 @@ modules/univention/s4connector/*.py usr/lib/python2.7/dist-packages/univention/s > modules/univention/s4connector/s4/*.py usr/lib/python2.7/dist-packages/univention/s4connector/s4/ > modules/univention/admin/handlers/container/*.py usr/lib/python2.7/dist-packages/univention/admin/handlers/container/ > modules/univention/admin/handlers/settings/*.py usr/lib/python2.7/dist-packages/univention/admin/handlers/settings/ >+modules/univention/admin/handlers/ms/*.py usr/lib/python2.7/dist-packages/univention/admin/handlers/ms/ > python-univention-connector-s4.public usr/share/python-support/ >diff --git a/services/univention-s4-connector/debian/python3-univention-connector-s4.install b/services/univention-s4-connector/debian/python3-univention-connector-s4.install >index 972869abba..458f433eb1 100644 >--- a/services/univention-s4-connector/debian/python3-univention-connector-s4.install >+++ b/services/univention-s4-connector/debian/python3-univention-connector-s4.install >@@ -2,3 +2,4 @@ modules/univention/s4connector/*.py usr/lib/python3/dist-packages/univention/s4c > modules/univention/s4connector/s4/*.py usr/lib/python3/dist-packages/univention/s4connector/s4/ > modules/univention/admin/handlers/container/*.py usr/lib/python3/dist-packages/univention/admin/handlers/container/ > modules/univention/admin/handlers/settings/*.py usr/lib/python3/dist-packages/univention/admin/handlers/settings/ >+modules/univention/admin/handlers/ms/*.py usr/lib/python3/dist-packages/univention/admin/handlers/ms/ >diff --git a/services/univention-s4-connector/ldap/msgpwl.schema b/services/univention-s4-connector/ldap/msgpwl.schema >new file mode 100644 >index 0000000000..4b86bcf933 >--- /dev/null >+++ b/services/univention-s4-connector/ldap/msgpwl.schema >@@ -0,0 +1,68 @@ >+attributetype ( 1.2.840.113556.1.4.1953 NAME 'ms-net-ieee-80211-GP-PolicyReserved' >+ DESC '' >+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE ) >+ >+attributetype ( 1.2.840.113556.1.4.1952 NAME 'ms-net-ieee-80211-GP-PolicyData' >+ DESC '' >+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) >+ >+attributetype ( 1.2.840.113556.1.4.1951 NAME 'ms-net-ieee-80211-GP-PolicyGUID' >+ DESC '' >+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) >+ >+objectclass ( 1.2.840.113556.1.5.251 NAME 'ms-net-ieee-80211-GroupPolicy' >+ DESC 'XML-based wireless Group Policy' >+ SUP top STRUCTURAL >+ MUST ( cn $ description ) >+ MAY ( >+ ms-net-ieee-80211-GP-PolicyReserved $ >+ ms-net-ieee-80211-GP-PolicyData $ >+ ms-net-ieee-80211-GP-PolicyGUID >+ ) >+ ) >+ >+attributetype ( 1.2.840.113556.1.4.1956 NAME 'ms-net-ieee-8023-GP-PolicyReserved' >+ DESC '' >+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE ) >+ >+attributetype ( 1.2.840.113556.1.4.1955 NAME 'ms-net-ieee-8023-GP-PolicyData' >+ DESC '' >+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) >+ >+attributetype ( 1.2.840.113556.1.4.1954 NAME 'ms-net-ieee-8023-GP-PolicyGUID' >+ DESC '' >+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) >+ >+objectclass ( 1.2.840.113556.1.5.252 NAME 'ms-net-ieee-8023-GroupPolicy' >+ DESC 'XML-based wired Group Policy' >+ SUP top STRUCTURAL >+ MUST ( cn $ description ) >+ MAY ( >+ ms-net-ieee-8023-GP-PolicyReserved $ >+ ms-net-ieee-8023-GP-PolicyData $ >+ ms-net-ieee-8023-GP-PolicyGUID >+ ) >+ ) >+ >+attributetype ( 1.2.840.113556.1.4.1823 NAME 'msieee80211-ID' >+ DESC '' >+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) >+ >+attributetype ( 1.2.840.113556.1.4.1822 NAME 'msieee80211-DataType' >+ DESC '' >+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) >+ >+attributetype ( 1.2.840.113556.1.4.1821 NAME 'msieee80211-Data' >+ DESC '' >+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE ) >+ >+objectclass ( 1.2.840.113556.1.5.240 NAME 'msieee80211-Policy' >+ DESC 'BLOB-based wireless Group Policy' >+ SUP top STRUCTURAL >+ MUST ( cn $ description ) >+ MAY ( >+ msieee80211-ID $ >+ msieee80211-DataType $ >+ msieee80211-Data >+ ) >+ ) >diff --git a/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wired.py b/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wired.py >new file mode 100644 >index 0000000000..a1deb5d4c7 >--- /dev/null >+++ b/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wired.py >@@ -0,0 +1,114 @@ >+# -*- coding: utf-8 -*- >+# >+# Univention S4 Connector >+# UDM module for XML-based wired Group Policy >+# >+# Copyright 2019 Univention GmbH >+# >+# https://www.univention.de/ >+# >+# All rights reserved. >+# >+# The source code of this program is made available >+# under the terms of the GNU Affero General Public License version 3 >+# (GNU AGPL V3) as published by the Free Software Foundation. >+# >+# Binary versions of this program provided by Univention to you as >+# well as other copyrighted, protected or trademarked materials like >+# Logos, graphics, fonts, specific documentations and configurations, >+# cryptographic keys etc. are subject to a license agreement between >+# you and Univention and not subject to the GNU AGPL V3. >+# >+# In the case you use this program under the terms of the GNU AGPL V3, >+# the program is provided in the hope that it will be useful, >+# but WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU Affero General Public License for more details. >+# >+# You should have received a copy of the GNU Affero General Public >+# License with the Debian GNU/Linux or Univention distribution in file >+# /usr/share/common-licenses/AGPL-3; if not, see >+# <https://www.gnu.org/licenses/>. >+ >+from univention.admin.layout import Tab, Group >+ >+import univention.admin.syntax >+import univention.admin.handlers >+import univention.admin.localization >+ >+translation = univention.admin.localization.translation('univention.admin.handlers.settings.mswmifilter') >+_ = translation.translate >+ >+module = 'ms/gpwl-wired' >+operations = ['add', 'edit', 'remove', 'search', 'move', 'subtree_move'] >+childs = True >+short_description = _('MS wired Group Policy') >+long_description = '' >+options = { >+ 'default': univention.admin.option( >+ short_description='', >+ default=True, >+ objectClasses=['ms-net-ieee-8023-GroupPolicy', 'top'] >+ ), >+} >+property_descriptions = { >+ 'name': univention.admin.property( >+ short_description=_('Name'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ required=True, >+ identifies=True, >+ ), >+ 'description': univention.admin.property( >+ short_description=_('Description'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ ), >+ 'ms-net-ieee-8023-GP-PolicyReserved': univention.admin.property( >+ short_description=_('Policy Reserved'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ ), >+ 'ms-net-ieee-8023-GP-PolicyData': univention.admin.property( >+ short_description=_('Policy Data'), >+ long_description='', >+ syntax=univention.admin.syntax.TextArea, >+ size='Two', >+ ), >+ 'ms-net-ieee-8023-GP-PolicyGUID': univention.admin.property( >+ short_description=_('Policy GUID'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ ), >+} >+ >+layout = [ >+ Tab(_('General'), _('Basic settings'), layout=[ >+ Group(_('General'), layout=[ >+ ["name", "description"], >+ ]), >+ Group(_('Policy settings'), layout=[ >+ ["ms-net-ieee-8023-GP-PolicyGUID", "ms-net-ieee-8023-GP-PolicyReserved"], >+ 'ms-net-ieee-8023-GP-PolicyData' >+ ]), >+ ]), >+] >+ >+mapping = univention.admin.mapping.mapping() >+mapping.register('name', 'cn', None, univention.admin.mapping.ListToString) >+mapping.register('description', 'description', None, univention.admin.mapping.ListToString) >+mapping.register('ms-net-ieee-8023-GP-PolicyReserved', 'ms-net-ieee-8023-GP-PolicyReserved', None, univention.admin.mapping.ListToString) >+mapping.register('ms-net-ieee-8023-GP-PolicyData', 'ms-net-ieee-8023-GP-PolicyData', None, univention.admin.mapping.ListToString) >+mapping.register('ms-net-ieee-8023-GP-PolicyGUID', 'ms-net-ieee-8023-GP-PolicyGUID', None, univention.admin.mapping.ListToString) >+ >+ >+class object(univention.admin.handlers.simpleLdap): >+ module = module >+ >+ def _ldap_pre_modify(self): >+ if self.hasChanged('name'): >+ self.move(self._ldap_dn()) >+ >+ >+identify = object.identify >+lookup = object.lookup >diff --git a/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wireless-blob.py b/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wireless-blob.py >new file mode 100644 >index 0000000000..de032bc06e >--- /dev/null >+++ b/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wireless-blob.py >@@ -0,0 +1,114 @@ >+# -*- coding: utf-8 -*- >+# >+# Univention S4 Connector >+# UDM module for BLOB-based wireless Group Policy >+# >+# Copyright 2019 Univention GmbH >+# >+# https://www.univention.de/ >+# >+# All rights reserved. >+# >+# The source code of this program is made available >+# under the terms of the GNU Affero General Public License version 3 >+# (GNU AGPL V3) as published by the Free Software Foundation. >+# >+# Binary versions of this program provided by Univention to you as >+# well as other copyrighted, protected or trademarked materials like >+# Logos, graphics, fonts, specific documentations and configurations, >+# cryptographic keys etc. are subject to a license agreement between >+# you and Univention and not subject to the GNU AGPL V3. >+# >+# In the case you use this program under the terms of the GNU AGPL V3, >+# the program is provided in the hope that it will be useful, >+# but WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU Affero General Public License for more details. >+# >+# You should have received a copy of the GNU Affero General Public >+# License with the Debian GNU/Linux or Univention distribution in file >+# /usr/share/common-licenses/AGPL-3; if not, see >+# <https://www.gnu.org/licenses/>. >+ >+from univention.admin.layout import Tab, Group >+ >+import univention.admin.syntax >+import univention.admin.handlers >+import univention.admin.localization >+ >+translation = univention.admin.localization.translation('univention.admin.handlers.settings.mswmifilter') >+_ = translation.translate >+ >+module = 'ms/gpwl-wireless-blob' >+operations = ['add', 'edit', 'remove', 'search', 'move', 'subtree_move'] >+childs = True >+short_description = _('MS wireless Group Policy blob') >+long_description = '' >+options = { >+ 'default': univention.admin.option( >+ short_description='', >+ default=True, >+ objectClasses=['msieee80211-Policy', 'top'] >+ ), >+} >+property_descriptions = { >+ 'name': univention.admin.property( >+ short_description=_('Name'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ required=True, >+ identifies=True, >+ ), >+ 'description': univention.admin.property( >+ short_description=_('Description'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ ), >+ 'msieee80211-ID': univention.admin.property( >+ short_description=_('ID'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ ), >+ 'msieee80211-DataType': univention.admin.property( >+ short_description=_('Data type'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ ), >+ 'msieee80211-Data': univention.admin.property( >+ short_description=_('Data'), >+ long_description='', >+ syntax=univention.admin.syntax.TextArea, >+ size='Two', >+ ), >+} >+ >+layout = [ >+ Tab(_('General'), _('Basic settings'), layout=[ >+ Group(_('General'), layout=[ >+ ["name", "description"], >+ ]), >+ Group(_('Policy settings'), layout=[ >+ ['msieee80211-ID', 'msieee80211-DataType'], >+ # 'msieee80211-Data', binary data in UMC? better not... >+ ]), >+ ]), >+] >+ >+mapping = univention.admin.mapping.mapping() >+mapping.register('name', 'cn', None, univention.admin.mapping.ListToString) >+mapping.register('description', 'description', None, univention.admin.mapping.ListToString) >+mapping.register('msieee80211-ID', 'msieee80211-ID', None, univention.admin.mapping.ListToString) >+mapping.register('msieee80211-DataType', 'msieee80211-DataType', None, univention.admin.mapping.ListToString) >+mapping.register('msieee80211-Data', 'msieee80211-Data', None, univention.admin.mapping.ListToString) >+ >+ >+class object(univention.admin.handlers.simpleLdap): >+ module = module >+ >+ def _ldap_pre_modify(self): >+ if self.hasChanged('name'): >+ self.move(self._ldap_dn()) >+ >+ >+identify = object.identify >+lookup = object.lookup >diff --git a/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wireless.py b/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wireless.py >new file mode 100644 >index 0000000000..17d9ecea0b >--- /dev/null >+++ b/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wireless.py >@@ -0,0 +1,114 @@ >+# -*- coding: utf-8 -*- >+# >+# Univention S4 Connector >+# UDM module for XML-based wireless Group Policy >+# >+# Copyright 2019 Univention GmbH >+# >+# https://www.univention.de/ >+# >+# All rights reserved. >+# >+# The source code of this program is made available >+# under the terms of the GNU Affero General Public License version 3 >+# (GNU AGPL V3) as published by the Free Software Foundation. >+# >+# Binary versions of this program provided by Univention to you as >+# well as other copyrighted, protected or trademarked materials like >+# Logos, graphics, fonts, specific documentations and configurations, >+# cryptographic keys etc. are subject to a license agreement between >+# you and Univention and not subject to the GNU AGPL V3. >+# >+# In the case you use this program under the terms of the GNU AGPL V3, >+# the program is provided in the hope that it will be useful, >+# but WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU Affero General Public License for more details. >+# >+# You should have received a copy of the GNU Affero General Public >+# License with the Debian GNU/Linux or Univention distribution in file >+# /usr/share/common-licenses/AGPL-3; if not, see >+# <https://www.gnu.org/licenses/>. >+ >+from univention.admin.layout import Tab, Group >+ >+import univention.admin.syntax >+import univention.admin.handlers >+import univention.admin.localization >+ >+translation = univention.admin.localization.translation('univention.admin.handlers.settings.mswmifilter') >+_ = translation.translate >+ >+module = 'ms/gpwl-wireless' >+operations = ['add', 'edit', 'remove', 'search', 'move', 'subtree_move'] >+childs = True >+short_description = _('MS wireless Group Policy') >+long_description = '' >+options = { >+ 'default': univention.admin.option( >+ short_description='', >+ default=True, >+ objectClasses=['ms-net-ieee-80211-GroupPolicy', 'top'] >+ ), >+} >+property_descriptions = { >+ 'name': univention.admin.property( >+ short_description=_('Name'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ required=True, >+ identifies=True, >+ ), >+ 'description': univention.admin.property( >+ short_description=_('Description'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ ), >+ 'ms-net-ieee-80211-GP-PolicyReserved': univention.admin.property( >+ short_description=_('Policy Reserved'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ ), >+ 'ms-net-ieee-80211-GP-PolicyData': univention.admin.property( >+ short_description=_('Policy Data'), >+ long_description='', >+ syntax=univention.admin.syntax.TextArea, >+ size='Two', >+ ), >+ 'ms-net-ieee-80211-GP-PolicyGUID': univention.admin.property( >+ short_description=_('Policy GUID'), >+ long_description='', >+ syntax=univention.admin.syntax.string, >+ ), >+} >+ >+layout = [ >+ Tab(_('General'), _('Basic settings'), layout=[ >+ Group(_('General'), layout=[ >+ ["name", "description"], >+ ]), >+ Group(_('Policy settings'), layout=[ >+ ['ms-net-ieee-80211-GP-PolicyGUID', 'ms-net-ieee-80211-GP-PolicyReserved'], >+ 'ms-net-ieee-80211-GP-PolicyData', >+ ]), >+ ]), >+] >+ >+mapping = univention.admin.mapping.mapping() >+mapping.register('name', 'cn', None, univention.admin.mapping.ListToString) >+mapping.register('description', 'description', None, univention.admin.mapping.ListToString) >+mapping.register('ms-net-ieee-80211-GP-PolicyReserved', 'ms-net-ieee-80211-GP-PolicyReserved', None, univention.admin.mapping.ListToString) >+mapping.register('ms-net-ieee-80211-GP-PolicyData', 'ms-net-ieee-80211-GP-PolicyData', None, univention.admin.mapping.ListToString) >+mapping.register('ms-net-ieee-80211-GP-PolicyGUID', 'ms-net-ieee-80211-GP-PolicyGUID', None, univention.admin.mapping.ListToString) >+ >+ >+class object(univention.admin.handlers.simpleLdap): >+ module = module >+ >+ def _ldap_pre_modify(self): >+ if self.hasChanged('name'): >+ self.move(self._ldap_dn()) >+ >+ >+identify = object.identify >+lookup = object.lookup >diff --git a/services/univention-s4-connector/python-univention-connector-s4.public b/services/univention-s4-connector/python-univention-connector-s4.public >index 9749f87dfe..e43a5dcad2 100644 >--- a/services/univention-s4-connector/python-univention-connector-s4.public >+++ b/services/univention-s4-connector/python-univention-connector-s4.public >@@ -1,3 +1,6 @@ > /usr/share/pyshared/univention/admin/handlers/container/msgpo.py > /usr/share/pyshared/univention/admin/handlers/settings/msprintconnectionpolicy.py > /usr/share/pyshared/univention/admin/handlers/settings/mswmifilter.py >+/usr/share/pyshared/univention/admin/handlers/ms/gpwl-wireless.py >+/usr/share/pyshared/univention/admin/handlers/ms/gpwl-wireless-blob.py >+/usr/share/pyshared/univention/admin/handlers/ms/gpwl-wired.py
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 49838
: 10198 |
10199
|
10247
|
10248
|
10249
|
10250