]> source.dussan.org Git - gitblit.git/log
gitblit.git
2 years agoci: Update action versions in nightly build workflow
Florian Zschocke [Wed, 26 Oct 2022 17:13:08 +0000 (19:13 +0200)]
ci: Update action versions in nightly build workflow

Versions are updated for various actions that have a new version which
uses NodeJS 16.

One action has no updated version available yet:
`e1himself/goss-installation-action`
But an issue exists mentioning that it needs an update.

2 years agoci: Update action versions in push build workflow
Florian Zschocke [Wed, 26 Oct 2022 16:03:40 +0000 (18:03 +0200)]
ci: Update action versions in push build workflow

The workflow runs started issuing warnings because NodeJS 12 was
deprecated. Actions need to get updated to newer versions that use
NodeJS 16. This commit updates the `actions/checkout` and the
`actions/setup-java` actions to the latest version in the workflow that
builds on every push.

The new setup-java action requires the distribution to be specified,
since multiple JDK distributions are supported now. We chose Eclipse's
Temurin here which is the successor to AdoptOpenJDK, which we use for
development.

2 years agoci: Build pull requests, too
Florian Zschocke [Thu, 27 Oct 2022 21:33:30 +0000 (23:33 +0200)]
ci: Build pull requests, too

Build pull requests, just like we build on every push.

2 years agoMerge pull request #1429 from flaix/ssh-host-algs
Florian Zschocke [Tue, 25 Oct 2022 16:22:52 +0000 (18:22 +0200)]
Merge pull request #1429 from flaix/ssh-host-algs

Add new SSH host key types

2 years agoSkip SSH host key files that do not exist 1429/head
Florian Zschocke [Mon, 24 Oct 2022 22:00:03 +0000 (00:00 +0200)]
Skip SSH host key files that do not exist

Since we now do not generate a DSA host key file anymore, but keep it in
the list of potential keys so that existing keys still work, it can
happen that the files for DSA (and Ed25519) are getting loaded but they
do not exist. This results in an error in the log.
So instead check if the file exists and only try to load files that
exist. This prevents from errors (which are none) being spammed in the
log.

2 years agoAdd SSH host keys with ECDSA and Ed25519
Florian Zschocke [Mon, 24 Oct 2022 19:10:13 +0000 (21:10 +0200)]
Add SSH host keys with ECDSA and Ed25519

Create new host keys, one with ECDSA and one with Ed25519 algorithms.
For the Ed25519 currently the EdDSA library from i2p is used. This
requires some quirks, compared to a modern BouncyCastle. But the SSHD
library used cannot use BouncyCastle yet for Ed25519.

No DSA key is generated anymore, but we still support existing ones.

2 years agoformat: Cleanup formatting and whitespaces
Florian Zschocke [Sat, 22 Oct 2022 21:53:13 +0000 (23:53 +0200)]
format: Cleanup formatting and whitespaces

2 years agoUpdate BouncyCastle to version 1.69
Florian Zschocke [Sun, 9 Oct 2022 20:16:26 +0000 (22:16 +0200)]
Update BouncyCastle to version 1.69

The version 1.69 is chosen instead of 1.70, because the moxie build
would not download the jars, trying to download `...1.7.jar` instead.

Three class deprecations are fixed. `PEMWriter` and `X509Extension`
are replaced with their drop-in replacements `JcaPEMWriter` and
`Extension`. The `PasswordFinder` deprecation note says that "it is
no longer used". It also was never used in Gitblit's code, so it is
removed from the key par provider class.

2 years agoMerge pull request #1428 from urkle/fix-pt
Florian Zschocke [Sat, 22 Oct 2022 10:51:51 +0000 (12:51 +0200)]
Merge pull request #1428 from urkle/fix-pt

Correct is/is not usage in pt.py to not be used with the value is a literal

2 years agoMerge pull request #1427 from flaix/ssh-upate
Florian Zschocke [Sun, 16 Oct 2022 15:23:48 +0000 (17:23 +0200)]
Merge pull request #1427 from flaix/ssh-upate

Update SSHD to version 1.7.0 and add support for EdDSA user keys

2 years agoCorrect is/is not usage in pt.py to not be used with the value is a literal 1428/head
Edward Rudd [Mon, 10 Oct 2022 21:44:36 +0000 (17:44 -0400)]
Correct is/is not usage in pt.py to not be used with the value is a literal

