]> source.dussan.org Git - gitblit.git/log
gitblit.git
5 years agoAdd support for PBKDF2 to PasswordHash
Florian Zschocke [Tue, 5 Nov 2019 12:43:06 +0000 (13:43 +0100)]
Add support for PBKDF2 to PasswordHash

Integrate the work of pingunaut to add support for PBKDF2 password
hashing. A new class `PasswordHashPbkdf2` is added, which builds
on his `SecurePasswordHashUtils` class, but makes it a subclass
of `PasswordHash`. This will replace the original class when
integrating the new PasswordHash way into GitBlit.

5 years agoAdd a PasswordHash class as a central place to deal with password hashes.
Florian Zschocke [Tue, 5 Nov 2019 12:06:07 +0000 (13:06 +0100)]
Add a PasswordHash class as a central place to deal with password hashes.

Instead of having to deal with the implementation details of hashing
and verifying passwords in multiple places, have a central unit
be responsible for it. Otherwise we need to edit three different places
when adding a new hashing scheme.
With this class adding a new hashing scheme just requires creating a
new subclass of `PasswordHash` and registering its type in the enum
`PasswordHash.Type`.
The rest of the code will use a common interface for all hashing
schemes and doesn't need to be changed when a new one is added.

7 years agofix comment 1172/head
Martin Spielmann [Sat, 7 Jan 2017 12:58:07 +0000 (13:58 +0100)]
fix comment

7 years agoReplaced duplicated strings by using constant
Martin Spielmann [Sat, 7 Jan 2017 12:53:36 +0000 (13:53 +0100)]
Replaced duplicated strings by using constant

7 years agoUpdate AuthenticationManager to update weakly stored passwords on login
Martin Spielmann [Sat, 7 Jan 2017 12:47:42 +0000 (13:47 +0100)]
Update AuthenticationManager to update weakly stored passwords on login

7 years agoAdded possibility to use secure hashes to store passwords
Martin Spielmann [Sun, 1 Jan 2017 19:22:06 +0000 (20:22 +0100)]
Added possibility to use secure hashes to store passwords

Addresses #1166

7 years agoAdd test resources path `src/test/resources` to project configuration
Florian Zschocke [Mon, 19 Dec 2016 09:08:42 +0000 (10:08 +0100)]
Add test resources path `src/test/resources` to project configuration

7 years agoFix typo in defaults.properties.
Florian Zschocke [Fri, 16 Dec 2016 12:36:43 +0000 (13:36 +0100)]
Fix typo in defaults.properties.

7 years agoMerge pull request #1160 from fzs/sshLdapAuthenticator
Florian Zschocke [Sun, 18 Dec 2016 16:01:15 +0000 (17:01 +0100)]
Merge pull request #1160 from fzs/sshLdapAuthenticator

LDAP SSH key manager

7 years agoRemove duplicate import of class SecureRandom
Florian Zschocke [Thu, 15 Dec 2016 19:28:37 +0000 (20:28 +0100)]
Remove duplicate import of class SecureRandom

Fixes the build that was broken by cherry-picking commit 2be2c2,
which resulted in an import collision on the `SecureRandom` class.

7 years agoMerge pull request #1167 from fzs/secureCookies
James Moger [Wed, 14 Dec 2016 22:01:10 +0000 (17:01 -0500)]
Merge pull request #1167 from fzs/secureCookies

Secure cookies

7 years agoMerge branch 'rcaa-master' into master.
Florian Zschocke [Tue, 13 Dec 2016 15:56:59 +0000 (16:56 +0100)]
Merge branch 'rcaa-master' into master.

7 years agoMerge branch 'fixMentionsInTickets-985'
Florian Zschocke [Mon, 12 Dec 2016 21:59:12 +0000 (22:59 +0100)]
Merge branch 'fixMentionsInTickets-985'

7 years agoIntroduce SecureRandom wrapper for properly seeded static instances
Florian Zschocke [Sat, 10 Dec 2016 00:00:27 +0000 (01:00 +0100)]
Introduce SecureRandom wrapper for properly seeded static instances

Introduce our own wrapper `SecureRandom` around `java.security.SecureRandom`.
This a) makes sure that the PRNG is seeded on creation and not when
random bytes are retrieved, and
b) uses a static instance in the `UserModel` so that lags do not occur
during operation due to potentially seeding getting blocked on Unix
when reading from the system's entropy pool. To keep the random data
still secure, the static instance will reseed all 24 hours, also a
functionality of the wrapper class.

This fixes #1063 and extends and closes PR #1116

7 years agochanging Math.random to SecureRandom 1116/head
rcaa [Sun, 11 Dec 2016 22:12:27 +0000 (19:12 -0300)]
changing Math.random to SecureRandom

