Thanks for looking at this. I've committed the code on the glibc trunk now. If there are further problems please file a glibc bugzilla report in the "hurd" componenet.
> When getxattr gets called with VALUE as NULL and *SIZE as 0 (to > determine the length of the xattr value), SIZE will be smaller than > BUFSZ and subsequently the callee gets 0 returned and believes no xattrs > are present. > > We propose this instead: > > if (value != NULL && bufsz > *size) > return ERANGE; > *size = bufsz; That fix leaks in the ERANGE case. I did a different fix. Please verify it. > As was pointed out before, those should return 0 on success, and not > SIZE. Fixed. > Our tests seemed to have shown that most (all?) passive translators do > not have the S_IPTRANS stat bit set, thus not reporting the > gnu.translator xattr through listxattr. Are we missing something here? I doubt this is true. If it is, it's a server-side bug. Note that S_IPTRANS and the gnu.translator xattr are found on nodes opened with O_NOTRANS. They will more or less never be seen by the file name-based calls, only by f*xattr on an fd opened using O_NOTRANS. Thanks, Roland _______________________________________________ Bug-hurd mailing list Bug-hurd@gnu.org http://lists.gnu.org/mailman/listinfo/bug-hurd