[jira] [Created] (OAK-9463) AutomembershipProvider to allow for conditional auto-membership

2021-06-15 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9463:
-

 Summary: AutomembershipProvider to allow for conditional 
auto-membership
 Key: OAK-9463
 URL: https://issues.apache.org/jira/browse/OAK-9463
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: auth-external
Reporter: Angela Schreiber


the {{DefaultSyncConfig}} comes with an _automembership_ option for external 
users and groups that allows to automatically mark them as member of existing 
repository defined groups. in certain cases though it would be preferable to 
conditionally apply automembership based on user/group characteristics, i.e. 
allow for more fine-grained  configuration. proposed improvement: an new 
{{AutomembershipProvider}} interface that returns _automembership_ property for 
a given {{ExternalIdentity}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (OAK-9463) AutomembershipProvider to allow for conditional auto-membership

2021-06-15 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber reassigned OAK-9463:
-

Assignee: Angela Schreiber

> AutomembershipProvider to allow for conditional auto-membership
> ---
>
> Key: OAK-9463
> URL: https://issues.apache.org/jira/browse/OAK-9463
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: auth-external
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
>
> the {{DefaultSyncConfig}} comes with an _automembership_ option for external 
> users and groups that allows to automatically mark them as member of existing 
> repository defined groups. in certain cases though it would be preferable to 
> conditionally apply automembership based on user/group characteristics, i.e. 
> allow for more fine-grained  configuration. proposed improvement: an new 
> {{AutomembershipProvider}} interface that returns _automembership_ property 
> for a given {{ExternalIdentity}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9468) Define mechanism to prevent cross-IDP membership

2021-06-16 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9468:
-

 Summary: Define mechanism to prevent cross-IDP membership
 Key: OAK-9468
 URL: https://issues.apache.org/jira/browse/OAK-9468
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: auth-external, security
Reporter: Angela Schreiber
Assignee: Angela Schreiber


while {{DefaultSyncContext}} verifies that external identities are not added as 
members of group defined by a different IDP, this can manually achieved in the 
repository's user management after a full sync.

therefore _oak-auth-external_ should come with a mechanism to detect and 
prevent IDP-boundary violations. This could either be an 
{{AuthorizableActionProvider}} containing an implementation of {{GroupAction}} 
or a dedicated {{Validator}} implementation. For backwards compatibility an 
'warnonly' option would allow to only log a warning instead of failing the 
operation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9468) Define mechanism to prevent cross-IDP membership

2021-06-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9468.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

Rev. 1890973: initial best effort implementation that covers 
{{GroupAction.onMemberAdded(Group, Authorizable, Root, NamePathMapper)}} that 
doesn't require an extra lookup of the new member.

> Define mechanism to prevent cross-IDP membership
> 
>
> Key: OAK-9468
> URL: https://issues.apache.org/jira/browse/OAK-9468
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: auth-external, security
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>
> while {{DefaultSyncContext}} verifies that external identities are not added 
> as members of group defined by a different IDP, this can manually achieved in 
> the repository's user management after a full sync.
> therefore _oak-auth-external_ should come with a mechanism to detect and 
> prevent IDP-boundary violations. This could either be an 
> {{AuthorizableActionProvider}} containing an implementation of 
> {{GroupAction}} or a dedicated {{Validator}} implementation. For backwards 
> compatibility an 'warnonly' option would allow to only log a warning instead 
> of failing the operation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9470) Move AutoMembershipPrincipals from ExternalGroupPrincipalProvider to top level

2021-06-23 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9470:
-

 Summary: Move AutoMembershipPrincipals from 
ExternalGroupPrincipalProvider to top level
 Key: OAK-9470
 URL: https://issues.apache.org/jira/browse/OAK-9470
 Project: Jackrabbit Oak
  Issue Type: Technical task
  Components: auth-external
Reporter: Angela Schreiber
Assignee: Angela Schreiber






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9462) Extensible DynamicMembershipProvider

2021-06-23 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9462:
--
Component/s: auth-external

> Extensible DynamicMembershipProvider
> 
>
> Key: OAK-9462
> URL: https://issues.apache.org/jira/browse/OAK-9462
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: auth-external, core, security-spi
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
>
> Today the only built-in dynamic 
> {{org.apache.jackrabbit.api.security.user.Group}} is the one associated with 
> the everyone principal that automatically has every other group and user as 
> member.
> In order to allow for additional flexibility we should consider introducing a 
> {{DynamicMembershipProvider}} interface. while by default a single 
> implementation for the everyone group would be present as today, it would 
> allow to provide additional implementations. e.g. for those groups configured 
> with the _automembership_ option defined with {{DefaultSyncConfig}}, when 
> additionally _dynamicmembership_ is enabled.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9470) Move AutoMembershipPrincipals from ExternalGroupPrincipalProvider to top level

2021-06-23 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9470.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

fixed rev. aeca67eb95..b1acba6292

> Move AutoMembershipPrincipals from ExternalGroupPrincipalProvider to top level
> --
>
> Key: OAK-9470
> URL: https://issues.apache.org/jira/browse/OAK-9470
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: auth-external
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Reopened] (OAK-9440) Migrate Oak from SVN to Git

2021-06-24 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber reopened OAK-9440:
---

hi [~kwin], after you posted that issues with writing to github had been fixed, 
i gave it a try and it worked. today, i wanted to push again (both a new branch 
and to trunk for testing purpose) and it no longer worked for me any idea 
if there were some additional changes by infra?

> Migrate Oak from SVN to Git
> ---
>
> Key: OAK-9440
> URL: https://issues.apache.org/jira/browse/OAK-9440
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>Reporter: Konrad Windszus
>Assignee: Konrad Windszus
>Priority: Major
> Attachments: jackrabbit-check-release-for-gitv1.patch, 
> jackrabbit-live-site-migrate-to-gitv1.patch, 
> jackrabbit-site-release-for-gitv1.patch
>
>
> # migrate the SVN repository at 
> [https://svn.apache.org/repos/asf/jackrabbit/oak/] to a Git repository named 
> "jackrabbit-oak" - tracked in INFRA-22016 (/)
>  # migrate GitHub SVN mirror at [https://github.com/apache/jackrabbit-oak] to 
> mirror the new native Git repo (at Gitbox) - tracked in INFRA-22016 (/)
>  # -change the main branch name from "trunk" to "main"-
>  # make the SVN repository read only - tracked in INFRA-22016 (/)
>  # adjust Jenkins jobs
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-matrix/] 
> (/)
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk/] 
> (/)
>  # adjust release check scripts, fixed in r48468 (/)
>  ## [https://dist.apache.org/repos/dist/dev/jackrabbit/check-release.sh] 
> attached to [^jackrabbit-check-release-for-gitv1.patch] 
>  # adjust documentation, this includes 
>  ## [http://jackrabbit.apache.org/jcr/creating-releases.html] attached to 
> [^jackrabbit-site-release-for-gitv1.patch], applied in r1890993 (/)
>  ## [https://jackrabbit.apache.org/oak/] (only manually maintained in 
> [https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/)|https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/]
>  proposed to remove and redirect to /oak/docs instead in 
> [^jackrabbit-live-site-migrate-to-gitv1.patch], done in r1890995, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/dev_getting_started.html], 
> contained in GH PR, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/developing-with-git.html], 
> contained in GH PR, (/)
>  ## 
>  # adjust scm references in pom.xml (/)
>  ## primary source should be Gitbox URL (not Github), contained in GH PR



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (OAK-9440) Migrate Oak from SVN to Git

2021-06-24 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17368799#comment-17368799
 ] 

Angela Schreiber edited comment on OAK-9440 at 6/24/21, 1:01 PM:
-

hi [~kwin], after you posted that issues with writing to github had been fixed, 
i gave it a try and it worked. today, i wanted to push again (both a new branch 
and to trunk for testing purpose) and it no longer worked for me any idea 
if there were some additional changes by infra? i am using the same https-clone 
that i used yesterday.

btw: https://gitbox.apache.org seems to works (did a test commit).


was (Author: anchela):
hi [~kwin], after you posted that issues with writing to github had been fixed, 
i gave it a try and it worked. today, i wanted to push again (both a new branch 
and to trunk for testing purpose) and it no longer worked for me any idea 
if there were some additional changes by infra?

> Migrate Oak from SVN to Git
> ---
>
> Key: OAK-9440
> URL: https://issues.apache.org/jira/browse/OAK-9440
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>Reporter: Konrad Windszus
>Assignee: Konrad Windszus
>Priority: Major
> Attachments: jackrabbit-check-release-for-gitv1.patch, 
> jackrabbit-live-site-migrate-to-gitv1.patch, 
> jackrabbit-site-release-for-gitv1.patch
>
>
> # migrate the SVN repository at 
> [https://svn.apache.org/repos/asf/jackrabbit/oak/] to a Git repository named 
> "jackrabbit-oak" - tracked in INFRA-22016 (/)
>  # migrate GitHub SVN mirror at [https://github.com/apache/jackrabbit-oak] to 
> mirror the new native Git repo (at Gitbox) - tracked in INFRA-22016 (/)
>  # -change the main branch name from "trunk" to "main"-
>  # make the SVN repository read only - tracked in INFRA-22016 (/)
>  # adjust Jenkins jobs
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-matrix/] 
> (/)
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk/] 
> (/)
>  # adjust release check scripts, fixed in r48468 (/)
>  ## [https://dist.apache.org/repos/dist/dev/jackrabbit/check-release.sh] 
> attached to [^jackrabbit-check-release-for-gitv1.patch] 
>  # adjust documentation, this includes 
>  ## [http://jackrabbit.apache.org/jcr/creating-releases.html] attached to 
> [^jackrabbit-site-release-for-gitv1.patch], applied in r1890993 (/)
>  ## [https://jackrabbit.apache.org/oak/] (only manually maintained in 
> [https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/)|https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/]
>  proposed to remove and redirect to /oak/docs instead in 
> [^jackrabbit-live-site-migrate-to-gitv1.patch], done in r1890995, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/dev_getting_started.html], 
> contained in GH PR, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/developing-with-git.html], 
> contained in GH PR, (/)
>  ## 
>  # adjust scm references in pom.xml (/)
>  ## primary source should be Gitbox URL (not Github), contained in GH PR



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9440) Migrate Oak from SVN to Git

2021-06-24 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17368859#comment-17368859
 ] 

Angela Schreiber commented on OAK-9440:
---

[~kwin], but why did it work yesterday and doesn't work today with the exact 
same clone? i don't have time to fiddle around and fix infra issues. i am 
expecting it to work as it did yesterday

