Skip to content

Fix bugs in the Digest Header code where it did not meet the RFCs#375

Merged
RogerHardiman merged 1 commit intomasterfrom
roger-fixes
Nov 12, 2025
Merged

Fix bugs in the Digest Header code where it did not meet the RFCs#375
RogerHardiman merged 1 commit intomasterfrom
roger-fixes

Conversation

@RogerHardiman
Copy link
Collaborator

A few makes of camera rejected this library as it did not correctly implement the RFCs for Digest.

With these changes I've tested Digest Authentication (with WSSecurity disabled) with Axis, Avigilon, Bosch, ESP, Hanwha, HikVision, Panasonic and Sony cameras.

  1. Code did not handle qop="auth,auth-int" due to comma in the middle of the string breaking split(). (Sony use auth,auth-int) 2) When QOP has multiple values, we have to pick one (we pick 'auth') 3) Not all key-value pairs in the Header need quotes. ESP and Panasonic failed wien NC and QOP used quotes in the reply due to strict checking in the camera.

… a few makes of camera rejected this library.

With these changes I've tested Digest Authentication (with WSSecurity disabled) with Axis, Avigilon, Bosch, ESP, Hanwha, HikVision, Panasonic and Sony cameras.

1) Code did not handle qop="auth,auth-int" due to comma in the middle of the string breaking split(). (Sony use auth,auth-int)
2) When QOP has multiple values, we have to pick one (we pick 'auth')
3) Not all key-value pairs in the Header need quotes.  ESP and Panasonic failed wien NC and QOP used quotes in the reply due to strict checking in the camera.
@RogerHardiman RogerHardiman merged commit 370bdc9 into master Nov 12, 2025
0 of 3 checks passed
@RogerHardiman RogerHardiman deleted the roger-fixes branch November 12, 2025 03:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant