libwww-perl/libwww-perl — pull request #40 by marmotil (2013-04-20 02:26:47+00:00)
Title: Fix digest authentication failure if nonce is expired

This change fixes the digest authentication failure described in issue #39.

An additional method reauth_requested() is introduced to the authentication mechanism. It shall indicate that the server suggests a reauthentication even if the authentication attempt fails.

It is always false for the basic authentication and all classes inheriting from that, unless they override it. For the digest authentication, it also returns false, unless the nonce is expired, indicated by the "stale=true" authentication parameter. In this case, the stale nonce from the request is deleted from the history, and the request is retried.

Tests were added to check this new behavior.