> Migrate Oak from SVN to Git
> ---
>
> Key: OAK-9440
> URL: https://issues.apache.org/jira/browse/OAK-9440
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>Reporter: Konrad Windszus
>Assignee: Konrad Windszus
>Priority: Major
> Attachments: jackrabbit-check-release-for-gitv1.patch, 
> jackrabbit-live-site-migrate-to-gitv1.patch, 
> jackrabbit-site-release-for-gitv1.patch
>
>
> # migrate the SVN repository at 
> [https://svn.apache.org/repos/asf/jackrabbit/oak/] to a Git repository named 
> "jackrabbit-oak" - tracked in INFRA-22016 (/)
>  # migrate GitHub SVN mirror at [https://github.com/apache/jackrabbit-oak] to 
> mirror the new native Git repo (at Gitbox) - tracked in INFRA-22016 (/)
>  # -change the main branch name from "trunk" to "main"-
>  # make the SVN repository read only - tracked in INFRA-22016 (/)
>  # adjust Jenkins jobs
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-matrix/] 
> (/)
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk/] 
> (/)
>  # adjust release check scripts, fixed in r48468 (/)
>  ## [https://dist.apache.org/repos/dist/dev/jackrabbit/check-release.sh] 
> attached to [^jackrabbit-check-release-for-gitv1.patch] 
>  # adjust documentation, this includes 
>  ## [http://jackrabbit.apache.org/jcr/creating-releases.html] attached to 
> [^jackrabbit-site-release-for-gitv1.patch], applied in r1890993 (/)
>  ## [https://jackrabbit.apache.org/oak/] (only manually maintained in 
> [https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/)|https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/]
>  proposed to remove and redirect to /oak/docs instead in 
> [^jackrabbit-live-site-migrate-to-gitv1.patch], done in r1890995, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/dev_getting_started.html], 
> contained in GH PR, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/developing-with-git.html], 
> contained in GH PR, (/)
>  ## 
>  # adjust scm references in pom.xml (/)
>  ## primary source should be Gitbox URL (not Github), contained in GH PR



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9440) Migrate Oak from SVN to Git

2021-06-24 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17368899#comment-17368899
 ] 

Angela Schreiber commented on OAK-9440:
---

[~kwin], the error i get is:
{code}
fatal: Authentication failed for 'https://github.com/apache/jackrabbit-oak.git/'
{code}
After it prompted me to provider uid/pw. However, yesterday I was able to push 
changes without being prompted.

regarding
{quote}
Also please remember: I am not working for Adobe and doing this in my free 
time. So at least a thanks from any committer regarding this undertaking would 
have been nice, but all I hear is complaints...
{quote}
you volunteered for this undertaking and I didn't ask for it :-)

> Migrate Oak from SVN to Git
> ---
>
> Key: OAK-9440
> URL: https://issues.apache.org/jira/browse/OAK-9440
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>Reporter: Konrad Windszus
>Assignee: Konrad Windszus
>Priority: Major
> Attachments: jackrabbit-check-release-for-gitv1.patch, 
> jackrabbit-live-site-migrate-to-gitv1.patch, 
> jackrabbit-site-release-for-gitv1.patch
>
>
> # migrate the SVN repository at 
> [https://svn.apache.org/repos/asf/jackrabbit/oak/] to a Git repository named 
> "jackrabbit-oak" - tracked in INFRA-22016 (/)
>  # migrate GitHub SVN mirror at [https://github.com/apache/jackrabbit-oak] to 
> mirror the new native Git repo (at Gitbox) - tracked in INFRA-22016 (/)
>  # -change the main branch name from "trunk" to "main"-
>  # make the SVN repository read only - tracked in INFRA-22016 (/)
>  # adjust Jenkins jobs
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-matrix/] 
> (/)
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk/] 
> (/)
>  # adjust release check scripts, fixed in r48468 (/)
>  ## [https://dist.apache.org/repos/dist/dev/jackrabbit/check-release.sh] 
> attached to [^jackrabbit-check-release-for-gitv1.patch] 
>  # adjust documentation, this includes 
>  ## [http://jackrabbit.apache.org/jcr/creating-releases.html] attached to 
> [^jackrabbit-site-release-for-gitv1.patch], applied in r1890993 (/)
>  ## [https://jackrabbit.apache.org/oak/] (only manually maintained in 
> [https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/)|https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/]
>  proposed to remove and redirect to /oak/docs instead in 
> [^jackrabbit-live-site-migrate-to-gitv1.patch], done in r1890995, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/dev_getting_started.html], 
> contained in GH PR, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/developing-with-git.html], 
> contained in GH PR, (/)
>  ## 
>  # adjust scm references in pom.xml (/)
>  ## primary source should be Gitbox URL (not Github), contained in GH PR



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (OAK-9440) Migrate Oak from SVN to Git

2021-06-24 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17368918#comment-17368918
 ] 

Angela Schreiber edited comment on OAK-9440 at 6/24/21, 3:14 PM:
-

[~kwin], thanks for the additional info... since you mention Apache Sling; i 
never had issues when committing there in the past (as it worked yesterday for 
the new jackrabbit-oak repo). that's what made me wonder if something is off 
with the oak repo.

also: i am (and was) not opposed i don't have a preference. but i equally 
don't want to fight with any kind issues for things like that.


was (Author: anchela):
[~kwin], thanks for the additional info... since you mention Apache Sling; i 
never had issues when committing there in the past (as it worked yesterday for 
the new jackrabbit-oak repo). that's what made me wonder if something is off 
with the oak repo.

also: i am (and was) not opposed i don't have a preference. but i equally 
don't want to fight with any kind issues for thinks like that.

> Migrate Oak from SVN to Git
> ---
>
> Key: OAK-9440
> URL: https://issues.apache.org/jira/browse/OAK-9440
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>Reporter: Konrad Windszus
>Assignee: Konrad Windszus
>Priority: Major
> Attachments: jackrabbit-check-release-for-gitv1.patch, 
> jackrabbit-live-site-migrate-to-gitv1.patch, 
> jackrabbit-site-release-for-gitv1.patch
>
>
> # migrate the SVN repository at 
> [https://svn.apache.org/repos/asf/jackrabbit/oak/] to a Git repository named 
> "jackrabbit-oak" - tracked in INFRA-22016 (/)
>  # migrate GitHub SVN mirror at [https://github.com/apache/jackrabbit-oak] to 
> mirror the new native Git repo (at Gitbox) - tracked in INFRA-22016 (/)
>  # -change the main branch name from "trunk" to "main"-
>  # make the SVN repository read only - tracked in INFRA-22016 (/)
>  # adjust Jenkins jobs
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-matrix/] 
> (/)
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk/] 
> (/)
>  # adjust release check scripts, fixed in r48468 (/)
>  ## [https://dist.apache.org/repos/dist/dev/jackrabbit/check-release.sh] 
> attached to [^jackrabbit-check-release-for-gitv1.patch] 
>  # adjust documentation, this includes 
>  ## [http://jackrabbit.apache.org/jcr/creating-releases.html] attached to 
> [^jackrabbit-site-release-for-gitv1.patch], applied in r1890993 (/)
>  ## [https://jackrabbit.apache.org/oak/] (only manually maintained in 
> [https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/)|https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/]
>  proposed to remove and redirect to /oak/docs instead in 
> [^jackrabbit-live-site-migrate-to-gitv1.patch], done in r1890995, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/dev_getting_started.html], 
> contained in GH PR, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/developing-with-git.html], 
> contained in GH PR, (/)
>  ## 
>  # adjust scm references in pom.xml (/)
>  ## primary source should be Gitbox URL (not Github), contained in GH PR



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9440) Migrate Oak from SVN to Git

2021-06-24 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17368918#comment-17368918
 ] 

Angela Schreiber commented on OAK-9440:
---

[~kwin], thanks for the additional info... since you mention Apache Sling; i 
never had issues when committing there in the past (as it worked yesterday for 
the new jackrabbit-oak repo). that's what made me wonder if something is off 
with the oak repo.

also: i am (and was) not opposed i don't have a preference. but i equally 
don't want to fight with any kind issues for thinks like that.

> Migrate Oak from SVN to Git
> ---
>
> Key: OAK-9440
> URL: https://issues.apache.org/jira/browse/OAK-9440
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>Reporter: Konrad Windszus
>Assignee: Konrad Windszus
>Priority: Major
> Attachments: jackrabbit-check-release-for-gitv1.patch, 
> jackrabbit-live-site-migrate-to-gitv1.patch, 
> jackrabbit-site-release-for-gitv1.patch
>
>
> # migrate the SVN repository at 
> [https://svn.apache.org/repos/asf/jackrabbit/oak/] to a Git repository named 
> "jackrabbit-oak" - tracked in INFRA-22016 (/)
>  # migrate GitHub SVN mirror at [https://github.com/apache/jackrabbit-oak] to 
> mirror the new native Git repo (at Gitbox) - tracked in INFRA-22016 (/)
>  # -change the main branch name from "trunk" to "main"-
>  # make the SVN repository read only - tracked in INFRA-22016 (/)
>  # adjust Jenkins jobs
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-matrix/] 
> (/)
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk/] 
> (/)
>  # adjust release check scripts, fixed in r48468 (/)
>  ## [https://dist.apache.org/repos/dist/dev/jackrabbit/check-release.sh] 
> attached to [^jackrabbit-check-release-for-gitv1.patch] 
>  # adjust documentation, this includes 
>  ## [http://jackrabbit.apache.org/jcr/creating-releases.html] attached to 
> [^jackrabbit-site-release-for-gitv1.patch], applied in r1890993 (/)
>  ## [https://jackrabbit.apache.org/oak/] (only manually maintained in 
> [https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/)|https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/]
>  proposed to remove and redirect to /oak/docs instead in 
> [^jackrabbit-live-site-migrate-to-gitv1.patch], done in r1890995, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/dev_getting_started.html], 
> contained in GH PR, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/developing-with-git.html], 
> contained in GH PR, (/)
>  ## 
>  # adjust scm references in pom.xml (/)
>  ## primary source should be Gitbox URL (not Github), contained in GH PR



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9474) User Filter for SyncConfigTracker to limit respected references

2021-06-24 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9474:
-

 Summary: User Filter for SyncConfigTracker to limit respected 
references 
 Key: OAK-9474
 URL: https://issues.apache.org/jira/browse/OAK-9474
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: auth-external
Reporter: Angela Schreiber
Assignee: Angela Schreiber


while reviewing the proposed changes for OAK-9462 [~kpauls] noticed that 
{{SyncConfigTracker#hasDynamicMembership}} could be simplified by introducing a 
filter to the service tracking. consequently only synchandler-references that 
have dynamic-membership enabled would be tracked.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9440) Migrate Oak from SVN to Git

2021-06-24 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17368972#comment-17368972
 ] 

Angela Schreiber commented on OAK-9440:
---

[~kwin], regarding
{quote}
You have to use the personal access token
{quote}
i checked in the settings and it seems that my access token got invalidated 
between yesterday and today. recreating it fixed the issue.

> Migrate Oak from SVN to Git
> ---
>
> Key: OAK-9440
> URL: https://issues.apache.org/jira/browse/OAK-9440
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>Reporter: Konrad Windszus
>Assignee: Konrad Windszus
>Priority: Major
> Attachments: jackrabbit-check-release-for-gitv1.patch, 
> jackrabbit-live-site-migrate-to-gitv1.patch, 
> jackrabbit-site-release-for-gitv1.patch
>
>
> # migrate the SVN repository at 
> [https://svn.apache.org/repos/asf/jackrabbit/oak/] to a Git repository named 
> "jackrabbit-oak" - tracked in INFRA-22016 (/)
>  # migrate GitHub SVN mirror at [https://github.com/apache/jackrabbit-oak] to 
> mirror the new native Git repo (at Gitbox) - tracked in INFRA-22016 (/)
>  # -change the main branch name from "trunk" to "main"-
>  # make the SVN repository read only - tracked in INFRA-22016 (/)
>  # adjust Jenkins jobs
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-matrix/] 
> (/)
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk/] 
> (/)
>  # adjust release check scripts, fixed in r48468 (/)
>  ## [https://dist.apache.org/repos/dist/dev/jackrabbit/check-release.sh] 
> attached to [^jackrabbit-check-release-for-gitv1.patch] 
>  # adjust documentation, this includes 
>  ## [http://jackrabbit.apache.org/jcr/creating-releases.html] attached to 
> [^jackrabbit-site-release-for-gitv1.patch], applied in r1890993 (/)
>  ## [https://jackrabbit.apache.org/oak/] (only manually maintained in 
> [https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/)|https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/]
>  proposed to remove and redirect to /oak/docs instead in 
> [^jackrabbit-live-site-migrate-to-gitv1.patch], done in r1890995, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/dev_getting_started.html], 
> contained in GH PR, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/developing-with-git.html], 
> contained in GH PR, (/)
>  ## 
>  # adjust scm references in pom.xml (/)
>  ## primary source should be Gitbox URL (not Github), contained in GH PR



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9462) Extensible DynamicMembershipProvider

2021-06-24 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9462:
--
Fix Version/s: 1.42.0

> Extensible DynamicMembershipProvider
> 
>
> Key: OAK-9462
> URL: https://issues.apache.org/jira/browse/OAK-9462
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: auth-external, core, security-spi
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>
> Today the only built-in dynamic 
> {{org.apache.jackrabbit.api.security.user.Group}} is the one associated with 
> the everyone principal that automatically has every other group and user as 
> member.
> In order to allow for additional flexibility we should consider introducing a 
> {{DynamicMembershipProvider}} interface. while by default a single 
> implementation for the everyone group would be present as today, it would 
> allow to provide additional implementations. e.g. for those groups configured 
> with the _automembership_ option defined with {{DefaultSyncConfig}}, when 
> additionally _dynamicmembership_ is enabled.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9475) Document DynamicMembershipProvider

2021-06-24 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9475:
-

 Summary: Document DynamicMembershipProvider 
 Key: OAK-9475
 URL: https://issues.apache.org/jira/browse/OAK-9475
 Project: Jackrabbit Oak
  Issue Type: Technical task
  Components: doc
Reporter: Angela Schreiber
Assignee: Angela Schreiber
 Fix For: 1.42.0






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9475) Document DynamicMembershipProvider

2021-06-24 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9475.
---
Resolution: Fixed

> Document DynamicMembershipProvider 
> ---
>
> Key: OAK-9475
> URL: https://issues.apache.org/jira/browse/OAK-9475
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: doc
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Reopened] (OAK-9440) Migrate Oak from SVN to Git

2021-06-24 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber reopened OAK-9440:
---

[~kwin], the last oak build failed due to unapproved license:

https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk/264/org.apache.jackrabbit$jackrabbit-oak/

{quote}
[INFO] --- apache-rat-plugin:0.13:check (default) @ jackrabbit-oak ---
[INFO] Enabled default license matchers.
[INFO] Will parse SCM ignores for exclusions...
[INFO] Parsing exclusions from 
/home/jenkins/workspace/Jackrabbit/jackrabbit-oak-trunk/.gitignore
[INFO] Finished adding exclusions from SCM ignore files.
[INFO] 112 implicit excludes (use -debug for more details).
[INFO] 10 explicit excludes (use -debug for more details).
[INFO] 202 resources included (use -debug for more details)
[INFO] Rat check: Summary over all files. Unapproved: 1, unknown: 1, generated: 
0, approved: 158 licenses.
[INFO] Enabled default license matchers.
[INFO] Will parse SCM ignores for exclusions...
[INFO] Parsing exclusions from 
/home/jenkins/workspace/Jackrabbit/jackrabbit-oak-trunk/.gitignore
[INFO] Finished adding exclusions from SCM ignore files.
[INFO] 112 implicit excludes (use -debug for more details).
[INFO] 10 explicit excludes (use -debug for more details).
[INFO] 202 resources included (use -debug for more details)
[WARNING] Files with unapproved licenses:
  .asf.yaml
{quote}

the file .asf.yaml was introduced by a commit with this msg:
{quote}
OAK-9440 update pom.xml for migrated SCM repositories to GitBox/GitHub (#296)  
update documentation add .asf.yaml to adjust Github metadata
{quote}

> Migrate Oak from SVN to Git
> ---
>
> Key: OAK-9440
> URL: https://issues.apache.org/jira/browse/OAK-9440
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>Reporter: Konrad Windszus
>Assignee: Konrad Windszus
>Priority: Major
> Attachments: jackrabbit-check-release-for-gitv1.patch, 
> jackrabbit-live-site-migrate-to-gitv1.patch, 
> jackrabbit-site-release-for-gitv1.patch
>
>
> # migrate the SVN repository at 
> [https://svn.apache.org/repos/asf/jackrabbit/oak/] to a Git repository named 
> "jackrabbit-oak" - tracked in INFRA-22016 (/)
>  # migrate GitHub SVN mirror at [https://github.com/apache/jackrabbit-oak] to 
> mirror the new native Git repo (at Gitbox) - tracked in INFRA-22016 (/)
>  # -change the main branch name from "trunk" to "main"-
>  # make the SVN repository read only - tracked in INFRA-22016 (/)
>  # adjust Jenkins jobs
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-matrix/] 
> (/)
>  ## [https://ci-builds.apache.org/job/Jackrabbit/job/jackrabbit-oak-trunk/] 
> (/)
>  # adjust release check scripts, fixed in r48468 (/)
>  ## [https://dist.apache.org/repos/dist/dev/jackrabbit/check-release.sh] 
> attached to [^jackrabbit-check-release-for-gitv1.patch] 
>  # adjust documentation, this includes 
>  ## [http://jackrabbit.apache.org/jcr/creating-releases.html] attached to 
> [^jackrabbit-site-release-for-gitv1.patch], applied in r1890993 (/)
>  ## [https://jackrabbit.apache.org/oak/] (only manually maintained in 
> [https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/)|https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/]
>  proposed to remove and redirect to /oak/docs instead in 
> [^jackrabbit-live-site-migrate-to-gitv1.patch], done in r1890995, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/dev_getting_started.html], 
> contained in GH PR, (/)
>  ## [https://jackrabbit.apache.org/oak/docs/developing-with-git.html], 
> contained in GH PR, (/)
>  ## 
>  # adjust scm references in pom.xml (/)
>  ## primary source should be Gitbox URL (not Github), contained in GH PR



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9462) Extensible DynamicMembershipProvider

2021-06-24 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9462.
---
Resolution: Fixed

> Extensible DynamicMembershipProvider
> 
>
> Key: OAK-9462
> URL: https://issues.apache.org/jira/browse/OAK-9462
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: auth-external, core, security-spi
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>
> Today the only built-in dynamic 
> {{org.apache.jackrabbit.api.security.user.Group}} is the one associated with 
> the everyone principal that automatically has every other group and user as 
> member.
> In order to allow for additional flexibility we should consider introducing a 
> {{DynamicMembershipProvider}} interface. while by default a single 
> implementation for the everyone group would be present as today, it would 
> allow to provide additional implementations. e.g. for those groups configured 
> with the _automembership_ option defined with {{DefaultSyncConfig}}, when 
> additionally _dynamicmembership_ is enabled.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9492) UserInitializer: info property of 'principalName' index not accurate

2021-07-14 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9492:
-

 Summary: UserInitializer: info property of 'principalName' index 
not accurate
 Key: OAK-9492
 URL: https://issues.apache.org/jira/browse/OAK-9492
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: core
Reporter: Angela Schreiber






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9492) UserInitializer: info property of 'principalName' index not accurate

2021-07-14 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9492:
--
Description: 
the description of the 'principalName' index definition stored in the 'info' 
property is IMHO misleading. 
[~thomasm], do you recall what your intention was when stating _if it was 
constructed manually_? that sounds a bit odd as the rep:principalName property 
is always defined when a new user/group is created through the API. on JCR 
level users/groups cannot be created manually using regular write operations 
due to the protected nature some properties.

> UserInitializer: info property of 'principalName' index not accurate
> 
>
> Key: OAK-9492
> URL: https://issues.apache.org/jira/browse/OAK-9492
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Angela Schreiber
>Priority: Trivial
>
> the description of the 'principalName' index definition stored in the 'info' 
> property is IMHO misleading. 
> [~thomasm], do you recall what your intention was when stating _if it was 
> constructed manually_? that sounds a bit odd as the rep:principalName 
> property is always defined when a new user/group is created through the API. 
> on JCR level users/groups cannot be created manually using regular write 
> operations due to the protected nature some properties.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (OAK-9492) UserInitializer: info property of 'principalName' index not accurate

2021-07-14 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber reassigned OAK-9492:
-

Assignee: Angela Schreiber

> UserInitializer: info property of 'principalName' index not accurate
> 
>
> Key: OAK-9492
> URL: https://issues.apache.org/jira/browse/OAK-9492
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Trivial
>
> the description of the 'principalName' index definition stored in the 'info' 
> property is IMHO misleading. 
> [~thomasm], do you recall what your intention was when stating _if it was 
> constructed manually_? that sounds a bit odd as the rep:principalName 
> property is always defined when a new user/group is created through the API. 
> on JCR level users/groups cannot be created manually using regular write 
> operations due to the protected nature some properties.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9493) Use index option to for security relevant queries

2021-07-15 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9493:
-

 Summary: Use index option to for security relevant queries
 Key: OAK-9493
 URL: https://issues.apache.org/jira/browse/OAK-9493
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: core, security
Reporter: Angela Schreiber
Assignee: Angela Schreiber


while investigating a potential issue with principal-lookup [~thomasm] made me 
aware of the index-option (see 
https://jackrabbit.apache.org/oak/docs/query/query-engine.html#Query_Option_Index_Tag)
 that allows to enforce the usage of a dedicated index when executing a query.

i would like to review all security relevant queries and add the index option 
for those that are known to be relevant for consistency and/or security.

cc: [~kpauls], fyi as this relates to the recent discussion regarding 
system-user-validation upon service-user-mapping in Sling.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9492) UserInitializer: info property of 'principalName' index not accurate

2021-07-15 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9492:
--
Fix Version/s: 1.42.0

> UserInitializer: info property of 'principalName' index not accurate
> 
>
> Key: OAK-9492
> URL: https://issues.apache.org/jira/browse/OAK-9492
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Trivial
> Fix For: 1.42.0
>
>
> the description of the 'principalName' index definition stored in the 'info' 
> property is IMHO misleading. 
> [~thomasm], do you recall what your intention was when stating _if it was 
> constructed manually_? that sounds a bit odd as the rep:principalName 
> property is always defined when a new user/group is created through the API. 
> on JCR level users/groups cannot be created manually using regular write 
> operations due to the protected nature some properties.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9492) UserInitializer: info property of 'principalName' index not accurate

2021-07-15 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9492.
---
Resolution: Fixed

