mdw at umich.edu
Sun Jul 9 22:00:58 EDT 2006
> > Heimdal's error_message() handles "non-standard" bases. That is,
> > a table for which et->table->base is not 0 mod 256.
> > I don't know if this was intentional on their part,
> > but it's certainly useful and causes no harm.
> Can you send me a sample .et file and what the resulting .c and .h
> files should look like (for a regression test suite). I assume it is
> base <number>
> and it must be after the "error_table" declaration, but before any
> "error_code" lines? (or else the behaviour is undefined?). One of
> the problems is that not all of the extensions have been necessarily
> explicitly defined with the backwards compatibility statements defined
> and coordinated amongst all users.
To be fair, I don't think the heimdal folks actually implemented
"base" in compile_et. They just implement code that is "base" friendly;
taking advantage of that and adding "base" to compile_et is my fault.
But yes, your assumption is just exactly what I did.
sample .et & resulting *.[ch] files for 3 different initialization schemes.
(afserror.et is also ../src/ there...)
Note, "afs", "mit", "heimdal" here merely capture my
best attempt to duplicate what one older version of afs,
mit, & heimdal appeared to do for me. It doesn't necessarily
mean that's what any of these groups wants to or actually does
afs = add_to_error_table
heimdal = manipulate _et_list directly
mit = add_error_table
right off, the heimdal case is named wrong - looks like modern heimdal
at least (20060410) wants to use initialize_error_table_r() instead.
Probably the copy I built actually used the e2fsprogs compile_et so
I've probably misnamed this case.
afserror.et contains 3 error tables (which itself is a non-standard
extension) which are
This may not encompass all the error codes AFS can generate (for
instance, VRESTRICTED=120, VRESTARTING=-100). but it does encompass
all the "special" error codes AFS is actually capable of decoding
during printing, plus a very few AFS doesn't (RX_EOF), or more details
about the ones that it does (RXGEN_CC_MARSHAL). (true at least in
More information about the krbdev