Modified UPnP SDK v1.6.6 to include HTTP Digest Authentication for SOAP requests that require authorization (modem/router setup based on the TR-064/69 specifications for example). Also made to work on Mac OS X 10.3.9 - 10.5 PPC/Intel.
Based on W3C Digest Authentication sample code. Added new UPnP api to set UID/PW credentials, which are stored in the client handle. Added new SOAP api to send an authentication-compatible SOAP request. If the response is HTTP code 502, the request is resent with a MD5 generated Digest Authentication header automatically, if the authentication request fails the SOAP call returns an error as before.
Modifications were made to support Mac OS X software integration that will configure DSL modem/routers with TR-064 interfaces.
Existing clients can continue to use the API transparently, only a single new call to set the credentials is required.
digestauth.diff -- diff of changes to existing files in UPnP SDK
httpauth.c -- new file encapsulating HTTP Digest Authentication functions
httpauth.h -- header for same
Tim Mityok, Mac Software Developer @ Motive, Inc. Austin, TX.