mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-03-05 20:00:55 +01:00
merge repository heads
This commit is contained in:
@@ -6,13 +6,13 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.maven</groupId>
|
||||
<artifactId>scm-maven-plugins</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-maven-plugins</name>
|
||||
|
||||
<modules>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<artifactId>scm-maven-plugins</artifactId>
|
||||
<groupId>sonia.scm.maven</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.maven</groupId>
|
||||
<artifactId>scm-maven-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<packaging>maven-plugin</packaging>
|
||||
<name>scm-maven-plugin</name>
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<artifactId>scm-maven-plugins</artifactId>
|
||||
<groupId>sonia.scm.maven</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.maven</groupId>
|
||||
<artifactId>scm-plugin-archetype</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-plugin-archetype</name>
|
||||
|
||||
</project>
|
||||
|
||||
2
pom.xml
2
pom.xml
@@ -6,7 +6,7 @@
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<description>
|
||||
The easiest way to share your Git, Mercurial
|
||||
and Subversion repositories over http.
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<artifactId>scm-clients</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-clients</name>
|
||||
|
||||
<modules>
|
||||
@@ -32,7 +32,7 @@
|
||||
<artifactId>scm-core</artifactId>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<type>jar</type>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>shiro-core</artifactId>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<artifactId>scm-clients</artifactId>
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<artifactId>scm-cli-client</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-cli-client</name>
|
||||
|
||||
<dependencies>
|
||||
@@ -34,7 +34,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<artifactId>scm-client-impl</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<artifactId>scm-clients</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<artifactId>scm-client-api</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-client-api</name>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<artifactId>scm-clients</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<artifactId>scm-client-impl</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-client-impl</name>
|
||||
|
||||
<dependencies>
|
||||
@@ -36,7 +36,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<artifactId>scm-client-api</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -70,7 +70,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-test</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<artifactId>scm</artifactId>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-core</name>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -136,8 +136,9 @@ public class Permission implements PermissionObject, Serializable
|
||||
|
||||
final Permission other = (Permission) obj;
|
||||
|
||||
return Objects.equal(name, other.name) && Objects.equal(type, other.type)
|
||||
&& Objects.equal(groupPermission, groupPermission);
|
||||
return Objects.equal(name, other.name)
|
||||
&& Objects.equal(type, other.type)
|
||||
&& Objects.equal(groupPermission, other.groupPermission);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-dao-orientdb</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-dao-orientdb</name>
|
||||
|
||||
<dependencies>
|
||||
@@ -26,7 +26,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -52,7 +52,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-test</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-dao-xml</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-dao-xml</name>
|
||||
|
||||
<dependencies>
|
||||
@@ -26,7 +26,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<!-- test -->
|
||||
@@ -34,7 +34,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-test</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
<parent>
|
||||
<artifactId>scm</artifactId>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-plugin-backend</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>${project.artifactId}</name>
|
||||
|
||||
<dependencies>
|
||||
@@ -62,7 +62,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-plugins</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-plugins</name>
|
||||
|
||||
<modules>
|
||||
@@ -26,7 +26,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
@@ -59,7 +59,7 @@
|
||||
<plugin>
|
||||
<groupId>sonia.scm.maven</groupId>
|
||||
<artifactId>scm-maven-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>process-resources</phase>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<artifactId>scm-plugins</artifactId>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-git-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-git-plugin</name>
|
||||
<url>https://bitbucket.org/sdorra/scm-manager</url>
|
||||
<description>Plugin for the version control system Git</description>
|
||||
@@ -48,7 +48,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-test</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-plugins</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-hg-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-hg-plugin</name>
|
||||
<url>https://bitbucket.org/sdorra/scm-manager</url>
|
||||
<description>Plugin for the version control system Mercurial</description>
|
||||
@@ -42,7 +42,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-test</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<artifactId>scm-plugins</artifactId>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-svn-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-svn-plugin</name>
|
||||
<url>https://bitbucket.org/sdorra/scm-manager</url>
|
||||
<description>Plugin for the version control system Subversion</description>
|
||||
@@ -48,7 +48,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-test</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.samples</groupId>
|
||||
<artifactId>scm-samples</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-samples</name>
|
||||
|
||||
<modules>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<artifactId>scm-samples</artifactId>
|
||||
<groupId>sonia.scm.samples</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.sample</groupId>
|
||||
<artifactId>scm-sample-auth</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-sample-auth</name>
|
||||
<description>Sample Authentication Plugin</description>
|
||||
<url>https://bitbucket.org/sdorra/scm-manager</url>
|
||||
@@ -28,7 +28,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<artifactId>scm-samples</artifactId>
|
||||
<groupId>sonia.scm.samples</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.sample</groupId>
|
||||
<artifactId>scm-sample-hello</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-sample-hello</name>
|
||||
<description>A simple hello world plugin</description>
|
||||
<url>https://bitbucket.org/sdorra/scm-manager</url>
|
||||
@@ -28,7 +28,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<artifactId>scm</artifactId>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-server</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-server</name>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<parent>
|
||||
<artifactId>scm</artifactId>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-test</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-test</name>
|
||||
|
||||
<dependencies>
|
||||
@@ -25,7 +25,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-webapp</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-webapp</name>
|
||||
|
||||
<dependencies>
|
||||
@@ -38,31 +38,31 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-dao-xml</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-hg-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-svn-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-git-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<!-- security -->
|
||||
@@ -286,7 +286,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-test</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
@@ -299,7 +299,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-git-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
@@ -307,7 +307,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-hg-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
@@ -315,7 +315,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-svn-plugin</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
@@ -547,7 +547,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-dao-orientdb</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
@@ -72,6 +72,10 @@ public class MDCFilter extends HttpFilter
|
||||
/** url of the current request */
|
||||
@VisibleForTesting
|
||||
static final String MDC_REQUEST_URI = "request_uri";
|
||||
|
||||
/** request method */
|
||||
@VisibleForTesting
|
||||
static final String MDC_REQUEST_METHOD = "request_method";
|
||||
|
||||
/** Field description */
|
||||
@VisibleForTesting
|
||||
@@ -98,6 +102,7 @@ public class MDCFilter extends HttpFilter
|
||||
MDC.put(MDC_USERNAME, getUsername());
|
||||
MDC.put(MDC_CLIEN_IP, request.getRemoteAddr());
|
||||
MDC.put(MDC_CLIEN_HOST, request.getRemoteHost());
|
||||
MDC.put(MDC_REQUEST_METHOD, request.getMethod());
|
||||
MDC.put(MDC_REQUEST_URI, request.getRequestURI());
|
||||
|
||||
try
|
||||
@@ -109,6 +114,7 @@ public class MDCFilter extends HttpFilter
|
||||
MDC.remove(MDC_USERNAME);
|
||||
MDC.remove(MDC_CLIEN_IP);
|
||||
MDC.remove(MDC_CLIEN_HOST);
|
||||
MDC.remove(MDC_REQUEST_METHOD);
|
||||
MDC.remove(MDC_REQUEST_URI);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -918,7 +918,8 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager
|
||||
if (!isPermitted(repository, PermissionType.OWNER))
|
||||
{
|
||||
throw new ScmSecurityException(
|
||||
"owner permission is required, access denied");
|
||||
"owner permission is required, owner access to repository " + repository.getName() + " denied"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -933,7 +934,8 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager
|
||||
if (!isReader(repository))
|
||||
{
|
||||
throw new ScmSecurityException(
|
||||
"reader permission is required, access denied");
|
||||
"reader permission is required, access to repository " + repository.getName() + " denied"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -85,6 +85,9 @@ import sonia.scm.user.UserModificationEvent;
|
||||
public class AuthorizationCollector
|
||||
{
|
||||
|
||||
// TODO move to util class
|
||||
private static final String SEPARATOR = System.getProperty("line.separator", "\n");
|
||||
|
||||
/** Field description */
|
||||
private static final String CACHE_NAME = "sonia.cache.authorizing";
|
||||
|
||||
@@ -166,15 +169,17 @@ public class AuthorizationCollector
|
||||
User beforeModification = ((UserModificationEvent) event).getItemBeforeModification();
|
||||
if (shouldCacheBeCleared(user, beforeModification))
|
||||
{
|
||||
logger.debug("invalidate cache of user {}, because of a permission relevant field has changed", username);
|
||||
invalidateUserCache(username);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.debug("cache of user {} is not invalidated, because admin and active flag has not changed", username);
|
||||
logger.debug("cache of user {} is not invalidated, because no permission relevant field has changed", username);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.debug("invalidate cache of user {}, because of user {} event", username, event.getEventType());
|
||||
invalidateUserCache(username);
|
||||
}
|
||||
}
|
||||
@@ -187,7 +192,6 @@ public class AuthorizationCollector
|
||||
|
||||
private void invalidateUserCache(final String username)
|
||||
{
|
||||
logger.debug("invalidate cache of user {}, because of a event which could change the permissions", username);
|
||||
cache.removeAll(new Filter<CacheKey>()
|
||||
{
|
||||
@Override
|
||||
@@ -214,11 +218,7 @@ public class AuthorizationCollector
|
||||
if (event.getEventType().isPost())
|
||||
{
|
||||
Repository repository = event.getItem();
|
||||
if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("clear cache, because repository {} has changed", repository.getName());
|
||||
}
|
||||
|
||||
|
||||
if (event instanceof RepositoryModificationEvent)
|
||||
{
|
||||
Repository beforeModification = ((RepositoryModificationEvent) event).getItemBeforeModification();
|
||||
@@ -230,14 +230,14 @@ public class AuthorizationCollector
|
||||
else
|
||||
{
|
||||
logger.debug(
|
||||
"cache of repository {} is not invalidated, because non relevant fields have changed",
|
||||
"cache is not invalidated, because non relevant field of repository {} has changed",
|
||||
repository.getName()
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.debug("clear cache, because repository {} has changed", repository.getName());
|
||||
logger.debug("clear cache, received {} event of repository {}", event.getEventType(), repository.getName());
|
||||
cache.clear();
|
||||
}
|
||||
}
|
||||
@@ -262,20 +262,18 @@ public class AuthorizationCollector
|
||||
{
|
||||
if (event.getEventType().isPost())
|
||||
{
|
||||
if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("clear cache, because permission {} has changed",
|
||||
event.getPermission().getId());
|
||||
}
|
||||
|
||||
StoredAssignedPermission permission = event.getPermission();
|
||||
if (permission.isGroupPermission())
|
||||
{
|
||||
logger.debug("clears the whole cache, because global group permission {} has changed", permission.getId());
|
||||
logger.debug("clear cache, because global group permission {} has changed", permission.getId());
|
||||
cache.clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.debug(
|
||||
"clear cache of user {}, because permission {} has changed",
|
||||
permission.getName(), event.getPermission().getId()
|
||||
);
|
||||
invalidateUserCache(permission.getName());
|
||||
}
|
||||
}
|
||||
@@ -308,14 +306,14 @@ public class AuthorizationCollector
|
||||
else
|
||||
{
|
||||
logger.debug(
|
||||
"cache of group {} is not invalidated, because non relevant fields have changed",
|
||||
"cache is not invalidated, because non relevant field of group {} has changed",
|
||||
group.getId()
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.debug("clear cache, because group {} has changed", group.getId());
|
||||
logger.debug("clear cache, received group event {} for group {}", event.getEventType(), group.getId());
|
||||
cache.clear();
|
||||
}
|
||||
}
|
||||
@@ -351,18 +349,13 @@ public class AuthorizationCollector
|
||||
|
||||
if (info == null)
|
||||
{
|
||||
if (logger.isTraceEnabled())
|
||||
{
|
||||
logger.trace("collect AuthorizationInfo for user {}", user.getName());
|
||||
}
|
||||
|
||||
logger.trace("collect AuthorizationInfo for user {}", user.getName());
|
||||
info = createAuthorizationInfo(user, groupNames);
|
||||
cache.put(cacheKey, info);
|
||||
}
|
||||
else if (logger.isTraceEnabled())
|
||||
{
|
||||
logger.trace("retrieve AuthorizationInfo for user {} from cache",
|
||||
user.getName());
|
||||
logger.trace("retrieve AuthorizationInfo for user {} from cache", user.getName());
|
||||
}
|
||||
|
||||
return info;
|
||||
@@ -522,11 +515,37 @@ public class AuthorizationCollector
|
||||
}
|
||||
|
||||
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(roles);
|
||||
|
||||
info.addObjectPermissions(permissions);
|
||||
|
||||
|
||||
if (logger.isTraceEnabled()){
|
||||
logger.trace(createAuthorizationSummary(user, groups, info));
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
private String createAuthorizationSummary(User user, GroupNames groups, AuthorizationInfo authzInfo)
|
||||
{
|
||||
StringBuilder buffer = new StringBuilder("authorization summary: ");
|
||||
buffer.append(SEPARATOR).append("username : ").append(user.getName());
|
||||
buffer.append(SEPARATOR).append("groups : ");
|
||||
append(buffer, groups);
|
||||
buffer.append(SEPARATOR).append("roles : ");
|
||||
append(buffer, authzInfo.getRoles());
|
||||
buffer.append(SEPARATOR).append("permissions:");
|
||||
append(buffer, authzInfo.getStringPermissions());
|
||||
append(buffer, authzInfo.getObjectPermissions());
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
private void append(StringBuilder buffer, Iterable<?> iterable){
|
||||
if (iterable != null){
|
||||
for ( Object item : iterable )
|
||||
{
|
||||
buffer.append(SEPARATOR).append(" - ").append(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//~--- get methods ----------------------------------------------------------
|
||||
|
||||
|
||||
@@ -52,6 +52,10 @@
|
||||
|
||||
<logger name="sonia.scm" level="TRACE" />
|
||||
|
||||
<logger name="sonia.scm.security.AuthorizationCollector" level="DEBUG" />
|
||||
<logger name="sonia.scm.web.filter.AutoLoginFilter" level="DEBUG" />
|
||||
<logger name="sonia.scm.security.XsrfProtectionFilter" level="DEBUG" />
|
||||
|
||||
<!-- suppress massive gzip logging -->
|
||||
<logger name="sonia.scm.filter.GZipFilter" level="WARN" />
|
||||
<logger name="sonia.scm.filter.GZipResponseStream" level="WARN" />
|
||||
|
||||
@@ -41,6 +41,7 @@ Sonia.panel.SyntaxHighlighterPanel = Ext.extend(Ext.Panel, {
|
||||
fileName: 'shBrushAppleScript.js'
|
||||
},{
|
||||
name: 'Bash/shell',
|
||||
brush: 'shell',
|
||||
aliases: ['sh', 'bash', 'shell'],
|
||||
fileName: 'shBrushBash.js'
|
||||
},{
|
||||
|
||||
@@ -87,6 +87,7 @@ public class MDCFilterTest extends AbstractTestBase {
|
||||
when(request.getRequestURI()).thenReturn("api/v1/repositories");
|
||||
when(request.getRemoteAddr()).thenReturn("127.0.0.1");
|
||||
when(request.getRemoteHost()).thenReturn("localhost");
|
||||
when(request.getMethod()).thenReturn("GET");
|
||||
|
||||
MDCCapturingFilterChain chain = new MDCCapturingFilterChain();
|
||||
filter.doFilter(request, response, chain);
|
||||
@@ -96,6 +97,7 @@ public class MDCFilterTest extends AbstractTestBase {
|
||||
assertEquals("api/v1/repositories", chain.ctx.get(MDCFilter.MDC_REQUEST_URI));
|
||||
assertEquals("127.0.0.1", chain.ctx.get(MDCFilter.MDC_CLIEN_IP));
|
||||
assertEquals("localhost", chain.ctx.get(MDCFilter.MDC_CLIEN_HOST));
|
||||
assertEquals("GET", chain.ctx.get(MDCFilter.MDC_REQUEST_METHOD));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -223,6 +223,18 @@ public class AuthorizationCollectorTest {
|
||||
repositoryModified.setPermissions(Lists.newArrayList(new sonia.scm.repository.Permission("test123")));
|
||||
collector.onEvent(new RepositoryModificationEvent(repositoryModified, repository, HandlerEvent.CREATE));
|
||||
verify(cache).clear();
|
||||
|
||||
repositoryModified.setPermissions(
|
||||
Lists.newArrayList(new sonia.scm.repository.Permission("test", PermissionType.READ, true))
|
||||
);
|
||||
collector.onEvent(new RepositoryModificationEvent(repositoryModified, repository, HandlerEvent.CREATE));
|
||||
verify(cache, times(2)).clear();
|
||||
|
||||
repositoryModified.setPermissions(
|
||||
Lists.newArrayList(new sonia.scm.repository.Permission("test", PermissionType.WRITE))
|
||||
);
|
||||
collector.onEvent(new RepositoryModificationEvent(repositoryModified, repository, HandlerEvent.CREATE));
|
||||
verify(cache, times(3)).clear();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm.support</groupId>
|
||||
<artifactId>scm-support</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<name>scm-support</name>
|
||||
|
||||
<modules>
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
<parent>
|
||||
<groupId>sonia.scm.support</groupId>
|
||||
<artifactId>scm-support</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-support-btrace</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>scm-support-btrace</name>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<dependency>
|
||||
<groupId>sonia.scm</groupId>
|
||||
<artifactId>scm-core</artifactId>
|
||||
<version>1.48-SNAPSHOT</version>
|
||||
<version>1.49-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<!-- servlet api -->
|
||||
|
||||
Reference in New Issue
Block a user