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

(-)34univention-self-service.inst (-11 / +23 lines)
 Lines 43-64    Link Here 
43
43
44
eval "$(ucr shell)"
44
eval "$(ucr shell)"
45
45
46
udm policies/umc "$@" create \
46
udm policies/umc create "$@" \
47
	--position=cn=UMC,cn=policies,$ldap_base \
47
	--position="cn=UMC,cn=policies,$ldap_base" \
48
	--set name=selfservice-umc-servers \
48
	--set name=selfservice-umc-servers \
49
	--set ldapFilter='(|(objectClass=univentionMemberserver)(objectClass=univentionDomainController))'
49
	--set ldapFilter='(|(objectClass=univentionMemberserver)(objectClass=univentionDomainController))'
50
udm policies/umc "$@" modify \
50
udm policies/umc modify "$@" \
51
	--dn cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base \
51
	--dn "cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base" \
52
	--append allow=cn=passwordchange-all,cn=operations,cn=UMC,cn=univention,$ldap_base
52
	--append "allow=cn=passwordchange-all,cn=operations,cn=UMC,cn=univention,$ldap_base"
53
udm container/cn "$@" modify \
53
udm container/cn modify "$@" \
54
	--dn=cn=dc,cn=computers,$ldap_base \
54
	--dn "cn=dc,cn=computers,$ldap_base" \
55
	--policy-reference cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base
55
	--policy-reference "cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base"
56
udm container/cn "$@" modify \
56
udm container/cn modify "$@" \
57
	--dn=cn=memberserver,cn=computers,$ldap_base \
57
	--dn "cn=memberserver,cn=computers,$ldap_base" \
58
	--policy-reference cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base
58
	--policy-reference "cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base"
59
59
60
stop_udm_cli_server
60
stop_udm_cli_server
61
61
62
MASTER=$(ucr get ldap/master)
63
univention-config-registry set \
64
	"self-service/backend-server?$MASTER" \
65
	self-service/web/enabled?yes
66
67
a2enmod wsgi
68
a2ensite univention-self-service
69
70
# restart, so apache reloads WSGI and sees activated plugin in its config
71
# retry if fail because of to quick successive restarts (from other frontend packages)
72
invoke-rc.d apache2 restart || (sleep 2; invoke-rc.d apache2 restart)
73
62
joinscript_save_current_version
74
joinscript_save_current_version
63
75
64
exit 0
76
exit 0
(-)35univention-self-service-passwordreset-umc.inst (-3 / +17 lines)
 Lines 43-48    Link Here 
43
ucs_addServiceToLocalhost "univention-self-service-passwordreset-umc" "$@"
43
ucs_addServiceToLocalhost "univention-self-service-passwordreset-umc" "$@"
44
ucs_registerLDAPExtension "$@" --schema /usr/share/univention-self-service/self-service-passwordreset.schema
44
ucs_registerLDAPExtension "$@" --schema /usr/share/univention-self-service/self-service-passwordreset.schema
45
45
46
groups_default_administrators=$(custom_groupname "Administrators")
47
groups_default_domainadmins=$(custom_groupname "Domain Admins")
48
groups_default_domainusers=$(custom_groupname "Domain Users")
49
50
51
univention-config-registry set \
52
	umc/self-service/passwordreset/enabled?yes \
53
	umc/self-service/passwordreset/blacklist/groups?"$groups_default_administrators,$groups_default_domainadmins" \
54
	umc/self-service/passwordreset/whitelist/groups?"$groups_default_domainusers" \
55
	umc/self-service/passwordreset/email/enabled?yes \
56
	umc/self-service/passwordreset/email/server?localhost \
57
	umc/self-service/passwordreset/external/enabled?no \
58
	umc/self-service/passwordreset/sms/enabled?no
59
46
eval "$(ucr shell)"
60
eval "$(ucr shell)"
47
udm settings/extended_attribute create "$@" --ignore_exists \
61
udm settings/extended_attribute create "$@" --ignore_exists \
48
	--position "cn=custom attributes,cn=univention,$ldap_base" \
62
	--position "cn=custom attributes,cn=univention,$ldap_base" \
 Lines 94-102    Link Here 
94
108
95
umc_init
109
umc_init
96
umc_operation_create "passwordreset-all" "Password reset service" "" "passwordreset/*"
110
umc_operation_create "passwordreset-all" "Password reset service" "" "passwordreset/*"
97
udm policies/umc "$@" modify \
111
udm policies/umc modify "$@" \
98
	--dn cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base \
112
	--dn "cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base" \
99
	--append allow=cn=passwordreset-all,cn=operations,cn=UMC,cn=univention,$ldap_base
113
	--append "allow=cn=passwordreset-all,cn=operations,cn=UMC,cn=univention,$ldap_base"