rev c2e53253bf..f2ec93eac8


> UserInitializer: info property of 'principalName' index not accurate
> 
>
> Key: OAK-9492
> URL: https://issues.apache.org/jira/browse/OAK-9492
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Trivial
>
> the description of the 'principalName' index definition stored in the 'info' 
> property is IMHO misleading. 
> [~thomasm], do you recall what your intention was when stating _if it was 
> constructed manually_? that sounds a bit odd as the rep:principalName 
> property is always defined when a new user/group is created through the API. 
> on JCR level users/groups cannot be created manually using regular write 
> operations due to the protected nature some properties.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9494) Check if a privilege is applicable to a node

2021-07-15 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9494:
--
Component/s: api

> Check if a privilege is applicable to a node
> 
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: api, commons
>Reporter: Joerg Hoh
>Priority: Major
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9494) Check if a privilege is applicable to a node

2021-07-15 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17381281#comment-17381281
 ] 

Angela Schreiber commented on OAK-9494:
---

[~joerghoh], thanks for reporting i agree that the fully qualified name 
constants are making it super-hard to compare sets of jcr names (like privilege 
names in this case). what should work though is comparing privileges 
themselves i.e. not looking at the names.

e.g. something like:
{code}
// TODO: if all aggregated privileges are required -> extract using 
Privilege.isAggregate() and  Privilege.getAggregatedPrivileges()
Set privileges = 
ImmutableSet.copyOf(accessControlManger.getPrivileges(absPath));
PrivilegeManager privilegeManager = ((JackrabbitWorkspace) 
session.getWorkspace()).getPrivilegeManager();
boolean canRead = 
privileges.contains(privilegeManager.getPrivilege(Privilege.JCR_READ));
{code}

let me know if that works until we have complete this improvement.

> Check if a privilege is applicable to a node
> 
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: commons
>Reporter: Joerg Hoh
>Priority: Major
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9494) Check if a privilege is granted at a node

2021-07-15 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9494:
--
Summary: Check if a privilege is granted at a node  (was: Check if a 
privilege is applicable to a node)

> Check if a privilege is granted at a node
> -
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: api, commons
>Reporter: Joerg Hoh
>Priority: Major
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (OAK-9494) Check if a privilege is granted at a node

2021-07-15 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17381281#comment-17381281
 ] 

Angela Schreiber edited comment on OAK-9494 at 7/15/21, 11:54 AM:
--

[~joerghoh], thanks for reporting i agree that the fully qualified name 
constants are making it super-hard to compare sets of jcr names (like privilege 
names in this case). what should work though is comparing privileges 
themselves i.e. not looking at the names.

e.g. something like:
{code}
// TODO: if all aggregated privileges are required -> extract using 
Privilege.isAggregate() and  Privilege.getAggregatedPrivileges()
Set privileges = 
ImmutableSet.copyOf(accessControlManger.getPrivileges(absPath));
Privilege readPrivilege = 
boolean canRead = privileges.contains(readPrivilege);
{code}

and privilege can be access using ac-mgr or privilege manager (thanks for 
reminding me of that!):
{code}
readPrivilege = acMgr.privilegeFromName(Privilege.JCR_READ)
or
PrivilegeManager privilegeManager = ((JackrabbitWorkspace) 
session.getWorkspace()).getPrivilegeManager();
readPrivilege = privilegeManager.getPrivilege(Privilege.JCR_READ)
{code}

let me know if that works until we have complete this improvement.

btw: i believe that you want to check if a given privilege is granted at a 
particular node and not check if you can apply it. applicable privileges 
for a given path are covered by a different API method: 
{{AccessControlManager.getSupportedPrivileges(String absPath)}} will return an 
array of privileges that can be used/applied at the given path 


was (Author: anchela):
[~joerghoh], thanks for reporting i agree that the fully qualified name 
constants are making it super-hard to compare sets of jcr names (like privilege 
names in this case). what should work though is comparing privileges 
themselves i.e. not looking at the names.

e.g. something like:
{code}
// TODO: if all aggregated privileges are required -> extract using 
Privilege.isAggregate() and  Privilege.getAggregatedPrivileges()
Set privileges = 
ImmutableSet.copyOf(accessControlManger.getPrivileges(absPath));
PrivilegeManager privilegeManager = ((JackrabbitWorkspace) 
session.getWorkspace()).getPrivilegeManager();
boolean canRead = 
privileges.contains(privilegeManager.getPrivilege(Privilege.JCR_READ));
{code}

let me know if that works until we have complete this improvement.

> Check if a privilege is granted at a node
> -
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: api, commons
>Reporter: Joerg Hoh
>Priority: Major
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-15 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9494:
--
Summary: Check if a privilege name is included in a set/array of Privileges 
obtained from AccessControlManager.getPrivileges  (was: Check if a privilege is 
granted at a node)

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: api, commons
>Reporter: Joerg Hoh
>Priority: Major
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-16 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17382043#comment-17382043
 ] 

Angela Schreiber commented on OAK-9494:
---

hi [~joerghoh], thanks for the additional information that's helpful. what 
i could envision is a new method like e.g. {{PrivilegeManager.includes(@NotNull 
Privilege[] privileges, @NotNull String... privilegeNames)}} with a default 
(for backwards compatibility) and a (hopefully) efficient implementation in Oak 
directly operation on {{PrivilegeBitsProvider}}. but IMHO it definitely makes 
sense to get some benchmark results before committing any changes to Jackrabbit 
API.

the benchmark could e.g. compare
- PrivilegeManager.includes
- manually resolving all aggregated names from the privilege-array and verify 
if it includes the selected names
- multiple calls to AccessControlManager.hasPrivileges for the selected names. 

wdyt?


> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: api, commons
>Reporter: Joerg Hoh
>Priority: Major
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-20 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber reassigned OAK-9494:
-

Assignee: Angela Schreiber

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: api, commons
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-20 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9494:
--
Component/s: (was: commons)
 (was: api)
 security
 jackrabbit-api

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-20 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17384382#comment-17384382
 ] 

Angela Schreiber commented on OAK-9494:
---

after a second thought, i believe adding additional methods to 
{{JackrabbitAccessControlManager}} would be better. e.g. something like 
{{JackrabbitAccessControlManager.getPrivilegeCollection(String absPath)}}, 
where {{PrivilegeCollection}} would essentially be a 'wrapper' around an array 
of privileges, without having to build the privilege objects unless explicitly 
requested. in addition that {PrivilegeCollection}} would allow to to evaluate 
if certain privileges are included by specifying names only. if needed the new 
interface could easily be extended later to also perform tasks like 
{{getPrivilegeNames}} or {{getAggregatedPrivilegeNames()}}.

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-21 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17384382#comment-17384382
 ] 

Angela Schreiber edited comment on OAK-9494 at 7/21/21, 7:15 AM:
-

after a second thought, i believe adding additional methods to 
{{JackrabbitAccessControlManager}} would be better. e.g. something like 
{{JackrabbitAccessControlManager.getPrivilegeCollection(String absPath)}}, 
where {{PrivilegeCollection}} would essentially be a 'wrapper' around an array 
of privileges, without having to build the privilege objects unless explicitly 
requested. in addition that {{PrivilegeCollection}} would allow to to evaluate 
if certain privileges are included by specifying names only. if needed the new 
interface could easily be extended later to also perform tasks like 
{{getPrivilegeNames}} or {{getAggregatedPrivilegeNames()}}.


was (Author: anchela):
after a second thought, i believe adding additional methods to 
{{JackrabbitAccessControlManager}} would be better. e.g. something like 
{{JackrabbitAccessControlManager.getPrivilegeCollection(String absPath)}}, 
where {{PrivilegeCollection}} would essentially be a 'wrapper' around an array 
of privileges, without having to build the privilege objects unless explicitly 
requested. in addition that {PrivilegeCollection}} would allow to to evaluate 
if certain privileges are included by specifying names only. if needed the new 
interface could easily be extended later to also perform tasks like 
{{getPrivilegeNames}} or {{getAggregatedPrivilegeNames()}}.

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-21 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17384719#comment-17384719
 ] 

Angela Schreiber commented on OAK-9494:
---

initial changes committed rv. 023f63235d..5f241a4426

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
> Attachments: 
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION_20210720_142800.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_HAS_PRIVILEGES_20210720_145010.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_JCR_PRIVILEGE_NAME_AGGREGATION_20210720_144405.csv
>
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-21 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9494:
--
Attachment: 
GetPrivilegeCollectionIncludeNamesTest_JCR_PRIVILEGE_NAME_AGGREGATION_20210720_144405.csv

GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_HAS_PRIVILEGES_20210720_145010.csv

GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION_20210720_142800.csv

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
> Attachments: 
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION_20210720_142800.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_HAS_PRIVILEGES_20210720_145010.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_JCR_PRIVILEGE_NAME_AGGREGATION_20210720_144405.csv
>
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-21 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17384719#comment-17384719
 ] 

Angela Schreiber edited comment on OAK-9494 at 7/21/21, 7:58 AM:
-

* initial changes committed rv. 023f63235d..5f241a4426
 * result of benchmarks attached:
 ** ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION : new method 
{{JackrabbitAccessControlManager.getPrivilegeCollection}} with repeated calls 
to 'includes' for the given randon priv-names
 ** JCR_PRIVILEGE_NAME_AGGREGATION : {{AccessControlManager.getPrivileges}} 
with manually extracting aggregated names and then repeated testing if the 
given random priv-names are included.
 ** ACCESSCONTORL_MANAGER_HAS_PRIVILEGES : repeated calls to 
{{AccessControlManager.hasPrivileges}} for the given randomly selected 
privileges


was (Author: anchela):
initial changes committed rv. 023f63235d..5f241a4426

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
> Attachments: 
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION_20210720_142800.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_HAS_PRIVILEGES_20210720_145010.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_JCR_PRIVILEGE_NAME_AGGREGATION_20210720_144405.csv
>
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-21 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17384719#comment-17384719
 ] 

Angela Schreiber edited comment on OAK-9494 at 7/21/21, 7:59 AM:
-

* initial changes committed rv. 023f63235d..5f241a4426
 * result of benchmarks attached:
 ** ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION : new method 
{{JackrabbitAccessControlManager.getPrivilegeCollection}} with repeated calls 
to 'includes' for the given randon priv-names
 ** JCR_PRIVILEGE_NAME_AGGREGATION : {{AccessControlManager.getPrivileges}} 
