.github
Spell omnios test host correctly.
2024-09-10 21:11:14 +10:00
contrib
update version numbers
2024-09-20 08:20:13 +10:00
m4
Improve detection of -fzero-call-used-regs=used.
2024-03-25 10:12:58 +11:00
openbsd-compat
conditionally include mman.h in arc4random code
2024-09-18 09:01:23 +10:00
regress
fix bug in recently-added sntrup761 fuzzer
2024-09-17 11:53:24 +10:00
.depend
conditionally include mman.h in arc4random code
2024-09-18 09:01:23 +10:00
.git_allowed_signers
add new token-based signing key for dtucker@
2024-03-30 16:05:59 +11:00
.git_allowed_signers.asc
add new token-based signing key for dtucker@
2024-03-30 16:05:59 +11:00
.gitignore
prepare for checking in autogenerated files
2024-06-13 15:02:26 +10:00
.skipped-commit-ids
upstream: enable -fret-clean on amd64, for libc libcrypto ld.so
2024-06-07 03:18:44 +10:00
addr.c
upstream: Use strtonum() instead of severely non-idomatic
2024-04-30 12:16:50 +10:00
addr.h
upstream: allow ssh-keyscan(1) to accept CIDR address ranges, e.g.
2022-10-28 13:39:35 +11:00
addrmatch.c
atomicio.c
remove sys/param.h in -portable, after upstream
2021-12-22 09:02:50 +11:00
atomicio.h
audit-bsm.c
audit-linux.c
audit.c
audit.h
auth2-chall.c
auth2-gss.c
upstream: g/c unused variable
2024-05-17 14:42:49 +10:00
auth2-hostbased.c
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
auth2-kbdint.c
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
auth2-methods.c
upstream: typos
2024-05-31 19:04:11 +10:00
auth2-none.c
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
auth2-passwd.c
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
auth2-pubkey.c
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
auth2-pubkeyfile.c
upstream: Remove unused compat.h includes.
2023-03-05 19:27:31 +11:00
auth2.c
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
auth-bsdauth.c
auth-krb5.c
auth-options.c
conditionalise stdint.h inclusion on HAVE_STDINT_H
2023-07-18 15:41:12 +10:00
auth-options.h
auth-pam.c
propagate PAM crashes to PerSourcePenalties
2024-06-17 17:02:18 +10:00
auth-pam.h
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
auth-passwd.c
auth-rhosts.c
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
auth-shadow.c
Cast time_t's in debug output to long long.
2023-02-27 21:04:22 +11:00
auth-sia.c
auth-sia.h
auth.c
upstream: add a "Match invalid-user" predicate to sshd_config Match
2024-09-15 11:23:11 +10:00
auth.h
upstream: remove prototypes with no matching function; ok djm@
2024-05-22 14:21:13 +10:00
authfd.c
upstream: Make it possible to load certs from PKCS#11 tokens
2023-12-19 01:52:55 +11:00
authfd.h
upstream: Make it possible to load certs from PKCS#11 tokens
2023-12-19 01:52:55 +11:00
authfile.c
upstream: Check pointer for NULL before deref.
2023-03-14 18:35:31 +11:00
authfile.h
bitmap.c
bitmap.h
buildpkg.sh.in
canohost.c
upstream: Return immediately from get_sock_port
2023-03-31 16:17:22 +11:00
canohost.h
chacha.c
upstream: move other RCSIDs to before their respective license blocks
2023-07-17 15:33:51 +10:00
chacha.h
channels.c
upstream: Fix proxy multiplexing (-O proxy) bug
2024-07-26 08:51:40 +10:00
channels.h
upstream: Fix proxy multiplexing (-O proxy) bug
2024-07-26 08:51:40 +10:00
cipher-aes.c
remove support for old libcrypto
2023-03-24 13:56:25 +11:00
cipher-aesctr.c
cipher-aesctr.h
cipher-chachapoly-libcrypto.c
upstream: move other RCSIDs to before their respective license blocks
2023-07-17 15:33:51 +10:00
cipher-chachapoly.c
upstream: move other RCSIDs to before their respective license blocks
2023-07-17 15:33:51 +10:00
cipher-chachapoly.h
cipher.c
upstream: As defined in the RFC, the SSH protocol has negotiable
2024-08-27 09:05:43 +10:00
cipher.h
upstream: Garbage collect cipher_get_keyiv_len()
2023-10-11 15:57:08 +11:00
cleanup.c
clientloop.c
upstream: when sending ObscureKeystrokeTiming chaff packets, we
2024-07-01 14:32:45 +10:00
clientloop.h
upstream: remove prototypes with no matching function; ok djm@
2024-05-22 14:21:13 +10:00
compat.c
upstream: Refactor creation of KEX proposal.
2023-03-06 23:31:52 +11:00
compat.h
upstream: Refactor creation of KEX proposal.
2023-03-06 23:31:52 +11:00
config.guess
Update autotools
2022-12-06 12:23:08 +11:00
config.sub
Update autotools
2022-12-06 12:23:08 +11:00
configure.ac
declare defeat trying to detect C89 compilers
2024-09-09 17:30:38 +10:00
CREDITS
crypto_api.h
upstream: Add experimental support for hybrid post-quantum key exchange
2024-09-02 22:32:44 +10:00
defines.h
declare defeat trying to detect C89 compilers
2024-09-09 17:30:38 +10:00
dh.c
dh.h
digest-libc.c
Use SHA.*_HMAC_BLOCK_SIZE if needed.
2021-12-23 11:36:08 +11:00
digest-openssl.c
digest.h
dispatch.c
upstream: Remove unused compat.h includes.
2023-03-05 19:27:31 +11:00
dispatch.h
dns.c
upstream: Plug mem leak on error path. Coverity CID 405026, ok djm@.
2023-03-10 15:42:37 +11:00
dns.h
upstream: let ssh-keygen and ssh-keyscan accept
2023-02-10 16:12:42 +11:00
ed25519.c
upstream: update OpenSSH's Ed25519 code to the last version of SUPERCOP
2023-01-16 10:57:41 +11:00
ed25519.sh
upstream: spelling; ok djm@
2024-05-17 14:42:49 +10:00
entropy.c
Remove seed passing over reexec.
2022-11-10 12:44:51 +11:00
entropy.h
fatal.c
fixalgorithms
fixpaths
groupaccess.c
groupaccess.h
gss-genr.c
upstream: whitespace
2024-02-01 13:42:45 +11:00
gss-serv-krb5.c
gss-serv.c
gss-serv.c: MAXHOSTNAMELEN
-> HOST_NAME_MAX
2023-07-05 17:54:15 +10:00
hash.c
hmac.c
hmac.h
hostfile.c
upstream: fseek to end of known_hosts before writing to it.
2023-02-21 18:28:26 +11:00
hostfile.h
includes.h
remove sys/param.h in -portable, after upstream
2021-12-22 09:02:50 +11:00
INSTALL
remove support for old libcrypto
2023-03-24 13:56:25 +11:00
install-sh
Update autotools
2022-12-06 12:23:08 +11:00
kex-names.c
test for compiler feature needed for ML-KEM
2024-09-09 16:06:21 +10:00
kex.c
upstream: As defined in the RFC, the SSH protocol has negotiable
2024-08-27 09:05:43 +10:00
kex.h
upstream: Add experimental support for hybrid post-quantum key exchange
2024-09-02 22:32:44 +10:00
kexc25519.c
upstream: Add experimental support for hybrid post-quantum key exchange
2024-09-02 22:32:44 +10:00
kexdh.c
kexecdh.c
kexgen.c
upstream: pull post-quantum ML-KEM/x25519 key exchange out from
2024-09-09 12:45:53 +10:00
kexgex.c
kexgexc.c
upstream: Record session ID, host key and sig at intital KEX
2021-12-20 09:24:42 +11:00
kexgexs.c
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
kexmlkem768x25519.c
Wrap stdint.h in ifdef.
2024-09-10 18:45:55 +10:00
kexsntrup761x25519.c
upstream: update the Streamlined NTRU Prime code from the "ref"
2024-09-15 12:24:48 +10:00
krl.c
upstream: Move RCSID to before license block and away from #includes,
2023-07-17 15:24:14 +10:00
krl.h
upstream: remove vestigal support for KRL signatures
2023-07-17 14:52:35 +10:00
libcrux_mlkem768_sha3.h
upstream: Add experimental support for hybrid post-quantum key exchange
2024-09-02 22:32:44 +10:00
LICENCE
include openbsd-compat/base64.c license in LICENSE
2024-09-18 16:03:23 +10:00
log.c
upstream: retire unused API
2024-06-28 08:37:11 +10:00
log.h
upstream: retire unused API
2024-06-28 08:37:11 +10:00
loginrec.c
use construct_utmp to construct btmp records
2024-09-15 12:53:59 +10:00
loginrec.h
logintest.c
mac.c
mac.h
Makefile.in
upstream: Add experimental support for hybrid post-quantum key exchange
2024-09-02 22:32:44 +10:00
match.c
upstream: make parsing user@host consistently look for the last '@' in
2024-09-06 12:31:19 +10:00
match.h
mdoc2man.awk
misc.c
upstream: Add a facility to sshd(8) to penalise particular
2024-06-07 03:35:40 +10:00
misc.h
upstream: Add a facility to sshd(8) to penalise particular
2024-06-07 03:35:40 +10:00
mkinstalldirs
mlkem768.sh
upstream: fix RCSID in output
2024-09-04 15:38:50 +10:00
moduli
upstream: Import regenerated moduli.
2024-08-21 20:24:24 +10:00
moduli.5
Resync moduli.5 with upstream.
2022-04-16 14:33:20 +10:00
moduli.c
upstream: Always call fclose on checkpoints.
2023-03-02 18:24:51 +11:00
monitor_fdpass.c
monitor_fdpass.h
monitor_wrap.c
upstream: put back reaping of preauth child process when writes
2024-06-20 10:19:10 +10:00
monitor_wrap.h
upstream: remove prototypes with no matching function; ok djm@
2024-05-22 14:21:13 +10:00
monitor.c
upstream: Add a sshd_config "RefuseConnection" option
2024-09-15 11:23:10 +10:00
monitor.h
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
msg.c
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
msg.h
mux.c
upstream: Fix proxy multiplexing (-O proxy) bug
2024-07-26 08:51:40 +10:00
myproposal.h
upstream: pull post-quantum ML-KEM/x25519 key exchange out from
2024-09-09 12:45:53 +10:00
nchan2.ms
nchan.c
upstream: Fix proxy multiplexing (-O proxy) bug
2024-07-26 08:51:40 +10:00
nchan.ms
openssh.xml.in
opensshd.init.in
OVERVIEW
packet.c
upstream: As defined in the RFC, the SSH protocol has negotiable
2024-08-27 09:05:43 +10:00
packet.h
upstream: Convert RSA and ECDSA key to the libcrypto EVP_PKEY API.
2024-08-15 12:07:59 +10:00
pathnames.h
upstream: Start the process of splitting sshd into separate
2024-05-17 14:41:35 +10:00
pkcs11.h
platform-listen.c
Makefile support for sshd-session
2024-05-17 14:41:37 +10:00
platform-misc.c
platform-pledge.c
platform-tracing.c
Fix comment text. From emaste at freebsd.org.
2022-11-09 08:27:47 +11:00
platform.c
Makefile support for sshd-session
2024-05-17 14:41:37 +10:00
platform.h
notify systemd on listen and reload
2024-04-03 14:40:32 +11:00
poly1305.c
upstream: move other RCSIDs to before their respective license blocks
2023-07-17 15:33:51 +10:00
poly1305.h
progressmeter.c
upstream: remove duplicate signal.h include
2023-04-17 09:21:14 +10:00
progressmeter.h
PROTOCOL
upstream: fix missing field in users-groups-by-id@openssh.com reply
2024-01-08 16:06:29 +11:00
PROTOCOL.agent
upstream: add missing reserved fields to key constraint protocol
2024-04-30 15:46:39 +10:00
PROTOCOL.certkeys
PROTOCOL.chacha20poly1305
PROTOCOL.key
upstream: in OpenSSH private key format, correct type for subsequent
2024-03-30 16:57:32 +11:00
PROTOCOL.krl
upstream: remove vestigal support for KRL signatures
2023-07-17 14:52:35 +10:00
PROTOCOL.mux
upstream: Remove outdated note from PROTOCOL.mux
2024-01-08 16:12:17 +11:00
PROTOCOL.sshsig
PROTOCOL.u2f
readconf.c
upstream: switch "Match" directive processing over to the argv
2024-09-15 11:23:09 +10:00
readconf.h
upstream: Separate parsing of string array options from applying them
2024-03-04 14:46:46 +11:00
README
update version numbers
2024-09-20 08:20:13 +10:00
README.dns
README.md
Add Coverity badges.
2023-03-03 14:50:03 +11:00
README.platform
nite that recent OSX tun/tap is unsupported
2024-01-08 16:26:37 +11:00
README.privsep
README.tun
readpass.c
upstream: allow WAYLAND_DISPLAY to enable SSH_ASKPASS
2024-03-30 15:35:03 +11:00
rijndael.c
rijndael.h
sandbox-capsicum.c
Cache timezone data in capsicum sandbox.
2022-04-23 21:14:01 +10:00
sandbox-darwin.c
sandbox-null.c
sandbox-pledge.c
sandbox-rlimit.c
sandbox-seccomp-filter.c
Improve seccomp compat on older systems.
2023-02-11 12:32:19 +11:00
sandbox-solaris.c
sandbox-systrace.c
scp.1
upstream: Mention that scp uses the SFTP protocol and remove
2023-01-03 17:53:05 +11:00
scp.c
upstream: save_errno wrappers inside two small signal handlers that
2024-06-28 08:34:49 +10:00
SECURITY.md
servconf.c
upstream: bad whitespace in config dump output
2024-09-15 13:10:29 +10:00
servconf.h
upstream: add a "Match invalid-user" predicate to sshd_config Match
2024-09-15 11:23:11 +10:00
serverloop.c
upstream: promote connection-closed messages from verbose to info
2024-06-17 18:31:39 +10:00
serverloop.h
session.c
typo in comment
2024-06-13 14:41:33 +10:00
session.h
upstream: Add channel_force_close()
2023-01-06 16:21:39 +11:00
sftp-client.c
upstream: spelling; ok djm@
2024-05-17 14:42:49 +10:00
sftp-client.h
upstream: the sftp code was one of my first contributions to
2023-09-08 15:59:08 +10:00
sftp-common.c
upstream: don't attempt to decode a ridiculous number of
2023-03-31 15:06:20 +11:00
sftp-common.h
upstream: extend sftp-common.c:extend ls_file() to support supplied
2022-09-19 20:49:13 +10:00
sftp-glob.c
upstream: rename remote_glob() -> sftp_glob() to match other API
2023-09-11 09:14:02 +10:00
sftp-realpath.c
sftp-server-main.c
Remove seed_rng calls from scp, sftp, sftp-server.
2022-07-27 16:22:30 +10:00
sftp-server.8
sftp-server.c
upstream: fix home-directory extension implementation, it always
2024-04-30 16:24:22 +10:00
sftp-usergroup.c
upstream: the sftp code was one of my first contributions to
2023-09-08 15:59:08 +10:00
sftp-usergroup.h
upstream: use users-groups-by-id@openssh.com sftp-server extension
2022-09-19 20:51:14 +10:00
sftp.1
upstream: add a -X option to both scp(1) and sftp(1) to allow
2023-01-03 17:53:05 +11:00
sftp.c
upstream: save_errno wrappers inside two small signal handlers that
2024-06-28 08:34:49 +10:00
sftp.h
sk-api.h
upstream: when enrolling a resident key on a security token, check
2022-07-20 13:38:47 +10:00
sk-usbhid.c
conditionalise stdint.h inclusion on HAVE_STDINT_H
2023-07-18 15:41:12 +10:00
smult_curve25519_ref.c
sntrup761.c
upstream: use 64 bit math to avoid signed underflow. upstream code
2024-09-16 15:37:51 +10:00
sntrup761.sh
upstream: use 64 bit math to avoid signed underflow. upstream code
2024-09-16 15:37:51 +10:00
srclimit.c
upstream: Add a "refuseconnection" penalty class to sshd_config
2024-09-15 11:23:10 +10:00
srclimit.h
upstream: Add a "refuseconnection" penalty class to sshd_config
2024-09-15 11:23:10 +10:00
ssh2.h
upstream: Reserve a range of "local extension" message numbers that
2023-10-10 14:58:55 +11:00
ssh_api.c
upstream: pull post-quantum ML-KEM/x25519 key exchange out from
2024-09-09 12:45:53 +10:00
ssh_api.h
ssh_config
upstream: CheckHostIP has defaulted to 'no' for a while; make the
2023-08-03 09:09:02 +10:00
ssh_config.5
upstream: document the mlkem768x25519-sha256 key exchange algorithm
2024-09-11 09:38:22 +10:00
ssh-add.1
upstream: disable the DSA signature algorithm by default; ok
2024-06-17 18:48:29 +10:00
ssh-add.c
upstream: make parsing user@host consistently look for the last '@' in
2024-09-06 12:31:19 +10:00
ssh-agent.1
use portable provider allowlist path in manpage
2023-10-04 10:54:04 +11:00
ssh-agent.c
upstream: avoid logging in signal handler by converting mainloop to
2024-03-09 16:13:57 +11:00
ssh-dss.c
upstream: make DSA key support compile-time optional, defaulting to
2024-01-11 15:46:22 +11:00
ssh-ecdsa-sk.c
upstream: Convert RSA and ECDSA key to the libcrypto EVP_PKEY API.
2024-08-15 12:07:59 +10:00
ssh-ecdsa.c
upstream: Convert RSA and ECDSA key to the libcrypto EVP_PKEY API.
2024-08-15 12:07:59 +10:00
ssh-ed25519-sk.c
upstream: refactor sshkey_private_deserialize
2022-10-28 12:47:01 +11:00
ssh-ed25519.c
upstream: refactor sshkey_private_deserialize
2022-10-28 12:47:01 +11:00
ssh-gss.h
upstream: remove prototypes with no matching function; ok djm@
2024-05-22 14:21:13 +10:00
ssh-keygen.1
upstream: mention that ed25519 is the default key type generated and
2024-08-17 18:35:31 +10:00
ssh-keygen.c
upstream: include pathname in some of the ssh-keygen passphrase
2024-09-15 11:23:08 +10:00
ssh-keyscan.1
upstream: disable the DSA signature algorithm by default; ok
2024-06-17 18:48:29 +10:00
ssh-keyscan.c
upstream: pull post-quantum ML-KEM/x25519 key exchange out from
2024-09-09 12:45:53 +10:00
ssh-keysign.8
upstream: disable the DSA signature algorithm by default; ok
2024-06-17 18:48:29 +10:00
ssh-keysign.c
upstream: stricter validation of messaging socket fd number; disallow
2024-04-30 15:53:26 +10:00
ssh-pkcs11-client.c
upstream: Convert RSA and ECDSA key to the libcrypto EVP_PKEY API.
2024-08-15 12:07:59 +10:00
ssh-pkcs11-helper.8
upstream: mention that the helpers are used by ssh(1), ssh-agent(1)
2022-04-29 13:26:24 +10:00
ssh-pkcs11-helper.c
more OPENSSL_HAS_ECC
2024-08-16 08:30:20 +10:00
ssh-pkcs11.c
upstream: Convert RSA and ECDSA key to the libcrypto EVP_PKEY API.
2024-08-15 12:07:59 +10:00
ssh-pkcs11.h
upstream: Make it possible to load certs from PKCS#11 tokens
2023-12-19 01:52:55 +11:00
ssh-rsa.c
upstream: Convert RSA and ECDSA key to the libcrypto EVP_PKEY API.
2024-08-15 12:07:59 +10:00
ssh-sandbox.h
ssh-sk-client.c
upstream: sshsk_load_resident: don't preallocate resp
2022-01-14 14:40:40 +11:00
ssh-sk-helper.8
upstream: mention that the helpers are used by ssh(1), ssh-agent(1)
2022-04-29 13:26:24 +10:00
ssh-sk-helper.c
upstream: Remove duplicate includes.
2022-12-04 22:40:04 +11:00
ssh-sk.c
upstream: Convert RSA and ECDSA key to the libcrypto EVP_PKEY API.
2024-08-15 12:07:59 +10:00
ssh-sk.h
ssh-xmss.c
conditionalise stdint.h inclusion on HAVE_STDINT_H
2023-07-18 15:41:12 +10:00
ssh.1
upstream: mention mux proxy mode
2024-07-26 08:51:19 +10:00
ssh.c
upstream: make DSA key support compile-time optional, defaulting to
2024-01-11 15:46:22 +11:00
ssh.h
sshbuf-getput-basic.c
upstream: revert previous; it was broken (spotted by Theo)
2022-05-25 16:06:03 +10:00
sshbuf-getput-crypto.c
fix merge botch that broke !OPENSSL_HAS_ECC
2024-08-15 23:35:54 +10:00
sshbuf-io.c
sshbuf-misc.c
upstream: Add a sshbuf_read() that attempts to read(2) directly in
2022-01-25 10:45:47 +11:00
sshbuf.c
upstream: Reorder calloc arguments
2024-08-15 11:01:50 +10:00
sshbuf.h
upstream: Convert RSA and ECDSA key to the libcrypto EVP_PKEY API.
2024-08-15 12:07:59 +10:00
sshconnect2.c
upstream: pull post-quantum ML-KEM/x25519 key exchange out from
2024-09-09 12:45:53 +10:00
sshconnect.c
upstream: add explict check for server hostkey type against
2024-04-30 12:22:35 +10:00
sshconnect.h
upstream: add explict check for server hostkey type against
2024-04-30 12:22:35 +10:00
sshd_config
Use "prohibit-password" in -portable comments.
2022-11-07 10:54:29 +11:00
sshd_config.5
upstream: minor grammar/sort fixes for refuseconnection; ok djm
2024-09-16 15:37:44 +10:00
sshd-session.c
upstream: pull post-quantum ML-KEM/x25519 key exchange out from
2024-09-09 12:45:53 +10:00
sshd.8
upstream: document Match invalid-user
2024-09-15 11:23:11 +10:00
sshd.c
upstream: Add a "refuseconnection" penalty class to sshd_config
2024-09-15 11:23:10 +10:00
ssherr.c
ssherr.h
sshkey-xmss.c
upstream: factor out key generation
2022-10-28 12:46:58 +11:00
sshkey-xmss.h
upstream: factor out key generation
2022-10-28 12:46:58 +11:00
sshkey.c
upstream: be more strict in parsing key type names. Only allow
2024-09-04 15:38:50 +10:00
sshkey.h
upstream: be more strict in parsing key type names. Only allow
2024-09-04 15:38:50 +10:00
sshlogin.c
Include stdlib.h for free() prototype.
2022-04-23 21:14:01 +10:00
sshlogin.h
sshpty.c
sshpty.h
sshsig.c
upstream: skip more whitespace, fixes find-principals on
2024-03-09 09:17:22 +11:00
sshsig.h
upstream: Add ssh-keygen -Y match-principals operation to perform
2021-11-27 18:22:41 +11:00
sshtty.c
survey.sh.in
TODO
ttymodes.c
ttymodes.h
uidswap.c
uidswap.h
umac128.c
umac.c
upstream: correct size for array argument when changing
2023-03-07 16:38:39 +11:00
umac.h
upstream: spelling ok dtucker@
2022-01-01 15:19:48 +11:00
utf8.c
utf8.h
version.h
upstream: openssh-9.9
2024-09-20 08:18:23 +10:00
xmalloc.c
upstream: ssh: xstrdup(): use memcpy(3)
2022-03-18 13:33:36 +11:00
xmalloc.h
xmss_commons.c
xmss_commons.h
xmss_fast.c
xmss_fast.h
xmss_hash_address.c
xmss_hash_address.h
xmss_hash.c
upstream: spelling; ok markus@
2024-01-08 13:25:21 +11:00
xmss_hash.h
xmss_wots.c
xmss_wots.h