7 years agoFix user mention regular expression and group replacement. merged--fixMentionsInTickets-985
Florian Zschocke [Sat, 10 Dec 2016 15:02:21 +0000 (16:02 +0100)]
Fix user mention regular expression and group replacement.

The regular expression used for user mentions used to work
only inside sentences. Also, since it tested for whitespace, the
whitespace would get replaced, too, which would join lines together.

Instead the new regex uses boundary matchers to match against
word boundaires. As these are not capturing only the actual user
mention can be captured and is then replaced. Also, this way the
regex can ignore punctuation like in "@jim, look at this."

Since Gibtlit now requires Java 7 we can use named capture groups.
This makes the use of a centrally defined regular expression much
safer. The (admittedly only) group to capture the user name is named
"user" and can be referenced by this name. By using the name instead
of a group number, the regex could be changed without the code using
it breaking because the group number changed.

A simple test is added for user mentions, which unfortunately
has to deal with the full markdown replacement, too.

Fixes #985

7 years agoUse REGEX_TICKET_MENTION instead of hardcoded regular expression
Glenn Matthys [Fri, 8 Jan 2016 11:48:47 +0000 (12:48 +0100)]
Use REGEX_TICKET_MENTION instead of hardcoded regular expression

7 years agoIntroduce new constant REGEX_TICKET_MENTION
Glenn Matthys [Fri, 8 Jan 2016 11:48:21 +0000 (12:48 +0100)]
Introduce new constant REGEX_TICKET_MENTION

7 years agoSet secure session cookies when redirecting from HTTP to HTTPS. 1167/head merged--secureCookies
Florian Zschocke [Sat, 10 Dec 2016 10:30:28 +0000 (11:30 +0100)]
Set secure session cookies when redirecting from HTTP to HTTPS.

So far for session cookies the secure property was only set when no
HTTP port was opened. This changes to also set it when HTTP is redirected
to the HTTPS port.

7 years agoSet secure user cookies and only for HTTP.
Florian Zschocke [Sat, 10 Dec 2016 09:57:45 +0000 (10:57 +0100)]
Set secure user cookies and only for HTTP.

Mark the user authentication cookie to be only used for HTTP, making
it inaccessible for JavaScript engines.

If only HTTPS is used and no HTTP (i.e. also if HTTP is redirected to
HTTPS) then mark the user cookie to be sent only over secure connections.

7 years agoExtend documentation in default.properties and LdapKeyManager.java. 1160/head merged--sshLdapAuthenticator
Florian Zschocke [Mon, 5 Dec 2016 14:58:06 +0000 (15:58 +0100)]
Extend documentation in default.properties and LdapKeyManager.java.

7 years agoThe public key manager can disable writing keys, which hides commands
Florian Zschocke [Tue, 29 Nov 2016 21:08:50 +0000 (22:08 +0100)]
The public key manager can disable writing keys, which hides commands

Some public key mangers may be read-only, i.e. not allow to add or
delete keys, or to change the key comment or assigned permissions.
In such a case the respective commands should not be available on the
SSH shell and the SSH Keys panel should also not offer the possibility.

The `IPublicKeyManager` gets three new methods, modelled after the
`AuthenticationManager`:
`supportsWritingKeys`, `supportsCommentChanges` and
`supportsPermissionChanges`. They return true if a key manager allows for
keys to be written or updated.
For example the existing `FileKeyManager` will return true for all three
since it allows to store and update keys in a file.
The new `LdapKeyManager` returns false since it only accesses LDAP and
can not add or update any keys in the directory.
A future key manager might get keys from an LDAP directory but still
keep comments and permissions for it in a local copy.

If writing of keys is not supported:
* the welcome shell does not suggest adding a key,
* the `SshKeysDispatcher` does not offer the "add", "remove", "comment" and
  "permission" commands, and
* the SSH keys panel hides the "delete" button in the key list, and the
  "Add Key" form.

The hiding of the "Add key" form is not perfect since the surrounding
div is still shown, but I don't know how to hide it and it didn't look
too bad, either.

7 years agoFix SshKeysDispatcher test failing on Windows
Florian Zschocke [Tue, 29 Nov 2016 20:46:54 +0000 (21:46 +0100)]
Fix SshKeysDispatcher test failing on Windows

The `SshKeysDispatcher` tests that use the keys list command are failing
on Windows because they assume a Unix line ending after each key. But
the command will use a system line ending. So this fix uses system line
endings in the reference string for the assert, too.