with manually extracting aggregated names and then repeated testing if the 
given random priv-names are included.
 ** ACCESSCONTORL_MANAGER_HAS_PRIVILEGES : repeated calls to 
{{AccessControlManager.hasPrivileges}} for the given randomly selected 
privileges
* update oak-docu : {color:#00875A}TODO{color}


was (Author: anchela):
* initial changes committed rv. 023f63235d..5f241a4426
 * result of benchmarks attached:
 ** ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION : new method 
{{JackrabbitAccessControlManager.getPrivilegeCollection}} with repeated calls 
to 'includes' for the given randon priv-names
 ** JCR_PRIVILEGE_NAME_AGGREGATION : {{AccessControlManager.getPrivileges}} 
with manually extracting aggregated names and then repeated testing if the 
given random priv-names are included.
* update oak-docu : {color:#00875A}TODO{color}
 ** ACCESSCONTORL_MANAGER_HAS_PRIVILEGES : repeated calls to 
{{AccessControlManager.hasPrivileges}} for the given randomly selected 
privileges

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
> Attachments: 
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION_20210720_142800.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_HAS_PRIVILEGES_20210720_145010.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_JCR_PRIVILEGE_NAME_AGGREGATION_20210720_144405.csv
>
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-21 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17384719#comment-17384719
 ] 

Angela Schreiber edited comment on OAK-9494 at 7/21/21, 7:59 AM:
-

* initial changes committed rv. 023f63235d..5f241a4426
 * result of benchmarks attached:
 ** ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION : new method 
{{JackrabbitAccessControlManager.getPrivilegeCollection}} with repeated calls 
to 'includes' for the given randon priv-names
 ** JCR_PRIVILEGE_NAME_AGGREGATION : {{AccessControlManager.getPrivileges}} 
with manually extracting aggregated names and then repeated testing if the 
given random priv-names are included.
* update oak-docu : {color:#00875A}TODO{color}
 ** ACCESSCONTORL_MANAGER_HAS_PRIVILEGES : repeated calls to 
{{AccessControlManager.hasPrivileges}} for the given randomly selected 
privileges


was (Author: anchela):
* initial changes committed rv. 023f63235d..5f241a4426
 * result of benchmarks attached:
 ** ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION : new method 
{{JackrabbitAccessControlManager.getPrivilegeCollection}} with repeated calls 
to 'includes' for the given randon priv-names
 ** JCR_PRIVILEGE_NAME_AGGREGATION : {{AccessControlManager.getPrivileges}} 
with manually extracting aggregated names and then repeated testing if the 
given random priv-names are included.
 ** ACCESSCONTORL_MANAGER_HAS_PRIVILEGES : repeated calls to 
{{AccessControlManager.hasPrivileges}} for the given randomly selected 
privileges

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
> Attachments: 
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION_20210720_142800.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_HAS_PRIVILEGES_20210720_145010.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_JCR_PRIVILEGE_NAME_AGGREGATION_20210720_144405.csv
>
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9505) README of oak-doc refers to svn

2021-07-21 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9505:
-

 Summary: README of oak-doc refers to svn 
 Key: OAK-9505
 URL: https://issues.apache.org/jira/browse/OAK-9505
 Project: Jackrabbit Oak
  Issue Type: Documentation
  Components: doc
Reporter: Angela Schreiber


[~mreutegg], following the move to git, the README.md of _oak-doc_ also needs a 
bit of attention. it still refers to svn checkout/commit.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9505) README and general information in oak-doc refers to svn

2021-07-21 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9505?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9505:
--
Summary: README and general information in oak-doc refers to svn   (was: 
README of oak-doc refers to svn )

> README and general information in oak-doc refers to svn 
> 
>
> Key: OAK-9505
> URL: https://issues.apache.org/jira/browse/OAK-9505
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: doc
>Reporter: Angela Schreiber
>Priority: Minor
>
> [~mreutegg], following the move to git, the README.md of _oak-doc_ also needs 
> a bit of attention. it still refers to svn checkout/commit.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9505) README and general information in oak-doc refers to svn

2021-07-21 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9505?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9505:
--
Priority: Major  (was: Minor)

> README and general information in oak-doc refers to svn 
> 
>
> Key: OAK-9505
> URL: https://issues.apache.org/jira/browse/OAK-9505
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: doc
>Reporter: Angela Schreiber
>Priority: Major
>
> [~mreutegg], following the move to git, the README.md of _oak-doc_ also needs 
> a bit of attention. it still refers to svn checkout/commit.
> while searching for outdated security related links, additionally spotted:
> - participating.md : {{The latest Oak sources are available for checkout from 
> [svn][1]}}
> - roadmap.md : {{releases directly from 
> [trunk](https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/):}}
> - branching.md : 
> {{-DbranchBase=https://svn.apache.org/repos/asf/jackrabbit/oak/branches \}}
> - pom.xml : 
> {{scm:svn:https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/docs}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9505) README and general information in oak-doc refers to svn

2021-07-21 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9505?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9505:
--
Description: 
[~mreutegg], following the move to git, the README.md of _oak-doc_ also needs a 
bit of attention. it still refers to svn checkout/commit.

while searching for outdated security related links, additionally spotted:
- participating.md : {{The latest Oak sources are available for checkout from 
[svn][1]}}
- roadmap.md : {{releases directly from 
[trunk](https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/):}}
- branching.md : 
{{-DbranchBase=https://svn.apache.org/repos/asf/jackrabbit/oak/branches \}}
- pom.xml : 
{{scm:svn:https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/docs}}

  was:[~mreutegg], following the move to git, the README.md of _oak-doc_ also 
needs a bit of attention. it still refers to svn checkout/commit.


> README and general information in oak-doc refers to svn 
> 
>
> Key: OAK-9505
> URL: https://issues.apache.org/jira/browse/OAK-9505
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: doc
>Reporter: Angela Schreiber
>Priority: Minor
>
> [~mreutegg], following the move to git, the README.md of _oak-doc_ also needs 
> a bit of attention. it still refers to svn checkout/commit.
> while searching for outdated security related links, additionally spotted:
> - participating.md : {{The latest Oak sources are available for checkout from 
> [svn][1]}}
> - roadmap.md : {{releases directly from 
> [trunk](https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/):}}
> - branching.md : 
> {{-DbranchBase=https://svn.apache.org/repos/asf/jackrabbit/oak/branches \}}
> - pom.xml : 
> {{scm:svn:https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/docs}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9506) Oak Security Documentation : links to Jackrabbit-API point to svn

2021-07-21 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9506:
-

 Summary: Oak Security Documentation : links to Jackrabbit-API 
point to svn
 Key: OAK-9506
 URL: https://issues.apache.org/jira/browse/OAK-9506
 Project: Jackrabbit Oak
  Issue Type: Documentation
  Components: doc, security
Reporter: Angela Schreiber
Assignee: Angela Schreiber


with OAK-8339 the Jackrabbit API has been moved to the Oak source but the links 
to security related interfaces still point to svn.apache.org. instead they are 
now generated with the oak javadoc and links should be adjusted such that they 
capture the latest state of the API.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (OAK-9507) link to PrincipalProvider points to wrong resource

2021-07-21 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber reassigned OAK-9507:
-

Assignee: Angela Schreiber

> link to PrincipalProvider points to wrong resource
> --
>
> Key: OAK-9507
> URL: https://issues.apache.org/jira/browse/OAK-9507
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: doc
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
>
> on https://jackrabbit.apache.org/oak/docs/security/principal/differences.html 
> the link to the {{PrincipalProvider}} points to the {{PrincipalManager}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9507) link to PrincipalProvider points to wrong resource

2021-07-21 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9507:
-

 Summary: link to PrincipalProvider points to wrong resource
 Key: OAK-9507
 URL: https://issues.apache.org/jira/browse/OAK-9507
 Project: Jackrabbit Oak
  Issue Type: Documentation
  Components: doc
Reporter: Angela Schreiber


on https://jackrabbit.apache.org/oak/docs/security/principal/differences.html 
the link to the {{PrincipalProvider}} points to the {{PrincipalManager}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9507) link to PrincipalProvider points to wrong resource

2021-07-21 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9507.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

5f241a4426..111c0af140

> link to PrincipalProvider points to wrong resource
> --
>
> Key: OAK-9507
> URL: https://issues.apache.org/jira/browse/OAK-9507
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: doc
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>
> on https://jackrabbit.apache.org/oak/docs/security/principal/differences.html 
> the link to the {{PrincipalProvider}} points to the {{PrincipalManager}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-21 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17384719#comment-17384719
 ] 

Angela Schreiber edited comment on OAK-9494 at 7/21/21, 9:40 AM:
-

* initial changes committed rv. 023f63235d..5f241a4426
 * result of benchmarks attached:
 ** ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION : new method 
{{JackrabbitAccessControlManager.getPrivilegeCollection}} with repeated calls 
to 'includes' for the given randon priv-names
 ** JCR_PRIVILEGE_NAME_AGGREGATION : {{AccessControlManager.getPrivileges}} 
with manually extracting aggregated names and then repeated testing if the 
given random priv-names are included.
 ** ACCESSCONTORL_MANAGER_HAS_PRIVILEGES : repeated calls to 
{{AccessControlManager.hasPrivileges}} for the given randomly selected 
privileges
* update oak-docu : rev. 5f241a4426..111c0af140


was (Author: anchela):
* initial changes committed rv. 023f63235d..5f241a4426
 * result of benchmarks attached:
 ** ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION : new method 
{{JackrabbitAccessControlManager.getPrivilegeCollection}} with repeated calls 
to 'includes' for the given randon priv-names
 ** JCR_PRIVILEGE_NAME_AGGREGATION : {{AccessControlManager.getPrivileges}} 
with manually extracting aggregated names and then repeated testing if the 
given random priv-names are included.
 ** ACCESSCONTORL_MANAGER_HAS_PRIVILEGES : repeated calls to 
{{AccessControlManager.hasPrivileges}} for the given randomly selected 
privileges
* update oak-docu : {color:#00875A}TODO{color}

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
> Attachments: 
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION_20210720_142800.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_HAS_PRIVILEGES_20210720_145010.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_JCR_PRIVILEGE_NAME_AGGREGATION_20210720_144405.csv
>
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9506) Oak Security Documentation : links to Jackrabbit-API point to svn

2021-07-21 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9506?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9506.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

5f241a4426..111c0af140

> Oak Security Documentation : links to Jackrabbit-API point to svn
> -
>
> Key: OAK-9506
> URL: https://issues.apache.org/jira/browse/OAK-9506
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: doc, security
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>
> with OAK-8339 the Jackrabbit API has been moved to the Oak source but the 
> links to security related interfaces still point to svn.apache.org. instead 
> they are now generated with the oak javadoc and links should be adjusted such 
> that they capture the latest state of the API.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-21 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9494.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
> Attachments: 
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION_20210720_142800.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_HAS_PRIVILEGES_20210720_145010.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_JCR_PRIVILEGE_NAME_AGGREGATION_20210720_144405.csv
>
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9494) Check if a privilege name is included in a set/array of Privileges obtained from AccessControlManager.getPrivileges

2021-07-21 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17384784#comment-17384784
 ] 

Angela Schreiber commented on OAK-9494:
---

[~joerghoh], the new methods will be available with Oak 1.42.0. if you see need 
for additional methods on {{PrivilegeCollection}} please create a separate 
improvement.

> Check if a privilege name is included in a set/array of Privileges obtained 
> from AccessControlManager.getPrivileges
> ---
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jackrabbit-api, security
>Reporter: Joerg Hoh
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
> Attachments: 
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION_20210720_142800.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_ACCESSCONTORL_MANAGER_HAS_PRIVILEGES_20210720_145010.csv,
>  
> GetPrivilegeCollectionIncludeNamesTest_JCR_PRIVILEGE_NAME_AGGREGATION_20210720_144405.csv
>
>
> I have a case where I need to check for a session if individual privileges 
> are available for a specific node. For performance reasons I want to avoid to 
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get 
> all Privileges of that node once and the set various flags based on the 
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set applicablePrivilegeNames = 
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes = 
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to 
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is 
> {{\{http://www.jcp.org/jcr/1.0}read}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9508) Duplicate code blocks in authorization modules

2021-07-21 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9508:
-

 Summary: Duplicate code blocks in authorization modules
 Key: OAK-9508
 URL: https://issues.apache.org/jira/browse/OAK-9508
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: authorization-principalbased, core, security-spi
Reporter: Angela Schreiber
Assignee: Angela Schreiber


there area  few duplicate code blocks across oak authorization modules.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9508) Duplicate code blocks in authorization modules

2021-07-21 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9508.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

rev 111c0af140..7d522cc9fe

> Duplicate code blocks in authorization modules
> --
>
> Key: OAK-9508
> URL: https://issues.apache.org/jira/browse/OAK-9508
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: authorization-principalbased, core, security-spi
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
> Fix For: 1.42.0
>
>
> there area  few duplicate code blocks across oak authorization modules.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9509) Enable minimum line and branch test coverage for oak-jcr

2021-07-21 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9509:
-

 Summary: Enable minimum line and branch test coverage for oak-jcr
 Key: OAK-9509
 URL: https://issues.apache.org/jira/browse/OAK-9509
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: jcr
Reporter: Angela Schreiber
Assignee: Angela Schreiber


today _jacoco-maven-plugin_ is skipped in _oak-jcr_ and thus doesn't record 
line/branch coverage. i would suggest to enable it by default. as of now line 
coverage is 72%, branch coverage is 60%.

[~mreutegg], unless you have any concerns i would go ahead and add the 2 
properties to the pom.xml:
{code}
false
0.72
0.60
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9509) Enable minimum line and branch test coverage for oak-jcr

2021-07-22 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17385334#comment-17385334
 ] 

Angela Schreiber commented on OAK-9509:
---

[~mreutegg], thanks.

fixed rev. 7d522cc9fe..a3fb5f1db7

> Enable minimum line and branch test coverage for oak-jcr
> 
>
> Key: OAK-9509
> URL: https://issues.apache.org/jira/browse/OAK-9509
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jcr
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>
> today _jacoco-maven-plugin_ is skipped in _oak-jcr_ and thus doesn't record 
> line/branch coverage. i would suggest to enable it by default. as of now line 
> coverage is 72%, branch coverage is 60%.
> [~mreutegg], unless you have any concerns i would go ahead and add the 2 
> properties to the pom.xml:
> {code}
> false
> 0.72
> 0.60
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9509) Enable minimum line and branch test coverage for oak-jcr

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9509.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

> Enable minimum line and branch test coverage for oak-jcr
> 
>
> Key: OAK-9509
> URL: https://issues.apache.org/jira/browse/OAK-9509
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jcr
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
> Fix For: 1.42.0
>
>
> today _jacoco-maven-plugin_ is skipped in _oak-jcr_ and thus doesn't record 
> line/branch coverage. i would suggest to enable it by default. as of now line 
> coverage is 72%, branch coverage is 60%.
> [~mreutegg], unless you have any concerns i would go ahead and add the 2 
> properties to the pom.xml:
> {code}
> false
> 0.72
> 0.60
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9509) Enable minimum line and branch test coverage for oak-jcr

2021-07-22 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17385355#comment-17385355
 ] 

