summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.junit.http
Commit message (Collapse)AuthorAgeFilesLines
* Prepare 5.0.0-SNAPSHOT buildsMatthias Sohn2018-03-082-11/+11
| | | | | Change-Id: I2d2f50ed8a12f310e7cac68eed5536bd460c403f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.11.1-SNAPSHOT buildsMatthias Sohn2018-03-082-11/+11
| | | | | Change-Id: Id9aa6b7e8f56de5183b6cd57ef0e790ec9debd4d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v4.11.0.201803080745-rv4.11.0.201803080745-rMatthias Sohn2018-03-082-2/+2
| | | | | Change-Id: Ie24a33bc8a24c30db06fe7b175f405efb95776ec Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Enable warning for resources not managed by try-with-resourceDavid Pursehouse2018-03-031-1/+1
| | | | | Change-Id: Iefe97de6bdb62af558f1b0e77c9205a9186f9b4c Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Configure Semaphore used in TestRequestLog to be fairMatthias Sohn2018-02-221-1/+1
| | | | | Bug: 528187 Change-Id: I26c94ad7f802fc1dbe72d63a7ea346dc6e19ff94 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fix indentation in TestRequestLogMatthias Sohn2018-02-221-75/+76
| | | | | | We use tabs to indent. Change-Id: I19b00e06becfb92fbabb99b5699385506fd85214 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.11.0-SNAPSHOT buildsMatthias Sohn2017-12-312-11/+11
| | | | | Change-Id: I5d5e2befcf530d93457d44684bd9e4fc2392e5eb Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Add header Automatic-Module-Name for Java 9Karsten Thoms2017-12-231-0/+1
| | | | | | Bug: 529075 Change-Id: I4532ce2c80eb91531d46026676502d636ccda706 Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fix remaining javadoc errors raised by doclintMatthias Sohn2017-12-211-1/+1
| | | | | | | For now ignore doclint "missing" warnings. Change-Id: I0e5af7a757f4d92ffeeb113f30576a35414d6781 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Remove redundant @SuppressWarnings("unused")David Pursehouse2017-12-181-8/+4
| | | | | | | These are now redundant since the parameters have javadoc. Change-Id: I6bfde267e1712ee35871c30c8203c3b4dc5e136a Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Fix javadoc in org.eclipse.jgit.junit.httpMatthias Sohn2017-12-177-16/+284
| | | | | Change-Id: I8af6d07676a285f79635405e5891535a5adfd7e9 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Specify consistent version range for junit in OSGi manifestsDavid Pursehouse2017-12-081-1/+1
| | | | | | | | | | There are several different version ranges specified in the various manifest files. Align them all to the same range: [4.12,5.0.0) Change-Id: I02205b8b8546c9f53ed431b5fd9abf6ddcda4423 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Merge branch 'stable-4.9'Matthias Sohn2017-11-241-1/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-4.9: Ignore warning for minor version change without API change Silence boxing warning Prepare 4.5.5-SNAPSHOT builds JGit v4.5.4.201711221230-r Fix LockFile semantics when running on NFS Honor trustFolderStats also when reading packed-refs Prepare 4.5.4-SNAPSHOT builds JGit v4.5.3.201708160445-r Change-Id: Icc33d2e36f140e8714fce088379673a8834ae9de
| * 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>
* | Prepare 4.10.0-SNAPSHOT buildsMatthias Sohn2017-10-082-11/+11
|/ | | | | Change-Id: I5ca462d1db18a2c5c9382cfb9c83972510fa2b88 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>