- new python 3 versions warn/errors about this usage

2 years agoUpdate dependency MINA SSHD to version 1.7.0 1427/head
Florian Zschocke [Sat, 8 Oct 2022 20:22:54 +0000 (22:22 +0200)]
Update dependency MINA SSHD to version 1.7.0

2 years agoupgrade to sshd 1.6.0, add eddsa dependency, upgrade jgit to 4.1.2
ricardop [Wed, 3 Jan 2018 15:09:27 +0000 (16:09 +0100)]
upgrade to sshd 1.6.0, add eddsa dependency, upgrade jgit to 4.1.2

(cherry picked from commit d8fbdda2ab3fa48e92bdf37399d4b75c48409c5c@rpardini:master)

# Conflicts:
# .classpath
# build.moxie
# src/test/java/com/gitblit/tests/SshUnitTest.java

2 years agoMerge branch 'oddeirik-disable-client-certs' into master
Florian Zschocke [Sun, 14 Aug 2022 12:46:27 +0000 (14:46 +0200)]
Merge branch 'oddeirik-disable-client-certs' into master

2 years agoUse existing setting but with new values
Florian Zschocke [Sun, 14 Aug 2022 12:45:58 +0000 (14:45 +0200)]
Use existing setting but with new values

Instead of adding another setting and having to explain how the new one
and the existing `requireClientCertificates` setting are interdependent,
let's use the existing setting and add new values.

It is changed from a boolean to a string, with the values `required`,
`optional` and `disabled`. To keep backward compatibility with the old
values, the `true` value is mapped to `required` and the `false` value
is mapped to `optional`.

2 years agoMerge branch 'disable-client-certs' of github.com:oddeirik/gitblit into oddeirik...
Florian Zschocke [Sun, 14 Aug 2022 12:10:09 +0000 (14:10 +0200)]
Merge branch 'disable-client-certs' of github.com:oddeirik/gitblit into oddeirik-disable-client-certs

2 years agoMerge branch 'felazuris-fixpermdisplay' into master
Florian Zschocke [Sun, 7 Aug 2022 12:27:04 +0000 (14:27 +0200)]
Merge branch 'felazuris-fixpermdisplay' into master

This pulls in the rebased branch from PR #1100.

2 years agoRewrite fix without the additional List
Florian Zschocke [Sun, 7 Aug 2022 12:26:16 +0000 (14:26 +0200)]
Rewrite fix without the additional List

This also removes the additional Set. What changes is that the order of
the repositories is kept, but the resulting list will have user and team
permissions intertwined.

2 years agoAdd init test for getting repository permissions
Florian Zschocke [Sun, 7 Aug 2022 12:09:27 +0000 (14:09 +0200)]
Add init test for getting repository permissions

2 years agofix user effective permission display if users is in multiple groups with different...
kaspars.kurms [Mon, 11 Jul 2016 09:55:21 +0000 (12:55 +0300)]
fix user effective permission display if users is in multiple groups with different permissions

2 years agoMerge branch 'QuentinC-fix-tab-escape' into master
Florian Zschocke [Tue, 2 Aug 2022 20:10:58 +0000 (22:10 +0200)]
Merge branch 'QuentinC-fix-tab-escape' into master

The contribution branch was rebased to current master.
This should close #1065 as merged.

2 years agoAdd more tests for tab expansion
Florian Zschocke [Tue, 2 Aug 2022 19:54:08 +0000 (21:54 +0200)]
Add more tests for tab expansion

These show more clearly what the code is supposed to do.

2 years agoFix: if statement without curly braces
Quentin [Sun, 24 Apr 2016 21:29:09 +0000 (23:29 +0200)]
Fix: if statement without curly braces

2 years agoTab to space conversion testing
Quentin [Sun, 24 Apr 2016 13:49:07 +0000 (15:49 +0200)]
Tab to space conversion testing

2 years agoChanged tab to space conversion
Quentin [Mon, 18 Apr 2016 17:31:42 +0000 (19:31 +0200)]
Changed tab to space conversion

Tabs are not always 4 spaces large. It completes the line to the 4th
character.

2 years agoCreate SECURITY.md
Florian Zschocke [Mon, 20 Jun 2022 13:16:56 +0000 (15:16 +0200)]
Create SECURITY.md