Angela Schreiber commented on OAK-9509:
---

[~mreutegg], oh. rats  i will take a look and fix it.

> Enable minimum line and branch test coverage for oak-jcr
> 
>
> Key: OAK-9509
> URL: https://issues.apache.org/jira/browse/OAK-9509
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jcr
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
> Fix For: 1.42.0
>
>
> today _jacoco-maven-plugin_ is skipped in _oak-jcr_ and thus doesn't record 
> line/branch coverage. i would suggest to enable it by default. as of now line 
> coverage is 72%, branch coverage is 60%.
> [~mreutegg], unless you have any concerns i would go ahead and add the 2 
> properties to the pom.xml:
> {code}
> false
> 0.72
> 0.60
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (OAK-9509) Enable minimum line and branch test coverage for oak-jcr

2021-07-22 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17385355#comment-17385355
 ] 

Angela Schreiber edited comment on OAK-9509 at 7/22/21, 8:58 AM:
-

[~mreutegg], oh. rats  i will take a look and fix it.

rev. a3fb5f1db7..8634b87b9f : lowered required branch-coverage to the value 
reported by jenkins. i planned to cleanup the security related pieces in the 
delegate package and add some more tests there in a separate ticket. so, will 
keep an eye on it.


was (Author: anchela):
[~mreutegg], oh. rats  i will take a look and fix it.

> Enable minimum line and branch test coverage for oak-jcr
> 
>
> Key: OAK-9509
> URL: https://issues.apache.org/jira/browse/OAK-9509
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jcr
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
> Fix For: 1.42.0
>
>
> today _jacoco-maven-plugin_ is skipped in _oak-jcr_ and thus doesn't record 
> line/branch coverage. i would suggest to enable it by default. as of now line 
> coverage is 72%, branch coverage is 60%.
> [~mreutegg], unless you have any concerns i would go ahead and add the 2 
> properties to the pom.xml:
> {code}
> false
> 0.72
> 0.60
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9509) Enable minimum line and branch test coverage for oak-jcr

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9509.
---
Resolution: Fixed

with slighly lower branch coverage 
https://ci-builds.apache.org/blue/organizations/jenkins/Jackrabbit%2Foak-trunk-pr/detail/trunk/17/pipeline/50
 passed.

> Enable minimum line and branch test coverage for oak-jcr
> 
>
> Key: OAK-9509
> URL: https://issues.apache.org/jira/browse/OAK-9509
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jcr
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
> Fix For: 1.42.0
>
>
> today _jacoco-maven-plugin_ is skipped in _oak-jcr_ and thus doesn't record 
> line/branch coverage. i would suggest to enable it by default. as of now line 
> coverage is 72%, branch coverage is 60%.
> [~mreutegg], unless you have any concerns i would go ahead and add the 2 
> properties to the pom.xml:
> {code}
> false
> 0.72
> 0.60
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (OAK-9505) README and general information in oak-doc refers to svn

2021-07-22 Thread Angela Schreiber (Jira)


[ 
https://issues.apache.org/jira/browse/OAK-9505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17385498#comment-17385498
 ] 

Angela Schreiber commented on OAK-9505:
---

[~mreutegg], thanks for taking a look what about the other parts like 
participating.md et.al.  i listed above?

> README and general information in oak-doc refers to svn 
> 
>
> Key: OAK-9505
> URL: https://issues.apache.org/jira/browse/OAK-9505
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: doc
>Reporter: Angela Schreiber
>Priority: Major
>
> [~mreutegg], following the move to git, the README.md of _oak-doc_ also needs 
> a bit of attention. it still refers to svn checkout/commit.
> while searching for outdated security related links, additionally spotted:
> - participating.md : {{The latest Oak sources are available for checkout from 
> [svn][1]}}
> - roadmap.md : {{releases directly from 
> [trunk](https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/):}}
> - branching.md : 
> {{-DbranchBase=https://svn.apache.org/repos/asf/jackrabbit/oak/branches \}}
> - pom.xml : 
> {{scm:svn:https://svn.apache.org/repos/asf/jackrabbit/site/live/oak/docs}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9511) Improvements to security related Delegators in org.apache.jackrabbit.oak.jcr.delegate

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9511:
--
Labels: technical_debt  (was: )

> Improvements to security related Delegators in 
> org.apache.jackrabbit.oak.jcr.delegate
> -
>
> Key: OAK-9511
> URL: https://issues.apache.org/jira/browse/OAK-9511
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jcr
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>  Labels: technical_debt
>
> the security related Delegator classes in 
> _org.apache.jackrabbit.oak.jcr.delegate_ deserve a bit of housekeeping.
> while doing so i spotted that the param validation in the 
> {{UserManagerDelegator}} constructor throws {{IllegalStateException}} instead 
> of {{IllegalArgumentException}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9511) Improvements to security related Delegators in org.apache.jackrabbit.oak.jcr.delegate

2021-07-22 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9511:
-

 Summary: Improvements to security related Delegators in 
org.apache.jackrabbit.oak.jcr.delegate
 Key: OAK-9511
 URL: https://issues.apache.org/jira/browse/OAK-9511
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: jcr
Reporter: Angela Schreiber
Assignee: Angela Schreiber


the security related Delegator classes in 
_org.apache.jackrabbit.oak.jcr.delegate_ deserve a bit of housekeeping.
while doing so i spotted that the param validation in the 
{{UserManagerDelegator}} constructor throws {{IllegalStateException}} instead 
of {{IllegalArgumentException}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9508) Duplicate code blocks in authorization modules

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9508:
--
Labels: technical_debt  (was: )

> Duplicate code blocks in authorization modules
> --
>
> Key: OAK-9508
> URL: https://issues.apache.org/jira/browse/OAK-9508
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: authorization-principalbased, core, security-spi
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>  Labels: technical_debt
> Fix For: 1.42.0
>
>
> there area  few duplicate code blocks across oak authorization modules.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9509) Enable minimum line and branch test coverage for oak-jcr

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9509:
--
Labels: technical_debt  (was: )

> Enable minimum line and branch test coverage for oak-jcr
> 
>
> Key: OAK-9509
> URL: https://issues.apache.org/jira/browse/OAK-9509
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jcr
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>  Labels: technical_debt
> Fix For: 1.42.0
>
>
> today _jacoco-maven-plugin_ is skipped in _oak-jcr_ and thus doesn't record 
> line/branch coverage. i would suggest to enable it by default. as of now line 
> coverage is 72%, branch coverage is 60%.
> [~mreutegg], unless you have any concerns i would go ahead and add the 2 
> properties to the pom.xml:
> {code}
> false
> 0.72
> 0.60
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9507) link to PrincipalProvider points to wrong resource

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9507:
--
Labels: technical_debt  (was: )

> link to PrincipalProvider points to wrong resource
> --
>
> Key: OAK-9507
> URL: https://issues.apache.org/jira/browse/OAK-9507
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: doc
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
>  Labels: technical_debt
> Fix For: 1.42.0
>
>
> on https://jackrabbit.apache.org/oak/docs/security/principal/differences.html 
> the link to the {{PrincipalProvider}} points to the {{PrincipalManager}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9506) Oak Security Documentation : links to Jackrabbit-API point to svn

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9506?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9506:
--
Labels: technical_debt  (was: )

> Oak Security Documentation : links to Jackrabbit-API point to svn
> -
>
> Key: OAK-9506
> URL: https://issues.apache.org/jira/browse/OAK-9506
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: doc, security
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
>  Labels: technical_debt
> Fix For: 1.42.0
>
>
> with OAK-8339 the Jackrabbit API has been moved to the Oak source but the 
> links to security related interfaces still point to svn.apache.org. instead 
> they are now generated with the oak javadoc and links should be adjusted such 
> that they capture the latest state of the API.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9492) UserInitializer: info property of 'principalName' index not accurate

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9492:
--
Labels: technical_debt  (was: )

> UserInitializer: info property of 'principalName' index not accurate
> 
>
> Key: OAK-9492
> URL: https://issues.apache.org/jira/browse/OAK-9492
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Trivial
>  Labels: technical_debt
> Fix For: 1.42.0
>
>
> the description of the 'principalName' index definition stored in the 'info' 
> property is IMHO misleading. 
> [~thomasm], do you recall what your intention was when stating _if it was 
> constructed manually_? that sounds a bit odd as the rep:principalName 
> property is always defined when a new user/group is created through the API. 
> on JCR level users/groups cannot be created manually using regular write 
> operations due to the protected nature some properties.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9474) User Filter for SyncConfigTracker to limit respected references

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9474:
--
Labels: technical_debt  (was: )

