// 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: [ "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", "kexsntrup4591761x25519.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", "sntrup4591761.c", "smult_curve25519_ref.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", "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", "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", }