This closes #1418

2 years agodoc: Merge release 1.9.3 info into releases.moxie
Florian Zschocke [Sat, 9 Apr 2022 17:29:17 +0000 (19:29 +0200)]
doc: Merge release 1.9.3 info into releases.moxie

2 years agoci: Add debug logging to nightly build
Florian Zschocke [Sat, 9 Apr 2022 16:28:32 +0000 (18:28 +0200)]
ci: Add debug logging to nightly build

For some reason the secret gate doesn't work and the main Gitblit
repo also attempts to deploy the nightly to Docker which must fail.

2 years agopages: Fix link for GitExtension, which moved to Github
Florian Zschocke [Sat, 9 Apr 2022 16:17:43 +0000 (18:17 +0200)]
pages: Fix link for GitExtension, which moved to Github

2 years agodoc: Fix download link for fedclient ad api tar
Florian Zschocke [Sat, 9 Apr 2022 16:10:38 +0000 (18:10 +0200)]
doc: Fix download link for fedclient ad api tar

It was still pointing to Google Code.

This closes #1408

2 years agodoc: Fix links for dependencies that moved from Google Code
Florian Zschocke [Sat, 9 Apr 2022 16:09:51 +0000 (18:09 +0200)]
doc: Fix links for dependencies that moved from Google Code

2 years agoMerge branch '1410-vulnerability-userdb' into master
Florian Zschocke [Mon, 14 Mar 2022 19:09:20 +0000 (20:09 +0100)]
Merge branch '1410-vulnerability-userdb' into master

Merge fix branch from 1.9 mainenance line into
master branch.

2 years agofix: Fix StoredUserConfig not escaping control characters 1411/head
Florian Zschocke [Sun, 13 Mar 2022 17:03:17 +0000 (18:03 +0100)]
fix: Fix StoredUserConfig not escaping control characters

The `StoredUserConfig` only escaped the escape character, i.e. backslash.
But it does not escape control characters like tab or newline. This
introduces a vulnerability where an attacker can create new entries
in their user account and create new accounts.
In addition, other characters are also not properly handled. Field values
with a comment character need to be quoted. This only happens for the
`#` character and only when the value starts with it. Also the quote
is note escaped in values.

This change completely rewrites the `escape` method of `StoredUserConfig`.
It takes care of properly escaping characters that need escaping for the
git configuration file format.

This fixes #1410

2 years agofix: Fix StoredUserConfig handling null subsections
Florian Zschocke [Sun, 13 Mar 2022 16:48:19 +0000 (17:48 +0100)]
fix: Fix StoredUserConfig handling null subsections

Te `StoredUserConfig` did not handle sections without a subsection.
When the subsection did not exist, i.e. was `null`, then the subsection
name would be set to the string "null". This is not how the config file
format works. It should create a `[SECTIONNAME]` entry instead.

This fix handles a `null` subsection correctly, by handling it as a
section without a subsection.

2 years agotest: Add exploit test for config user service
Florian Zschocke [Sat, 12 Mar 2022 19:59:27 +0000 (20:59 +0100)]
test: Add exploit test for config user service

Add unit tests for exploiting the email address or display name
in the config user service by using newlines in the values.

2 years agoReset build identifiers for next point release cycle
Florian Zschocke [Sat, 12 Mar 2022 18:50:48 +0000 (19:50 +0100)]
Reset build identifiers for next point release cycle

2 years agoide: Adjust IDE project files to javax.mail 1.5.6
Florian Zschocke [Sun, 6 Feb 2022 19:01:28 +0000 (20:01 +0100)]
ide: Adjust IDE project files to javax.mail 1.5.6

2 years agoUpdate javax.mail to 1.5.6
paladox [Sat, 18 Mar 2017 15:46:12 +0000 (15:46 +0000)]
Update javax.mail to 1.5.6

2 years agoMerge branch 'pr-1219' into master
Florian Zschocke [Sun, 6 Feb 2022 18:05:16 +0000 (19:05 +0100)]
Merge branch 'pr-1219' into master

This merges rebased and enhanced pull request #1219

2 years agoci: Remove Java 7 build
Florian Zschocke [Sun, 6 Feb 2022 14:25:36 +0000 (15:25 +0100)]
ci: Remove Java 7 build

2 years agobuild: Comment out option used for Java 7
Florian Zschocke [Sun, 6 Feb 2022 14:25:05 +0000 (15:25 +0100)]
build: Comment out option used for Java 7

2 years agodoc: Update documentation for new Java 8 minimum
Florian Zschocke [Sun, 6 Feb 2022 14:24:33 +0000 (15:24 +0100)]
doc: Update documentation for new Java 8 minimum

2 years agoUpdate readme for new min java version
paladox [Sat, 18 Mar 2017 19:18:18 +0000 (19:18 +0000)]
Update readme for new min java version

2 years agoBump min java support to 1.8
paladox [Sat, 18 Mar 2017 19:17:34 +0000 (19:17 +0000)]
Bump min java support to 1.8

Fixes #1218

2 years agoci: Transition to ICO image labels
Florian Zschocke [Sun, 6 Feb 2022 14:07:14 +0000 (15:07 +0100)]
ci: Transition to ICO image labels

2 years agoci: Allow to force build a nightly version
Florian Zschocke [Sun, 14 Nov 2021 11:03:46 +0000 (12:03 +0100)]
ci: Allow to force build a nightly version

Enable a switch for manual workflow triggering that overrides the check
if a new commits were made since the last build. If the input is set to
'true', a new build is run even when no new commits are present.

This is mainly so that changes to the gitblit-docker repo can be included
in builds. This could also be automated in the workflow, if need be.

2 years agoci: Test nightly docker image with Goss before pushing to registry
Florian Zschocke [Sat, 13 Nov 2021 22:32:48 +0000 (23:32 +0100)]
ci: Test nightly docker image with Goss before pushing to registry

2 years agoci: Add workflow for a nightly build of docker image
Florian Zschocke [Fri, 12 Nov 2021 11:58:24 +0000 (12:58 +0100)]
ci: Add workflow for a nightly build of docker image

2 years agoReadme: Fix link to nightly docker image
Florian Zschocke [Sat, 5 Feb 2022 16:50:03 +0000 (17:50 +0100)]
Readme: Fix link to nightly docker image

The link to the nightly docker images points to the actual image layer,
which is removed when a new nightly is pushed.
Instead, we should point to the images page, filtering on the tag 'nightly'.

2 years agoReset build identifiers for next minor release cycle
Florian Zschocke [Sat, 5 Feb 2022 15:51:19 +0000 (15:51 +0000)]
Reset build identifiers for next minor release cycle

2 years agoPrepare 1.9.2 release v1.9.2
flaix [Sat, 5 Feb 2022 15:27:55 +0000 (15:27 +0000)]
Prepare 1.9.2 release

2 years agosite: Fix awful HTML indentation
Florian Zschocke [Thu, 3 Feb 2022 19:25:45 +0000 (20:25 +0100)]
site: Fix awful HTML indentation

2 years agosite: Old packages moved from Bintray to Cloudsmith
Florian Zschocke [Thu, 3 Feb 2022 19:25:24 +0000 (20:25 +0100)]
site: Old packages moved from Bintray to Cloudsmith

Since Bintray seized operation, the packages for versions 1.4.0 - 1.8.0
have been uploaded to Cloudsmith. Adjust the links appropriately.

An attribution is added to comply with Cloudsmith's OSS hosting policy.

2 years agobuild: Determine release version with simple grep
Florian Zschocke [Thu, 13 Jan 2022 17:19:14 +0000 (18:19 +0100)]
build: Determine release version with simple grep

To determine what the release version is to be, use a simple grep over
the moxie.build file and cut off the `-SNAPSHOT` part. The moxie
tag command doesn't do anything else, either. But the problem is that
when using the moxie tag command on the release branch, where the
version has already been set to a release version, it would create
a second release version, like so: 1.9.2-1.

2 years agobuild: Allow for updating an existing draft release
Florian Zschocke [Thu, 16 Dec 2021 22:46:28 +0000 (23:46 +0100)]
build: Allow for updating an existing draft release

When creating a release draft and uploading assets, provision for the case
that a draft release already exists. In that case, instead of creating a
release, the existing release (changelog) is edited and the assets are
deleted before the new built ones are uploaded.

This commit also introduces the `${gh.repo}` property in build.xml,
so that the Github project could be chosen dynamically. Not really needed,
to be honest, but, yeah, whatever.