> User Filter for SyncConfigTracker to limit respected references 
> 
>
> Key: OAK-9474
> URL: https://issues.apache.org/jira/browse/OAK-9474
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: auth-external
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
>  Labels: technical_debt
>
> while reviewing the proposed changes for OAK-9462 [~kpauls] noticed that 
> {{SyncConfigTracker#hasDynamicMembership}} could be simplified by introducing 
> a filter to the service tracking. consequently only synchandler-references 
> that have dynamic-membership enabled would be tracked.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9316) Reduce complexity in ExternalGroupPrincipalProvider

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9316:
--
Labels: technical_debt  (was: )

> Reduce complexity in ExternalGroupPrincipalProvider
> ---
>
> Key: OAK-9316
> URL: https://issues.apache.org/jira/browse/OAK-9316
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: auth-external
>Reporter: Angela Schreiber
>Priority: Minor
>  Labels: technical_debt
> Fix For: 1.38.0
>
>
> improve readability and maintainability of {{ExternalGroupPrincipalProvider}} 
> by reducing complexity. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9406) Minor improvements to oak-auth-external

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9406?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9406:
--
Labels: technical_debt  (was: )

> Minor improvements to oak-auth-external
> ---
>
> Key: OAK-9406
> URL: https://issues.apache.org/jira/browse/OAK-9406
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: auth-external
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>  Labels: technical_debt
> Fix For: 1.40.0
>
>
> there are a couple of minor improvements for oak-auth-external code base 
> - private fields could be final
> - unused imports
> - unused log fields
> - trivial code simplifications



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9314) Broken javadoc link with ExternalGroupPrincipalProvider#findPrincipals

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9314?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9314:
--
Labels: technical_debt  (was: )

> Broken javadoc link with ExternalGroupPrincipalProvider#findPrincipals
> --
>
> Key: OAK-9314
> URL: https://issues.apache.org/jira/browse/OAK-9314
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: auth-external
>Reporter: Angela Schreiber
>Priority: Minor
>  Labels: technical_debt
> Fix For: 1.38.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9407) Reduce complexity in ExternalLoginModule

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9407:
--
Labels: technical_debt  (was: )

> Reduce complexity in ExternalLoginModule
> 
>
> Key: OAK-9407
> URL: https://issues.apache.org/jira/browse/OAK-9407
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: auth-external
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
>  Labels: technical_debt
> Fix For: 1.40.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9511) Improvements to security related Delegators in org.apache.jackrabbit.oak.jcr.delegate

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9511.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

fixed rev. 6a31283862..36f9c2395b including some additional unit-tests.

> Improvements to security related Delegators in 
> org.apache.jackrabbit.oak.jcr.delegate
> -
>
> Key: OAK-9511
> URL: https://issues.apache.org/jira/browse/OAK-9511
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: jcr
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>  Labels: technical_debt
> Fix For: 1.42.0
>
>
> the security related Delegator classes in 
> _org.apache.jackrabbit.oak.jcr.delegate_ deserve a bit of housekeeping.
> while doing so i spotted that the param validation in the 
> {{UserManagerDelegator}} constructor throws {{IllegalStateException}} instead 
> of {{IllegalArgumentException}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9474) Use Filter for SyncConfigTracker to limit respected references

2021-07-22 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9474:
--
Summary: Use Filter for SyncConfigTracker to limit respected references   
(was: User Filter for SyncConfigTracker to limit respected references )

> Use Filter for SyncConfigTracker to limit respected references 
> ---
>
> Key: OAK-9474
> URL: https://issues.apache.org/jira/browse/OAK-9474
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: auth-external
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
>  Labels: technical_debt
>
> while reviewing the proposed changes for OAK-9462 [~kpauls] noticed that 
> {{SyncConfigTracker#hasDynamicMembership}} could be simplified by introducing 
> a filter to the service tracking. consequently only synchandler-references 
> that have dynamic-membership enabled would be tracked.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9512) PrefixPattern.matches(String) always returns false

2021-07-23 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9512:
-

 Summary: PrefixPattern.matches(String) always returns false
 Key: OAK-9512
 URL: https://issues.apache.org/jira/browse/OAK-9512
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: core, security
Reporter: Angela Schreiber
Assignee: Angela Schreiber
 Fix For: 1.42.0


instead of evaluating the prefix of the last segment the method always returns 
false, which is probably a copy-paste mistake (as the comment/log output 
suggests).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9513) PrefixPattern ignores empty namespace perfix

2021-07-23 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9513:
-

 Summary: PrefixPattern ignores empty namespace perfix
 Key: OAK-9513
 URL: https://issues.apache.org/jira/browse/OAK-9513
 Project: Jackrabbit Oak
  Issue Type: Bug
  Components: core, security
Reporter: Angela Schreiber
Assignee: Angela Schreiber


JCR defines an empty namespace with an empty prefix which applies to all item 
names that just consist of a local name:

{quote]
3.2.5.3 Qualified Form with the Empty Namespace

The qualified form of a name (““, L) (i.e., with the empty string as namespace) 
is not written as :L but simply as L. The former is not a valid qualified JCR 
name.
{quote}

while the {{PrefixPattern}} doesn't prevent the empty prefix to be defined as a 
prefix, it currently skips evaluation if prefix of the name to be evaluated is 
empty.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9513) PrefixPattern ignores empty namespace perfix

2021-07-23 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9513?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9513:
--
Description: 
JCR defines an empty namespace with an empty prefix which applies to all item 
names that just consist of a local name:

{quote}
3.2.5.3 Qualified Form with the Empty Namespace

The qualified form of a name (““, L) (i.e., with the empty string as namespace) 
is not written as :L but simply as L. The former is not a valid qualified JCR 
name.
{quote}

while the {{PrefixPattern}} doesn't prevent the empty prefix to be defined as a 
prefix, it currently skips evaluation if prefix of the name to be evaluated is 
empty.

  was:
JCR defines an empty namespace with an empty prefix which applies to all item 
names that just consist of a local name:

{quote]
3.2.5.3 Qualified Form with the Empty Namespace

The qualified form of a name (““, L) (i.e., with the empty string as namespace) 
is not written as :L but simply as L. The former is not a valid qualified JCR 
name.
{quote}

while the {{PrefixPattern}} doesn't prevent the empty prefix to be defined as a 
prefix, it currently skips evaluation if prefix of the name to be evaluated is 
empty.


> PrefixPattern ignores empty namespace perfix
> 
>
> Key: OAK-9513
> URL: https://issues.apache.org/jira/browse/OAK-9513
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core, security
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>
> JCR defines an empty namespace with an empty prefix which applies to all item 
> names that just consist of a local name:
> {quote}
> 3.2.5.3 Qualified Form with the Empty Namespace
> The qualified form of a name (““, L) (i.e., with the empty string as 
> namespace) is not written as :L but simply as L. The former is not a valid 
> qualified JCR name.
> {quote}
> while the {{PrefixPattern}} doesn't prevent the empty prefix to be defined as 
> a prefix, it currently skips evaluation if prefix of the name to be evaluated 
> is empty.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9514) Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)

2021-07-23 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9514:
-

 Summary: Add RestrictionPattern.matches(@NotNull String path, 
boolean isProperty)
 Key: OAK-9514
 URL: https://issues.apache.org/jira/browse/OAK-9514
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: core, security-spi
Reporter: Angela Schreiber
Assignee: Angela Schreiber


the existing method {{RestrictionPattern.matches(@NotNull String path}} doesn't 
allow to indicate to the restriction evaluation if the path points to a node or 
property. while this makes sense for cases where the nature of the target item 
is not known, there are usages of the method throughout oak where the type of 
the target item is known (e.g. evaluations for a parent path). for those case 
it would be preferrable to call {{RestrictionPattern.matches(@NotNull String 
path, boolean isProperty)}}.
For backwards compatibility the new method should come with a default e.g. 
falling back to {{RestrictionPattern.matches(@NotNull String path}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9513) PrefixPattern ignores empty namespace perfix

2021-07-23 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9513?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9513.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

rev. 36f9c2395b..eda02347fc

> PrefixPattern ignores empty namespace perfix
> 
>
> Key: OAK-9513
> URL: https://issues.apache.org/jira/browse/OAK-9513
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core, security
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
> Fix For: 1.42.0
>
>
> JCR defines an empty namespace with an empty prefix which applies to all item 
> names that just consist of a local name:
> {quote}
> 3.2.5.3 Qualified Form with the Empty Namespace
> The qualified form of a name (““, L) (i.e., with the empty string as 
> namespace) is not written as :L but simply as L. The former is not a valid 
> qualified JCR name.
> {quote}
> while the {{PrefixPattern}} doesn't prevent the empty prefix to be defined as 
> a prefix, it currently skips evaluation if prefix of the name to be evaluated 
> is empty.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9514) Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)

2021-07-23 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9514.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

rev. 36f9c2395b..eda02347fc

> Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)
> 
>
> Key: OAK-9514
> URL: https://issues.apache.org/jira/browse/OAK-9514
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core, security-spi
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>
> the existing method {{RestrictionPattern.matches(@NotNull String path}} 
> doesn't allow to indicate to the restriction evaluation if the path points to 
> a node or property. while this makes sense for cases where the nature of the 
> target item is not known, there are usages of the method throughout oak where 
> the type of the target item is known (e.g. evaluations for a parent path). 
> for those case it would be preferrable to call 
> {{RestrictionPattern.matches(@NotNull String path, boolean isProperty)}}.
> For backwards compatibility the new method should come with a default e.g. 
> falling back to {{RestrictionPattern.matches(@NotNull String path}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Reopened] (OAK-9514) Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)

2021-07-23 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber reopened OAK-9514:
---

> Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)
> 
>
> Key: OAK-9514
> URL: https://issues.apache.org/jira/browse/OAK-9514
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core, security-spi
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>
> the existing method {{RestrictionPattern.matches(@NotNull String path}} 
> doesn't allow to indicate to the restriction evaluation if the path points to 
> a node or property. while this makes sense for cases where the nature of the 
> target item is not known, there are usages of the method throughout oak where 
> the type of the target item is known (e.g. evaluations for a parent path). 
> for those case it would be preferrable to call 
> {{RestrictionPattern.matches(@NotNull String path, boolean isProperty)}}.
> For backwards compatibility the new method should come with a default e.g. 
> falling back to {{RestrictionPattern.matches(@NotNull String path}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Issue Comment Deleted] (OAK-9514) Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)

2021-07-23 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9514:
--
Comment: was deleted

(was: rev. 36f9c2395b..eda02347fc)

> Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)
> 
>
> Key: OAK-9514
> URL: https://issues.apache.org/jira/browse/OAK-9514
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core, security-spi
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>
> the existing method {{RestrictionPattern.matches(@NotNull String path}} 
> doesn't allow to indicate to the restriction evaluation if the path points to 
> a node or property. while this makes sense for cases where the nature of the 
> target item is not known, there are usages of the method throughout oak where 
> the type of the target item is known (e.g. evaluations for a parent path). 
> for those case it would be preferrable to call 
> {{RestrictionPattern.matches(@NotNull String path, boolean isProperty)}}.
> For backwards compatibility the new method should come with a default e.g. 
> falling back to {{RestrictionPattern.matches(@NotNull String path}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9512) PrefixPattern.matches(String) always returns false

2021-07-23 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9512?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9512.
---
Resolution: Fixed

rev. 36f9c2395b..eda02347fc


> PrefixPattern.matches(String) always returns false
> --
>
> Key: OAK-9512
> URL: https://issues.apache.org/jira/browse/OAK-9512
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: core, security
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
> Fix For: 1.42.0
>
>
> instead of evaluating the prefix of the last segment the method always 
> returns false, which is probably a copy-paste mistake (as the comment/log 
> output suggests).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9514) Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)

