|
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)): |