100
114
101
stop_udm_cli_server
115
stop_udm_cli_server
102
116
(-)65univention-self-service-passwordreset-umc.uinst (-5 / +4 lines)
 Lines 47-58    Link Here 
47
		--dn "cn=UniventionPasswordSelfServiceContactEmail,cn=custom attributes,cn=univention,$ldap_base"
47
		--dn "cn=UniventionPasswordSelfServiceContactEmail,cn=custom attributes,cn=univention,$ldap_base"
48
	udm settings/extended_attribute remove "$@" \
48
	udm settings/extended_attribute remove "$@" \
49
		--dn "cn=UniventionPasswordSelfServiceContactMobile,cn=custom attributes,cn=univention,$ldap_base"
49
		--dn "cn=UniventionPasswordSelfServiceContactMobile,cn=custom attributes,cn=univention,$ldap_base"
50
	udm policies/umc "$@" modify \
50
	udm policies/umc modify "$@" \
51
		--dn cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base \
51
		--dn "cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base" \
52
		--remove allow=cn=passwordreset-all,cn=operations,cn=UMC,cn=univention,$ldap_base
52
		--remove "allow=cn=passwordreset-all,cn=operations,cn=UMC,cn=univention,$ldap_base"
53
	udm settings/umc_operationset remove "$@" \
53
	udm settings/umc_operationset remove "$@" \
54
		--dn cn=passwordreset-all,cn=operations,cn=UMC,cn=univention,$ldap_base
54
		--dn "cn=passwordreset-all,cn=operations,cn=UMC,cn=univention,$ldap_base"
55
	ucs_unregisterLDAPExtension "$@" --schema /usr/share/univention-self-service/self-service-passwordreset.schema
56
fi
55
fi
57
56
58
joinscript_remove_script_from_status_file univention-management-console-module-passwordreset
57
joinscript_remove_script_from_status_file univention-management-console-module-passwordreset
(-)65univention-self-service.uinst (-11 / +11 lines)
 Lines 43-59    Link Here 
43
if ucs_isServiceUnused "univention-self-service" "$@"
43
if ucs_isServiceUnused "univention-self-service" "$@"
44
then
44
then
45
	eval "$(ucr shell)"
45
	eval "$(ucr shell)"
46
	udm policies/umc "$@" modify \
46
	udm policies/umc modify "$@" \
47
		--dn cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base \
47
		--dn "cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base" \
48
		--remove allow=cn=passwordchange-all,cn=operations,cn=UMC,cn=univention,$ldap_base
48
		--remove "allow=cn=passwordchange-all,cn=operations,cn=UMC,cn=univention,$ldap_base"
49
	udm container/cn "$@" modify \
49
	udm container/cn modify "$@" \
50
		--dn=cn=dc,cn=computers,$ldap_base \
50
		--dn "cn=dc,cn=computers,$ldap_base" \
51
		--policy-dereference cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base
51
		--policy-dereference "cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base"
52
	udm container/cn "$@" modify \
52
	udm container/cn modify "$@" \
53
		--dn=cn=memberserver,cn=computers,$ldap_base \
53
		--dn "cn=memberserver,cn=computers,$ldap_base" \
54
		--policy-dereference cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base
54
		--policy-dereference "cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base"
55
	udm policies/umc "$@" remove \
55
	udm policies/umc remove "$@" \
56
		--dn cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base
56
		--dn "cn=selfservice-umc-servers,cn=UMC,cn=policies,$ldap_base"
57
fi
57
fi
58
58
59
joinscript_remove_script_from_status_file univention-self-service
59
joinscript_remove_script_from_status_file univention-self-service
(-)debian/univention-self-service-passwordreset-umc.postinst (-9 lines)
 Lines 60-74    Link Here 
60
	su - postgres -c "echo \"ALTER ROLE selfservice WITH ENCRYPTED PASSWORD '$selfservice_pwd';\" | psql"
60
	su - postgres -c "echo \"ALTER ROLE selfservice WITH ENCRYPTED PASSWORD '$selfservice_pwd';\" | psql"
61
fi
61
fi
62
62
63
univention-config-registry set \
64
	umc/self-service/passwordreset/enabled?yes \
65
	umc/self-service/passwordreset/blacklist/groups?"Administrators,Domain Admins" \
66
	umc/self-service/passwordreset/whitelist/groups?"Domain Users" \
67
	umc/self-service/passwordreset/email/enabled?yes \
68
	umc/self-service/passwordreset/email/server?localhost \
69
	umc/self-service/passwordreset/external/enabled=no \
70
	umc/self-service/passwordreset/sms/enabled?no
71
72
if [ "$1" = "configure" ]; then
63
if [ "$1" = "configure" ]; then
73
	uinst=/usr/lib/univention-install/65univention-self-service-passwordreset-umc.uinst
