This performance optimization results from the fact that during namespace loading, read permissions are no longer verified for every repository, but only for those that would result in a new namespace. Simply put: If a namespace has already been discovered, no further repositories within that namespace are checked.
We need the new function `streamAll` for this, because the `getAllRepositories` would create all repositories before returning them, which would make it impossible to intervene in time using the filter parameter.
- Fix startup issue with unfinished export of deleted repository
- Add withIgnoreReadOnly setting
- Build store with ignore read only flag
- Add logging
Squash commits of branch feature/hikari:
- Introduce HikariCP as connection pool
- Log change
- Close maintenance stores correctly
- Do not force minimum number of connections
- Log change
- Assert stores are closed correctly
... and test QueryableStoreDeletionHandler
- Fix license
- Fix unit tests
- Use constants
- Change change log
- Move hikari version to libraries
- Enhance documentation
- Use configuration for pool settings
Besides the endpoint, another API was added, the ShouldRequestPassChecker.
This api should be used to check whether a REST Request should be passed or rejected.
This adds the new "queryable store" API, that allows complex
queries and is backed by SQLite. This new API can be used
for entities annotated with the new QueryableType annotation.
Tasks.documentation.javadoc threw around 50 errors due to multiple inconsistencies within the javadoc comments.
Furthermore, the option 'failOnError' is now set to 'true' so that future Javadoc errors in our codebase are avoided.
Squash commits of branch feature/permission-updater:
- Add API for updating RepositoryPermissions
- Add licensing and logging
- Fix assertion depending on the order of item serialization
- Replace manual logger setup with @Slf4j annotation
To still support the editor plugin, a new field in the
browse command results is needed to indicate, whether
such a result or rather the requested revision can be
modified by a new commit.
This is the case, when
- for Subversion repositories either the new 'head' or the
latest revision has been requested, or
- for Git and HG when a branch (or the default by specifying
no concrete revision) has been used.
We need this setting to be able to display PDF files in the file view in Firefox (Chrome does this nonethelss, only Firefox seems to have a problem without this header).
Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
With this change,
- logs are only written to console when the server is started in foreground (prevents writing to scm-server.out file)
- the location of the log file is determined correctly, when it is configured with a relative path
- less logs are written to console on startup
- enabling file and console appenders via config.yml
This fixes the following security issue: If a user creates a new repository in a namespace this user had no permission to read any repository from, the user gets OWNER permissions on this namespace and all other permissions are removed from this namespace.
Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
A notification will be displayed when an external user
management system is activated to inform that users
created within the SCMM will not be transferred to the
external system.
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>