diff options
author | Thomas Wolf <thomas.wolf@paranor.ch> | 2021-11-02 18:48:25 +0100 |
---|---|---|
committer | Matthias Sohn <matthias.sohn@sap.com> | 2021-11-03 23:46:54 +0100 |
commit | 634302d2da74226cff9f78e121ad5b8216c476e6 (patch) | |
tree | 29b6a8b1fb07f00fd5926ed79bbf06758fa753db /org.eclipse.jgit.ssh.apache.agent/BUILD | |
parent | 68017a029cb6b8648b29ae695c9e614d1f7a9770 (diff) | |
download | jgit-634302d2da74226cff9f78e121ad5b8216c476e6.tar.gz jgit-634302d2da74226cff9f78e121ad5b8216c476e6.zip |
sshd: add support for ssh-agent
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>
Diffstat (limited to 'org.eclipse.jgit.ssh.apache.agent/BUILD')
-rw-r--r-- | org.eclipse.jgit.ssh.apache.agent/BUILD | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/org.eclipse.jgit.ssh.apache.agent/BUILD b/org.eclipse.jgit.ssh.apache.agent/BUILD new file mode 100644 index 0000000000..0c8cf838d4 --- /dev/null +++ b/org.eclipse.jgit.ssh.apache.agent/BUILD @@ -0,0 +1,22 @@ +load("@rules_java//java:defs.bzl", "java_library") + +package(default_visibility = ["//visibility:public"]) + +SRCS = glob(["src/**/*.java"]) + +RESOURCES = glob(["resources/**"]) + +java_library( + name = "ssh-apache-agent", + srcs = SRCS, + resource_strip_prefix = "org.eclipse.jgit.ssh.apache.agent/resources", + resources = RESOURCES, + deps = [ + "//lib:jna", + "//lib:jna-platform", + "//lib:slf4j-api", + "//lib:sshd-osgi", + "//org.eclipse.jgit:jgit", + "//org.eclipse.jgit.ssh.apache:ssh-apache" + ], +) |