View | Details | Raw Unified | Return to bug 49838
Collapse All | Expand All

(-)a/services/univention-s4-connector/97univention-s4-connector.inst (-1 / +18 lines)
 Lines 32-38    Link Here 
32
32
33
## joinscript api: bindpwdfile
33
## joinscript api: bindpwdfile
34
34
35
VERSION=6
35
VERSION=7
36
. /usr/share/univention-join/joinscripthelper.lib
36
. /usr/share/univention-join/joinscripthelper.lib
37
joinscript_init
37
joinscript_init
38
38
 Lines 160-165   ucs_registerLDAPExtension "$@" \ Link Here 
160
	--schema /usr/share/univention-s4-connector/ldap/msprintconnectionpolicy.schema \
160
	--schema /usr/share/univention-s4-connector/ldap/msprintconnectionpolicy.schema \
161
	--udm_module /usr/share/pyshared/univention/admin/handlers/settings/msprintconnectionpolicy.py || die
161
	--udm_module /usr/share/pyshared/univention/admin/handlers/settings/msprintconnectionpolicy.py || die
162
162
163
ucs_registerLDAPExtension "$@" \
164
	--schema /usr/share/univention-s4-connector/ldap/msgpwl.schema || die
165
166
ucs_registerLDAPExtension "$@" \
167
	--udm_module /usr/share/pyshared/univention/admin/handlers/ms/gpwl-wireless.py || die
168
169
ucs_registerLDAPExtension "$@" \
170
	--udm_module /usr/share/pyshared/univention/admin/handlers/ms/gpwl-wired.py || die
171
172
ucs_registerLDAPExtension "$@" \
173
	--udm_module /usr/share/pyshared/univention/admin/handlers/ms/gpwl-wireless-blob.py \ || die
174
163
if ! is_ucr_true 'connector/s4/allow/secondary'; then
175
if ! is_ucr_true 'connector/s4/allow/secondary'; then
164
	s4connector_dc=$(get_available_s4connector_dc) || exit $?
176
	s4connector_dc=$(get_available_s4connector_dc) || exit $?
165
177
 Lines 261-266   if [ -z "$s4connector_dc" ] \ Link Here 
261
			# resync msPrint-ConnectionPolicy objects from samba to ucs
273
			# resync msPrint-ConnectionPolicy objects from samba to ucs
262
			/usr/share/univention-s4-connector/resync_object_from_s4.py --filter '(objectClass=msPrint-ConnectionPolicy)'
274
			/usr/share/univention-s4-connector/resync_object_from_s4.py --filter '(objectClass=msPrint-ConnectionPolicy)'
263
		fi
275
		fi
276
277
		if [ $JS_LAST_EXECUTED_VERSION -lt 7 ] && is_ucr_true connector/s4/mapping/msgpwl; then
278
			# resync msgpwl objects from samba to ucs
279
			/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))'
280
		fi
264
	fi
281
	fi
265
282
266
	/etc/init.d/univention-s4-connector restart
283
	/etc/init.d/univention-s4-connector restart
(-)a/services/univention-s4-connector/conffiles/etc/univention/s4connector/s4/mapping.py (+133 lines)
 Lines 880-885   s4_mapping = { Link Here 
880
			),
880
			),
881
		},
881
		},
882
	),
882
	),