In addition, two `assertTrue(false)ยด are replaced with a proper `fail`.

7 years agoUse dynamic port selection for LDAP listeners in LDAP tests.
Florian Zschocke [Sat, 26 Nov 2016 16:35:21 +0000 (17:35 +0100)]
Use dynamic port selection for LDAP listeners in LDAP tests.

Instead of using fixed ports for the listeners of the in-memory
LDAP server, let the listeners select ports and then save them in
the authentication mode instance. This way we prevent port collisions,
which especially showed up under Windows.

7 years agoRetrieve public SSH keys from LDAP.
Florian Zschocke [Fri, 25 Nov 2016 17:21:27 +0000 (18:21 +0100)]
Retrieve public SSH keys from LDAP.

Add new class `LdapPublicKeyManager` which retrieves public SSH keys
from LDAP.

The attribute can be configured with the new configuration option
`realm.ldap.sshPublicKey`. The setting can be a simple attribute name,
like `sshPublicKey`, or an attribute name and a prefix for the value,
like `altSecurityIdentities:SshKey`, in which case attributes are selected
that have the name `altSecurityIdentities` and whose values start with
`SshKey:`.

8 years agoExtract LdapConnection into new class from LdapAuthProvider
Florian Zschocke [Wed, 23 Nov 2016 01:59:39 +0000 (02:59 +0100)]
Extract LdapConnection into new class from LdapAuthProvider

Extract the inner class `LdapConnection` from the `LdapAuthProvider`
into a separate class, so that it can be used from multiple classes
that have to connect to an LDAP directory.
The new class is placed into the new package `com.gitblit.ldap`, since
it isn't specific to authentication.

8 years agoCreate base unit test class for LDAP tests.
Florian Zschocke [Wed, 23 Nov 2016 01:48:38 +0000 (02:48 +0100)]
Create base unit test class for LDAP tests.

Extract the creation of the in-memory servers and the interceptor
code to a base class that LDAP related unit tests can extend to
have the servers available.

8 years agoMerge pull request #1152 from fzs/fixAdminRoleLDAP
James Moger [Fri, 18 Nov 2016 23:51:20 +0000 (18:51 -0500)]
Merge pull request #1152 from fzs/fixAdminRoleLDAP

Set "can admin" permission on LDAP users and teams correctly

8 years agoSet "can admin" permission on LDAP users and teams correctly 1152/head merged--fixAdminRoleLDAP
Florian Zschocke [Fri, 18 Nov 2016 19:26:06 +0000 (20:26 +0100)]
Set "can admin" permission on LDAP users and teams correctly

The canAdmin permission is set on a LDAP user, when the user is listed
in `realm.ldap.admins` or is a member of a team listed in `realm.ldap.admins`.
This leads to inconsistent and surprising behaviour on the EditUser page
when clicking the "can admin" checkbox. Also, the "can admin" checkbox
is disabled, but not checked, for teams that are listed as admin teams.

The new behaviour implemented in this patch makes users and teams from
LDAP match local ones. That means:
* LDAP teams that are listed in `realm.ldap.admins` get the canAdmin
  property set if teams are maintained in LDAP.
* LDAP users that are listed in `realm.ldap.admins` get the canAdmin
  property set if teams are maintained in LDAP.
* LDAP users do not get the canAdmin property set, if they are only a
  member of a team listed in `realm.ldap.admins`.
* The `supportsRoleChanges` method for users and teams of the
  `LdapAuthProvider` unconditially returns false if teams are
  maintained in LDAP, not only for users and teams listed in
  `realm.ldap.admins`.
* Therefore, for all LDAP users and teams the "can admin" checkbox
  is always disabled if teams are maintained in LDAP.

8 years agoMerge pull request #1147 from tomaswolf/disabled_pager_links
James Moger [Mon, 14 Nov 2016 22:44:21 +0000 (17:44 -0500)]
Merge pull request #1147 from tomaswolf/disabled_pager_links

Fix disabled links in PagerPanel

8 years agoMerge pull request #1149 from fzs/fixLDAPbinding
James Moger [Mon, 14 Nov 2016 22:42:10 +0000 (17:42 -0500)]
Merge pull request #1149 from fzs/fixLDAPbinding

Fix LDAP binding strategies

8 years agoUpdate documentation for LDAP binding in default.properties. 1149/head merged--fixLDAPbinding
Florian Zschocke [Mon, 14 Nov 2016 19:18:07 +0000 (20:18 +0100)]
Update documentation for LDAP binding in default.properties.

Extend the comments for some realm.ldap.* properties to better explain
use cases and requirements.

8 years agoClean up `LdapAuthProvider` to properly cover different LDAP search scenarios.
Florian Zschocke [Fri, 11 Nov 2016 18:22:17 +0000 (19:22 +0100)]
Clean up `LdapAuthProvider` to properly cover different LDAP search scenarios.

Gitblit allows in its configuration to set a "manager" user (and password) which can be used
to search for the entry of a user wanting to log in. If they are both not set, an anonymous search
is attempted. In the description below, when I say "...as manager", it is either as manager or
anonymous.
So far the behaviour of Gitblit, with respect to binding to and searching in LDAP,
has been the following when a user logs in:

**bind as manager**
**search for the user**
_bind as the user_
_search for the teams_

I'll call this code flow A.

Later an additional configuration option had been added: `realm.ldap.bindpattern`.
(PR gitblit/gitblit#162) It was meant to allow for not using a manager nor anonymous binds,
by searching the directory as the user logging in.
This is done in code flow B:

**bind as manager**
_bind as user_
_search for user_
_search for teams_

Both A and B are flawed, I think. In A, it looks like a mistake to me that the binding stays with the
user after authentication. The problem that this causes is, that in LDAP server configurations
where normal users are not allowed to read groups, the team information cannot be retrieved.
I tried but failed to understand how B is supposed to work. There will always be a bind request
as either anonymous or the manager DN when the LDAP connection is created. If neither is
possible, the authentication process will fail and the user cannot log in.

When synchronizing users and teams from LDAP, the following code flow is exercised:

F:
**bind as manager**
**search for users**
**search for teams**

This patch fixes both code flows by introducing a new flow.

C:
**bind as manager**
**search for user**
_bind as user to authenticate_
**bind as manager**
**search for teams**

And it changes code flow B to the following code flow D:

_bind as user_
_search for user_
_search for teams_

With code flows A, C, D and F the following usage (and authentication) scenarios are covered.
They are described from the view of a Gitblit administrator's intent and his LDAP setup.

* Users and team should be snychronized with LDAP
This means anonymous or a fixed account must be able to read users and groups.
=> covered by C and F

As the above allows for authentication and is required for synchronisation, all the others below
do not cover synchronization.

* No anonymous binding allowed and no special manager binding required
This means that users must be able to read user an group entries.
=> covered by D

* The user DN needs to be searched, e.g. because they are not all under the same parent DN.
This means that anonymous or a fixed account must be able to read users.
-- anonymous or the "manager" account can also read groups
=> covered by C
-- anonymous or the "manager" account cannot read groups but a user can
=> covered by A

I therefore believe that the new code will cover all common use cases. The implementation
either directly binds as the user, when `bindpattern` is not empty, or it binds anonymous or
against the manger DN to search for the user DN entry.

If it directly bound against the user DN, the user is already authenticated. It will then only check
that the user DN it found in the search is identical to the one it is currently bound against. If it
was bound against a manager DN (or anonymously) it will bind against the found user DN to
authenticate the user logging in, and will then rebind against the manager DN.

When searching for groups in LDAP, if the search fails with a result code other than SUCCESS,
the implementation will bind against the user DN, if it isn't already bound against it. It will then
repeat the search for groups under the user authorization. This is to keep backwards
compatible with the original behaviour A, in order to not break cases where the LDAP setup
would deny a manager account to search for groups but allow it for normal users.

To achieve this the implementation introduces an internal `LdapConnection` class that wraps
the connection and keeps bind state, so that a rebind as a user is possible.
This also fixes a resource leak where the connection was not closed in case that the initial bind
as the manager account did not succeed.

This commit would fix gitblit/gitblit#920

8 years agoExtend LDAP tests to use LDAP servers with access restrictions.
Florian Zschocke [Wed, 9 Nov 2016 21:04:00 +0000 (22:04 +0100)]
Extend LDAP tests to use LDAP servers with access restrictions.

Add access restrictions to the LDAP test server instances.
New modes used a test parameters are ANONYMOUS, DS_MANAGER and USR_MANAGER.
ANONYMOUS can bind anonymously and access users and groups.
In DS_MANAGER the server requires authentication and will only allow
the DIRECTORY_MANAGER user to search for users and groups.
In USR_MANAGER only the user can search groups, the USER_MANAGER, which
is used to bind in this mode, can not.

A third server instance is created because I did fear side effects should
the tests be run in parallel, had I tried to configure the access
restriction in Before.

8 years agoExtend LDAP authentication tests to use different modes.
Florian Zschocke [Sun, 6 Nov 2016 17:09:32 +0000 (18:09 +0100)]
Extend LDAP authentication tests to use different modes.

Instantiate two LDAP servers, one that allows anonymous access, and
one that requires authentication for all operations.
The JUnit test is parameterized to run all tests with both instances.
It uses different settings for each mode.

8 years agoFix disabled links in PagerPanel 1147/head
Tom [Mon, 31 Oct 2016 06:50:26 +0000 (07:50 +0100)]
Fix disabled links in PagerPanel

Disabled links in the PagerPanel (used on the LuceneSearchPage to page
through search results) were only rendered as "disabled". The links
themselves remained active, which gives strange effects when clicked.
For instance it was possible to move to result pages -1, -2, and so on.

Really disable the links. Add missing CSS rules to have correct styling
as Wicket renders disabled links as spans, not anchors. Include the new
CSS file in BasePage.html. And add the left/right arrows only if not on
the first/last page.

8 years agoMerge pull request #1144 from fzs/logSendFailedException
James Moger [Fri, 28 Oct 2016 20:05:46 +0000 (16:05 -0400)]
Merge pull request #1144 from fzs/logSendFailedException

Improve logging when sending email fails.

8 years agoMerge pull request #1142 from fzs/merge-strategy
James Moger [Fri, 28 Oct 2016 20:04:40 +0000 (16:04 -0400)]
Merge pull request #1142 from fzs/merge-strategy

Merge strategy

8 years agoAdd merge type setting to repository page. 1142/head merged--merge-strategy
Florian Zschocke [Mon, 23 Jun 2014 02:12:19 +0000 (04:12 +0200)]
Add merge type setting to repository page.

The merge type is a per repository setting. Add it to the edit page.

8 years agoAdd integration strategy to merge tickes fast-forward or with commit.
Florian Zschocke [Sat, 21 Jun 2014 00:53:21 +0000 (02:53 +0200)]
Add integration strategy to merge tickes fast-forward or with commit.

Add the option to merge a ticket branch to the integration branch
only when it can be fast-forwarded, or
always with a merge commit, or
by fast-foward if possible, otherwise with a merge commit.

Adds a new property ticket.mergeType with the valid values
FAST_FOWARD_ONLY, MERGE_ALWAYS and MERGE_IF_NECESSARY.

Merging and canMerge were refactored to make use of a new
IntegrationStrategy class for each type of strategy.

8 years agoImprove logging when sending email fails. 1144/head merged-logSendFailedException
Florian Zschocke [Tue, 18 Nov 2014 22:53:33 +0000 (23:53 +0100)]
Improve logging when sending email fails.

8 years agoMerge pull request #1140 from tomaswolf/issue_1076
James Moger [Thu, 27 Oct 2016 14:52:33 +0000 (10:52 -0400)]
Merge pull request #1140 from tomaswolf/issue_1076

Issue #1076: load commit cache in a background thread

8 years agoIssue #1076: load commit cache in a background thread 1140/head
Tom [Wed, 26 Oct 2016 19:37:19 +0000 (21:37 +0200)]
Issue #1076: load commit cache in a background thread

* Make the CommitCache fully thread-safe. It was using a
  ConcurrentHashMap containing lists, but then handed out these lists.
  It also did multiple operations on that map that as a whole should
  be atomic.

* Use isEmpty() instead of size() == 0.

* Run the loading of the commit cache in a background daemon thread

8 years agoMerge pull request #1130 from larsmaes/patch-2
James Moger [Fri, 16 Sep 2016 18:24:20 +0000 (14:24 -0400)]
Merge pull request #1130 from larsmaes/patch-2

Spelling mistake fix

8 years agoSpelling mistake fix 1130/head
larsmaes [Fri, 16 Sep 2016 13:25:08 +0000 (15:25 +0200)]
Spelling mistake fix

pushedNewBranch was wrongly spelled

8 years agoremoving unecessary user cookie code
Rodrigo Andrade [Mon, 15 Aug 2016 21:24:24 +0000 (18:24 -0300)]
removing unecessary user cookie code

8 years agoremoving duplicated code for cookie genaration and adding random bytes to generate...
Rodrigo Andrade [Mon, 15 Aug 2016 21:20:28 +0000 (18:20 -0300)]
removing duplicated code for cookie genaration and adding random bytes to generate user cookies

8 years agoMerge pull request #1110 from WilliamFromTW/master
James Moger [Fri, 5 Aug 2016 12:33:31 +0000 (08:33 -0400)]
Merge pull request #1110 from WilliamFromTW/master

1.8.x tranditional chinese translation

8 years ago1.8.x tranditional chinese translation 1110/head
william [Thu, 4 Aug 2016 07:47:48 +0000 (15:47 +0800)]
1.8.x tranditional chinese translation

8 years ago1.8.x tranditional chinese translation after user experience 1109/head
william [Thu, 4 Aug 2016 06:07:34 +0000 (14:07 +0800)]
1.8.x tranditional chinese translation after user experience

8 years agoMerge pull request #1105 from guilliamxavier/patch-1
James Moger [Fri, 29 Jul 2016 15:10:00 +0000 (11:10 -0400)]
Merge pull request #1105 from guilliamxavier/patch-1

Fix &rt; to > in mail (in rename status line)

8 years agoFix &rt; to > in mail (in rename status line) 1105/head
Guilliam Xavier [Fri, 29 Jul 2016 08:36:58 +0000 (10:36 +0200)]
Fix &rt; to > in mail (in rename status line)

fixes #1104

8 years agoReset build identifiers for next point release cycle
James Moger [Wed, 22 Jun 2016 19:07:52 +0000 (15:07 -0400)]
Reset build identifiers for next point release cycle

8 years agoPrepare 1.8.0 release v1.8.0
James Moger [Wed, 22 Jun 2016 18:50:46 +0000 (14:50 -0400)]
Prepare 1.8.0 release

8 years agoUpdate documentation for 1.8.0 release
James Moger [Wed, 22 Jun 2016 18:45:55 +0000 (14:45 -0400)]
Update documentation for 1.8.0 release

8 years agoMerge pull request #1087 from mereth/issues/964-session-loss-redirects-to-start-page
Paul Martin [Sun, 19 Jun 2016 13:08:19 +0000 (14:08 +0100)]
Merge pull request #1087 from mereth/issues/964-session-loss-redirects-to-start-page

Fixes #964 - add missing redirect after restoring user in new session

8 years agoMerge pull request #1055 from gitblit/1048-TicketReferences
Paul Martin [Sat, 18 Jun 2016 20:29:25 +0000 (21:29 +0100)]
Merge pull request #1055 from gitblit/1048-TicketReferences

Ticket Reference handling #1048

8 years agoTicketReference Testing #1048 1055/head
Paul Martin [Sat, 18 Jun 2016 20:27:05 +0000 (21:27 +0100)]
TicketReference Testing #1048

+ Multiple commits in a single push

8 years agoadd missing redirect after restoring user in new session 1087/head
mereth [Tue, 14 Jun 2016 22:49:38 +0000 (00:49 +0200)]
add missing redirect after restoring user in new session

8 years agoMerge pull request #1084 from metasim/youtrack-hook
James Moger [Mon, 13 Jun 2016 18:18:11 +0000 (14:18 -0400)]
Merge pull request #1084 from metasim/youtrack-hook

Initial implementation of a JetBrains YouTrack hook for GitBlit.

8 years agoMerge pull request #1086 from dsteinkopf/master
James Moger [Mon, 13 Jun 2016 18:14:06 +0000 (14:14 -0400)]
Merge pull request #1086 from dsteinkopf/master

fix baseURL handling in HttpUtils, fixes #1083

8 years agofix baseURL handling in HttpUtils, fixes #1083 1086/head
Dirk Steinkopf [Sun, 12 Jun 2016 17:27:39 +0000 (19:27 +0200)]
fix baseURL handling in HttpUtils, fixes #1083

8 years agoInitial implementation of a JetBrains YouTrack hook for GitBlit. 1084/head
Simeon H.K. Fitch [Sat, 4 Jun 2016 00:40:37 +0000 (20:40 -0400)]
Initial implementation of a JetBrains YouTrack hook for GitBlit.

8 years agoMerge pull request #1073 from gitblit/1062-DocEditorUpdates
Paul Martin [Sat, 30 Apr 2016 08:19:14 +0000 (09:19 +0100)]
Merge pull request #1073 from gitblit/1062-DocEditorUpdates

Fixes #1062 - Upgraded to Prosemirror 0.6.1

8 years agoFixes #1062 - Upgraded to Prosemirror 0.6.1 1073/head
Paul Martin [Fri, 29 Apr 2016 21:39:46 +0000 (22:39 +0100)]
Fixes #1062 - Upgraded to Prosemirror 0.6.1

8 years agoMerge pull request #1070 from gitblit/1061-filestoreSortByDate
Paul Martin [Thu, 28 Apr 2016 19:43:17 +0000 (20:43 +0100)]
Merge pull request #1070 from gitblit/1061-filestoreSortByDate

Fixes #1061 - Most recent first on filestore page

8 years agoFixes #1061 - Most recent first on filestore page 1070/head
Paul Martin [Wed, 27 Apr 2016 23:53:42 +0000 (00:53 +0100)]
Fixes #1061 - Most recent first on filestore page

8 years agoTicket Reference handling #1048
Paul Martin [Wed, 27 Apr 2016 22:58:06 +0000 (23:58 +0100)]
Ticket Reference handling #1048

+ Supports referencing:
  + Tickets from other tickets via comments
  + Tickets from commits on any branch
+ Common TicketLink class used for both commits and tickets
  + TicketLink is temporary and persisted to ticket as a Reference
+ Support deletion of ticket references
  + Rebasing patchsets/branches will generate new references
  + Deleting old patchsets/branches will remove the relevant references
+ Substantial testing of use cases
  + With and without patchsets, deleting, amending
  + BranchTicketService used during testing to allow end-to-end ref testing
+ Relocated common git helper functions to JGitUtils

8 years agoUse getInteger not getFilesize, fixes #1049
James Moger [Wed, 20 Apr 2016 14:06:09 +0000 (10:06 -0400)]
Use getInteger not getFilesize, fixes #1049

8 years agoMerge pull request #1047 from yyjdelete/patch-1
Paul Martin [Sat, 16 Apr 2016 19:17:12 +0000 (20:17 +0100)]
Merge pull request #1047 from yyjdelete/patch-1

Use utf-8 for Javadoc

8 years agoMerge pull request #1060 from gitblit/966-Searching-Always-Over-All-Repositories
Paul Martin [Sat, 16 Apr 2016 18:46:30 +0000 (19:46 +0100)]
Merge pull request #1060 from gitblit/966-Searching-Always-Over-All-Repositories

fixes #966 to prevent always searching all repos

8 years agofixes #966 to prevent always searching all repos 1060/head
Paul Martin [Sat, 16 Apr 2016 15:41:45 +0000 (16:41 +0100)]
fixes #966 to prevent always searching all repos

8 years agoMerge pull request #1046 from gitblit/1028-FilterAndPagingForFilestorePage
Paul Martin [Mon, 11 Apr 2016 18:59:46 +0000 (19:59 +0100)]
Merge pull request #1046 from gitblit/1028-FilterAndPagingForFilestorePage

Fixes #1028 - FilestorePage now pages and filters

8 years agoSpecify encoding of javadoc to "utf-8" 1047/head
SilverFox [Fri, 8 Apr 2016 05:18:59 +0000 (13:18 +0800)]
Specify encoding of javadoc to "utf-8"

That will fix build of javadoc in Windows zh-cn (and maybe some other locale).
Unknown why javac works well.

8 years agoFixes #1028 - FilestorePage now pages and filters 1046/head
Paul Martin [Thu, 7 Apr 2016 23:01:14 +0000 (00:01 +0100)]
Fixes #1028 - FilestorePage now pages and filters

8 years agoMerge pull request #1039 from gitblit/962-Patchset-Revision-Delete
Paul Martin [Wed, 6 Apr 2016 18:49:09 +0000 (19:49 +0100)]
Merge pull request #1039 from gitblit/962-Patchset-Revision-Delete

Fix for #962 - Delete patchset ability

8 years agoFix for #962 - Delete patchset ability 1039/head
Paul Martin [Sun, 3 Apr 2016 19:30:22 +0000 (20:30 +0100)]
Fix for #962 - Delete patchset ability

8 years agoMerge pull request #1044 from gitblit/1042-IntrusiveFilestoreLozenge
Paul Martin [Wed, 6 Apr 2016 18:32:33 +0000 (19:32 +0100)]
Merge pull request #1044 from gitblit/1042-IntrusiveFilestoreLozenge

Fix for #1042 - Filestore items now shown as icons

8 years agoFix for #1042 - Filestore items now shown as icons 1044/head
Paul Martin [Wed, 6 Apr 2016 07:27:20 +0000 (08:27 +0100)]
Fix for #1042 - Filestore items now shown as icons

8 years agoMerge pull request #1045 from gitblit/882-HonourAllowNewTicketSetting
Paul Martin [Wed, 6 Apr 2016 18:28:09 +0000 (19:28 +0100)]
Merge pull request #1045 from gitblit/882-HonourAllowNewTicketSetting

Fixes #882 Honour allow new ticket setting

8 years agoFixes #882 Honour allow new ticket setting 1045/head
Paul Martin [Wed, 6 Apr 2016 18:25:19 +0000 (19:25 +0100)]
Fixes #882 Honour allow new ticket setting

8 years agoMerge pull request #1040 from gitblit/1037-EnforcePermissionsForTickets
Paul Martin [Tue, 5 Apr 2016 17:48:07 +0000 (18:48 +0100)]
Merge pull request #1040 from gitblit/1037-EnforcePermissionsForTickets

Fix for #1037 myTickets now honours permissions

8 years agoFix for #1037 myTickets now honours permissions 1040/head
Paul Martin [Mon, 4 Apr 2016 22:05:39 +0000 (23:05 +0100)]
Fix for #1037 myTickets now honours permissions

8 years agoMerge pull request #1035 from gitblit/1034-RepositoryPageLifecycle
Paul Martin [Fri, 1 Apr 2016 18:02:37 +0000 (19:02 +0100)]
Merge pull request #1035 from gitblit/1034-RepositoryPageLifecycle

Fix for #1034 Ticket Page Error

8 years agoFix for #1034 Ticket Page Error 1035/head
Paul Martin [Thu, 31 Mar 2016 07:47:56 +0000 (08:47 +0100)]
Fix for #1034 Ticket Page Error

8 years agoMerge pull request #1022 from gitblit/974-in-browser-doc-editor
Paul Martin [Mon, 28 Mar 2016 14:27:31 +0000 (15:27 +0100)]
Merge pull request #1022 from gitblit/974-in-browser-doc-editor

Support for editing documents in the browser #974

8 years agoFriendly URL for EditFile Page #974 1022/head
Paul Martin [Sun, 27 Mar 2016 16:05:38 +0000 (17:05 +0100)]
Friendly URL for EditFile Page #974

+ Prevent Edit of old doc version

8 years agoDisable edit links in read only mode #974
Paul Martin [Mon, 14 Mar 2016 22:50:03 +0000 (22:50 +0000)]
Disable edit links in read only mode #974

8 years agoUpdating ProseMirror to 0.4.0
Paul Martin [Wed, 24 Feb 2016 23:05:13 +0000 (23:05 +0000)]
Updating ProseMirror to 0.4.0

8 years agoDocument edit capability via ProseMirror submodule #974
Paul Martin [Mon, 11 Jan 2016 12:25:06 +0000 (12:25 +0000)]
Document edit capability via ProseMirror submodule #974

+ New docEdit page with links from docPage and docList
+ Bespoke menu system with full screen edit mode
+ npm required for building client side scripts
+ Ant script added for BuildUI which performs npm commands
+ Update font-awesome to 4.5.0
+ Factor out to JGitUtils common code in BranchTicketService for EditFilePage
+ getTreeEntries
+ commitIndex
+ Merge capability for document editing

8 years agoMerge pull request #1032 from gitblit/1031-FixForRepositoryPage
Paul Martin [Sun, 27 Mar 2016 15:46:26 +0000 (16:46 +0100)]
Merge pull request #1032 from gitblit/1031-FixForRepositoryPage

Fix for #1031 to display error message

8 years agoFix for #1031 to display error message 1032/head
Paul Martin [Sat, 26 Mar 2016 15:05:51 +0000 (15:05 +0000)]
Fix for #1031 to display error message

8 years agoMerge pull request #1027 from gitblit/1018-Filestore-downloads-filename
Paul Martin [Wed, 23 Mar 2016 20:33:25 +0000 (20:33 +0000)]
Merge pull request #1027 from gitblit/1018-Filestore-downloads-filename

Links to filestore items now download file with correct filename and extension

8 years agoFix for #1018 and #1025 browser LFS links 1027/head
Paul Martin [Mon, 21 Mar 2016 17:41:19 +0000 (17:41 +0000)]
Fix for #1018 and #1025 browser LFS links

+ View and Raw both download the actual file
+ Blame will show the metafile

8 years agoMerge pull request #988 from gitblit/976-raw-download-filestore-item
James Moger [Mon, 25 Jan 2016 16:55:58 +0000 (11:55 -0500)]
Merge pull request #988 from gitblit/976-raw-download-filestore-item

Fix for #976 - Filestore links via browser

8 years agoMerge pull request #1004 from RedShift1/ticket-#998-document-DH-keysize
James Moger [Sun, 17 Jan 2016 22:31:14 +0000 (17:31 -0500)]
Merge pull request #1004 from RedShift1/ticket-#998-document-DH-keysize

Ticket #998 document dh keysize

8 years agoTypo in setup_transport_http.mkd 1004/head
Glenn Matthys [Sun, 17 Jan 2016 22:15:53 +0000 (23:15 +0100)]
Typo in setup_transport_http.mkd

8 years agoDescribe how DH key bitlength can be influenced
Glenn Matthys [Sun, 17 Jan 2016 22:15:38 +0000 (23:15 +0100)]
Describe how DH key bitlength can be influenced

8 years agoMerge pull request #1003 from RedShift1/ticket-#997-doc-char-encoding
James Moger [Sun, 17 Jan 2016 22:13:13 +0000 (17:13 -0500)]
Merge pull request #1003 from RedShift1/ticket-#997-doc-char-encoding

Fix char encoding in setup_proxy.mkd

8 years agoFix char encoding in setup_proxy.mkd 1003/head
Glenn Matthys [Sun, 17 Jan 2016 21:50:31 +0000 (22:50 +0100)]
Fix char encoding in setup_proxy.mkd