2 years agobuild: Add target to determine and report release version
Florian Zschocke [Thu, 16 Dec 2021 22:41:42 +0000 (23:41 +0100)]
build: Add target to determine and report release version

2 years agoBuild: create macro for creating the release process script
Florian Zschocke [Thu, 30 Jan 2020 20:47:12 +0000 (21:47 +0100)]
Build: create macro for creating the release process script

Refactor the creation of the release process script, from
`release.template` into a `macrodef`.
Add a new target `releaseScript`, so that the release script can be
created after the `tagRelease` target was run.
This is helpful if the `tagRelease` target is run by a different,
earlier process than the actual release creation process.

2 years agodoc: Update release notes
Florian Zschocke [Fri, 10 Dec 2021 13:14:34 +0000 (14:14 +0100)]
doc: Update release notes

2 years agoUpdate japanese translation
Takehide Morimoto [Tue, 27 Oct 2020 01:17:05 +0000 (10:17 +0900)]
Update japanese translation

2 years agoDetect and report if running in container
Florian Zschocke [Thu, 9 Dec 2021 23:10:04 +0000 (00:10 +0100)]
Detect and report if running in container

To help with analysis, try to detect if the instance is running inside
a container. Some containers are detected, but this is probably not
exhaustive. At least a Docker container should be detectable.
Report in the runtime manager to the log if a container was detected.

2 years agorun: Put variables in quotes in shell scripts
Florian Zschocke [Thu, 9 Dec 2021 20:34:17 +0000 (21:34 +0100)]
run: Put variables in quotes in shell scripts

2 years agoreadme: Add shields for license and nightly docker date
Florian Zschocke [Tue, 7 Dec 2021 21:01:04 +0000 (22:01 +0100)]
readme: Add shields for license and nightly docker date

2 years agopages: Fix repo-relative reference links in markdown docs
Florian Zschocke [Mon, 6 Dec 2021 20:03:04 +0000 (21:03 +0100)]
pages: Fix repo-relative reference links in markdown docs

As with explicit links, also for reference links in markdown documents
which point to repository-relative files the links are broken. They do
not take the path to the repository into account.
This fix is related to commit b23269 which fixed issue #1358
for explicit links.

2 years agoMerge branch 'fix-864' into master
Florian Zschocke [Sat, 4 Dec 2021 14:15:50 +0000 (15:15 +0100)]
Merge branch 'fix-864' into master

Merge fix for issue #864.

2 years agobug: Fix double encoding links in Markdown/Wiki pages
Florian Zschocke [Sat, 4 Dec 2021 14:05:58 +0000 (15:05 +0100)]
bug: Fix double encoding links in Markdown/Wiki pages

When parsing Markdown or Wiki pages, links get URL encoded. This happened
twice for links to other documents. Once explicitly and once by Wicket
when it creates a `urlFor` the page. That results in multi-byte
characters getting percent escaped, and then the percent character again
getting percent escaped.
The explicit encoding looks like a forgotten left over, so it gets
removed from the code. The Wicket encoding is smarter anyways, knowing
what is path and what is parameter.

This fixes #864.

2 years agoAdd tests for MarkupProcessor
Florian Zschocke [Thu, 25 Nov 2021 23:29:56 +0000 (00:29 +0100)]
Add tests for MarkupProcessor

2 years agodeps: Update to Jetty 9.2.30.v20200428
Florian Zschocke [Thu, 25 Nov 2021 15:59:43 +0000 (16:59 +0100)]
deps: Update to Jetty 9.2.30.v20200428

This closes #1390

2 years agoUpdate contributing guidelines
Florian Zschocke [Thu, 2 Dec 2021 21:05:50 +0000 (22:05 +0100)]
Update contributing guidelines

And, link to the contributing guidelines from the Readme.

2 years agodocs: Update release notes
Florian Zschocke [Thu, 25 Nov 2021 15:48:45 +0000 (16:48 +0100)]
docs: Update release notes

2 years agodocs: Update docker URL
Florian Zschocke [Thu, 25 Nov 2021 14:28:18 +0000 (15:28 +0100)]
docs: Update docker URL

Update the URL to the Gitblit docker image to point to the
`gitblit/gitblit` repository, which I now consider the official
Docker repository.
Also link to the Docker images on the main page.

2 years agodocs: Change Ohloh link to Open Hub
Florian Zschocke [Thu, 25 Nov 2021 13:48:18 +0000 (14:48 +0100)]
docs: Change Ohloh link to Open Hub