883
	'ms/gpwl-wireless': univention.s4connector.property(
884
		ucs_module='ms/gpwl-wireless',
885
		sync_mode=str(configRegistry.get('connector/s4/mapping/gpwl/syncmode', configRegistry.get('connector/s4/mapping/syncmode'))),
886
		scope='sub',
887
		con_search_filter='(objectClass=ms-net-ieee-80211-GroupPolicy)',
888
		ignore_filter=ignore_filter_from_attr('cn', 'connector/s4/mapping/gpwl/ignorelist'),
889
		ignore_subtree=global_ignore_subtree,
890
		con_create_objectclass=['top', 'ms-net-ieee-80211-GroupPolicy'],
891
		attributes={
892
			'cn': univention.s4connector.attribute(
893
				ucs_attribute='name',
894
				ldap_attribute='cn',
895
				con_attribute='cn',
896
				required=1,
897
				compare_function=univention.s4connector.compare_lowercase,
898
				single_value=True,
899
			),
900
			'description': univention.s4connector.attribute(
901
				ucs_attribute='description',
902
				ldap_attribute='description',
903
				con_attribute='description',
904
				single_value=True,
905
			),
906
			'ms-net-ieee-80211-GP-PolicyReserved': univention.s4connector.attribute(
907
				ucs_attribute='ms-net-ieee-80211-GP-PolicyReserved',
908
				ldap_attribute='ms-net-ieee-80211-GP-PolicyReserved',
909
				con_attribute='ms-net-ieee-80211-GP-PolicyReserved',
910
				single_value=True,
911
			),
912
			'ms-net-ieee-80211-GP-PolicyData': univention.s4connector.attribute(
913
				ucs_attribute='ms-net-ieee-80211-GP-PolicyData',
914
				ldap_attribute='ms-net-ieee-80211-GP-PolicyData',
915
				con_attribute='ms-net-ieee-80211-GP-PolicyData',
916
				single_value=True,
917
			),
918
			'ms-net-ieee-80211-GP-PolicyGUID': univention.s4connector.attribute(
919
				ucs_attribute='ms-net-ieee-80211-GP-PolicyGUID',
920
				ldap_attribute='ms-net-ieee-80211-GP-PolicyGUID',
921
				con_attribute='ms-net-ieee-80211-GP-PolicyGUID',
922
				single_value=True,
923
			),
924
		},
925
	),
926
	'ms/gpwl-wired': univention.s4connector.property(
927
		ucs_module='ms/gpwl-wired',
928
		sync_mode=str(configRegistry.get('connector/s4/mapping/gpwl/syncmode', configRegistry.get('connector/s4/mapping/syncmode'))),
929
		scope='sub',
930
		con_search_filter='(objectClass=ms-net-ieee-8023-GroupPolicy)',
931
		ignore_filter=ignore_filter_from_attr('cn', 'connector/s4/mapping/gpwl/ignorelist'),
932
		ignore_subtree=global_ignore_subtree,
933
		con_create_objectclass=['top', 'ms-net-ieee-8023-GroupPolicy'],
934
		attributes={
935
			'cn': univention.s4connector.attribute(
936
				ucs_attribute='name',
937
				ldap_attribute='cn',
938
				con_attribute='cn',
939
				required=1,
940
				compare_function=univention.s4connector.compare_lowercase,
941
				single_value=True,
942
			),
943
			'description': univention.s4connector.attribute(
944
				ucs_attribute='description',
945
				ldap_attribute='description',
946
				con_attribute='description',
947
				single_value=True,
948
			),
949
			'ms-net-ieee-8023-GP-PolicyReserved': univention.s4connector.attribute(
950
				ucs_attribute='ms-net-ieee-8023-GP-PolicyReserved',
951
				ldap_attribute='ms-net-ieee-8023-GP-PolicyReserved',
952
				con_attribute='ms-net-ieee-8023-GP-PolicyReserved',
953
				single_value=True,
954
			),
955
			'ms-net-ieee-8023-GP-PolicyData': univention.s4connector.attribute(
956
				ucs_attribute='ms-net-ieee-8023-GP-PolicyData',
957
				ldap_attribute='ms-net-ieee-8023-GP-PolicyData',
958
				con_attribute='ms-net-ieee-8023-GP-PolicyData',
959
				single_value=True,
960
			),
961
			'ms-net-ieee-8023-GP-PolicyGUID': univention.s4connector.attribute(
962
				ucs_attribute='ms-net-ieee-8023-GP-PolicyGUID',
963
				ldap_attribute='ms-net-ieee-8023-GP-PolicyGUID',
964
				con_attribute='ms-net-ieee-8023-GP-PolicyGUID',
965
				single_value=True,
966
			),
967
		},
968
	),
