| // Copyright (C) 2020 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package { |
| default_applicable_licenses: ["external_openssh_license"], |
| } |
| |
| // Added automatically by a large-scale-change that took the approach of |
| // 'apply every license found to every target'. While this makes sure we respect |
| // every license restriction, it may not be entirely correct. |
| // |
| // e.g. GPL in an MIT project might only apply to the contrib/ directory. |
| // |
| // Please consider splitting the single license below into multiple licenses, |
| // taking care not to lose any license_kind information, and overriding the |
| // default license using the 'licenses: [...]' property on targets as needed. |
| // |
| // For unused files, consider creating a 'fileGroup' with "//visibility:private" |
| // to attach the license to, and including a comment whether the files may be |
| // used in the current project. |
| // |
| // large-scale-change filtered out the below license kinds as false-positives: |
| // SPDX-license-identifier-GPL |
| // See: http://go/android-license-faq |
| license { |
| name: "external_openssh_license", |
| visibility: [":__subpackages__"], |
| license_kinds: [ |
| "SPDX-license-identifier-BSD", |
| "SPDX-license-identifier-Beerware", |
| "SPDX-license-identifier-MIT", |
| "SPDX-license-identifier-OpenSSL", |
| "legacy_notice", |
| "legacy_unencumbered", |
| ], |
| license_text: [ |
| "LICENCE", |
| ], |
| } |
| |
| cc_defaults { |
| name: "ssh_defaults", |
| vendor: true, |
| cflags: [ |
| "-Wno-incompatible-pointer-types", |
| "-Wno-pointer-sign", |
| "-Wno-unused-parameter", |
| ], |
| include_dirs: [ |
| "external/openssh/openbsd-compat", |
| "external/openssh/prebuilt-intermediates", |
| ], |
| shared_libs: [ |
| "libdl", |
| "libcrypto", |
| "libssl", |
| "libz", |
| ], |
| } |
| |
| cc_library { |
| name: "libssh", |
| defaults: ["ssh_defaults"], |
| cflags: ["-DENABLE_SK"], |
| srcs: [ |
| "addr.c", |
| "addrmatch.c", |
| "atomicio.c", |
| "authfd.c", |
| "authfile.c", |
| "bitmap.c", |
| "canohost.c", |
| "chacha.c", |
| "channels.c", |
| "cipher-aes.c", |
| "cipher-aesctr.c", |
| "cipher-chachapoly.c", |
| "cipher-ctr.c", |
| "cipher.c", |
| "cleanup.c", |
| "compat.c", |
| "dh.c", |
| "digest-openssl.c", |
| "dispatch.c", |
| "dns.c", |
| "ed25519.c", |
| "entropy.c", |
| "fatal.c", |
| "fe25519.c", |
| "ge25519.c", |
| "gss-genr.c", |
| "hash.c", |
| "hmac.c", |
| "hostfile.c", |
| "kex.c", |
| "kexc25519.c", |
| "kexdh.c", |
| "kexecdh.c", |
| "kexgen.c", |
| "kexgex.c", |
| "kexgexc.c", |
| "kexsntrup761x25519.c", |
| "krl.c", |
| "log.c", |
| "mac.c", |
| "match.c", |
| "misc.c", |
| "moduli.c", |
| "monitor_fdpass.c", |
| "msg.c", |
| "nchan.c", |
| "openbsd-compat/bcrypt_pbkdf.c", |
| "openbsd-compat/bindresvport.c", |
| "openbsd-compat/blowfish.c", |
| "openbsd-compat/bsd-closefrom.c", |
| "openbsd-compat/bsd-err.c", |
| "openbsd-compat/bsd-getpagesize.c", |
| "openbsd-compat/bsd-getpeereid.c", |
| "openbsd-compat/bsd-malloc.c", |
| "openbsd-compat/bsd-misc.c", |
| "openbsd-compat/bsd-openpty.c", |
| "openbsd-compat/bsd-signal.c", |
| "openbsd-compat/bsd-statvfs.c", |
| "openbsd-compat/explicit_bzero.c", |
| "openbsd-compat/fmt_scaled.c", |
| "openbsd-compat/freezero.c", |
| "openbsd-compat/getopt_long.c", |
| "openbsd-compat/glob.c", |
| "openbsd-compat/libressl-api-compat.c", |
| "openbsd-compat/openssl-compat.c", |
| "openbsd-compat/port-linux.c", |
| "openbsd-compat/port-net.c", |
| "openbsd-compat/pwcache.c", |
| "openbsd-compat/readpassphrase.c", |
| "openbsd-compat/reallocarray.c", |
| "openbsd-compat/recallocarray.c", |
| "openbsd-compat/rresvport.c", |
| "openbsd-compat/setproctitle.c", |
| "openbsd-compat/strcasestr.c", |
| "openbsd-compat/strmode.c", |
| "openbsd-compat/strtonum.c", |
| "openbsd-compat/timingsafe_bcmp.c", |
| "openbsd-compat/vis.c", |
| "packet.c", |
| "platform-misc.c", |
| "platform-pledge.c", |
| "poly1305.c", |
| "readpass.c", |
| "rijndael.c", |
| "sc25519.c", |
| "smult_curve25519_ref.c", |
| "sntrup761.c", |
| "ssh-dss.c", |
| "ssh-ecdsa.c", |
| "ssh-ecdsa-sk.c", |
| "ssh-ed25519.c", |
| "ssh-ed25519-sk.c", |
| "ssh-rsa.c", |
| "ssh-sk.c", |
| "sshbuf-io.c", |
| "sshbuf-getput-basic.c", |
| "sshbuf-getput-crypto.c", |
| "sshbuf-misc.c", |
| "sshbuf.c", |
| "ssherr.c", |
| "sshkey.c", |
| "ttymodes.c", |
| "uidswap.c", |
| "umac.c", |
| "umac128.c", |
| "utf8.c", |
| "verify.c", |
| "xmalloc.c", |
| ], |
| } |
| |
| cc_binary { |
| name: "ssh", |
| defaults: ["ssh_defaults"], |
| srcs: [ |
| "clientloop.c", |
| "mux.c", |
| "readconf.c", |
| "ssh.c", |
| "sshconnect.c", |
| "sshconnect2.c", |
| "sshtty.c", |
| ], |
| shared_libs: ["libssh"], |
| } |
| |
| cc_binary { |
| name: "sftp", |
| defaults: ["ssh_defaults"], |
| srcs: [ |
| "sftp.c", |
| "sftp-client.c", |
| "sftp-common.c", |
| "sftp-glob.c", |
| "progressmeter.c", |
| ], |
| shared_libs: ["libssh"], |
| } |
| |
| cc_binary { |
| name: "scp", |
| defaults: ["ssh_defaults"], |
| srcs: [ |
| "scp.c", |
| "sftp-client.c", |
| "sftp-common.c", |
| "sftp-glob.c", |
| "progressmeter.c", |
| ], |
| shared_libs: ["libssh"], |
| } |
| |
| cc_binary { |
| name: "sshd", |
| defaults: ["ssh_defaults"], |
| srcs: [ |
| "audit-bsm.c", |
| "audit-linux.c", |
| "audit.c", |
| "auth-bsdauth.c", |
| "auth-krb5.c", |
| "auth-options.c", |
| "auth-pam.c", |
| "auth-rhosts.c", |
| "auth-shadow.c", |
| "auth-sia.c", |
| "auth.c", |
| "auth2-chall.c", |
| "auth2-gss.c", |
| "auth2-hostbased.c", |
| "auth2-kbdint.c", |
| "auth2-none.c", |
| "auth2-passwd.c", |
| "auth2-pubkey.c", |
| "auth2.c", |
| "groupaccess.c", |
| "gss-serv-krb5.c", |
| "gss-serv.c", |
| "kexgexs.c", |
| "loginrec.c", |
| "md5crypt.c", |
| "monitor.c", |
| "monitor_wrap.c", |
| "platform.c", |
| "platform-tracing.c", |
| "sandbox-null.c", |
| "sandbox-rlimit.c", |
| "sandbox-systrace.c", |
| "servconf.c", |
| "serverloop.c", |
| "session.c", |
| "sftp-common.c", |
| "sftp-realpath.c", |
| "sftp-server.c", |
| "srclimit.c", |
| "sshd.c", |
| "sshlogin.c", |
| "sshpty.c", |
| ], |
| shared_libs: [ |
| "libcutils", |
| "libssh", |
| ], |
| } |
| |
| cc_binary { |
| name: "ssh-keygen", |
| defaults: ["ssh_defaults"], |
| srcs: [ |
| "ssh-keygen.c", |
| "sshsig.c", |
| ], |
| shared_libs: ["libssh"], |
| } |
| |
| prebuilt_etc { |
| name: "sshd_config", |
| vendor: true, |
| src: "sshd_config.android", |
| relative_install_path: "ssh", |
| } |
| |
| sh_binary { |
| name: "start-ssh", |
| vendor: true, |
| src: "start-ssh", |
| } |