Ohloh got acquired by Synopsis and is nor Open Hub.
Change the Ohloh link in the links menu to point to Open Hub.

2 years agoChange bugtraq link for issues to Github
Florian Zschocke [Thu, 25 Nov 2021 16:17:31 +0000 (17:17 +0100)]
Change bugtraq link for issues to Github

3 years agoFixes external links broken in markdown rendering (#1392)
TomaszSzt [Thu, 18 Nov 2021 14:38:54 +0000 (15:38 +0100)]
Fixes external links broken in markdown rendering (#1392)

* This commit fixes what was broken in commit
https://github.com/gitblit/gitblit/commit/b23269acc0f460f583311c679d751925b8402563
due to #1358 issue

3 years agoFix NPE
Tom [Wed, 23 Nov 2016 17:30:48 +0000 (18:30 +0100)]
Fix NPE

Although it seems strange to have a RefModel with a referenced object
but a null Ref, Gitblit uses such RefModels for instance in
JGitUtils.getNotesOnCommit().

Be careful to do something sensible when that Ref is null.

3 years agoIssue #1011: do not serialize JGit commit objects
Tom [Wed, 26 Oct 2016 20:49:56 +0000 (22:49 +0200)]
Issue #1011: do not serialize JGit commit objects

JGit commit objects are a recursive data structure; they have links to
their parent commits. Serializing a JGit commit will try to recursively
serialize all reachable ancestors as faras they have been loaded. If
that ancestor chain is too long, a StackOverflowError is thrown during
Wicket's page serialization if a page has a reference to sucha JGit
commit.

Fixed by making sure that pages o not contain references to JGit
commits. Use the (existing) wrapper object RepositoryCommit instead.

* RepositoryCommit has a transient reference to the JGit commit and
  reads the commit from the repository upon de-serialization.
* RefModel is a similar case (JGit tags/branches may also have links
  to the commits they point to). Solved a bit differently by making it
  a pure data object by transferring the interesting data from the JGit
  object in the constructor.
* Change DataViews instantiated with RevCommit to use RepositoryCommit
  instead.
* Change inner anonymous DataViews to ensure they do not have a
  synthesized field referencing the "allRefs" map. Such a synthesized
  field would also get serialized, and then serialize JGit commits
  again.

Finally, remove non-transient logger instances in Wicket classes. Those
might lead to NotSerializableException.

These StackOverflowErrors have been reported in several places since
2014:

* https://groups.google.com/forum/#!topic/gitblit/GH1d8WSlR6Q
* https://bugs.chromium.org/p/gerrit/issues/detail?id=3316
* https://groups.google.com/d/msg/repo-discuss/Kcl0JIGNiGk/0DjH4mO8hA8J
* https://groups.google.com/d/msg/repo-discuss/0_P6A3fjTec/2kcpVPIUAQAJ
* https://github.com/gitblit/gitblit/issues/1011
* https://github.com/tomaswolf/gerrit-gitblit-plugin/issues/21

3 years agoMerge branch pr1343 into master
Florian Zschocke [Wed, 3 Nov 2021 19:18:44 +0000 (20:18 +0100)]
Merge branch pr1343 into master

Merge the edited PR #1343 from @vhot2076. This merge only includes the
russian translation.

I could not reproduce the layout error, so a new PR with more information
should be created if the problem still exists. This merge closes #1343

3 years agoAdd test for loading russian properties
Florian Zschocke [Wed, 3 Nov 2021 19:14:50 +0000 (20:14 +0100)]
Add test for loading russian properties

3 years agoAdding Russian Translate Добавлен русский язык
Vladimir A [Thu, 16 Jul 2020 11:26:51 +0000 (14:26 +0300)]
Adding Russian Translate Добавлен русский язык

3 years agoMerge pull request #1383 from flaix/encode-raw-links
Florian Zschocke [Tue, 26 Oct 2021 17:52:20 +0000 (19:52 +0200)]
Merge pull request #1383 from flaix/encode-raw-links

raw: URL encode the links to raw view of files

3 years agoraw: URL encode the links to raw view of files 1383/head
Florian Zschocke [Sun, 24 Oct 2021 15:55:36 +0000 (17:55 +0200)]
raw: URL encode the links to raw view of files

So far links to raw view were not encoded. The browser did some encoding
of spaces on its own, which the servlet would unescape, since it uses
the `HttpServletRequest.getPathInfo` method. That decodes the path
before returning it.
A problem arises when a bracket is in the file (or folder) name. The
brackets are the characters that are not allowed in the path, according
to the `URI.parse` method. (Which is a bit harsh, because brackets
actually are only reserved for the host part since IPv6.) That means
that the decoding fails when a bracket character is encountered.
This went unnoticed since the failed decoding will return the path
as it got it. But once there is a space in the file name, which the
browser helpfully encoded for us, the failed decoding will now leave the
encoded space in there. And that will result in a path that does not
exist, e.g. `file%20[a]`.

To be on the safe side, we simply encode the path in the links that we
generate, so that it complies with the rules that are used in `getPathInfo`.

This fixes #1375.

3 years agoMerge pull request #1382 from flaix/wip-fix-daysAgo
Florian Zschocke [Sat, 23 Oct 2021 23:48:39 +0000 (01:48 +0200)]
Merge pull request #1382 from flaix/wip-fix-daysAgo

Fix incorrect display of "days ago" on activity page

3 years agoTimeUtils: Change daysAgo to calculate difference in calendar days 1382/head
Florian Zschocke [Sat, 23 Oct 2021 22:44:18 +0000 (00:44 +0200)]
TimeUtils: Change daysAgo to calculate difference in calendar days

The `daysAgo` method seemed to want to normalize on a calendar day? I
can't really tell what it was trying to do, but the problem is that it
does not take into account any time shift due to time zones so it never
really worked outside of GMT.
So instead a new `calendarDaysAgo` method is added (because I am unsure
on what the `daysAgo` method is trying to do. It can probably be removed).
The new method cleanly calculates difference in calendar days because it
normalizes the two given time stamps on the same time zone.

The `timeAgo` method now used the new method. This fixes #1248.

3 years agoTimeUtils: Move unit test to same package as TimeUtils is
Florian Zschocke [Sat, 23 Oct 2021 21:41:25 +0000 (23:41 +0200)]
TimeUtils: Move unit test to same package as TimeUtils is

For some reason the `TimeUtilsTest` class is, like almost all tests, in
the `com.gitblit.tests` package. But this way all methods in classes
which we might predominately need for tests have to be public.
So move the unit test class `TimeUtilsTest` to the same package as the
class it is testing, i.e. `com.gitblit.utils.TimeUtils`.
This way we ca set the new added methods which get the current time
passed in to be at least not public.

3 years agoTimeUtils: Increase testability and add tests
Florian Zschocke [Sat, 23 Oct 2021 21:20:47 +0000 (23:20 +0200)]
TimeUtils: Increase testability and add tests

Add tests for `timeAgo` to analyse issue #1248.
The tests are dependent on when they run as they time functions use the
current date and time. To make them testable in a reproducible way, we
need the ability to pass in what we think is "now". So add overloaded
methods that take a `now` parameter so that we can pass in the current
time.

3 years agoMerge pull request #1381 from edram/master
Florian Zschocke [Fri, 22 Oct 2021 18:05:15 +0000 (20:05 +0200)]
Merge pull request #1381 from edram/master

Fix mirrored http(s) with a username and password

3 years agoMerge pull request #1380 from flaix/fix-resource-bundle
Florian Zschocke [Fri, 22 Oct 2021 17:47:06 +0000 (19:47 +0200)]
Merge pull request #1380 from flaix/fix-resource-bundle

Fix resource bundle

3 years agoFix mirrored http(s) with a username and password 1381/head
edram [Fri, 22 Oct 2021 06:54:03 +0000 (14:54 +0800)]
Fix mirrored http(s) with a username and password

This fixes #1059

3 years agoProperty bundle: Fix typo in "nl" language file 1380/head
Florian Zschocke [Thu, 21 Oct 2021 20:42:34 +0000 (22:42 +0200)]
Property bundle: Fix typo in "nl" language file

3 years agoProperty bundle: Fix various errors with escapes
Florian Zschocke [Thu, 21 Oct 2021 20:42:04 +0000 (22:42 +0200)]
Property bundle: Fix various errors with escapes

Double escaped backslashes, wrongly escaped unicode codes, broken escaped
newlines.

3 years agoProperty bundle: Fix incorrect property keys
Florian Zschocke [Thu, 21 Oct 2021 20:03:12 +0000 (22:03 +0200)]
Property bundle: Fix incorrect property keys

Some property keys had typos.
There is a `gb.ticketStatus` and a `gb.ticketState`. Neither is used
anywhere in the code, but only the former is defined in the default file.
So only use `gb.ticketStatus`.

3 years agoEscape non-ASCII characters in the GitBlitWebApp_pt_BR.properties file
Florian Zschocke [Thu, 21 Oct 2021 19:30:11 +0000 (21:30 +0200)]
Escape non-ASCII characters in the GitBlitWebApp_pt_BR.properties file

If keeps acting up when trying to stage parts of it. I hope this fixes that.

3 years agofix: Remove trailing spaces from property bundle files
Florian Zschocke [Thu, 21 Oct 2021 19:26:46 +0000 (21:26 +0200)]
fix: Remove trailing spaces from property bundle files

3 years agofix: Remove duplicate property keys from properties files
Florian Zschocke [Thu, 21 Oct 2021 19:02:11 +0000 (21:02 +0200)]
fix: Remove duplicate property keys from properties files

Some property keys were duplicated, mostly `status`, `permission` and
`comment`.
The problem with `gb.comment` is, that it is used in two different
locations in two different meanings. One as a verb, the second as a
noun. Which makes no difference in English, but other languages.
The solution is that the second key is renamed to `gb.sshKeyComment`.
The code is adjusted accordingly.

3 years agoMerge pull request #1379 from flaix/fix-no-properties
Florian Zschocke [Thu, 21 Oct 2021 06:41:00 +0000 (08:41 +0200)]
Merge pull request #1379 from flaix/fix-no-properties

Fix norwegian properties file

3 years agoAdd a unit test to check if the resource bundle can be loaded 1379/head
Florian Zschocke [Wed, 20 Oct 2021 19:05:02 +0000 (21:05 +0200)]
Add a unit test to check if the resource bundle can be loaded

To prevent that we have a resource file in a resource bundle broken and
not loading undiscovered for years, add a unit test that will load the
resource properties file for each of the languages.
In order to check if the file was loaded and the bundle mechanism
didn't fall back on the default, a new property key is added to each
language file, solely for the purpose to be checked in the unit test.

3 years agoFix a wrong unicode escape in the Norsk language properties file
Florian Zschocke [Wed, 20 Oct 2021 18:34:32 +0000 (20:34 +0200)]
Fix a wrong unicode escape in the Norsk language properties file

This fixes #834

3 years agoMerge pull request #1370 from Zwixx/master
Florian Zschocke [Wed, 21 Jul 2021 18:05:56 +0000 (20:05 +0200)]
Merge pull request #1370 from Zwixx/master

This commit merges the pull request from Zwixx, with additional
changes via a separate Zwixx-fix-cmds branch.

Closes #1370

3 years agoFix output of migrate-/reindex-tickets bash scripts
Florian Zschocke [Wed, 21 Jul 2021 07:58:55 +0000 (09:58 +0200)]
Fix output of migrate-/reindex-tickets bash scripts

Fix the output of the help texts in the reindex-tickets and
reindex-tickets bash scripts.
For one the double quotes are unnecessary and get printed out, too.
Secondly, an empty line needs a `echo.`. A simple `echo` will prin the
state of the echo setting, i.e. `Echo is enabled (1)` or something similar.

3 years agoSet local variable visibility in batch scripts
Florian Zschocke [Wed, 21 Jul 2021 07:54:27 +0000 (09:54 +0200)]
Set local variable visibility in batch scripts

Use SETLOCAL in batch scripts to restrict the visibility of variables
that are set in the script to the script execution. Otherwise the variables
will also be set in the calling shell. That is not a problem when a script
is executed by double clicking it in Windows Explorer. But now that the
scripts are changed so that they can be called on the command line from
other folders, they should also no clutter the calling environment.

3 years agoAdjust remaining CMD scripts to use Gitblit home path.
Florian Zschocke [Wed, 21 Jul 2021 07:50:59 +0000 (09:50 +0200)]
Adjust remaining CMD scripts to use Gitblit home path.

Use the path of the script for the Gitblit home path in the remaining
batch scripts, too, to make it possible to call them from any other folder.