Re: TEAP Chaining and Partial Success Policies

Alan DeKok via Freeradius-Users <[email protected]> Tue, 9 Dec 2025 11:13:25 -0500
Newsgroups gmane.comp.freeradius.user
Message-ID <[email protected]>
On Dec 9, 2025, at 11:06 AM, Jan Kříž <[email protected]> wrote:
> I'm following up on a thread from with the subject of "EAP-TEAP not
> doing 2nd inner Method" from December 2024
> (https://lists.freeradius.org/pipermail/freeradius-users/2024-December/105155.html)
> about TEAP and setting network policies based on partial success
> (e.g., Machine cert succeeds, but User cert fails).

  I really don't see how that is supported by anything.  I've spent about 3 years going over the TEAP specifications, and the TEAP implementations.  I don't see anything in them which allows that work flow.

  The inner authentications are bound to the outer TLS session via various crypto magic.  The result is that the outer authentication succeeds only when the inner authentication succeeds.

  So I don't see any way in the specification which could allow machine EAP-TLS to succeed, fail at user EAP-TLS, but still allow the user online.

  I could very well be missing something.  But if I am, then this behavior is not explicitly allowed by the specification.  So it's an accidental outcome.  The specification needs to be updated to mention this, and then either explicitly allow it, or forbid it.

> I agree that the client side is a huge hurdle here, but I’m confused
> because some commercial platforms like Cisco ISE and Aruba ClearPass
> explicitly advertise and allow admins to configure different
> VLANs/ACLs precisely for that partial success scenario.
> 
> Since the commercial vendors seem to have found a way to achieve this,
> are they relying on some vendor-specific extensions or a different,
> non-TEAP chaining method entirely? Is it possible to configure this in
> FreeRADIUS at all?

  You'll have to try it and see.  I don't have time right now to test it, unfortunately.

> Any insight into how FreeRADIUS could be configured to accurately
> process the final result and differentiate between Machine-only,
> User-only success and Full success would be hugely helpful.

  You will have to update the "eap_teap.c" code to allow TEAP to continue when one of the inner methods fails.  Right now, an inner reject results in the entire TEAP session failing.

  You can't edit the configuration to allow this.  When the TEAP code was written, I was assuming that failure means failure.  If the Windows TEAP implementation is OK with the above work flow, then that's a surprising bit of information.

  Alan DeKok.

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEIUl02elqcIsf1zM0v3SJ0h7dTTMFAmk4SqUACgkQv3SJ0h7d
TTNW6Q//eREFDhxMvn4m8T+A9SxKPNWRNQOptzXcluvKREDxDwhfyKEHDPZPv4d5
3gnaYP21nNZV3sailFsX0ShVbxNwyaQC4UIJrwQv43KJNJ3mqqRV05YKXJR1g2st
vlK0oysPviPnLPpE6DapP7JdKohGjU89aeQMTIEigRCBGRepnfzw5Bog7yci2zan
tzEBhIJ8IvE5mhF76tLpDIEVVC1c4cvJIkoV/61/emh8V1uTC0HWmjN7FjPlNmo2
dGZyr/UbIXS4c1/d0PJ4doMpuWaDqXMgwRBjiloJ5G6ABNbHt8W5o/OhsZIHFOwm
LHq/9seETkrgFSjmp8SyvnNt/QyVcbt1EC8zKLpB4xyFZKAe7ncU0YCgrYw48K94
H/fCpEe5WUoUN5gFBkI/10b9Lm5AFzpFdw4ZfUex6AeMz66VnPrlX45xb2AjyeZG
c9cRfUqkbRAF1JjsIEz4Jh6y0x/TOG70f3ta7gVVT9unCaPDyClTmO/01R1kGg7A
b7md+wd+oWAnVn8ec11+eYjHJ+FK+rIzkEDFu3lgfdILioxpesGSqkyPHZXHnFMG
2F3gffuhK0x3Ue2eHIM42Ga9nwXrdt8PsXee2HoKNmoPoe0K2IRaKG02u3AQaHUW
lsv2uB7I2hBWJLNJnUY652jH3sHS4AISx+HQ3ZD3U55VrrAYmhM=
=MpSb
-----END PGP SIGNATURE-----