969
	'ms/gpwl-wireless-blob': univention.s4connector.property(
970
		ucs_module='ms/gpwl-wireless-blob',
971
		sync_mode=str(configRegistry.get('connector/s4/mapping/gpwl/syncmode', configRegistry.get('connector/s4/mapping/syncmode'))),
972
		scope='sub',
973
		con_search_filter='(objectClass=msieee80211-Policy)',
974
		ignore_filter=ignore_filter_from_attr('cn', 'connector/s4/mapping/gpwl/ignorelist'),
975
		ignore_subtree=global_ignore_subtree,
976
		con_create_objectclass=['top', 'msieee80211-Policy'],
977
		attributes={
978
			'cn': univention.s4connector.attribute(
979
				ucs_attribute='name',
980
				ldap_attribute='cn',
981
				con_attribute='cn',
982
				required=1,
983
				compare_function=univention.s4connector.compare_lowercase,
984
				single_value=True,
985
			),
986
			'description': univention.s4connector.attribute(
987
				ucs_attribute='description',
988
				ldap_attribute='description',
989
				con_attribute='description',
990
				single_value=True,
991
			),
992
			'msieee80211-ID': univention.s4connector.attribute(
993
				ucs_attribute='msieee80211-ID',
994
				ldap_attribute='msieee80211-ID',
995
				con_attribute='msieee80211-ID',
996
				single_value=True,
997
			),
998
			'msieee80211-DataType': univention.s4connector.attribute(
999
				ucs_attribute='msieee80211-DataType',
1000
				ldap_attribute='msieee80211-DataType',
1001
				con_attribute='msieee80211-DataType',
1002
				single_value=True,
1003
			),
1004
			'msieee80211-Data': univention.s4connector.attribute(
1005
				ucs_attribute='msieee80211-Data',
1006
				ldap_attribute='msieee80211-Data',
1007
				con_attribute='msieee80211-Data',
1008
				single_value=True,
1009
			),
1010
		},
1011
	),