2021-07-23 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9514:
--
Fix Version/s: (was: 1.42.0)

> Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)
> 
>
> Key: OAK-9514
> URL: https://issues.apache.org/jira/browse/OAK-9514
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core, security-spi
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
>
> the existing method {{RestrictionPattern.matches(@NotNull String path}} 
> doesn't allow to indicate to the restriction evaluation if the path points to 
> a node or property. while this makes sense for cases where the nature of the 
> target item is not known, there are usages of the method throughout oak where 
> the type of the target item is known (e.g. evaluations for a parent path). 
> for those case it would be preferrable to call 
> {{RestrictionPattern.matches(@NotNull String path, boolean isProperty)}}.
> For backwards compatibility the new method should come with a default e.g. 
> falling back to {{RestrictionPattern.matches(@NotNull String path}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9514) Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)

2021-07-27 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9514.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

rev. eda02347fc..65ef6569aa

> Add RestrictionPattern.matches(@NotNull String path, boolean isProperty)
> 
>
> Key: OAK-9514
> URL: https://issues.apache.org/jira/browse/OAK-9514
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core, security-spi
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>
> the existing method {{RestrictionPattern.matches(@NotNull String path}} 
> doesn't allow to indicate to the restriction evaluation if the path points to 
> a node or property. while this makes sense for cases where the nature of the 
> target item is not known, there are usages of the method throughout oak where 
> the type of the target item is known (e.g. evaluations for a parent path). 
> for those case it would be preferrable to call 
> {{RestrictionPattern.matches(@NotNull String path, boolean isProperty)}}.
> For backwards compatibility the new method should come with a default e.g. 
> falling back to {{RestrictionPattern.matches(@NotNull String path}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9516) minor improvement to oak-authorization-principalbased

2021-07-27 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9516:
-

 Summary: minor improvement to oak-authorization-principalbased
 Key: OAK-9516
 URL: https://issues.apache.org/jira/browse/OAK-9516
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: authorization-principalbased
Reporter: Angela Schreiber
Assignee: Angela Schreiber
 Fix For: 1.42.0


- unused imports
- unused log fields
- private methods that could be static
- guava functions can be replaced by lambda or reference
- redundant throws in tests
- redundant local fields in tests
- a few obvious mistakes in tests 
- typos



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9516) minor improvement to oak-authorization-principalbased

2021-07-27 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9516?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9516.
---
Resolution: Fixed

rev. 65ef6569aa..47cd655ecf

> minor improvement to oak-authorization-principalbased
> -
>
> Key: OAK-9516
> URL: https://issues.apache.org/jira/browse/OAK-9516
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: authorization-principalbased
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Trivial
> Fix For: 1.42.0
>
>
> - unused imports
> - unused log fields
> - private methods that could be static
> - guava functions can be replaced by lambda or reference
> - redundant throws in tests
> - redundant local fields in tests
> - a few obvious mistakes in tests 
> - typos



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9518) Investigate reducing NodeStore access for permissions defined in immutable mounts

2021-07-29 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9518?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9518:
--
Summary: Investigate reducing NodeStore access for permissions defined in 
immutable mounts  (was: Investigate caching of permissions defined in immutable 
mounts)

> Investigate reducing NodeStore access for permissions defined in immutable 
> mounts
> -
>
> Key: OAK-9518
> URL: https://issues.apache.org/jira/browse/OAK-9518
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core, security
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Major
>
> when running oak with additional immutable mounts, the permission provider 
> will come with a composite {{MountPermissionStore}} that loads entries from 
> the different mount points.
> while for the mutable default mount reading the latest permission data from 
> the {{NodeStore}} is required whenever the cache gets invalidated, this is 
> probably not needed for immutable mounts.
> the goal of the this improvement is to investigate if and under which 
> circumstances repeated reads for the immutable mounts can/should be prevented 
> and measure the impact on overall performance. this includes taking 
> potentially huge amounts of permission entries into account and define 
> boundaries in case such an improvement was beneficial for mounts with 
> relatively few permissions.
> cc: [~rma61...@adobe.com]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9518) Investigate caching of permissions defined in immutable mounts

2021-07-29 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9518:
-

 Summary: Investigate caching of permissions defined in immutable 
mounts
 Key: OAK-9518
 URL: https://issues.apache.org/jira/browse/OAK-9518
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: core, security
Reporter: Angela Schreiber
Assignee: Angela Schreiber


when running oak with additional immutable mounts, the permission provider will 
come with a composite {{MountPermissionStore}} that loads entries from the 
different mount points.
while for the mutable default mount reading the latest permission data from the 
{{NodeStore}} is required whenever the cache gets invalidated, this is probably 
not needed for immutable mounts.

the goal of the this improvement is to investigate if and under which 
circumstances repeated reads for the immutable mounts can/should be prevented 
and measure the impact on overall performance. this includes taking potentially 
huge amounts of permission entries into account and define boundaries in case 
such an improvement was beneficial for mounts with relatively few permissions.

cc: [~rma61...@adobe.com]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-2437) 'shallow' access to a node and it's properties

2021-07-30 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-2437?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-2437.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

rev. a3eed2d159..518e28f821

> 'shallow' access to a node and it's properties
> --
>
> Key: OAK-2437
> URL: https://issues.apache.org/jira/browse/OAK-2437
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: core
>Reporter: Armand Planche
>Assignee: Angela Schreiber
>Priority: Major
> Fix For: 1.42.0
>
>
> in many cases it would be helpful to be able to restrict an access control 
> entry as 'shallow', so affecting only the corresponding node and it's 
> properties but not the subnodes (and their properties).
> With the empty string glob restriction it's possible to restrict to a node 
> only, but the properties are not included in this case...



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9525) Minor improvements to oak-authorization-cug

2021-08-11 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9525:
-

 Summary: Minor improvements to oak-authorization-cug
 Key: OAK-9525
 URL: https://issues.apache.org/jira/browse/OAK-9525
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: authorization-cug
Reporter: Angela Schreiber
Assignee: Angela Schreiber


- reduce complexity
- private methods could be static
- private fields could be final
- unused imports
- 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9525) Minor improvements to oak-authorization-cug

2021-08-11 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9525:
--
Labels: tech-debt  (was: )

> Minor improvements to oak-authorization-cug
> ---
>
> Key: OAK-9525
> URL: https://issues.apache.org/jira/browse/OAK-9525
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: authorization-cug
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>  Labels: tech-debt
>
> - reduce complexity
> - private methods could be static
> - private fields could be final
> - unused imports
> - 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9525) Minor improvements to oak-authorization-cug

2021-08-11 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9525.
---
Fix Version/s: 1.42.0
   Resolution: Fixed

rev.  47908d0a74..be2553fe30

> Minor improvements to oak-authorization-cug
> ---
>
> Key: OAK-9525
> URL: https://issues.apache.org/jira/browse/OAK-9525
> Project: Jackrabbit Oak
>  Issue Type: Improvement
>  Components: authorization-cug
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>  Labels: tech-debt
> Fix For: 1.42.0
>
>
> - reduce complexity
> - private methods could be static
> - private fields could be final
> - unused imports
> - 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9526) Incomplete sentence in principalbased_evaluation.md

2021-08-11 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9526:
-

 Summary: Incomplete sentence in principalbased_evaluation.md
 Key: OAK-9526
 URL: https://issues.apache.org/jira/browse/OAK-9526
 Project: Jackrabbit Oak
  Issue Type: Documentation
  Components: docs
Reporter: Angela Schreiber
Assignee: Angela Schreiber
 Fix For: 1.42.0






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-9526) Incomplete sentence in principalbased_evaluation.md

2021-08-11 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9526:
--
Labels: tech-debt  (was: )

> Incomplete sentence in principalbased_evaluation.md
> ---
>
> Key: OAK-9526
> URL: https://issues.apache.org/jira/browse/OAK-9526
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: docs
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>  Labels: tech-debt
> Fix For: 1.42.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (OAK-9526) Incomplete sentence in principalbased_evaluation.md

2021-08-11 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-9526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber resolved OAK-9526.
---
Resolution: Fixed

rev. be2553fe30..0af8d5da70

> Incomplete sentence in principalbased_evaluation.md
> ---
>
> Key: OAK-9526
> URL: https://issues.apache.org/jira/browse/OAK-9526
> Project: Jackrabbit Oak
>  Issue Type: Documentation
>  Components: docs
>Reporter: Angela Schreiber
>Assignee: Angela Schreiber
>Priority: Minor
>  Labels: tech-debt
> Fix For: 1.42.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (OAK-6756) Convert oak-auth-external to OSGi R6 annotations

2021-08-11 Thread Angela Schreiber (Jira)


 [ 
https://issues.apache.org/jira/browse/OAK-6756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-6756:
--
Labels: technical_debt  (was: )

> Convert oak-auth-external to OSGi R6 annotations
> 
>
> Key: OAK-6756
> URL: https://issues.apache.org/jira/browse/OAK-6756
> Project: Jackrabbit Oak
>  Issue Type: Technical task
>  Components: auth-external
>Reporter: Robert Munteanu
>Assignee: Angela Schreiber
>Priority: Major
>  Labels: technical_debt
> Attachments: cschneider-OAK-6756.osgi-diff.txt
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (OAK-9527) Typos in javadoc of security related API

2021-08-11 Thread Angela Schreiber (Jira)
Angela Schreiber created OAK-9527:
-

 Summary: Typos in javadoc of security related API
 Key: OAK-9527
 URL: https://issues.apache.org/jira/browse/OAK-9527
 Project: Jackrabbit Oak
  Issue Type: Improvement
  Components: jackrabbit-api
Reporter: Angela Schreiber
Assignee: Angela Schreiber
 Fix For: 1.42.0


there are a few typos in the security related classes/interfaces in 
jackrabbit-api




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


<    2   3   4   5   6   7   8   9   10   11   >