Re: KITTEN BOF at IETF 60?
Ken Raeburn <[email protected]> Mon, 22 Mar 2004 03:15:20 -0500
| Newsgroups | gmane.ietf.cat |
|---|---|
| Message-ID | <[email protected]> |
On Sunday, Mar 21, 2004, at 20:40 US/Eastern, Nicolas Williams wrote: >> If a mechanism doesn't provide out-of-sequence detection, can I use >> gss_get_mic in two threads with the same security context, without >> ensuring that the calls aren't fully serialized? > > This should be implementation specific, though I'd have the spec > recommend yes, even when using oos detection (oos tokens aren't > necessarily a problem). If it's implementation-specific, then as far as writers of portable applications are concerned, it might as well be "no". >> - The description of equality comparisons in section B.3 makes me >> shudder. I'm not even sure what it means. As far as I can tell, if >> your machine lets you have two objects (pointers, integers, floats) >> that compare equal with "==" despite having some bits that are not >> identical, then you have to fix up those bits to always be equal. > > Sure, but this is really a simplification that I think most of us > should > be willing to live with. On any platform where pointers to different > things are of different sizes and so on this spec may not be workable, > but that's ok; implementors on those platforms may have to make their > own bindings, or they may find the Java bindings useful. I don't see any possible benefit to this that doesn't rely on other platform-specific knowledge. And it means the ABI portability recommendations may be difficult (or possibly impossible?) to implement on some ISO C platforms. Is being able to use memcmp on two handles (not the data pointed to, but the handles themselves) instead of "==" really what was intended in the first place? (Given how "const" is used in this RFC, I'm not confident of that.) > Well, on IP32, IP64 and LP64 platforms it's possible to give the > implementor a choice of integer and pointer types for the handles and > still maintain ABI compatibility. That's most every platform. What about platforms where integer function arguments are passed in data registers and pointers in address registers? (Granted, we're talking about recommendations for better compatibility, not an actual ABI specification. So if it can't actually work on all systems, it's not a fatal flaw.) > Not only this, but also, the GSS_C_*, GSS_S_* and gss_* names originate > from RFC2743. > > The base spec should have an allocation policy for extensions' names. > > And the bindings specs should apply the base spec's policy towards the > language's namespace. This needs some care. The base spec should outline the operations needed, but shouldn't get into namespace issues too much. For example, you won't find the name "gss_wrap_size_limit" anywhere in the Java interface. Instead, the GSSContext interface includes a getWrapSizeLimit operation. The handling of extension names in Java might be quite different from in C. And who knows what the Scheme bindings might look like? >> Can I use gss_uint32 in my code? (True, there's no guarantee that >> it's the same as OM_uint32.) > > There should be. It's implicit in the name. No, what's implicit in the name is that both should be unsigned integral types of at least 32 bits. On an ILP32 system, one could be unsigned int and the other unsigned long. Mostly compatible in C, but could trigger diagnostics if you use pointers or multiple declarations. But if the code that interacts with the GSS-API C bindings is written with the assumption that they could be different types, then it should be safe. But the other part of my point was, since the gssapi.h provided is apparently what is required to be supplied to application writers, then gss_uint32 must be available, even though it's not directly used in the API (and if xom.h is available, isn't indirectly used either), or even mentioned anywhere outside the appendix. Ken -++**==--++**==--++**==--++**==--++**==--++**==--++**== This message was posted through the Stanford campus mailing list server. If you wish to unsubscribe from this mailing list, send the message body of "unsubscribe ietf-cat-wg" to [email protected]