883
	'container': univention.s4connector.property(
1012
	'container': univention.s4connector.property(
884
		ucs_module='container/cn',
1013
		ucs_module='container/cn',
885
		sync_mode=configRegistry.get('connector/s4/mapping/container/syncmode', configRegistry.get('connector/s4/mapping/syncmode')),
1014
		sync_mode=configRegistry.get('connector/s4/mapping/container/syncmode', configRegistry.get('connector/s4/mapping/syncmode')),
 Lines 970-975   if not configRegistry.is_true('connector/s4/mapping/wmifilter', False): Link Here 
970
	s4_mapping.pop('msWMIFilter')
1099
	s4_mapping.pop('msWMIFilter')
971
if not configRegistry.is_true('connector/s4/mapping/msprintconnectionpolicy', False):
1100
if not configRegistry.is_true('connector/s4/mapping/msprintconnectionpolicy', False):
972
	s4_mapping.pop('msPrintConnectionPolicy')
1101
	s4_mapping.pop('msPrintConnectionPolicy')
1102
if not configRegistry.is_true('connector/s4/mapping/msgwl', False):
1103
	s4_mapping.pop('ms/gpwl-wireless')
1104
	s4_mapping.pop('ms/gpwl-wired')
1105
	s4_mapping.pop('ms/gpwl-wireless-blob')
973
1106
974
#print 'global_ignore_subtree = %r' % (global_ignore_subtree,)
1107
#print 'global_ignore_subtree = %r' % (global_ignore_subtree,)
975
#print 's4_mapping = %s' % (pprint.pformat(s4_mapping, indent=4, width=250),)
1108
#print 's4_mapping = %s' % (pprint.pformat(s4_mapping, indent=4, width=250),)
(-)a/services/univention-s4-connector/debian/python-univention-connector-s4.install (+1 lines)
 Lines 2-5   modules/univention/s4connector/*.py usr/lib/python2.7/dist-packages/univention/s Link Here 
2
modules/univention/s4connector/s4/*.py usr/lib/python2.7/dist-packages/univention/s4connector/s4/
2
modules/univention/s4connector/s4/*.py usr/lib/python2.7/dist-packages/univention/s4connector/s4/
3
modules/univention/admin/handlers/container/*.py usr/lib/python2.7/dist-packages/univention/admin/handlers/container/
3
modules/univention/admin/handlers/container/*.py usr/lib/python2.7/dist-packages/univention/admin/handlers/container/
4
modules/univention/admin/handlers/settings/*.py usr/lib/python2.7/dist-packages/univention/admin/handlers/settings/
4
modules/univention/admin/handlers/settings/*.py usr/lib/python2.7/dist-packages/univention/admin/handlers/settings/
5
modules/univention/admin/handlers/ms/*.py usr/lib/python2.7/dist-packages/univention/admin/handlers/ms/
5
python-univention-connector-s4.public usr/share/python-support/
6
python-univention-connector-s4.public usr/share/python-support/
(-)a/services/univention-s4-connector/debian/python3-univention-connector-s4.install (+1 lines)
 Lines 2-4   modules/univention/s4connector/*.py usr/lib/python3/dist-packages/univention/s4c Link Here 
2
modules/univention/s4connector/s4/*.py usr/lib/python3/dist-packages/univention/s4connector/s4/
2
modules/univention/s4connector/s4/*.py usr/lib/python3/dist-packages/univention/s4connector/s4/
3
modules/univention/admin/handlers/container/*.py usr/lib/python3/dist-packages/univention/admin/handlers/container/
3
modules/univention/admin/handlers/container/*.py usr/lib/python3/dist-packages/univention/admin/handlers/container/
4
modules/univention/admin/handlers/settings/*.py usr/lib/python3/dist-packages/univention/admin/handlers/settings/
4
modules/univention/admin/handlers/settings/*.py usr/lib/python3/dist-packages/univention/admin/handlers/settings/
5
modules/univention/admin/handlers/ms/*.py usr/lib/python3/dist-packages/univention/admin/handlers/ms/
(-)a/services/univention-s4-connector/ldap/msgpwl.schema (+68 lines)
Line 0    Link Here 
1
attributetype ( 1.2.840.113556.1.4.1953 NAME 'ms-net-ieee-80211-GP-PolicyReserved'
2
	DESC ''
3
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE )
4
5
attributetype ( 1.2.840.113556.1.4.1952 NAME 'ms-net-ieee-80211-GP-PolicyData'
6
	DESC ''
7
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
8
9
attributetype ( 1.2.840.113556.1.4.1951 NAME 'ms-net-ieee-80211-GP-PolicyGUID'
10
	DESC ''
11
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
12
13
objectclass ( 1.2.840.113556.1.5.251 NAME 'ms-net-ieee-80211-GroupPolicy'
14
	DESC 'XML-based wireless Group Policy'
15
	SUP top STRUCTURAL
16
	MUST ( cn $ description )
17
	MAY (
18
		ms-net-ieee-80211-GP-PolicyReserved $
19
		ms-net-ieee-80211-GP-PolicyData $
20
		ms-net-ieee-80211-GP-PolicyGUID
21
		)
22
	)
23
24
attributetype ( 1.2.840.113556.1.4.1956 NAME 'ms-net-ieee-8023-GP-PolicyReserved'
25
	DESC ''
26
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE )
27
28
attributetype ( 1.2.840.113556.1.4.1955 NAME 'ms-net-ieee-8023-GP-PolicyData'
29
	DESC ''
30
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
31
32
attributetype ( 1.2.840.113556.1.4.1954 NAME 'ms-net-ieee-8023-GP-PolicyGUID'
33
	DESC ''
34
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
35
36
objectclass ( 1.2.840.113556.1.5.252 NAME 'ms-net-ieee-8023-GroupPolicy'
37
	DESC 'XML-based wired Group Policy'
38
	SUP top STRUCTURAL
39
	MUST ( cn $ description )
40
	MAY (
41
		ms-net-ieee-8023-GP-PolicyReserved $
42
		ms-net-ieee-8023-GP-PolicyData $
43
		ms-net-ieee-8023-GP-PolicyGUID
44
		)
45
	)
46
47
attributetype ( 1.2.840.113556.1.4.1823 NAME 'msieee80211-ID'
48
	DESC ''
49
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
50
51
attributetype ( 1.2.840.113556.1.4.1822 NAME 'msieee80211-DataType'
52
	DESC ''
53
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
54
55
attributetype ( 1.2.840.113556.1.4.1821 NAME 'msieee80211-Data'
56
	DESC ''
57
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE )
58
59
objectclass ( 1.2.840.113556.1.5.240 NAME 'msieee80211-Policy'
60
	DESC 'BLOB-based wireless Group Policy'
61
	SUP top STRUCTURAL
62
	MUST ( cn $ description )
63
	MAY (
64
		msieee80211-ID $
65
		msieee80211-DataType $
66
		msieee80211-Data
67
		)
68
	)
(-)a/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wired.py (+114 lines)
Line 0    Link Here 
1
# -*- coding: utf-8 -*-
2
#
3
# Univention S4 Connector
4
#  UDM module for XML-based wired Group Policy
5
#
6
# Copyright 2019 Univention GmbH
7
#
8
# https://www.univention.de/
9
#
10
# All rights reserved.
11
#
12
# The source code of this program is made available
13
# under the terms of the GNU Affero General Public License version 3
14
# (GNU AGPL V3) as published by the Free Software Foundation.
15
#
16
# Binary versions of this program provided by Univention to you as
17
# well as other copyrighted, protected or trademarked materials like
18
# Logos, graphics, fonts, specific documentations and configurations,
19
# cryptographic keys etc. are subject to a license agreement between
20
# you and Univention and not subject to the GNU AGPL V3.
21
#
22
# In the case you use this program under the terms of the GNU AGPL V3,
23
# the program is provided in the hope that it will be useful,
24
# but WITHOUT ANY WARRANTY; without even the implied warranty of
25
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26
# GNU Affero General Public License for more details.
27
#
28
# You should have received a copy of the GNU Affero General Public
29
# License with the Debian GNU/Linux or Univention distribution in file
30
# /usr/share/common-licenses/AGPL-3; if not, see
31
# <https://www.gnu.org/licenses/>.
32
33
from univention.admin.layout import Tab, Group
34
35
import univention.admin.syntax
36
import univention.admin.handlers
37
import univention.admin.localization
38
39
translation = univention.admin.localization.translation('univention.admin.handlers.settings.mswmifilter')
40
_ = translation.translate
41
42
module = 'ms/gpwl-wired'
43
operations = ['add', 'edit', 'remove', 'search', 'move', 'subtree_move']
44
childs = True
45
short_description = _('MS wired Group Policy')
46
long_description = ''
47
options = {
48
	'default': univention.admin.option(
49
		short_description='',
50
		default=True,
51
		objectClasses=['ms-net-ieee-8023-GroupPolicy', 'top']
52
	),
53
}
54
property_descriptions = {
55
	'name': univention.admin.property(
56
		short_description=_('Name'),
57
		long_description='',
58
		syntax=univention.admin.syntax.string,
59
		required=True,
60
		identifies=True,
61
	),
62
	'description': univention.admin.property(
63
		short_description=_('Description'),
64
		long_description='',
65
		syntax=univention.admin.syntax.string,
66
	),
67
	'ms-net-ieee-8023-GP-PolicyReserved': univention.admin.property(
68
		short_description=_('Policy Reserved'),
69
		long_description='',
70
		syntax=univention.admin.syntax.string,
71
	),
72
	'ms-net-ieee-8023-GP-PolicyData': univention.admin.property(
73
		short_description=_('Policy Data'),
74
		long_description='',
75
		syntax=univention.admin.syntax.TextArea,
76
		size='Two',
77
	),
78
	'ms-net-ieee-8023-GP-PolicyGUID': univention.admin.property(
79
		short_description=_('Policy GUID'),
80
		long_description='',
81
		syntax=univention.admin.syntax.string,
82
	),
83
}
84
85
layout = [
86
	Tab(_('General'), _('Basic settings'), layout=[
87
		Group(_('General'), layout=[
88
			["name", "description"],
89
		]),
90
		Group(_('Policy settings'), layout=[
91
			["ms-net-ieee-8023-GP-PolicyGUID", "ms-net-ieee-8023-GP-PolicyReserved"],
92
			'ms-net-ieee-8023-GP-PolicyData'
93
		]),
94
	]),
95
]
96
97
mapping = univention.admin.mapping.mapping()
98
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
99
mapping.register('description', 'description', None, univention.admin.mapping.ListToString)
100
mapping.register('ms-net-ieee-8023-GP-PolicyReserved', 'ms-net-ieee-8023-GP-PolicyReserved', None, univention.admin.mapping.ListToString)
101
mapping.register('ms-net-ieee-8023-GP-PolicyData', 'ms-net-ieee-8023-GP-PolicyData', None, univention.admin.mapping.ListToString)
102
mapping.register('ms-net-ieee-8023-GP-PolicyGUID', 'ms-net-ieee-8023-GP-PolicyGUID', None, univention.admin.mapping.ListToString)
103
104
105
class object(univention.admin.handlers.simpleLdap):
106
	module = module
107
108
	def _ldap_pre_modify(self):
109
		if self.hasChanged('name'):
110
			self.move(self._ldap_dn())
111
112
113
identify = object.identify
114
lookup = object.lookup
(-)a/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wireless-blob.py (+114 lines)
Line 0    Link Here 
1
# -*- coding: utf-8 -*-
2
#
3
# Univention S4 Connector
4
#  UDM module for BLOB-based wireless Group Policy
5
#
6
# Copyright 2019 Univention GmbH
7
#
8
# https://www.univention.de/
9
#
10
# All rights reserved.
11
#
12
# The source code of this program is made available
13
# under the terms of the GNU Affero General Public License version 3
14
# (GNU AGPL V3) as published by the Free Software Foundation.
15
#
16
# Binary versions of this program provided by Univention to you as
17
# well as other copyrighted, protected or trademarked materials like
18
# Logos, graphics, fonts, specific documentations and configurations,
19
# cryptographic keys etc. are subject to a license agreement between
20
# you and Univention and not subject to the GNU AGPL V3.
21
#
22
# In the case you use this program under the terms of the GNU AGPL V3,
23
# the program is provided in the hope that it will be useful,
24
# but WITHOUT ANY WARRANTY; without even the implied warranty of
25
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26
# GNU Affero General Public License for more details.
27
#
28
# You should have received a copy of the GNU Affero General Public
29
# License with the Debian GNU/Linux or Univention distribution in file
30
# /usr/share/common-licenses/AGPL-3; if not, see
31
# <https://www.gnu.org/licenses/>.
32
33
from univention.admin.layout import Tab, Group
34
35
import univention.admin.syntax
36
import univention.admin.handlers
37
import univention.admin.localization
38
39
translation = univention.admin.localization.translation('univention.admin.handlers.settings.mswmifilter')
40
_ = translation.translate
41
42
module = 'ms/gpwl-wireless-blob'
43
operations = ['add', 'edit', 'remove', 'search', 'move', 'subtree_move']
44
childs = True
45
short_description = _('MS wireless Group Policy blob')
46
long_description = ''
47
options = {
48
	'default': univention.admin.option(
49
		short_description='',
50
		default=True,
51
		objectClasses=['msieee80211-Policy', 'top']
52
	),
53
}
54
property_descriptions = {
55
	'name': univention.admin.property(
56
		short_description=_('Name'),
57
		long_description='',
58
		syntax=univention.admin.syntax.string,
59
		required=True,
60
		identifies=True,
61
	),
62
	'description': univention.admin.property(
63
		short_description=_('Description'),
64
		long_description='',
65
		syntax=univention.admin.syntax.string,
66
	),
67
	'msieee80211-ID': univention.admin.property(
68
		short_description=_('ID'),
69
		long_description='',
70
		syntax=univention.admin.syntax.string,
71
	),
72
	'msieee80211-DataType': univention.admin.property(
73
		short_description=_('Data type'),
74
		long_description='',
75
		syntax=univention.admin.syntax.string,
76
	),
77
	'msieee80211-Data': univention.admin.property(
78
		short_description=_('Data'),
79
		long_description='',
80
		syntax=univention.admin.syntax.TextArea,
81
		size='Two',
82
	),
83
}
84
85
layout = [
86
	Tab(_('General'), _('Basic settings'), layout=[
87
		Group(_('General'), layout=[
88
			["name", "description"],
89
		]),
90
		Group(_('Policy settings'), layout=[
91
			['msieee80211-ID', 'msieee80211-DataType'],
92
			# 'msieee80211-Data',  binary data in UMC? better not...
93
		]),
94
	]),
95
]
96
97
mapping = univention.admin.mapping.mapping()
98
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
99
mapping.register('description', 'description', None, univention.admin.mapping.ListToString)
100
mapping.register('msieee80211-ID', 'msieee80211-ID', None, univention.admin.mapping.ListToString)
101
mapping.register('msieee80211-DataType', 'msieee80211-DataType', None, univention.admin.mapping.ListToString)
102
mapping.register('msieee80211-Data', 'msieee80211-Data', None, univention.admin.mapping.ListToString)
103
104
105
class object(univention.admin.handlers.simpleLdap):
106
	module = module
107
108
	def _ldap_pre_modify(self):
109
		if self.hasChanged('name'):
110
			self.move(self._ldap_dn())
111
112
113
identify = object.identify
114
lookup = object.lookup
(-)a/services/univention-s4-connector/modules/univention/admin/handlers/ms/gpwl-wireless.py (+114 lines)
Line 0    Link Here 
1
# -*- coding: utf-8 -*-
2
#
3
# Univention S4 Connector
4
#  UDM module for XML-based wireless Group Policy
5
#
6
# Copyright 2019 Univention GmbH
7
#
8
# https://www.univention.de/
9
#
10
# All rights reserved.
11
#
12
# The source code of this program is made available
13
# under the terms of the GNU Affero General Public License version 3
14
# (GNU AGPL V3) as published by the Free Software Foundation.
15
#
16
# Binary versions of this program provided by Univention to you as
17
# well as other copyrighted, protected or trademarked materials like
18
# Logos, graphics, fonts, specific documentations and configurations,
19
# cryptographic keys etc. are subject to a license agreement between
20
# you and Univention and not subject to the GNU AGPL V3.
21
#
22
# In the case you use this program under the terms of the GNU AGPL V3,
23
# the program is provided in the hope that it will be useful,
24
# but WITHOUT ANY WARRANTY; without even the implied warranty of
25
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26
# GNU Affero General Public License for more details.
27
#
28
# You should have received a copy of the GNU Affero General Public
29
# License with the Debian GNU/Linux or Univention distribution in file
30
# /usr/share/common-licenses/AGPL-3; if not, see
31
# <https://www.gnu.org/licenses/>.
32
33
from univention.admin.layout import Tab, Group
34
35
import univention.admin.syntax
36
import univention.admin.handlers
37
import univention.admin.localization
38
39
translation = univention.admin.localization.translation('univention.admin.handlers.settings.mswmifilter')
40
_ = translation.translate
41
42
module = 'ms/gpwl-wireless'
43
operations = ['add', 'edit', 'remove', 'search', 'move', 'subtree_move']
44
childs = True
45
short_description = _('MS wireless Group Policy')
46
long_description = ''
47
options = {
48
	'default': univention.admin.option(
49
		short_description='',
50
		default=True,
51
		objectClasses=['ms-net-ieee-80211-GroupPolicy', 'top']
52
	),
53
}
54
property_descriptions = {
55
	'name': univention.admin.property(
56
		short_description=_('Name'),
57
		long_description='',
58
		syntax=univention.admin.syntax.string,
59
		required=True,
60
		identifies=True,
61
	),
62
	'description': univention.admin.property(
63
		short_description=_('Description'),
64
		long_description='',
65
		syntax=univention.admin.syntax.string,
66
	),
67
	'ms-net-ieee-80211-GP-PolicyReserved': univention.admin.property(
68
		short_description=_('Policy Reserved'),
69
		long_description='',
70
		syntax=univention.admin.syntax.string,
71
	),
72
	'ms-net-ieee-80211-GP-PolicyData': univention.admin.property(
73
		short_description=_('Policy Data'),
74
		long_description='',
75
		syntax=univention.admin.syntax.TextArea,
76
		size='Two',
77
	),
78
	'ms-net-ieee-80211-GP-PolicyGUID': univention.admin.property(
79
		short_description=_('Policy GUID'),
80
		long_description='',
81
		syntax=univention.admin.syntax.string,
82
	),
83
}
84
85
layout = [
86
	Tab(_('General'), _('Basic settings'), layout=[
87
		Group(_('General'), layout=[
88
			["name", "description"],
89
		]),
90
		Group(_('Policy settings'), layout=[
91
			['ms-net-ieee-80211-GP-PolicyGUID', 'ms-net-ieee-80211-GP-PolicyReserved'],
92
			'ms-net-ieee-80211-GP-PolicyData',
93
		]),
94
	]),
95
]
96
97
mapping = univention.admin.mapping.mapping()
98
mapping.register('name', 'cn', None, univention.admin.mapping.ListToString)
99
mapping.register('description', 'description', None, univention.admin.mapping.ListToString)
100
mapping.register('ms-net-ieee-80211-GP-PolicyReserved', 'ms-net-ieee-80211-GP-PolicyReserved', None, univention.admin.mapping.ListToString)
101
mapping.register('ms-net-ieee-80211-GP-PolicyData', 'ms-net-ieee-80211-GP-PolicyData', None, univention.admin.mapping.ListToString)
102
mapping.register('ms-net-ieee-80211-GP-PolicyGUID', 'ms-net-ieee-80211-GP-PolicyGUID', None, univention.admin.mapping.ListToString)
103
104
105
class object(univention.admin.handlers.simpleLdap):
106
	module = module
107
108
	def _ldap_pre_modify(self):
109
		if self.hasChanged('name'):
110
			self.move(self._ldap_dn())
111
112
113
identify = object.identify
114
lookup = object.lookup
(-)a/services/univention-s4-connector/python-univention-connector-s4.public (+3 lines)
 Lines 1-3    Link Here 
1
/usr/share/pyshared/univention/admin/handlers/container/msgpo.py
1
/usr/share/pyshared/univention/admin/handlers/container/msgpo.py
2
/usr/share/pyshared/univention/admin/handlers/settings/msprintconnectionpolicy.py
2
/usr/share/pyshared/univention/admin/handlers/settings/msprintconnectionpolicy.py
3
/usr/share/pyshared/univention/admin/handlers/settings/mswmifilter.py
3
/usr/share/pyshared/univention/admin/handlers/settings/mswmifilter.py
4
/usr/share/pyshared/univention/admin/handlers/ms/gpwl-wireless.py
5
/usr/share/pyshared/univention/admin/handlers/ms/gpwl-wireless-blob.py
6
/usr/share/pyshared/univention/admin/handlers/ms/gpwl-wired.py

Return to bug 49838