Commit Graph

31101 Commits

Author SHA1 Message Date
845fb73ad1 WIP 2026-02-02 08:53:06 +09:00
d0b5821e9a Set up nix tooling 2026-02-01 03:45:20 +09:00
072c1f062f zed: set tab width 2026-02-01 03:45:18 +09:00
Nicolas Williams
df0e15fcdf tests: Disable cheeck-iprop until fix is ready 2026-01-24 14:42:38 -06:00
Nicolas Williams
8a67a1f77c Revert "kpasswdd: Allow password changes through NATs (fix #1286)"
This reverts commit f37749adc7.
2026-01-23 00:40:39 -06:00
Nicolas Williams
26dca502be kpasswdd: Allow password changes through NATs (fix #1286 again) 2026-01-23 00:37:44 -06:00
Nicolas Williams
cc272a4838 krb5: Try up to all kpasswdd IPs (fix #1304) 2026-01-22 23:38:42 -06:00
Nicolas Williams
dedeea1b6a sqlite: Fix warnings (fix #1306) 2026-01-22 23:32:14 -06:00
Nicolas Williams
7dec4d7f02 bx509d: Stop taking unnecessary flock (fix #1308) 2026-01-22 22:26:10 -06:00
Nicolas Williams
961370d49f krb5: Add support for "Directional" host address type
Currently the Directional host address type is pretty useless,
since it's only useful in application protocols that a) use
KRB-PRIV/KRB-SAFE messages (so: not GSS-API applications), and b)
state in their specs to use Directional, or otherwise provide for
negotiation of host address types.  There are no such protocols
that we care about except -since we control it- iprop.  But even
for iprop it'd be better to switch to GSS-API.
2026-01-22 22:26:10 -06:00
Nicolas Williams
f37749adc7 kpasswdd: Allow password changes through NATs (fix #1286) 2026-01-22 22:25:45 -06:00
Nicolas Williams
c83b1a12aa roken: Use OFD locks, flock, or POSIX locking, same as MIT 2026-01-22 18:06:28 -06:00
Nicolas Williams
7772534587 krb5: Add missing hunk for #1204 (fix #1305) 2026-01-22 17:39:19 -06:00
Nicolas Williams
f47b578ce2 krb5: Add MEMORY threaded test (and fix bugs) 2026-01-22 14:05:26 -06:00
Nicolas Williams
d9e98b2773 asn1: Remove non-existent symbols (fix Windows build) 2026-01-22 13:34:13 -06:00
Nicolas Williams
bb4476ebe1 GHA: Trigger Linux and Windows builds when .map and .def files change 2026-01-22 13:15:23 -06:00
Nicolas Williams
81b293d66b asn1: Don't export template DATAs (fix Windows build) 2026-01-22 13:09:11 -06:00
Nicolas Williams
1fb3689061 NEWS: Add upgrade/downgrade considerations to release notes 2026-01-22 11:39:05 -06:00
Joseph Sutton
86b20d9544 kdc: Always apply maximum ticket lifetime and renew time when non-NULL
This allows a lifetime of zero to work.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
2026-01-22 11:39:05 -06:00
Nicolas Williams
add30d09f9 kadmin: Make maximum ticket lifetime and renew time signed integers 2026-01-22 11:39:05 -06:00
Joseph Sutton
96a5c0b82a hdb: Make maximum ticket lifetime and renew time signed integers
This allows for negative lifetimes to be encoded, and fits in better
with our use elsewhere of time_t, which in POSIX is a signed integer
type.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
2026-01-22 11:39:05 -06:00
Nicolas Williams
55287b56bc sqlite: Fix Windows build 2026-01-22 11:38:51 -06:00
Nicolas Williams
bab1bca910 sqlite: Don't rename types / macros 2026-01-22 11:31:34 -06:00
Nicolas Williams
8961f81de7 sqlite: Add gen-sqlite3-namespace.sh script for upgrades 2026-01-22 11:23:57 -06:00
Nicolas Williams
118004e85c Revert "tests: Speed up tests/gss/check-gssmask"
This reverts commit 366016b1f6.
2026-01-22 10:48:59 -06:00
Nicolas Williams
474f07cfa9 NEWS: Fix formatting 2026-01-22 00:02:05 -06:00
Nicolas Williams
a1220ce6d2 sqlite: Rename symbols (fix #1142) 2026-01-22 00:02:05 -06:00
Nicolas Williams
41591932b8 krb5: Nonces in krb5.asn1 should be unsigned 2026-01-22 00:02:05 -06:00
Nicolas Williams
1faea3ffcf kdc: Make MAX_TIME INT32_MAX always
This just to be consistent with a likely coming change to make
HDB_entry's max_life signed.  68 years is long enough.
2026-01-22 00:02:05 -06:00
Nicolas Williams
c1c0be207e kdc: Get altsecid_gss_preauth_authorize building 2026-01-22 00:02:05 -06:00
Nicolas Williams
fdf107353e hdb: Get LDAP backend building again 2026-01-22 00:02:05 -06:00
Taylor R Campbell
0c14d60c8c gssmask: Disable Nagle.
This reduces the check-gssmask runtime from around 7min to 1-2sec on
my laptop.

It is, perhaps, suboptimal to disable Nagle for a program that writes
successive 4-byte units of a protocol message in separate syscalls
rather than a single batch, and might be better to instead disable
delayed acks, but:

(a) there's no portable API for disabling delayed acks, and
(b) this program appears to be used exclusively for testing anyway.

fix https://github.com/heimdal/heimdal/issues/1139
2026-01-21 23:57:41 -06:00
Taylor R Campbell
82f7b8072c Nix bashisms.
This isn't fully POSIX shell, because POSIX shell still doesn't have
`local' variable declarations, but at least it is reasonably portable
now.

fix https://github.com/heimdal/heimdal/issues/1299
2026-01-21 12:40:26 -06:00
Nicolas Williams
f11debe689 krb5: Make socksdrawer setprogname() 2026-01-21 11:45:45 -06:00
Nicolas Williams
4584b22511 hx509: Make fuzz_jose use getarg() 2026-01-21 11:45:28 -06:00
Nicolas Williams
ea3024a706 base: Make fuzz_json use getarg() (fix #1298) 2026-01-21 11:45:06 -06:00
Nicolas Williams
4d80b16a30 Revert "kdc: Fix kinit of principal aliases"
This reverts commit d2047065bd.
2026-01-21 11:37:25 -06:00
Taylor R Campbell
253a001ebc Fix use of accept() in test socks4a proxy.
The read() in readall() to read the SOCKS4a request was sometimes
failing with EAGAIN, which it wasn't prepared for, causing the
request to be rejected and the test to fail.

I wrote this code specifically under the assumption the fd would be
in blocking mode, and in the original draft I wrote with stdin/stdout
under socat that was true.  But when I adapted this to do its own
bind/listen/accept logic, I broke it, because POSIX leaves it
unspecified whether accept() inherits the O_NONBLOCK setting or not:

https://pubs.opengroup.org/onlinepubs/9799919799/functions/accept4.html

And the traditional BSD semantics is to inherit O_NONBLOCK.

So, just explicitly clear O_NONBLOCK on the fd returned by accept().
2026-01-21 10:35:22 -06:00
Nicolas Williams
112a82dd25 kdc: Fix memset_s() calls (fix #1296) 2026-01-20 16:05:36 -06:00
Nicolas Williams
d2047065bd kdc: Fix kinit of principal aliases 2026-01-20 13:48:25 -06:00
Nicolas Williams
b02d4d4569 krb5: Add SOCKS4a test 2026-01-20 12:57:01 -06:00
Nicolas Williams
31651f8e61 krb5: Add socksdrawer for testing SOCKS4 2026-01-20 12:57:01 -06:00
Taylor R Campbell
c768567929 krb5_set_password: Use target principal for SOCKS4a userid.
This enables Tor stream isolation.
2026-01-20 12:57:01 -06:00
Taylor R Campbell
5c5cb66c05 krb5: Set principal as proxy userid when getting creds.
This enables Tor stream isolation.
2026-01-20 12:57:01 -06:00
Taylor R Campbell
7321fd71c6 krb5: Default TCP transport to KDC when SOCKS4a proxy is configured.
Default of UDP transport doesn't work over SOCKS4a anyway, so this
makes configuration with socks4a_proxy easier.
2026-01-20 12:27:05 -06:00
Taylor R Campbell
3b0d00c743 New option [libdefaults] socks4a_proxy.
All network traffic to KDC goes through the SOCKS4a proxy if it is
configured.

This is deliberately kept simple -- and is not generalized to SOCKS4
or SOCKS5 or other types of proxies -- so it is easy to audit for
network and DNS leaks.  (SOCKS4 works in IP addresses, and so invites
DNS leaks.  SOCKS5 can be OK, if used judiciously, but takes more
work to implement.)

This only affects krb5_sendto -- the other initiator of network
traffic in libkrb5, krb5_change_password, will be fixed to respect
socks4a_proxy in a subsequent commit.

XXX Need to figure out where the socks4a.c code should go.

fix https://github.com/heimdal/heimdal/issues/1151
2026-01-20 12:27:05 -06:00
Nicolas Williams
3d2c2e0f16 GHA: Fix Windows build (fix Appveyor removal) 2026-01-20 12:26:55 -06:00
Nicolas Williams
4bca716446 GHA: Add Coveralls build 2026-01-19 12:46:19 -06:00
Nicolas Williams
2b2c71a7c1 README.md: Drop Coveralls badge (not updating)
For now.  We'll see if we can build a GHA workflow that replaces it or works
with it.
2026-01-19 12:33:43 -06:00
Nicolas Williams
54b71041b6 CI: Drop references to Appveyor and Travis 2026-01-19 12:33:43 -06:00