64
	uinst=/usr/lib/univention-install/65univention-self-service-passwordreset-umc.uinst
74
	[ -e "$uinst" ] && rm "$uinst"
65
	[ -e "$uinst" ] && rm "$uinst"
(-)debian/univention-self-service.postinst (-11 lines)
 Lines 62-76    Link Here 
62
62
63
/usr/lib/univention-server/server_password_change.d/univention-self-service postchange
63
/usr/lib/univention-server/server_password_change.d/univention-self-service postchange
64
64
65
MASTER=$(ucr get ldap/master)
66
univention-config-registry set \
65
univention-config-registry set \
67
	"self-service/backend-server?$MASTER" \
68
	self-service/web/enabled?yes
69
70
a2enmod wsgi
71
a2ensite univention-self-service
72
73
univention-config-registry set \
74
	self-service/passwordreset/web/enabled?yes \
66
	self-service/passwordreset/web/enabled?yes \
75
	"ucs/web/overview/entries/service/passwordreset/description=Reset your password or provide contact information" \
67
	"ucs/web/overview/entries/service/passwordreset/description=Reset your password or provide contact information" \
76
	"ucs/web/overview/entries/service/passwordreset/description/de=Setzen Sie Ihr Passwort zurück oder hinterlegen Sie Kontaktinformationen." \
68
	"ucs/web/overview/entries/service/passwordreset/description/de=Setzen Sie Ihr Passwort zurück oder hinterlegen Sie Kontaktinformationen." \
 Lines 92-99    Link Here 
92
	"ucs/web/overview/entries/service/passwordchange/port_http=" \
84
	"ucs/web/overview/entries/service/passwordchange/port_http=" \
93
	"ucs/web/overview/entries/service/passwordchange/port_https=443"
85
	"ucs/web/overview/entries/service/passwordchange/port_https=443"
94
86
95
# restart, so apache reloads WSGI and sees activated plugin in its config
96
# retry if fail because of to quick successive restarts (from other frontend packages)
97
invoke-rc.d apache2 restart || (sleep 2; invoke-rc.d apache2 restart)
98
87
99
exit 0
88
exit 0
(-)debian/univention-self-service.postrm (-21 / +23 lines)
 Lines 38-65    Link Here 
38
	;;
38
	;;
39
esac
39
esac
40
40
41
univention-config-registry unset \
41
if [ "$1" = "remove" -o "$1" = "pruge" ]; then
42
	ucs/web/overview/entries/service/passwordreset/description \
42
	univention-config-registry unset \
43
	ucs/web/overview/entries/service/passwordreset/description/de \
43
		ucs/web/overview/entries/service/passwordreset/description \
44
	ucs/web/overview/entries/service/passwordreset/icon \
44
		ucs/web/overview/entries/service/passwordreset/description/de \
45
	ucs/web/overview/entries/service/passwordreset/label \
45
		ucs/web/overview/entries/service/passwordreset/icon \
46
	ucs/web/overview/entries/service/passwordreset/label/de \
46
		ucs/web/overview/entries/service/passwordreset/label \
47
	ucs/web/overview/entries/service/passwordreset/link \
47
		ucs/web/overview/entries/service/passwordreset/label/de \
48
	ucs/web/overview/entries/service/passwordreset/port_http \
48
		ucs/web/overview/entries/service/passwordreset/link \
49
	ucs/web/overview/entries/service/passwordreset/port_https
49
		ucs/web/overview/entries/service/passwordreset/port_http \
50
		ucs/web/overview/entries/service/passwordreset/port_https
50
51
51
univention-config-registry unset \
52
	univention-config-registry unset \
52
	ucs/web/overview/entries/service/passwordchange/description \
53
		ucs/web/overview/entries/service/passwordchange/description \
53
	ucs/web/overview/entries/service/passwordchange/description/de \
54
		ucs/web/overview/entries/service/passwordchange/description/de \
54
	ucs/web/overview/entries/service/passwordchange/icon \
55
		ucs/web/overview/entries/service/passwordchange/icon \
55
	ucs/web/overview/entries/service/passwordchange/label \
56
		ucs/web/overview/entries/service/passwordchange/label \
56
	ucs/web/overview/entries/service/passwordchange/label/de \
57
		ucs/web/overview/entries/service/passwordchange/label/de \
57
	ucs/web/overview/entries/service/passwordchange/link \
58
		ucs/web/overview/entries/service/passwordchange/link \
58
	ucs/web/overview/entries/service/passwordchange/port_http \
59
		ucs/web/overview/entries/service/passwordchange/port_http \
59
	ucs/web/overview/entries/service/passwordchange/port_https
