Maurizio Lotauro wrote: > Scrive Arno Garrels <arno.garr...@gmx.de>: > >> Maurizio Lotauro wrote: >>> Scrive Arno Garrels <arno.garr...@gmx.de>: >>> >>>> Maurizio Lotauro wrote: > > [...] > >>> But if you have time give a look in the code, particularly to >>> HttpAuthNTLM to get an idea how implement the Digest authentication >>> class. >> >> Already done last week. However Digest is more similar to Basic, >> the only difference to Basic is that at least one challenge is >> required to build the Authorization header line. > > The "key" is the > PrepareNextStep method where the class receive the header line to get > all information needed and set the required properties.
With digest you would have to parse the server challenge at this point, and check whether it is syntactically correct and reset the nounce count (nc) value/property to zero. For each subsequent Authorization header which is created using the _same challenge the nc has to be incremented by one. Problem is however that if a proxy sends 407 after you already got a server challenge the Autorization header was not received by the server so next time the Autorization header is created the nc must not be incremented otherwise the server may see gaps nc=00000001, nc=00000003 etc (this is currently no problem since a challenge is not yet reused). > > [...] > >> Also see my latest changes in the ICS v7 repository. > > I'll do that but first I must change how the component works. > >> Will you be adding your changes to v7? > > First I'll work on my version, that actually is used by D5 > applications. After that we will see. One problem could be the > adaptions to D2009. > > Sooner or later I must install (and use) a svn client :-) > Any suggestion? The TortoiseSVN client is very good choice. I usually do not like shell extensions, however in this case I love it. Btw: If you like WinMerge (http://winmerge.org/) you can set it up as the external the diff viewer and merge tool. All you need to create your own local and network repositories is included in TortoiseSVN as well. Version control is not just useful for teams but also for a one man band. With a few clicks you create your own repositories (no server software is required). I could not live without it ;-) -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be