aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.ssh.apache.agent
Commit message (Collapse)AuthorAgeFilesLines
* Prepare 6.7.0-SNAPSHOT buildsMatthias Sohn2023-08-033-4/+4
| | | | Change-Id: I936d2d9106a1e3b7a98ec89fec8ae8a92ec765f2
* JGit v6.7.0.202308011830-m2v6.7.0.202308011830-m2Matthias Sohn2023-08-023-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I255a979e9f48f60a251ef7b74ced3f720f012706
* Fix all Javadoc warnings and fail on themAntoine Musso2023-06-162-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes all the javadoc warnings, stops ignoring doclint 'missing' category and fails the build on javadoc warnings for public and protected classes and class members. Since javadoc doesn't allow access specifiers when specifying doclint configuration we cannot set `-Xdoclint:all,-missing/private` hence there is no simple way to skip private elements from doclint. Therefore we check javadoc using the Eclipse Java compiler (which is used by default) and javadoc configuration in `.settings/org.eclipse.jdt.core.prefs` files. This allows more fine grained configuration. We can reconsider this when javadoc starts supporting access specifiers in the doclint configuration. Below are detailled explanations for most modifications. @inheritDoc =========== doclint complains about explicits `{@inheritDoc}` when the parent does not have any documentation. As far as I can tell, javadoc defaults to inherit comments and should only be used when one wants to append extra documentation from the parent. Given the parent has no documentation, remove those usages which doclint complains about. In some case I have moved up the documentation from the concrete class up to the abstract class. Remove `{@inheritDoc}` on overriden methods which don't add additional documentation since javadoc defaults to inherit javadoc of overridden methods. @value to @link =============== In PackConfig, DEFAULT_SEARCH_FOR_REUSE_TIMEOUT and similar are forged from Integer.MAX_VALUE and are thus not considered constants (I guess cause the value would depends on the platform). Replace it with a link to `Integer.MAX_VALUE`. In `StringUtils.toBoolean`, @value was used to refer to the `stringValue` parameter. I have replaced it with `{@code stringValue}`. {@link <url>} to <a> ==================== @link does not support being given an external URL. Replaces them with HTML `<a>`. @since: being invalid ===================== org.eclipse.jgit/src/org/eclipse/jgit/util/Equality.java has an invalid tag `@since: ` due to the extra `:`. Javadoc does not complain about it with version 11.0.18+10 but does with 11.0.19.7. It is invalid regardless. invalid HTML syntax =================== - javadoc doesn't allow <br/>, <p/> and </p> anymore, use <br> and <p> instead - replace <tt>code</tt> by {@code code} - <table> tags don't allow summary attribute, specify caption as <caption>caption</caption> to fix this doclint visibility issue ======================== In the private abstract classes `BaseDirCacheEditor` and `BasePackConnection` links to other methods in the abstract class are inherited in the public subclasses but doclint gets confused and considers them unreachable. The HTML documentation for the sub classes shows the relative links in the sub classes, so it is all correct. It must be a bug somewhere in javadoc. Mute those warnings with: @SuppressWarnings("doclint:missing") Misc ==== Replace `<` and `>` with HTML encoded entities (`&lt; and `&gt;`). In `SshConstants` I went enclosing a serie of -> arrows in @literal. Additional tags =============== Configure maven-javad0c-plugin to allow the following additional tags defined in https://openjdk.org/jeps/8068562: - apiNote - implSpec - implNote Missing javadoc =============== Add missing @params and descriptions Change-Id: I840056389aa59135cfb360da0d5e40463ce35bd0 Also-By: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 6.7.0-SNAPSHOT buildsMatthias Sohn2023-05-243-9/+9
| | | | Change-Id: I50ff7ee31046cfc29a087c8963be3deae24b1c9c
* Update jna to 5.13.0Matthias Sohn2023-05-171-3/+0
| | | | Change-Id: I87d65e66e1cac64ccb744632ea45d06f8b8637fe
* Prepare 6.6.0-SNAPSHOT buildsMatthias Sohn2023-03-013-9/+9
| | | | Change-Id: I17893f9db12bcb208866f40a06cd4f1ccbb4fe30
* Prepare 6.5.0-SNAPSHOT buildsMatthias Sohn2022-11-233-9/+9
| | | | Change-Id: I4238b6181e96e22e540cf34802a332f868cb6dfb
* Prepare 6.4.0-SNAPSHOT buildsMatthias Sohn2022-09-143-9/+9
| | | | Change-Id: I47ca5f1d0263caa0bfc7c303042360c6c5ac4dec
* Prepare 6.3.1-SNAPSHOT buildsMatthias Sohn2022-09-123-9/+9
| | | | Change-Id: I44e159eca4131880d74d3078060e7e20f9b5ce76
* JGit v6.3.0.202209071007-rv6.3.0.202209071007-rMatthias Sohn2022-09-073-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: Iea3fae9f6f6c5fb0a79f7684334a3e0059738c4f
* JGit v6.3.0.2022009070944-rMatthias Sohn2022-09-073-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I3cc78dbcf8c7970e80bf1499751611110ec2b30b
* Prepare 6.3.0-SNAPSHOT buildsMatthias Sohn2022-08-173-4/+4
| | | | Change-Id: Ie398b651c5308ec86812bf01fcc563d3e679c828
* JGit v6.3.0.202208161710-m3v6.3.0.202208161710-m3Matthias Sohn2022-08-163-4/+4
| | | | | Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Change-Id: I0954d11a1f35eff196b157df3aa8386476c48a7e
* Prepare 6.3.0-SNAPSHOT buildsMatthias Sohn2022-06-073-9/+9
| | | | Change-Id: I092fdd2c35d85bf35e3ef700aa7078e6d304d977
* [releng] Fix MANIFEST.MF of o.e.j.ssh.apache.agentThomas Wolf2022-06-061-0/+1
| | | | | | | Add the missing Bundle-Localization header. Bug: 580081 Change-Id: If21e0778dbb60b49a8f83030461670656eeb0ce4 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* WinPipeConnector: Resolve warnings by using "equals" instead of "=="Fabio Ponciroli2022-03-171-1/+1
| | | | | | | Errorprone raises the following warning: "[ReferenceEquality] Comparison using reference equality instead of value equality". Change-Id: Ic73305b2af628f66e7659ea1b839b3a640e3cd8d
* Prepare 6.2.0-SNAPSHOT buildsMatthias Sohn2022-03-033-9/+9
| | | | Change-Id: Ic2dde88bee3242169d6fa50956f8938f3fc4ba8e
* sshd: Add README.md for SSH agentsThomas Wolf2022-01-301-0/+82
| | | | | | | | Explain SSH agent protocols, what transports are available and how to choose them in ~/.ssh/config. For Windows, add some information on which commonly used SSH agents can be used. Change-Id: I0b08a95654fd76643512606edb1ed74d9980aa85 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* sshd: handle "IdentityAgent SSH_AUTH_SOCK" in ssh configThomas Wolf2022-01-302-9/+5
| | | | | | | | | OpenSSH has (for legacy reasons?) the option of specifying the default environment variable directly, instead of using ${SSH_AUTH_SOCK}. Make sure the plain variable name is not taken as a relative path name. Bug: 577053 Change-Id: If8f550dffc43887254f71aa0b487c50fa14d0627 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* sshd: Connector for the Win32-OpenSSH SSH agentThomas Wolf2022-01-305-2/+249
| | | | | | | | | Win32-OpenSSH uses a named Windows pipe for communication. Implement a connector for this mechanism using JNA. Choose the appropriate connector based on the setting of the 'identityAgent' parameter. Bug: 577053 Change-Id: I205f07fb33654aa18ca5db92706e65544ce38641 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* sshd: support IdentityAgent configThomas Wolf2022-01-301-1/+4
| | | | | | | | | Handle the 'none' value, and change the value to select Pageant to something that looks like an absolute UNC path name to avoid it's handled as an relative path name. Bug: 577053 Change-Id: I4ccf047abbc1def50e2782319e4fa7c744069401 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Bazel: Format build files with buildifierDavid Ostrovsky2022-01-201-1/+1
| | | | Change-Id: I1ff38237058d11a3f61acc881c504382ff4b7e08
* [releng] bump japicmp base version and configure sshd bundlesThomas Wolf2022-01-051-4/+6
| | | | | | | | Bump the japicmp base version to 6.0.0.202111291000-r and configure the o.e.j.ssh.apache and o.e.j.ssh.apache.agent bundles to ignore internal classes. Change-Id: Id95350c73b9141e1583f9de5fb6ab2496c7407d9 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Prepare 6.1.0-SNAPSHOT buildsMatthias Sohn2021-11-243-9/+9
| | | | Change-Id: Ied07b1298bd32672a5025cec5079440ab9b9a100
* Add missing .gitignore in o.e.j.ssh.apache.agentThomas Wolf2021-11-151-0/+2
| | | | | | Ignore /bin and /target. Change-Id: I38f3748273b5243c54e010bfceac745084755f45 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* [sshd agent] Introduce ConnectorDescriptorThomas Wolf2021-11-105-1/+62
| | | | | | | | | | | | | | | | | | | | | | | | | Once a factory supports different SSH agents on the same platform, which is planned for Windows once we use Apache MINA sshd 2.8.0, client code may need to have a way to specify which SSH agent shall be used when the SSH config doesn't define anything. Add a mechanism by which a ConnectorFactory can tell what Connectors it may provide. Client code can use this to set the identityAgent parameter of ConnectorFactory.create() to the wanted default if it would be null otherwise. A ConnectorDescriptor is a pair of strings: an internal name, and a display name. The latter is included because client code might want to communicate agent names to the user, be it in error messages or in some chooser dialog where a user could define which of several alternative SSH agents should be used as default. The internal name is intended to be used in the IdentityAgent directive in ~/.ssh/config. Also make the ConnectorFactory discovered via the ServiceLoader accessible and overrideable. Provide static get/setDefault() methods, similar to the SshSessionFactory itself. Change-Id: Ie3d077395d32dfddc72bc8627e92b23636938182 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* sshd: add support for ssh-agentThomas Wolf2021-11-0328-0/+2135
Add a simple SSH agent connector using JNA. Include com.sum.jna and com.sun.jna.platform in the target platform. JNA is used to communicate through Unix domain sockets with ssh-agent, and if on Windows, to communicate via shared memory with Pageant. The new bundle o.e.j.ssh.apache.agent is an OSGi fragment so that the java.util.ServiceLoader can find the provided factory without further ado in OSGi environments. Adapt both maven and bazel builds to include the new bundle. Manually tested on OS X, CentOS 7, and Win10 with Pageant 0.76. Tested by installing JGit built from this change into freshly downloaded Eclipse 2021-12 M1, and then doing git fetches via SSH with different ~/.ssh/config settings (explicit IdentityFile, without any but a key in the agent, with no keys and a key in the agent and IdentitiesOnly=yes (must fail)). Bug: 541274 Bug: 541275 Change-Id: I34e85467293707dbad1eb44d1f40fc2e70ba3622 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>