You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While investigating a bug with communication with IC Realtime ORB cameras within an application I maintain, I found the GNUStep implementation of digest authentication challenge responses differs from MacOS, which I believe is causing the camera to reject the request with a 400 error.
Here are the contents of the challenge responses per platform (note: redacted bits are substituted with ...):
linux / GNUStep (results in a 400 / error):
GET /cgi-bin/ptz.cgi?action=start&channel=0&code=Right&arg1=0&arg2=5&arg3=0 HTTP/1.1
Host: ...:80
Authorization: Digest
realm="Login to ...",
username="...",
nonce="...",
uri="/cgi-bin/ptz.cgi",
response="...",
qop="auth",
nc=00000001,
cnonce="...",
opaque=""
Content-Length: 0
After looking into this and reading though the RFCs around 'HTTP Digest Access Authentication', it appears as though including the query params if they are present is the correct behavior (IIUC, it specifies absolute-path [ "?" query ]). Feel free to review:
While investigating a bug with communication with IC Realtime ORB cameras within an application I maintain, I found the GNUStep implementation of digest authentication challenge responses differs from MacOS, which I believe is causing the camera to reject the request with a 400 error.
Here are the contents of the challenge responses per platform (note: redacted bits are substituted with
...
):linux / GNUStep (results in a 400 / error):
MacOS (results in a 200 / success):
After looking into this and reading though the RFCs around 'HTTP Digest Access Authentication', it appears as though including the query params if they are present is the correct behavior (IIUC, it specifies
absolute-path [ "?" query ]
). Feel free to review:The text was updated successfully, but these errors were encountered: