"Operation not supported" error code
Ken Raeburn
raeburn at MIT.EDU
Wed Jun 14 14:52:44 EDT 2006
On Jun 14, 2006, at 11:34, Jeffrey Hutzelman wrote:
> EOPNOTSUPP is "Operation not supported on transport endpoint"; it
> appears to be part of the sockets API, and so besides not really
> being right, I doubt it is portable.
Agreed.
> My FC3 system has no ENOTSUP or anything else like that.
That's a bit surprising, given that it's part of the current POSIX
specs.
On my RHEL4 system it's set up to be the same as EOPNOTSUPP. I
haven't looked at the associated error text, but since ENOTSUP is
specified for some non-socket operations (e.g., for mprotect, "The
implementation dose not support the combination of accesses required
in the prot argument.", http://www.opengroup.org/onlinepubs/000095399/
functions/mprotect.html), the message had better not be specific to
sockets.
> It would seem to make sense in this case to define an error code
> for "operation not supported by plugin" or even "database operation
> not supported".
Sure. I had already added an error code KRB5_PLUGIN_NO_HANDLE,
"Supplied data not handled by this plugin", for cases like a service-
location plugin that doesn't handle a specific realm, but we could
generalize the message a little, if no one minds using the same
message for database types. (And the new error-message interface
could be used to store a message that actually talks about database
types.)
> Note that the values of error codes are determined by the order in
> which they appear in the .et file, and these values are not only
> part of the Kerberos ABI, but also are frequently quoted out of
> context. Take care not to inadvertently change the values of
> existing error codes.
Like I said, new ones go at the end... (Well, unless they're
specifically added to the krb5 protocol itself, in which case they
use one of the placeholder values in krb5_err.et.)
Ken
More information about the krbdev
mailing list