summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Prepare 1.9.3 releasev1.9.3flaix2022-04-092-10/+10
|
* pages: Fix link for GitExtension, which moved to GithubFlorian Zschocke2022-04-0913-13/+13
|
* doc: Fix download link for fedclient ad api tarFlorian Zschocke2022-04-092-2/+2
| | | | | | It was still pointing to Google Code. This closes #1408
* doc: Fix links for dependencies that moved from Google CodeFlorian Zschocke2022-04-092-6/+6
|
* Readme: Fix link to nightly docker imageFlorian Zschocke2022-03-141-1/+1
| | | | | | 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'.
* doc: Update release notesFlorian Zschocke2022-03-141-3/+24
|
* Merge pull request #1411 from gitblit/1410-vulnerability-userdb into mixup-1.9Florian Zschocke2022-03-143-6/+382
|\ | | | | Fix vulnerability in config user service backend
| * fix: Fix StoredUserConfig not escaping control charactersFlorian Zschocke2022-03-132-3/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * fix: Fix StoredUserConfig handling null subsectionsFlorian Zschocke2022-03-132-2/+65
| | | | | | | | | | | | | | | | | | | | 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.
| * test: Add exploit test for config user serviceFlorian Zschocke2022-03-121-1/+126
|/ | | | | Add unit tests for exploiting the email address or display name in the config user service by using newlines in the values.
* Reset build identifiers for next point release cycleFlorian Zschocke2022-03-122-2/+20
|
* Prepare 1.9.2 releasev1.9.2flaix2022-02-052-10/+10
|
* site: Fix awful HTML indentationFlorian Zschocke2022-02-031-18/+18
|
* site: Old packages moved from Bintray to CloudsmithFlorian Zschocke2022-02-032-2/+3
| | | | | | | 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.
* build: Determine release version with simple grepFlorian Zschocke2022-02-011-6/+9
| | | | | | | | | 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.
* build: Allow for updating an existing draft releaseFlorian Zschocke2022-02-012-30/+366
| | | | | | | | | | | 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.
* build: Add target to determine and report release versionFlorian Zschocke2022-02-011-2/+30
|
* Build: create macro for creating the release process scriptFlorian Zschocke2022-02-011-27/+60
| | | | | | | | | 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.
* doc: Update release notesFlorian Zschocke2022-02-011-1/+4
|
* Update japanese translationTakehide Morimoto2022-01-156-170/+1271
|
* Detect and report if running in containerFlorian Zschocke2021-12-102-0/+76
| | | | | | | 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.
* run: Put variables in quotes in shell scriptsFlorian Zschocke2021-12-093-4/+4
|
* readme: Add shields for license and nightly docker dateFlorian Zschocke2021-12-071-1/+3
|
* pages: Fix repo-relative reference links in markdown docsFlorian Zschocke2021-12-062-15/+40
| | | | | | | | 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.
* Merge branch 'fix-864' into masterFlorian Zschocke2021-12-042-5/+734
|\ | | | | | | Merge fix for issue #864.
| * bug: Fix double encoding links in Markdown/Wiki pagesFlorian Zschocke2021-12-041-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Add tests for MarkupProcessorFlorian Zschocke2021-12-041-0/+734
|/
* deps: Update to Jetty 9.2.30.v20200428Florian Zschocke2021-12-034-5/+6
| | | | This closes #1390
* Update contributing guidelinesFlorian Zschocke2021-12-022-5/+32
| | | | And, link to the contributing guidelines from the Readme.
* docs: Update release notesFlorian Zschocke2021-12-021-4/+24
|
* docs: Update docker URLFlorian Zschocke2021-11-252-3/+7
| | | | | | | 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.
* docs: Change Ohloh link to Open HubFlorian Zschocke2021-11-251-2/+2
| | | | | Ohloh got acquired by Synopsis and is nor Open Hub. Change the Ohloh link in the links menu to point to Open Hub.
* Change bugtraq link for issues to GithubFlorian Zschocke2021-11-251-1/+1
|
* Fixes external links broken in markdown rendering (#1392)TomaszSzt2021-11-181-0/+16
| | | | | * This commit fixes what was broken in commit https://github.com/gitblit/gitblit/commit/b23269acc0f460f583311c679d751925b8402563 due to #1358 issue
* Fix NPETom2021-11-031-7/+3
| | | | | | | | 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.
* Issue #1011: do not serialize JGit commit objectsTom2021-11-0313-97/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge branch pr1343 into masterFlorian Zschocke2021-11-036-0/+867
|\ | | | | | | | | | | | | | | 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
| * Add test for loading russian propertiesFlorian Zschocke2021-11-032-0/+13
| |
| * Adding Russian Translate Добавлен русский языкVladimir A2021-11-035-0/+854
|/
* Merge pull request #1383 from flaix/encode-raw-linksFlorian Zschocke2021-10-261-1/+3
|\ | | | | raw: URL encode the links to raw view of files
| * raw: URL encode the links to raw view of filesFlorian Zschocke2021-10-241-1/+3
|/ | | | | | | | | | | | | | | | | | | | | | 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.
* Merge pull request #1382 from flaix/wip-fix-daysAgoFlorian Zschocke2021-10-244-116/+774
|\ | | | | Fix incorrect display of "days ago" on activity page
| * TimeUtils: Change daysAgo to calculate difference in calendar daysFlorian Zschocke2021-10-242-1/+476
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * TimeUtils: Move unit test to same package as TimeUtils isFlorian Zschocke2021-10-233-8/+10
| | | | | | | | | | | | | | | | | | | | 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.
| * TimeUtils: Increase testability and add testsFlorian Zschocke2021-10-232-8/+189
|/ | | | | | | | | 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.
* Merge pull request #1381 from edram/masterFlorian Zschocke2021-10-221-1/+9
|\ | | | | Fix mirrored http(s) with a username and password
| * Fix mirrored http(s) with a username and passwordedram2021-10-221-1/+9
| | | | | | | | This fixes #1059
* | Merge pull request #1380 from flaix/fix-resource-bundleFlorian Zschocke2021-10-2215-361/+343
|\ \ | |/ |/| Fix resource bundle
| * Property bundle: Fix typo in "nl" language fileFlorian Zschocke2021-10-211-1/+1
| |
| * Property bundle: Fix various errors with escapesFlorian Zschocke2021-10-213-21/+21
| | | | | | | | | | Double escaped backslashes, wrongly escaped unicode codes, broken escaped newlines.