60
		ucs/web/overview/entries/service/passwordchange/port_https
60
61
61
# restart, so apache unloads WSGI and deactivats plugin in its config
62
	# restart, so apache unloads WSGI and deactivats plugin in its config
62
# retry if fail because of to quick successive restarts (from other frontend packages)
63
	# retry if fail because of to quick successive restarts (from other frontend packages)
63
invoke-rc.d apache2 restart || (sleep 2; invoke-rc.d apache2 restart)
64
	invoke-rc.d apache2 restart || (sleep 2; invoke-rc.d apache2 restart)
65
fi
64
66
65
exit 0
67
exit 0
(-)js/ucs/de.po (-1 / +1 lines)
 Lines 86-92    Link Here 
86
86
87
#: setcontactinformation.js:134
87
#: setcontactinformation.js:134
88
msgid "Mobile"
88
msgid "Mobile"
89
msgstr ""
89
msgstr "Mobiltelefon"
90
90
91
#: passwordchange.js:96 passwordreset.js:157
91
#: passwordchange.js:96 passwordreset.js:157
92
msgid "New password"
92
msgid "New password"
(-)umc/python/passwordreset/__init__.py (-8 lines)
 Lines 61-71    Link Here 
61
61
62
TOKEN_VALIDITY_TIME = 3600
62
TOKEN_VALIDITY_TIME = 3600
63
63
64
GRP_BLACKLIST = ["Domain Admins", "Windows Hosts", "DC Backup Hosts", "DC Slave", "Hosts", "Computers", "Backup Join", "Slave Join", "World Authority", "Null Authority", "Nobody", "Enterprise Domain Controllers", "Remote Interactive Logon", "SChannel Authentication", "Digest Authentication", "Terminal Server User", "NTLM Authentication", "Other Organization", "This Organization", "Anonymous Logon", "Network Service", "Creator Group", "Creator Owner", "Local Service", "Owner Rights", "Interactive", "Restricted", "Network", "Service", "System", "Batch", "Proxy", "IUSR", "Self", "Performance Log Users", "DnsUpdateProxy", "Cryptographic Operators", "Schema Admins", "Backup Operators", "Administrators", "Domain Computers", "Windows Authorization Access Group", "IIS_IUSRS", "RAS and IAS Servers", "Network Configuration Operators", "Account Operators", "Distributed COM Users", "Read-Only Domain Controllers", "Terminal Server License Servers", "Replicator", "Allowed RODC Password Replication Group", "Denied RODC Password Replication Group", "Enterprise Admins", "Group Policy Creator Owners", "Server Operators", "Domain Controllers", "DnsAdmins", "Cert Publishers", "Incoming Forest Trust Builders", "Event Log Readers", "Pre-Windows 2000 Compatible Access", "Remote Desktop Users", "Performance Monitor Users", "Certificate Service DCOM Access", "Enterprise Read-Only Domain Controllers"]
65
66
USER_BLACKLIST = ["Administrator", "krbtgt"]
67
68
69
def prevent_denial_of_service(func):
64
def prevent_denial_of_service(func):
70
	def _decorated(self, request, *args, **kwargs):
65
	def _decorated(self, request, *args, **kwargs):
71
		self.prevent_denial_of_service()
66
		self.prevent_denial_of_service()
 Lines 345-353    Link Here 
345
		wh_users = listize(ucr.get("umc/self-service/passwordreset/whitelist/users", ""))
340
		wh_users = listize(ucr.get("umc/self-service/passwordreset/whitelist/users", ""))
346
		wh_groups = listize(ucr.get("umc/self-service/passwordreset/whitelist/groups", ""))
341
		wh_groups = listize(ucr.get("umc/self-service/passwordreset/whitelist/groups", ""))
347
342
348
		bl_users.extend(map(str.lower, USER_BLACKLIST))
349
		bl_groups.extend(map(str.lower, GRP_BLACKLIST))
350
351
		# user blacklist
343
		# user blacklist
352
		if username.lower() in bl_users:
344
		if username.lower() in bl_users:
353
			MODULE.info("is_blacklisted({}): match in blacklisted users".format(username))
345
			MODULE.info("is_blacklisted({}): match in blacklisted users".format(username))
(-)umc/python/passwordreset/sending/send_sms.py (-1 / +1 lines)
 Lines 77-83    Link Here 
77
77
78
	@property
78
	@property
79
	def token_length(self):
79
	def token_length(self):
80
		length = self.ucr.get("umc/self-service/passwordreset/email/token_length", 12)
80
		length = self.ucr.get("umc/self-service/passwordreset/sms/token_length", 12)
81
		try:
81
		try:
82
			length = int(length)
82
			length = int(length)
83
		except ValueError:
83
		except ValueError:

Return to bug 37890