mirror of
https://git.FreeBSD.org/src.git
synced 2026-06-02 11:24:32 +00:00
OpenSSH: Update to 10.3p1
Full release notes are available at https://www.openssh.com/txt/release-10.3 Selected highlights from the release notes: * ssh(1), sshd(8): remove bug compatibility for implementations that don't support rekeying. If such an implementation tries to interoperate with OpenSSH, it will now eventually fail when the transport needs rekeying. * ssh(1), sshd(8): support IANA-assigned codepoints for SSH agent forwarding, as per draft-ietf-sshm-ssh-agent. Support for the new names is advertised via the EXT_INFO message. If a server offers support for the new names, then they are used preferentially. * ssh(1): add a ~I escape option that shows information about the current SSH connection. * sshd(8): add 'invaliduser' penalty to PerSourcePenalties, which is applied to login attempts for usernames that do not match real accounts. Defaults to 5s to match 'authfail' but allows administrators to block such attempts for longer if desired. * Support the ed25519 signature scheme via libcrypto. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56999
This commit is contained in:
+172
-173
@@ -2,177 +2,176 @@
|
|||||||
# Run "make depend" to rebuild.
|
# Run "make depend" to rebuild.
|
||||||
|
|
||||||
# DO NOT DELETE
|
# DO NOT DELETE
|
||||||
addr.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h addr.h
|
addr.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h addr.h
|
||||||
addrmatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h addr.h match.h log.h ssherr.h
|
addrmatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h addr.h match.h log.h ssherr.h
|
||||||
atomicio.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h
|
atomicio.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h
|
||||||
audit-bsm.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
audit-bsm.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
audit-linux.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
audit-linux.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
audit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
audit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
auth-bsdauth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
auth-bsdauth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
auth-krb5.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h sshkey.h misc.h servconf.h uidswap.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
|
auth-krb5.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h packet.h dispatch.h log.h ssherr.h sshbuf.h sshkey.h misc.h servconf.h uidswap.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
|
||||||
auth-options.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssherr.h log.h sshbuf.h misc.h sshkey.h match.h ssh2.h auth-options.h
|
auth-options.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssherr.h log.h sshbuf.h misc.h sshkey.h match.h ssh2.h auth-options.h
|
||||||
auth-pam.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
auth-pam.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
auth-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h sshbuf.h ssherr.h log.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h
|
auth-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h dispatch.h sshbuf.h ssherr.h log.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h
|
||||||
auth-rhosts.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h uidswap.h pathnames.h log.h ssherr.h misc.h xmalloc.h sshbuf.h sshkey.h servconf.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
|
auth-rhosts.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h dispatch.h uidswap.h pathnames.h log.h ssherr.h misc.h xmalloc.h sshbuf.h sshkey.h servconf.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
|
||||||
auth-shadow.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
auth-shadow.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
auth-sia.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
auth-sia.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
auth.o: authfile.h monitor_wrap.h channels.h
|
auth.o: channels.h
|
||||||
auth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h canohost.h uidswap.h packet.h dispatch.h
|
auth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h groupaccess.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h canohost.h uidswap.h packet.h dispatch.h authfile.h monitor_wrap.h
|
||||||
auth2-chall.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h misc.h servconf.h
|
auth2-chall.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h sshbuf.h packet.h dispatch.h ssherr.h log.h misc.h servconf.h
|
||||||
auth2-gss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
auth2-gss.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h canohost.h
|
auth2-hostbased.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh2.h packet.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h canohost.h monitor_wrap.h pathnames.h
|
||||||
auth2-hostbased.o: monitor_wrap.h pathnames.h match.h
|
auth2-hostbased.o: match.h
|
||||||
auth2-kbdint.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h
|
auth2-kbdint.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h log.h ssherr.h misc.h servconf.h
|
||||||
auth2-methods.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h servconf.h openbsd-compat/sys-queue.h xmalloc.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
|
auth2-methods.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h servconf.h xmalloc.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
|
||||||
auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h misc.h servconf.h ssh2.h monitor_wrap.h
|
auth2-none.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h packet.h dispatch.h log.h ssherr.h misc.h servconf.h ssh2.h monitor_wrap.h
|
||||||
auth2-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h ssherr.h log.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h monitor_wrap.h misc.h servconf.h
|
auth2-passwd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h dispatch.h ssherr.h log.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h monitor_wrap.h misc.h servconf.h
|
||||||
auth2-pubkey.o: audit.h loginrec.h pathnames.h uidswap.h auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h
|
auth2-pubkey.o: auth-options.h canohost.h monitor_wrap.h authfile.h match.h channels.h session.h sk-api.h
|
||||||
auth2-pubkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h
|
auth2-pubkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h packet.h dispatch.h kex.h mac.h crypto_api.h sshbuf.h log.h ssherr.h misc.h servconf.h compat.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h uidswap.h
|
||||||
auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h
|
auth2-pubkeyfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h log.h ssherr.h misc.h sshkey.h digest.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfile.h match.h xmalloc.h
|
||||||
auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h digest.h kex.h
|
auth2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h ssh2.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h pathnames.h monitor_wrap.h digest.h kex.h mac.h crypto_api.h
|
||||||
auth2.o: mac.h crypto_api.h
|
authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h sshbuf.h sshkey.h authfd.h log.h ssherr.h misc.h atomicio.h xmalloc.h
|
||||||
authfd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h authfd.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h log.h ssherr.h atomicio.h misc.h
|
authfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h authfile.h sshkey.h sshbuf.h krl.h
|
||||||
authfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h ssh.h log.h ssherr.h authfile.h misc.h atomicio.h sshkey.h sshbuf.h krl.h
|
bitmap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h bitmap.h
|
||||||
bitmap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h bitmap.h
|
canohost.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h canohost.h misc.h
|
||||||
canohost.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h canohost.h misc.h
|
chacha.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h chacha.h
|
||||||
chacha.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h chacha.h
|
channels.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h ssherr.h sshbuf.h packet.h dispatch.h log.h misc.h channels.h compat.h canohost.h pathnames.h match.h
|
||||||
channels.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h ssherr.h sshbuf.h packet.h dispatch.h log.h misc.h channels.h compat.h canohost.h sshkey.h authfd.h pathnames.h match.h
|
cipher-aes.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h
|
||||||
cipher-aes.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h
|
cipher-aesctr.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher-aesctr.h rijndael.h
|
||||||
cipher-aesctr.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher-aesctr.h rijndael.h
|
cipher-chachapoly-libcrypto.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
cipher-chachapoly-libcrypto.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
cipher-chachapoly.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h sshbuf.h cipher-chachapoly.h chacha.h poly1305.h
|
||||||
cipher-chachapoly.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h sshbuf.h cipher-chachapoly.h chacha.h poly1305.h
|
cipher.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h misc.h sshbuf.h ssherr.h openbsd-compat/openssl-compat.h
|
||||||
cipher.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h misc.h sshbuf.h ssherr.h digest.h openbsd-compat/openssl-compat.h
|
cleanup.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h
|
||||||
cleanup.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h
|
clientloop.o: hostfile.h
|
||||||
clientloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h packet.h dispatch.h sshbuf.h compat.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h
|
clientloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h packet.h dispatch.h sshbuf.h compat.h channels.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h misc.h readconf.h clientloop.h sshconnect.h authfd.h atomicio.h sshpty.h match.h
|
||||||
clientloop.o: myproposal.h log.h ssherr.h misc.h readconf.h clientloop.h sshconnect.h authfd.h atomicio.h sshpty.h match.h msg.h hostfile.h
|
compat.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h dispatch.h compat.h log.h ssherr.h match.h
|
||||||
compat.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h log.h ssherr.h match.h
|
dh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
dh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
digest-libc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h digest.h
|
||||||
digest-libc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h digest.h
|
digest-openssl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
digest-openssl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
dispatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h log.h ssherr.h dispatch.h packet.h
|
||||||
dispatch.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h log.h ssherr.h dispatch.h packet.h openbsd-compat/sys-queue.h
|
dns.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h dns.h log.h ssherr.h digest.h
|
||||||
dns.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h ssherr.h dns.h log.h digest.h
|
ed25519-openssl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h
|
ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h
|
||||||
entropy.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
entropy.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
fatal.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h
|
fatal.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h
|
||||||
groupaccess.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h groupaccess.h match.h log.h ssherr.h
|
groupaccess.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h groupaccess.h match.h log.h ssherr.h
|
||||||
gss-genr.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
gss-genr.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
gss-serv-krb5.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
gss-serv-krb5.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
gss-serv.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
gss-serv.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
hash.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h
|
hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h digest.h hmac.h
|
||||||
hmac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h digest.h hmac.h
|
hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h ssherr.h misc.h pathnames.h digest.h hmac.h sshbuf.h
|
||||||
hostfile.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h sshkey.h hostfile.h log.h ssherr.h misc.h pathnames.h digest.h hmac.h sshbuf.h
|
kex-names.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h kex.h mac.h crypto_api.h log.h ssherr.h match.h digest.h misc.h
|
||||||
kex-names.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h kex.h mac.h crypto_api.h log.h ssherr.h match.h digest.h misc.h xmalloc.h
|
kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h match.h misc.h
|
||||||
kex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh.h ssh2.h atomicio.h version.h packet.h openbsd-compat/sys-queue.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h
|
kex.o: myproposal.h sshbuf.h digest.h xmalloc.h
|
||||||
kex.o: match.h misc.h monitor.h myproposal.h sshbuf.h digest.h xmalloc.h
|
kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h
|
||||||
kexc25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h ssh2.h
|
kexdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
kexdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
kexecdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h
|
||||||
kexecdh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h
|
kexgen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h packet.h dispatch.h ssh2.h sshbuf.h digest.h
|
||||||
kexgen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h log.h ssherr.h packet.h openbsd-compat/sys-queue.h dispatch.h ssh2.h sshbuf.h digest.h
|
kexgex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
kexgex.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
kexgexc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
kexgexc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
kexgexs.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
kexgexs.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
kexmlkem768x25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h log.h
|
||||||
kexmlkem768x25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshkey.h kex.h mac.h crypto_api.h sshbuf.h digest.h ssherr.h log.h
|
kexsntrup761x25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h
|
||||||
kexsntrup761x25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h
|
krl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h ssherr.h sshkey.h misc.h log.h digest.h bitmap.h utf8.h krl.h
|
||||||
krl.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h sshbuf.h ssherr.h sshkey.h authfile.h misc.h log.h digest.h bitmap.h utf8.h krl.h
|
log.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h match.h
|
||||||
log.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h match.h
|
loginrec.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h hostfile.h ssh.h loginrec.h log.h ssherr.h atomicio.h packet.h dispatch.h canohost.h auth.h auth-pam.h audit.h sshbuf.h misc.h
|
||||||
loginrec.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h hostfile.h ssh.h loginrec.h log.h ssherr.h atomicio.h packet.h openbsd-compat/sys-queue.h dispatch.h canohost.h auth.h auth-pam.h audit.h sshbuf.h misc.h
|
logintest.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h loginrec.h
|
||||||
logintest.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h loginrec.h
|
mac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h digest.h hmac.h umac.h mac.h misc.h ssherr.h sshbuf.h openbsd-compat/openssl-compat.h
|
||||||
mac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h digest.h hmac.h umac.h mac.h misc.h ssherr.h sshbuf.h openbsd-compat/openssl-compat.h
|
match.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h misc.h
|
||||||
match.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h match.h misc.h
|
misc-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h digest.h log.h ssherr.h misc.h pathnames.h ssh.h xmalloc.h
|
||||||
misc-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h digest.h log.h ssherr.h misc.h pathnames.h ssh.h xmalloc.h
|
misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h misc.h log.h ssherr.h ssh.h sshbuf.h
|
||||||
misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h misc.h log.h ssherr.h ssh.h sshbuf.h
|
moduli.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
moduli.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
monitor.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h atomicio.h xmalloc.h ssh.h sshkey.h sshbuf.h hostfile.h auth.h auth-pam.h audit.h loginrec.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h
|
||||||
monitor.o: chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h dh.h packet.h dispatch.h auth-options.h sshpty.h channels.h session.h sshlogin.h canohost.h log.h ssherr.h misc.h servconf.h monitor.h monitor_wrap.h monitor_fdpass.h compat.h ssh2.h authfd.h match.h sk-api.h srclimit.h
|
monitor.o: mac.h crypto_api.h dh.h packet.h dispatch.h auth-options.h sshpty.h channels.h session.h sshlogin.h canohost.h log.h ssherr.h misc.h servconf.h monitor.h monitor_wrap.h monitor_fdpass.h compat.h ssh2.h authfd.h match.h sk-api.h srclimit.h
|
||||||
monitor.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h openbsd-compat/openssl-compat.h atomicio.h xmalloc.h ssh.h sshkey.h sshbuf.h hostfile.h auth.h auth-pam.h audit.h loginrec.h cipher.h cipher-chachapoly.h
|
monitor_fdpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h monitor_fdpass.h
|
||||||
monitor_fdpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h monitor_fdpass.h
|
monitor_wrap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h
|
||||||
monitor_wrap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h
|
monitor_wrap.o: packet.h dispatch.h log.h ssherr.h monitor.h atomicio.h monitor_fdpass.h misc.h channels.h session.h servconf.h monitor_wrap.h srclimit.h
|
||||||
monitor_wrap.o: loginrec.h auth-options.h packet.h dispatch.h log.h ssherr.h monitor.h atomicio.h monitor_fdpass.h misc.h channels.h session.h servconf.h monitor_wrap.h srclimit.h
|
msg.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h log.h ssherr.h atomicio.h msg.h misc.h
|
||||||
msg.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshbuf.h ssherr.h log.h atomicio.h msg.h misc.h
|
mux.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h ssh.h ssh2.h misc.h match.h sshbuf.h channels.h packet.h dispatch.h monitor_fdpass.h sshpty.h readconf.h clientloop.h
|
||||||
mux.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h log.h ssherr.h ssh.h ssh2.h pathnames.h misc.h match.h sshbuf.h channels.h msg.h packet.h dispatch.h monitor_fdpass.h sshpty.h sshkey.h readconf.h clientloop.h
|
nchan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh2.h sshbuf.h packet.h dispatch.h channels.h compat.h log.h ssherr.h
|
||||||
nchan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h ssh2.h sshbuf.h ssherr.h packet.h dispatch.h channels.h compat.h log.h
|
packet.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h compat.h ssh2.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h digest.h log.h ssherr.h canohost.h misc.h packet.h dispatch.h sshbuf.h
|
||||||
packet.o: channels.h ssh.h packet.h dispatch.h sshbuf.h
|
platform-listen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h
|
||||||
packet.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h compat.h ssh2.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h digest.h log.h ssherr.h canohost.h misc.h
|
platform-misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
platform-listen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h
|
platform-pledge.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
platform-misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
platform-tracing.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h
|
||||||
platform-pledge.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
platform.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h servconf.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
|
||||||
platform-tracing.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h
|
poly1305.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h poly1305.h
|
||||||
platform.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h misc.h servconf.h openbsd-compat/sys-queue.h sshkey.h hostfile.h auth.h auth-pam.h audit.h loginrec.h
|
progressmeter.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h progressmeter.h atomicio.h misc.h utf8.h
|
||||||
poly1305.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h poly1305.h
|
readconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h ssherr.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h myproposal.h digest.h
|
||||||
progressmeter.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h progressmeter.h atomicio.h misc.h utf8.h
|
readconf.o: version.h
|
||||||
readconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h ssherr.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h pathnames.h log.h sshkey.h misc.h readconf.h match.h kex.h mac.h crypto_api.h uidswap.h
|
readpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h misc.h pathnames.h log.h ssherr.h ssh.h
|
||||||
readconf.o: myproposal.h digest.h version.h
|
rijndael.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h rijndael.h
|
||||||
readpass.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h misc.h pathnames.h log.h ssherr.h ssh.h uidswap.h
|
sandbox-capsicum.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
rijndael.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h rijndael.h
|
sandbox-darwin.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
sandbox-capsicum.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
sandbox-null.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
sandbox-darwin.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
sandbox-rlimit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
sandbox-null.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
sandbox-seccomp-filter.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
sandbox-rlimit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
sandbox-solaris.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
sandbox-seccomp-filter.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
scp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h atomicio.h pathnames.h log.h ssherr.h misc.h progressmeter.h utf8.h sftp.h sftp-common.h sftp-client.h
|
||||||
sandbox-solaris.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
servconf.o: groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h version.h
|
||||||
scp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h xmalloc.h ssh.h atomicio.h pathnames.h log.h ssherr.h misc.h progressmeter.h utf8.h sftp.h sftp-common.h sftp-client.h
|
servconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h match.h channels.h
|
||||||
servconf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/glob.h openbsd-compat/sys-queue.h xmalloc.h ssh.h log.h ssherr.h sshbuf.h misc.h servconf.h pathnames.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h
|
serverloop.o: crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h
|
||||||
servconf.o: mac.h crypto_api.h match.h channels.h groupaccess.h canohost.h packet.h dispatch.h hostfile.h auth.h auth-pam.h audit.h loginrec.h myproposal.h digest.h version.h
|
serverloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h
|
||||||
serverloop.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h packet.h dispatch.h sshbuf.h log.h ssherr.h misc.h servconf.h canohost.h sshpty.h channels.h ssh2.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h
|
session.o: hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h monitor_wrap.h sftp.h atomicio.h
|
||||||
serverloop.o: rijndael.h kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h session.h auth-options.h serverloop.h
|
session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h kex.h mac.h crypto_api.h
|
||||||
session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h sshbuf.h ssherr.h match.h uidswap.h channels.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h
|
sftp-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssherr.h sshbuf.h log.h atomicio.h progressmeter.h misc.h utf8.h sftp.h sftp-common.h sftp-client.h
|
||||||
session.o: kex.h mac.h crypto_api.h hostfile.h auth.h auth-pam.h audit.h loginrec.h auth-options.h authfd.h pathnames.h log.h misc.h servconf.h sshlogin.h serverloop.h canohost.h session.h monitor_wrap.h sftp.h atomicio.h
|
sftp-common.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssherr.h sshbuf.h log.h misc.h sftp.h sftp-common.h
|
||||||
sftp-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssherr.h sshbuf.h log.h atomicio.h progressmeter.h misc.h utf8.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h
|
sftp-glob.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sftp.h sftp-common.h sftp-client.h
|
||||||
sftp-common.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssherr.h sshbuf.h log.h misc.h sftp.h sftp-common.h
|
sftp-realpath.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
sftp-glob.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sftp.h sftp-common.h sftp-client.h openbsd-compat/glob.h
|
sftp-server-main.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h sftp.h misc.h xmalloc.h
|
||||||
sftp-realpath.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
sftp-server.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshbuf.h ssherr.h log.h misc.h match.h uidswap.h sftp.h sftp-common.h
|
||||||
sftp-server-main.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h sftp.h misc.h xmalloc.h
|
sftp-usergroup.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h xmalloc.h sftp-common.h sftp-client.h sftp-usergroup.h
|
||||||
sftp-server.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h atomicio.h xmalloc.h sshbuf.h ssherr.h log.h misc.h match.h uidswap.h sftp.h sftp-common.h
|
sftp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h pathnames.h misc.h utf8.h sftp.h sshbuf.h sftp-common.h sftp-client.h sftp-usergroup.h
|
||||||
sftp-usergroup.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h log.h ssherr.h xmalloc.h sftp-common.h sftp-client.h openbsd-compat/glob.h sftp-usergroup.h
|
sk-usbhid.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
sftp.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h pathnames.h misc.h utf8.h sftp.h sshbuf.h sftp-common.h sftp-client.h openbsd-compat/glob.h sftp-usergroup.h
|
sntrup761.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
sk-usbhid.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
srclimit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h addr.h canohost.h log.h ssherr.h misc.h srclimit.h xmalloc.h servconf.h match.h
|
||||||
sntrup761.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
ssh-add.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h log.h ssherr.h sshkey.h sshbuf.h authfd.h authfile.h pathnames.h misc.h digest.h ssh-sk.h sk-api.h hostfile.h
|
||||||
srclimit.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h addr.h canohost.h log.h ssherr.h misc.h srclimit.h xmalloc.h servconf.h openbsd-compat/sys-queue.h match.h
|
ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h
|
||||||
ssh-add.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h log.h ssherr.h sshkey.h sshbuf.h authfd.h authfile.h pathnames.h misc.h digest.h ssh-sk.h sk-api.h hostfile.h
|
ssh-ecdsa-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h sshbuf.h ssherr.h digest.h sshkey.h
|
||||||
ssh-agent.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h sshkey.h authfd.h log.h ssherr.h misc.h digest.h match.h msg.h pathnames.h ssh-pkcs11.h sk-api.h myproposal.h
|
ssh-ecdsa.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
ssh-ecdsa-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h sshbuf.h ssherr.h digest.h sshkey.h
|
ssh-ed25519-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h log.h ssherr.h sshbuf.h sshkey.h digest.h
|
||||||
ssh-ecdsa.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
ssh-ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h log.h ssherr.h sshbuf.h sshkey.h
|
||||||
ssh-ed25519-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h log.h ssherr.h sshbuf.h sshkey.h ssh.h digest.h
|
ssh-keygen.o: cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h
|
||||||
ssh-ed25519.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h log.h ssherr.h sshbuf.h sshkey.h ssh.h
|
ssh-keygen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h authfile.h sshbuf.h pathnames.h log.h ssherr.h misc.h match.h hostfile.h dns.h ssh.h ssh2.h atomicio.h krl.h digest.h utf8.h authfd.h sshsig.h ssh-sk.h sk-api.h cipher.h
|
||||||
ssh-keygen.o: chacha.h poly1305.h cipher-aesctr.h rijndael.h
|
ssh-keyscan.o: atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h addr.h
|
||||||
ssh-keygen.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshkey.h authfile.h sshbuf.h pathnames.h log.h ssherr.h misc.h match.h hostfile.h dns.h ssh.h ssh2.h atomicio.h krl.h digest.h utf8.h authfd.h sshsig.h ssh-sk.h sk-api.h cipher.h cipher-chachapoly.h
|
ssh-keyscan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h kex.h mac.h crypto_api.h compat.h myproposal.h packet.h dispatch.h log.h ssherr.h
|
||||||
ssh-keyscan.o: dispatch.h log.h ssherr.h atomicio.h misc.h hostfile.h ssh_api.h ssh2.h dns.h addr.h
|
ssh-keysign.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h sshkey.h ssh.h ssh2.h misc.h sshbuf.h authfile.h msg.h canohost.h pathnames.h readconf.h uidswap.h
|
||||||
ssh-keyscan.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshbuf.h sshkey.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h kex.h mac.h crypto_api.h compat.h myproposal.h packet.h
|
ssh-pkcs11-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h pathnames.h xmalloc.h sshbuf.h log.h ssherr.h misc.h sshkey.h authfd.h atomicio.h ssh-pkcs11.h
|
||||||
ssh-keysign.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h sshkey.h ssh.h ssh2.h misc.h sshbuf.h authfile.h msg.h canohost.h pathnames.h readconf.h uidswap.h
|
ssh-pkcs11-helper.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshbuf.h log.h ssherr.h misc.h sshkey.h authfd.h ssh-pkcs11.h
|
||||||
ssh-pkcs11-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h pathnames.h xmalloc.h sshbuf.h log.h ssherr.h misc.h sshkey.h authfd.h atomicio.h ssh-pkcs11.h
|
ssh-pkcs11.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h sshkey.h ssh-pkcs11.h
|
||||||
ssh-pkcs11-helper.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h sshbuf.h log.h ssherr.h misc.h sshkey.h authfd.h ssh-pkcs11.h
|
ssh-rsa.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
ssh-pkcs11.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h sshkey.h ssh-pkcs11.h
|
ssh-sk-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h sshbuf.h sshkey.h msg.h pathnames.h ssh-sk.h misc.h
|
||||||
ssh-rsa.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
ssh-sk-helper.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h sshkey.h authfd.h misc.h sshbuf.h msg.h uidswap.h ssh-sk.h ssh-pkcs11.h
|
||||||
ssh-sk-client.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h sshbuf.h sshkey.h msg.h digest.h pathnames.h ssh-sk.h misc.h
|
ssh-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
ssh-sk-helper.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h sshkey.h authfd.h misc.h sshbuf.h msg.h uidswap.h ssh-sk.h ssh-pkcs11.h
|
ssh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h xmalloc.h ssh.h ssh2.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h packet.h dispatch.h sshbuf.h channels.h sshkey.h authfd.h authfile.h
|
||||||
ssh-sk.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
ssh.o: pathnames.h clientloop.h log.h ssherr.h misc.h readconf.h sshconnect.h kex.h mac.h crypto_api.h match.h version.h utf8.h
|
||||||
ssh.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/openssl-compat.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h canohost.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h packet.h dispatch.h sshbuf.h channels.h
|
ssh_api.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh_api.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h ssh.h ssh2.h packet.h dispatch.h compat.h log.h ssherr.h authfile.h dh.h misc.h version.h
|
||||||
ssh.o: sshkey.h authfd.h authfile.h pathnames.h clientloop.h log.h ssherr.h misc.h readconf.h sshconnect.h kex.h mac.h crypto_api.h sshpty.h match.h msg.h version.h myproposal.h utf8.h
|
ssh_api.o: myproposal.h sshbuf.h openbsd-compat/openssl-compat.h
|
||||||
ssh_api.o: authfile.h dh.h misc.h version.h myproposal.h sshbuf.h openbsd-compat/openssl-compat.h
|
sshbuf-getput-basic.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h
|
||||||
ssh_api.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssh_api.h openbsd-compat/sys-queue.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h ssh.h ssh2.h packet.h dispatch.h compat.h log.h ssherr.h
|
sshbuf-getput-crypto.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
||||||
sshbuf-getput-basic.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h
|
sshbuf-io.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h atomicio.h
|
||||||
sshbuf-getput-crypto.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h
|
sshbuf-misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h
|
||||||
sshbuf-io.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h atomicio.h
|
sshbuf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h misc.h
|
||||||
sshbuf-misc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h
|
sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h compat.h packet.h dispatch.h sshkey.h sshconnect.h log.h ssherr.h match.h misc.h readconf.h dns.h monitor_fdpass.h authfile.h authfd.h kex.h mac.h crypto_api.h
|
||||||
sshbuf.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ssherr.h sshbuf.h misc.h
|
sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h sshbuf.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h sshconnect.h authfile.h authfd.h
|
||||||
sshconnect.o: authfd.h kex.h mac.h crypto_api.h
|
sshconnect2.o: log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h hostfile.h utf8.h ssh-sk.h sk-api.h
|
||||||
sshconnect.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h hostfile.h ssh.h sshbuf.h packet.h openbsd-compat/sys-queue.h dispatch.h sshkey.h sshconnect.h log.h ssherr.h match.h misc.h readconf.h atomicio.h dns.h monitor_fdpass.h ssh2.h version.h authfile.h
|
sshd-auth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h
|
||||||
sshconnect2.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshbuf.h packet.h dispatch.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h sshkey.h kex.h mac.h crypto_api.h
|
sshd-auth.o: sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h auth-options.h version.h sk-api.h srclimit.h ssh-sandbox.h dh.h
|
||||||
sshconnect2.o: sshconnect.h authfile.h dh.h authfd.h log.h ssherr.h misc.h readconf.h match.h canohost.h msg.h pathnames.h uidswap.h hostfile.h utf8.h ssh-sk.h sk-api.h
|
sshd-session.o: digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h auth-options.h version.h sk-api.h srclimit.h dh.h
|
||||||
sshd-auth.o: chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h auth-options.h version.h sk-api.h srclimit.h ssh-sandbox.h dh.h
|
sshd-session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h
|
||||||
sshd-auth.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h
|
sshd.o: addr.h srclimit.h atomicio.h monitor_wrap.h
|
||||||
sshd-session.o: chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h kex.h mac.h crypto_api.h authfile.h pathnames.h atomicio.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h channels.h session.h monitor.h monitor_wrap.h auth-options.h version.h sk-api.h srclimit.h dh.h
|
sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h ssh.h sshpty.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h digest.h sshkey.h authfile.h pathnames.h canohost.h hostfile.h auth.h auth-pam.h audit.h loginrec.h authfd.h msg.h version.h sk-api.h
|
||||||
sshd-session.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h ssh2.h sshpty.h packet.h dispatch.h log.h ssherr.h sshbuf.h misc.h match.h servconf.h uidswap.h compat.h cipher.h cipher-chachapoly.h
|
ssherr-libcrypto.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h
|
||||||
sshd.o: audit.h loginrec.h authfd.h msg.h version.h sk-api.h addr.h srclimit.h atomicio.h monitor_wrap.h
|
ssherr-nolibcrypto.o: ssherr.h
|
||||||
sshd.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h ./openbsd-compat/sys-tree.h openbsd-compat/sys-queue.h xmalloc.h ssh.h sshpty.h log.h ssherr.h sshbuf.h misc.h servconf.h compat.h digest.h sshkey.h authfile.h pathnames.h canohost.h hostfile.h auth.h auth-pam.h
|
|
||||||
ssherr.o: ssherr.h
|
ssherr.o: ssherr.h
|
||||||
sshkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h ssh2.h ssherr.h misc.h sshbuf.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h match.h ssh-sk.h ssh-pkcs11.h openbsd-compat/openssl-compat.h
|
sshkey.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h crypto_api.h ssh2.h ssherr.h misc.h sshbuf.h cipher.h cipher-chachapoly.h chacha.h poly1305.h cipher-aesctr.h rijndael.h digest.h sshkey.h match.h ssh-sk.h ssh-pkcs11.h openbsd-compat/openssl-compat.h
|
||||||
sshlogin.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshlogin.h ssherr.h loginrec.h log.h sshbuf.h misc.h servconf.h openbsd-compat/sys-queue.h
|
sshlogin.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshlogin.h ssherr.h loginrec.h log.h sshbuf.h misc.h servconf.h
|
||||||
sshpty.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshpty.h log.h ssherr.h misc.h
|
sshpty.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshpty.h log.h ssherr.h misc.h
|
||||||
sshsig.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h authfd.h authfile.h log.h ssherr.h misc.h sshbuf.h sshsig.h sshkey.h match.h digest.h
|
sshsig.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h authfd.h authfile.h log.h ssherr.h misc.h sshbuf.h sshsig.h sshkey.h match.h digest.h
|
||||||
sshtty.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshpty.h
|
sshtty.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h sshpty.h
|
||||||
ttymodes.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h openbsd-compat/sys-queue.h dispatch.h log.h ssherr.h compat.h sshbuf.h ttymodes.h
|
ttymodes.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h packet.h dispatch.h log.h ssherr.h compat.h sshbuf.h ttymodes.h
|
||||||
uidswap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h uidswap.h xmalloc.h
|
uidswap.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h log.h ssherr.h uidswap.h xmalloc.h
|
||||||
umac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h umac.h misc.h rijndael.h
|
umac.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h umac.h misc.h rijndael.h
|
||||||
umac128.o: umac.c includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h umac.h misc.h rijndael.h
|
umac128.o: umac.c includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h umac.h misc.h rijndael.h
|
||||||
utf8.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h utf8.h
|
utf8.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h utf8.h
|
||||||
xmalloc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h
|
xmalloc.o: includes.h config.h defines.h platform.h openbsd-compat/openbsd-compat.h openbsd-compat/base64.h openbsd-compat/sigact.h openbsd-compat/readpassphrase.h openbsd-compat/vis.h openbsd-compat/getrrsetbyname.h openbsd-compat/sha1.h openbsd-compat/bsd-sha2.h openbsd-compat/md5.h openbsd-compat/blf.h openbsd-compat/fnmatch.h openbsd-compat/getopt.h openbsd-compat/bsd-signal.h openbsd-compat/bsd-misc.h openbsd-compat/bsd-setres_id.h openbsd-compat/bsd-statvfs.h openbsd-compat/bsd-waitpid.h openbsd-compat/bsd-poll.h openbsd-compat/fake-rfc2553.h openbsd-compat/bsd-cygwin_util.h openbsd-compat/port-aix.h openbsd-compat/port-irix.h openbsd-compat/port-linux.h openbsd-compat/port-solaris.h openbsd-compat/port-net.h openbsd-compat/port-uw.h openbsd-compat/bsd-nextstep.h entropy.h xmalloc.h log.h ssherr.h
|
||||||
|
|||||||
Vendored
+5
@@ -8,6 +8,11 @@ master :
|
|||||||
[](https://scan.coverity.com/projects/openssh-portable)
|
[](https://scan.coverity.com/projects/openssh-portable)
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
10.2 :
|
||||||
|
[](../../../actions/workflows/c-cpp.yml?query=branch:V_10_2)
|
||||||
|
[](../../../actions/workflows/vm.yml?query=branch:V_10_2)
|
||||||
|
[](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml?query=branch:V_10_2)
|
||||||
|
|
||||||
10.1 :
|
10.1 :
|
||||||
[](../../../actions/workflows/c-cpp.yml?query=branch:V_10_1)
|
[](../../../actions/workflows/c-cpp.yml?query=branch:V_10_1)
|
||||||
[](../../../actions/workflows/vm.yml?query=branch:V_10_1)
|
[](../../../actions/workflows/vm.yml?query=branch:V_10_1)
|
||||||
|
|||||||
Vendored
+20
-9
@@ -52,7 +52,7 @@ case "$config" in
|
|||||||
CONFIGFLAGS="--with-xauth=/usr/bin/xauth --with-security-key-builtin"
|
CONFIGFLAGS="--with-xauth=/usr/bin/xauth --with-security-key-builtin"
|
||||||
CONFIGFLAGS="$CONFIGFLAGS --with-kerberos5=/usr --with-libedit --disable-strip"
|
CONFIGFLAGS="$CONFIGFLAGS --with-kerberos5=/usr --with-libedit --disable-strip"
|
||||||
;;
|
;;
|
||||||
clang-12-Werror)
|
clang-12-Werror)
|
||||||
CC="clang-12"
|
CC="clang-12"
|
||||||
# clang's implicit-fallthrough requires that the code be annotated with
|
# clang's implicit-fallthrough requires that the code be annotated with
|
||||||
# __attribute__((fallthrough)) and does not understand /* FALLTHROUGH */
|
# __attribute__((fallthrough)) and does not understand /* FALLTHROUGH */
|
||||||
@@ -134,7 +134,9 @@ case "$config" in
|
|||||||
CONFIGFLAGS="--with-kerberos5 --with-libedit --with-pam"
|
CONFIGFLAGS="--with-kerberos5 --with-libedit --with-pam"
|
||||||
CONFIGFLAGS="${CONFIGFLAGS} --with-security-key-builtin --with-selinux"
|
CONFIGFLAGS="${CONFIGFLAGS} --with-security-key-builtin --with-selinux"
|
||||||
CONFIGFLAGS="${CONFIGFLAGS} --with-linux-memlock-onfault"
|
CONFIGFLAGS="${CONFIGFLAGS} --with-linux-memlock-onfault"
|
||||||
|
CONFIGFLAGS="${CONFIGFLAGS} --with-audit=debug"
|
||||||
CFLAGS="-DSK_DEBUG -DSANDBOX_SECCOMP_FILTER_DEBUG"
|
CFLAGS="-DSK_DEBUG -DSANDBOX_SECCOMP_FILTER_DEBUG"
|
||||||
|
EXTRA_TESTS="gss-auth"
|
||||||
;;
|
;;
|
||||||
hardenedmalloc)
|
hardenedmalloc)
|
||||||
CONFIGFLAGS="--with-ldflags=-lhardened_malloc"
|
CONFIGFLAGS="--with-ldflags=-lhardened_malloc"
|
||||||
@@ -153,6 +155,7 @@ case "$config" in
|
|||||||
;;
|
;;
|
||||||
krb5|heimdal)
|
krb5|heimdal)
|
||||||
CONFIGFLAGS="--with-kerberos5"
|
CONFIGFLAGS="--with-kerberos5"
|
||||||
|
EXTRA_TESTS="gss-auth"
|
||||||
;;
|
;;
|
||||||
libedit)
|
libedit)
|
||||||
CONFIGFLAGS="--with-libedit"
|
CONFIGFLAGS="--with-libedit"
|
||||||
@@ -166,6 +169,7 @@ case "$config" in
|
|||||||
pam-krb5)
|
pam-krb5)
|
||||||
CONFIGFLAGS="--with-pam --with-kerberos5"
|
CONFIGFLAGS="--with-pam --with-kerberos5"
|
||||||
SSHD_CONFOPTS="UsePam yes"
|
SSHD_CONFOPTS="UsePam yes"
|
||||||
|
EXTRA_TESTS="gss-auth"
|
||||||
;;
|
;;
|
||||||
*pam)
|
*pam)
|
||||||
CONFIGFLAGS="--with-pam"
|
CONFIGFLAGS="--with-pam"
|
||||||
@@ -173,7 +177,7 @@ case "$config" in
|
|||||||
;;
|
;;
|
||||||
boringssl)
|
boringssl)
|
||||||
CONFIGFLAGS="--disable-pkcs11"
|
CONFIGFLAGS="--disable-pkcs11"
|
||||||
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/boringssl --with-rpath=-Wl,-rpath,"
|
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/boringssl"
|
||||||
;;
|
;;
|
||||||
aws-lc)
|
aws-lc)
|
||||||
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/aws-lc --with-rpath=-Wl,-rpath,"
|
LIBCRYPTOFLAGS="--with-ssl-dir=/opt/aws-lc --with-rpath=-Wl,-rpath,"
|
||||||
@@ -195,7 +199,7 @@ case "$config" in
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
selinux)
|
selinux)
|
||||||
CONFIGFLAGS="--with-selinux"
|
CONFIGFLAGS="--with-selinux --with-audit=linux"
|
||||||
;;
|
;;
|
||||||
sk)
|
sk)
|
||||||
CONFIGFLAGS="--with-security-key-builtin --with-security-key-standalone"
|
CONFIGFLAGS="--with-security-key-builtin --with-security-key-standalone"
|
||||||
@@ -204,10 +208,14 @@ case "$config" in
|
|||||||
LIBCRYPTOFLAGS="--without-openssl"
|
LIBCRYPTOFLAGS="--without-openssl"
|
||||||
TEST_TARGET=t-exec
|
TEST_TARGET=t-exec
|
||||||
;;
|
;;
|
||||||
valgrind-[1-4]|valgrind-unit)
|
valgrind-[1-4]|valgrind-unit|valgrind-pam-1)
|
||||||
# rlimit sandbox and FORTIFY_SOURCE confuse Valgrind.
|
# rlimit sandbox and FORTIFY_SOURCE confuse Valgrind.
|
||||||
CONFIGFLAGS="--without-sandbox --without-hardening"
|
CONFIGFLAGS="--without-sandbox --without-hardening"
|
||||||
CONFIGFLAGS="$CONFIGFLAGS --with-cppflags=-D_FORTIFY_SOURCE=0"
|
CONFIGFLAGS="$CONFIGFLAGS --with-cppflags=-D_FORTIFY_SOURCE=0"
|
||||||
|
if [ "${config}" = "valgrind-pam-1" ]; then
|
||||||
|
CONFIGFLAGS="$CONFIGFLAGS --with-pam"
|
||||||
|
SSHD_CONFOPTS="UsePam yes"
|
||||||
|
fi
|
||||||
TEST_TARGET="t-exec USE_VALGRIND=1"
|
TEST_TARGET="t-exec USE_VALGRIND=1"
|
||||||
TEST_SSH_ELAPSED_TIMES=1
|
TEST_SSH_ELAPSED_TIMES=1
|
||||||
export TEST_SSH_ELAPSED_TIMES
|
export TEST_SSH_ELAPSED_TIMES
|
||||||
@@ -218,7 +226,7 @@ case "$config" in
|
|||||||
tests3="krl forward-control sshsig agent-restrict kextype sftp"
|
tests3="krl forward-control sshsig agent-restrict kextype sftp"
|
||||||
tests4="cert-userkey cert-hostkey kextype sftp-perm keygen-comment percent"
|
tests4="cert-userkey cert-hostkey kextype sftp-perm keygen-comment percent"
|
||||||
case "$config" in
|
case "$config" in
|
||||||
valgrind-1)
|
valgrind-1|valgrind-pam)
|
||||||
# All tests except agent-timeout (which is flaky under valgrind),
|
# All tests except agent-timeout (which is flaky under valgrind),
|
||||||
# connection-timeout (which doesn't work since it's so slow)
|
# connection-timeout (which doesn't work since it's so slow)
|
||||||
# and hostbased (since valgrind won't let ssh exec keysign).
|
# and hostbased (since valgrind won't let ssh exec keysign).
|
||||||
@@ -271,10 +279,6 @@ case "${TARGET_HOST}" in
|
|||||||
TEST_TARGET="t-exec unit TEST_SHELL=bash"
|
TEST_TARGET="t-exec unit TEST_SHELL=bash"
|
||||||
SKIP_LTESTS="rekey sftp"
|
SKIP_LTESTS="rekey sftp"
|
||||||
;;
|
;;
|
||||||
debian-riscv64)
|
|
||||||
# This machine is fairly slow, so skip the unit tests.
|
|
||||||
TEST_TARGET="t-exec"
|
|
||||||
;;
|
|
||||||
dfly58*|dfly60*)
|
dfly58*|dfly60*)
|
||||||
# scp 3-way connection hangs on these so skip until sorted.
|
# scp 3-way connection hangs on these so skip until sorted.
|
||||||
SKIP_LTESTS=scp3
|
SKIP_LTESTS=scp3
|
||||||
@@ -367,6 +371,13 @@ case "$host" in
|
|||||||
SKIP_LTESTS="agent-getpeereid" ;;
|
SKIP_LTESTS="agent-getpeereid" ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
*-solaris2.10)
|
||||||
|
# Only the sol10 VM has BSM libraries installed, so add that to
|
||||||
|
# the PAM test config.
|
||||||
|
if [ "${config}" = "pam" ]; then
|
||||||
|
CONFIGFLAGS="${CONFIGFLAGS} --with-audit=bsm"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Unless specifically configured, search for a suitable version of OpenSSL,
|
# Unless specifically configured, search for a suitable version of OpenSSL,
|
||||||
|
|||||||
Vendored
+5
@@ -51,6 +51,11 @@ else
|
|||||||
${env} make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}"
|
${env} make ${TEST_TARGET} SKIP_LTESTS="${SKIP_LTESTS}" LTESTS="${LTESTS}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Activate kbdint regression test for PAM
|
||||||
|
if echo "${SSHD_CONFOPTS}" | grep -i usepam >/dev/null && [ -f regress/password ]; then
|
||||||
|
cp regress/password regress/kbdintpw
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -z "${SSHD_CONFOPTS}" ]; then
|
if [ ! -z "${SSHD_CONFOPTS}" ]; then
|
||||||
echo "rerunning t-exec with TEST_SSH_SSHD_CONFOPTS='${SSHD_CONFOPTS}'"
|
echo "rerunning t-exec with TEST_SSH_SSHD_CONFOPTS='${SSHD_CONFOPTS}'"
|
||||||
if [ -z "${LTESTS}" ]; then
|
if [ -z "${LTESTS}" ]; then
|
||||||
|
|||||||
Vendored
+4
-4
@@ -3,7 +3,7 @@
|
|||||||
config="$1"
|
config="$1"
|
||||||
target="$2"
|
target="$2"
|
||||||
|
|
||||||
PACKAGES=""
|
PACKAGES="tmux"
|
||||||
|
|
||||||
echo Running as:
|
echo Running as:
|
||||||
id
|
id
|
||||||
@@ -102,10 +102,10 @@ for TARGET in $TARGETS; do
|
|||||||
PACKAGES="$PACKAGES $compiler"
|
PACKAGES="$PACKAGES $compiler"
|
||||||
;;
|
;;
|
||||||
krb5)
|
krb5)
|
||||||
PACKAGES="$PACKAGES libkrb5-dev"
|
PACKAGES="$PACKAGES libkrb5-dev libnss-wrapper krb5-admin-server"
|
||||||
;;
|
;;
|
||||||
heimdal)
|
heimdal)
|
||||||
PACKAGES="$PACKAGES heimdal-dev"
|
PACKAGES="$PACKAGES heimdal-dev libnss-wrapper krb5-admin-server"
|
||||||
;;
|
;;
|
||||||
libedit)
|
libedit)
|
||||||
case "$PACKAGER" in
|
case "$PACKAGER" in
|
||||||
@@ -123,7 +123,7 @@ for TARGET in $TARGETS; do
|
|||||||
PACKAGES="$PACKAGES libfido2-dev libu2f-host-dev libcbor-dev"
|
PACKAGES="$PACKAGES libfido2-dev libu2f-host-dev libcbor-dev"
|
||||||
;;
|
;;
|
||||||
selinux)
|
selinux)
|
||||||
PACKAGES="$PACKAGES libselinux1-dev selinux-policy-dev"
|
PACKAGES="$PACKAGES libselinux1-dev selinux-policy-dev libaudit-dev"
|
||||||
;;
|
;;
|
||||||
hardenedmalloc)
|
hardenedmalloc)
|
||||||
INSTALL_HARDENED_MALLOC=yes
|
INSTALL_HARDENED_MALLOC=yes
|
||||||
|
|||||||
+5
-4
@@ -29,9 +29,9 @@ jobs:
|
|||||||
- ubuntu-latest
|
- ubuntu-latest
|
||||||
- ubuntu-22.04-arm
|
- ubuntu-22.04-arm
|
||||||
- ubuntu-24.04-arm
|
- ubuntu-24.04-arm
|
||||||
- macos-13
|
|
||||||
- macos-14
|
- macos-14
|
||||||
- macos-15
|
- macos-15
|
||||||
|
- macos-15-intel
|
||||||
- windows-2022
|
- windows-2022
|
||||||
- windows-2025
|
- windows-2025
|
||||||
config: [default]
|
config: [default]
|
||||||
@@ -63,6 +63,7 @@ jobs:
|
|||||||
- { target: ubuntu-22.04, config: valgrind-2 }
|
- { target: ubuntu-22.04, config: valgrind-2 }
|
||||||
- { target: ubuntu-22.04, config: valgrind-3 }
|
- { target: ubuntu-22.04, config: valgrind-3 }
|
||||||
- { target: ubuntu-22.04, config: valgrind-4 }
|
- { target: ubuntu-22.04, config: valgrind-4 }
|
||||||
|
- { target: ubuntu-22.04, config: valgrind-pam-1 }
|
||||||
- { target: ubuntu-22.04, config: valgrind-unit }
|
- { target: ubuntu-22.04, config: valgrind-unit }
|
||||||
- { target: ubuntu-22.04, config: without-openssl }
|
- { target: ubuntu-22.04, config: without-openssl }
|
||||||
- { target: ubuntu-latest, config: gcc-14 }
|
- { target: ubuntu-latest, config: gcc-14 }
|
||||||
@@ -79,8 +80,9 @@ jobs:
|
|||||||
- { target: ubuntu-latest, config: libressl-3.7.3 }
|
- { target: ubuntu-latest, config: libressl-3.7.3 }
|
||||||
- { target: ubuntu-latest, config: libressl-3.8.4 }
|
- { target: ubuntu-latest, config: libressl-3.8.4 }
|
||||||
- { target: ubuntu-latest, config: libressl-3.9.2 }
|
- { target: ubuntu-latest, config: libressl-3.9.2 }
|
||||||
- { target: ubuntu-latest, config: libressl-4.0.0 }
|
- { target: ubuntu-latest, config: libressl-4.0.1 }
|
||||||
- { target: ubuntu-latest, config: libressl-4.1.0 }
|
- { target: ubuntu-latest, config: libressl-4.1.1 }
|
||||||
|
- { target: ubuntu-latest, config: libressl-4.2.0 }
|
||||||
- { target: ubuntu-latest, config: openssl-master }
|
- { target: ubuntu-latest, config: openssl-master }
|
||||||
- { target: ubuntu-latest, config: openssl-noec }
|
- { target: ubuntu-latest, config: openssl-noec }
|
||||||
- { target: ubuntu-latest, config: openssl-1.1.1 }
|
- { target: ubuntu-latest, config: openssl-1.1.1 }
|
||||||
@@ -111,7 +113,6 @@ jobs:
|
|||||||
- { target: ubuntu-latest, config: musl }
|
- { target: ubuntu-latest, config: musl }
|
||||||
- { target: ubuntu-22.04-arm, config: kitchensink }
|
- { target: ubuntu-22.04-arm, config: kitchensink }
|
||||||
- { target: ubuntu-24.04-arm, config: kitchensink }
|
- { target: ubuntu-24.04-arm, config: kitchensink }
|
||||||
- { target: macos-13, config: pam }
|
|
||||||
- { target: macos-14, config: pam }
|
- { target: macos-14, config: pam }
|
||||||
- { target: macos-15, config: pam }
|
- { target: macos-15, config: pam }
|
||||||
runs-on: ${{ matrix.target }}
|
runs-on: ${{ matrix.target }}
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ jobs:
|
|||||||
- obsd74
|
- obsd74
|
||||||
- obsd76
|
- obsd76
|
||||||
- obsd77
|
- obsd77
|
||||||
|
- obsd78
|
||||||
- obsdsnap
|
- obsdsnap
|
||||||
- obsdsnap-i386
|
- obsdsnap-i386
|
||||||
- omnios
|
- omnios
|
||||||
|
|||||||
+6
-4
@@ -3,7 +3,7 @@ name: OpenBSD
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
paths: [ '**.c', '**.h', '**.sh', '.github/configs', '.github/workflows/upstream.yml' ]
|
paths: [ '**.c', '**.h', '**.sh', '.github/workflows/upstream.yml' ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
selfhosted:
|
selfhosted:
|
||||||
@@ -22,9 +22,11 @@ jobs:
|
|||||||
host:
|
host:
|
||||||
- libvirt
|
- libvirt
|
||||||
target: [ obsdsnap, obsdsnap-i386 ]
|
target: [ obsdsnap, obsdsnap-i386 ]
|
||||||
config: [ default, without-openssl ] # TODO: restore 'ubsan' once fixed
|
# TODO: restore 'ubsan' once fixed
|
||||||
|
config: [ default, kerberos5, without-openssl ]
|
||||||
include:
|
include:
|
||||||
- { host: libvirt-arm64, target: obsdsnap-arm64, config: default }
|
- { host: libvirt-arm64, target: obsdsnap-arm64, config: default }
|
||||||
|
- { host: libvirt-arm64, target: obsdsnap-arm64, config: kerberos5 }
|
||||||
- { host: libvirt-arm64, target: obsdsnap-arm64, config: without-openssl }
|
- { host: libvirt-arm64, target: obsdsnap-arm64, config: without-openssl }
|
||||||
# - { host: libvirt-arm64, target: obsdsnap-arm64, config: ubsan }
|
# - { host: libvirt-arm64, target: obsdsnap-arm64, config: ubsan }
|
||||||
steps:
|
steps:
|
||||||
@@ -42,13 +44,13 @@ jobs:
|
|||||||
run: sshfs_mount
|
run: sshfs_mount
|
||||||
working-directory: ${{ runner.temp }}
|
working-directory: ${{ runner.temp }}
|
||||||
- name: update source
|
- name: update source
|
||||||
run: vmrun "cd /usr/src && cvs -q up -dPA usr.bin/ssh regress/usr.bin/ssh usr.bin/nc"
|
run: vmrun "cd /usr/src && if [ -d .git ]; then git pull && git log -n1; else cvs -q up -dPA usr.bin/ssh regress/usr.bin/ssh usr.bin/nc; fi"
|
||||||
- name: update netcat
|
- name: update netcat
|
||||||
run: vmrun "cd /usr/src/usr.bin/nc && make clean all && sudo make install"
|
run: vmrun "cd /usr/src/usr.bin/nc && make clean all && sudo make install"
|
||||||
- name: make clean
|
- name: make clean
|
||||||
run: vmrun "cd /usr/src/usr.bin/ssh && make obj && make clean && cd /usr/src/regress/usr.bin/ssh && make obj && make clean && sudo chmod -R g-w /usr/src /usr/obj"
|
run: vmrun "cd /usr/src/usr.bin/ssh && make obj && make clean && cd /usr/src/regress/usr.bin/ssh && make obj && make clean && sudo chmod -R g-w /usr/src /usr/obj"
|
||||||
- name: make
|
- name: make
|
||||||
run: vmrun "cd /usr/src/usr.bin/ssh && case ${{ matrix.config }} in without-openssl) make OPENSSL=no;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac"
|
run: vmrun "cd /usr/src/usr.bin/ssh && case ${{ matrix.config }} in without-openssl) make OPENSSL=no;; kerberos5) make KERBEROS5=yes;; ubsan) make DEBUG='-fsanitize-minimal-runtime -fsanitize=undefined';; *) make; esac"
|
||||||
- name: make install
|
- name: make install
|
||||||
run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install && sudo /etc/rc.d/sshd -f restart"
|
run: vmrun "cd /usr/src/usr.bin/ssh && sudo make install && sudo /etc/rc.d/sshd -f restart"
|
||||||
- name: make tests`
|
- name: make tests`
|
||||||
|
|||||||
+113
-14
@@ -22,7 +22,6 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
# First we test all OSes in the default configuration.
|
|
||||||
target:
|
target:
|
||||||
- "6.4.2"
|
- "6.4.2"
|
||||||
config: [default]
|
config: [default]
|
||||||
@@ -83,7 +82,6 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
# First we test all OSes in the default configuration.
|
|
||||||
target:
|
target:
|
||||||
- "13.5"
|
- "13.5"
|
||||||
- "14.3"
|
- "14.3"
|
||||||
@@ -127,7 +125,7 @@ jobs:
|
|||||||
|
|
||||||
- name: "PAM: configure"
|
- name: "PAM: configure"
|
||||||
shell: freebsd {0}
|
shell: freebsd {0}
|
||||||
run: cd $GITHUB_WORKSPACE && sudo -u builder ./configure --with-pam
|
run: cd $GITHUB_WORKSPACE && sudo -u builder ./configure --with-pam --with-audit=bsm
|
||||||
- name: "PAM: make clean"
|
- name: "PAM: make clean"
|
||||||
shell: freebsd {0}
|
shell: freebsd {0}
|
||||||
run: cd $GITHUB_WORKSPACE && sudo -u builder make clean
|
run: cd $GITHUB_WORKSPACE && sudo -u builder make clean
|
||||||
@@ -147,7 +145,6 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
# First we test all OSes in the default configuration.
|
|
||||||
target:
|
target:
|
||||||
- "9.0"
|
- "9.0"
|
||||||
- "9.4"
|
- "9.4"
|
||||||
@@ -206,15 +203,15 @@ jobs:
|
|||||||
sudo -u builder env SUDO=sudo SSHD_CONFOPTS="UsePam yes" make tests
|
sudo -u builder env SUDO=sudo SSHD_CONFOPTS="UsePam yes" make tests
|
||||||
|
|
||||||
|
|
||||||
ominios:
|
omnios:
|
||||||
name: "omnios-${{ matrix.target }}"
|
name: "omnios-${{ matrix.target }}"
|
||||||
if: github.repository != 'openssh/openssh-portable-selfhosted'
|
if: github.repository != 'openssh/openssh-portable-selfhosted'
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
# First we test all OSes in the default configuration.
|
|
||||||
target:
|
target:
|
||||||
- "r151054"
|
- "r151054"
|
||||||
|
- "r151046"
|
||||||
config: [default]
|
config: [default]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@@ -263,12 +260,12 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
# First we test all OSes in the default configuration.
|
|
||||||
target:
|
target:
|
||||||
- "7.3"
|
- "7.3"
|
||||||
- "7.5"
|
- "7.5"
|
||||||
- "7.6"
|
- "7.6"
|
||||||
- "7.7"
|
- "7.7"
|
||||||
|
- "7.8"
|
||||||
config: [default]
|
config: [default]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@@ -282,9 +279,12 @@ jobs:
|
|||||||
release: ${{ matrix.target }}
|
release: ${{ matrix.target }}
|
||||||
usesh: true
|
usesh: true
|
||||||
prepare: |
|
prepare: |
|
||||||
env PKG_PATH=https://ftp.openbsd.org/pub/OpenBSD/${{matrix.target}}/packages/amd64 pkg_add sudo--
|
|
||||||
useradd -m builder
|
useradd -m builder
|
||||||
echo "builder ALL=(ALL:ALL) NOPASSWD: ALL" >>/etc/sudoers
|
echo "permit nopass keepenv root" >/etc/doas.conf
|
||||||
|
echo "permit nopass keepenv builder" >>/etc/doas.conf
|
||||||
|
ls -l /etc/doas.conf
|
||||||
|
chown root:wheel /etc/doas.conf
|
||||||
|
chmod 644 /etc/doas.conf
|
||||||
mkdir -p /var/empty /usr/local/etc
|
mkdir -p /var/empty /usr/local/etc
|
||||||
cp $GITHUB_WORKSPACE/moduli /usr/local/etc/moduli
|
cp $GITHUB_WORKSPACE/moduli /usr/local/etc/moduli
|
||||||
|
|
||||||
@@ -293,18 +293,117 @@ jobs:
|
|||||||
run: cd $GITHUB_WORKSPACE && chown -R builder .
|
run: cd $GITHUB_WORKSPACE && chown -R builder .
|
||||||
- name: configure
|
- name: configure
|
||||||
shell: openbsd {0}
|
shell: openbsd {0}
|
||||||
run: cd $GITHUB_WORKSPACE && sudo -u builder ./configure
|
run: cd $GITHUB_WORKSPACE && doas -u builder ./configure
|
||||||
- name: make clean
|
- name: make clean
|
||||||
shell: openbsd {0}
|
shell: openbsd {0}
|
||||||
run: cd $GITHUB_WORKSPACE && sudo -u builder make clean
|
run: cd $GITHUB_WORKSPACE && doas -u builder make clean
|
||||||
- name: make
|
- name: make
|
||||||
shell: openbsd {0}
|
shell: openbsd {0}
|
||||||
run: cd $GITHUB_WORKSPACE && sudo -u builder make -j4
|
run: cd $GITHUB_WORKSPACE && doas -u builder make -j4
|
||||||
- name: make tests
|
- name: make tests
|
||||||
shell: openbsd {0}
|
shell: openbsd {0}
|
||||||
run: |
|
run: |
|
||||||
cd $GITHUB_WORKSPACE
|
cd $GITHUB_WORKSPACE
|
||||||
sudo -u builder env SUDO=sudo make tests
|
doas -u builder env SUDO=doas make tests
|
||||||
|
|
||||||
|
|
||||||
|
openbsd-current-upstream:
|
||||||
|
# This job is special, and tests OpenBSD -current, both the underlying
|
||||||
|
# plaform (the latest snapshot) and most recent upstream code (or at least
|
||||||
|
# the most recent code in the github mirror) instead of OpenSSH Portable.
|
||||||
|
name: "openbsd-current-upstream"
|
||||||
|
if: github.repository != 'openssh/openssh-portable-selfhosted'
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: start OpenBSD VM
|
||||||
|
uses: vmactions/openbsd-vm@v1
|
||||||
|
with:
|
||||||
|
copyback: false
|
||||||
|
nat: |
|
||||||
|
"20022": "22"
|
||||||
|
usesh: true
|
||||||
|
prepare: |
|
||||||
|
useradd -g wobj -m builder
|
||||||
|
echo "permit nopass keepenv root" >/etc/doas.conf
|
||||||
|
echo "permit nopass keepenv builder" >>/etc/doas.conf
|
||||||
|
ls -l /etc/doas.conf
|
||||||
|
chown root:wheel /etc/doas.conf
|
||||||
|
chmod 644 /etc/doas.conf
|
||||||
|
touch /etc/ssh/ssh_known_hosts
|
||||||
|
pkg_add git
|
||||||
|
|
||||||
|
- name: Fetch sysupgrade version
|
||||||
|
run: |
|
||||||
|
ver=$(curl -s https://cdn.openbsd.org/pub/OpenBSD/snapshots/amd64/BUILDINFO)
|
||||||
|
echo "SNAPSHOT_VERSION=${ver}" >> $GITHUB_ENV
|
||||||
|
- name: check for cached sysupgrade
|
||||||
|
id: cache-sysupgrade
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
key: openbsd-sysupgrade ${{ env.SNAPSHOT_VERSION }}
|
||||||
|
path: /tmp/_sysupgrade/
|
||||||
|
- name: push sysupgrade from cache to VM
|
||||||
|
if: steps.cache-sysupgrade.outputs.cache-hit == 'true'
|
||||||
|
run: rsync -av /tmp/_sysupgrade/ openbsd:/home/_sysupgrade/
|
||||||
|
- name: upgrade to latest snapshot
|
||||||
|
run: ssh -q openbsd sysupgrade -s -k || true
|
||||||
|
- name: wait for upgrade
|
||||||
|
run: |
|
||||||
|
SECONDS=0; sleep 10; while ! ssh -q -oConnectTimeout=1 openbsd true; do sleep 10; echo waited ${SECONDS}s; done
|
||||||
|
ssh -q openbsd uname -a
|
||||||
|
- name: retrieve sysupgrade from VM to cache
|
||||||
|
if: steps.cache-sysupgrade.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
mkdir -p /tmp/_sysupgrade/
|
||||||
|
rsync -av openbsd:/home/_sysupgrade/ /tmp/_sysupgrade/
|
||||||
|
- name: save sysupgrade to cache
|
||||||
|
if: steps.cache-sysupgrade.outputs.cache-hit != 'true'
|
||||||
|
uses: actions/cache/save@v4
|
||||||
|
with:
|
||||||
|
key: openbsd-sysupgrade ${{ env.SNAPSHOT_VERSION }}
|
||||||
|
path: /tmp/_sysupgrade/
|
||||||
|
|
||||||
|
- name: checkout upstream source
|
||||||
|
shell: openbsd {0}
|
||||||
|
run: |
|
||||||
|
umask 022
|
||||||
|
cd /usr
|
||||||
|
rm -rf src/*
|
||||||
|
git clone --no-checkout --depth=1 --filter=tree:0 https://github.com/openbsd/src.git
|
||||||
|
cd /usr/src
|
||||||
|
git sparse-checkout set --no-cone Makefile usr.bin/Makefile usr.bin/Makefile.inc usr.bin/ssh usr.bin/nc regress/usr.bin/ssh
|
||||||
|
git checkout
|
||||||
|
git log -n1
|
||||||
|
chown -R builder /usr/src
|
||||||
|
chmod -R go-w /usr/src/ /usr/obj/
|
||||||
|
- name: make ssh
|
||||||
|
shell: openbsd {0}
|
||||||
|
run: |
|
||||||
|
cd /usr/src/usr.bin/ssh && make -j4 || make
|
||||||
|
make install
|
||||||
|
/etc/rc.d/sshd restart
|
||||||
|
- name: make nc
|
||||||
|
shell: openbsd {0}
|
||||||
|
run: cd /usr/src/usr.bin/nc && make && make install
|
||||||
|
- name: make tests
|
||||||
|
shell: openbsd {0}
|
||||||
|
run: |
|
||||||
|
cd /usr/src/regress/usr.bin/ssh
|
||||||
|
make obj
|
||||||
|
doas -u builder env SUDO=doas TEST_SSH_UNSAFE_PERMISSIONS=yes TEST_SSH_FAIL_FATAL=yes TEST_SSH_HOSTBASED_AUTH=setupandrun make
|
||||||
|
- name: retrieve logs
|
||||||
|
if: failure()
|
||||||
|
run: |
|
||||||
|
rsync -a openbsd:/usr/obj/regress/usr.bin/ssh/ regress-logs/
|
||||||
|
for i in regress-logs/failed*.log; do echo ===; echo LOGFILE: $i; echo ===; cat $i; echo; done
|
||||||
|
- name: save logs
|
||||||
|
if: failure()
|
||||||
|
uses: actions/upload-artifact@main
|
||||||
|
with:
|
||||||
|
name: openbsd-current-upstream-logs
|
||||||
|
path: regress-logs/*.log
|
||||||
|
|
||||||
|
|
||||||
solaris:
|
solaris:
|
||||||
@@ -313,7 +412,6 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
# First we test all OSes in the default configuration.
|
|
||||||
target:
|
target:
|
||||||
- "11.4-gcc"
|
- "11.4-gcc"
|
||||||
config: [default]
|
config: [default]
|
||||||
@@ -369,3 +467,4 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
cd $GITHUB_WORKSPACE
|
cd $GITHUB_WORKSPACE
|
||||||
sudo -u builder make tests
|
sudo -u builder make tests
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
*~
|
||||||
Makefile
|
Makefile
|
||||||
buildpkg.sh
|
buildpkg.sh
|
||||||
config.h
|
config.h
|
||||||
config.h.in~
|
|
||||||
config.log
|
config.log
|
||||||
config.status
|
config.status
|
||||||
openbsd-compat/Makefile
|
openbsd-compat/Makefile
|
||||||
@@ -17,7 +17,6 @@ survey.sh
|
|||||||
**/*.dll
|
**/*.dll
|
||||||
**/*.out
|
**/*.out
|
||||||
**/*.a
|
**/*.a
|
||||||
**/*.un~
|
|
||||||
**/.*.swp
|
**/.*.swp
|
||||||
autom4te.cache/
|
autom4te.cache/
|
||||||
scp
|
scp
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ ef7ecdb6dd2542f42fa7236d17ac0b144851f0b5 ssh-keygen, fixup'ed into 21682417
|
|||||||
da414a364c25b187fc686da7aacec2c35d29238a ssh-keygen, fixup'ed into 21682417
|
da414a364c25b187fc686da7aacec2c35d29238a ssh-keygen, fixup'ed into 21682417
|
||||||
a05e13a7e2c0b65bb4b47184fef731243431c6ff Makefile.inc
|
a05e13a7e2c0b65bb4b47184fef731243431c6ff Makefile.inc
|
||||||
7e8178786157e863f6ff63c5d55200d7b6b04f9e remove old sandbox files
|
7e8178786157e863f6ff63c5d55200d7b6b04f9e remove old sandbox files
|
||||||
|
98eefed432ff8253b307002e20d28da14b93e7e3 Makefile.inc
|
||||||
|
|
||||||
Old upstream tree:
|
Old upstream tree:
|
||||||
|
|
||||||
|
|||||||
+2871
-1684
File diff suppressed because it is too large
Load Diff
@@ -19,12 +19,15 @@ A working installation of zlib:
|
|||||||
Zlib 1.1.4 or 1.2.1.2 or greater (earlier 1.2.x versions have problems):
|
Zlib 1.1.4 or 1.2.1.2 or greater (earlier 1.2.x versions have problems):
|
||||||
https://zlib.net/
|
https://zlib.net/
|
||||||
|
|
||||||
libcrypto from either of LibreSSL or OpenSSL. Building without libcrypto
|
libcrypto from one of LibreSSL, OpenSSL, AWS-LC or BoringSSL. Building
|
||||||
is supported but severely restricts the available ciphers and algorithms.
|
without libcrypto is supported but severely restricts the available
|
||||||
|
ciphers and algorithms.
|
||||||
- LibreSSL (https://www.libressl.org/) 3.1.0 or greater
|
- LibreSSL (https://www.libressl.org/) 3.1.0 or greater
|
||||||
- OpenSSL (https://www.openssl.org) 1.1.1 or greater
|
- OpenSSL (https://www.openssl.org) 1.1.1 or greater
|
||||||
|
- AWS-LC (https://github.com/aws/aws-lc)
|
||||||
|
- BoringSSL (https://github.com/google/boringssl)
|
||||||
|
|
||||||
LibreSSL/OpenSSL should be compiled as a position-independent library
|
libcrypto should be compiled as a position-independent library
|
||||||
(i.e. -fPIC, eg by configuring OpenSSL as "./config [options] -fPIC"
|
(i.e. -fPIC, eg by configuring OpenSSL as "./config [options] -fPIC"
|
||||||
or LibreSSL as "CFLAGS=-fPIC ./configure") otherwise OpenSSH will not
|
or LibreSSL as "CFLAGS=-fPIC ./configure") otherwise OpenSSH will not
|
||||||
be able to link with it. If you must use a non-position-independent
|
be able to link with it. If you must use a non-position-independent
|
||||||
|
|||||||
@@ -102,19 +102,19 @@ LIBSSH_OBJS=${LIBOPENSSH_OBJS} \
|
|||||||
smult_curve25519_ref.o \
|
smult_curve25519_ref.o \
|
||||||
poly1305.o chacha.o cipher-chachapoly.o cipher-chachapoly-libcrypto.o \
|
poly1305.o chacha.o cipher-chachapoly.o cipher-chachapoly-libcrypto.o \
|
||||||
ssh-ed25519.o digest-openssl.o digest-libc.o \
|
ssh-ed25519.o digest-openssl.o digest-libc.o \
|
||||||
hmac.o ed25519.o hash.o \
|
hmac.o ed25519.o ed25519-openssl.o \
|
||||||
kex.o kex-names.o kexdh.o kexgex.o kexecdh.o kexc25519.o \
|
kex.o kex-names.o kexdh.o kexgex.o kexecdh.o kexc25519.o \
|
||||||
kexgexc.o kexgexs.o \
|
kexgexc.o kexgexs.o \
|
||||||
kexsntrup761x25519.o kexmlkem768x25519.o sntrup761.o kexgen.o \
|
kexsntrup761x25519.o kexmlkem768x25519.o sntrup761.o kexgen.o \
|
||||||
sftp-realpath.o platform-pledge.o platform-tracing.o platform-misc.o \
|
sftp-realpath.o platform-pledge.o platform-tracing.o platform-misc.o \
|
||||||
sshbuf-io.o misc-agent.o
|
sshbuf-io.o misc-agent.o ssherr-libcrypto.o
|
||||||
|
|
||||||
P11OBJS= ssh-pkcs11-client.o
|
P11OBJS= ssh-pkcs11-client.o
|
||||||
|
|
||||||
SKOBJS= ssh-sk-client.o
|
SKOBJS= ssh-sk-client.o
|
||||||
|
|
||||||
SSHOBJS= ssh.o readconf.o clientloop.o sshtty.o \
|
SSHOBJS= ssh.o readconf.o clientloop.o sshtty.o \
|
||||||
sshconnect.o sshconnect2.o mux.o $(P11OBJS) $(SKOBJS)
|
sshconnect.o sshconnect2.o mux.o ssh-pkcs11.o $(SKOBJS)
|
||||||
|
|
||||||
SSHDOBJS=sshd.o \
|
SSHDOBJS=sshd.o \
|
||||||
platform-listen.o \
|
platform-listen.o \
|
||||||
@@ -150,7 +150,7 @@ SSHD_AUTH_OBJS=sshd-auth.o \
|
|||||||
sftp-server.o sftp-common.o \
|
sftp-server.o sftp-common.o \
|
||||||
uidswap.o $(P11OBJS) $(SKOBJS)
|
uidswap.o $(P11OBJS) $(SKOBJS)
|
||||||
|
|
||||||
SFTP_CLIENT_OBJS=sftp-common.o sftp-client.o sftp-glob.o
|
SFTP_CLIENT_OBJS=sftp-common.o sftp-client.o sftp-glob.o ssherr-nolibcrypto.o
|
||||||
|
|
||||||
SCP_OBJS= scp.o progressmeter.o $(SFTP_CLIENT_OBJS)
|
SCP_OBJS= scp.o progressmeter.o $(SFTP_CLIENT_OBJS)
|
||||||
|
|
||||||
@@ -164,11 +164,11 @@ SSHKEYSIGN_OBJS=ssh-keysign.o readconf.o uidswap.o $(P11OBJS) $(SKOBJS)
|
|||||||
|
|
||||||
P11HELPER_OBJS= ssh-pkcs11-helper.o ssh-pkcs11.o $(SKOBJS)
|
P11HELPER_OBJS= ssh-pkcs11-helper.o ssh-pkcs11.o $(SKOBJS)
|
||||||
|
|
||||||
SKHELPER_OBJS= ssh-sk-helper.o ssh-sk.o sk-usbhid.o
|
SKHELPER_OBJS= ssh-sk-helper.o ssh-sk.o sk-usbhid.o ssherr-nolibcrypto.o
|
||||||
|
|
||||||
SSHKEYSCAN_OBJS=ssh-keyscan.o $(P11OBJS) $(SKOBJS)
|
SSHKEYSCAN_OBJS=ssh-keyscan.o $(P11OBJS) $(SKOBJS)
|
||||||
|
|
||||||
SFTPSERVER_OBJS=sftp-common.o sftp-server.o sftp-server-main.o
|
SFTPSERVER_OBJS=sftp-common.o sftp-server.o sftp-server-main.o ssherr-nolibcrypto.o
|
||||||
|
|
||||||
SFTP_OBJS= sftp.o sftp-usergroup.o progressmeter.o $(SFTP_CLIENT_OBJS)
|
SFTP_OBJS= sftp.o sftp-usergroup.o progressmeter.o $(SFTP_CLIENT_OBJS)
|
||||||
|
|
||||||
@@ -336,6 +336,7 @@ distclean: regressclean
|
|||||||
rm -f *.out core opensshd.init openssh.xml
|
rm -f *.out core opensshd.init openssh.xml
|
||||||
rm -f Makefile buildpkg.sh config.h config.status
|
rm -f Makefile buildpkg.sh config.h config.status
|
||||||
rm -f survey.sh openbsd-compat/regress/Makefile *~
|
rm -f survey.sh openbsd-compat/regress/Makefile *~
|
||||||
|
rm -rf openbsd-compat/include
|
||||||
rm -rf autom4te.cache
|
rm -rf autom4te.cache
|
||||||
rm -f regress/check-perm
|
rm -f regress/check-perm
|
||||||
rm -f regress/mkdtemp
|
rm -f regress/mkdtemp
|
||||||
@@ -721,7 +722,7 @@ regress/unittests/utf8/test_utf8$(EXEEXT): \
|
|||||||
SK_DUMMY_OBJS=\
|
SK_DUMMY_OBJS=\
|
||||||
regress/misc/sk-dummy/sk-dummy.lo \
|
regress/misc/sk-dummy/sk-dummy.lo \
|
||||||
regress/misc/sk-dummy/fatal.lo \
|
regress/misc/sk-dummy/fatal.lo \
|
||||||
ed25519.lo hash.lo
|
ed25519.lo ed25519-openssl.lo
|
||||||
|
|
||||||
SK_DUMMY_LIBRARY=@SK_DUMMY_LIBRARY@
|
SK_DUMMY_LIBRARY=@SK_DUMMY_LIBRARY@
|
||||||
|
|
||||||
@@ -818,6 +819,7 @@ interop-tests t-exec file-tests extra-tests: regress-prep regress-binaries $(TAR
|
|||||||
TEST_SSH_DROPBEARKEY="@DROPBEARKEY@" \
|
TEST_SSH_DROPBEARKEY="@DROPBEARKEY@" \
|
||||||
TEST_SSH_DROPBEARCONVERT="@DROPBEARCONVERT@" \
|
TEST_SSH_DROPBEARCONVERT="@DROPBEARCONVERT@" \
|
||||||
TEST_SSH_DBCLIENT="@DBCLIENT@" \
|
TEST_SSH_DBCLIENT="@DBCLIENT@" \
|
||||||
|
TEST_SSH_TMUX="@TMUX@" \
|
||||||
TEST_SSH_IPV6="@TEST_SSH_IPV6@" \
|
TEST_SSH_IPV6="@TEST_SSH_IPV6@" \
|
||||||
TEST_SSH_UTF8="@TEST_SSH_UTF8@" \
|
TEST_SSH_UTF8="@TEST_SSH_UTF8@" \
|
||||||
TEST_SHELL="$(TEST_SHELL)" \
|
TEST_SHELL="$(TEST_SHELL)" \
|
||||||
|
|||||||
@@ -718,4 +718,4 @@ master instance and later clients.
|
|||||||
OpenSSH extends the usual agent protocol. These changes are documented
|
OpenSSH extends the usual agent protocol. These changes are documented
|
||||||
in the PROTOCOL.agent file.
|
in the PROTOCOL.agent file.
|
||||||
|
|
||||||
$OpenBSD: PROTOCOL,v 1.59 2025/08/06 11:22:53 dtucker Exp $
|
$OpenBSD: PROTOCOL,v 1.60 2026/02/09 22:09:48 dtucker Exp $
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
See https://www.openssh.com/releasenotes.html#10.2p1 for the release
|
See https://www.openssh.com/releasenotes.html#10.3p1 for the release
|
||||||
notes.
|
notes.
|
||||||
|
|
||||||
Please read https://www.openssh.com/report.html for bug reporting
|
Please read https://www.openssh.com/report.html for bug reporting
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
# Portable OpenSSH
|
# Portable OpenSSH
|
||||||
|
|
||||||
[](https://github.com/openssh/openssh-portable/actions/workflows/c-cpp.yml)
|
[](../../actions/workflows/c-cpp.yml)
|
||||||
[](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:openssh)
|
[](../../actions/workflows/vm.yml)
|
||||||
|
[](https://github.com/openssh/openssh-portable-selfhosted/actions/workflows/selfhosted.yml)
|
||||||
|
[](../../actions/workflows/cifuzz.yml)
|
||||||
|
[](https://issues.oss-fuzz.com/issues?q="Project:+openssh"+is:open)
|
||||||
[](https://scan.coverity.com/projects/openssh-portable)
|
[](https://scan.coverity.com/projects/openssh-portable)
|
||||||
|
|
||||||
OpenSSH is a complete implementation of the SSH protocol (version 2) for secure remote login, command execution and file transfer. It includes a client ``ssh`` and server ``sshd``, file transfer utilities ``scp`` and ``sftp`` as well as tools for key generation (``ssh-keygen``), run-time key storage (``ssh-agent``) and a number of supporting programs.
|
OpenSSH is a complete implementation of the SSH protocol (version 2) for secure remote login, command execution and file transfer. It includes a client ``ssh`` and server ``sshd``, file transfer utilities ``scp`` and ``sftp`` as well as tools for key generation (``ssh-keygen``), run-time key storage (``ssh-agent``) and a number of supporting programs.
|
||||||
@@ -31,7 +34,7 @@ Stable release tarballs are available from a number of [download mirrors](https:
|
|||||||
|
|
||||||
Portable OpenSSH is built using autoconf and make. It requires a working C compiler, standard library and headers.
|
Portable OpenSSH is built using autoconf and make. It requires a working C compiler, standard library and headers.
|
||||||
|
|
||||||
``libcrypto`` from either [LibreSSL](https://www.libressl.org/) or [OpenSSL](https://www.openssl.org) may also be used. OpenSSH may be built without either of these, but the resulting binaries will have only a subset of the cryptographic algorithms normally available.
|
``libcrypto`` from one of [LibreSSL](https://www.libressl.org/), [OpenSSL](https://www.openssl.org), [AWS-LC](https://github.com/aws/aws-lc) or [BoringSSL](https://github.com/google/boringssl) may also be used. OpenSSH may be built without either of these, but the resulting binaries will have only a subset of the cryptographic algorithms normally available.
|
||||||
|
|
||||||
[zlib](https://www.zlib.net/) is optional; without it transport compression is not supported.
|
[zlib](https://www.zlib.net/) is optional; without it transport compression is not supported.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: addr.c,v 1.9 2024/10/18 04:30:09 djm Exp $ */
|
/* $OpenBSD: addr.c,v 1.10 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004-2008 Damien Miller <djm@mindrot.org>
|
* Copyright (c) 2004-2008 Damien Miller <djm@mindrot.org>
|
||||||
@@ -61,7 +61,7 @@ masklen_valid(int af, u_int masklen)
|
|||||||
|
|
||||||
static int
|
static int
|
||||||
addr_xaddr_to_sa(const struct xaddr *xa, struct sockaddr *sa, socklen_t *len,
|
addr_xaddr_to_sa(const struct xaddr *xa, struct sockaddr *sa, socklen_t *len,
|
||||||
u_int16_t port)
|
uint16_t port)
|
||||||
{
|
{
|
||||||
struct sockaddr_in *in4 = (struct sockaddr_in *)sa;
|
struct sockaddr_in *in4 = (struct sockaddr_in *)sa;
|
||||||
struct sockaddr_in6 *in6 = (struct sockaddr_in6 *)sa;
|
struct sockaddr_in6 *in6 = (struct sockaddr_in6 *)sa;
|
||||||
|
|||||||
@@ -27,11 +27,11 @@ struct xaddr {
|
|||||||
union {
|
union {
|
||||||
struct in_addr v4;
|
struct in_addr v4;
|
||||||
struct in6_addr v6;
|
struct in6_addr v6;
|
||||||
u_int8_t addr8[16];
|
uint8_t addr8[16];
|
||||||
u_int16_t addr16[8];
|
uint16_t addr16[8];
|
||||||
u_int32_t addr32[4];
|
uint32_t addr32[4];
|
||||||
} xa; /* 128-bit address */
|
} xa; /* 128-bit address */
|
||||||
u_int32_t scope_id; /* iface scope id for v6 */
|
uint32_t scope_id; /* iface scope id for v6 */
|
||||||
#define v4 xa.v4
|
#define v4 xa.v4
|
||||||
#define v6 xa.v6
|
#define v6 xa.v6
|
||||||
#define addr8 xa.addr8
|
#define addr8 xa.addr8
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: addrmatch.c,v 1.17 2021/04/03 06:18:40 djm Exp $ */
|
/* $OpenBSD: addrmatch.c,v 1.19 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2004-2008 Damien Miller <djm@mindrot.org>
|
* Copyright (c) 2004-2008 Damien Miller <djm@mindrot.org>
|
||||||
@@ -19,11 +19,8 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <arpa/inet.h>
|
|
||||||
|
|
||||||
#include <netdb.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -128,7 +125,7 @@ addr_match_cidr_list(const char *addr, const char *_list)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* NB. This function is called in pre-auth with untrusted data,
|
* NB. This function is called in pre-auth with untrusted data,
|
||||||
* so be extra paranoid about junk reaching getaddrino (via
|
* so be extra paranoid about junk reaching getaddrinfo (via
|
||||||
* addr_pton_cidr).
|
* addr_pton_cidr).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ extern void aug_save_egid(gid_t);
|
|||||||
extern void aug_save_pid(pid_t);
|
extern void aug_save_pid(pid_t);
|
||||||
extern void aug_save_asid(au_asid_t);
|
extern void aug_save_asid(au_asid_t);
|
||||||
extern void aug_save_tid(dev_t, unsigned int);
|
extern void aug_save_tid(dev_t, unsigned int);
|
||||||
extern void aug_save_tid_ex(dev_t, u_int32_t *, u_int32_t);
|
extern void aug_save_tid_ex(dev_t, uint32_t *, uint32_t);
|
||||||
extern int aug_save_me(void);
|
extern int aug_save_me(void);
|
||||||
extern int aug_save_namask(void);
|
extern int aug_save_namask(void);
|
||||||
extern void aug_save_event(au_event_t);
|
extern void aug_save_event(au_event_t);
|
||||||
@@ -129,10 +129,10 @@ static AuditInfoTermID ssh_bsm_tid;
|
|||||||
* getaudit_addr() is only present on IPv6 capable machines.
|
* getaudit_addr() is only present on IPv6 capable machines.
|
||||||
*/
|
*/
|
||||||
#if defined(HAVE_AUG_GET_MACHINE) || !defined(HAVE_GETAUDIT_ADDR)
|
#if defined(HAVE_AUG_GET_MACHINE) || !defined(HAVE_GETAUDIT_ADDR)
|
||||||
extern int aug_get_machine(char *, u_int32_t *, u_int32_t *);
|
extern int aug_get_machine(char *, uint32_t *, uint32_t *);
|
||||||
#else
|
#else
|
||||||
static int
|
static int
|
||||||
aug_get_machine(char *host, u_int32_t *addr, u_int32_t *type)
|
aug_get_machine(char *host, uint32_t *addr, uint32_t *type)
|
||||||
{
|
{
|
||||||
struct addrinfo *ai;
|
struct addrinfo *ai;
|
||||||
struct sockaddr_in *in4;
|
struct sockaddr_in *in4;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: auth-bsdauth.c,v 1.15 2018/07/09 21:35:50 markus Exp $ */
|
/* $OpenBSD: auth-bsdauth.c,v 1.16 2026/02/06 01:24:36 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -125,14 +125,6 @@ bsdauth_free_ctx(void *ctx)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
KbdintDevice bsdauth_device = {
|
|
||||||
"bsdauth",
|
|
||||||
bsdauth_init_ctx,
|
|
||||||
bsdauth_query,
|
|
||||||
bsdauth_respond,
|
|
||||||
bsdauth_free_ctx
|
|
||||||
};
|
|
||||||
|
|
||||||
KbdintDevice mm_bsdauth_device = {
|
KbdintDevice mm_bsdauth_device = {
|
||||||
"bsdauth",
|
"bsdauth",
|
||||||
bsdauth_init_ctx,
|
bsdauth_init_ctx,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: auth-krb5.c,v 1.25 2025/09/29 21:29:22 dtucker Exp $ */
|
/* $OpenBSD: auth-krb5.c,v 1.26 2026/02/08 19:54:31 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Kerberos v5 authentication and ticket-passing routines.
|
* Kerberos v5 authentication and ticket-passing routines.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
#include <sys/queue.h>
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
@@ -29,8 +30,6 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
#include "openbsd-compat/sys-queue.h"
|
|
||||||
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
|||||||
+52
-168
@@ -95,7 +95,6 @@
|
|||||||
#include "servconf.h"
|
#include "servconf.h"
|
||||||
#include "ssh2.h"
|
#include "ssh2.h"
|
||||||
#include "auth-options.h"
|
#include "auth-options.h"
|
||||||
#include "misc.h"
|
|
||||||
#ifdef GSSAPI
|
#ifdef GSSAPI
|
||||||
#include "ssh-gss.h"
|
#include "ssh-gss.h"
|
||||||
#endif
|
#endif
|
||||||
@@ -133,11 +132,17 @@ typedef pid_t sp_pthread_t;
|
|||||||
#define pthread_join fake_pthread_join
|
#define pthread_join fake_pthread_join
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
typedef int SshPamDone;
|
||||||
|
#define SshPamError -1
|
||||||
|
#define SshPamNone 0
|
||||||
|
#define SshPamAuthenticated 1
|
||||||
|
#define SshPamAgain 2
|
||||||
|
|
||||||
struct pam_ctxt {
|
struct pam_ctxt {
|
||||||
sp_pthread_t pam_thread;
|
sp_pthread_t pam_thread;
|
||||||
int pam_psock;
|
int pam_psock;
|
||||||
int pam_csock;
|
int pam_csock;
|
||||||
int pam_done;
|
SshPamDone pam_done;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void sshpam_free_ctx(void *);
|
static void sshpam_free_ctx(void *);
|
||||||
@@ -159,7 +164,7 @@ sshpam_sigchld_handler(int sig)
|
|||||||
return; /* handler called after PAM cleanup, shouldn't happen */
|
return; /* handler called after PAM cleanup, shouldn't happen */
|
||||||
if (waitpid(cleanup_ctxt->pam_thread, &sshpam_thread_status, WNOHANG)
|
if (waitpid(cleanup_ctxt->pam_thread, &sshpam_thread_status, WNOHANG)
|
||||||
<= 0) {
|
<= 0) {
|
||||||
/* PAM thread has not exitted, privsep slave must have */
|
/* PAM thread has not exited, privsep slave must have */
|
||||||
kill(cleanup_ctxt->pam_thread, SIGTERM);
|
kill(cleanup_ctxt->pam_thread, SIGTERM);
|
||||||
while (waitpid(cleanup_ctxt->pam_thread,
|
while (waitpid(cleanup_ctxt->pam_thread,
|
||||||
&sshpam_thread_status, 0) == -1) {
|
&sshpam_thread_status, 0) == -1) {
|
||||||
@@ -238,6 +243,7 @@ pthread_join(sp_pthread_t thread, void **value)
|
|||||||
|
|
||||||
|
|
||||||
static pam_handle_t *sshpam_handle = NULL;
|
static pam_handle_t *sshpam_handle = NULL;
|
||||||
|
static char *sshpam_initial_user;
|
||||||
static int sshpam_err = 0;
|
static int sshpam_err = 0;
|
||||||
static int sshpam_authenticated = 0;
|
static int sshpam_authenticated = 0;
|
||||||
static int sshpam_session_open = 0;
|
static int sshpam_session_open = 0;
|
||||||
@@ -272,31 +278,6 @@ pam_putenv(pam_handle_t *pamh, const char *name_value)
|
|||||||
}
|
}
|
||||||
#endif /* HAVE_PAM_PUTENV */
|
#endif /* HAVE_PAM_PUTENV */
|
||||||
|
|
||||||
/*
|
|
||||||
* Some platforms, notably Solaris, do not enforce password complexity
|
|
||||||
* rules during pam_chauthtok() if the real uid of the calling process
|
|
||||||
* is 0, on the assumption that it's being called by "passwd" run by root.
|
|
||||||
* This wraps pam_chauthtok and sets/restore the real uid so PAM will do
|
|
||||||
* the right thing.
|
|
||||||
*/
|
|
||||||
#ifdef SSHPAM_CHAUTHTOK_NEEDS_RUID
|
|
||||||
static int
|
|
||||||
sshpam_chauthtok_ruid(pam_handle_t *pamh, int flags)
|
|
||||||
{
|
|
||||||
int result;
|
|
||||||
|
|
||||||
if (sshpam_authctxt == NULL)
|
|
||||||
fatal("PAM: sshpam_authctxt not initialized");
|
|
||||||
if (setreuid(sshpam_authctxt->pw->pw_uid, -1) == -1)
|
|
||||||
fatal_f("setreuid failed: %s", strerror(errno));
|
|
||||||
result = pam_chauthtok(pamh, flags);
|
|
||||||
if (setreuid(0, -1) == -1)
|
|
||||||
fatal_f("setreuid failed: %s", strerror(errno));
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
# define pam_chauthtok(a,b) (sshpam_chauthtok_ruid((a), (b)))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sshpam_password_change_required(int reqd)
|
sshpam_password_change_required(int reqd)
|
||||||
{
|
{
|
||||||
@@ -442,6 +423,9 @@ sshpam_thread_conv(int n, sshpam_const struct pam_message **msg,
|
|||||||
break;
|
break;
|
||||||
case PAM_ERROR_MSG:
|
case PAM_ERROR_MSG:
|
||||||
case PAM_TEXT_INFO:
|
case PAM_TEXT_INFO:
|
||||||
|
debug3("PAM: Got message of type %d: %s",
|
||||||
|
PAM_MSG_MEMBER(msg, i, msg_style),
|
||||||
|
PAM_MSG_MEMBER(msg, i, msg));
|
||||||
if ((r = sshbuf_put_cstring(buffer,
|
if ((r = sshbuf_put_cstring(buffer,
|
||||||
PAM_MSG_MEMBER(msg, i, msg))) != 0)
|
PAM_MSG_MEMBER(msg, i, msg))) != 0)
|
||||||
fatal("%s: buffer error: %s",
|
fatal("%s: buffer error: %s",
|
||||||
@@ -486,9 +470,11 @@ check_pam_user(Authctxt *authctxt)
|
|||||||
return PAM_USER_UNKNOWN;
|
return PAM_USER_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(authctxt->pw->pw_name, pam_user) != 0) {
|
if (sshpam_initial_user == NULL)
|
||||||
debug("PAM user \"%s\" does not match expected \"%s\"",
|
fatal_f("internal error: sshpam_initial_user NULL");
|
||||||
pam_user, authctxt->pw->pw_name);
|
if (strcmp(sshpam_initial_user, pam_user) != 0) {
|
||||||
|
error_f("PAM user \"%s\" does not match previous \"%s\"",
|
||||||
|
pam_user, sshpam_initial_user);
|
||||||
return PAM_USER_UNKNOWN;
|
return PAM_USER_UNKNOWN;
|
||||||
}
|
}
|
||||||
return PAM_SUCCESS;
|
return PAM_SUCCESS;
|
||||||
@@ -710,6 +696,8 @@ sshpam_cleanup(void)
|
|||||||
sshpam_authenticated = 0;
|
sshpam_authenticated = 0;
|
||||||
pam_end(sshpam_handle, sshpam_err);
|
pam_end(sshpam_handle, sshpam_err);
|
||||||
sshpam_handle = NULL;
|
sshpam_handle = NULL;
|
||||||
|
free(sshpam_initial_user);
|
||||||
|
sshpam_initial_user = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -726,21 +714,19 @@ sshpam_init(struct ssh *ssh, Authctxt *authctxt)
|
|||||||
fatal("Username too long from %s port %d",
|
fatal("Username too long from %s port %d",
|
||||||
ssh_remote_ipaddr(ssh), ssh_remote_port(ssh));
|
ssh_remote_ipaddr(ssh), ssh_remote_port(ssh));
|
||||||
#endif
|
#endif
|
||||||
if (sshpam_handle == NULL) {
|
if (sshpam_handle == NULL && ssh == NULL)
|
||||||
if (ssh == NULL) {
|
fatal("%s: called initially with no packet context", __func__);
|
||||||
fatal("%s: called initially with no "
|
|
||||||
"packet context", __func__);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (sshpam_handle != NULL) {
|
if (sshpam_handle != NULL) {
|
||||||
/* We already have a PAM context; check if the user matches */
|
/* We already have a PAM context; check if the user matches */
|
||||||
if ((sshpam_err = check_pam_user(authctxt)) != PAM_SUCCESS)
|
if ((sshpam_err = check_pam_user(authctxt)) != PAM_SUCCESS)
|
||||||
fatal("PAM user mismatch");
|
fatal("PAM user mismatch");
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
debug("PAM: initializing for \"%s\" with service \"%s\"", user,
|
debug("PAM: initializing for \"%s\" with service \"%s\"", user,
|
||||||
options.pam_service_name);
|
options.pam_service_name);
|
||||||
sshpam_err = pam_start(options.pam_service_name, user,
|
sshpam_err = pam_start(options.pam_service_name, user,
|
||||||
&store_conv, &sshpam_handle);
|
&store_conv, &sshpam_handle);
|
||||||
|
sshpam_initial_user = xstrdup(user);
|
||||||
sshpam_authctxt = authctxt;
|
sshpam_authctxt = authctxt;
|
||||||
|
|
||||||
if (sshpam_err != PAM_SUCCESS) {
|
if (sshpam_err != PAM_SUCCESS) {
|
||||||
@@ -869,10 +855,9 @@ sshpam_query(void *ctx, char **name, char **info,
|
|||||||
{
|
{
|
||||||
struct sshbuf *buffer;
|
struct sshbuf *buffer;
|
||||||
struct pam_ctxt *ctxt = ctx;
|
struct pam_ctxt *ctxt = ctx;
|
||||||
size_t plen;
|
|
||||||
u_char type;
|
u_char type;
|
||||||
char *msg;
|
char *msg;
|
||||||
size_t len, mlen, nmesg = 0;
|
size_t mlen, nmesg = 0;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
debug3_f("entering");
|
debug3_f("entering");
|
||||||
@@ -880,10 +865,10 @@ sshpam_query(void *ctx, char **name, char **info,
|
|||||||
fatal_f("sshbuf_new failed");
|
fatal_f("sshbuf_new failed");
|
||||||
*name = xstrdup("");
|
*name = xstrdup("");
|
||||||
*info = xstrdup("");
|
*info = xstrdup("");
|
||||||
*prompts = xmalloc(sizeof(char *));
|
*prompts = NULL;
|
||||||
**prompts = NULL;
|
*num = 0;
|
||||||
plen = 0;
|
ctxt->pam_done = SshPamNone;
|
||||||
*echo_on = xmalloc(sizeof(u_int));
|
|
||||||
while (ssh_msg_recv(ctxt->pam_psock, buffer) == 0) {
|
while (ssh_msg_recv(ctxt->pam_psock, buffer) == 0) {
|
||||||
if (++nmesg > PAM_MAX_NUM_MSG)
|
if (++nmesg > PAM_MAX_NUM_MSG)
|
||||||
fatal_f("too many query messages");
|
fatal_f("too many query messages");
|
||||||
@@ -893,26 +878,21 @@ sshpam_query(void *ctx, char **name, char **info,
|
|||||||
switch (type) {
|
switch (type) {
|
||||||
case PAM_PROMPT_ECHO_ON:
|
case PAM_PROMPT_ECHO_ON:
|
||||||
case PAM_PROMPT_ECHO_OFF:
|
case PAM_PROMPT_ECHO_OFF:
|
||||||
|
*prompts = xcalloc(1, sizeof(char *));
|
||||||
|
*echo_on = xcalloc(1, sizeof(u_int));
|
||||||
|
(*prompts)[0] = msg; /* transfer ownership */
|
||||||
|
(*echo_on)[0] = (type == PAM_PROMPT_ECHO_ON);
|
||||||
*num = 1;
|
*num = 1;
|
||||||
len = plen + mlen + 1;
|
|
||||||
**prompts = xreallocarray(**prompts, 1, len);
|
|
||||||
strlcpy(**prompts + plen, msg, len - plen);
|
|
||||||
plen += mlen;
|
|
||||||
**echo_on = (type == PAM_PROMPT_ECHO_ON);
|
|
||||||
free(msg);
|
|
||||||
sshbuf_free(buffer);
|
sshbuf_free(buffer);
|
||||||
return (0);
|
return (0);
|
||||||
case PAM_ERROR_MSG:
|
case PAM_ERROR_MSG:
|
||||||
case PAM_TEXT_INFO:
|
case PAM_TEXT_INFO:
|
||||||
/* accumulate messages */
|
free(*info);
|
||||||
len = plen + mlen + 2;
|
*info = msg; /* transfer ownership */
|
||||||
**prompts = xreallocarray(**prompts, 1, len);
|
msg = NULL;
|
||||||
strlcpy(**prompts + plen, msg, len - plen);
|
ctxt->pam_done = SshPamAgain;
|
||||||
plen += mlen;
|
sshbuf_free(buffer);
|
||||||
strlcat(**prompts + plen, "\n", len - plen);
|
return (0);
|
||||||
plen++;
|
|
||||||
free(msg);
|
|
||||||
break;
|
|
||||||
case PAM_ACCT_EXPIRED:
|
case PAM_ACCT_EXPIRED:
|
||||||
case PAM_MAXTRIES:
|
case PAM_MAXTRIES:
|
||||||
if (type == PAM_ACCT_EXPIRED)
|
if (type == PAM_ACCT_EXPIRED)
|
||||||
@@ -922,29 +902,8 @@ sshpam_query(void *ctx, char **name, char **info,
|
|||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
case PAM_AUTH_ERR:
|
case PAM_AUTH_ERR:
|
||||||
debug3("PAM: %s", pam_strerror(sshpam_handle, type));
|
debug3("PAM: %s", pam_strerror(sshpam_handle, type));
|
||||||
if (**prompts != NULL && strlen(**prompts) != 0) {
|
|
||||||
free(*info);
|
|
||||||
*info = **prompts;
|
|
||||||
**prompts = NULL;
|
|
||||||
*num = 0;
|
|
||||||
**echo_on = 0;
|
|
||||||
ctxt->pam_done = -1;
|
|
||||||
free(msg);
|
|
||||||
sshbuf_free(buffer);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
case PAM_SUCCESS:
|
case PAM_SUCCESS:
|
||||||
if (**prompts != NULL) {
|
|
||||||
/* drain any accumulated messages */
|
|
||||||
debug("PAM: %s", **prompts);
|
|
||||||
if ((r = sshbuf_put(loginmsg, **prompts,
|
|
||||||
strlen(**prompts))) != 0)
|
|
||||||
fatal("%s: buffer error: %s",
|
|
||||||
__func__, ssh_err(r));
|
|
||||||
free(**prompts);
|
|
||||||
**prompts = NULL;
|
|
||||||
}
|
|
||||||
if (type == PAM_SUCCESS) {
|
if (type == PAM_SUCCESS) {
|
||||||
if (!sshpam_authctxt->valid ||
|
if (!sshpam_authctxt->valid ||
|
||||||
(sshpam_authctxt->pw->pw_uid == 0 &&
|
(sshpam_authctxt->pw->pw_uid == 0 &&
|
||||||
@@ -953,9 +912,7 @@ sshpam_query(void *ctx, char **name, char **info,
|
|||||||
"succeeded when it should have "
|
"succeeded when it should have "
|
||||||
"failed");
|
"failed");
|
||||||
import_environments(buffer);
|
import_environments(buffer);
|
||||||
*num = 0;
|
ctxt->pam_done = SshPamAuthenticated;
|
||||||
**echo_on = 0;
|
|
||||||
ctxt->pam_done = 1;
|
|
||||||
free(msg);
|
free(msg);
|
||||||
sshbuf_free(buffer);
|
sshbuf_free(buffer);
|
||||||
return (0);
|
return (0);
|
||||||
@@ -967,10 +924,8 @@ sshpam_query(void *ctx, char **name, char **info,
|
|||||||
sshpam_authctxt->user, sshpam_rhost);
|
sshpam_authctxt->user, sshpam_rhost);
|
||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
default:
|
default:
|
||||||
*num = 0;
|
|
||||||
**echo_on = 0;
|
|
||||||
free(msg);
|
free(msg);
|
||||||
ctxt->pam_done = -1;
|
ctxt->pam_done = SshPamError;
|
||||||
sshbuf_free(buffer);
|
sshbuf_free(buffer);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
@@ -1003,7 +958,6 @@ fake_password(const char *wire_password)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* XXX - see also comment in auth-chall.c:verify_response */
|
|
||||||
static int
|
static int
|
||||||
sshpam_respond(void *ctx, u_int num, char **resp)
|
sshpam_respond(void *ctx, u_int num, char **resp)
|
||||||
{
|
{
|
||||||
@@ -1014,11 +968,13 @@ sshpam_respond(void *ctx, u_int num, char **resp)
|
|||||||
|
|
||||||
debug2_f("PAM: entering, %u responses", num);
|
debug2_f("PAM: entering, %u responses", num);
|
||||||
switch (ctxt->pam_done) {
|
switch (ctxt->pam_done) {
|
||||||
case 1:
|
case SshPamAuthenticated:
|
||||||
sshpam_authenticated = 1;
|
sshpam_authenticated = 1;
|
||||||
return (0);
|
return (0);
|
||||||
case 0:
|
case SshPamNone:
|
||||||
break;
|
break;
|
||||||
|
case SshPamAgain:
|
||||||
|
return 1; /* KbdintResultAgain */
|
||||||
default:
|
default:
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
@@ -1063,6 +1019,14 @@ sshpam_free_ctx(void *ctxtp)
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
sshpam_priv_kbdint_authdone(void *ctxtp)
|
||||||
|
{
|
||||||
|
struct pam_ctxt *ctxt = ctxtp;
|
||||||
|
|
||||||
|
return ctxt->pam_done == SshPamAuthenticated;
|
||||||
|
}
|
||||||
|
|
||||||
KbdintDevice sshpam_device = {
|
KbdintDevice sshpam_device = {
|
||||||
"pam",
|
"pam",
|
||||||
sshpam_init_ctx,
|
sshpam_init_ctx,
|
||||||
@@ -1148,86 +1112,6 @@ do_pam_setcred(void)
|
|||||||
pam_strerror(sshpam_handle, sshpam_err));
|
pam_strerror(sshpam_handle, sshpam_err));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
static int
|
|
||||||
sshpam_tty_conv(int n, sshpam_const struct pam_message **msg,
|
|
||||||
struct pam_response **resp, void *data)
|
|
||||||
{
|
|
||||||
char input[PAM_MAX_MSG_SIZE];
|
|
||||||
struct pam_response *reply;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
debug3_f("PAM: called with %d messages", n);
|
|
||||||
|
|
||||||
*resp = NULL;
|
|
||||||
|
|
||||||
if (n <= 0 || n > PAM_MAX_NUM_MSG || !isatty(STDIN_FILENO))
|
|
||||||
return (PAM_CONV_ERR);
|
|
||||||
|
|
||||||
if ((reply = calloc(n, sizeof(*reply))) == NULL)
|
|
||||||
return (PAM_CONV_ERR);
|
|
||||||
|
|
||||||
for (i = 0; i < n; ++i) {
|
|
||||||
switch (PAM_MSG_MEMBER(msg, i, msg_style)) {
|
|
||||||
case PAM_PROMPT_ECHO_OFF:
|
|
||||||
reply[i].resp =
|
|
||||||
read_passphrase(PAM_MSG_MEMBER(msg, i, msg),
|
|
||||||
RP_ALLOW_STDIN);
|
|
||||||
reply[i].resp_retcode = PAM_SUCCESS;
|
|
||||||
break;
|
|
||||||
case PAM_PROMPT_ECHO_ON:
|
|
||||||
fprintf(stderr, "%s\n", PAM_MSG_MEMBER(msg, i, msg));
|
|
||||||
if (fgets(input, sizeof input, stdin) == NULL)
|
|
||||||
input[0] = '\0';
|
|
||||||
if ((reply[i].resp = strdup(input)) == NULL)
|
|
||||||
goto fail;
|
|
||||||
reply[i].resp_retcode = PAM_SUCCESS;
|
|
||||||
break;
|
|
||||||
case PAM_ERROR_MSG:
|
|
||||||
case PAM_TEXT_INFO:
|
|
||||||
fprintf(stderr, "%s\n", PAM_MSG_MEMBER(msg, i, msg));
|
|
||||||
reply[i].resp_retcode = PAM_SUCCESS;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*resp = reply;
|
|
||||||
return (PAM_SUCCESS);
|
|
||||||
|
|
||||||
fail:
|
|
||||||
for(i = 0; i < n; i++) {
|
|
||||||
free(reply[i].resp);
|
|
||||||
}
|
|
||||||
free(reply);
|
|
||||||
return (PAM_CONV_ERR);
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct pam_conv tty_conv = { sshpam_tty_conv, NULL };
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* XXX this should be done in the authentication phase, but ssh1 doesn't
|
|
||||||
* support that
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
do_pam_chauthtok(void)
|
|
||||||
{
|
|
||||||
fatal("Password expired");
|
|
||||||
#if 0
|
|
||||||
sshpam_err = pam_set_item(sshpam_handle, PAM_CONV,
|
|
||||||
(const void *)&tty_conv);
|
|
||||||
if (sshpam_err != PAM_SUCCESS)
|
|
||||||
fatal("PAM: failed to set PAM_CONV: %s",
|
|
||||||
pam_strerror(sshpam_handle, sshpam_err));
|
|
||||||
debug("PAM: changing password");
|
|
||||||
sshpam_err = pam_chauthtok(sshpam_handle, PAM_CHANGE_EXPIRED_AUTHTOK);
|
|
||||||
if (sshpam_err != PAM_SUCCESS)
|
|
||||||
fatal("PAM: pam_chauthtok(): %s",
|
|
||||||
pam_strerror(sshpam_handle, sshpam_err));
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
do_pam_session(struct ssh *ssh)
|
do_pam_session(struct ssh *ssh)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ void finish_pam(void);
|
|||||||
u_int do_pam_account(void);
|
u_int do_pam_account(void);
|
||||||
void do_pam_session(struct ssh *);
|
void do_pam_session(struct ssh *);
|
||||||
void do_pam_setcred(void);
|
void do_pam_setcred(void);
|
||||||
void do_pam_chauthtok(void);
|
|
||||||
int do_pam_putenv(char *, char *);
|
int do_pam_putenv(char *, char *);
|
||||||
char ** fetch_pam_environment(void);
|
char ** fetch_pam_environment(void);
|
||||||
char ** fetch_pam_child_environment(void);
|
char ** fetch_pam_child_environment(void);
|
||||||
@@ -43,5 +42,6 @@ int sshpam_auth_passwd(Authctxt *, const char *);
|
|||||||
int sshpam_get_maxtries_reached(void);
|
int sshpam_get_maxtries_reached(void);
|
||||||
void sshpam_set_maxtries_reached(int);
|
void sshpam_set_maxtries_reached(int);
|
||||||
int is_pam_session_open(void);
|
int is_pam_session_open(void);
|
||||||
|
int sshpam_priv_kbdint_authdone(void *ctxtp);
|
||||||
|
|
||||||
#endif /* USE_PAM */
|
#endif /* USE_PAM */
|
||||||
|
|||||||
+20
-16
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: auth.c,v 1.163 2025/09/15 04:39:15 djm Exp $ */
|
/* $OpenBSD: auth.c,v 1.164 2026/02/11 22:57:16 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -99,8 +99,8 @@ allowed_user(struct ssh *ssh, struct passwd * pw)
|
|||||||
{
|
{
|
||||||
struct stat st;
|
struct stat st;
|
||||||
const char *hostname = NULL, *ipaddr = NULL;
|
const char *hostname = NULL, *ipaddr = NULL;
|
||||||
u_int i;
|
|
||||||
int r;
|
int r;
|
||||||
|
u_int i;
|
||||||
|
|
||||||
/* Shouldn't be called if pw is NULL, but better safe than sorry... */
|
/* Shouldn't be called if pw is NULL, but better safe than sorry... */
|
||||||
if (!pw || !pw->pw_name)
|
if (!pw || !pw->pw_name)
|
||||||
@@ -552,9 +552,10 @@ int
|
|||||||
auth_key_is_revoked(struct sshkey *key)
|
auth_key_is_revoked(struct sshkey *key)
|
||||||
{
|
{
|
||||||
char *fp = NULL;
|
char *fp = NULL;
|
||||||
|
u_int i;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
if (options.revoked_keys_file == NULL)
|
if (options.num_revoked_keys_files == 0)
|
||||||
return 0;
|
return 0;
|
||||||
if ((fp = sshkey_fingerprint(key, options.fingerprint_hash,
|
if ((fp = sshkey_fingerprint(key, options.fingerprint_hash,
|
||||||
SSH_FP_DEFAULT)) == NULL) {
|
SSH_FP_DEFAULT)) == NULL) {
|
||||||
@@ -563,19 +564,22 @@ auth_key_is_revoked(struct sshkey *key)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = sshkey_check_revoked(key, options.revoked_keys_file);
|
for (i = 0; i < options.num_revoked_keys_files; i++) {
|
||||||
switch (r) {
|
r = sshkey_check_revoked(key, options.revoked_keys_files[i]);
|
||||||
case 0:
|
switch (r) {
|
||||||
break; /* not revoked */
|
case 0:
|
||||||
case SSH_ERR_KEY_REVOKED:
|
break; /* not revoked */
|
||||||
error("Authentication key %s %s revoked by file %s",
|
case SSH_ERR_KEY_REVOKED:
|
||||||
sshkey_type(key), fp, options.revoked_keys_file);
|
error("Authentication key %s %s revoked by file %s",
|
||||||
goto out;
|
sshkey_type(key), fp,
|
||||||
default:
|
options.revoked_keys_files[i]);
|
||||||
error_r(r, "Error checking authentication key %s %s in "
|
goto out;
|
||||||
"revoked keys file %s", sshkey_type(key), fp,
|
default:
|
||||||
options.revoked_keys_file);
|
error_r(r, "Error checking authentication key %s %s in "
|
||||||
goto out;
|
"revoked keys file %s", sshkey_type(key), fp,
|
||||||
|
options.revoked_keys_files[i]);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Success */
|
/* Success */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: auth.h,v 1.108 2024/05/17 06:42:04 jsg Exp $ */
|
/* $OpenBSD: auth.h,v 1.109 2026/02/06 01:24:36 djm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||||
@@ -182,8 +182,6 @@ int auth2_update_methods_lists(Authctxt *, const char *, const char *);
|
|||||||
int auth2_setup_methods_lists(Authctxt *);
|
int auth2_setup_methods_lists(Authctxt *);
|
||||||
int auth2_method_allowed(Authctxt *, const char *, const char *);
|
int auth2_method_allowed(Authctxt *, const char *, const char *);
|
||||||
|
|
||||||
void privsep_challenge_enable(void);
|
|
||||||
|
|
||||||
int auth2_challenge(struct ssh *, char *);
|
int auth2_challenge(struct ssh *, char *);
|
||||||
void auth2_challenge_stop(struct ssh *);
|
void auth2_challenge_stop(struct ssh *);
|
||||||
int bsdauth_query(void *, char **, char **, u_int *, char ***, u_int **);
|
int bsdauth_query(void *, char **, char **, u_int *, char ***, u_int **);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: auth2-chall.c,v 1.57 2025/10/02 08:38:43 dtucker Exp $ */
|
/* $OpenBSD: auth2-chall.c,v 1.60 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||||
* Copyright (c) 2001 Per Allansson. All rights reserved.
|
* Copyright (c) 2001 Per Allansson. All rights reserved.
|
||||||
@@ -51,22 +51,22 @@ extern ServerOptions options;
|
|||||||
|
|
||||||
static int auth2_challenge_start(struct ssh *);
|
static int auth2_challenge_start(struct ssh *);
|
||||||
static int send_userauth_info_request(struct ssh *);
|
static int send_userauth_info_request(struct ssh *);
|
||||||
static int input_userauth_info_response(int, u_int32_t, struct ssh *);
|
static int input_userauth_info_response(int, uint32_t, struct ssh *);
|
||||||
|
|
||||||
#ifdef BSD_AUTH
|
#ifdef BSD_AUTH
|
||||||
extern KbdintDevice bsdauth_device;
|
extern KbdintDevice mm_bsdauth_device;
|
||||||
#else
|
#else
|
||||||
#ifdef USE_PAM
|
#ifdef USE_PAM
|
||||||
extern KbdintDevice sshpam_device;
|
extern KbdintDevice mm_sshpam_device;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
KbdintDevice *devices[] = {
|
KbdintDevice *devices[] = {
|
||||||
#ifdef BSD_AUTH
|
#ifdef BSD_AUTH
|
||||||
&bsdauth_device,
|
&mm_bsdauth_device,
|
||||||
#else
|
#else
|
||||||
#ifdef USE_PAM
|
#ifdef USE_PAM
|
||||||
&sshpam_device,
|
&mm_sshpam_device,
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
NULL
|
NULL
|
||||||
@@ -167,7 +167,7 @@ kbdint_next_device(Authctxt *authctxt, KbdintAuthctxt *kbdintctxt)
|
|||||||
for (i = 0; devices[i]; i++) {
|
for (i = 0; devices[i]; i++) {
|
||||||
if (i >= sizeof(kbdintctxt->devices_done) * 8 ||
|
if (i >= sizeof(kbdintctxt->devices_done) * 8 ||
|
||||||
i >= sizeof(devices) / sizeof(devices[0]))
|
i >= sizeof(devices) / sizeof(devices[0]))
|
||||||
fatal_f("internal error: too may devices");
|
fatal_f("internal error: too many devices");
|
||||||
if ((kbdintctxt->devices_done & (1 << i)) != 0 ||
|
if ((kbdintctxt->devices_done & (1 << i)) != 0 ||
|
||||||
!auth2_method_allowed(authctxt,
|
!auth2_method_allowed(authctxt,
|
||||||
"keyboard-interactive", devices[i]->name))
|
"keyboard-interactive", devices[i]->name))
|
||||||
@@ -291,7 +291,7 @@ send_userauth_info_request(struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_userauth_info_response(int type, u_int32_t seq, struct ssh *ssh)
|
input_userauth_info_response(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Authctxt *authctxt = ssh->authctxt;
|
Authctxt *authctxt = ssh->authctxt;
|
||||||
KbdintAuthctxt *kbdintctxt;
|
KbdintAuthctxt *kbdintctxt;
|
||||||
@@ -362,25 +362,3 @@ input_userauth_info_response(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
devicename);
|
devicename);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
privsep_challenge_enable(void)
|
|
||||||
{
|
|
||||||
#if defined(BSD_AUTH) || defined(USE_PAM)
|
|
||||||
int n = 0;
|
|
||||||
#endif
|
|
||||||
#ifdef BSD_AUTH
|
|
||||||
extern KbdintDevice mm_bsdauth_device;
|
|
||||||
#endif
|
|
||||||
#ifdef USE_PAM
|
|
||||||
extern KbdintDevice mm_sshpam_device;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef BSD_AUTH
|
|
||||||
devices[n++] = &mm_bsdauth_device;
|
|
||||||
#else
|
|
||||||
#ifdef USE_PAM
|
|
||||||
devices[n++] = &mm_sshpam_device;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|||||||
+10
-11
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: auth2-gss.c,v 1.36 2024/05/17 04:42:13 djm Exp $ */
|
/* $OpenBSD: auth2-gss.c,v 1.39 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
|
* Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
|
||||||
@@ -53,10 +53,10 @@
|
|||||||
extern ServerOptions options;
|
extern ServerOptions options;
|
||||||
extern struct authmethod_cfg methodcfg_gssapi;
|
extern struct authmethod_cfg methodcfg_gssapi;
|
||||||
|
|
||||||
static int input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh);
|
static int input_gssapi_token(int type, uint32_t plen, struct ssh *ssh);
|
||||||
static int input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh);
|
static int input_gssapi_mic(int type, uint32_t plen, struct ssh *ssh);
|
||||||
static int input_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh);
|
static int input_gssapi_exchange_complete(int type, uint32_t plen, struct ssh *ssh);
|
||||||
static int input_gssapi_errtok(int, u_int32_t, struct ssh *);
|
static int input_gssapi_errtok(int, uint32_t, struct ssh *);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We only support those mechanisms that we know about (ie ones that we know
|
* We only support those mechanisms that we know about (ie ones that we know
|
||||||
@@ -143,7 +143,7 @@ userauth_gssapi(struct ssh *ssh, const char *method)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh)
|
input_gssapi_token(int type, uint32_t plen, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Authctxt *authctxt = ssh->authctxt;
|
Authctxt *authctxt = ssh->authctxt;
|
||||||
Gssctxt *gssctxt;
|
Gssctxt *gssctxt;
|
||||||
@@ -207,7 +207,7 @@ input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh)
|
input_gssapi_errtok(int type, uint32_t plen, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Authctxt *authctxt = ssh->authctxt;
|
Authctxt *authctxt = ssh->authctxt;
|
||||||
Gssctxt *gssctxt;
|
Gssctxt *gssctxt;
|
||||||
@@ -251,7 +251,7 @@ input_gssapi_errtok(int type, u_int32_t plen, struct ssh *ssh)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh)
|
input_gssapi_exchange_complete(int type, uint32_t plen, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Authctxt *authctxt = ssh->authctxt;
|
Authctxt *authctxt = ssh->authctxt;
|
||||||
int r, authenticated;
|
int r, authenticated;
|
||||||
@@ -279,7 +279,7 @@ input_gssapi_exchange_complete(int type, u_int32_t plen, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_gssapi_mic(int type, u_int32_t plen, struct ssh *ssh)
|
input_gssapi_mic(int type, uint32_t plen, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Authctxt *authctxt = ssh->authctxt;
|
Authctxt *authctxt = ssh->authctxt;
|
||||||
Gssctxt *gssctxt;
|
Gssctxt *gssctxt;
|
||||||
@@ -328,5 +328,4 @@ Authmethod method_gssapi = {
|
|||||||
&methodcfg_gssapi,
|
&methodcfg_gssapi,
|
||||||
userauth_gssapi,
|
userauth_gssapi,
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
#endif /* GSSAPI */
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: auth2-hostbased.c,v 1.55 2025/08/14 09:26:53 dtucker Exp $ */
|
/* $OpenBSD: auth2-hostbased.c,v 1.57 2026/04/02 07:48:13 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -96,9 +96,10 @@ userauth_hostbased(struct ssh *ssh, const char *method)
|
|||||||
error_f("cannot decode key: %s", pkalg);
|
error_f("cannot decode key: %s", pkalg);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
if (key->type != pktype) {
|
if (key->type != pktype || (sshkey_type_plain(pktype) == KEY_ECDSA &&
|
||||||
error_f("type mismatch for decoded key "
|
sshkey_ecdsa_nid_from_name(pkalg) != key->ecdsa_nid)) {
|
||||||
"(received %d, expected %d)", key->type, pktype);
|
error_f("key type mismatch for decoded key "
|
||||||
|
"(received %s, expected %s)", sshkey_ssh_name(key), pkalg);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
if (match_pattern_list(pkalg, options.hostbased_accepted_algos, 0) != 1) {
|
if (match_pattern_list(pkalg, options.hostbased_accepted_algos, 0) != 1) {
|
||||||
@@ -211,8 +212,8 @@ hostbased_key_allowed(struct ssh *ssh, struct passwd *pw,
|
|||||||
}
|
}
|
||||||
debug2_f("access allowed by auth_rhosts2");
|
debug2_f("access allowed by auth_rhosts2");
|
||||||
|
|
||||||
if (sshkey_is_cert(key) &&
|
if (sshkey_is_cert(key) && sshkey_cert_check_host(key, lookup,
|
||||||
sshkey_cert_check_authority_now(key, 1, 0, 0, lookup, &reason)) {
|
options.ca_sign_algorithms, &reason) != 0) {
|
||||||
if ((fp = sshkey_fingerprint(key->cert->signature_key,
|
if ((fp = sshkey_fingerprint(key->cert->signature_key,
|
||||||
options.fingerprint_hash, SSH_FP_DEFAULT)) == NULL)
|
options.fingerprint_hash, SSH_FP_DEFAULT)) == NULL)
|
||||||
fatal_f("sshkey_fingerprint fail");
|
fatal_f("sshkey_fingerprint fail");
|
||||||
|
|||||||
@@ -26,16 +26,9 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/uio.h>
|
|
||||||
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "atomicio.h"
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
#include "sshkey.h"
|
#include "sshkey.h"
|
||||||
#include "hostfile.h"
|
#include "hostfile.h"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: auth2-pubkey.c,v 1.124 2025/08/14 09:44:39 dtucker Exp $ */
|
/* $OpenBSD: auth2-pubkey.c,v 1.126 2026/04/02 07:48:13 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||||
* Copyright (c) 2010 Damien Miller. All rights reserved.
|
* Copyright (c) 2010 Damien Miller. All rights reserved.
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <paths.h>
|
#include <paths.h>
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
|
#include <glob.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@@ -39,11 +40,6 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#ifdef USE_SYSTEM_GLOB
|
|
||||||
# include <glob.h>
|
|
||||||
#else
|
|
||||||
# include "openbsd-compat/glob.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
#include "ssh.h"
|
#include "ssh.h"
|
||||||
@@ -152,9 +148,10 @@ userauth_pubkey(struct ssh *ssh, const char *method)
|
|||||||
error_f("cannot decode key: %s", pkalg);
|
error_f("cannot decode key: %s", pkalg);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
if (key->type != pktype) {
|
if (key->type != pktype || (sshkey_type_plain(pktype) == KEY_ECDSA &&
|
||||||
error_f("type mismatch for decoded key "
|
sshkey_ecdsa_nid_from_name(pkalg) != key->ecdsa_nid)) {
|
||||||
"(received %d, expected %d)", key->type, pktype);
|
error_f("key type mismatch for decoded key "
|
||||||
|
"(received %s, expected %s)", sshkey_ssh_name(key), pkalg);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
if (auth2_key_already_used(authctxt, key)) {
|
if (auth2_key_already_used(authctxt, key)) {
|
||||||
@@ -562,7 +559,7 @@ user_cert_trusted_ca(struct passwd *pw, struct sshkey *key,
|
|||||||
}
|
}
|
||||||
if (use_authorized_principals && principals_opts == NULL)
|
if (use_authorized_principals && principals_opts == NULL)
|
||||||
fatal_f("internal error: missing principals_opts");
|
fatal_f("internal error: missing principals_opts");
|
||||||
if (sshkey_cert_check_authority_now(key, 0, 1, 0,
|
if (sshkey_cert_check_authority_now(key, 0, 0,
|
||||||
use_authorized_principals ? NULL : pw->pw_name, &reason) != 0)
|
use_authorized_principals ? NULL : pw->pw_name, &reason) != 0)
|
||||||
goto fail_reason;
|
goto fail_reason;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: auth2-pubkeyfile.c,v 1.6 2025/08/14 10:03:44 dtucker Exp $ */
|
/* $OpenBSD: auth2-pubkeyfile.c,v 1.8 2026/04/02 07:48:13 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||||
* Copyright (c) 2010 Damien Miller. All rights reserved.
|
* Copyright (c) 2010 Damien Miller. All rights reserved.
|
||||||
@@ -50,6 +50,7 @@
|
|||||||
#include "authfile.h"
|
#include "authfile.h"
|
||||||
#include "match.h"
|
#include "match.h"
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
|
#include "xmalloc.h"
|
||||||
|
|
||||||
int
|
int
|
||||||
auth_authorise_keyopts(struct passwd *pw, struct sshauthopt *opts,
|
auth_authorise_keyopts(struct passwd *pw, struct sshauthopt *opts,
|
||||||
@@ -146,20 +147,23 @@ auth_authorise_keyopts(struct passwd *pw, struct sshauthopt *opts,
|
|||||||
static int
|
static int
|
||||||
match_principals_option(const char *principal_list, struct sshkey_cert *cert)
|
match_principals_option(const char *principal_list, struct sshkey_cert *cert)
|
||||||
{
|
{
|
||||||
char *result;
|
char *list, *olist, *entry;
|
||||||
u_int i;
|
u_int i;
|
||||||
|
|
||||||
/* XXX percent_expand() sequences for authorized_principals? */
|
olist = list = xstrdup(principal_list);
|
||||||
|
for (;;) {
|
||||||
for (i = 0; i < cert->nprincipals; i++) {
|
if ((entry = strsep(&list, ",")) == NULL || *entry == '\0')
|
||||||
if ((result = match_list(cert->principals[i],
|
break;
|
||||||
principal_list, NULL)) != NULL) {
|
for (i = 0; i < cert->nprincipals; i++) {
|
||||||
debug3("matched principal from key options \"%.100s\"",
|
if (strcmp(entry, cert->principals[i]) == 0) {
|
||||||
result);
|
debug3("matched principal from key i"
|
||||||
free(result);
|
"options \"%.100s\"", entry);
|
||||||
return 1;
|
free(olist);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
free(olist);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -364,7 +368,7 @@ auth_check_authkey_line(struct passwd *pw, struct sshkey *key,
|
|||||||
reason = "Certificate does not contain an authorized principal";
|
reason = "Certificate does not contain an authorized principal";
|
||||||
goto cert_fail_reason;
|
goto cert_fail_reason;
|
||||||
}
|
}
|
||||||
if (sshkey_cert_check_authority_now(key, 0, 0, 0,
|
if (sshkey_cert_check_authority_now(key, 0, 0,
|
||||||
keyopts->cert_principals == NULL ? pw->pw_name : NULL,
|
keyopts->cert_principals == NULL ? pw->pw_name : NULL,
|
||||||
&reason) != 0)
|
&reason) != 0)
|
||||||
goto cert_fail_reason;
|
goto cert_fail_reason;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: auth2.c,v 1.170 2025/01/17 00:09:41 dtucker Exp $ */
|
/* $OpenBSD: auth2.c,v 1.173 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -88,8 +88,8 @@ Authmethod *authmethods[] = {
|
|||||||
|
|
||||||
/* protocol */
|
/* protocol */
|
||||||
|
|
||||||
static int input_service_request(int, u_int32_t, struct ssh *);
|
static int input_service_request(int, uint32_t, struct ssh *);
|
||||||
static int input_userauth_request(int, u_int32_t, struct ssh *);
|
static int input_userauth_request(int, uint32_t, struct ssh *);
|
||||||
|
|
||||||
/* helper */
|
/* helper */
|
||||||
static Authmethod *authmethod_byname(const char *);
|
static Authmethod *authmethod_byname(const char *);
|
||||||
@@ -181,7 +181,7 @@ do_authentication2(struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_service_request(int type, u_int32_t seq, struct ssh *ssh)
|
input_service_request(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Authctxt *authctxt = ssh->authctxt;
|
Authctxt *authctxt = ssh->authctxt;
|
||||||
char *service = NULL;
|
char *service = NULL;
|
||||||
@@ -266,7 +266,7 @@ ensure_minimum_time_since(double start, double seconds)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_userauth_request(int type, u_int32_t seq, struct ssh *ssh)
|
input_userauth_request(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Authctxt *authctxt = ssh->authctxt;
|
Authctxt *authctxt = ssh->authctxt;
|
||||||
Authmethod *m = NULL;
|
Authmethod *m = NULL;
|
||||||
@@ -293,6 +293,8 @@ input_userauth_request(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
/* setup auth context */
|
/* setup auth context */
|
||||||
authctxt->pw = mm_getpwnamallow(ssh, user);
|
authctxt->pw = mm_getpwnamallow(ssh, user);
|
||||||
authctxt->user = xstrdup(user);
|
authctxt->user = xstrdup(user);
|
||||||
|
authctxt->service = xstrdup(service);
|
||||||
|
authctxt->style = style ? xstrdup(style) : NULL;
|
||||||
if (authctxt->pw && strcmp(service, "ssh-connection")==0) {
|
if (authctxt->pw && strcmp(service, "ssh-connection")==0) {
|
||||||
authctxt->valid = 1;
|
authctxt->valid = 1;
|
||||||
debug2_f("setting up authctxt for %s", user);
|
debug2_f("setting up authctxt for %s", user);
|
||||||
@@ -311,8 +313,6 @@ input_userauth_request(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
ssh_packet_set_log_preamble(ssh, "%suser %s",
|
ssh_packet_set_log_preamble(ssh, "%suser %s",
|
||||||
authctxt->valid ? "authenticating " : "invalid ", user);
|
authctxt->valid ? "authenticating " : "invalid ", user);
|
||||||
setproctitle("%s [net]", authctxt->valid ? user : "unknown");
|
setproctitle("%s [net]", authctxt->valid ? user : "unknown");
|
||||||
authctxt->service = xstrdup(service);
|
|
||||||
authctxt->style = style ? xstrdup(style) : NULL;
|
|
||||||
mm_inform_authserv(service, style);
|
mm_inform_authserv(service, style);
|
||||||
userauth_banner(ssh);
|
userauth_banner(ssh);
|
||||||
if ((r = kex_server_update_ext_info(ssh)) != 0)
|
if ((r = kex_server_update_ext_info(ssh)) != 0)
|
||||||
|
|||||||
+65
-8
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: authfd.c,v 1.136 2025/08/29 03:50:38 djm Exp $ */
|
/* $OpenBSD: authfd.c,v 1.141 2026/03/05 05:44:15 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@@ -43,22 +43,20 @@
|
|||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <signal.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#include "xmalloc.h"
|
|
||||||
#include "ssh.h"
|
#include "ssh.h"
|
||||||
#include "sshbuf.h"
|
#include "sshbuf.h"
|
||||||
#include "sshkey.h"
|
#include "sshkey.h"
|
||||||
#include "authfd.h"
|
#include "authfd.h"
|
||||||
#include "cipher.h"
|
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "atomicio.h"
|
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
#include "atomicio.h"
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
|
#include "xmalloc.h"
|
||||||
|
|
||||||
#define MAX_AGENT_IDENTITIES 2048 /* Max keys in agent reply */
|
#define MAX_AGENT_IDENTITIES 2048 /* Max keys in agent reply */
|
||||||
#define MAX_AGENT_REPLY_LEN (256 * 1024) /* Max bytes in agent reply */
|
#define MAX_AGENT_REPLY_LEN (256 * 1024) /* Max bytes in agent reply */
|
||||||
@@ -66,6 +64,7 @@
|
|||||||
/* macro to check for "agent failure" message */
|
/* macro to check for "agent failure" message */
|
||||||
#define agent_failed(x) \
|
#define agent_failed(x) \
|
||||||
((x == SSH_AGENT_FAILURE) || \
|
((x == SSH_AGENT_FAILURE) || \
|
||||||
|
(x == SSH_AGENT_EXTENSION_FAILURE) || \
|
||||||
(x == SSH_COM_AGENT2_FAILURE) || \
|
(x == SSH_COM_AGENT2_FAILURE) || \
|
||||||
(x == SSH2_AGENT_FAILURE))
|
(x == SSH2_AGENT_FAILURE))
|
||||||
|
|
||||||
@@ -262,7 +261,7 @@ int
|
|||||||
ssh_fetch_identitylist(int sock, struct ssh_identitylist **idlp)
|
ssh_fetch_identitylist(int sock, struct ssh_identitylist **idlp)
|
||||||
{
|
{
|
||||||
u_char type;
|
u_char type;
|
||||||
u_int32_t num, i;
|
uint32_t num, i;
|
||||||
struct sshbuf *msg;
|
struct sshbuf *msg;
|
||||||
struct ssh_identitylist *idl = NULL;
|
struct ssh_identitylist *idl = NULL;
|
||||||
int r;
|
int r;
|
||||||
@@ -437,8 +436,15 @@ ssh_agent_sign(int sock, const struct sshkey *key,
|
|||||||
}
|
}
|
||||||
if ((r = sshbuf_get_string(msg, &sig, &len)) != 0)
|
if ((r = sshbuf_get_string(msg, &sig, &len)) != 0)
|
||||||
goto out;
|
goto out;
|
||||||
/* Check what we actually got back from the agent. */
|
/*
|
||||||
if ((r = sshkey_check_sigtype(sig, len, alg)) != 0)
|
* Check what we actually got back from the agent, in case it returned
|
||||||
|
* an incorrect RSA signature algorithm (e.g. "ssh-rsa" (RSA/SHA1) vs.
|
||||||
|
* "rsa-sha2-256").
|
||||||
|
* We don't do this for FIDO signatures as webauthn vs plain are just
|
||||||
|
* different signature formats and not entirely different algorithms.
|
||||||
|
*/
|
||||||
|
if (!sshkey_is_sk(key) &&
|
||||||
|
(r = sshkey_check_sigtype(sig, len, alg)) != 0)
|
||||||
goto out;
|
goto out;
|
||||||
/* success */
|
/* success */
|
||||||
*sigp = sig;
|
*sigp = sig;
|
||||||
@@ -765,3 +771,54 @@ ssh_agent_bind_hostkey(int sock, const struct sshkey *key,
|
|||||||
sshbuf_free(msg);
|
sshbuf_free(msg);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Queries supported extension request types */
|
||||||
|
int
|
||||||
|
ssh_agent_query_extensions(int sock, char ***exts)
|
||||||
|
{
|
||||||
|
struct sshbuf *msg;
|
||||||
|
int r;
|
||||||
|
u_char type;
|
||||||
|
char *cp = NULL, **ret = NULL;
|
||||||
|
size_t i = 0;
|
||||||
|
|
||||||
|
*exts = NULL;
|
||||||
|
if ((msg = sshbuf_new()) == NULL)
|
||||||
|
return SSH_ERR_ALLOC_FAIL;
|
||||||
|
if ((r = sshbuf_put_u8(msg, SSH_AGENTC_EXTENSION)) != 0 ||
|
||||||
|
(r = sshbuf_put_cstring(msg, "query")) != 0)
|
||||||
|
goto out;
|
||||||
|
if ((r = ssh_request_reply(sock, msg, msg)) != 0)
|
||||||
|
goto out;
|
||||||
|
if ((r = sshbuf_get_u8(msg, &type)) != 0)
|
||||||
|
goto out;
|
||||||
|
if (agent_failed(type)) {
|
||||||
|
r = SSH_ERR_AGENT_FAILURE;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
/* Reply should start with "query" */
|
||||||
|
if (type != SSH_AGENT_EXTENSION_RESPONSE ||
|
||||||
|
(r = sshbuf_get_cstring(msg, &cp, NULL)) != 0 ||
|
||||||
|
strcmp(cp, "query") != 0) {
|
||||||
|
r = SSH_ERR_INVALID_FORMAT;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
ret = calloc(1, sizeof(*ret));
|
||||||
|
while (sshbuf_len(msg)) {
|
||||||
|
ret = xrecallocarray(ret, i + 1, i + 2, sizeof(*ret));
|
||||||
|
if ((r = sshbuf_get_cstring(msg, ret + i, NULL)) != 0) {
|
||||||
|
r = SSH_ERR_INVALID_FORMAT;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
/* success */
|
||||||
|
r = 0;
|
||||||
|
*exts = ret;
|
||||||
|
ret = NULL; /* transferred */
|
||||||
|
out:
|
||||||
|
free(cp);
|
||||||
|
stringlist_free(ret);
|
||||||
|
sshbuf_free(msg);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: authfd.h,v 1.53 2025/08/29 03:50:38 djm Exp $ */
|
/* $OpenBSD: authfd.h,v 1.55 2026/03/05 05:44:15 djm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
@@ -67,6 +67,8 @@ int ssh_agent_bind_hostkey(int sock, const struct sshkey *key,
|
|||||||
const struct sshbuf *session_id, const struct sshbuf *signature,
|
const struct sshbuf *session_id, const struct sshbuf *signature,
|
||||||
int forwarding);
|
int forwarding);
|
||||||
|
|
||||||
|
int ssh_agent_query_extensions(int sock, char ***exts);
|
||||||
|
|
||||||
/* Messages for the authentication agent connection. */
|
/* Messages for the authentication agent connection. */
|
||||||
#define SSH_AGENTC_REQUEST_RSA_IDENTITIES 1
|
#define SSH_AGENTC_REQUEST_RSA_IDENTITIES 1
|
||||||
#define SSH_AGENT_RSA_IDENTITIES_ANSWER 2
|
#define SSH_AGENT_RSA_IDENTITIES_ANSWER 2
|
||||||
@@ -102,6 +104,8 @@ int ssh_agent_bind_hostkey(int sock, const struct sshkey *key,
|
|||||||
|
|
||||||
/* generic extension mechanism */
|
/* generic extension mechanism */
|
||||||
#define SSH_AGENTC_EXTENSION 27
|
#define SSH_AGENTC_EXTENSION 27
|
||||||
|
#define SSH_AGENT_EXTENSION_FAILURE 28
|
||||||
|
#define SSH_AGENT_EXTENSION_RESPONSE 29
|
||||||
|
|
||||||
#define SSH_AGENT_CONSTRAIN_LIFETIME 1
|
#define SSH_AGENT_CONSTRAIN_LIFETIME 1
|
||||||
#define SSH_AGENT_CONSTRAIN_CONFIRM 2
|
#define SSH_AGENT_CONSTRAIN_CONFIRM 2
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: authfile.c,v 1.147 2025/08/29 03:50:38 djm Exp $ */
|
/* $OpenBSD: authfile.c,v 1.149 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2013 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000, 2013 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -27,7 +27,6 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/uio.h>
|
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
@@ -36,14 +35,9 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <limits.h>
|
|
||||||
|
|
||||||
#include "cipher.h"
|
|
||||||
#include "ssh.h"
|
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "authfile.h"
|
#include "authfile.h"
|
||||||
#include "misc.h"
|
|
||||||
#include "atomicio.h"
|
|
||||||
#include "sshkey.h"
|
#include "sshkey.h"
|
||||||
#include "sshbuf.h"
|
#include "sshbuf.h"
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: canohost.c,v 1.77 2023/03/31 04:42:29 dtucker Exp $ */
|
/* $OpenBSD: canohost.c,v 1.78 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@@ -30,7 +30,6 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
#include "packet.h"
|
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "canohost.h"
|
#include "canohost.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
@@ -41,7 +40,7 @@ ipv64_normalise_mapped(struct sockaddr_storage *addr, socklen_t *len)
|
|||||||
struct sockaddr_in6 *a6 = (struct sockaddr_in6 *)addr;
|
struct sockaddr_in6 *a6 = (struct sockaddr_in6 *)addr;
|
||||||
struct sockaddr_in *a4 = (struct sockaddr_in *)addr;
|
struct sockaddr_in *a4 = (struct sockaddr_in *)addr;
|
||||||
struct in_addr inaddr;
|
struct in_addr inaddr;
|
||||||
u_int16_t port;
|
uint16_t port;
|
||||||
|
|
||||||
if (addr->ss_family != AF_INET6 ||
|
if (addr->ss_family != AF_INET6 ||
|
||||||
!IN6_IS_ADDR_V4MAPPED(&a6->sin6_addr))
|
!IN6_IS_ADDR_V4MAPPED(&a6->sin6_addr))
|
||||||
|
|||||||
@@ -48,8 +48,8 @@ typedef struct chacha_ctx chacha_ctx;
|
|||||||
a = PLUS(a,b); d = ROTATE(XOR(d,a), 8); \
|
a = PLUS(a,b); d = ROTATE(XOR(d,a), 8); \
|
||||||
c = PLUS(c,d); b = ROTATE(XOR(b,c), 7);
|
c = PLUS(c,d); b = ROTATE(XOR(b,c), 7);
|
||||||
|
|
||||||
static const char sigma[16] = "expand 32-byte k";
|
static const char __attribute__ ((__nonstring__)) sigma[16] = "expand 32-byte k";
|
||||||
static const char tau[16] = "expand 16-byte k";
|
static const char __attribute__ ((__nonstring__)) tau[16] = "expand 16-byte k";
|
||||||
|
|
||||||
void
|
void
|
||||||
chacha_keysetup(chacha_ctx *x,const u8 *k,u32 kbits)
|
chacha_keysetup(chacha_ctx *x,const u8 *k,u32 kbits)
|
||||||
|
|||||||
+222
-213
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: channels.c,v 1.452 2025/10/07 08:02:32 djm Exp $ */
|
/* $OpenBSD: channels.c,v 1.458 2026/03/28 05:16:18 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <sys/un.h>
|
#include <sys/un.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/time.h>
|
#include <sys/queue.h>
|
||||||
|
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
@@ -64,7 +64,6 @@
|
|||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "openbsd-compat/sys-queue.h"
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
#include "ssh.h"
|
#include "ssh.h"
|
||||||
#include "ssh2.h"
|
#include "ssh2.h"
|
||||||
@@ -76,8 +75,6 @@
|
|||||||
#include "channels.h"
|
#include "channels.h"
|
||||||
#include "compat.h"
|
#include "compat.h"
|
||||||
#include "canohost.h"
|
#include "canohost.h"
|
||||||
#include "sshkey.h"
|
|
||||||
#include "authfd.h"
|
|
||||||
#include "pathnames.h"
|
#include "pathnames.h"
|
||||||
#include "match.h"
|
#include "match.h"
|
||||||
|
|
||||||
@@ -1193,7 +1190,8 @@ channel_send_open(struct ssh *ssh, int id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
channel_request_start(struct ssh *ssh, int id, char *service, int wantconfirm)
|
channel_request_start(struct ssh *ssh, int id, const char *service,
|
||||||
|
int wantconfirm)
|
||||||
{
|
{
|
||||||
Channel *c = channel_lookup(ssh, id);
|
Channel *c = channel_lookup(ssh, id);
|
||||||
int r;
|
int r;
|
||||||
@@ -1507,115 +1505,93 @@ channel_pre_mux_client(struct ssh *ssh, Channel *c)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline int
|
||||||
|
socks_decode_error(Channel *c, int status, const char *func, const char *msg)
|
||||||
|
{
|
||||||
|
if (status == SSH_ERR_MESSAGE_INCOMPLETE)
|
||||||
|
return 0;
|
||||||
|
else {
|
||||||
|
debug_r(status, "%s: channel %d: decode %s",
|
||||||
|
func, c->self, msg);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* try to decode a socks4 header */
|
/* try to decode a socks4 header */
|
||||||
static int
|
static int
|
||||||
channel_decode_socks4(Channel *c, struct sshbuf *input, struct sshbuf *output)
|
channel_decode_socks4(Channel *c, struct sshbuf *input, struct sshbuf *output)
|
||||||
{
|
{
|
||||||
const u_char *p;
|
uint8_t socks_ver, socks_cmd, dest_addr[4];
|
||||||
char *host;
|
uint16_t dest_port;
|
||||||
u_int len, have, i, found, need;
|
char *user = NULL, *host = NULL;
|
||||||
char username[256];
|
int success = -1, socks4a = 0, r;
|
||||||
struct {
|
struct sshbuf *b = NULL;
|
||||||
u_int8_t version;
|
|
||||||
u_int8_t command;
|
if (sshbuf_len(input) < 9)
|
||||||
u_int16_t dest_port;
|
return 0;
|
||||||
struct in_addr dest_addr;
|
|
||||||
} s4_req, s4_rsp;
|
/* We may not have a complete message, so work on a dup of the buffer */
|
||||||
int r;
|
if ((b = sshbuf_fromb(input)) == NULL)
|
||||||
|
fatal_f("sshbuf_fromb failed");
|
||||||
|
|
||||||
debug2("channel %d: decode socks4", c->self);
|
debug2("channel %d: decode socks4", c->self);
|
||||||
|
if ((r = sshbuf_get_u8(b, &socks_ver)) != 0 ||
|
||||||
|
(r = sshbuf_get_u8(b, &socks_cmd)) != 0 ||
|
||||||
|
(r = sshbuf_get_u16(b, &dest_port)) != 0 ||
|
||||||
|
(r = sshbuf_get(b, &dest_addr, sizeof(dest_addr))) != 0 ||
|
||||||
|
(r = sshbuf_get_nulterminated_string(b, 1024, &user, NULL)) != 0) {
|
||||||
|
success = socks_decode_error(c, r, __func__, "header");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
have = sshbuf_len(input);
|
/* Is this a SOCKS4A request? (indicated by an address of 0.0.0.x) */
|
||||||
len = sizeof(s4_req);
|
if (dest_addr[0] == 0 && dest_addr[1] == 0 &&
|
||||||
if (have < len)
|
dest_addr[2] == 0 && dest_addr[3] != 0) {
|
||||||
return 0;
|
/* If so, then the hostname follows, also nul-terminated */
|
||||||
p = sshbuf_ptr(input);
|
if ((r = sshbuf_get_nulterminated_string(b, 1024,
|
||||||
|
&host, NULL)) != 0) {
|
||||||
|
success = socks_decode_error(c, r, __func__, "host");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
socks4a = 1;
|
||||||
|
} else {
|
||||||
|
/* Plain SOCKS4 passes an IPv4 binary address; reconstruct */
|
||||||
|
xasprintf(&host, "%d.%d.%d.%d",
|
||||||
|
dest_addr[0], dest_addr[1], dest_addr[2], dest_addr[3]);
|
||||||
|
}
|
||||||
|
|
||||||
need = 1;
|
/* We have a complete SOCKS4 message; consume it from input */
|
||||||
/* SOCKS4A uses an invalid IP address 0.0.0.x */
|
if ((r = sshbuf_consume_upto_child(input, b)) != 0)
|
||||||
if (p[4] == 0 && p[5] == 0 && p[6] == 0 && p[7] != 0) {
|
|
||||||
debug2("channel %d: socks4a request", c->self);
|
|
||||||
/* ... and needs an extra string (the hostname) */
|
|
||||||
need = 2;
|
|
||||||
}
|
|
||||||
/* Check for terminating NUL on the string(s) */
|
|
||||||
for (found = 0, i = len; i < have; i++) {
|
|
||||||
if (p[i] == '\0') {
|
|
||||||
found++;
|
|
||||||
if (found == need)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (i > 1024) {
|
|
||||||
/* the peer is probably sending garbage */
|
|
||||||
debug("channel %d: decode socks4: too long",
|
|
||||||
c->self);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (found < need)
|
|
||||||
return 0;
|
|
||||||
if ((r = sshbuf_get(input, &s4_req.version, 1)) != 0 ||
|
|
||||||
(r = sshbuf_get(input, &s4_req.command, 1)) != 0 ||
|
|
||||||
(r = sshbuf_get(input, &s4_req.dest_port, 2)) != 0 ||
|
|
||||||
(r = sshbuf_get(input, &s4_req.dest_addr, 4)) != 0) {
|
|
||||||
debug_r(r, "channels %d: decode socks4", c->self);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
have = sshbuf_len(input);
|
|
||||||
p = sshbuf_ptr(input);
|
|
||||||
if (memchr(p, '\0', have) == NULL) {
|
|
||||||
error("channel %d: decode socks4: unterminated user", c->self);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
len = strlen(p);
|
|
||||||
debug2("channel %d: decode socks4: user %s/%d", c->self, p, len);
|
|
||||||
len++; /* trailing '\0' */
|
|
||||||
strlcpy(username, p, sizeof(username));
|
|
||||||
if ((r = sshbuf_consume(input, len)) != 0)
|
|
||||||
fatal_fr(r, "channel %d: consume", c->self);
|
fatal_fr(r, "channel %d: consume", c->self);
|
||||||
|
|
||||||
|
/* Handle the request */
|
||||||
|
debug2("channel %d: %s: user=\"%s\" command=%d destination=[%s]:%d",
|
||||||
|
c->self, socks4a ? "SOCKS4A" : "SOCKS4", user, (int)socks_cmd,
|
||||||
|
host, dest_port);
|
||||||
|
if (socks_cmd != 1) {
|
||||||
|
debug("channel %d: cannot handle %s command 0x%02x",
|
||||||
|
c->self, socks4a ? "SOCKS4A" : "SOCKS4", socks_cmd);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
free(c->path);
|
free(c->path);
|
||||||
c->path = NULL;
|
c->path = host;
|
||||||
if (need == 1) { /* SOCKS4: one string */
|
host = NULL; /* transferred */
|
||||||
host = inet_ntoa(s4_req.dest_addr);
|
c->host_port = dest_port;
|
||||||
c->path = xstrdup(host);
|
|
||||||
} else { /* SOCKS4A: two strings */
|
|
||||||
have = sshbuf_len(input);
|
|
||||||
p = sshbuf_ptr(input);
|
|
||||||
if (memchr(p, '\0', have) == NULL) {
|
|
||||||
error("channel %d: decode socks4a: host not nul "
|
|
||||||
"terminated", c->self);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
len = strlen(p);
|
|
||||||
debug2("channel %d: decode socks4a: host %s/%d",
|
|
||||||
c->self, p, len);
|
|
||||||
len++; /* trailing '\0' */
|
|
||||||
if (len > NI_MAXHOST) {
|
|
||||||
error("channel %d: hostname \"%.100s\" too long",
|
|
||||||
c->self, p);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
c->path = xstrdup(p);
|
|
||||||
if ((r = sshbuf_consume(input, len)) != 0)
|
|
||||||
fatal_fr(r, "channel %d: consume", c->self);
|
|
||||||
}
|
|
||||||
c->host_port = ntohs(s4_req.dest_port);
|
|
||||||
|
|
||||||
debug2("channel %d: dynamic request: socks4 host %s port %u command %u",
|
/* Reply to the SOCKS4 client */
|
||||||
c->self, c->path, c->host_port, s4_req.command);
|
if ((r = sshbuf_put_u8(output, 0)) != 0 || /* vn: 0 for reply */
|
||||||
|
(r = sshbuf_put_u8(output, 90)) != 0 || /* cd: req granted */
|
||||||
|
(r = sshbuf_put_u16(output, 0)) != 0 || /* port: ignored */
|
||||||
|
(r = sshbuf_put_u32(output, ntohl(INADDR_ANY))) != 0) /* ignored */
|
||||||
|
fatal_fr(r, "channel %d: compose reply", c->self);
|
||||||
|
|
||||||
if (s4_req.command != 1) {
|
/* success */
|
||||||
debug("channel %d: cannot handle: %s cn %d",
|
success = 1;
|
||||||
c->self, need == 1 ? "SOCKS4" : "SOCKS4A", s4_req.command);
|
out:
|
||||||
return -1;
|
sshbuf_free(b);
|
||||||
}
|
free(user);
|
||||||
s4_rsp.version = 0; /* vn: 0 for reply */
|
free(host);
|
||||||
s4_rsp.command = 90; /* cd: req granted */
|
return success;
|
||||||
s4_rsp.dest_port = 0; /* ignored */
|
|
||||||
s4_rsp.dest_addr.s_addr = INADDR_ANY; /* ignored */
|
|
||||||
if ((r = sshbuf_put(output, &s4_rsp, sizeof(s4_rsp))) != 0)
|
|
||||||
fatal_fr(r, "channel %d: append reply", c->self);
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* try to decode a socks5 header */
|
/* try to decode a socks5 header */
|
||||||
@@ -1627,73 +1603,110 @@ channel_decode_socks4(Channel *c, struct sshbuf *input, struct sshbuf *output)
|
|||||||
#define SSH_SOCKS5_CONNECT 0x01
|
#define SSH_SOCKS5_CONNECT 0x01
|
||||||
#define SSH_SOCKS5_SUCCESS 0x00
|
#define SSH_SOCKS5_SUCCESS 0x00
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Handles SOCKS5 authentication. Note 'b' must be a dup of 'input'
|
||||||
|
* Returns 0 on insufficient queued date, 1 on authentication success or
|
||||||
|
* -1 on error.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
channel_socks5_check_auth(Channel *c, struct sshbuf *b, struct sshbuf *input,
|
||||||
|
struct sshbuf *output)
|
||||||
|
{
|
||||||
|
uint8_t socks_ver;
|
||||||
|
uint8_t nmethods, method;
|
||||||
|
int r;
|
||||||
|
u_int i, found;
|
||||||
|
|
||||||
|
/* format: ver | nmethods | methods */
|
||||||
|
if ((r = sshbuf_get_u8(b, &socks_ver)) != 0)
|
||||||
|
return socks_decode_error(c, r, __func__, "version");
|
||||||
|
if (socks_ver != 5) /* shouldn't happen; checked by caller^2 */
|
||||||
|
fatal_fr(r, "channel %d: internal error: not socks5", c->self);
|
||||||
|
if ((r = sshbuf_get_u8(b, &nmethods)) != 0)
|
||||||
|
return socks_decode_error(c, r, __func__, "methods");
|
||||||
|
for (found = i = 0; i < nmethods; i++) {
|
||||||
|
if ((r = sshbuf_get_u8(b, &method)) != 0)
|
||||||
|
return socks_decode_error(c, r, __func__, "method");
|
||||||
|
if (method == SSH_SOCKS5_NOAUTH)
|
||||||
|
found = 1;
|
||||||
|
}
|
||||||
|
if (!found) {
|
||||||
|
debug("channel %d: didn't request SSH_SOCKS5_NOAUTH", c->self);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
/* Consume completed request */
|
||||||
|
if ((r = sshbuf_consume_upto_child(input, b)) != 0)
|
||||||
|
fatal_fr(r, "channel %d: consume", c->self);
|
||||||
|
|
||||||
|
/* Compose reply: version, method */
|
||||||
|
if ((r = sshbuf_put_u8(output, 0x05)) != 0 ||
|
||||||
|
(r = sshbuf_put_u8(output, SSH_SOCKS5_NOAUTH)) != 0)
|
||||||
|
fatal_fr(r, "channel %d: append reply", c->self);
|
||||||
|
/* success */
|
||||||
|
debug2("channel %d: socks5 auth done", c->self);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
channel_decode_socks5(Channel *c, struct sshbuf *input, struct sshbuf *output)
|
channel_decode_socks5(Channel *c, struct sshbuf *input, struct sshbuf *output)
|
||||||
{
|
{
|
||||||
/* XXX use get/put_u8 instead of trusting struct padding */
|
uint8_t socks_ver, socks_cmd, socks_reserved, socks_atyp, addrlen;
|
||||||
struct {
|
uint16_t dest_port;
|
||||||
u_int8_t version;
|
|
||||||
u_int8_t command;
|
|
||||||
u_int8_t reserved;
|
|
||||||
u_int8_t atyp;
|
|
||||||
} s5_req, s5_rsp;
|
|
||||||
u_int16_t dest_port;
|
|
||||||
char dest_addr[255+1], ntop[INET6_ADDRSTRLEN];
|
char dest_addr[255+1], ntop[INET6_ADDRSTRLEN];
|
||||||
const u_char *p;
|
u_int af;
|
||||||
u_int have, need, i, found, nmethods, addrlen, af;
|
int r, success = -1;;
|
||||||
int r;
|
struct sshbuf *b = NULL;
|
||||||
|
|
||||||
|
debug2("channel %d: decode socks5 %s", c->self,
|
||||||
|
(c->flags & SSH_SOCKS5_AUTHDONE) ? "request" : "auth");
|
||||||
|
|
||||||
|
/* We may not have a complete message, so work on a dup of the buffer */
|
||||||
|
if ((b = sshbuf_fromb(input)) == NULL)
|
||||||
|
fatal_f("sshbuf_fromb failed");
|
||||||
|
|
||||||
debug2("channel %d: decode socks5", c->self);
|
|
||||||
p = sshbuf_ptr(input);
|
|
||||||
if (p[0] != 0x05)
|
|
||||||
return -1;
|
|
||||||
have = sshbuf_len(input);
|
|
||||||
if (!(c->flags & SSH_SOCKS5_AUTHDONE)) {
|
if (!(c->flags & SSH_SOCKS5_AUTHDONE)) {
|
||||||
/* format: ver | nmethods | methods */
|
if ((r = channel_socks5_check_auth(c, b, input, output)) != 1) {
|
||||||
if (have < 2)
|
success = r;
|
||||||
return 0;
|
goto out;
|
||||||
nmethods = p[1];
|
|
||||||
if (have < nmethods + 2)
|
|
||||||
return 0;
|
|
||||||
/* look for method: "NO AUTHENTICATION REQUIRED" */
|
|
||||||
for (found = 0, i = 2; i < nmethods + 2; i++) {
|
|
||||||
if (p[i] == SSH_SOCKS5_NOAUTH) {
|
|
||||||
found = 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!found) {
|
|
||||||
debug("channel %d: method SSH_SOCKS5_NOAUTH not found",
|
|
||||||
c->self);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if ((r = sshbuf_consume(input, nmethods + 2)) != 0)
|
|
||||||
fatal_fr(r, "channel %d: consume", c->self);
|
|
||||||
/* version, method */
|
|
||||||
if ((r = sshbuf_put_u8(output, 0x05)) != 0 ||
|
|
||||||
(r = sshbuf_put_u8(output, SSH_SOCKS5_NOAUTH)) != 0)
|
|
||||||
fatal_fr(r, "channel %d: append reply", c->self);
|
|
||||||
c->flags |= SSH_SOCKS5_AUTHDONE;
|
c->flags |= SSH_SOCKS5_AUTHDONE;
|
||||||
debug2("channel %d: socks5 auth done", c->self);
|
/* Continue to parse request in case client speculated ahead */
|
||||||
return 0; /* need more */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Request messages (auth or connect) always start with the version */
|
||||||
|
if ((r = sshbuf_get_u8(b, &socks_ver)) != 0) {
|
||||||
|
success = socks_decode_error(c, r, __func__, "version");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if (socks_ver != 5) /* shouldn't happen */
|
||||||
|
fatal_fr(r, "channel %d: internal error: not socks5", c->self);
|
||||||
|
|
||||||
|
/* Parse SOCKS5 request header */
|
||||||
debug2("channel %d: socks5 post auth", c->self);
|
debug2("channel %d: socks5 post auth", c->self);
|
||||||
if (have < sizeof(s5_req)+1)
|
if ((r = sshbuf_get_u8(b, &socks_cmd)) != 0 ||
|
||||||
return 0; /* need more */
|
(r = sshbuf_get_u8(b, &socks_reserved)) != 0 ||
|
||||||
memcpy(&s5_req, p, sizeof(s5_req));
|
(r = sshbuf_get_u8(b, &socks_atyp)) != 0) {
|
||||||
if (s5_req.version != 0x05 ||
|
success = socks_decode_error(c, r, __func__, "request header");
|
||||||
s5_req.command != SSH_SOCKS5_CONNECT ||
|
goto out;
|
||||||
s5_req.reserved != 0x00) {
|
|
||||||
debug2("channel %d: only socks5 connect supported", c->self);
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
switch (s5_req.atyp){
|
|
||||||
|
if (socks_ver != 0x05 ||
|
||||||
|
socks_cmd != SSH_SOCKS5_CONNECT ||
|
||||||
|
socks_reserved != 0x00) {
|
||||||
|
debug2("channel %d: only socks5 connect supported", c->self);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (socks_atyp) {
|
||||||
case SSH_SOCKS5_IPV4:
|
case SSH_SOCKS5_IPV4:
|
||||||
addrlen = 4;
|
addrlen = 4;
|
||||||
af = AF_INET;
|
af = AF_INET;
|
||||||
break;
|
break;
|
||||||
case SSH_SOCKS5_DOMAIN:
|
case SSH_SOCKS5_DOMAIN:
|
||||||
addrlen = p[sizeof(s5_req)];
|
if ((r = sshbuf_get_u8(b, &addrlen)) != 0) {
|
||||||
|
success = socks_decode_error(c, r, __func__, "addrlen");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
af = -1;
|
af = -1;
|
||||||
break;
|
break;
|
||||||
case SSH_SOCKS5_IPV6:
|
case SSH_SOCKS5_IPV6:
|
||||||
@@ -1701,57 +1714,48 @@ channel_decode_socks5(Channel *c, struct sshbuf *input, struct sshbuf *output)
|
|||||||
af = AF_INET6;
|
af = AF_INET6;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
debug2("channel %d: bad socks5 atyp %d", c->self, s5_req.atyp);
|
debug2("channel %d: bad socks5 atyp %d", c->self, socks_atyp);
|
||||||
return -1;
|
goto out;
|
||||||
}
|
}
|
||||||
need = sizeof(s5_req) + addrlen + 2;
|
if ((r = sshbuf_get(b, &dest_addr, addrlen)) != 0 ||
|
||||||
if (s5_req.atyp == SSH_SOCKS5_DOMAIN)
|
(r = sshbuf_get_u16(b, &dest_port)) != 0) {
|
||||||
need++;
|
success = socks_decode_error(c, r, __func__, "addr/port");
|
||||||
if (have < need)
|
goto out;
|
||||||
return 0;
|
|
||||||
if ((r = sshbuf_consume(input, sizeof(s5_req))) != 0)
|
|
||||||
fatal_fr(r, "channel %d: consume", c->self);
|
|
||||||
if (s5_req.atyp == SSH_SOCKS5_DOMAIN) {
|
|
||||||
/* host string length */
|
|
||||||
if ((r = sshbuf_consume(input, 1)) != 0)
|
|
||||||
fatal_fr(r, "channel %d: consume", c->self);
|
|
||||||
}
|
|
||||||
if ((r = sshbuf_get(input, &dest_addr, addrlen)) != 0 ||
|
|
||||||
(r = sshbuf_get(input, &dest_port, 2)) != 0) {
|
|
||||||
debug_r(r, "channel %d: parse addr/port", c->self);
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
dest_addr[addrlen] = '\0';
|
dest_addr[addrlen] = '\0';
|
||||||
|
|
||||||
|
/* We have a complete SOCKS5 request; consume it from input */
|
||||||
|
if ((r = sshbuf_consume_upto_child(input, b)) != 0)
|
||||||
|
fatal_fr(r, "channel %d: consume", c->self);
|
||||||
|
|
||||||
free(c->path);
|
free(c->path);
|
||||||
c->path = NULL;
|
c->path = NULL;
|
||||||
if (s5_req.atyp == SSH_SOCKS5_DOMAIN) {
|
if (socks_atyp == SSH_SOCKS5_DOMAIN)
|
||||||
if (addrlen >= NI_MAXHOST) {
|
|
||||||
error("channel %d: dynamic request: socks5 hostname "
|
|
||||||
"\"%.100s\" too long", c->self, dest_addr);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
c->path = xstrdup(dest_addr);
|
c->path = xstrdup(dest_addr);
|
||||||
} else {
|
else {
|
||||||
if (inet_ntop(af, dest_addr, ntop, sizeof(ntop)) == NULL)
|
if (inet_ntop(af, dest_addr, ntop, sizeof(ntop)) == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
c->path = xstrdup(ntop);
|
c->path = xstrdup(ntop);
|
||||||
}
|
}
|
||||||
c->host_port = ntohs(dest_port);
|
c->host_port = dest_port;
|
||||||
|
|
||||||
debug2("channel %d: dynamic request: socks5 host %s port %u command %u",
|
debug2("channel %d: dynamic request: socks5 host %s port %u command %u",
|
||||||
c->self, c->path, c->host_port, s5_req.command);
|
c->self, c->path, c->host_port, socks_cmd);
|
||||||
|
|
||||||
s5_rsp.version = 0x05;
|
/* Reply */
|
||||||
s5_rsp.command = SSH_SOCKS5_SUCCESS;
|
if ((r = sshbuf_put_u8(output, 0x05)) != 0 || /* version */
|
||||||
s5_rsp.reserved = 0; /* ignored */
|
(r = sshbuf_put_u8(output, SSH_SOCKS5_SUCCESS)) != 0 || /* cmd */
|
||||||
s5_rsp.atyp = SSH_SOCKS5_IPV4;
|
(r = sshbuf_put_u8(output, 0)) != 0 || /* reserved, ignored */
|
||||||
dest_port = 0; /* ignored */
|
(r = sshbuf_put_u8(output, SSH_SOCKS5_IPV4)) != 0 || /* addrtype */
|
||||||
|
(r = sshbuf_put_u32(output, ntohl(INADDR_ANY))) != 0 || /* addr */
|
||||||
if ((r = sshbuf_put(output, &s5_rsp, sizeof(s5_rsp))) != 0 ||
|
(r = sshbuf_put_u16(output, dest_port)) != 0) /* port */
|
||||||
(r = sshbuf_put_u32(output, ntohl(INADDR_ANY))) != 0 ||
|
|
||||||
(r = sshbuf_put(output, &dest_port, sizeof(dest_port))) != 0)
|
|
||||||
fatal_fr(r, "channel %d: append reply", c->self);
|
fatal_fr(r, "channel %d: append reply", c->self);
|
||||||
return 1;
|
|
||||||
|
/* success */
|
||||||
|
success = 1;
|
||||||
|
out:
|
||||||
|
sshbuf_free(b);
|
||||||
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
Channel *
|
Channel *
|
||||||
@@ -1783,9 +1787,9 @@ channel_connect_stdio_fwd(struct ssh *ssh,
|
|||||||
static void
|
static void
|
||||||
channel_pre_dynamic(struct ssh *ssh, Channel *c)
|
channel_pre_dynamic(struct ssh *ssh, Channel *c)
|
||||||
{
|
{
|
||||||
const u_char *p;
|
|
||||||
u_int have;
|
u_int have;
|
||||||
int ret;
|
u_char ver;
|
||||||
|
int r, ret;
|
||||||
|
|
||||||
c->io_want = 0;
|
c->io_want = 0;
|
||||||
have = sshbuf_len(c->input);
|
have = sshbuf_len(c->input);
|
||||||
@@ -1798,9 +1802,9 @@ channel_pre_dynamic(struct ssh *ssh, Channel *c)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/* try to guess the protocol */
|
/* try to guess the protocol */
|
||||||
p = sshbuf_ptr(c->input);
|
if ((r = sshbuf_peek_u8(c->input, 0, &ver)) != 0)
|
||||||
/* XXX sshbuf_peek_u8? */
|
fatal_fr(r, "sshbuf_peek_u8");
|
||||||
switch (p[0]) {
|
switch (ver) {
|
||||||
case 0x04:
|
case 0x04:
|
||||||
ret = channel_decode_socks4(c, c->input, c->output);
|
ret = channel_decode_socks4(c, c->input, c->output);
|
||||||
break;
|
break;
|
||||||
@@ -1808,6 +1812,7 @@ channel_pre_dynamic(struct ssh *ssh, Channel *c)
|
|||||||
ret = channel_decode_socks5(c, c->input, c->output);
|
ret = channel_decode_socks5(c, c->input, c->output);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
debug2_f("channel %d: unknown SOCKS version %u", c->self, ver);
|
||||||
ret = -1;
|
ret = -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2092,7 +2097,8 @@ channel_post_auth_listener(struct ssh *ssh, Channel *c)
|
|||||||
SSH_CHANNEL_OPENING, newsock, newsock, -1,
|
SSH_CHANNEL_OPENING, newsock, newsock, -1,
|
||||||
c->local_window_max, c->local_maxpacket,
|
c->local_window_max, c->local_maxpacket,
|
||||||
0, "accepted auth socket", 1);
|
0, "accepted auth socket", 1);
|
||||||
open_preamble(ssh, __func__, nc, "auth-agent@openssh.com");
|
open_preamble(ssh, __func__, nc,
|
||||||
|
c->agent_new ? "agent-connect" : "auth-agent@openssh.com");
|
||||||
if ((r = sshpkt_send(ssh)) != 0)
|
if ((r = sshpkt_send(ssh)) != 0)
|
||||||
fatal_fr(r, "channel %i", c->self);
|
fatal_fr(r, "channel %i", c->self);
|
||||||
}
|
}
|
||||||
@@ -3357,7 +3363,7 @@ channel_proxy_downstream(struct ssh *ssh, Channel *downstream)
|
|||||||
* replaces local (proxy) channel ID with downstream channel ID.
|
* replaces local (proxy) channel ID with downstream channel ID.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
channel_proxy_upstream(Channel *c, int type, u_int32_t seq, struct ssh *ssh)
|
channel_proxy_upstream(Channel *c, int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct sshbuf *b = NULL;
|
struct sshbuf *b = NULL;
|
||||||
Channel *downstream;
|
Channel *downstream;
|
||||||
@@ -3440,7 +3446,7 @@ channel_proxy_upstream(Channel *c, int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
static int
|
static int
|
||||||
channel_parse_id(struct ssh *ssh, const char *where, const char *what)
|
channel_parse_id(struct ssh *ssh, const char *where, const char *what)
|
||||||
{
|
{
|
||||||
u_int32_t id;
|
uint32_t id;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
if ((r = sshpkt_get_u32(ssh, &id)) != 0) {
|
if ((r = sshpkt_get_u32(ssh, &id)) != 0) {
|
||||||
@@ -3469,7 +3475,7 @@ channel_from_packet_id(struct ssh *ssh, const char *where, const char *what)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
channel_input_data(int type, u_int32_t seq, struct ssh *ssh)
|
channel_input_data(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
const u_char *data;
|
const u_char *data;
|
||||||
size_t data_len, win_len;
|
size_t data_len, win_len;
|
||||||
@@ -3501,7 +3507,10 @@ channel_input_data(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
* updates are sent back. Otherwise the connection might deadlock.
|
* updates are sent back. Otherwise the connection might deadlock.
|
||||||
*/
|
*/
|
||||||
if (c->ostate != CHAN_OUTPUT_OPEN) {
|
if (c->ostate != CHAN_OUTPUT_OPEN) {
|
||||||
c->local_window -= win_len;
|
if (win_len > c->local_window)
|
||||||
|
c->local_window = 0;
|
||||||
|
else
|
||||||
|
c->local_window -= win_len;
|
||||||
c->local_consumed += win_len;
|
c->local_consumed += win_len;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -3537,11 +3546,11 @@ channel_input_data(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
channel_input_extended_data(int type, u_int32_t seq, struct ssh *ssh)
|
channel_input_extended_data(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
const u_char *data;
|
const u_char *data;
|
||||||
size_t data_len;
|
size_t data_len;
|
||||||
u_int32_t tcode;
|
uint32_t tcode;
|
||||||
Channel *c = channel_from_packet_id(ssh, __func__, "extended data");
|
Channel *c = channel_from_packet_id(ssh, __func__, "extended data");
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
@@ -3590,7 +3599,7 @@ channel_input_extended_data(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
channel_input_ieof(int type, u_int32_t seq, struct ssh *ssh)
|
channel_input_ieof(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Channel *c = channel_from_packet_id(ssh, __func__, "ieof");
|
Channel *c = channel_from_packet_id(ssh, __func__, "ieof");
|
||||||
int r;
|
int r;
|
||||||
@@ -3615,7 +3624,7 @@ channel_input_ieof(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
channel_input_oclose(int type, u_int32_t seq, struct ssh *ssh)
|
channel_input_oclose(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Channel *c = channel_from_packet_id(ssh, __func__, "oclose");
|
Channel *c = channel_from_packet_id(ssh, __func__, "oclose");
|
||||||
int r;
|
int r;
|
||||||
@@ -3631,10 +3640,10 @@ channel_input_oclose(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
channel_input_open_confirmation(int type, u_int32_t seq, struct ssh *ssh)
|
channel_input_open_confirmation(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Channel *c = channel_from_packet_id(ssh, __func__, "open confirmation");
|
Channel *c = channel_from_packet_id(ssh, __func__, "open confirmation");
|
||||||
u_int32_t remote_window, remote_maxpacket;
|
uint32_t remote_window, remote_maxpacket;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
if (channel_proxy_upstream(c, type, seq, ssh))
|
if (channel_proxy_upstream(c, type, seq, ssh))
|
||||||
@@ -3686,10 +3695,10 @@ reason2txt(int reason)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
channel_input_open_failure(int type, u_int32_t seq, struct ssh *ssh)
|
channel_input_open_failure(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Channel *c = channel_from_packet_id(ssh, __func__, "open failure");
|
Channel *c = channel_from_packet_id(ssh, __func__, "open failure");
|
||||||
u_int32_t reason;
|
uint32_t reason;
|
||||||
char *msg = NULL;
|
char *msg = NULL;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
@@ -3723,11 +3732,11 @@ channel_input_open_failure(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
channel_input_window_adjust(int type, u_int32_t seq, struct ssh *ssh)
|
channel_input_window_adjust(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
int id = channel_parse_id(ssh, __func__, "window adjust");
|
int id = channel_parse_id(ssh, __func__, "window adjust");
|
||||||
Channel *c;
|
Channel *c;
|
||||||
u_int32_t adjust;
|
uint32_t adjust;
|
||||||
u_int new_rwin;
|
u_int new_rwin;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
@@ -3753,7 +3762,7 @@ channel_input_window_adjust(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
channel_input_status_confirm(int type, u_int32_t seq, struct ssh *ssh)
|
channel_input_status_confirm(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
int id = channel_parse_id(ssh, __func__, "status confirm");
|
int id = channel_parse_id(ssh, __func__, "status confirm");
|
||||||
Channel *c;
|
Channel *c;
|
||||||
@@ -4747,7 +4756,7 @@ connect_to_helper(struct ssh *ssh, const char *name, int port, int socktype,
|
|||||||
/*
|
/*
|
||||||
* Fake up a struct addrinfo for AF_UNIX connections.
|
* Fake up a struct addrinfo for AF_UNIX connections.
|
||||||
* channel_connect_ctx_free() must check ai_family
|
* channel_connect_ctx_free() must check ai_family
|
||||||
* and use free() not freeaddirinfo() for AF_UNIX.
|
* and use free() not freeaddrinfo() for AF_UNIX.
|
||||||
*/
|
*/
|
||||||
ai = xcalloc(1, sizeof(*ai) + sizeof(*sunaddr));
|
ai = xcalloc(1, sizeof(*ai) + sizeof(*sunaddr));
|
||||||
ai->ai_addr = (struct sockaddr *)(ai + 1);
|
ai->ai_addr = (struct sockaddr *)(ai + 1);
|
||||||
|
|||||||
+15
-11
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: channels.h,v 1.162 2025/10/07 08:02:32 djm Exp $ */
|
/* $OpenBSD: channels.h,v 1.164 2026/03/05 05:40:35 djm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
@@ -181,6 +181,7 @@ struct Channel {
|
|||||||
u_int local_consumed;
|
u_int local_consumed;
|
||||||
u_int local_maxpacket;
|
u_int local_maxpacket;
|
||||||
int extended_usage;
|
int extended_usage;
|
||||||
|
int agent_new; /* For agent listeners, use RFC XXX reqests */
|
||||||
int single_connection;
|
int single_connection;
|
||||||
|
|
||||||
char *ctype; /* const type - NB. not freed on channel_free */
|
char *ctype; /* const type - NB. not freed on channel_free */
|
||||||
@@ -304,7 +305,7 @@ void channel_force_close(struct ssh *, Channel *, int);
|
|||||||
void channel_set_xtype(struct ssh *, int, const char *);
|
void channel_set_xtype(struct ssh *, int, const char *);
|
||||||
|
|
||||||
void channel_send_open(struct ssh *, int);
|
void channel_send_open(struct ssh *, int);
|
||||||
void channel_request_start(struct ssh *, int, char *, int);
|
void channel_request_start(struct ssh *, int, const char *, int);
|
||||||
void channel_register_cleanup(struct ssh *, int,
|
void channel_register_cleanup(struct ssh *, int,
|
||||||
channel_callback_fn *, int);
|
channel_callback_fn *, int);
|
||||||
void channel_register_open_confirm(struct ssh *, int,
|
void channel_register_open_confirm(struct ssh *, int,
|
||||||
@@ -325,18 +326,18 @@ void channel_clear_timeouts(struct ssh *);
|
|||||||
/* mux proxy support */
|
/* mux proxy support */
|
||||||
|
|
||||||
int channel_proxy_downstream(struct ssh *, Channel *mc);
|
int channel_proxy_downstream(struct ssh *, Channel *mc);
|
||||||
int channel_proxy_upstream(Channel *, int, u_int32_t, struct ssh *);
|
int channel_proxy_upstream(Channel *, int, uint32_t, struct ssh *);
|
||||||
|
|
||||||
/* protocol handler */
|
/* protocol handler */
|
||||||
|
|
||||||
int channel_input_data(int, u_int32_t, struct ssh *);
|
int channel_input_data(int, uint32_t, struct ssh *);
|
||||||
int channel_input_extended_data(int, u_int32_t, struct ssh *);
|
int channel_input_extended_data(int, uint32_t, struct ssh *);
|
||||||
int channel_input_ieof(int, u_int32_t, struct ssh *);
|
int channel_input_ieof(int, uint32_t, struct ssh *);
|
||||||
int channel_input_oclose(int, u_int32_t, struct ssh *);
|
int channel_input_oclose(int, uint32_t, struct ssh *);
|
||||||
int channel_input_open_confirmation(int, u_int32_t, struct ssh *);
|
int channel_input_open_confirmation(int, uint32_t, struct ssh *);
|
||||||
int channel_input_open_failure(int, u_int32_t, struct ssh *);
|
int channel_input_open_failure(int, uint32_t, struct ssh *);
|
||||||
int channel_input_window_adjust(int, u_int32_t, struct ssh *);
|
int channel_input_window_adjust(int, uint32_t, struct ssh *);
|
||||||
int channel_input_status_confirm(int, u_int32_t, struct ssh *);
|
int channel_input_status_confirm(int, uint32_t, struct ssh *);
|
||||||
|
|
||||||
/* file descriptor handling (read/write) */
|
/* file descriptor handling (read/write) */
|
||||||
struct pollfd;
|
struct pollfd;
|
||||||
@@ -399,6 +400,9 @@ int x11_channel_used_recently(struct ssh *ssh);
|
|||||||
int chan_is_dead(struct ssh *, Channel *, int);
|
int chan_is_dead(struct ssh *, Channel *, int);
|
||||||
void chan_mark_dead(struct ssh *, Channel *);
|
void chan_mark_dead(struct ssh *, Channel *);
|
||||||
|
|
||||||
|
/* agent forwarding */
|
||||||
|
void client_channel_reqest_agent_forwarding(struct ssh *, int);
|
||||||
|
|
||||||
/* channel events */
|
/* channel events */
|
||||||
|
|
||||||
void chan_rcvd_oclose(struct ssh *, Channel *);
|
void chan_rcvd_oclose(struct ssh *, Channel *);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: cipher-aesctr.c,v 1.2 2015/01/14 10:24:42 markus Exp $ */
|
/* $OpenBSD: cipher-aesctr.c,v 1.3 2026/02/09 22:15:45 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003 Markus Friedl. All rights reserved.
|
* Copyright (c) 2003 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -17,11 +17,11 @@
|
|||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
|
#ifndef WITH_OPENSSL
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#ifndef WITH_OPENSSL
|
|
||||||
|
|
||||||
#include "cipher-aesctr.h"
|
#include "cipher-aesctr.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: cipher-chachapoly-libcrypto.c,v 1.2 2023/07/17 05:26:38 djm Exp $ */
|
/* $OpenBSD: cipher-chachapoly-libcrypto.c,v 1.3 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013 Damien Miller <djm@mindrot.org>
|
* Copyright (c) 2013 Damien Miller <djm@mindrot.org>
|
||||||
*
|
*
|
||||||
@@ -23,13 +23,11 @@
|
|||||||
#if defined(HAVE_EVP_CHACHA20) && !defined(HAVE_BROKEN_CHACHA20)
|
#if defined(HAVE_EVP_CHACHA20) && !defined(HAVE_BROKEN_CHACHA20)
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <stdarg.h> /* needed for log.h */
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h> /* needed for misc.h */
|
#include <stdio.h> /* needed for misc.h */
|
||||||
|
|
||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
|
|
||||||
#include "log.h"
|
|
||||||
#include "sshbuf.h"
|
#include "sshbuf.h"
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
#include "cipher-chachapoly.h"
|
#include "cipher-chachapoly.h"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: cipher.c,v 1.125 2025/09/02 11:08:34 djm Exp $ */
|
/* $OpenBSD: cipher.c,v 1.126 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@@ -47,7 +47,6 @@
|
|||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "sshbuf.h"
|
#include "sshbuf.h"
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
#include "digest.h"
|
|
||||||
|
|
||||||
#include "openbsd-compat/openssl-compat.h"
|
#include "openbsd-compat/openssl-compat.h"
|
||||||
|
|
||||||
|
|||||||
+40
-18
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: clientloop.c,v 1.415 2025/09/25 06:23:19 jsg Exp $ */
|
/* $OpenBSD: clientloop.c,v 1.422 2026/03/05 05:40:35 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@@ -64,8 +64,8 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
#include <sys/queue.h>
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@@ -76,12 +76,9 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <termios.h>
|
|
||||||
#include <pwd.h>
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
#include "openbsd-compat/sys-queue.h"
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
#include "ssh.h"
|
#include "ssh.h"
|
||||||
#include "ssh2.h"
|
#include "ssh2.h"
|
||||||
@@ -91,9 +88,7 @@
|
|||||||
#include "channels.h"
|
#include "channels.h"
|
||||||
#include "dispatch.h"
|
#include "dispatch.h"
|
||||||
#include "sshkey.h"
|
#include "sshkey.h"
|
||||||
#include "cipher.h"
|
|
||||||
#include "kex.h"
|
#include "kex.h"
|
||||||
#include "myproposal.h"
|
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "readconf.h"
|
#include "readconf.h"
|
||||||
@@ -103,7 +98,6 @@
|
|||||||
#include "atomicio.h"
|
#include "atomicio.h"
|
||||||
#include "sshpty.h"
|
#include "sshpty.h"
|
||||||
#include "match.h"
|
#include "match.h"
|
||||||
#include "msg.h"
|
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
#include "hostfile.h"
|
#include "hostfile.h"
|
||||||
|
|
||||||
@@ -435,7 +429,7 @@ client_x11_get_proto(struct ssh *ssh, const char *display,
|
|||||||
* for the local connection.
|
* for the local connection.
|
||||||
*/
|
*/
|
||||||
if (!got_data) {
|
if (!got_data) {
|
||||||
u_int8_t rnd[16];
|
uint8_t rnd[16];
|
||||||
u_int i;
|
u_int i;
|
||||||
|
|
||||||
logit("Warning: No xauth data; "
|
logit("Warning: No xauth data; "
|
||||||
@@ -469,7 +463,7 @@ client_check_window_change(struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
client_global_request_reply(int type, u_int32_t seq, struct ssh *ssh)
|
client_global_request_reply(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct global_confirm *gc;
|
struct global_confirm *gc;
|
||||||
|
|
||||||
@@ -942,7 +936,7 @@ client_repledge(void)
|
|||||||
/* Might be able to tighten pledge now that session is established */
|
/* Might be able to tighten pledge now that session is established */
|
||||||
if (options.control_master || options.control_path != NULL ||
|
if (options.control_master || options.control_path != NULL ||
|
||||||
options.forward_x11 || options.fork_after_authentication ||
|
options.forward_x11 || options.fork_after_authentication ||
|
||||||
can_update_hostkeys() ||
|
options.pkcs11_provider != NULL || can_update_hostkeys() ||
|
||||||
(session_ident != -1 && !session_setup_complete)) {
|
(session_ident != -1 && !session_setup_complete)) {
|
||||||
/* Can't tighten */
|
/* Can't tighten */
|
||||||
return;
|
return;
|
||||||
@@ -1125,6 +1119,7 @@ static struct escape_help_text esc_txt[] = {
|
|||||||
SUPPRESS_MUXCLIENT},
|
SUPPRESS_MUXCLIENT},
|
||||||
{"B", "send a BREAK to the remote system", SUPPRESS_NEVER},
|
{"B", "send a BREAK to the remote system", SUPPRESS_NEVER},
|
||||||
{"C", "open a command line", SUPPRESS_MUXCLIENT|SUPPRESS_NOCMDLINE},
|
{"C", "open a command line", SUPPRESS_MUXCLIENT|SUPPRESS_NOCMDLINE},
|
||||||
|
{"I", "show connection information", SUPPRESS_NEVER},
|
||||||
{"R", "request rekey", SUPPRESS_NEVER},
|
{"R", "request rekey", SUPPRESS_NEVER},
|
||||||
{"V/v", "decrease/increase verbosity (LogLevel)", SUPPRESS_MUXCLIENT},
|
{"V/v", "decrease/increase verbosity (LogLevel)", SUPPRESS_MUXCLIENT},
|
||||||
{"^Z", "suspend ssh", SUPPRESS_MUXCLIENT},
|
{"^Z", "suspend ssh", SUPPRESS_MUXCLIENT},
|
||||||
@@ -1247,6 +1242,16 @@ process_escapes(struct ssh *ssh, Channel *c,
|
|||||||
fatal_fr(r, "send packet");
|
fatal_fr(r, "send packet");
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
case 'I':
|
||||||
|
if ((r = sshbuf_putf(berr, "%cI\r\n",
|
||||||
|
efc->escape_char)) != 0)
|
||||||
|
fatal_fr(r, "sshbuf_putf");
|
||||||
|
s = connection_info_message(ssh);
|
||||||
|
if ((r = sshbuf_put(berr, s, strlen(s))) != 0)
|
||||||
|
fatal_fr(r, "sshbuf_put");
|
||||||
|
free(s);
|
||||||
|
continue;
|
||||||
|
|
||||||
case 'R':
|
case 'R':
|
||||||
if (ssh->compat & SSH_BUG_NOREKEY)
|
if (ssh->compat & SSH_BUG_NOREKEY)
|
||||||
logit("Server does not "
|
logit("Server does not "
|
||||||
@@ -1450,14 +1455,16 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg,
|
|||||||
u_int npfd_alloc = 0, npfd_active = 0;
|
u_int npfd_alloc = 0, npfd_active = 0;
|
||||||
double start_time, total_time;
|
double start_time, total_time;
|
||||||
int interactive = -1, channel_did_enqueue = 0, r;
|
int interactive = -1, channel_did_enqueue = 0, r;
|
||||||
u_int64_t ibytes, obytes;
|
uint64_t ibytes, obytes;
|
||||||
int conn_in_ready, conn_out_ready;
|
int conn_in_ready, conn_out_ready;
|
||||||
sigset_t bsigset, osigset;
|
sigset_t bsigset, osigset;
|
||||||
|
|
||||||
debug("Entering interactive session.");
|
debug("Entering interactive session.");
|
||||||
session_ident = ssh2_chan_id;
|
session_ident = ssh2_chan_id;
|
||||||
|
|
||||||
if (options.control_master &&
|
if (options.pkcs11_provider != NULL)
|
||||||
|
debug("pledge: disabled (PKCS11Provider active)");
|
||||||
|
else if (options.control_master &&
|
||||||
!option_clear_or_none(options.control_path)) {
|
!option_clear_or_none(options.control_path)) {
|
||||||
debug("pledge: id");
|
debug("pledge: id");
|
||||||
if (pledge("stdio rpath wpath cpath unix inet dns recvfd sendfd proc exec id tty",
|
if (pledge("stdio rpath wpath cpath unix inet dns recvfd sendfd proc exec id tty",
|
||||||
@@ -1907,7 +1914,7 @@ client_request_tun_fwd(struct ssh *ssh, int tun_mode,
|
|||||||
|
|
||||||
/* XXXX move to generic input handler */
|
/* XXXX move to generic input handler */
|
||||||
static int
|
static int
|
||||||
client_input_channel_open(int type, u_int32_t seq, struct ssh *ssh)
|
client_input_channel_open(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Channel *c = NULL;
|
Channel *c = NULL;
|
||||||
char *ctype = NULL;
|
char *ctype = NULL;
|
||||||
@@ -1932,7 +1939,8 @@ client_input_channel_open(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
c = client_request_forwarded_streamlocal(ssh, ctype, rchan);
|
c = client_request_forwarded_streamlocal(ssh, ctype, rchan);
|
||||||
} else if (strcmp(ctype, "x11") == 0) {
|
} else if (strcmp(ctype, "x11") == 0) {
|
||||||
c = client_request_x11(ssh, ctype, rchan);
|
c = client_request_x11(ssh, ctype, rchan);
|
||||||
} else if (strcmp(ctype, "auth-agent@openssh.com") == 0) {
|
} else if (strcmp(ctype, "auth-agent@openssh.com") == 0 ||
|
||||||
|
strcmp(ctype, "agent-connect") == 0) {
|
||||||
c = client_request_agent(ssh, ctype, rchan);
|
c = client_request_agent(ssh, ctype, rchan);
|
||||||
}
|
}
|
||||||
if (c != NULL && c->type == SSH_CHANNEL_MUX_CLIENT) {
|
if (c != NULL && c->type == SSH_CHANNEL_MUX_CLIENT) {
|
||||||
@@ -1969,7 +1977,7 @@ client_input_channel_open(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
client_input_channel_req(int type, u_int32_t seq, struct ssh *ssh)
|
client_input_channel_req(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
Channel *c = NULL;
|
Channel *c = NULL;
|
||||||
char *rtype = NULL;
|
char *rtype = NULL;
|
||||||
@@ -2347,7 +2355,7 @@ update_known_hosts(struct hostkeys_update_ctx *ctx)
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
client_global_hostkeys_prove_confirm(struct ssh *ssh, int type,
|
client_global_hostkeys_prove_confirm(struct ssh *ssh, int type,
|
||||||
u_int32_t seq, void *_ctx)
|
uint32_t seq, void *_ctx)
|
||||||
{
|
{
|
||||||
struct hostkeys_update_ctx *ctx = (struct hostkeys_update_ctx *)_ctx;
|
struct hostkeys_update_ctx *ctx = (struct hostkeys_update_ctx *)_ctx;
|
||||||
size_t i, ndone;
|
size_t i, ndone;
|
||||||
@@ -2657,7 +2665,7 @@ client_input_hostkeys(struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
client_input_global_request(int type, u_int32_t seq, struct ssh *ssh)
|
client_input_global_request(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
char *rtype;
|
char *rtype;
|
||||||
u_char want_reply;
|
u_char want_reply;
|
||||||
@@ -2806,6 +2814,20 @@ client_session2_setup(struct ssh *ssh, int id, int want_tty, int want_subsystem,
|
|||||||
client_repledge();
|
client_repledge();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
client_channel_reqest_agent_forwarding(struct ssh *ssh, int id)
|
||||||
|
{
|
||||||
|
const char *req = "auth-agent-req@openssh.com";
|
||||||
|
int r;
|
||||||
|
|
||||||
|
if (ssh->kex != NULL && (ssh->kex->flags & KEX_HAS_NEWAGENT) != 0)
|
||||||
|
req = "agent-req"; /* XXX RFC XXX */
|
||||||
|
debug("Requesting agent forwarding on channel %d via %s", id, req);
|
||||||
|
channel_request_start(ssh, id, req, 0);
|
||||||
|
if ((r = sshpkt_send(ssh)) != 0)
|
||||||
|
fatal_fr(r, "send");
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
client_init_dispatch(struct ssh *ssh)
|
client_init_dispatch(struct ssh *ssh)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: clientloop.h,v 1.38 2024/05/17 06:42:04 jsg Exp $ */
|
/* $OpenBSD: clientloop.h,v 1.41 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
@@ -55,7 +55,7 @@ void client_filter_cleanup(struct ssh *, int, void *);
|
|||||||
int client_simple_escape_filter(struct ssh *, Channel *, char *, int);
|
int client_simple_escape_filter(struct ssh *, Channel *, char *, int);
|
||||||
|
|
||||||
/* Global request confirmation callbacks */
|
/* Global request confirmation callbacks */
|
||||||
typedef void global_confirm_cb(struct ssh *, int, u_int32_t, void *);
|
typedef void global_confirm_cb(struct ssh *, int, uint32_t, void *);
|
||||||
void client_register_global_confirm(global_confirm_cb *, void *);
|
void client_register_global_confirm(global_confirm_cb *, void *);
|
||||||
|
|
||||||
/* Channel request confirmation callbacks */
|
/* Channel request confirmation callbacks */
|
||||||
@@ -75,6 +75,8 @@ void client_expect_confirm(struct ssh *, int, const char *,
|
|||||||
#define SSHMUX_COMMAND_STOP 6 /* Disable mux but not conn */
|
#define SSHMUX_COMMAND_STOP 6 /* Disable mux but not conn */
|
||||||
#define SSHMUX_COMMAND_CANCEL_FWD 7 /* Cancel forwarding(s) */
|
#define SSHMUX_COMMAND_CANCEL_FWD 7 /* Cancel forwarding(s) */
|
||||||
#define SSHMUX_COMMAND_PROXY 8 /* Open new connection */
|
#define SSHMUX_COMMAND_PROXY 8 /* Open new connection */
|
||||||
|
#define SSHMUX_COMMAND_CONNINFO 9 /* Show connection information */
|
||||||
|
#define SSHMUX_COMMAND_CHANINFO 10 /* Show channels information */
|
||||||
|
|
||||||
void muxserver_listen(struct ssh *);
|
void muxserver_listen(struct ssh *);
|
||||||
int muxclient(const char *);
|
int muxclient(const char *);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: compat.c,v 1.126 2023/03/06 12:14:48 dtucker Exp $ */
|
/* $OpenBSD: compat.c,v 1.128 2026/03/02 02:40:15 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved.
|
* Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -27,8 +27,8 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
@@ -44,7 +44,7 @@ compat_banner(struct ssh *ssh, const char *version)
|
|||||||
int i;
|
int i;
|
||||||
static struct {
|
static struct {
|
||||||
char *pat;
|
char *pat;
|
||||||
int bugs;
|
uint32_t bugs;
|
||||||
} check[] = {
|
} check[] = {
|
||||||
{ "OpenSSH_2.*,"
|
{ "OpenSSH_2.*,"
|
||||||
"OpenSSH_3.0*,"
|
"OpenSSH_3.0*,"
|
||||||
|
|||||||
+10
-11
@@ -35,7 +35,7 @@
|
|||||||
/* getline is not what we expect */
|
/* getline is not what we expect */
|
||||||
/* #undef BROKEN_GETLINE */
|
/* #undef BROKEN_GETLINE */
|
||||||
|
|
||||||
/* FreeBSD glob does not do what we need */
|
/* Do not use system glob */
|
||||||
#define BROKEN_GLOB 1
|
#define BROKEN_GLOB 1
|
||||||
|
|
||||||
/* Define if you system's inet_ntoa is busted (e.g. Irix gcc issue) */
|
/* Define if you system's inet_ntoa is busted (e.g. Irix gcc issue) */
|
||||||
@@ -217,6 +217,9 @@
|
|||||||
/* Have attribute nonnull */
|
/* Have attribute nonnull */
|
||||||
#define HAVE_ATTRIBUTE__NONNULL__ 1
|
#define HAVE_ATTRIBUTE__NONNULL__ 1
|
||||||
|
|
||||||
|
/* compiler supports nonstring attribute */
|
||||||
|
#define HAVE_ATTRIBUTE__NONSTRING__ 1
|
||||||
|
|
||||||
/* OpenBSD's gcc has sentinel */
|
/* OpenBSD's gcc has sentinel */
|
||||||
/* #undef HAVE_ATTRIBUTE__SENTINEL__ */
|
/* #undef HAVE_ATTRIBUTE__SENTINEL__ */
|
||||||
|
|
||||||
@@ -1053,9 +1056,6 @@
|
|||||||
/* Define to 1 if you have the 'openpty' function. */
|
/* Define to 1 if you have the 'openpty' function. */
|
||||||
#define HAVE_OPENPTY 1
|
#define HAVE_OPENPTY 1
|
||||||
|
|
||||||
/* as a macro */
|
|
||||||
#define HAVE_OPENSSL_ADD_ALL_ALGORITHMS 1
|
|
||||||
|
|
||||||
/* Define to 1 if you have the 'OpenSSL_version' function. */
|
/* Define to 1 if you have the 'OpenSSL_version' function. */
|
||||||
#define HAVE_OPENSSL_VERSION 1
|
#define HAVE_OPENSSL_VERSION 1
|
||||||
|
|
||||||
@@ -1624,6 +1624,9 @@
|
|||||||
/* Define to 1 if the system has the type 'unsigned long long'. */
|
/* Define to 1 if the system has the type 'unsigned long long'. */
|
||||||
#define HAVE_UNSIGNED_LONG_LONG 1
|
#define HAVE_UNSIGNED_LONG_LONG 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the 'unveil' function. */
|
||||||
|
/* #undef HAVE_UNVEIL */
|
||||||
|
|
||||||
/* Define to 1 if you have the 'updwtmp' function. */
|
/* Define to 1 if you have the 'updwtmp' function. */
|
||||||
/* #undef HAVE_UPDWTMP */
|
/* #undef HAVE_UPDWTMP */
|
||||||
|
|
||||||
@@ -1863,6 +1866,9 @@
|
|||||||
/* need inet in pledge for setsockopt IP_TOS */
|
/* need inet in pledge for setsockopt IP_TOS */
|
||||||
#define PLEDGE_EXTRA_INET /**/
|
#define PLEDGE_EXTRA_INET /**/
|
||||||
|
|
||||||
|
/* Define if poll 2nd arg is ulong */
|
||||||
|
/* #undef POLL_NFDS_T_ULONG */
|
||||||
|
|
||||||
/* Port number of PRNGD/EGD random number socket */
|
/* Port number of PRNGD/EGD random number socket */
|
||||||
/* #undef PRNGD_PORT */
|
/* #undef PRNGD_PORT */
|
||||||
|
|
||||||
@@ -1915,11 +1921,7 @@
|
|||||||
#define SIZEOF_SHORT_INT 2
|
#define SIZEOF_SHORT_INT 2
|
||||||
|
|
||||||
/* The size of 'time_t', as computed by sizeof. */
|
/* The size of 'time_t', as computed by sizeof. */
|
||||||
#ifdef __i386__
|
|
||||||
#define SIZEOF_TIME_T 4
|
|
||||||
#else
|
|
||||||
#define SIZEOF_TIME_T 8
|
#define SIZEOF_TIME_T 8
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define as const if snprintf() can declare const char *fmt */
|
/* Define as const if snprintf() can declare const char *fmt */
|
||||||
#define SNPRINTF_CONST const
|
#define SNPRINTF_CONST const
|
||||||
@@ -1937,9 +1939,6 @@
|
|||||||
/* sshd PAM service name */
|
/* sshd PAM service name */
|
||||||
/* #undef SSHD_PAM_SERVICE */
|
/* #undef SSHD_PAM_SERVICE */
|
||||||
|
|
||||||
/* Define if pam_chauthtok wants real uid set to the unpriv'ed user */
|
|
||||||
/* #undef SSHPAM_CHAUTHTOK_NEEDS_RUID */
|
|
||||||
|
|
||||||
/* Use audit debugging module */
|
/* Use audit debugging module */
|
||||||
/* #undef SSH_AUDIT_EVENTS */
|
/* #undef SSH_AUDIT_EVENTS */
|
||||||
|
|
||||||
|
|||||||
+108
-27
@@ -358,6 +358,19 @@ AC_COMPILE_IFELSE(
|
|||||||
[ AC_MSG_RESULT([no]) ]
|
[ AC_MSG_RESULT([no]) ]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
saved_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -Werror"
|
||||||
|
AC_MSG_CHECKING([if compiler supports __nonstring__ attribute on char arrays])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <stdlib.h>]],
|
||||||
|
[[ char __attribute__ ((__nonstring__)) h[5] = "hello"; return h[0]!='h'; ]])],
|
||||||
|
[ AC_MSG_RESULT([yes])
|
||||||
|
AC_DEFINE(HAVE_ATTRIBUTE__NONSTRING__, [1],
|
||||||
|
[compiler supports nonstring attribute]) ],
|
||||||
|
[ AC_MSG_RESULT([no]) ]
|
||||||
|
)
|
||||||
|
CFLAGS="$saved_CFLAGS"
|
||||||
|
|
||||||
if test "x$no_attrib_nonnull" != "x1" ; then
|
if test "x$no_attrib_nonnull" != "x1" ; then
|
||||||
AC_DEFINE([HAVE_ATTRIBUTE__NONNULL__], [1], [Have attribute nonnull])
|
AC_DEFINE([HAVE_ATTRIBUTE__NONNULL__], [1], [Have attribute nonnull])
|
||||||
fi
|
fi
|
||||||
@@ -464,7 +477,6 @@ AC_CHECK_HEADERS([ \
|
|||||||
floatingpoint.h \
|
floatingpoint.h \
|
||||||
fnmatch.h \
|
fnmatch.h \
|
||||||
getopt.h \
|
getopt.h \
|
||||||
glob.h \
|
|
||||||
ia.h \
|
ia.h \
|
||||||
iaf.h \
|
iaf.h \
|
||||||
inttypes.h \
|
inttypes.h \
|
||||||
@@ -526,6 +538,7 @@ AC_CHECK_HEADERS([ \
|
|||||||
# platform. Usually these are just empty, but in some cases they'll include
|
# platform. Usually these are just empty, but in some cases they'll include
|
||||||
# the equivalent file. This avoids having to wrap those includes in
|
# the equivalent file. This avoids having to wrap those includes in
|
||||||
# '#ifdef HAVE_FOO_H'. If we create any such headers, add the path to includes.
|
# '#ifdef HAVE_FOO_H'. If we create any such headers, add the path to includes.
|
||||||
|
COMPATINCLUDESDIR="openbsd-compat/include"
|
||||||
COMPATINCLUDES=""
|
COMPATINCLUDES=""
|
||||||
AC_CHECK_HEADERS([ \
|
AC_CHECK_HEADERS([ \
|
||||||
endian.h \
|
endian.h \
|
||||||
@@ -538,11 +551,16 @@ AC_CHECK_HEADERS([ \
|
|||||||
stdint.h \
|
stdint.h \
|
||||||
sys/mman.h \
|
sys/mman.h \
|
||||||
sys/stat.h \
|
sys/stat.h \
|
||||||
|
sys/statvfs.h \
|
||||||
sys/time.h \
|
sys/time.h \
|
||||||
sys/un.h \
|
sys/un.h \
|
||||||
time.h \
|
time.h \
|
||||||
util.h], [], [
|
util.h \
|
||||||
COMPATINCLUDES="openbsd-compat/include"
|
], [
|
||||||
|
# Remove any old shims.
|
||||||
|
rm -f "$COMPATINCLUDESDIR/$ac_header"
|
||||||
|
], [
|
||||||
|
COMPATINCLUDES="$COMPATINCLUDESDIR"
|
||||||
header="$COMPATINCLUDES/$ac_header"
|
header="$COMPATINCLUDES/$ac_header"
|
||||||
dir=`dirname "$header"`
|
dir=`dirname "$header"`
|
||||||
mkdir -p "$dir"
|
mkdir -p "$dir"
|
||||||
@@ -553,7 +571,22 @@ AC_CHECK_HEADERS([ \
|
|||||||
*) ;;
|
*) ;;
|
||||||
esac >"$header"
|
esac >"$header"
|
||||||
])
|
])
|
||||||
AC_SUBST([COMPATINCLUDES])
|
|
||||||
|
dnl Now create replacement headers for those that we always want to shim.
|
||||||
|
for include in sys/queue.h sys/tree.h; do
|
||||||
|
COMPATINCLUDES="$COMPATINCLUDESDIR"
|
||||||
|
header="$COMPATINCLUDES/$include"
|
||||||
|
dir=`dirname "$header"`
|
||||||
|
mkdir -p "$dir"
|
||||||
|
case "$include" in
|
||||||
|
sys/queue.h)
|
||||||
|
echo '#include "openbsd-compat/sys-queue.h"'
|
||||||
|
;;
|
||||||
|
sys/tree.h)
|
||||||
|
echo '#include "openbsd-compat/sys-tree.h"'
|
||||||
|
;;
|
||||||
|
esac >"$header"
|
||||||
|
done
|
||||||
|
|
||||||
AC_CHECK_DECLS([le32toh, le64toh, htole64], [], [], [
|
AC_CHECK_DECLS([le32toh, le64toh, htole64], [], [], [
|
||||||
#ifdef HAVE_SYS_TYPES_H
|
#ifdef HAVE_SYS_TYPES_H
|
||||||
@@ -746,8 +779,6 @@ case "$host" in
|
|||||||
AC_DEFINE([SPT_TYPE], [SPT_REUSEARGV],
|
AC_DEFINE([SPT_TYPE], [SPT_REUSEARGV],
|
||||||
[Define to a Set Process Title type if your system is
|
[Define to a Set Process Title type if your system is
|
||||||
supported by bsd-setproctitle.c])
|
supported by bsd-setproctitle.c])
|
||||||
AC_DEFINE([SSHPAM_CHAUTHTOK_NEEDS_RUID], [1],
|
|
||||||
[AIX 5.2 and 5.3 (and presumably newer) require this])
|
|
||||||
AC_DEFINE([PTY_ZEROREAD], [1], [read(1) can return 0 for a non-closed fd])
|
AC_DEFINE([PTY_ZEROREAD], [1], [read(1) can return 0 for a non-closed fd])
|
||||||
AC_DEFINE([PLATFORM_SYS_DIR_UID], 2, [System dirs owned by bin (uid 2)])
|
AC_DEFINE([PLATFORM_SYS_DIR_UID], 2, [System dirs owned by bin (uid 2)])
|
||||||
AC_DEFINE([BROKEN_STRNDUP], 1, [strndup broken, see APAR IY61211])
|
AC_DEFINE([BROKEN_STRNDUP], 1, [strndup broken, see APAR IY61211])
|
||||||
@@ -805,7 +836,7 @@ int main(void) { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
|
|||||||
AC_DEFINE([SETEUID_BREAKS_SETUID])
|
AC_DEFINE([SETEUID_BREAKS_SETUID])
|
||||||
AC_DEFINE([BROKEN_SETREUID])
|
AC_DEFINE([BROKEN_SETREUID])
|
||||||
AC_DEFINE([BROKEN_SETREGID])
|
AC_DEFINE([BROKEN_SETREGID])
|
||||||
AC_DEFINE([BROKEN_GLOB], [1], [OS X glob does not do what we expect])
|
broken_glob=yes # OS X glob does not do what we expect
|
||||||
AC_DEFINE_UNQUOTED([BIND_8_COMPAT], [1],
|
AC_DEFINE_UNQUOTED([BIND_8_COMPAT], [1],
|
||||||
[Define if your resolver libs need this for getrrsetbyname])
|
[Define if your resolver libs need this for getrrsetbyname])
|
||||||
AC_DEFINE([SSH_TUN_FREEBSD], [1], [Open tunnel devices the FreeBSD way])
|
AC_DEFINE([SSH_TUN_FREEBSD], [1], [Open tunnel devices the FreeBSD way])
|
||||||
@@ -1124,7 +1155,7 @@ mips-sony-bsd|mips-sony-newsos4)
|
|||||||
[Use tunnel device compatibility to OpenBSD])
|
[Use tunnel device compatibility to OpenBSD])
|
||||||
AC_CHECK_HEADER([net/if_tap.h], ,
|
AC_CHECK_HEADER([net/if_tap.h], ,
|
||||||
AC_DEFINE([SSH_TUN_NO_L2], [1], [No layer 2 tunnel support]))
|
AC_DEFINE([SSH_TUN_NO_L2], [1], [No layer 2 tunnel support]))
|
||||||
AC_DEFINE([BROKEN_GLOB], [1], [FreeBSD glob does not do what we need])
|
broken_glob=yes # FreeBSD glob does not do what we need
|
||||||
TEST_MALLOC_OPTIONS="AJRX"
|
TEST_MALLOC_OPTIONS="AJRX"
|
||||||
# Preauth crypto occasionally uses file descriptors for crypto offload
|
# Preauth crypto occasionally uses file descriptors for crypto offload
|
||||||
# and will crash if they cannot be opened.
|
# and will crash if they cannot be opened.
|
||||||
@@ -1188,9 +1219,6 @@ if (setsockopt(s, IPPROTO_IP, IP_TOS, &one, sizeof(one)) == -1)
|
|||||||
AC_DEFINE([PAM_SUN_CODEBASE])
|
AC_DEFINE([PAM_SUN_CODEBASE])
|
||||||
AC_DEFINE([LOGIN_NEEDS_UTMPX])
|
AC_DEFINE([LOGIN_NEEDS_UTMPX])
|
||||||
AC_DEFINE([PAM_TTY_KLUDGE])
|
AC_DEFINE([PAM_TTY_KLUDGE])
|
||||||
AC_DEFINE([SSHPAM_CHAUTHTOK_NEEDS_RUID], [1],
|
|
||||||
[Define if pam_chauthtok wants real uid set
|
|
||||||
to the unpriv'ed user])
|
|
||||||
AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"])
|
AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"])
|
||||||
# Pushing STREAMS modules will cause sshd to acquire a controlling tty.
|
# Pushing STREAMS modules will cause sshd to acquire a controlling tty.
|
||||||
AC_DEFINE([SSHD_ACQUIRES_CTTY], [1],
|
AC_DEFINE([SSHD_ACQUIRES_CTTY], [1],
|
||||||
@@ -1679,6 +1707,15 @@ else
|
|||||||
[Define to rpl_calloc if the replacement function should be used.])
|
[Define to rpl_calloc if the replacement function should be used.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl Figure out if we have a system glob, and if so if we can use it.
|
||||||
|
AC_CHECK_FUNCS([glob],
|
||||||
|
[ AC_CHECK_HEADERS([glob.h],
|
||||||
|
[use_system_glob=yes],
|
||||||
|
[use_system_glob=no])
|
||||||
|
],
|
||||||
|
use_system_glob=no
|
||||||
|
)
|
||||||
|
|
||||||
# Check for ALTDIRFUNC glob() extension
|
# Check for ALTDIRFUNC glob() extension
|
||||||
AC_MSG_CHECKING([for GLOB_ALTDIRFUNC support])
|
AC_MSG_CHECKING([for GLOB_ALTDIRFUNC support])
|
||||||
AC_EGREP_CPP([FOUNDIT],
|
AC_EGREP_CPP([FOUNDIT],
|
||||||
@@ -1696,6 +1733,7 @@ AC_EGREP_CPP([FOUNDIT],
|
|||||||
],
|
],
|
||||||
[
|
[
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
|
use_system_glob=no
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1710,7 +1748,9 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <glob.h> ]],
|
|||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
], [
|
], [
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
])
|
use_system_glob=no
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
# Check for g.gl_statv glob() extension
|
# Check for g.gl_statv glob() extension
|
||||||
AC_MSG_CHECKING([for gl_statv and GLOB_KEEPSTAT extensions for glob])
|
AC_MSG_CHECKING([for gl_statv and GLOB_KEEPSTAT extensions for glob])
|
||||||
@@ -1728,10 +1768,30 @@ g.gl_statv = NULL;
|
|||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
], [
|
], [
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
|
use_system_glob=no
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
])
|
AC_CHECK_DECLS([GLOB_NOMATCH], , [use_system_glob=no], [#include <glob.h>])
|
||||||
|
|
||||||
AC_CHECK_DECLS([GLOB_NOMATCH], , , [#include <glob.h>])
|
if test "x$broken_glob" = "xyes"; then
|
||||||
|
AC_DEFINE([BROKEN_GLOB], [1], [Do not use system glob])
|
||||||
|
use_system_glob=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl If we don't have a system glob, or we do but we're not using it, then
|
||||||
|
dnl create a glob.h shim so we don't have to sprinkle ifdefs everywhere.
|
||||||
|
AC_MSG_CHECKING([if we can use the system glob])
|
||||||
|
if test "x$use_system_glob" = "xyes" ; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
# Remove any old shims.
|
||||||
|
rm -f "$COMPATINCLUDESDIR/glob.h"
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
COMPATINCLUDES="$COMPATINCLUDESDIR"
|
||||||
|
mkdir -p "$COMPATINCLUDES"
|
||||||
|
echo '#include "openbsd-compat/glob.h"' >$COMPATINCLUDES/glob.h
|
||||||
|
fi
|
||||||
|
|
||||||
AC_CHECK_DECL([VIS_ALL], ,
|
AC_CHECK_DECL([VIS_ALL], ,
|
||||||
AC_DEFINE(BROKEN_STRNVIS, 1, [missing VIS_ALL]), [#include <vis.h>])
|
AC_DEFINE(BROKEN_STRNVIS, 1, [missing VIS_ALL]), [#include <vis.h>])
|
||||||
@@ -2136,7 +2196,6 @@ AC_CHECK_FUNCS([ \
|
|||||||
getline \
|
getline \
|
||||||
getnameinfo \
|
getnameinfo \
|
||||||
getopt \
|
getopt \
|
||||||
getpagesize \
|
|
||||||
getpeereid \
|
getpeereid \
|
||||||
getpeerucred \
|
getpeerucred \
|
||||||
getpgid \
|
getpgid \
|
||||||
@@ -2145,7 +2204,6 @@ AC_CHECK_FUNCS([ \
|
|||||||
getrandom \
|
getrandom \
|
||||||
getsid \
|
getsid \
|
||||||
getttyent \
|
getttyent \
|
||||||
glob \
|
|
||||||
group_from_gid \
|
group_from_gid \
|
||||||
inet_aton \
|
inet_aton \
|
||||||
inet_ntoa \
|
inet_ntoa \
|
||||||
@@ -2225,6 +2283,7 @@ AC_CHECK_FUNCS([ \
|
|||||||
truncate \
|
truncate \
|
||||||
unlinkat \
|
unlinkat \
|
||||||
unsetenv \
|
unsetenv \
|
||||||
|
unveil \
|
||||||
updwtmpx \
|
updwtmpx \
|
||||||
utimensat \
|
utimensat \
|
||||||
user_from_uid \
|
user_from_uid \
|
||||||
@@ -3014,8 +3073,15 @@ nocrypto_saved_LIBS="$LIBS"
|
|||||||
if test "x$openssl" = "xyes" ; then
|
if test "x$openssl" = "xyes" ; then
|
||||||
LIBS="-lcrypto $LIBS"
|
LIBS="-lcrypto $LIBS"
|
||||||
CHANNELLIBS="-lcrypto $CHANNELLIBS"
|
CHANNELLIBS="-lcrypto $CHANNELLIBS"
|
||||||
AC_TRY_LINK_FUNC([RAND_add], ,
|
AC_TRY_LINK_FUNC([RAND_add], , [
|
||||||
[AC_MSG_ERROR([*** working libcrypto not found, check config.log])])
|
# As of early 2026, BoringSSL libcrypto needs -lstdc++ for
|
||||||
|
# destructors so try that before giving up.
|
||||||
|
LIBS="$LIBS -lstdc++"
|
||||||
|
CHANNELLIBS="$CHANNELLIBS -lstdc++"
|
||||||
|
AC_TRY_LINK_FUNC([RAND_add], , [
|
||||||
|
AC_MSG_ERROR([*** working libcrypto not found, check config.log])
|
||||||
|
])
|
||||||
|
])
|
||||||
AC_CHECK_HEADER([openssl/opensslv.h], ,
|
AC_CHECK_HEADER([openssl/opensslv.h], ,
|
||||||
[AC_MSG_ERROR([*** OpenSSL headers missing - please install first or check config.log ***])])
|
[AC_MSG_ERROR([*** OpenSSL headers missing - please install first or check config.log ***])])
|
||||||
|
|
||||||
@@ -3216,15 +3282,6 @@ if test "x$openssl" = "xyes" ; then
|
|||||||
RSA_get_default_method \
|
RSA_get_default_method \
|
||||||
])
|
])
|
||||||
|
|
||||||
# OpenSSL_add_all_algorithms may be a macro.
|
|
||||||
AC_CHECK_FUNC(OpenSSL_add_all_algorithms,
|
|
||||||
AC_DEFINE(HAVE_OPENSSL_ADD_ALL_ALGORITHMS, 1, [as a function]),
|
|
||||||
AC_CHECK_DECL(OpenSSL_add_all_algorithms,
|
|
||||||
AC_DEFINE(HAVE_OPENSSL_ADD_ALL_ALGORITHMS, 1, [as a macro]), ,
|
|
||||||
[[#include <openssl/evp.h>]]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
# LibreSSL/OpenSSL API differences
|
# LibreSSL/OpenSSL API differences
|
||||||
AC_CHECK_FUNCS([ \
|
AC_CHECK_FUNCS([ \
|
||||||
EC_POINT_get_affine_coordinates \
|
EC_POINT_get_affine_coordinates \
|
||||||
@@ -3413,6 +3470,10 @@ if test "x$openssl" = "xyes" ; then
|
|||||||
[AC_LANG_PROGRAM([[
|
[AC_LANG_PROGRAM([[
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
|
#include <openssl/opensslconf.h>
|
||||||
|
#ifdef OPENSSL_NO_EC
|
||||||
|
# error "OpenSSL has no EC support."
|
||||||
|
#endif
|
||||||
]], [[
|
]], [[
|
||||||
unsigned char buf[64];
|
unsigned char buf[64];
|
||||||
memset(buf, 0, sizeof(buf));
|
memset(buf, 0, sizeof(buf));
|
||||||
@@ -3829,6 +3890,24 @@ AC_CHECK_TYPES([nfds_t], , , [
|
|||||||
#endif
|
#endif
|
||||||
])
|
])
|
||||||
|
|
||||||
|
if test "x$ac_cv_type_nfds_t" != "xyes"; then
|
||||||
|
AC_MSG_CHECKING([if poll nfds_t is unsigned long])
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||||
|
#include <sys/types.h>
|
||||||
|
#ifdef HAVE_POLL_H
|
||||||
|
#include <poll.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_POLL_H
|
||||||
|
#include <sys/poll.h>
|
||||||
|
#endif
|
||||||
|
int poll(struct pollfd *, unsigned long, int timeout);
|
||||||
|
]], [[return poll(0, 0, 0);]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
AC_DEFINE(POLL_NFDS_T_ULONG, 1, [Define if poll 2nd arg is ulong])],
|
||||||
|
[AC_MSG_RESULT([no])]
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
# Decide which sandbox style to use
|
# Decide which sandbox style to use
|
||||||
sandbox_arg=""
|
sandbox_arg=""
|
||||||
AC_ARG_WITH([sandbox],
|
AC_ARG_WITH([sandbox],
|
||||||
@@ -5863,6 +5942,7 @@ AC_PATH_PROG([DROPBEAR], [dropbear])
|
|||||||
AC_PATH_PROG([DBCLIENT], [dbclient])
|
AC_PATH_PROG([DBCLIENT], [dbclient])
|
||||||
AC_PATH_PROG([DROPBEARKEY], [dropbearkey])
|
AC_PATH_PROG([DROPBEARKEY], [dropbearkey])
|
||||||
AC_PATH_PROG([DROPBEARCONVERT], [dropbearconvert])
|
AC_PATH_PROG([DROPBEARCONVERT], [dropbearconvert])
|
||||||
|
AC_PATH_PROG([TMUX], [tmux])
|
||||||
|
|
||||||
CFLAGS="${CFLAGS} ${CFLAGS_AFTER}"
|
CFLAGS="${CFLAGS} ${CFLAGS_AFTER}"
|
||||||
LDFLAGS="${LDFLAGS} ${LDFLAGS_AFTER}"
|
LDFLAGS="${LDFLAGS} ${LDFLAGS_AFTER}"
|
||||||
@@ -5872,6 +5952,7 @@ LDFLAGS_NOPIE=`echo "$LDFLAGS" | sed 's/^-pie //;s/ -pie//g'`
|
|||||||
CFLAGS_NOPIE=`echo "$CFLAGS" | sed 's/^-fPIE //;s/ -fPIE//g'`
|
CFLAGS_NOPIE=`echo "$CFLAGS" | sed 's/^-fPIE //;s/ -fPIE//g'`
|
||||||
AC_SUBST([LDFLAGS_NOPIE])
|
AC_SUBST([LDFLAGS_NOPIE])
|
||||||
AC_SUBST([CFLAGS_NOPIE])
|
AC_SUBST([CFLAGS_NOPIE])
|
||||||
|
AC_SUBST([COMPATINCLUDES])
|
||||||
|
|
||||||
AC_EXEEXT
|
AC_EXEEXT
|
||||||
AC_CONFIG_FILES([Makefile buildpkg.sh opensshd.init openssh.xml \
|
AC_CONFIG_FILES([Makefile buildpkg.sh opensshd.init openssh.xml \
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
%global ver 10.2p1
|
%global ver 10.3p1
|
||||||
%global rel 1%{?dist}
|
%global rel 1%{?dist}
|
||||||
|
|
||||||
# OpenSSH privilege separation requires a user & group ID
|
# OpenSSH privilege separation requires a user & group ID
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation
|
Summary: OpenSSH, a free Secure Shell (SSH) protocol implementation
|
||||||
Name: openssh
|
Name: openssh
|
||||||
Version: 10.2p1
|
Version: 10.3p1
|
||||||
URL: https://www.openssh.com/
|
URL: https://www.openssh.com/
|
||||||
Release: 1
|
Release: 1
|
||||||
Source0: openssh-%{version}.tar.gz
|
Source0: openssh-%{version}.tar.gz
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: crypto_api.h,v 1.9 2024/09/02 12:13:56 djm Exp $ */
|
/* $OpenBSD: crypto_api.h,v 1.10 2025/10/30 23:19:33 djm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Assembled from generated headers and source files by Markus Friedl.
|
* Assembled from generated headers and source files by Markus Friedl.
|
||||||
@@ -27,8 +27,34 @@ typedef uint64_t crypto_uint64;
|
|||||||
|
|
||||||
#define crypto_hash_sha512_BYTES 64U
|
#define crypto_hash_sha512_BYTES 64U
|
||||||
|
|
||||||
int crypto_hash_sha512(unsigned char *, const unsigned char *,
|
#ifdef WITH_OPENSSL
|
||||||
unsigned long long);
|
#include <openssl/evp.h>
|
||||||
|
static inline int
|
||||||
|
crypto_hash_sha512(unsigned char *out, const unsigned char *in,
|
||||||
|
unsigned long long inlen)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (!EVP_Digest(in, inlen, out, NULL, EVP_sha512(), NULL))
|
||||||
|
return -1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#else /* WITH_OPENSSL */
|
||||||
|
# ifdef HAVE_SHA2_H
|
||||||
|
# include <sha2.h>
|
||||||
|
# endif
|
||||||
|
static inline int
|
||||||
|
crypto_hash_sha512(unsigned char *out, const unsigned char *in,
|
||||||
|
unsigned long long inlen)
|
||||||
|
{
|
||||||
|
|
||||||
|
SHA2_CTX ctx;
|
||||||
|
|
||||||
|
SHA512Init(&ctx);
|
||||||
|
SHA512Update(&ctx, in, inlen);
|
||||||
|
SHA512Final(out, &ctx);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif /* WITH_OPENSSL */
|
||||||
|
|
||||||
#define crypto_sign_ed25519_SECRETKEYBYTES 64U
|
#define crypto_sign_ed25519_SECRETKEYBYTES 64U
|
||||||
#define crypto_sign_ed25519_PUBLICKEYBYTES 32U
|
#define crypto_sign_ed25519_PUBLICKEYBYTES 32U
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ enum
|
|||||||
/*
|
/*
|
||||||
* Definitions for IP type of service (ip_tos)
|
* Definitions for IP type of service (ip_tos)
|
||||||
*/
|
*/
|
||||||
#include <netinet/in_systm.h>
|
|
||||||
#include <netinet/ip.h>
|
#include <netinet/ip.h>
|
||||||
#ifndef IPTOS_LOWDELAY
|
#ifndef IPTOS_LOWDELAY
|
||||||
# define IPTOS_LOWDELAY 0x10
|
# define IPTOS_LOWDELAY 0x10
|
||||||
@@ -95,6 +94,9 @@ enum
|
|||||||
# define IPTOS_DSCP_CS6 0xc0
|
# define IPTOS_DSCP_CS6 0xc0
|
||||||
# define IPTOS_DSCP_CS7 0xe0
|
# define IPTOS_DSCP_CS7 0xe0
|
||||||
#endif /* IPTOS_DSCP_CS0 */
|
#endif /* IPTOS_DSCP_CS0 */
|
||||||
|
#ifndef IPTOS_DSCP_VA
|
||||||
|
# define IPTOS_DSCP_VA 0x2c
|
||||||
|
#endif /* IPTOS_DSCP_VA */
|
||||||
#ifndef IPTOS_DSCP_EF
|
#ifndef IPTOS_DSCP_EF
|
||||||
# define IPTOS_DSCP_EF 0xb8
|
# define IPTOS_DSCP_EF 0xb8
|
||||||
#endif /* IPTOS_DSCP_EF */
|
#endif /* IPTOS_DSCP_EF */
|
||||||
@@ -602,6 +604,10 @@ struct winsize {
|
|||||||
# define __nonnull__(x)
|
# define __nonnull__(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(HAVE_ATTRIBUTE__NONSTRING__) && !defined(__nonstring__)
|
||||||
|
# define __nonstring__
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef OSSH_ALIGNBYTES
|
#ifndef OSSH_ALIGNBYTES
|
||||||
#define OSSH_ALIGNBYTES (sizeof(int) - 1)
|
#define OSSH_ALIGNBYTES (sizeof(int) - 1)
|
||||||
#endif
|
#endif
|
||||||
@@ -977,13 +983,6 @@ struct winsize {
|
|||||||
# endif /* gcc version */
|
# endif /* gcc version */
|
||||||
#endif /* __predict_true */
|
#endif /* __predict_true */
|
||||||
|
|
||||||
#if defined(HAVE_GLOB_H) && defined(GLOB_HAS_ALTDIRFUNC) && \
|
|
||||||
defined(GLOB_HAS_GL_MATCHC) && defined(GLOB_HAS_GL_STATV) && \
|
|
||||||
defined(HAVE_DECL_GLOB_NOMATCH) && HAVE_DECL_GLOB_NOMATCH != 0 && \
|
|
||||||
!defined(BROKEN_GLOB)
|
|
||||||
# define USE_SYSTEM_GLOB
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* sntrup761 uses variable length arrays and c99-style declarations after code,
|
* sntrup761 uses variable length arrays and c99-style declarations after code,
|
||||||
* so only enable if the compiler supports them.
|
* so only enable if the compiler supports them.
|
||||||
|
|||||||
+2
-3
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: dh.c,v 1.75 2024/12/03 16:27:53 dtucker Exp $ */
|
/* $OpenBSD: dh.c,v 1.76 2026/02/08 19:54:31 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Niels Provos. All rights reserved.
|
* Copyright (c) 2000 Niels Provos. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -26,6 +26,7 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
|
#include "openbsd-compat/openssl-compat.h"
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@@ -43,8 +44,6 @@
|
|||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
|
|
||||||
#include "openbsd-compat/openssl-compat.h"
|
|
||||||
|
|
||||||
static const char *moduli_filename;
|
static const char *moduli_filename;
|
||||||
|
|
||||||
void dh_set_moduli_file(const char *filename)
|
void dh_set_moduli_file(const char *filename)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: digest-libc.c,v 1.8 2025/09/05 09:31:31 dtucker Exp $ */
|
/* $OpenBSD: digest-libc.c,v 1.10 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013 Damien Miller <djm@mindrot.org>
|
* Copyright (c) 2013 Damien Miller <djm@mindrot.org>
|
||||||
* Copyright (c) 2014 Markus Friedl. All rights reserved.
|
* Copyright (c) 2014 Markus Friedl. All rights reserved.
|
||||||
@@ -50,8 +50,8 @@
|
|||||||
#include "digest.h"
|
#include "digest.h"
|
||||||
|
|
||||||
typedef void md_init_fn(void *mdctx);
|
typedef void md_init_fn(void *mdctx);
|
||||||
typedef void md_update_fn(void *mdctx, const u_int8_t *m, size_t mlen);
|
typedef void md_update_fn(void *mdctx, const uint8_t *m, size_t mlen);
|
||||||
typedef void md_final_fn(u_int8_t[], void *mdctx);
|
typedef void md_final_fn(uint8_t[], void *mdctx);
|
||||||
|
|
||||||
struct ssh_digest_ctx {
|
struct ssh_digest_ctx {
|
||||||
int alg;
|
int alg;
|
||||||
@@ -248,14 +248,15 @@ int
|
|||||||
ssh_digest_memory(int alg, const void *m, size_t mlen, u_char *d, size_t dlen)
|
ssh_digest_memory(int alg, const void *m, size_t mlen, u_char *d, size_t dlen)
|
||||||
{
|
{
|
||||||
struct ssh_digest_ctx *ctx = ssh_digest_start(alg);
|
struct ssh_digest_ctx *ctx = ssh_digest_start(alg);
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
if (ctx == NULL)
|
if (ctx == NULL)
|
||||||
return SSH_ERR_INVALID_ARGUMENT;
|
return SSH_ERR_INVALID_ARGUMENT;
|
||||||
if (ssh_digest_update(ctx, m, mlen) != 0 ||
|
if (ssh_digest_update(ctx, m, mlen) != 0 ||
|
||||||
ssh_digest_final(ctx, d, dlen) != 0)
|
ssh_digest_final(ctx, d, dlen) != 0)
|
||||||
return SSH_ERR_INVALID_ARGUMENT;
|
ret = SSH_ERR_INVALID_ARGUMENT;
|
||||||
ssh_digest_free(ctx);
|
ssh_digest_free(ctx);
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: dispatch.c,v 1.34 2025/05/21 06:44:24 djm Exp $ */
|
/* $OpenBSD: dispatch.c,v 1.35 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
|
|
||||||
int
|
int
|
||||||
dispatch_protocol_error(int type, u_int32_t seq, struct ssh *ssh)
|
dispatch_protocol_error(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@ dispatch_protocol_error(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
dispatch_protocol_ignore(int type, u_int32_t seq, struct ssh *ssh)
|
dispatch_protocol_ignore(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
logit_f("type %d seq %u", type, seq);
|
logit_f("type %d seq %u", type, seq);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -88,7 +88,7 @@ ssh_dispatch_run(struct ssh *ssh, int mode, volatile sig_atomic_t *done)
|
|||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
u_char type;
|
u_char type;
|
||||||
u_int32_t seqnr;
|
uint32_t seqnr;
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (mode == DISPATCH_BLOCK) {
|
if (mode == DISPATCH_BLOCK) {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: dispatch.h,v 1.15 2019/01/19 21:45:31 djm Exp $ */
|
/* $OpenBSD: dispatch.h,v 1.16 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||||
@@ -36,10 +36,10 @@ enum {
|
|||||||
|
|
||||||
struct ssh;
|
struct ssh;
|
||||||
|
|
||||||
typedef int dispatch_fn(int, u_int32_t, struct ssh *);
|
typedef int dispatch_fn(int, uint32_t, struct ssh *);
|
||||||
|
|
||||||
int dispatch_protocol_error(int, u_int32_t, struct ssh *);
|
int dispatch_protocol_error(int, uint32_t, struct ssh *);
|
||||||
int dispatch_protocol_ignore(int, u_int32_t, struct ssh *);
|
int dispatch_protocol_ignore(int, uint32_t, struct ssh *);
|
||||||
void ssh_dispatch_init(struct ssh *, dispatch_fn *);
|
void ssh_dispatch_init(struct ssh *, dispatch_fn *);
|
||||||
void ssh_dispatch_set(struct ssh *, int, dispatch_fn *);
|
void ssh_dispatch_set(struct ssh *, int, dispatch_fn *);
|
||||||
void ssh_dispatch_range(struct ssh *, u_int, u_int, dispatch_fn *);
|
void ssh_dispatch_range(struct ssh *, u_int, u_int, dispatch_fn *);
|
||||||
|
|||||||
+9
-10
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: dns.c,v 1.46 2025/08/29 03:50:38 djm Exp $ */
|
/* $OpenBSD: dns.c,v 1.48 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003 Wesley Griffin. All rights reserved.
|
* Copyright (c) 2003 Wesley Griffin. All rights reserved.
|
||||||
@@ -38,7 +38,6 @@
|
|||||||
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
#include "sshkey.h"
|
#include "sshkey.h"
|
||||||
#include "ssherr.h"
|
|
||||||
#include "dns.h"
|
#include "dns.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "digest.h"
|
#include "digest.h"
|
||||||
@@ -78,7 +77,7 @@ dns_result_totext(unsigned int res)
|
|||||||
* Caller must free digest which is allocated by sshkey_fingerprint_raw().
|
* Caller must free digest which is allocated by sshkey_fingerprint_raw().
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
dns_read_key(u_int8_t *algorithm, u_int8_t *digest_type,
|
dns_read_key(uint8_t *algorithm, uint8_t *digest_type,
|
||||||
u_char **digest, size_t *digest_len, struct sshkey *key)
|
u_char **digest, size_t *digest_len, struct sshkey *key)
|
||||||
{
|
{
|
||||||
int r, success = 0;
|
int r, success = 0;
|
||||||
@@ -126,7 +125,7 @@ dns_read_key(u_int8_t *algorithm, u_int8_t *digest_type,
|
|||||||
* Read SSHFP parameters from rdata buffer.
|
* Read SSHFP parameters from rdata buffer.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
dns_read_rdata(u_int8_t *algorithm, u_int8_t *digest_type,
|
dns_read_rdata(uint8_t *algorithm, uint8_t *digest_type,
|
||||||
u_char **digest, size_t *digest_len, u_char *rdata, int rdata_len)
|
u_char **digest, size_t *digest_len, u_char *rdata, int rdata_len)
|
||||||
{
|
{
|
||||||
int success = 0;
|
int success = 0;
|
||||||
@@ -194,12 +193,12 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address,
|
|||||||
int result;
|
int result;
|
||||||
struct rrsetinfo *fingerprints = NULL;
|
struct rrsetinfo *fingerprints = NULL;
|
||||||
|
|
||||||
u_int8_t hostkey_algorithm;
|
uint8_t hostkey_algorithm;
|
||||||
u_char *hostkey_digest;
|
u_char *hostkey_digest;
|
||||||
size_t hostkey_digest_len;
|
size_t hostkey_digest_len;
|
||||||
|
|
||||||
u_int8_t dnskey_algorithm;
|
uint8_t dnskey_algorithm;
|
||||||
u_int8_t dnskey_digest_type;
|
uint8_t dnskey_digest_type;
|
||||||
u_char *dnskey_digest;
|
u_char *dnskey_digest;
|
||||||
size_t dnskey_digest_len;
|
size_t dnskey_digest_len;
|
||||||
|
|
||||||
@@ -299,9 +298,9 @@ int
|
|||||||
export_dns_rr(const char *hostname, struct sshkey *key, FILE *f, int generic,
|
export_dns_rr(const char *hostname, struct sshkey *key, FILE *f, int generic,
|
||||||
int alg)
|
int alg)
|
||||||
{
|
{
|
||||||
u_int8_t rdata_pubkey_algorithm = 0;
|
uint8_t rdata_pubkey_algorithm = 0;
|
||||||
u_int8_t rdata_digest_type = SSHFP_HASH_RESERVED;
|
uint8_t rdata_digest_type = SSHFP_HASH_RESERVED;
|
||||||
u_int8_t dtype;
|
uint8_t dtype;
|
||||||
u_char *rdata_digest;
|
u_char *rdata_digest;
|
||||||
size_t i, rdata_digest_len;
|
size_t i, rdata_digest_len;
|
||||||
int success = 0;
|
int success = 0;
|
||||||
|
|||||||
@@ -0,0 +1,207 @@
|
|||||||
|
/* $OpenBSD: ed25519-openssl.c,v 1.1 2025/10/30 20:49:10 djm Exp $ */
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2025 OpenSSH
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
* copyright notice and this permission notice appear in all copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* OpenSSL-based implementation of Ed25519 crypto_sign API
|
||||||
|
* Alternative to the internal SUPERCOP-based implementation in ed25519.c
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "includes.h"
|
||||||
|
|
||||||
|
#ifdef OPENSSL_HAS_ED25519
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
|
#include <openssl/evp.h>
|
||||||
|
|
||||||
|
#include "crypto_api.h"
|
||||||
|
#include "log.h"
|
||||||
|
|
||||||
|
#if crypto_sign_ed25519_SECRETKEYBYTES <= crypto_sign_ed25519_PUBLICKEYBYTES
|
||||||
|
#error "crypto_sign_ed25519_SECRETKEYBYTES < crypto_sign_ed25519_PUBLICKEYBYTES"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define SSH_ED25519_RAW_SECRET_KEY_LEN \
|
||||||
|
(crypto_sign_ed25519_SECRETKEYBYTES - crypto_sign_ed25519_PUBLICKEYBYTES)
|
||||||
|
|
||||||
|
int
|
||||||
|
crypto_sign_ed25519_keypair(unsigned char *pk, unsigned char *sk)
|
||||||
|
{
|
||||||
|
EVP_PKEY_CTX *ctx = NULL;
|
||||||
|
EVP_PKEY *pkey = NULL;
|
||||||
|
size_t pklen, sklen;
|
||||||
|
int ret = -1;
|
||||||
|
|
||||||
|
if ((ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_ED25519, NULL)) == NULL) {
|
||||||
|
debug3_f("EVP_PKEY_CTX_new_id failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if (EVP_PKEY_keygen_init(ctx) <= 0) {
|
||||||
|
debug3_f("EVP_PKEY_keygen_init failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if (EVP_PKEY_keygen(ctx, &pkey) <= 0) {
|
||||||
|
debug3_f("EVP_PKEY_keygen failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Extract public key */
|
||||||
|
pklen = crypto_sign_ed25519_PUBLICKEYBYTES;
|
||||||
|
if (!EVP_PKEY_get_raw_public_key(pkey, pk, &pklen)) {
|
||||||
|
debug3_f("EVP_PKEY_get_raw_public_key failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if (pklen != crypto_sign_ed25519_PUBLICKEYBYTES) {
|
||||||
|
debug3_f("public key length mismatch: %zu", pklen);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
sklen = SSH_ED25519_RAW_SECRET_KEY_LEN;
|
||||||
|
/* Extract private key (32 bytes seed) */
|
||||||
|
if (!EVP_PKEY_get_raw_private_key(pkey, sk, &sklen)) {
|
||||||
|
debug3_f("EVP_PKEY_get_raw_private_key failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if (sklen != SSH_ED25519_RAW_SECRET_KEY_LEN) {
|
||||||
|
debug3_f("private key length mismatch: %zu", sklen);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Append public key to secret key (SUPERCOP format compatibility) */
|
||||||
|
memcpy(sk + sklen, pk, crypto_sign_ed25519_PUBLICKEYBYTES);
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
out:
|
||||||
|
EVP_PKEY_free(pkey);
|
||||||
|
EVP_PKEY_CTX_free(ctx);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
crypto_sign_ed25519(unsigned char *sm, unsigned long long *smlen,
|
||||||
|
const unsigned char *m, unsigned long long mlen,
|
||||||
|
const unsigned char *sk)
|
||||||
|
{
|
||||||
|
EVP_PKEY *pkey = NULL;
|
||||||
|
EVP_MD_CTX *mdctx = NULL;
|
||||||
|
size_t siglen;
|
||||||
|
int ret = -1;
|
||||||
|
|
||||||
|
/* Create EVP_PKEY from secret key (first 32 bytes are the seed) */
|
||||||
|
if ((pkey = EVP_PKEY_new_raw_private_key(EVP_PKEY_ED25519, NULL,
|
||||||
|
sk, SSH_ED25519_RAW_SECRET_KEY_LEN)) == NULL) {
|
||||||
|
debug3_f("EVP_PKEY_new_raw_private_key failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sign the message */
|
||||||
|
if ((mdctx = EVP_MD_CTX_new()) == NULL) {
|
||||||
|
debug3_f("EVP_MD_CTX_new failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if (EVP_DigestSignInit(mdctx, NULL, NULL, NULL, pkey) != 1) {
|
||||||
|
debug3_f("EVP_DigestSignInit failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
siglen = crypto_sign_ed25519_BYTES;
|
||||||
|
if (EVP_DigestSign(mdctx, sm, &siglen, m, mlen) != 1) {
|
||||||
|
debug3_f("EVP_DigestSign failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if (siglen != crypto_sign_ed25519_BYTES) {
|
||||||
|
debug3_f("signature length mismatch: %zu", siglen);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Append message after signature (SUPERCOP format) */
|
||||||
|
if (mlen > ULLONG_MAX - siglen) {
|
||||||
|
debug3_f("message length overflow: siglen=%zu mlen=%llu",
|
||||||
|
siglen, mlen);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
memmove(sm + siglen, m, mlen);
|
||||||
|
*smlen = siglen + mlen;
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
out:
|
||||||
|
EVP_MD_CTX_free(mdctx);
|
||||||
|
EVP_PKEY_free(pkey);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
crypto_sign_ed25519_open(unsigned char *m, unsigned long long *mlen,
|
||||||
|
const unsigned char *sm, unsigned long long smlen,
|
||||||
|
const unsigned char *pk)
|
||||||
|
{
|
||||||
|
EVP_PKEY *pkey = NULL;
|
||||||
|
EVP_MD_CTX *mdctx = NULL;
|
||||||
|
int ret = -1;
|
||||||
|
const unsigned char *msg;
|
||||||
|
size_t msglen;
|
||||||
|
|
||||||
|
if (smlen < crypto_sign_ed25519_BYTES) {
|
||||||
|
debug3_f("signed message bad length: %llu", smlen);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
/* Signature is first crypto_sign_ed25519_BYTES, message follows */
|
||||||
|
msg = sm + crypto_sign_ed25519_BYTES;
|
||||||
|
msglen = smlen - crypto_sign_ed25519_BYTES;
|
||||||
|
|
||||||
|
/* Make sure the message buffer is big enough. */
|
||||||
|
if (*mlen < msglen) {
|
||||||
|
debug_f("message bad length: %llu", *mlen);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Create EVP_PKEY from public key */
|
||||||
|
if ((pkey = EVP_PKEY_new_raw_public_key(EVP_PKEY_ED25519, NULL,
|
||||||
|
pk, crypto_sign_ed25519_PUBLICKEYBYTES)) == NULL) {
|
||||||
|
debug3_f("EVP_PKEY_new_raw_public_key failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((mdctx = EVP_MD_CTX_new()) == NULL) {
|
||||||
|
debug3_f("EVP_MD_CTX_new failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if (EVP_DigestVerifyInit(mdctx, NULL, NULL, NULL, pkey) <= 0) {
|
||||||
|
debug3_f("EVP_DigestVerifyInit failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
if (EVP_DigestVerify(mdctx, sm, crypto_sign_ed25519_BYTES,
|
||||||
|
msg, msglen) != 1) {
|
||||||
|
debug3_f("EVP_DigestVerify failed");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Copy message out */
|
||||||
|
*mlen = msglen;
|
||||||
|
memmove(m, msg, msglen);
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
out:
|
||||||
|
EVP_MD_CTX_free(mdctx);
|
||||||
|
EVP_PKEY_free(pkey);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* OPENSSL_HAS_ED25519 */
|
||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
|
#ifndef OPENSSL_HAS_ED25519
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "crypto_api.h"
|
#include "crypto_api.h"
|
||||||
@@ -2028,3 +2030,5 @@ badsig:
|
|||||||
memset(m,0,smlen);
|
memset(m,0,smlen);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* OPENSSL_HAS_ED25519 */
|
||||||
|
|||||||
@@ -64,7 +64,8 @@ seed_rng(void)
|
|||||||
unsigned char buf[RANDOM_SEED_SIZE];
|
unsigned char buf[RANDOM_SEED_SIZE];
|
||||||
|
|
||||||
/* Initialise libcrypto */
|
/* Initialise libcrypto */
|
||||||
ssh_libcrypto_init();
|
if (ssh_libcrypto_init() != 1)
|
||||||
|
fatal("libcrypto failed to initialize.");
|
||||||
|
|
||||||
if (!ssh_compatible_openssl(OPENSSL_VERSION_NUMBER,
|
if (!ssh_compatible_openssl(OPENSSL_VERSION_NUMBER,
|
||||||
OpenSSL_version_num()))
|
OpenSSL_version_num()))
|
||||||
@@ -107,3 +108,24 @@ seed_rng(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif /* WITH_OPENSSL */
|
#endif /* WITH_OPENSSL */
|
||||||
|
|
||||||
|
void
|
||||||
|
reseed_prngs(void)
|
||||||
|
{
|
||||||
|
uint32_t rnd[256];
|
||||||
|
|
||||||
|
#ifdef WITH_OPENSSL
|
||||||
|
RAND_poll();
|
||||||
|
#endif
|
||||||
|
arc4random_stir(); /* noop on recent arc4random() implementations */
|
||||||
|
arc4random_buf(rnd, sizeof(rnd)); /* let arc4random notice PID change */
|
||||||
|
|
||||||
|
#ifdef WITH_OPENSSL
|
||||||
|
RAND_seed(rnd, sizeof(rnd));
|
||||||
|
/* give libcrypto a chance to notice the PID change */
|
||||||
|
if ((RAND_bytes((u_char *)rnd, 1)) != 1)
|
||||||
|
fatal_f("RAND_bytes failed");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
explicit_bzero(rnd, sizeof(rnd));
|
||||||
|
}
|
||||||
|
|||||||
@@ -22,13 +22,12 @@
|
|||||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _RANDOMS_H
|
#ifndef _ENTROPY_H
|
||||||
#define _RANDOMS_H
|
#define _ENTROPY_H
|
||||||
|
|
||||||
struct sshbuf;
|
struct sshbuf;
|
||||||
|
|
||||||
void seed_rng(void);
|
void seed_rng(void);
|
||||||
void rexec_send_rng_seed(struct sshbuf *);
|
void reseed_prngs(void);
|
||||||
void rexec_recv_rng_seed(struct sshbuf *);
|
|
||||||
|
|
||||||
#endif /* _RANDOMS_H */
|
#endif /* _ENTROPY_H */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: gss-genr.c,v 1.30 2025/09/29 21:28:33 dtucker Exp $ */
|
/* $OpenBSD: gss-genr.c,v 1.31 2026/02/08 19:54:31 dtucker Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
|
* Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: gss-serv-krb5.c,v 1.9 2018/07/09 21:37:55 markus Exp $ */
|
/* $OpenBSD: gss-serv-krb5.c,v 1.10 2026/02/08 15:28:01 dtucker Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
|
* Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: gss-serv.c,v 1.33 2025/09/29 21:30:15 dtucker Exp $ */
|
/* $OpenBSD: gss-serv.c,v 1.37 2026/02/11 16:57:38 dtucker Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
|
* Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
|
||||||
@@ -30,12 +30,13 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
|
#include <sys/queue.h>
|
||||||
|
|
||||||
|
#include <netdb.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "openbsd-compat/sys-queue.h"
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
#include "sshkey.h"
|
#include "sshkey.h"
|
||||||
#include "hostfile.h"
|
#include "hostfile.h"
|
||||||
@@ -106,7 +107,7 @@ ssh_gssapi_acquire_cred(Gssctxt *ctx)
|
|||||||
gss_create_empty_oid_set(&status, &oidset);
|
gss_create_empty_oid_set(&status, &oidset);
|
||||||
gss_add_oid_set_member(&status, ctx->oid, &oidset);
|
gss_add_oid_set_member(&status, ctx->oid, &oidset);
|
||||||
|
|
||||||
if (gethostname(lname, HOST_NAME_MAX)) {
|
if (gethostname(lname, sizeof(lname))) {
|
||||||
gss_release_oid_set(&status, &oidset);
|
gss_release_oid_set(&status, &oidset);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
@@ -332,6 +333,11 @@ ssh_gssapi_cleanup_creds(void)
|
|||||||
void
|
void
|
||||||
ssh_gssapi_storecreds(void)
|
ssh_gssapi_storecreds(void)
|
||||||
{
|
{
|
||||||
|
if (options.gss_deleg_creds == 0) {
|
||||||
|
debug_f("delegate credential is disabled, doing nothing");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (gssapi_client.mech && gssapi_client.mech->storecreds) {
|
if (gssapi_client.mech && gssapi_client.mech->storecreds) {
|
||||||
(*gssapi_client.mech->storecreds)(&gssapi_client);
|
(*gssapi_client.mech->storecreds)(&gssapi_client);
|
||||||
} else
|
} else
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
/* $OpenBSD: hash.c,v 1.6 2019/11/29 00:11:21 djm Exp $ */
|
|
||||||
/*
|
|
||||||
* Public domain. Author: Christian Weisgerber <naddy@openbsd.org>
|
|
||||||
* API compatible reimplementation of function from nacl
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "includes.h"
|
|
||||||
|
|
||||||
#include "crypto_api.h"
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
|
||||||
|
|
||||||
#ifdef WITH_OPENSSL
|
|
||||||
#include <openssl/evp.h>
|
|
||||||
|
|
||||||
int
|
|
||||||
crypto_hash_sha512(unsigned char *out, const unsigned char *in,
|
|
||||||
unsigned long long inlen)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (!EVP_Digest(in, inlen, out, NULL, EVP_sha512(), NULL))
|
|
||||||
return -1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
# ifdef HAVE_SHA2_H
|
|
||||||
# include <sha2.h>
|
|
||||||
# endif
|
|
||||||
|
|
||||||
int
|
|
||||||
crypto_hash_sha512(unsigned char *out, const unsigned char *in,
|
|
||||||
unsigned long long inlen)
|
|
||||||
{
|
|
||||||
|
|
||||||
SHA2_CTX ctx;
|
|
||||||
|
|
||||||
SHA512Init(&ctx);
|
|
||||||
SHA512Update(&ctx, in, inlen);
|
|
||||||
SHA512Final(out, &ctx);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif /* WITH_OPENSSL */
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: hmac.c,v 1.15 2025/09/05 09:49:26 dtucker Exp $ */
|
/* $OpenBSD: hmac.c,v 1.16 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014 Markus Friedl. All rights reserved.
|
* Copyright (c) 2014 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "sshbuf.h"
|
|
||||||
#include "digest.h"
|
#include "digest.h"
|
||||||
#include "hmac.h"
|
#include "hmac.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: hostfile.c,v 1.99 2025/05/06 05:40:56 djm Exp $ */
|
/* $OpenBSD: hostfile.c,v 1.100 2025/11/25 00:57:04 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@@ -626,7 +626,7 @@ hostfile_replace_entries(const char *filename, const char *host, const char *ip,
|
|||||||
int r, fd, oerrno = 0;
|
int r, fd, oerrno = 0;
|
||||||
int loglevel = quiet ? SYSLOG_LEVEL_DEBUG1 : SYSLOG_LEVEL_VERBOSE;
|
int loglevel = quiet ? SYSLOG_LEVEL_DEBUG1 : SYSLOG_LEVEL_VERBOSE;
|
||||||
struct host_delete_ctx ctx;
|
struct host_delete_ctx ctx;
|
||||||
char *fp, *temp = NULL, *back = NULL;
|
char *fp = NULL, *temp = NULL, *back = NULL;
|
||||||
const char *what;
|
const char *what;
|
||||||
mode_t omask;
|
mode_t omask;
|
||||||
size_t i;
|
size_t i;
|
||||||
@@ -715,6 +715,7 @@ hostfile_replace_entries(const char *filename, const char *host, const char *ip,
|
|||||||
host, ip == NULL ? "" : ",", ip == NULL ? "" : ip, filename,
|
host, ip == NULL ? "" : ",", ip == NULL ? "" : ip, filename,
|
||||||
sshkey_ssh_name(keys[i]), fp);
|
sshkey_ssh_name(keys[i]), fp);
|
||||||
free(fp);
|
free(fp);
|
||||||
|
fp = NULL;
|
||||||
ctx.modified = 1;
|
ctx.modified = 1;
|
||||||
}
|
}
|
||||||
fclose(ctx.out);
|
fclose(ctx.out);
|
||||||
@@ -755,6 +756,7 @@ hostfile_replace_entries(const char *filename, const char *host, const char *ip,
|
|||||||
unlink(temp);
|
unlink(temp);
|
||||||
free(temp);
|
free(temp);
|
||||||
free(back);
|
free(back);
|
||||||
|
free(fp);
|
||||||
if (ctx.out != NULL)
|
if (ctx.out != NULL)
|
||||||
fclose(ctx.out);
|
fclose(ctx.out);
|
||||||
free(ctx.match_keys);
|
free(ctx.match_keys);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: kex-names.c,v 1.6 2025/09/02 11:08:34 djm Exp $ */
|
/* $OpenBSD: kex-names.c,v 1.7 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -28,7 +28,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
@@ -43,7 +42,6 @@
|
|||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
#include "xmalloc.h"
|
|
||||||
|
|
||||||
struct kexalg {
|
struct kexalg {
|
||||||
char *name;
|
char *name;
|
||||||
|
|||||||
+16
-10
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: kex.c,v 1.189 2025/09/15 04:40:34 djm Exp $ */
|
/* $OpenBSD: kex.c,v 1.193 2026/03/05 05:40:35 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -33,7 +33,6 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <poll.h>
|
|
||||||
|
|
||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
#include <openssl/crypto.h>
|
#include <openssl/crypto.h>
|
||||||
@@ -54,7 +53,6 @@
|
|||||||
#include "match.h"
|
#include "match.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "dispatch.h"
|
#include "dispatch.h"
|
||||||
#include "monitor.h"
|
|
||||||
#include "myproposal.h"
|
#include "myproposal.h"
|
||||||
|
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
@@ -64,7 +62,7 @@
|
|||||||
|
|
||||||
/* prototype */
|
/* prototype */
|
||||||
static int kex_choose_conf(struct ssh *, uint32_t seq);
|
static int kex_choose_conf(struct ssh *, uint32_t seq);
|
||||||
static int kex_input_newkeys(int, u_int32_t, struct ssh *);
|
static int kex_input_newkeys(int, uint32_t, struct ssh *);
|
||||||
|
|
||||||
static const char * const proposal_names[PROPOSAL_MAX] = {
|
static const char * const proposal_names[PROPOSAL_MAX] = {
|
||||||
"KEX algorithms",
|
"KEX algorithms",
|
||||||
@@ -231,7 +229,7 @@ kex_prop_free(char **proposal)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
kex_protocol_error(int type, u_int32_t seq, struct ssh *ssh)
|
kex_protocol_error(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
@@ -299,13 +297,15 @@ kex_compose_ext_info_server(struct ssh *ssh, struct sshbuf *m)
|
|||||||
if (ssh->kex->server_sig_algs == NULL &&
|
if (ssh->kex->server_sig_algs == NULL &&
|
||||||
(ssh->kex->server_sig_algs = sshkey_alg_list(0, 1, 1, ',')) == NULL)
|
(ssh->kex->server_sig_algs = sshkey_alg_list(0, 1, 1, ',')) == NULL)
|
||||||
return SSH_ERR_ALLOC_FAIL;
|
return SSH_ERR_ALLOC_FAIL;
|
||||||
if ((r = sshbuf_put_u32(m, 3)) != 0 ||
|
if ((r = sshbuf_put_u32(m, 4)) != 0 ||
|
||||||
(r = sshbuf_put_cstring(m, "server-sig-algs")) != 0 ||
|
(r = sshbuf_put_cstring(m, "server-sig-algs")) != 0 ||
|
||||||
(r = sshbuf_put_cstring(m, ssh->kex->server_sig_algs)) != 0 ||
|
(r = sshbuf_put_cstring(m, ssh->kex->server_sig_algs)) != 0 ||
|
||||||
(r = sshbuf_put_cstring(m,
|
(r = sshbuf_put_cstring(m,
|
||||||
"publickey-hostbound@openssh.com")) != 0 ||
|
"publickey-hostbound@openssh.com")) != 0 ||
|
||||||
(r = sshbuf_put_cstring(m, "0")) != 0 ||
|
(r = sshbuf_put_cstring(m, "0")) != 0 ||
|
||||||
(r = sshbuf_put_cstring(m, "ping@openssh.com")) != 0 ||
|
(r = sshbuf_put_cstring(m, "ping@openssh.com")) != 0 ||
|
||||||
|
(r = sshbuf_put_cstring(m, "0")) != 0 ||
|
||||||
|
(r = sshbuf_put_cstring(m, "agent-forward")) != 0 ||
|
||||||
(r = sshbuf_put_cstring(m, "0")) != 0) {
|
(r = sshbuf_put_cstring(m, "0")) != 0) {
|
||||||
error_fr(r, "compose");
|
error_fr(r, "compose");
|
||||||
return r;
|
return r;
|
||||||
@@ -449,6 +449,12 @@ kex_ext_info_client_parse(struct ssh *ssh, const char *name,
|
|||||||
"0", KEX_HAS_PING)) != 0) {
|
"0", KEX_HAS_PING)) != 0) {
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
} else if (ssh->kex->ext_info_received == 1 &&
|
||||||
|
strcmp(name, "agent-forward") == 0) {
|
||||||
|
if ((r = kex_ext_info_check_ver(ssh->kex, name, value, vlen,
|
||||||
|
"0", KEX_HAS_NEWAGENT)) != 0) {
|
||||||
|
return r;
|
||||||
|
}
|
||||||
} else
|
} else
|
||||||
debug_f("%s (unrecognised)", name);
|
debug_f("%s (unrecognised)", name);
|
||||||
|
|
||||||
@@ -472,11 +478,11 @@ kex_ext_info_server_parse(struct ssh *ssh, const char *name,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
kex_input_ext_info(int type, u_int32_t seq, struct ssh *ssh)
|
kex_input_ext_info(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct kex *kex = ssh->kex;
|
struct kex *kex = ssh->kex;
|
||||||
const int max_ext_info = kex->server ? 1 : 2;
|
const int max_ext_info = kex->server ? 1 : 2;
|
||||||
u_int32_t i, ninfo;
|
uint32_t i, ninfo;
|
||||||
char *name;
|
char *name;
|
||||||
u_char *val;
|
u_char *val;
|
||||||
size_t vlen;
|
size_t vlen;
|
||||||
@@ -519,7 +525,7 @@ kex_input_ext_info(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
kex_input_newkeys(int type, u_int32_t seq, struct ssh *ssh)
|
kex_input_newkeys(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct kex *kex = ssh->kex;
|
struct kex *kex = ssh->kex;
|
||||||
int r, initial = (kex->flags & KEX_INITIAL) != 0;
|
int r, initial = (kex->flags & KEX_INITIAL) != 0;
|
||||||
@@ -603,7 +609,7 @@ kex_send_kexinit(struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
kex_input_kexinit(int type, u_int32_t seq, struct ssh *ssh)
|
kex_input_kexinit(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct kex *kex = ssh->kex;
|
struct kex *kex = ssh->kex;
|
||||||
const u_char *ptr;
|
const u_char *ptr;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: kex.h,v 1.127 2025/08/11 10:55:38 djm Exp $ */
|
/* $OpenBSD: kex.h,v 1.129 2026/03/05 05:40:36 djm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
|
||||||
@@ -114,6 +114,7 @@ enum kex_exchange {
|
|||||||
#define KEX_RSA_SHA2_512_SUPPORTED 0x0010 /* only set in server for now */
|
#define KEX_RSA_SHA2_512_SUPPORTED 0x0010 /* only set in server for now */
|
||||||
#define KEX_HAS_PING 0x0020
|
#define KEX_HAS_PING 0x0020
|
||||||
#define KEX_HAS_EXT_INFO_IN_AUTH 0x0040
|
#define KEX_HAS_EXT_INFO_IN_AUTH 0x0040
|
||||||
|
#define KEX_HAS_NEWAGENT 0x0080 /* only set in client */
|
||||||
|
|
||||||
/* kex->pq */
|
/* kex->pq */
|
||||||
#define KEX_NOT_PQ 0
|
#define KEX_NOT_PQ 0
|
||||||
@@ -218,9 +219,9 @@ int kex_load_hostkey(struct ssh *, struct sshkey **, struct sshkey **);
|
|||||||
int kex_verify_host_key(struct ssh *, struct sshkey *);
|
int kex_verify_host_key(struct ssh *, struct sshkey *);
|
||||||
|
|
||||||
int kex_send_kexinit(struct ssh *);
|
int kex_send_kexinit(struct ssh *);
|
||||||
int kex_input_kexinit(int, u_int32_t, struct ssh *);
|
int kex_input_kexinit(int, uint32_t, struct ssh *);
|
||||||
int kex_input_ext_info(int, u_int32_t, struct ssh *);
|
int kex_input_ext_info(int, uint32_t, struct ssh *);
|
||||||
int kex_protocol_error(int, u_int32_t, struct ssh *);
|
int kex_protocol_error(int, uint32_t, struct ssh *);
|
||||||
int kex_derive_keys(struct ssh *, u_char *, u_int, const struct sshbuf *);
|
int kex_derive_keys(struct ssh *, u_char *, u_int, const struct sshbuf *);
|
||||||
int kex_send_newkeys(struct ssh *);
|
int kex_send_newkeys(struct ssh *);
|
||||||
int kex_start_rekex(struct ssh *);
|
int kex_start_rekex(struct ssh *);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: kexdh.c,v 1.35 2025/10/03 00:08:02 djm Exp $ */
|
/* $OpenBSD: kexdh.c,v 1.36 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2019 Markus Friedl. All rights reserved.
|
* Copyright (c) 2019 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -26,21 +26,18 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
|
#include "openbsd-compat/openssl-compat.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
#include "openbsd-compat/openssl-compat.h"
|
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
#include <openssl/dh.h>
|
#include <openssl/dh.h>
|
||||||
|
|
||||||
#include "sshkey.h"
|
|
||||||
#include "kex.h"
|
#include "kex.h"
|
||||||
#include "sshbuf.h"
|
#include "sshbuf.h"
|
||||||
#include "digest.h"
|
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
#include "dh.h"
|
#include "dh.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: kexecdh.c,v 1.11 2025/10/03 00:08:02 djm Exp $ */
|
/* $OpenBSD: kexecdh.c,v 1.12 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2010 Damien Miller. All rights reserved.
|
* Copyright (c) 2010 Damien Miller. All rights reserved.
|
||||||
* Copyright (c) 2019 Markus Friedl. All rights reserved.
|
* Copyright (c) 2019 Markus Friedl. All rights reserved.
|
||||||
@@ -31,7 +31,6 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
@@ -40,7 +39,6 @@
|
|||||||
#include "sshkey.h"
|
#include "sshkey.h"
|
||||||
#include "kex.h"
|
#include "kex.h"
|
||||||
#include "sshbuf.h"
|
#include "sshbuf.h"
|
||||||
#include "digest.h"
|
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: kexgen.c,v 1.10 2024/09/09 02:39:57 djm Exp $ */
|
/* $OpenBSD: kexgen.c,v 1.12 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2019 Markus Friedl. All rights reserved.
|
* Copyright (c) 2019 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -41,8 +41,8 @@
|
|||||||
#include "digest.h"
|
#include "digest.h"
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
|
|
||||||
static int input_kex_gen_init(int, u_int32_t, struct ssh *);
|
static int input_kex_gen_init(int, uint32_t, struct ssh *);
|
||||||
static int input_kex_gen_reply(int type, u_int32_t seq, struct ssh *ssh);
|
static int input_kex_gen_reply(int type, uint32_t seq, struct ssh *ssh);
|
||||||
|
|
||||||
static int
|
static int
|
||||||
kex_gen_hash(
|
kex_gen_hash(
|
||||||
@@ -139,7 +139,7 @@ kex_gen_client(struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_kex_gen_reply(int type, u_int32_t seq, struct ssh *ssh)
|
input_kex_gen_reply(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct kex *kex = ssh->kex;
|
struct kex *kex = ssh->kex;
|
||||||
struct sshkey *server_host_key = NULL;
|
struct sshkey *server_host_key = NULL;
|
||||||
@@ -272,7 +272,7 @@ kex_gen_server(struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_kex_gen_init(int type, u_int32_t seq, struct ssh *ssh)
|
input_kex_gen_init(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct kex *kex = ssh->kex;
|
struct kex *kex = ssh->kex;
|
||||||
struct sshkey *server_host_private, *server_host_public;
|
struct sshkey *server_host_private, *server_host_public;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: kexgex.c,v 1.32 2019/01/23 00:30:41 djm Exp $ */
|
/* $OpenBSD: kexgex.c,v 1.33 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Niels Provos. All rights reserved.
|
* Copyright (c) 2000 Niels Provos. All rights reserved.
|
||||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: kexgexc.c,v 1.39 2025/10/03 00:08:02 djm Exp $ */
|
/* $OpenBSD: kexgexc.c,v 1.42 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Niels Provos. All rights reserved.
|
* Copyright (c) 2000 Niels Provos. All rights reserved.
|
||||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||||
@@ -27,10 +27,10 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
|
#include "openbsd-compat/openssl-compat.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
#include "openbsd-compat/openssl-compat.h"
|
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
#include <openssl/dh.h>
|
#include <openssl/dh.h>
|
||||||
|
|
||||||
@@ -40,7 +40,6 @@
|
|||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
#include "sshkey.h"
|
#include "sshkey.h"
|
||||||
#include "cipher.h"
|
|
||||||
#include "digest.h"
|
#include "digest.h"
|
||||||
#include "kex.h"
|
#include "kex.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
@@ -53,8 +52,8 @@
|
|||||||
#include "sshbuf.h"
|
#include "sshbuf.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
static int input_kex_dh_gex_group(int, u_int32_t, struct ssh *);
|
static int input_kex_dh_gex_group(int, uint32_t, struct ssh *);
|
||||||
static int input_kex_dh_gex_reply(int, u_int32_t, struct ssh *);
|
static int input_kex_dh_gex_reply(int, uint32_t, struct ssh *);
|
||||||
|
|
||||||
int
|
int
|
||||||
kexgex_client(struct ssh *ssh)
|
kexgex_client(struct ssh *ssh)
|
||||||
@@ -92,7 +91,7 @@ kexgex_client(struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_kex_dh_gex_group(int type, u_int32_t seq, struct ssh *ssh)
|
input_kex_dh_gex_group(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct kex *kex = ssh->kex;
|
struct kex *kex = ssh->kex;
|
||||||
BIGNUM *p = NULL, *g = NULL;
|
BIGNUM *p = NULL, *g = NULL;
|
||||||
@@ -142,7 +141,7 @@ out:
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_kex_dh_gex_reply(int type, u_int32_t seq, struct ssh *ssh)
|
input_kex_dh_gex_reply(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct kex *kex = ssh->kex;
|
struct kex *kex = ssh->kex;
|
||||||
BIGNUM *dh_server_pub = NULL;
|
BIGNUM *dh_server_pub = NULL;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: kexgexs.c,v 1.49 2025/10/03 00:09:26 djm Exp $ */
|
/* $OpenBSD: kexgexs.c,v 1.51 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Niels Provos. All rights reserved.
|
* Copyright (c) 2000 Niels Provos. All rights reserved.
|
||||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||||
@@ -27,13 +27,13 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
|
#include "openbsd-compat/openssl-compat.h"
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
#include "openbsd-compat/openssl-compat.h"
|
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
#include <openssl/dh.h>
|
#include <openssl/dh.h>
|
||||||
|
|
||||||
@@ -54,8 +54,8 @@
|
|||||||
#include "sshbuf.h"
|
#include "sshbuf.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
static int input_kex_dh_gex_request(int, u_int32_t, struct ssh *);
|
static int input_kex_dh_gex_request(int, uint32_t, struct ssh *);
|
||||||
static int input_kex_dh_gex_init(int, u_int32_t, struct ssh *);
|
static int input_kex_dh_gex_init(int, uint32_t, struct ssh *);
|
||||||
|
|
||||||
int
|
int
|
||||||
kexgex_server(struct ssh *ssh)
|
kexgex_server(struct ssh *ssh)
|
||||||
@@ -67,7 +67,7 @@ kexgex_server(struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_kex_dh_gex_request(int type, u_int32_t seq, struct ssh *ssh)
|
input_kex_dh_gex_request(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct kex *kex = ssh->kex;
|
struct kex *kex = ssh->kex;
|
||||||
int r;
|
int r;
|
||||||
@@ -123,7 +123,7 @@ input_kex_dh_gex_request(int type, u_int32_t seq, struct ssh *ssh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
input_kex_dh_gex_init(int type, u_int32_t seq, struct ssh *ssh)
|
input_kex_dh_gex_init(int type, uint32_t seq, struct ssh *ssh)
|
||||||
{
|
{
|
||||||
struct kex *kex = ssh->kex;
|
struct kex *kex = ssh->kex;
|
||||||
BIGNUM *dh_client_pub = NULL;
|
BIGNUM *dh_client_pub = NULL;
|
||||||
|
|||||||
@@ -1,5 +1,14 @@
|
|||||||
|
#define ENABLE_SK_INTERNAL /**/
|
||||||
#define GSSAPI 1
|
#define GSSAPI 1
|
||||||
#define HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE 1
|
#define HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE 1
|
||||||
|
#define HAVE_FIDO_ASSERT_SET_CLIENTDATA 1
|
||||||
|
#define HAVE_FIDO_CRED_PROT 1
|
||||||
|
#define HAVE_FIDO_CRED_SET_CLIENTDATA 1
|
||||||
|
#define HAVE_FIDO_CRED_SET_PROT 1
|
||||||
|
#define HAVE_FIDO_DEV_GET_TOUCH_BEGIN 1
|
||||||
|
#define HAVE_FIDO_DEV_GET_TOUCH_STATUS 1
|
||||||
|
#define HAVE_FIDO_DEV_IS_WINHELLO 1
|
||||||
|
#define HAVE_FIDO_DEV_SUPPORTS_CRED_PROT 1
|
||||||
#define HAVE_GSSAPI_GSSAPI_GENERIC_H 1
|
#define HAVE_GSSAPI_GSSAPI_GENERIC_H 1
|
||||||
#define HAVE_GSSAPI_GSSAPI_H 1
|
#define HAVE_GSSAPI_GSSAPI_H 1
|
||||||
#define HAVE_GSSAPI_GSSAPI_KRB5_H 1
|
#define HAVE_GSSAPI_GSSAPI_KRB5_H 1
|
||||||
|
|||||||
+19
-22
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: krl.c,v 1.62 2025/09/15 04:41:20 djm Exp $ */
|
/* $OpenBSD: krl.c,v 1.64 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2012 Damien Miller <djm@mindrot.org>
|
* Copyright (c) 2012 Damien Miller <djm@mindrot.org>
|
||||||
*
|
*
|
||||||
@@ -18,21 +18,18 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <openbsd-compat/sys-tree.h>
|
#include <sys/tree.h>
|
||||||
#include <openbsd-compat/sys-queue.h>
|
#include <sys/queue.h>
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include "sshbuf.h"
|
#include "sshbuf.h"
|
||||||
#include "ssherr.h"
|
#include "ssherr.h"
|
||||||
#include "sshkey.h"
|
#include "sshkey.h"
|
||||||
#include "authfile.h"
|
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "digest.h"
|
#include "digest.h"
|
||||||
@@ -55,7 +52,7 @@
|
|||||||
|
|
||||||
/* Tree of serial numbers. XXX make smarter: really need a real sparse bitmap */
|
/* Tree of serial numbers. XXX make smarter: really need a real sparse bitmap */
|
||||||
struct revoked_serial {
|
struct revoked_serial {
|
||||||
u_int64_t lo, hi;
|
uint64_t lo, hi;
|
||||||
RB_ENTRY(revoked_serial) tree_entry;
|
RB_ENTRY(revoked_serial) tree_entry;
|
||||||
};
|
};
|
||||||
static int serial_cmp(struct revoked_serial *a, struct revoked_serial *b);
|
static int serial_cmp(struct revoked_serial *a, struct revoked_serial *b);
|
||||||
@@ -91,9 +88,9 @@ struct revoked_certs {
|
|||||||
TAILQ_HEAD(revoked_certs_list, revoked_certs);
|
TAILQ_HEAD(revoked_certs_list, revoked_certs);
|
||||||
|
|
||||||
struct ssh_krl {
|
struct ssh_krl {
|
||||||
u_int64_t krl_version;
|
uint64_t krl_version;
|
||||||
u_int64_t generated_date;
|
uint64_t generated_date;
|
||||||
u_int64_t flags;
|
uint64_t flags;
|
||||||
char *comment;
|
char *comment;
|
||||||
struct revoked_blob_tree revoked_keys;
|
struct revoked_blob_tree revoked_keys;
|
||||||
struct revoked_blob_tree revoked_sha1s;
|
struct revoked_blob_tree revoked_sha1s;
|
||||||
@@ -197,7 +194,7 @@ ssh_krl_free(struct ssh_krl *krl)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ssh_krl_set_version(struct ssh_krl *krl, u_int64_t version)
|
ssh_krl_set_version(struct ssh_krl *krl, uint64_t version)
|
||||||
{
|
{
|
||||||
krl->krl_version = version;
|
krl->krl_version = version;
|
||||||
}
|
}
|
||||||
@@ -250,7 +247,7 @@ revoked_certs_for_ca_key(struct ssh_krl *krl, const struct sshkey *ca_key,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
insert_serial_range(struct revoked_serial_tree *rt, u_int64_t lo, u_int64_t hi)
|
insert_serial_range(struct revoked_serial_tree *rt, uint64_t lo, uint64_t hi)
|
||||||
{
|
{
|
||||||
struct revoked_serial rs, *ers, *crs, *irs;
|
struct revoked_serial rs, *ers, *crs, *irs;
|
||||||
|
|
||||||
@@ -305,7 +302,7 @@ insert_serial_range(struct revoked_serial_tree *rt, u_int64_t lo, u_int64_t hi)
|
|||||||
/* Check successors */
|
/* Check successors */
|
||||||
while ((crs = RB_NEXT(revoked_serial_tree, rt, ers)) != NULL) {
|
while ((crs = RB_NEXT(revoked_serial_tree, rt, ers)) != NULL) {
|
||||||
KRL_DBG(("succ %llu:%llu", crs->lo, crs->hi));
|
KRL_DBG(("succ %llu:%llu", crs->lo, crs->hi));
|
||||||
if (ers->hi != (u_int64_t)-1 && crs->lo > ers->hi + 1)
|
if (ers->hi != (uint64_t)-1 && crs->lo > ers->hi + 1)
|
||||||
break;
|
break;
|
||||||
/* This entry overlaps. */
|
/* This entry overlaps. */
|
||||||
if (crs->hi > ers->hi) {
|
if (crs->hi > ers->hi) {
|
||||||
@@ -321,14 +318,14 @@ insert_serial_range(struct revoked_serial_tree *rt, u_int64_t lo, u_int64_t hi)
|
|||||||
|
|
||||||
int
|
int
|
||||||
ssh_krl_revoke_cert_by_serial(struct ssh_krl *krl, const struct sshkey *ca_key,
|
ssh_krl_revoke_cert_by_serial(struct ssh_krl *krl, const struct sshkey *ca_key,
|
||||||
u_int64_t serial)
|
uint64_t serial)
|
||||||
{
|
{
|
||||||
return ssh_krl_revoke_cert_by_serial_range(krl, ca_key, serial, serial);
|
return ssh_krl_revoke_cert_by_serial_range(krl, ca_key, serial, serial);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
ssh_krl_revoke_cert_by_serial_range(struct ssh_krl *krl,
|
ssh_krl_revoke_cert_by_serial_range(struct ssh_krl *krl,
|
||||||
const struct sshkey *ca_key, u_int64_t lo, u_int64_t hi)
|
const struct sshkey *ca_key, uint64_t lo, uint64_t hi)
|
||||||
{
|
{
|
||||||
struct revoked_certs *rc;
|
struct revoked_certs *rc;
|
||||||
int r;
|
int r;
|
||||||
@@ -477,11 +474,11 @@ ssh_krl_revoke_key(struct ssh_krl *krl, const struct sshkey *key)
|
|||||||
* that will minimise the size of the resultant KRL.
|
* that will minimise the size of the resultant KRL.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
choose_next_state(int current_state, u_int64_t contig, int final,
|
choose_next_state(int current_state, uint64_t contig, int final,
|
||||||
u_int64_t last_gap, u_int64_t next_gap, int *force_new_section)
|
uint64_t last_gap, uint64_t next_gap, int *force_new_section)
|
||||||
{
|
{
|
||||||
int new_state;
|
int new_state;
|
||||||
u_int64_t cost, cost_list, cost_range, cost_bitmap, cost_bitmap_restart;
|
uint64_t cost, cost_list, cost_range, cost_bitmap, cost_bitmap_restart;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Avoid unsigned overflows.
|
* Avoid unsigned overflows.
|
||||||
@@ -576,7 +573,7 @@ static int
|
|||||||
revoked_certs_generate(struct revoked_certs *rc, struct sshbuf *buf)
|
revoked_certs_generate(struct revoked_certs *rc, struct sshbuf *buf)
|
||||||
{
|
{
|
||||||
int final, force_new_sect, r = SSH_ERR_INTERNAL_ERROR;
|
int final, force_new_sect, r = SSH_ERR_INTERNAL_ERROR;
|
||||||
u_int64_t i, contig, gap, last = 0, bitmap_start = 0;
|
uint64_t i, contig, gap, last = 0, bitmap_start = 0;
|
||||||
struct revoked_serial *rs, *nrs;
|
struct revoked_serial *rs, *nrs;
|
||||||
struct revoked_key_id *rki;
|
struct revoked_key_id *rki;
|
||||||
int next_state, state = 0;
|
int next_state, state = 0;
|
||||||
@@ -811,7 +808,7 @@ ssh_krl_to_blob(struct ssh_krl *krl, struct sshbuf *buf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
format_timestamp(u_int64_t timestamp, char *ts, size_t nts)
|
format_timestamp(uint64_t timestamp, char *ts, size_t nts)
|
||||||
{
|
{
|
||||||
time_t t;
|
time_t t;
|
||||||
struct tm *tm;
|
struct tm *tm;
|
||||||
@@ -873,7 +870,7 @@ parse_revoked_certs(struct sshbuf *buf, struct ssh_krl *krl)
|
|||||||
const u_char *blob;
|
const u_char *blob;
|
||||||
size_t blen, nbits;
|
size_t blen, nbits;
|
||||||
struct sshbuf *subsect = NULL;
|
struct sshbuf *subsect = NULL;
|
||||||
u_int64_t serial, serial_lo, serial_hi;
|
uint64_t serial, serial_lo, serial_hi;
|
||||||
struct bitmap *bitmap = NULL;
|
struct bitmap *bitmap = NULL;
|
||||||
char *key_id = NULL;
|
char *key_id = NULL;
|
||||||
struct sshkey *ca_key = NULL;
|
struct sshkey *ca_key = NULL;
|
||||||
@@ -929,7 +926,7 @@ parse_revoked_certs(struct sshbuf *buf, struct ssh_krl *krl)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
nbits = bitmap_nbits(bitmap);
|
nbits = bitmap_nbits(bitmap);
|
||||||
for (serial = 0; serial < (u_int64_t)nbits; serial++) {
|
for (serial = 0; serial < (uint64_t)nbits; serial++) {
|
||||||
if (serial > 0 && serial_lo + serial == 0) {
|
if (serial > 0 && serial_lo + serial == 0) {
|
||||||
error_f("bitmap wraps u64");
|
error_f("bitmap wraps u64");
|
||||||
r = SSH_ERR_INVALID_FORMAT;
|
r = SSH_ERR_INVALID_FORMAT;
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $OpenBSD: krl.h,v 1.10 2023/07/17 04:01:10 djm Exp $ */
|
/* $OpenBSD: krl.h,v 1.11 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
|
|
||||||
#ifndef _KRL_H
|
#ifndef _KRL_H
|
||||||
#define _KRL_H
|
#define _KRL_H
|
||||||
@@ -45,12 +45,12 @@ struct ssh_krl;
|
|||||||
|
|
||||||
struct ssh_krl *ssh_krl_init(void);
|
struct ssh_krl *ssh_krl_init(void);
|
||||||
void ssh_krl_free(struct ssh_krl *krl);
|
void ssh_krl_free(struct ssh_krl *krl);
|
||||||
void ssh_krl_set_version(struct ssh_krl *krl, u_int64_t version);
|
void ssh_krl_set_version(struct ssh_krl *krl, uint64_t version);
|
||||||
int ssh_krl_set_comment(struct ssh_krl *krl, const char *comment);
|
int ssh_krl_set_comment(struct ssh_krl *krl, const char *comment);
|
||||||
int ssh_krl_revoke_cert_by_serial(struct ssh_krl *krl,
|
int ssh_krl_revoke_cert_by_serial(struct ssh_krl *krl,
|
||||||
const struct sshkey *ca_key, u_int64_t serial);
|
const struct sshkey *ca_key, uint64_t serial);
|
||||||
int ssh_krl_revoke_cert_by_serial_range(struct ssh_krl *krl,
|
int ssh_krl_revoke_cert_by_serial_range(struct ssh_krl *krl,
|
||||||
const struct sshkey *ca_key, u_int64_t lo, u_int64_t hi);
|
const struct sshkey *ca_key, uint64_t lo, uint64_t hi);
|
||||||
int ssh_krl_revoke_cert_by_key_id(struct ssh_krl *krl,
|
int ssh_krl_revoke_cert_by_key_id(struct ssh_krl *krl,
|
||||||
const struct sshkey *ca_key, const char *key_id);
|
const struct sshkey *ca_key, const char *key_id);
|
||||||
int ssh_krl_revoke_key_explicit(struct ssh_krl *krl, const struct sshkey *key);
|
int ssh_krl_revoke_key_explicit(struct ssh_krl *krl, const struct sshkey *key);
|
||||||
|
|||||||
+7257
-7843
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: log.c,v 1.65 2025/09/02 09:34:48 djm Exp $ */
|
/* $OpenBSD: log.c,v 1.67 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
@@ -46,7 +46,6 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
#include <time.h>
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#if defined(HAVE_STRNVIS) && defined(HAVE_VIS_H) && !defined(BROKEN_STRNVIS)
|
#if defined(HAVE_STRNVIS) && defined(HAVE_VIS_H) && !defined(BROKEN_STRNVIS)
|
||||||
# include <vis.h>
|
# include <vis.h>
|
||||||
@@ -64,7 +63,6 @@ static log_handler_fn *log_handler;
|
|||||||
static void *log_handler_ctx;
|
static void *log_handler_ctx;
|
||||||
static char **log_verbose;
|
static char **log_verbose;
|
||||||
static size_t nlog_verbose;
|
static size_t nlog_verbose;
|
||||||
|
|
||||||
extern char *__progname;
|
extern char *__progname;
|
||||||
|
|
||||||
#define LOG_SYSLOG_VIS (VIS_CSTYLE|VIS_NL|VIS_TAB|VIS_OCTAL)
|
#define LOG_SYSLOG_VIS (VIS_CSTYLE|VIS_NL|VIS_TAB|VIS_OCTAL)
|
||||||
@@ -403,7 +401,8 @@ do_log(LogLevel level, int force, const char *suffix, const char *fmt,
|
|||||||
/* Avoid recursion */
|
/* Avoid recursion */
|
||||||
tmp_handler = log_handler;
|
tmp_handler = log_handler;
|
||||||
log_handler = NULL;
|
log_handler = NULL;
|
||||||
tmp_handler(level, force, fmtbuf, log_handler_ctx);
|
/* Note: this sends the raw (i.e. no strnvis) log message */
|
||||||
|
tmp_handler(level, force, msgbuf, log_handler_ctx);
|
||||||
log_handler = tmp_handler;
|
log_handler = tmp_handler;
|
||||||
} else if (log_on_stderr) {
|
} else if (log_on_stderr) {
|
||||||
snprintf(msgbuf, sizeof msgbuf, "%s%s%.*s\r\n",
|
snprintf(msgbuf, sizeof msgbuf, "%s%s%.*s\r\n",
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
* code should suffice.
|
* code should suffice.
|
||||||
*
|
*
|
||||||
* Retrieving the time of last login ('lastlog') is in some ways even
|
* Retrieving the time of last login ('lastlog') is in some ways even
|
||||||
* more problemmatic than login recording. Some systems provide a
|
* more problematic than login recording. Some systems provide a
|
||||||
* simple table of all users which we seek based on uid and retrieve a
|
* simple table of all users which we seek based on uid and retrieve a
|
||||||
* relatively standard structure. Others record the same information in
|
* relatively standard structure. Others record the same information in
|
||||||
* a directory with a separate file, and others don't record the
|
* a directory with a separate file, and others don't record the
|
||||||
@@ -651,6 +651,9 @@ construct_utmp(struct logininfo *li,
|
|||||||
# ifdef HAVE_TYPE_IN_UTMP
|
# ifdef HAVE_TYPE_IN_UTMP
|
||||||
/* This is done here to keep utmp constants out of struct logininfo */
|
/* This is done here to keep utmp constants out of struct logininfo */
|
||||||
switch (li->type) {
|
switch (li->type) {
|
||||||
|
case LTYPE_FAILED:
|
||||||
|
ut->ut_type = LOGIN_PROCESS;
|
||||||
|
break;
|
||||||
case LTYPE_LOGIN:
|
case LTYPE_LOGIN:
|
||||||
ut->ut_type = USER_PROCESS;
|
ut->ut_type = USER_PROCESS;
|
||||||
break;
|
break;
|
||||||
@@ -975,7 +978,7 @@ utmp_write_entry(struct logininfo *li)
|
|||||||
/* not much point if we don't want utmpx entries */
|
/* not much point if we don't want utmpx entries */
|
||||||
#ifdef USE_UTMPX
|
#ifdef USE_UTMPX
|
||||||
|
|
||||||
/* if we have the wherewithall, use pututxline etc. */
|
/* if we have the wherewithal, use pututxline etc. */
|
||||||
# if !defined(DISABLE_PUTUTXLINE) && defined(HAVE_SETUTXENT) && \
|
# if !defined(DISABLE_PUTUTXLINE) && defined(HAVE_SETUTXENT) && \
|
||||||
defined(HAVE_PUTUTXLINE)
|
defined(HAVE_PUTUTXLINE)
|
||||||
# define UTMPX_USE_LIBRARY
|
# define UTMPX_USE_LIBRARY
|
||||||
@@ -1732,7 +1735,7 @@ record_failed_login(struct ssh *ssh, const char *username, const char *hostname,
|
|||||||
|
|
||||||
/* Construct a logininfo and turn it into a utmp */
|
/* Construct a logininfo and turn it into a utmp */
|
||||||
memset(&li, 0, sizeof(li));
|
memset(&li, 0, sizeof(li));
|
||||||
li.type = LTYPE_LOGIN;
|
li.type = LTYPE_FAILED;
|
||||||
li.pid = getpid();
|
li.pid = getpid();
|
||||||
strlcpy(li.line, "ssh:notty", sizeof(li.line));
|
strlcpy(li.line, "ssh:notty", sizeof(li.line));
|
||||||
strlcpy(li.username, username, sizeof(li.username));
|
strlcpy(li.username, username, sizeof(li.username));
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ union login_netinfo {
|
|||||||
*/
|
*/
|
||||||
/* types - different to utmp.h 'type' macros */
|
/* types - different to utmp.h 'type' macros */
|
||||||
/* (though set to the same value as linux, openbsd and others...) */
|
/* (though set to the same value as linux, openbsd and others...) */
|
||||||
|
#define LTYPE_FAILED 6
|
||||||
#define LTYPE_LOGIN 7
|
#define LTYPE_LOGIN 7
|
||||||
#define LTYPE_LOGOUT 8
|
#define LTYPE_LOGOUT 8
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: mac.c,v 1.37 2025/09/05 10:01:35 dtucker Exp $ */
|
/* $OpenBSD: mac.c,v 1.38 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -152,13 +152,13 @@ mac_init(struct sshmac *mac)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
mac_compute(struct sshmac *mac, u_int32_t seqno,
|
mac_compute(struct sshmac *mac, uint32_t seqno,
|
||||||
const u_char *data, int datalen,
|
const u_char *data, int datalen,
|
||||||
u_char *digest, size_t dlen)
|
u_char *digest, size_t dlen)
|
||||||
{
|
{
|
||||||
static union {
|
static union {
|
||||||
u_char m[SSH_DIGEST_MAX_LENGTH];
|
u_char m[SSH_DIGEST_MAX_LENGTH];
|
||||||
u_int64_t for_align;
|
uint64_t for_align;
|
||||||
} u;
|
} u;
|
||||||
u_char b[4];
|
u_char b[4];
|
||||||
u_char nonce[8];
|
u_char nonce[8];
|
||||||
@@ -198,7 +198,7 @@ mac_compute(struct sshmac *mac, u_int32_t seqno,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
mac_check(struct sshmac *mac, u_int32_t seqno,
|
mac_check(struct sshmac *mac, uint32_t seqno,
|
||||||
const u_char *data, size_t dlen,
|
const u_char *data, size_t dlen,
|
||||||
const u_char *theirmac, size_t mlen)
|
const u_char *theirmac, size_t mlen)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: mac.h,v 1.10 2016/07/08 03:44:42 djm Exp $ */
|
/* $OpenBSD: mac.h,v 1.11 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
* Copyright (c) 2001 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -44,9 +44,9 @@ int mac_valid(const char *);
|
|||||||
char *mac_alg_list(char);
|
char *mac_alg_list(char);
|
||||||
int mac_setup(struct sshmac *, char *);
|
int mac_setup(struct sshmac *, char *);
|
||||||
int mac_init(struct sshmac *);
|
int mac_init(struct sshmac *);
|
||||||
int mac_compute(struct sshmac *, u_int32_t, const u_char *, int,
|
int mac_compute(struct sshmac *, uint32_t, const u_char *, int,
|
||||||
u_char *, size_t);
|
u_char *, size_t);
|
||||||
int mac_check(struct sshmac *, u_int32_t, const u_char *, size_t,
|
int mac_check(struct sshmac *, uint32_t, const u_char *, size_t,
|
||||||
const u_char *, size_t);
|
const u_char *, size_t);
|
||||||
void mac_clear(struct sshmac *);
|
void mac_clear(struct sshmac *);
|
||||||
|
|
||||||
|
|||||||
@@ -95,6 +95,8 @@ function add(str) {
|
|||||||
} else if(match(words[w],"^Ed$")) {
|
} else if(match(words[w],"^Ed$")) {
|
||||||
skip=1
|
skip=1
|
||||||
literal=0
|
literal=0
|
||||||
|
} else if(match(words[w],"^Dl$")) {
|
||||||
|
skip=1
|
||||||
} else if(match(words[w],"^Ns$")) {
|
} else if(match(words[w],"^Ns$")) {
|
||||||
skip=1
|
skip=1
|
||||||
if(!nospace)
|
if(!nospace)
|
||||||
@@ -281,6 +283,12 @@ function add(str) {
|
|||||||
add("[")
|
add("[")
|
||||||
words[nwords]=words[nwords] "]"
|
words[nwords]=words[nwords] "]"
|
||||||
}
|
}
|
||||||
|
if(match(words[w],"^Ns$")) {
|
||||||
|
w++
|
||||||
|
if(!nospace)
|
||||||
|
nospace=1
|
||||||
|
sub(" $","",line)
|
||||||
|
}
|
||||||
if(match(words[w],"^Ar$")) {
|
if(match(words[w],"^Ar$")) {
|
||||||
add("\\fI" words[++w] "\\fP")
|
add("\\fI" words[++w] "\\fP")
|
||||||
} else if(match(words[w],"^[\\.,]")) {
|
} else if(match(words[w],"^[\\.,]")) {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: misc-agent.c,v 1.6 2025/06/17 01:19:27 djm Exp $ */
|
/* $OpenBSD: misc-agent.c,v 1.7 2026/02/11 17:05:32 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2025 Damien Miller <djm@mindrot.org>
|
* Copyright (c) 2025 Damien Miller <djm@mindrot.org>
|
||||||
*
|
*
|
||||||
|
|||||||
+138
-90
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: misc.c,v 1.208 2025/09/25 06:33:19 djm Exp $ */
|
/* $OpenBSD: misc.c,v 1.213 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
* Copyright (c) 2000 Markus Friedl. All rights reserved.
|
||||||
* Copyright (c) 2005-2020 Damien Miller. All rights reserved.
|
* Copyright (c) 2005-2020 Damien Miller. All rights reserved.
|
||||||
@@ -43,7 +43,6 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <netinet/in_systm.h>
|
|
||||||
#include <netinet/ip.h>
|
#include <netinet/ip.h>
|
||||||
#include <netinet/tcp.h>
|
#include <netinet/tcp.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
@@ -121,6 +120,34 @@ strprefix(const char *s, const char *prefix, int ignorecase)
|
|||||||
return s + prefixlen;
|
return s + prefixlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Append string 's' to a NULL-terminated array of strings */
|
||||||
|
void
|
||||||
|
stringlist_append(char ***listp, const char *s)
|
||||||
|
{
|
||||||
|
size_t i = 0;
|
||||||
|
|
||||||
|
if (*listp == NULL)
|
||||||
|
*listp = xcalloc(2, sizeof(**listp));
|
||||||
|
else {
|
||||||
|
for (i = 0; (*listp)[i] != NULL; i++)
|
||||||
|
; /* count */
|
||||||
|
*listp = xrecallocarray(*listp, i + 1, i + 2, sizeof(**listp));
|
||||||
|
}
|
||||||
|
(*listp)[i] = xstrdup(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
stringlist_free(char **list)
|
||||||
|
{
|
||||||
|
size_t i = 0;
|
||||||
|
|
||||||
|
if (list == NULL)
|
||||||
|
return;
|
||||||
|
for (i = 0; list[i] != NULL; i++)
|
||||||
|
free(list[i]);
|
||||||
|
free(list);
|
||||||
|
}
|
||||||
|
|
||||||
/* set/unset filedescriptor to non-blocking */
|
/* set/unset filedescriptor to non-blocking */
|
||||||
int
|
int
|
||||||
set_nonblock(int fd)
|
set_nonblock(int fd)
|
||||||
@@ -594,25 +621,22 @@ a2tun(const char *s, int *remote)
|
|||||||
return (tun);
|
return (tun);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SECONDS 1
|
#define SECONDS 1.0
|
||||||
#define MINUTES (SECONDS * 60)
|
#define MINUTES (SECONDS * 60)
|
||||||
#define HOURS (MINUTES * 60)
|
#define HOURS (MINUTES * 60)
|
||||||
#define DAYS (HOURS * 24)
|
#define DAYS (HOURS * 24)
|
||||||
#define WEEKS (DAYS * 7)
|
#define WEEKS (DAYS * 7)
|
||||||
|
|
||||||
static char *
|
|
||||||
scandigits(char *s)
|
|
||||||
{
|
|
||||||
while (isdigit((unsigned char)*s))
|
|
||||||
s++;
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert a time string into seconds; format is
|
* Convert an interval/duration time string into seconds, which may include
|
||||||
* a sequence of:
|
* fractional seconds.
|
||||||
|
*
|
||||||
|
* The format is a sequence of:
|
||||||
* time[qualifier]
|
* time[qualifier]
|
||||||
*
|
*
|
||||||
|
* This supports fractional values for the seconds value only. All other
|
||||||
|
* values must be integers.
|
||||||
|
*
|
||||||
* Valid time qualifiers are:
|
* Valid time qualifiers are:
|
||||||
* <none> seconds
|
* <none> seconds
|
||||||
* s|S seconds
|
* s|S seconds
|
||||||
@@ -622,44 +646,46 @@ scandigits(char *s)
|
|||||||
* w|W weeks
|
* w|W weeks
|
||||||
*
|
*
|
||||||
* Examples:
|
* Examples:
|
||||||
* 90m 90 minutes
|
* 90m 90 minutes
|
||||||
* 1h30m 90 minutes
|
* 1h30m 90 minutes
|
||||||
* 2d 2 days
|
* 1.5s 1.5 seconds
|
||||||
* 1w 1 week
|
* 2d 2 days
|
||||||
|
* 1w 1 week
|
||||||
*
|
*
|
||||||
* Return -1 if time string is invalid.
|
* Returns <0.0 if the time string is invalid.
|
||||||
*/
|
*/
|
||||||
int
|
double
|
||||||
convtime(const char *s)
|
convtime_double(const char *s)
|
||||||
{
|
{
|
||||||
int secs, total = 0, multiplier;
|
double val, total_sec = 0.0, multiplier;
|
||||||
char *p, *os, *np, c = 0;
|
const char *p, *start_p;
|
||||||
const char *errstr;
|
char *endp;
|
||||||
|
int seen_seconds = 0;
|
||||||
|
|
||||||
if (s == NULL || *s == '\0')
|
if (s == NULL || *s == '\0')
|
||||||
return -1;
|
return -1.0;
|
||||||
p = os = strdup(s); /* deal with const */
|
|
||||||
if (os == NULL)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
while (*p) {
|
for (p = s; *p != '\0';) {
|
||||||
np = scandigits(p);
|
if (!isdigit((unsigned char)*p) && *p != '.')
|
||||||
if (np) {
|
return -1.0;
|
||||||
c = *np;
|
|
||||||
*np = '\0';
|
|
||||||
}
|
|
||||||
secs = (int)strtonum(p, 0, INT_MAX, &errstr);
|
|
||||||
if (errstr)
|
|
||||||
goto fail;
|
|
||||||
*np = c;
|
|
||||||
|
|
||||||
multiplier = 1;
|
errno = 0;
|
||||||
switch (c) {
|
if ((val = strtod(p, &endp)) < 0 || errno != 0 || p == endp)
|
||||||
|
return -1.0;
|
||||||
|
/* Allow only decimal forms */
|
||||||
|
if (p + strspn(p, "0123456789.") != endp)
|
||||||
|
return -1.0;
|
||||||
|
start_p = p;
|
||||||
|
p = endp;
|
||||||
|
|
||||||
|
switch (*p) {
|
||||||
case '\0':
|
case '\0':
|
||||||
np--; /* back up */
|
/* FALLTHROUGH */
|
||||||
break;
|
|
||||||
case 's':
|
case 's':
|
||||||
case 'S':
|
case 'S':
|
||||||
|
if (seen_seconds++)
|
||||||
|
return -1.0;
|
||||||
|
multiplier = SECONDS;
|
||||||
break;
|
break;
|
||||||
case 'm':
|
case 'm':
|
||||||
case 'M':
|
case 'M':
|
||||||
@@ -678,23 +704,44 @@ convtime(const char *s)
|
|||||||
multiplier = WEEKS;
|
multiplier = WEEKS;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
goto fail;
|
return -1.0;
|
||||||
}
|
}
|
||||||
if (secs > INT_MAX / multiplier)
|
|
||||||
goto fail;
|
/* Special handling if this was a decimal */
|
||||||
secs *= multiplier;
|
if (memchr(start_p, '.', endp - start_p) != NULL) {
|
||||||
if (total > INT_MAX - secs)
|
/* Decimal point present */
|
||||||
goto fail;
|
if (multiplier > 1.0)
|
||||||
total += secs;
|
return -1.0; /* No fractionals for non-seconds */
|
||||||
if (total < 0)
|
/* For seconds, ensure digits follow */
|
||||||
goto fail;
|
if (!isdigit((unsigned char)*(endp - 1)))
|
||||||
p = ++np;
|
return -1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
total_sec += val * multiplier;
|
||||||
|
|
||||||
|
if (*p != '\0')
|
||||||
|
p++;
|
||||||
}
|
}
|
||||||
free(os);
|
return total_sec;
|
||||||
return total;
|
}
|
||||||
fail:
|
|
||||||
free(os);
|
/*
|
||||||
return -1;
|
* Same as convtime_double() above but fractional seconds are ignored.
|
||||||
|
* Return -1 if time string is invalid.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
convtime(const char *s)
|
||||||
|
{
|
||||||
|
double sec_val;
|
||||||
|
|
||||||
|
if ((sec_val = convtime_double(s)) < 0.0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
/* Check for overflow into int */
|
||||||
|
if (sec_val < 0 || sec_val > INT_MAX)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return (int)sec_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TF_BUFS 8
|
#define TF_BUFS 8
|
||||||
@@ -1613,66 +1660,66 @@ xextendf(char **sp, const char *sep, const char *fmt, ...)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
u_int64_t
|
uint64_t
|
||||||
get_u64(const void *vp)
|
get_u64(const void *vp)
|
||||||
{
|
{
|
||||||
const u_char *p = (const u_char *)vp;
|
const u_char *p = (const u_char *)vp;
|
||||||
u_int64_t v;
|
uint64_t v;
|
||||||
|
|
||||||
v = (u_int64_t)p[0] << 56;
|
v = (uint64_t)p[0] << 56;
|
||||||
v |= (u_int64_t)p[1] << 48;
|
v |= (uint64_t)p[1] << 48;
|
||||||
v |= (u_int64_t)p[2] << 40;
|
v |= (uint64_t)p[2] << 40;
|
||||||
v |= (u_int64_t)p[3] << 32;
|
v |= (uint64_t)p[3] << 32;
|
||||||
v |= (u_int64_t)p[4] << 24;
|
v |= (uint64_t)p[4] << 24;
|
||||||
v |= (u_int64_t)p[5] << 16;
|
v |= (uint64_t)p[5] << 16;
|
||||||
v |= (u_int64_t)p[6] << 8;
|
v |= (uint64_t)p[6] << 8;
|
||||||
v |= (u_int64_t)p[7];
|
v |= (uint64_t)p[7];
|
||||||
|
|
||||||
return (v);
|
return (v);
|
||||||
}
|
}
|
||||||
|
|
||||||
u_int32_t
|
uint32_t
|
||||||
get_u32(const void *vp)
|
get_u32(const void *vp)
|
||||||
{
|
{
|
||||||
const u_char *p = (const u_char *)vp;
|
const u_char *p = (const u_char *)vp;
|
||||||
u_int32_t v;
|
uint32_t v;
|
||||||
|
|
||||||
v = (u_int32_t)p[0] << 24;
|
v = (uint32_t)p[0] << 24;
|
||||||
v |= (u_int32_t)p[1] << 16;
|
v |= (uint32_t)p[1] << 16;
|
||||||
v |= (u_int32_t)p[2] << 8;
|
v |= (uint32_t)p[2] << 8;
|
||||||
v |= (u_int32_t)p[3];
|
v |= (uint32_t)p[3];
|
||||||
|
|
||||||
return (v);
|
return (v);
|
||||||
}
|
}
|
||||||
|
|
||||||
u_int32_t
|
uint32_t
|
||||||
get_u32_le(const void *vp)
|
get_u32_le(const void *vp)
|
||||||
{
|
{
|
||||||
const u_char *p = (const u_char *)vp;
|
const u_char *p = (const u_char *)vp;
|
||||||
u_int32_t v;
|
uint32_t v;
|
||||||
|
|
||||||
v = (u_int32_t)p[0];
|
v = (uint32_t)p[0];
|
||||||
v |= (u_int32_t)p[1] << 8;
|
v |= (uint32_t)p[1] << 8;
|
||||||
v |= (u_int32_t)p[2] << 16;
|
v |= (uint32_t)p[2] << 16;
|
||||||
v |= (u_int32_t)p[3] << 24;
|
v |= (uint32_t)p[3] << 24;
|
||||||
|
|
||||||
return (v);
|
return (v);
|
||||||
}
|
}
|
||||||
|
|
||||||
u_int16_t
|
uint16_t
|
||||||
get_u16(const void *vp)
|
get_u16(const void *vp)
|
||||||
{
|
{
|
||||||
const u_char *p = (const u_char *)vp;
|
const u_char *p = (const u_char *)vp;
|
||||||
u_int16_t v;
|
uint16_t v;
|
||||||
|
|
||||||
v = (u_int16_t)p[0] << 8;
|
v = (uint16_t)p[0] << 8;
|
||||||
v |= (u_int16_t)p[1];
|
v |= (uint16_t)p[1];
|
||||||
|
|
||||||
return (v);
|
return (v);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
put_u64(void *vp, u_int64_t v)
|
put_u64(void *vp, uint64_t v)
|
||||||
{
|
{
|
||||||
u_char *p = (u_char *)vp;
|
u_char *p = (u_char *)vp;
|
||||||
|
|
||||||
@@ -1687,7 +1734,7 @@ put_u64(void *vp, u_int64_t v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
put_u32(void *vp, u_int32_t v)
|
put_u32(void *vp, uint32_t v)
|
||||||
{
|
{
|
||||||
u_char *p = (u_char *)vp;
|
u_char *p = (u_char *)vp;
|
||||||
|
|
||||||
@@ -1698,7 +1745,7 @@ put_u32(void *vp, u_int32_t v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
put_u32_le(void *vp, u_int32_t v)
|
put_u32_le(void *vp, uint32_t v)
|
||||||
{
|
{
|
||||||
u_char *p = (u_char *)vp;
|
u_char *p = (u_char *)vp;
|
||||||
|
|
||||||
@@ -1709,7 +1756,7 @@ put_u32_le(void *vp, u_int32_t v)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
put_u16(void *vp, u_int16_t v)
|
put_u16(void *vp, uint16_t v)
|
||||||
{
|
{
|
||||||
u_char *p = (u_char *)vp;
|
u_char *p = (u_char *)vp;
|
||||||
|
|
||||||
@@ -1783,7 +1830,7 @@ monotime(void)
|
|||||||
struct timespec ts;
|
struct timespec ts;
|
||||||
|
|
||||||
monotime_ts(&ts);
|
monotime_ts(&ts);
|
||||||
return ts.tv_sec;
|
return (ts.tv_sec);
|
||||||
}
|
}
|
||||||
|
|
||||||
double
|
double
|
||||||
@@ -1792,11 +1839,11 @@ monotime_double(void)
|
|||||||
struct timespec ts;
|
struct timespec ts;
|
||||||
|
|
||||||
monotime_ts(&ts);
|
monotime_ts(&ts);
|
||||||
return ts.tv_sec + ((double)ts.tv_nsec / 1000000000);
|
return (double)ts.tv_sec + (double)ts.tv_nsec / 1000000000.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
bandwidth_limit_init(struct bwlimit *bw, u_int64_t kbps, size_t buflen)
|
bandwidth_limit_init(struct bwlimit *bw, uint64_t kbps, size_t buflen)
|
||||||
{
|
{
|
||||||
bw->buflen = buflen;
|
bw->buflen = buflen;
|
||||||
bw->rate = kbps;
|
bw->rate = kbps;
|
||||||
@@ -1810,7 +1857,7 @@ bandwidth_limit_init(struct bwlimit *bw, u_int64_t kbps, size_t buflen)
|
|||||||
void
|
void
|
||||||
bandwidth_limit(struct bwlimit *bw, size_t read_len)
|
bandwidth_limit(struct bwlimit *bw, size_t read_len)
|
||||||
{
|
{
|
||||||
u_int64_t waitlen;
|
uint64_t waitlen;
|
||||||
struct timespec ts, rm;
|
struct timespec ts, rm;
|
||||||
|
|
||||||
bw->lamt += read_len;
|
bw->lamt += read_len;
|
||||||
@@ -1902,6 +1949,7 @@ static const struct {
|
|||||||
{ "cs7", IPTOS_DSCP_CS7 },
|
{ "cs7", IPTOS_DSCP_CS7 },
|
||||||
{ "ef", IPTOS_DSCP_EF },
|
{ "ef", IPTOS_DSCP_EF },
|
||||||
{ "le", IPTOS_DSCP_LE },
|
{ "le", IPTOS_DSCP_LE },
|
||||||
|
{ "va", IPTOS_DSCP_VA },
|
||||||
{ "lowdelay", INT_MIN }, /* deprecated */
|
{ "lowdelay", INT_MIN }, /* deprecated */
|
||||||
{ "throughput", INT_MIN }, /* deprecated */
|
{ "throughput", INT_MIN }, /* deprecated */
|
||||||
{ "reliability", INT_MIN }, /* deprecated */
|
{ "reliability", INT_MIN }, /* deprecated */
|
||||||
|
|||||||
+24
-13
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: misc.h,v 1.112 2025/09/25 06:33:19 djm Exp $ */
|
/* $OpenBSD: misc.h,v 1.116 2026/03/11 09:10:59 dtucker Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
@@ -59,6 +59,8 @@ void skip_space(char **);
|
|||||||
const char *strprefix(const char *, const char *, int);
|
const char *strprefix(const char *, const char *, int);
|
||||||
char *strdelim(char **);
|
char *strdelim(char **);
|
||||||
char *strdelimw(char **);
|
char *strdelimw(char **);
|
||||||
|
void stringlist_append(char ***listp, const char *s);
|
||||||
|
void stringlist_free(char **list);
|
||||||
int set_nonblock(int);
|
int set_nonblock(int);
|
||||||
int unset_nonblock(int);
|
int unset_nonblock(int);
|
||||||
void set_nodelay(int);
|
void set_nodelay(int);
|
||||||
@@ -79,7 +81,9 @@ char *colon(char *);
|
|||||||
int parse_user_host_path(const char *, char **, char **, char **);
|
int parse_user_host_path(const char *, char **, char **, char **);
|
||||||
int parse_user_host_port(const char *, char **, char **, int *);
|
int parse_user_host_port(const char *, char **, char **, int *);
|
||||||
int parse_uri(const char *, const char *, char **, char **, int *, char **);
|
int parse_uri(const char *, const char *, char **, char **, int *, char **);
|
||||||
|
double convtime_double(const char *);
|
||||||
int convtime(const char *);
|
int convtime(const char *);
|
||||||
|
double convtime_double(const char *);
|
||||||
const char *fmt_timeframe(time_t t);
|
const char *fmt_timeframe(time_t t);
|
||||||
int tilde_expand(const char *, uid_t, char **);
|
int tilde_expand(const char *, uid_t, char **);
|
||||||
char *tilde_expand_filename(const char *, uid_t);
|
char *tilde_expand_filename(const char *, uid_t);
|
||||||
@@ -114,6 +118,7 @@ void sock_set_v6only(int);
|
|||||||
|
|
||||||
struct passwd *pwcopy(struct passwd *);
|
struct passwd *pwcopy(struct passwd *);
|
||||||
void pwfree(struct passwd *); /* NB. only use with pwcopy */
|
void pwfree(struct passwd *); /* NB. only use with pwcopy */
|
||||||
|
|
||||||
const char *ssh_gai_strerror(int);
|
const char *ssh_gai_strerror(int);
|
||||||
|
|
||||||
typedef void privdrop_fn(struct passwd *);
|
typedef void privdrop_fn(struct passwd *);
|
||||||
@@ -155,34 +160,34 @@ int tun_open(int, int, char **);
|
|||||||
#define PORT_STREAMLOCAL -2
|
#define PORT_STREAMLOCAL -2
|
||||||
|
|
||||||
/* Functions to extract or store big-endian words of various sizes */
|
/* Functions to extract or store big-endian words of various sizes */
|
||||||
u_int64_t get_u64(const void *)
|
uint64_t get_u64(const void *)
|
||||||
__attribute__((__bounded__( __minbytes__, 1, 8)));
|
__attribute__((__bounded__( __minbytes__, 1, 8)));
|
||||||
u_int32_t get_u32(const void *)
|
uint32_t get_u32(const void *)
|
||||||
__attribute__((__bounded__( __minbytes__, 1, 4)));
|
__attribute__((__bounded__( __minbytes__, 1, 4)));
|
||||||
u_int16_t get_u16(const void *)
|
uint16_t get_u16(const void *)
|
||||||
__attribute__((__bounded__( __minbytes__, 1, 2)));
|
__attribute__((__bounded__( __minbytes__, 1, 2)));
|
||||||
void put_u64(void *, u_int64_t)
|
void put_u64(void *, uint64_t)
|
||||||
__attribute__((__bounded__( __minbytes__, 1, 8)));
|
__attribute__((__bounded__( __minbytes__, 1, 8)));
|
||||||
void put_u32(void *, u_int32_t)
|
void put_u32(void *, uint32_t)
|
||||||
__attribute__((__bounded__( __minbytes__, 1, 4)));
|
__attribute__((__bounded__( __minbytes__, 1, 4)));
|
||||||
void put_u16(void *, u_int16_t)
|
void put_u16(void *, uint16_t)
|
||||||
__attribute__((__bounded__( __minbytes__, 1, 2)));
|
__attribute__((__bounded__( __minbytes__, 1, 2)));
|
||||||
|
|
||||||
/* Little-endian store/load, used by umac.c */
|
/* Little-endian store/load, used by umac.c */
|
||||||
u_int32_t get_u32_le(const void *)
|
uint32_t get_u32_le(const void *)
|
||||||
__attribute__((__bounded__(__minbytes__, 1, 4)));
|
__attribute__((__bounded__(__minbytes__, 1, 4)));
|
||||||
void put_u32_le(void *, u_int32_t)
|
void put_u32_le(void *, uint32_t)
|
||||||
__attribute__((__bounded__(__minbytes__, 1, 4)));
|
__attribute__((__bounded__(__minbytes__, 1, 4)));
|
||||||
|
|
||||||
struct bwlimit {
|
struct bwlimit {
|
||||||
size_t buflen;
|
size_t buflen;
|
||||||
u_int64_t rate; /* desired rate in kbit/s */
|
uint64_t rate; /* desired rate in kbit/s */
|
||||||
u_int64_t thresh; /* threshold after which we'll check timers */
|
uint64_t thresh; /* threshold after which we'll check timers */
|
||||||
u_int64_t lamt; /* amount written in last timer interval */
|
uint64_t lamt; /* amount written in last timer interval */
|
||||||
struct timeval bwstart, bwend;
|
struct timeval bwstart, bwend;
|
||||||
};
|
};
|
||||||
|
|
||||||
void bandwidth_limit_init(struct bwlimit *, u_int64_t, size_t);
|
void bandwidth_limit_init(struct bwlimit *, uint64_t, size_t);
|
||||||
void bandwidth_limit(struct bwlimit *, size_t);
|
void bandwidth_limit(struct bwlimit *, size_t);
|
||||||
|
|
||||||
int parse_ipqos(const char *);
|
int parse_ipqos(const char *);
|
||||||
@@ -265,4 +270,10 @@ int signal_is_crash(int);
|
|||||||
/* On OpenBSD time_t is int64_t which is long long. */
|
/* On OpenBSD time_t is int64_t which is long long. */
|
||||||
/* #define SSH_TIME_T_MAX LLONG_MAX */
|
/* #define SSH_TIME_T_MAX LLONG_MAX */
|
||||||
|
|
||||||
|
#define FD_CLOSEONEXEC(x) do { \
|
||||||
|
if (fcntl(x, F_SETFD, FD_CLOEXEC) == -1) \
|
||||||
|
fatal_f("fcntl(%d, F_SETFD, FD_CLOEXEC): %s", x, \
|
||||||
|
strerror(errno)); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#endif /* _MISC_H */
|
#endif /* _MISC_H */
|
||||||
|
|||||||
+90
-34
@@ -1,17 +1,18 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# $OpenBSD: mlkem768.sh,v 1.3 2024/10/27 02:06:01 djm Exp $
|
# $OpenBSD: mlkem768.sh,v 1.5 2025/11/13 05:13:06 djm Exp $
|
||||||
# Placed in the Public Domain.
|
# Placed in the Public Domain.
|
||||||
#
|
#
|
||||||
|
|
||||||
#WANT_LIBCRUX_REVISION="origin/main"
|
#WANT_LIBCRUX_REVISION="origin/main"
|
||||||
WANT_LIBCRUX_REVISION="84c5d87b3092c59294345aa269ceefe0eb97cc35"
|
WANT_LIBCRUX_REVISION="core-models-v0.0.4"
|
||||||
|
|
||||||
|
BASE="libcrux/libcrux-ml-kem/extracts/c_header_only/generated"
|
||||||
FILES="
|
FILES="
|
||||||
libcrux/libcrux-ml-kem/cg/eurydice_glue.h
|
$BASE/eurydice_glue.h
|
||||||
libcrux/libcrux-ml-kem/cg/libcrux_core.h
|
$BASE/libcrux_mlkem_core.h
|
||||||
libcrux/libcrux-ml-kem/cg/libcrux_ct_ops.h
|
$BASE/libcrux_ct_ops.h
|
||||||
libcrux/libcrux-ml-kem/cg/libcrux_sha3_portable.h
|
$BASE/libcrux_sha3_portable.h
|
||||||
libcrux/libcrux-ml-kem/cg/libcrux_mlkem768_portable.h
|
$BASE/libcrux_mlkem768_portable.h
|
||||||
"
|
"
|
||||||
|
|
||||||
START="$PWD"
|
START="$PWD"
|
||||||
@@ -40,19 +41,80 @@ echo '/*'
|
|||||||
cat libcrux/LICENSE-MIT | sed 's/^/ * /;s/ *$//'
|
cat libcrux/LICENSE-MIT | sed 's/^/ * /;s/ *$//'
|
||||||
echo ' */'
|
echo ' */'
|
||||||
echo
|
echo
|
||||||
echo '#if !defined(__GNUC__) || (__GNUC__ < 2)'
|
|
||||||
echo '# define __attribute__(x)'
|
|
||||||
echo '#endif'
|
|
||||||
echo '#define KRML_MUSTINLINE inline'
|
|
||||||
echo '#define KRML_NOINLINE __attribute__((noinline, unused))'
|
|
||||||
echo '#define KRML_HOST_EPRINTF(...)'
|
|
||||||
echo '#define KRML_HOST_EXIT(x) fatal_f("internal error")'
|
|
||||||
echo
|
|
||||||
|
|
||||||
__builtin_popcount_replacement='
|
LSHIFT="<<"
|
||||||
const uint8_t v[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
|
cat << _EOF
|
||||||
return v[x0 & 0xf] + v[(x0 >> 4) & 0xf];
|
#if !defined(__GNUC__) || (__GNUC__ < 2)
|
||||||
'
|
# define __attribute__(x)
|
||||||
|
#endif
|
||||||
|
#define KRML_MUSTINLINE inline
|
||||||
|
#define KRML_NOINLINE __attribute__((noinline, unused))
|
||||||
|
#define KRML_HOST_EPRINTF(...)
|
||||||
|
#define KRML_HOST_EXIT(x) fatal_f("internal error")
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
store64_le(uint8_t dst[8], uint64_t src)
|
||||||
|
{
|
||||||
|
dst[0] = src & 0xff;
|
||||||
|
dst[1] = (src >> 8) & 0xff;
|
||||||
|
dst[2] = (src >> 16) & 0xff;
|
||||||
|
dst[3] = (src >> 24) & 0xff;
|
||||||
|
dst[4] = (src >> 32) & 0xff;
|
||||||
|
dst[5] = (src >> 40) & 0xff;
|
||||||
|
dst[6] = (src >> 48) & 0xff;
|
||||||
|
dst[7] = (src >> 56) & 0xff;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
store32_le(uint8_t dst[4], uint32_t src)
|
||||||
|
{
|
||||||
|
dst[0] = src & 0xff;
|
||||||
|
dst[1] = (src >> 8) & 0xff;
|
||||||
|
dst[2] = (src >> 16) & 0xff;
|
||||||
|
dst[3] = (src >> 24) & 0xff;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
store32_be(uint8_t dst[4], uint32_t src)
|
||||||
|
{
|
||||||
|
dst[0] = (src >> 24) & 0xff;
|
||||||
|
dst[1] = (src >> 16) & 0xff;
|
||||||
|
dst[2] = (src >> 8) & 0xff;
|
||||||
|
dst[3] = src & 0xff;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uint64_t
|
||||||
|
load64_le(uint8_t src[8])
|
||||||
|
{
|
||||||
|
return (uint64_t)(src[0]) |
|
||||||
|
((uint64_t)(src[1]) $LSHIFT 8) |
|
||||||
|
((uint64_t)(src[2]) $LSHIFT 16) |
|
||||||
|
((uint64_t)(src[3]) $LSHIFT 24) |
|
||||||
|
((uint64_t)(src[4]) $LSHIFT 32) |
|
||||||
|
((uint64_t)(src[5]) $LSHIFT 40) |
|
||||||
|
((uint64_t)(src[6]) $LSHIFT 48) |
|
||||||
|
((uint64_t)(src[7]) $LSHIFT 56);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uint32_t
|
||||||
|
load32_le(uint8_t src[4])
|
||||||
|
{
|
||||||
|
return (uint32_t)(src[0]) |
|
||||||
|
((uint32_t)(src[1]) $LSHIFT 8) |
|
||||||
|
((uint32_t)(src[2]) $LSHIFT 16) |
|
||||||
|
((uint32_t)(src[3]) $LSHIFT 24);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef MISSING_BUILTIN_POPCOUNT
|
||||||
|
static inline unsigned int
|
||||||
|
__builtin_popcount(unsigned int num)
|
||||||
|
{
|
||||||
|
const int v[16] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 };
|
||||||
|
return v[num & 0xf] + v[(num >> 4) & 0xf];
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
_EOF
|
||||||
|
|
||||||
for i in $FILES; do
|
for i in $FILES; do
|
||||||
echo "/* from $i */"
|
echo "/* from $i */"
|
||||||
@@ -63,14 +125,9 @@ for i in $FILES; do
|
|||||||
-e 's/[ ]*$//' \
|
-e 's/[ ]*$//' \
|
||||||
$i | \
|
$i | \
|
||||||
case "$i" in
|
case "$i" in
|
||||||
*/libcrux-ml-kem/cg/eurydice_glue.h)
|
*/eurydice_glue.h)
|
||||||
# Replace endian functions with versions that work.
|
# Replace endian function for consistency.
|
||||||
perl -0777 -pe 's/(static inline void core_num__u64_9__to_le_bytes.*\n)([^}]*\n)/\1 v = htole64(v);\n\2/' |
|
perl -0777 -pe 's/(static inline void core_num__u32__to_be_bytes.*\n)([^}]*\n)/\1 store32_be(dst, src);\n/'
|
||||||
perl -0777 -pe 's/(static inline uint64_t core_num__u64_9__from_le_bytes.*?)return v;/\1return le64toh(v);/s' |
|
|
||||||
perl -0777 -pe 's/(static inline uint32_t core_num__u32_8__from_le_bytes.*?)return v;/\1return le32toh(v);/s' |
|
|
||||||
# Compat for popcount.
|
|
||||||
perl -0777 -pe 's/\#ifdef (_MSC_VER)(.*?return __popcnt\(x0\);)/\#if defined(\1)\2/s' |
|
|
||||||
perl -0777 -pe "s/\\#else(\\n\\s+return __builtin_popcount\\(x0\\);)/\\#elif !defined(MISSING_BUILTIN_POPCOUNT)\\1\\n#else$__builtin_popcount_replacement/s"
|
|
||||||
;;
|
;;
|
||||||
# Default: pass through.
|
# Default: pass through.
|
||||||
*)
|
*)
|
||||||
@@ -83,11 +140,10 @@ done
|
|||||||
echo
|
echo
|
||||||
echo '/* rename some types to be a bit more ergonomic */'
|
echo '/* rename some types to be a bit more ergonomic */'
|
||||||
echo '#define libcrux_mlkem768_keypair libcrux_ml_kem_mlkem768_MlKem768KeyPair_s'
|
echo '#define libcrux_mlkem768_keypair libcrux_ml_kem_mlkem768_MlKem768KeyPair_s'
|
||||||
echo '#define libcrux_mlkem768_pk_valid_result Option_92_s'
|
echo '#define libcrux_mlkem768_pk libcrux_ml_kem_types_MlKemPublicKey_30_s'
|
||||||
echo '#define libcrux_mlkem768_pk libcrux_ml_kem_types_MlKemPublicKey_15_s'
|
echo '#define libcrux_mlkem768_sk libcrux_ml_kem_types_MlKemPrivateKey_d9_s'
|
||||||
echo '#define libcrux_mlkem768_sk libcrux_ml_kem_types_MlKemPrivateKey_55_s'
|
|
||||||
echo '#define libcrux_mlkem768_ciphertext libcrux_ml_kem_mlkem768_MlKem768Ciphertext_s'
|
echo '#define libcrux_mlkem768_ciphertext libcrux_ml_kem_mlkem768_MlKem768Ciphertext_s'
|
||||||
echo '#define libcrux_mlkem768_enc_result tuple_3c_s'
|
echo '#define libcrux_mlkem768_enc_result tuple_c2_s'
|
||||||
) > libcrux_mlkem768_sha3.h_new
|
) > libcrux_mlkem768_sha3.h_new
|
||||||
|
|
||||||
# Do some checks on the resultant file
|
# Do some checks on the resultant file
|
||||||
@@ -140,13 +196,13 @@ int main(void) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
_EOF
|
_EOF
|
||||||
cc -Wall -Wextra -Wno-unused-parameter -o libcrux_mlkem768_sha3_check \
|
cc -Wall -Wextra -Wno-unused-parameter -I . -o libcrux_mlkem768_sha3_check \
|
||||||
libcrux_mlkem768_sha3_check.c
|
libcrux_mlkem768_sha3_check.c
|
||||||
./libcrux_mlkem768_sha3_check
|
./libcrux_mlkem768_sha3_check
|
||||||
|
|
||||||
# Extract PRNG inputs; there's no nice #defines for these
|
# Extract PRNG inputs; there's no nice #defines for these
|
||||||
key_pair_rng_len=`sed -e '/^libcrux_ml_kem_mlkem768_portable_kyber_generate_key_pair[(]$/,/[)] {$/!d' < libcrux_mlkem768_sha3.h_new | grep 'uint8_t randomness\[[0-9]*U\][)]' | sed 's/.*randomness\[\([0-9]*\)U\].*/\1/'`
|
key_pair_rng_len=`grep '^libcrux_ml_kem_mlkem768_portable_generate_key_pair.*randomness' libcrux_mlkem768_sha3.h_new | sed 's/.*randomness[[]//;s/\].*//'`
|
||||||
enc_rng_len=`sed -e '/^static inline tuple_3c libcrux_ml_kem_mlkem768_portable_kyber_encapsulate[(]$/,/[)] {$/!d' < libcrux_mlkem768_sha3.h_new | grep 'uint8_t randomness\[[0-9]*U\][)]' | sed 's/.*randomness\[\([0-9]*\)U\].*/\1/'`
|
enc_rng_len=`sed -e '/^static inline tuple_c2 libcrux_ml_kem_mlkem768_portable_encapsulate[(]$/,/[)] {$/!d' < libcrux_mlkem768_sha3.h_new | grep 'uint8_t randomness\[[0-9]*U\][)]' | sed 's/.*randomness\[\([0-9]*\)U\].*/\1/'`
|
||||||
test -z "$key_pair_rng_len" && die "couldn't find size of libcrux_ml_kem_mlkem768_portable_kyber_generate_key_pair randomness argument"
|
test -z "$key_pair_rng_len" && die "couldn't find size of libcrux_ml_kem_mlkem768_portable_kyber_generate_key_pair randomness argument"
|
||||||
test -z "$enc_rng_len" && die "couldn't find size of libcrux_ml_kem_mlkem768_portable_kyber_encapsulate randomness argument"
|
test -z "$enc_rng_len" && die "couldn't find size of libcrux_ml_kem_mlkem768_portable_kyber_encapsulate randomness argument"
|
||||||
|
|
||||||
|
|||||||
+585
-426
File diff suppressed because it is too large
Load Diff
+25
-25
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: moduli.c,v 1.40 2025/05/24 03:39:48 dtucker Exp $ */
|
/* $OpenBSD: moduli.c,v 1.41 2026/03/03 09:57:25 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright 1994 Phil Karn <karn@qualcomm.com>
|
* Copyright 1994 Phil Karn <karn@qualcomm.com>
|
||||||
* Copyright 1996-1998, 2003 William Allen Simpson <wsimpson@greendragon.com>
|
* Copyright 1996-1998, 2003 William Allen Simpson <wsimpson@greendragon.com>
|
||||||
@@ -125,26 +125,26 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* sieve 2**16 */
|
/* sieve 2**16 */
|
||||||
static u_int32_t *TinySieve, tinybits;
|
static uint32_t *TinySieve, tinybits;
|
||||||
|
|
||||||
/* sieve 2**30 in 2**16 parts */
|
/* sieve 2**30 in 2**16 parts */
|
||||||
static u_int32_t *SmallSieve, smallbits, smallbase;
|
static uint32_t *SmallSieve, smallbits, smallbase;
|
||||||
|
|
||||||
/* sieve relative to the initial value */
|
/* sieve relative to the initial value */
|
||||||
static u_int32_t *LargeSieve, largewords, largetries, largenumbers;
|
static uint32_t *LargeSieve, largewords, largetries, largenumbers;
|
||||||
static u_int32_t largebits, largememory; /* megabytes */
|
static uint32_t largebits, largememory; /* megabytes */
|
||||||
static BIGNUM *largebase;
|
static BIGNUM *largebase;
|
||||||
|
|
||||||
int gen_candidates(FILE *, u_int32_t, BIGNUM *);
|
int gen_candidates(FILE *, uint32_t, BIGNUM *);
|
||||||
int prime_test(FILE *, FILE *, u_int32_t, u_int32_t, char *, unsigned long,
|
int prime_test(FILE *, FILE *, uint32_t, uint32_t, char *, unsigned long,
|
||||||
unsigned long);
|
unsigned long);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* print moduli out in consistent form,
|
* print moduli out in consistent form,
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
qfileout(FILE * ofile, u_int32_t otype, u_int32_t otests, u_int32_t otries,
|
qfileout(FILE * ofile, uint32_t otype, uint32_t otests, uint32_t otries,
|
||||||
u_int32_t osize, u_int32_t ogenerator, BIGNUM * omodulus)
|
uint32_t osize, uint32_t ogenerator, BIGNUM * omodulus)
|
||||||
{
|
{
|
||||||
struct tm *gtm;
|
struct tm *gtm;
|
||||||
time_t time_now;
|
time_t time_now;
|
||||||
@@ -177,9 +177,9 @@ qfileout(FILE * ofile, u_int32_t otype, u_int32_t otests, u_int32_t otries,
|
|||||||
** Sieve p's and q's with small factors
|
** Sieve p's and q's with small factors
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
sieve_large(u_int32_t s32)
|
sieve_large(uint32_t s32)
|
||||||
{
|
{
|
||||||
u_int64_t r, u, s = s32;
|
uint64_t r, u, s = s32;
|
||||||
|
|
||||||
debug3("sieve_large %u", s32);
|
debug3("sieve_large %u", s32);
|
||||||
largetries++;
|
largetries++;
|
||||||
@@ -235,14 +235,14 @@ sieve_large(u_int32_t s32)
|
|||||||
* The list is checked against small known primes (less than 2**30).
|
* The list is checked against small known primes (less than 2**30).
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
gen_candidates(FILE *out, u_int32_t power, BIGNUM *start)
|
gen_candidates(FILE *out, uint32_t power, BIGNUM *start)
|
||||||
{
|
{
|
||||||
BIGNUM *q;
|
BIGNUM *q;
|
||||||
u_int32_t j, r, s, t;
|
uint32_t j, r, s, t;
|
||||||
u_int32_t smallwords = TINY_NUMBER >> 6;
|
uint32_t smallwords = TINY_NUMBER >> 6;
|
||||||
u_int32_t tinywords = TINY_NUMBER >> 6;
|
uint32_t tinywords = TINY_NUMBER >> 6;
|
||||||
time_t time_start, time_stop;
|
time_t time_start, time_stop;
|
||||||
u_int32_t i;
|
uint32_t i;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -262,13 +262,13 @@ gen_candidates(FILE *out, u_int32_t power, BIGNUM *start)
|
|||||||
largememory = LARGE_MAXIMUM;
|
largememory = LARGE_MAXIMUM;
|
||||||
largewords = (largememory << SHIFT_MEGAWORD);
|
largewords = (largememory << SHIFT_MEGAWORD);
|
||||||
|
|
||||||
TinySieve = xcalloc(tinywords, sizeof(u_int32_t));
|
TinySieve = xcalloc(tinywords, sizeof(uint32_t));
|
||||||
tinybits = tinywords << SHIFT_WORD;
|
tinybits = tinywords << SHIFT_WORD;
|
||||||
|
|
||||||
SmallSieve = xcalloc(smallwords, sizeof(u_int32_t));
|
SmallSieve = xcalloc(smallwords, sizeof(uint32_t));
|
||||||
smallbits = smallwords << SHIFT_WORD;
|
smallbits = smallwords << SHIFT_WORD;
|
||||||
|
|
||||||
LargeSieve = xcalloc(largewords, sizeof(u_int32_t));
|
LargeSieve = xcalloc(largewords, sizeof(uint32_t));
|
||||||
largebits = largewords << SHIFT_WORD;
|
largebits = largewords << SHIFT_WORD;
|
||||||
largenumbers = largebits * 2; /* even numbers excluded */
|
largenumbers = largebits * 2; /* even numbers excluded */
|
||||||
|
|
||||||
@@ -403,7 +403,7 @@ gen_candidates(FILE *out, u_int32_t power, BIGNUM *start)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
write_checkpoint(char *cpfile, u_int32_t lineno)
|
write_checkpoint(char *cpfile, uint32_t lineno)
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char tmp[PATH_MAX];
|
char tmp[PATH_MAX];
|
||||||
@@ -532,13 +532,13 @@ print_progress(unsigned long start_lineno, unsigned long current_lineno,
|
|||||||
* The result is a list of so-call "safe" primes
|
* The result is a list of so-call "safe" primes
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
prime_test(FILE *in, FILE *out, u_int32_t trials, u_int32_t generator_wanted,
|
prime_test(FILE *in, FILE *out, uint32_t trials, uint32_t generator_wanted,
|
||||||
char *checkpoint_file, unsigned long start_lineno, unsigned long num_lines)
|
char *checkpoint_file, unsigned long start_lineno, unsigned long num_lines)
|
||||||
{
|
{
|
||||||
BIGNUM *q, *p, *a;
|
BIGNUM *q, *p, *a;
|
||||||
char *cp, *lp;
|
char *cp, *lp;
|
||||||
u_int32_t count_in = 0, count_out = 0, count_possible = 0;
|
uint32_t count_in = 0, count_out = 0, count_possible = 0;
|
||||||
u_int32_t generator_known, in_tests, in_tries, in_type, in_size;
|
uint32_t generator_known, in_tests, in_tries, in_type, in_size;
|
||||||
unsigned long last_processed = 0, end_lineno;
|
unsigned long last_processed = 0, end_lineno;
|
||||||
time_t time_start, time_stop;
|
time_t time_start, time_stop;
|
||||||
int res, is_prime;
|
int res, is_prime;
|
||||||
@@ -653,7 +653,7 @@ prime_test(FILE *in, FILE *out, u_int32_t trials, u_int32_t generator_wanted,
|
|||||||
* due to earlier inconsistencies in interpretation, check
|
* due to earlier inconsistencies in interpretation, check
|
||||||
* the proposed bit size.
|
* the proposed bit size.
|
||||||
*/
|
*/
|
||||||
if ((u_int32_t)BN_num_bits(p) != (in_size + 1)) {
|
if ((uint32_t)BN_num_bits(p) != (in_size + 1)) {
|
||||||
debug2("%10u: bit size %u mismatch", count_in, in_size);
|
debug2("%10u: bit size %u mismatch", count_in, in_size);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -674,7 +674,7 @@ prime_test(FILE *in, FILE *out, u_int32_t trials, u_int32_t generator_wanted,
|
|||||||
if (BN_mod_word(p, 24) == 11)
|
if (BN_mod_word(p, 24) == 11)
|
||||||
generator_known = 2;
|
generator_known = 2;
|
||||||
else {
|
else {
|
||||||
u_int32_t r = BN_mod_word(p, 10);
|
uint32_t r = BN_mod_word(p, 10);
|
||||||
|
|
||||||
if (r == 3 || r == 7)
|
if (r == 3 || r == 7)
|
||||||
generator_known = 5;
|
generator_known = 5;
|
||||||
|
|||||||
+51
-16
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: monitor.c,v 1.249 2025/09/25 06:45:50 djm Exp $ */
|
/* $OpenBSD: monitor.c,v 1.255 2026/03/28 05:06:16 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
||||||
* Copyright 2002 Markus Friedl <markus@openbsd.org>
|
* Copyright 2002 Markus Friedl <markus@openbsd.org>
|
||||||
@@ -28,29 +28,29 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/socket.h>
|
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/tree.h>
|
||||||
|
#include <sys/queue.h>
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <paths.h>
|
#include <paths.h>
|
||||||
|
#include <poll.h>
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdarg.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <poll.h>
|
|
||||||
|
|
||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
#include <openssl/dh.h>
|
#include <openssl/dh.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "openbsd-compat/sys-tree.h"
|
|
||||||
#include "openbsd-compat/sys-queue.h"
|
|
||||||
#include "openbsd-compat/openssl-compat.h"
|
#include "openbsd-compat/openssl-compat.h"
|
||||||
|
|
||||||
#include "atomicio.h"
|
#include "atomicio.h"
|
||||||
@@ -108,6 +108,7 @@ static struct sshbuf *child_state;
|
|||||||
/* Functions on the monitor that answer unprivileged requests */
|
/* Functions on the monitor that answer unprivileged requests */
|
||||||
|
|
||||||
int mm_answer_moduli(struct ssh *, int, struct sshbuf *);
|
int mm_answer_moduli(struct ssh *, int, struct sshbuf *);
|
||||||
|
int mm_answer_setcompat(struct ssh *, int, struct sshbuf *);
|
||||||
int mm_answer_sign(struct ssh *, int, struct sshbuf *);
|
int mm_answer_sign(struct ssh *, int, struct sshbuf *);
|
||||||
int mm_answer_pwnamallow(struct ssh *, int, struct sshbuf *);
|
int mm_answer_pwnamallow(struct ssh *, int, struct sshbuf *);
|
||||||
int mm_answer_auth2_read_banner(struct ssh *, int, struct sshbuf *);
|
int mm_answer_auth2_read_banner(struct ssh *, int, struct sshbuf *);
|
||||||
@@ -157,7 +158,9 @@ static char *auth_submethod = NULL;
|
|||||||
static u_int session_id2_len = 0;
|
static u_int session_id2_len = 0;
|
||||||
static u_char *session_id2 = NULL;
|
static u_char *session_id2 = NULL;
|
||||||
static pid_t monitor_child_pid;
|
static pid_t monitor_child_pid;
|
||||||
int auth_attempted = 0;
|
static int auth_attempted = 0;
|
||||||
|
static int invalid_user = 0;
|
||||||
|
static int compat_set = 0;
|
||||||
|
|
||||||
struct mon_table {
|
struct mon_table {
|
||||||
enum monitor_reqtype type;
|
enum monitor_reqtype type;
|
||||||
@@ -183,6 +186,7 @@ struct mon_table mon_dispatch_proto20[] = {
|
|||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
{MONITOR_REQ_MODULI, MON_ONCE, mm_answer_moduli},
|
{MONITOR_REQ_MODULI, MON_ONCE, mm_answer_moduli},
|
||||||
#endif
|
#endif
|
||||||
|
{MONITOR_REQ_SETCOMPAT, MON_ONCE, mm_answer_setcompat},
|
||||||
{MONITOR_REQ_SIGN, MON_ONCE, mm_answer_sign},
|
{MONITOR_REQ_SIGN, MON_ONCE, mm_answer_sign},
|
||||||
{MONITOR_REQ_PWNAM, MON_ONCE, mm_answer_pwnamallow},
|
{MONITOR_REQ_PWNAM, MON_ONCE, mm_answer_pwnamallow},
|
||||||
{MONITOR_REQ_AUTHSERV, MON_ONCE, mm_answer_authserv},
|
{MONITOR_REQ_AUTHSERV, MON_ONCE, mm_answer_authserv},
|
||||||
@@ -284,6 +288,7 @@ monitor_child_preauth(struct ssh *ssh, struct monitor *pmonitor)
|
|||||||
/* Permit requests for state, moduli and signatures */
|
/* Permit requests for state, moduli and signatures */
|
||||||
monitor_permit(mon_dispatch, MONITOR_REQ_STATE, 1);
|
monitor_permit(mon_dispatch, MONITOR_REQ_STATE, 1);
|
||||||
monitor_permit(mon_dispatch, MONITOR_REQ_MODULI, 1);
|
monitor_permit(mon_dispatch, MONITOR_REQ_MODULI, 1);
|
||||||
|
monitor_permit(mon_dispatch, MONITOR_REQ_SETCOMPAT, 1);
|
||||||
monitor_permit(mon_dispatch, MONITOR_REQ_SIGN, 1);
|
monitor_permit(mon_dispatch, MONITOR_REQ_SIGN, 1);
|
||||||
|
|
||||||
/* The first few requests do not require asynchronous access */
|
/* The first few requests do not require asynchronous access */
|
||||||
@@ -694,7 +699,6 @@ mm_answer_moduli(struct ssh *ssh, int sock, struct sshbuf *m)
|
|||||||
if (dh == NULL) {
|
if (dh == NULL) {
|
||||||
if ((r = sshbuf_put_u8(m, 0)) != 0)
|
if ((r = sshbuf_put_u8(m, 0)) != 0)
|
||||||
fatal_fr(r, "assemble empty");
|
fatal_fr(r, "assemble empty");
|
||||||
return (0);
|
|
||||||
} else {
|
} else {
|
||||||
/* Send first bignum */
|
/* Send first bignum */
|
||||||
DH_get0_pqg(dh, &dh_p, NULL, &dh_g);
|
DH_get0_pqg(dh, &dh_p, NULL, &dh_g);
|
||||||
@@ -710,6 +714,20 @@ mm_answer_moduli(struct ssh *ssh, int sock, struct sshbuf *m)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
int
|
||||||
|
mm_answer_setcompat(struct ssh *ssh, int sock, struct sshbuf *m)
|
||||||
|
{
|
||||||
|
int r;
|
||||||
|
|
||||||
|
debug3_f("entering");
|
||||||
|
|
||||||
|
if ((r = sshbuf_get_u32(m, &ssh->compat)) != 0)
|
||||||
|
fatal_fr(r, "parse");
|
||||||
|
compat_set = 1;
|
||||||
|
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
mm_answer_sign(struct ssh *ssh, int sock, struct sshbuf *m)
|
mm_answer_sign(struct ssh *ssh, int sock, struct sshbuf *m)
|
||||||
{
|
{
|
||||||
@@ -725,6 +743,10 @@ mm_answer_sign(struct ssh *ssh, int sock, struct sshbuf *m)
|
|||||||
|
|
||||||
debug3_f("entering");
|
debug3_f("entering");
|
||||||
|
|
||||||
|
/* Make sure the unpriv process sent the compat bits already */
|
||||||
|
if (!compat_set)
|
||||||
|
fatal_f("state error: setcompat never called");
|
||||||
|
|
||||||
if ((r = sshkey_froms(m, &pubkey)) != 0 ||
|
if ((r = sshkey_froms(m, &pubkey)) != 0 ||
|
||||||
(r = sshbuf_get_string(m, &p, &datlen)) != 0 ||
|
(r = sshbuf_get_string(m, &p, &datlen)) != 0 ||
|
||||||
(r = sshbuf_get_cstring(m, &alg, NULL)) != 0 ||
|
(r = sshbuf_get_cstring(m, &alg, NULL)) != 0 ||
|
||||||
@@ -831,7 +853,7 @@ mm_encode_server_options(struct sshbuf *m)
|
|||||||
(r = sshbuf_put_cstring(m, options.x)) != 0) \
|
(r = sshbuf_put_cstring(m, options.x)) != 0) \
|
||||||
fatal_fr(r, "assemble %s", #x); \
|
fatal_fr(r, "assemble %s", #x); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#define M_CP_STRARRAYOPT(x, nx) do { \
|
#define M_CP_STRARRAYOPT(x, nx, clobber) do { \
|
||||||
for (i = 0; i < options.nx; i++) { \
|
for (i = 0; i < options.nx; i++) { \
|
||||||
if ((r = sshbuf_put_cstring(m, options.x[i])) != 0) \
|
if ((r = sshbuf_put_cstring(m, options.x[i])) != 0) \
|
||||||
fatal_fr(r, "assemble %s", #x); \
|
fatal_fr(r, "assemble %s", #x); \
|
||||||
@@ -852,6 +874,10 @@ mm_answer_pwnamallow(struct ssh *ssh, int sock, struct sshbuf *m)
|
|||||||
|
|
||||||
debug3_f("entering");
|
debug3_f("entering");
|
||||||
|
|
||||||
|
/* Make sure the unpriv process sent the compat bits already */
|
||||||
|
if (!compat_set)
|
||||||
|
fatal_f("state error: setcompat never called");
|
||||||
|
|
||||||
if (authctxt->attempt++ != 0)
|
if (authctxt->attempt++ != 0)
|
||||||
fatal_f("multiple attempts for getpwnam");
|
fatal_f("multiple attempts for getpwnam");
|
||||||
|
|
||||||
@@ -865,6 +891,7 @@ mm_answer_pwnamallow(struct ssh *ssh, int sock, struct sshbuf *m)
|
|||||||
sshbuf_reset(m);
|
sshbuf_reset(m);
|
||||||
|
|
||||||
if (pwent == NULL) {
|
if (pwent == NULL) {
|
||||||
|
invalid_user = 1;
|
||||||
if ((r = sshbuf_put_u8(m, 0)) != 0)
|
if ((r = sshbuf_put_u8(m, 0)) != 0)
|
||||||
fatal_fr(r, "assemble fakepw");
|
fatal_fr(r, "assemble fakepw");
|
||||||
authctxt->pw = fakepw();
|
authctxt->pw = fakepw();
|
||||||
@@ -1139,6 +1166,7 @@ mm_answer_pam_account(struct ssh *ssh, int sock, struct sshbuf *m)
|
|||||||
if ((r = sshbuf_put_u32(m, ret)) != 0 ||
|
if ((r = sshbuf_put_u32(m, ret)) != 0 ||
|
||||||
(r = sshbuf_put_stringb(m, loginmsg)) != 0)
|
(r = sshbuf_put_stringb(m, loginmsg)) != 0)
|
||||||
fatal_fr(r, "buffer error");
|
fatal_fr(r, "buffer error");
|
||||||
|
sshbuf_reset(loginmsg);
|
||||||
|
|
||||||
mm_request_send(sock, MONITOR_ANS_PAM_ACCOUNT, m);
|
mm_request_send(sock, MONITOR_ANS_PAM_ACCOUNT, m);
|
||||||
|
|
||||||
@@ -1186,7 +1214,7 @@ mm_answer_pam_query(struct ssh *ssh, int sock, struct sshbuf *m)
|
|||||||
fatal_f("no context");
|
fatal_f("no context");
|
||||||
ret = (sshpam_device.query)(sshpam_ctxt, &name, &info,
|
ret = (sshpam_device.query)(sshpam_ctxt, &name, &info,
|
||||||
&num, &prompts, &echo_on);
|
&num, &prompts, &echo_on);
|
||||||
if (ret == 0 && num == 0)
|
if (ret == 0 && num == 0 && sshpam_priv_kbdint_authdone(sshpam_ctxt))
|
||||||
sshpam_authok = sshpam_ctxt;
|
sshpam_authok = sshpam_ctxt;
|
||||||
if (num > 1 || name == NULL || info == NULL)
|
if (num > 1 || name == NULL || info == NULL)
|
||||||
fatal("sshpam_device.query failed");
|
fatal("sshpam_device.query failed");
|
||||||
@@ -1900,11 +1928,6 @@ mm_get_keystate(struct ssh *ssh, struct monitor *pmonitor)
|
|||||||
|
|
||||||
/* XXX */
|
/* XXX */
|
||||||
|
|
||||||
#define FD_CLOSEONEXEC(x) do { \
|
|
||||||
if (fcntl(x, F_SETFD, FD_CLOEXEC) == -1) \
|
|
||||||
fatal("fcntl(%d, F_SETFD)", x); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
monitor_openfds(struct monitor *mon, int do_logfds)
|
monitor_openfds(struct monitor *mon, int do_logfds)
|
||||||
{
|
{
|
||||||
@@ -1954,6 +1977,18 @@ monitor_reinit(struct monitor *mon)
|
|||||||
monitor_openfds(mon, 0);
|
monitor_openfds(mon, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
monitor_auth_attempted(void)
|
||||||
|
{
|
||||||
|
return auth_attempted;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
monitor_invalid_user(void)
|
||||||
|
{
|
||||||
|
return invalid_user;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef GSSAPI
|
#ifdef GSSAPI
|
||||||
int
|
int
|
||||||
mm_answer_gss_setup_ctx(struct ssh *ssh, int sock, struct sshbuf *m)
|
mm_answer_gss_setup_ctx(struct ssh *ssh, int sock, struct sshbuf *m)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: monitor.h,v 1.24 2024/05/17 00:30:24 djm Exp $ */
|
/* $OpenBSD: monitor.h,v 1.28 2026/03/02 02:40:15 djm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
||||||
@@ -39,6 +39,7 @@ enum monitor_reqtype {
|
|||||||
MONITOR_REQ_AUTHPASSWORD = 12, MONITOR_ANS_AUTHPASSWORD = 13,
|
MONITOR_REQ_AUTHPASSWORD = 12, MONITOR_ANS_AUTHPASSWORD = 13,
|
||||||
MONITOR_REQ_BSDAUTHQUERY = 14, MONITOR_ANS_BSDAUTHQUERY = 15,
|
MONITOR_REQ_BSDAUTHQUERY = 14, MONITOR_ANS_BSDAUTHQUERY = 15,
|
||||||
MONITOR_REQ_BSDAUTHRESPOND = 16, MONITOR_ANS_BSDAUTHRESPOND = 17,
|
MONITOR_REQ_BSDAUTHRESPOND = 16, MONITOR_ANS_BSDAUTHRESPOND = 17,
|
||||||
|
MONITOR_REQ_SETCOMPAT = 18,
|
||||||
MONITOR_REQ_KEYALLOWED = 22, MONITOR_ANS_KEYALLOWED = 23,
|
MONITOR_REQ_KEYALLOWED = 22, MONITOR_ANS_KEYALLOWED = 23,
|
||||||
MONITOR_REQ_KEYVERIFY = 24, MONITOR_ANS_KEYVERIFY = 25,
|
MONITOR_REQ_KEYVERIFY = 24, MONITOR_ANS_KEYVERIFY = 25,
|
||||||
MONITOR_REQ_KEYEXPORT = 26,
|
MONITOR_REQ_KEYEXPORT = 26,
|
||||||
@@ -88,6 +89,9 @@ void monitor_child_postauth(struct ssh *, struct monitor *);
|
|||||||
void monitor_clear_keystate(struct ssh *, struct monitor *);
|
void monitor_clear_keystate(struct ssh *, struct monitor *);
|
||||||
void monitor_apply_keystate(struct ssh *, struct monitor *);
|
void monitor_apply_keystate(struct ssh *, struct monitor *);
|
||||||
|
|
||||||
|
int monitor_auth_attempted(void);
|
||||||
|
int monitor_invalid_user(void);
|
||||||
|
|
||||||
/* Prototypes for request sending and receiving */
|
/* Prototypes for request sending and receiving */
|
||||||
void mm_request_send(int, enum monitor_reqtype, struct sshbuf *);
|
void mm_request_send(int, enum monitor_reqtype, struct sshbuf *);
|
||||||
void mm_request_receive(int, struct sshbuf *);
|
void mm_request_receive(int, struct sshbuf *);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: monitor_fdpass.c,v 1.22 2020/10/18 11:32:01 djm Exp $ */
|
/* $OpenBSD: monitor_fdpass.c,v 1.23 2026/02/08 19:54:31 dtucker Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright 2001 Niels Provos <provos@citi.umich.edu>
|
* Copyright 2001 Niels Provos <provos@citi.umich.edu>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
@@ -32,11 +32,10 @@
|
|||||||
#include <sys/un.h>
|
#include <sys/un.h>
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <poll.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#include <poll.h>
|
|
||||||
|
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "monitor_fdpass.h"
|
#include "monitor_fdpass.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: monitor_wrap.c,v 1.142 2025/09/25 06:31:42 djm Exp $ */
|
/* $OpenBSD: monitor_wrap.c,v 1.146 2026/03/02 02:40:15 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
||||||
* Copyright 2002 Markus Friedl <markus@openbsd.org>
|
* Copyright 2002 Markus Friedl <markus@openbsd.org>
|
||||||
@@ -29,6 +29,7 @@
|
|||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/uio.h>
|
#include <sys/uio.h>
|
||||||
|
#include <sys/queue.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@@ -45,7 +46,6 @@
|
|||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "openbsd-compat/sys-queue.h"
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
#include "ssh.h"
|
#include "ssh.h"
|
||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
@@ -106,8 +106,13 @@ mm_log_handler(LogLevel level, int forced, const char *msg, void *ctx)
|
|||||||
fatal_f("bad length %zu", len);
|
fatal_f("bad length %zu", len);
|
||||||
POKE_U32(sshbuf_mutable_ptr(log_msg), len - 4);
|
POKE_U32(sshbuf_mutable_ptr(log_msg), len - 4);
|
||||||
if (atomicio(vwrite, mon->m_log_sendfd,
|
if (atomicio(vwrite, mon->m_log_sendfd,
|
||||||
sshbuf_mutable_ptr(log_msg), len) != len)
|
sshbuf_mutable_ptr(log_msg), len) != len) {
|
||||||
|
if (errno == EPIPE) {
|
||||||
|
debug_f("write: %s", strerror(errno));
|
||||||
|
cleanup_exit(255);
|
||||||
|
}
|
||||||
fatal_f("write: %s", strerror(errno));
|
fatal_f("write: %s", strerror(errno));
|
||||||
|
}
|
||||||
sshbuf_free(log_msg);
|
sshbuf_free(log_msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -249,6 +254,21 @@ mm_choose_dh(int min, int nbits, int max)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void
|
||||||
|
mm_sshkey_setcompat(struct ssh *ssh)
|
||||||
|
{
|
||||||
|
struct sshbuf *m;
|
||||||
|
int r;
|
||||||
|
|
||||||
|
debug3_f("entering");
|
||||||
|
if ((m = sshbuf_new()) == NULL)
|
||||||
|
fatal_f("sshbuf_new failed");
|
||||||
|
if ((r = sshbuf_put_u32(m, ssh->compat)) != 0)
|
||||||
|
fatal_fr(r, "assemble");
|
||||||
|
|
||||||
|
mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_SETCOMPAT, m);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
mm_sshkey_sign(struct ssh *ssh, struct sshkey *key, u_char **sigp, size_t *lenp,
|
mm_sshkey_sign(struct ssh *ssh, struct sshkey *key, u_char **sigp, size_t *lenp,
|
||||||
const u_char *data, size_t datalen, const char *hostkey_alg,
|
const u_char *data, size_t datalen, const char *hostkey_alg,
|
||||||
@@ -300,7 +320,7 @@ mm_decode_activate_server_options(struct ssh *ssh, struct sshbuf *m)
|
|||||||
(r = sshbuf_get_cstring(m, &newopts->x, NULL)) != 0) \
|
(r = sshbuf_get_cstring(m, &newopts->x, NULL)) != 0) \
|
||||||
fatal_fr(r, "parse %s", #x); \
|
fatal_fr(r, "parse %s", #x); \
|
||||||
} while (0)
|
} while (0)
|
||||||
#define M_CP_STRARRAYOPT(x, nx) do { \
|
#define M_CP_STRARRAYOPT(x, nx, clobber) do { \
|
||||||
newopts->x = newopts->nx == 0 ? \
|
newopts->x = newopts->nx == 0 ? \
|
||||||
NULL : xcalloc(newopts->nx, sizeof(*newopts->x)); \
|
NULL : xcalloc(newopts->nx, sizeof(*newopts->x)); \
|
||||||
for (i = 0; i < newopts->nx; i++) { \
|
for (i = 0; i < newopts->nx; i++) { \
|
||||||
@@ -322,7 +342,7 @@ mm_decode_activate_server_options(struct ssh *ssh, struct sshbuf *m)
|
|||||||
|
|
||||||
/* use the macro hell to clean up too */
|
/* use the macro hell to clean up too */
|
||||||
#define M_CP_STROPT(x) free(newopts->x)
|
#define M_CP_STROPT(x) free(newopts->x)
|
||||||
#define M_CP_STRARRAYOPT(x, nx) do { \
|
#define M_CP_STRARRAYOPT(x, nx, clobber) do { \
|
||||||
for (i = 0; i < newopts->nx; i++) \
|
for (i = 0; i < newopts->nx; i++) \
|
||||||
free(newopts->x[i]); \
|
free(newopts->x[i]); \
|
||||||
free(newopts->x); \
|
free(newopts->x); \
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: monitor_wrap.h,v 1.53 2025/07/04 07:47:35 djm Exp $ */
|
/* $OpenBSD: monitor_wrap.h,v 1.54 2026/03/02 02:40:15 djm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
* Copyright 2002 Niels Provos <provos@citi.umich.edu>
|
||||||
@@ -46,6 +46,7 @@ int mm_is_monitor(void);
|
|||||||
#ifdef WITH_OPENSSL
|
#ifdef WITH_OPENSSL
|
||||||
DH *mm_choose_dh(int, int, int);
|
DH *mm_choose_dh(int, int, int);
|
||||||
#endif
|
#endif
|
||||||
|
void mm_sshkey_setcompat(struct ssh *);
|
||||||
int mm_sshkey_sign(struct ssh *, struct sshkey *, u_char **, size_t *,
|
int mm_sshkey_sign(struct ssh *, struct sshkey *, u_char **, size_t *,
|
||||||
const u_char *, size_t, const char *, const char *,
|
const u_char *, size_t, const char *, const char *,
|
||||||
const char *, u_int compat);
|
const char *, u_int compat);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: msg.c,v 1.21 2024/05/17 00:30:24 djm Exp $ */
|
/* $OpenBSD: msg.c,v 1.22 2026/02/14 00:18:34 jsg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2002 Markus Friedl. All rights reserved.
|
* Copyright (c) 2002 Markus Friedl. All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -26,16 +26,13 @@
|
|||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/uio.h>
|
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#include "sshbuf.h"
|
#include "sshbuf.h"
|
||||||
#include "ssherr.h"
|
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "atomicio.h"
|
#include "atomicio.h"
|
||||||
#include "msg.h"
|
#include "msg.h"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user