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

(-)file_not_specified_in_diff (-18 / +19 lines)
Line     Link Here 
0
-- /etc/univention/templates/modules/ucs-school-webproxy.py.ORIG
0
++ /etc/univention/templates/modules/ucs-school-webproxy.py
 Lines 132-139   def createTemporaryConfig(fn_temp_config, configRegistry, DIR_TEMP): Link Here 
132
			proxy_settinglist.add(match.group(1))
132
			proxy_settinglist.add(match.group(1))
133
	proxy_settinglist = list(proxy_settinglist)
133
	proxy_settinglist = list(proxy_settinglist)
134
134
135
	roomIPs = {} # { 'theBigRoom': ['127.0.0.1', '127.4.5.7'] }
135
	roomIPs = {} # { 'theBigRoom': ['127.0.0.1', '127.4.5.7'], 'otherRoom': ['127.2.3.4'] }
136
	roomRule = {} # { 'kmiyagi': 'theBigRoom' }
136
	roomRule = {} # { 'kmiyagi': ['theBigRoom', 'otherRoom'] }
137
	roomRules = [] # [ 'kmiyagi' ]
137
	roomRules = [] # [ 'kmiyagi' ]
138
	for key in keylist:
138
	for key in keylist:
139
		if key.startswith('proxy/filter/room/'):
139
		if key.startswith('proxy/filter/room/'):
 Lines 143-149   def createTemporaryConfig(fn_temp_config, configRegistry, DIR_TEMP): Link Here 
143
				if parts[-1] == 'ip':
143
				if parts[-1] == 'ip':
144
					roomIPs[room] = configRegistry[key].split()
144
					roomIPs[room] = configRegistry[key].split()
145
				elif parts[-1] == 'rule':
145
				elif parts[-1] == 'rule':
146
					roomRule[configRegistry[key]] = room
146
					roomRule.setdefault(configRegistry[key], []).append(room)
147
					if room not in roomIPs:
147
					if room not in roomIPs:
148
						roomIPs[room] = []
148
						roomIPs[room] = []
149
		elif key.startswith('proxy/filter/setting-user/'):
149
		elif key.startswith('proxy/filter/setting-user/'):
 Lines 229-248   def createTemporaryConfig(fn_temp_config, configRegistry, DIR_TEMP): Link Here 
229
		'blacklist-pass':
229
		'blacklist-pass':
230
			'!blacklist-%(username)s all\n',
230
			'!blacklist-%(username)s all\n',
231
		}
231
		}
232
	for (username, room, ) in roomRule.items():
232
	for (username, rooms, ) in roomRule.items():
233
		if username in roomRules:
233
		for room in rooms:
234
			filtertype = configRegistry.get('proxy/filter/setting-user/%s/filtertype' % (username, ), 'whitelist-blacklist-pass')
234
			if username in roomRules:
235
			username = quote(username) + '-user'
235
				filtertype = configRegistry.get('proxy/filter/setting-user/%s/filtertype' % (username, ), 'whitelist-blacklist-pass')
236
		elif username in proxy_settinglist:
236
				quoted_username = quote(username) + '-user'
237
			filtertype = configRegistry.get('proxy/filter/setting/%s/filtertype' % (username, ), 'whitelist-blacklist-pass')
237
			elif username in proxy_settinglist:
238
			username = quote(username)
238
				filtertype = configRegistry.get('proxy/filter/setting/%s/filtertype' % (username, ), 'whitelist-blacklist-pass')
239
		else:
239
				quoted_username = quote(username)
240
			continue
240
			else:
241
		if filtertype in RULES:
241
				continue
242
			f.write('	room-%s {\n' % (quote(room), ))
242
			if filtertype in RULES:
243
			f.write('		pass %s\n' % (RULES[filtertype] % {'username': username, }))
243
				f.write('	room-%s {\n' % (quote(room), ))
244
			f.write('		redirect %s\n' % default_redirect)
244
				f.write('		pass %s\n' % (RULES[filtertype] % {'username': quoted_username, }))
245
			f.write('	}\n')
245
				f.write('		redirect %s\n' % default_redirect)
246
				f.write('	}\n')
246
247
247
	# acl usergroup
248
	# acl usergroup
248
	for (priority, usergroupname, proxy_setting, ) in reversed(sorted(usergroupSetting)):
249
	for (priority, usergroupname, proxy_setting, ) in reversed(sorted(usergroupSetting)):

Return to bug 34557