aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.junit.http
Commit message (Collapse)AuthorAgeFilesLines
* Prepare 4.9.4-SNAPSHOT buildsMatthias Sohn2018-07-312-11/+11
| | | | | Change-Id: Ibb2ee9d00d5d049f681e1abbb449656105e553a7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v4.9.3.201807311005-rv4.9.3.201807311005-rMatthias Sohn2018-07-312-2/+2
| | | | | Change-Id: I3f4f437649736c6a27e78d536344c7b31c8a0f65 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.9.3-SNAPSHOT buildsMatthias Sohn2017-12-162-11/+11
| | | | | Change-Id: Ife3f2b0b5407227f89ded42358adbf01d53e14cf Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v4.9.2.201712150930-rv4.9.2.201712150930-rMatthias Sohn2017-12-152-2/+2
| | | | | Change-Id: I013964045d532659a4be3b81d6612b59bc9ffb14 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.9.2-SNAPSHOT buildsMatthias Sohn2017-12-032-11/+11
| | | | Change-Id: I5879ad4aee94ff6783b5589728912117f2495dd3 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v4.9.1.201712030800-rv4.9.1.201712030800-rMatthias Sohn2017-12-032-2/+2
| | | | | Change-Id: I8bf477778c9dac41cb65233a9e7d590531a836b7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Ignore warning for minor version change without API changeMatthias Sohn2017-11-241-1/+11
| | | | | | | | - this is a new warning option in Eclipse 4.7 and higher - we always change version of all bundles in a release to keep release engineering simple Change-Id: Ic7523d77b67b2802f1bab3bc70af250d712a034f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.9.1-SNAPSHOT buildsMatthias Sohn2017-10-082-11/+11
| | | | | Change-Id: Ic49fd093d3fe4324c4d83aba74033040fcaa37a6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v4.9.0.201710071750-rv4.9.0.201710071750-rMatthias Sohn2017-10-072-2/+2
| | | | | Change-Id: I487f6aa3d0c4ef1d57f91cdc36177d994ae24c51 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Handle SSL handshake failures in TransportHttpThomas Wolf2017-09-131-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a https connection could not be established because the SSL handshake was unsuccessful, TransportHttp would unconditionally throw a TransportException. Other https clients like web browsers or also some SVN clients handle this more gracefully. If there's a problem with the server certificate, they inform the user and give him a possibility to connect to the server all the same. In git, this would correspond to dynamically setting http.sslVerify to false for the server. Implement this using the CredentialsProvider to inform and ask the user. We offer three choices: 1. skip SSL verification for the current git operation, or 2. skip SSL verification for the server always from now on for requests originating from the current repository, or 3. always skip SSL verification for the server from now on. For (1), we just suppress SSL verification for the current instance of TransportHttp. For (2), we store a http.<uri>.sslVerify = false setting for the original URI in the repo config. For (3), we store the http.<uri>.sslVerify setting in the git user config. Adapt the SmartClientSmartServerSslTest such that it uses this mechanism instead of setting http.sslVerify up front. Improve SimpleHttpServer to enable setting it up also with HTTPS support in anticipation of an EGit SWTbot UI test verifying that cloning via HTTPS from a server that has a certificate that doesn't validate pops up the correct dialog, and that cloning subsequently proceeds successfully if the user decides to skip SSL verification. Bug: 374703 Change-Id: Ie1abada9a3d389ad4d8d52c2d5265d2764e3fb0e Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Partially revert c0ad77d8 "Enhance Eclipse save actions"Matthias Sohn2017-08-301-1/+1
| | | | | | | | Do not automatically organize imports using a save action since this seems to be buggy and removed some annotations org.eclipse.jgit.pgm needs to use args4j. Change-Id: I5a91292c3b9241ce2dde3e4ecce14ad460097129 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Partially revert c0ad77d8 "Enhance Eclipse save actions"Matthias Sohn2017-08-301-2/+2
| | | | | | | | | | | | | | | | | | | | Revert the following save actions which were introduced in c0ad77d8: - always use braces around blocks - remove unused imports Other than I expected save actions are run globally on edited files - and not only on edited code lines only. Hence revert the save action "Convert control statement bodies to blocks" which would affect a large number of code lines not affected by the change editing some small part of a class. This would generate a large number of changes which may lead to many unnecessary conflicts. Total number of affected lines across jgit would be around 10k lines. Also revert "Remove unused imports" since it erroneously removes imports of some annotations needed by pgm classes using args4j. Change-Id: I879a47f68e664129e6124cf25c1ae1f6a2d7a5aa Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Enhance Eclipse save actionsMatthias Sohn2017-08-281-7/+12
| | | | | | | | | | | | | | | | | | | | | Add the following Eclipse save actions executed when saving modified lines. This should help to reduce manual work needed to maintain a clean and consistent code style: - organize imports - always use braces around blocks - add missing annotations - @Override including implementation of interface methods - @Deprecated - remove - unused imports - unnecessary $NON-NLS$ tags - redundant type arguments Also add default values for new settings that were introduced in recent Eclipse versions up to Neon since we updated save rules the last time. Change-Id: Idc90b249df044d0552f04edf01a5f607c4846f50 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Do authentication re-tries on HTTP POSTThomas Wolf2017-08-221-10/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is at least one git server out there (GOGS) that does not require authentication on the initial GET for info/refs?service=git-receive-pack but that _does_ require authentication for the subsequent POST to actually do the push. This occurs on GOGS with public repositories; for private repositories it wants authentication up front. Handle this behavior by adding 401 handling to our POST request. Note that this is suboptimal; we'll re-send the push data at least twice if an authentication failure on POST occurs. It would be much better if the server required authentication up-front in the GET request. Added authentication unit tests (using BASIC auth) to the SmartClientSmartServerTest: - clone with authentication - clone with authentication but lacking CredentialsProvider - clone with authentication and wrong password - clone with authentication after redirect - clone with authentication only on POST, but not on GET Also tested manually in the wild using repositories at try.gogs.io. That server offers only BASIC auth, so the other paths (DIGEST, NEGOTIATE, fall back from DIGEST to BASIC) are untested and I have no way to test them. * public repository: GET unauthenticated, POST authenticated Also tested after clearing the credentials and then entering a wrong password: correctly asks three times during the HTTP POST for user name and password, then gives up. * private repository: authentication already on GET; then gets applied correctly initially to the POST request, which succeeds. Also fix the authentication to use the credentials for the redirected URI if redirects had occurred. We must not present the credentials for the original URI in that case. Consider a malicious redirect A->B: this would allow server B to harvest the user credentials for server A. The unit test for authentication after a redirect also tests for this. Bug: 513043 Change-Id: I97ee5058569efa1545a6c6f6edfd2b357c40592a Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Add support to follow HTTP redirectsThomas Wolf2017-08-173-12/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git-core follows HTTP redirects so JGit should also provide this. Implement config setting http.followRedirects with possible values "false" (= never), "true" (= always), and "initial" (only on GET, but not on POST).[1] We must do our own redirect handling and cannot rely on the support that the underlying real connection may offer. At least the JDK's HttpURLConnection has two features that get in the way: * it does not allow cross-protocol redirects and thus fails on http->https redirects (for instance, on Github). * it translates a redirect after a POST to a GET unless the system property "http.strictPostRedirect" is set to true. We don't want to manipulate that system setting nor require it. Additionally, git has its own rules about what redirects it accepts;[2] for instance, it does not allow a redirect that adds query arguments. We handle response codes 301, 302, 303, and 307 as per RFC 2616.[3] On POST we do not handle 303, and we follow redirects only if http.followRedirects == true. Redirects are followed only a certain number of times. There are two ways to control that limit: * by default, the limit is given by the http.maxRedirects system property that is also used by the JDK. If the system property is not set, the default is 5. (This is much lower than the JDK default of 20, but I don't see the value of following so many redirects.) * this can be overwritten by a http.maxRedirects git config setting. The JGit http.* git config settings are currently all global; JGit has no support yet for URI-specific settings "http.<pattern>.name". Adding support for that is well beyond the scope of this change. Like git-core, we log every redirect attempt (LOG.info) so that users may know about the redirection having occurred. Extends the test framework to configure an AppServer with HTTPS support so that we can test cloning via HTTPS and redirections involving HTTPS. [1] https://git-scm.com/docs/git-config [2] https://kernel.googlesource.com/pub/scm/git/git/+/6628eb41db5189c0cdfdced6d8697e7c813c5f0f [3] https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html CQ: 13987 Bug: 465167 Change-Id: I86518cb76842f7d326b51f8715e3bbf8ada89859 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Add missing newlines at ends of Java filesDavid Pursehouse2017-07-251-1/+1
| | | | | Change-Id: Iead36f53d57ead0eb3edd3f9efb63b6630c9c20c Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Prepare 4.9.0-SNAPSHOT buildsMatthias Sohn2017-05-302-11/+11
| | | | | Change-Id: I52a4153d573799e861ab104939f51fac1aceb9ee Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Update jetty to 9.4.5Mat Booth2017-05-113-26/+35
| | | | | | | | | | * Adapt to API removals in jetty 9.4+ * Manifests changed to restrict jetty to [9.4.5,10.0.0) Bug: 514336 Bug: 516514 Change-Id: Ifcfd968084dfa6db0ae07cf541d33a6cdedc1ee2 Signed-off-by: Mat Booth <mat.booth@redhat.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fix unnecessary type paramatersShawn Pearce2017-04-221-1/+1
| | | | | | Can be inferred by the compiler. Change-Id: If880ddfb7d7af2be70729d0c9f73c7c821b9c652
* Bazel: Restrict src globs to Java source filesDavid Pursehouse2017-04-131-1/+1
| | | | | | | | | | | | | | | | Generating the src list with an unrestricted wildcard causes all files in the source tree to be included. This results in junk files such as .orig (generated during merge conflict resolution) to be included, which causes in a build error: in srcs attribute of java_library rule //org.eclipse.jgit:jgit: file '//org.eclipse.jgit:src/org/eclipse/jgit/gitrepo/RepoCommand.java.orig' is misplaced here (expected .java, .srcjar or .properties). Modify the globs to only include Java source files. Change-Id: Iaef3db33ac71d71047cd28acb0378e15cb09ece9 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Add missing @Override annotations in AppServer.TestMappedLoginServiceMatthias Sohn2017-04-091-0/+2
| | | | Change-Id: Ia728f1d033ecdf96b22945bc1ae38e5cb11064dd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.8.0-SNAPSHOT buildsMatthias Sohn2017-04-052-11/+11
| | | | | Change-Id: Ifea6750e79d417a8a2a891b3b5f96d68c7200011 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge branch 'stable-4.6'Matthias Sohn2017-04-024-33/+32
|\ | | | | | | | | | | | | | | | | * stable-4.6: Update Jetty to 9.3.17.v20170317 Revert "Update Jetty to 9.4.1.v20170120 in buck build" Revert "Update Jetty to 9.4.1.v20170120" Change-Id: I9193b568cce9c72da899a8f3eaaf833956438e13 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Update Jetty to 9.3.17.v20170317Matthias Sohn2017-04-021-10/+10
| | | | | | | | | | | | | | | | Update to the latest 9.3 version until we have a solution for bug 514336 we face with 9.4.x versions. Change-Id: I6d8d476abe8677ce865a08099bb77330effc700a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Revert "Update Jetty to 9.4.1.v20170120 in buck build"Matthias Sohn2017-04-011-1/+0
| | | | | | | | | | | | This reverts commit d3b80b951c0bf995f7d210710e3d31e9d529efe2. Change-Id: I596ba596f3e857346020e01b0a018d90a0b27edd
| * Revert "Update Jetty to 9.4.1.v20170120"David Pursehouse2017-03-314-23/+21
| | | | | | | | | | | | This reverts commit e05caf91f1df86a95d3e0454000d345bb90a415e. Change-Id: Ia4287f130034a790759b5035505a093b4616a05a
| * Prepare 4.6.2-SNAPSHOT buildsMatthias Sohn2017-03-072-11/+11
| | | | | | | | | | Change-Id: I8835f79145e6a989787d47322c3d8cb9baf0624a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v4.6.1.201703071140-rv4.6.1.201703071140-rMatthias Sohn2017-03-072-2/+2
| | | | | | | | | | Change-Id: I842dc95313e5b47b0b7ec983c4a0a91915ed4183 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Update Jetty to 9.4.1.v20170120 in buck buildJonathan Nieder2017-03-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5e8e2179b218ede7d14b69dc5149b0691b5859cf (Update Jetty to 9.4.1.v201470120, 2017-01-26) updated Jetty in the maven build. Update the buck build to match so buck builds work again. The buck build will go away soon, but in the meantime (until the bazel build gets the same level of support) it is convenient as a faster way of running tests than using maven. The bazel build doesn't need this change since it doesn't build or run http tests yet. Change-Id: Ibbdaf2880e76b32fc9f6b5605a2ff29e3deffda2 (cherry picked from commit 2470f01d0f8bca4c8c754475846c83b9f99c93b8)
| * Update Jetty to 9.4.1.v20170120Matthias Sohn2017-03-064-21/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | MappedLoginService is no longer available in Jetty 9.4 therefore base TestLoginService on AbstractLoginService. Apparently Jetty now uses slf4j hence adapt RecordingLogger accordingly so we can log error messages containing slf4j style formatting anchors "{}". Change-Id: Ibb36aba8782882936849b6102001a88b699bb65c Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> (cherry picked from commit 5e8e2179b218ede7d14b69dc5149b0691b5859cf)
* | Downgrade jetty to 9.3.9.v20160517Matthias Sohn2017-03-311-10/+10
| | | | | | | | | | | | | | This works around the problems we faced with jetty 9.4.3.v20170317. Bug: 514336 Change-Id: I7e9dd539414624d71587c55cb436b843949aa296 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Require jetty 9.4.0 consistentlyMatthias Sohn2017-03-301-8/+9
| | | | | | | | Change-Id: If9de4c0e43850dec46858bd58e9692a7e099cbc3
* | Raise minimum version of o.e.jetty.security to 9.4.0Matthias Sohn2017-03-251-2/+2
| | | | | | | | | | | | | | This is required since we now use AbstractLoginService which was introduced in Jetty 9.4.0. Change-Id: Iee6e4ae456123099f7a99cc53c5ae02fd43bfa46 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Remove Buck buildDavid Pursehouse2017-03-221-19/+0
| | | | | | | | | | | | Buck will be replaced with Bazel Change-Id: I3cf07d7aaaa2a58bac34e16c50af5416693254ac Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Add remaining parts of the bazel buildDavid Ostrovsky2017-03-211-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add bazel build for ui and junit.http, and the test packages. A number of different test labels are supported: api attributes dfs diff http lfs lfs-server nls notes pack patch pgm reftree revplot revwalk storage submodule symlinks transport treewalk util To run all tests: bazel test //... To run specific tests, using labels: bazel test --test_tag_filters=api,dfs,revplot,treewalk //... Change-Id: Ic41b05a79d855212e67b1b4707e9c6b4dc9ea70d Signed-off-by: David Ostrovsky <david@ostrovsky.org> Signed-off-by: Jonathan Nieder <jrn@google.com>
* | Update Jetty to 9.4.1.v20170120 in buck buildJonathan Nieder2017-02-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5e8e2179b218ede7d14b69dc5149b0691b5859cf (Update Jetty to 9.4.1.v201470120, 2017-01-26) updated Jetty in the maven build. Update the buck build to match so buck builds work again. The buck build will go away soon, but in the meantime (until the bazel build gets the same level of support) it is convenient as a faster way of running tests than using maven. The bazel build doesn't need this change since it doesn't build or run http tests yet. Change-Id: Ibbdaf2880e76b32fc9f6b5605a2ff29e3deffda2
* | Enable and fix warnings about redundant specification of type argumentsDavid Pursehouse2017-02-207-12/+12
| | | | | | | | | | | | | | | | | | | | Since the introduction of generic type parameter inference in Java 7, it's not necessary to explicitly specify the type of generic parameters. Enable the warning in Eclipse, and fix all occurrences. Change-Id: I9158caf1beca5e4980b6240ac401f3868520aad0 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | Enable and fix 'Should be tagged with @Override' warningDavid Pursehouse2017-02-197-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set missingOverrideAnnotation=warning in Eclipse compiler preferences which enables the warning: The method <method> of type <type> should be tagged with @Override since it actually overrides a superclass method Justification for this warning is described in: http://stackoverflow.com/a/94411/381622 Enabling this causes in excess of 1000 warnings across the entire code-base. They are very easy to fix automatically with Eclipse's "Quick Fix" tool. Fix all of them except 2 which cause compilation failure when the project is built with mvn; add TODO comments on those for further investigation. Change-Id: I5772061041fd361fe93137fd8b0ad356e748a29c Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | Update Jetty to 9.4.1.v20170120Matthias Sohn2017-02-194-21/+23
| | | | | | | | | | | | | | | | | | | | | | MappedLoginService is no longer available in Jetty 9.4 therefore base TestLoginService on AbstractLoginService. Apparently Jetty now uses slf4j hence adapt RecordingLogger accordingly so we can log error messages containing slf4j style formatting anchors "{}". Change-Id: Ibb36aba8782882936849b6102001a88b699bb65c Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Prepare 4.7.0-SNAPSHOT buildsMatthias Sohn2016-12-272-11/+11
|/ | | | | Change-Id: I20754d13007e6591d36aae5766f3a9a82b24e120 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.6.1-SNAPSHOT buildsMatthias Sohn2016-12-242-11/+11
| | | | | Change-Id: I6b05a6f6c3f92365c272e1bdaf76093ca01f2d58 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v4.6.0.201612231935-rv4.6.0.201612231935-rMatthias Sohn2016-12-242-2/+2
| | | | | Change-Id: Iaa88fe1b195dfe6be99a7b4cb064684e75563715 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* AppServer: Remove unnecessary 'unused' suppressionsDavid Pursehouse2016-09-221-4/+2
| | | | | Change-Id: Ic27106f38af14833147f739179c3ef8ec6b6ee31 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Change JGit minimum execution environment to JavaSE-1.8Matthias Sohn2016-09-203-5/+5
| | | | | Bug: 500059 Change-Id: I47f3f6749a67da52029f84e002d9b155ed56d2b7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.6.0-SNAPSHOT buildsMatthias Sohn2016-09-192-11/+11
| | | | | Change-Id: Id2eafc331ee32c332c2a9b867b05c260beb0d10f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fix non-parameterized generic type warningMatthias Sohn2016-08-081-1/+3
| | | | Change-Id: Ib857166f64420aebf7c31d72825cac44bd770dbd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Ignore 'The value of exception parameter is not used' warningDavid Pursehouse2016-07-261-0/+1
| | | | | Change-Id: I50407e4a33e35b718ca40503fdd436f1f9f70fba Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Fix AppServer build errors in Eclipse with <4.6 target platformsMatthias Sohn2016-07-141-18/+27
| | | | | | | | | | | | 9aa3748 added dummy implementations for loadRoleInfo() and loadUserInfo() to class MappedLoginService to fix compile errors in Eclipse when using 4.6 target platform which brings Jetty 9.3 adding these two methods. Unfortunately this causes errors when using non 4.6 target platform coming with an older Jetty version. Fix this by extracting the anonymous subclass of MappedLoginService which allows to suppress the unused private method errors in Eclipse. Change-Id: I75baeea7ff4502ce9ef2b541b3c0555da5535d79 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Implement new abstract MappedLoginService methods added in Jetty 9.3Matthias Sohn2016-07-111-0/+8
| | | | | | | | Eclipse Neon comes with Jetty 9.3 which is causing unimplemented abstract method errors in test class AppServer when using the JGit or EGit Neon target platform. Fix this by adding dummy implementations. Change-Id: Ie49107d814a846997de95f149e91fe1ec2fbe4d8 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.5.0-SNAPSHOT buildsMatthias Sohn2016-06-012-11/+11
| | | | | Change-Id: I572fe9fea0e5ca0bec4648c916ae95a5b1ccf125 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>