Print

Print


@bbockelm commented on this pull request.



> @@ -63,6 +63,12 @@ int initErrTable()
            lastGood = i;
           }
       }
+   // NOTE: On systems without EAUTH (authentication error; currently all Glibc systems but GNU Hurd),
+   // EAUTH is remapped to EBADE ('invalid exchange').  Given there's no current XRootD use of a
+   // syscall that can return EBADE, we assume EBADE really means authentication denied.
+#if defined(EBADE)
+   Errno2String[EBADE] = "authentication failed";
+#endif

(Indeed, MacOS lacks `EBADE`, that's why I had to do the `#if` macro)

> Is the assumption that EBADE == authentication failed reasonable? Can something else be mistaken for authentication failure because of this?

I think it's reasonable but not necessarily bulletproof.  The EBADE response is pretty esoteric and I couldn't spot any syscalls used that would trigger it on MacOS.

Can I guarantee that this remains true in the future?  Of course not.  My feeling is this would lead to an improvement in 99.9% of cases, however.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/pull/1916#discussion_r1113302833
You are receiving this because you are subscribed to this thread.

Message ID: <[log in to unmask]>

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1