Skip to content

Commit cbd7b04

Browse files
committed
- ShareViewController: enforce password requirement even if files_sharing.public.password.enforced in capabilities is false, but the respectively matching files_sharing.public.password.enforced_for is true
1 parent ebad324 commit cbd7b04

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

ownCloudAppShared/Client/Sharing/ShareViewController.swift

+23-1
Original file line numberDiff line numberDiff line change
@@ -597,7 +597,29 @@ open class ShareViewController: CollectionViewController, SearchViewControllerDe
597597
return type == .link
598598
}
599599
var passwordRequired: Bool {
600-
return (type == .link) && (clientContext?.core?.connection.capabilities?.publicSharingPasswordEnforced == true)
600+
if type == .link, let capabilities = clientContext?.core?.connection.capabilities {
601+
if capabilities.publicSharingPasswordEnforced == true {
602+
return true
603+
}
604+
if permissions?.contains(.read) == true &&
605+
permissions?.contains(.delete) == true && (
606+
permissions?.contains(.create) == true ||
607+
permissions?.contains(.update) == true) {
608+
return capabilities.publicSharingPasswordEnforcedForReadWriteDelete == true
609+
}
610+
if permissions?.contains(.read) == true && (
611+
permissions?.contains(.create) == true ||
612+
permissions?.contains(.update) == true) {
613+
return capabilities.publicSharingPasswordEnforcedForReadWrite == true
614+
}
615+
if permissions?.contains(.create) == true {
616+
return capabilities.publicSharingPasswordEnforcedForUploadOnly == true
617+
}
618+
if permissions?.contains(.read) == true {
619+
return capabilities.publicSharingPasswordEnforcedForReadOnly == true
620+
}
621+
}
622+
return false
601623
}
602624
var hasExpirationOption: Bool {
603625
return (type == .link)

0 commit comments

Comments
 (0)