RRC and sign_only
Luke Howard
lukeh at padl.com
Thu Dec 18 02:42:34 EST 2008
> I have to agree with Love here. Essentially what you're saying is
> that if
> you use this API, it might not interoperate, because it cannot
> successfully
> decode anything that an RFC4121 implementation might send. Further,
> you
> can't predict whether it will fail without violating the abstraction
> and
> peering into the token to see what the RRC is. I suppose you could
> guarantee it won't break by only using the API with new applications
> that
> are specified such that only certain RRC values are permitted, but
> that
> would require that _every_ implementation of such an application use
> some
> non-standard interface to inform its GSS-API implementation of the
> restriction. There is no standard way to do this because the RRC is
> that
> the discretion of the sending RFC4121 implementation, not of the
> application, which is supposed to be using a mechanism-agnostic
> interface.
I would argue if RFC4121 is the goal, one should be using STREAM or
gss_unwrap().
>> BTW, I've tested the GSS IOV code in mskrb-integ against W2K8 with
>> LDAP and RPC (both rc4-hmac and AES).
>
> This smells of cargo-cult programming ("well, I tried foo, and it
> worked
> for me, so it must be right"), and I know you're better than that.
> Having
> a few tests work is not a substitute for correctly implementing the
> protocol.
Heh. Well, as usual it's often quicker to fix than it is to try to win
an argument :-) I agree it's always good to implement things with a
view towards standardization, etc, but don't forget that the whole
DCE_STYLE thing is very Windows-specific and my primary goal was
interoperability with that.
My reservation (apart from the usual amount of laziness) regarding
supporting arbitrary RRC in the multiple buffer case is: if an
application is managing explicit buffers, why would the sending GSS
implementation change the meaning of the buffers by rotating contents
of one into another? To me it only makes sense to use RRC to support
the trailer-less buffer configuration.
If one is using gss_wrap(), then yes, I agree we should accept
arbitrary RRC because that's what the RFC says.
-- Luke
More information about the krbdev
mailing list