Re: 305/306 response codes

Well, 
 yeah, I guess we could do that, but to be honest, I think thats more
complicated and error prone than the simple straightforward statement
of "reverse the domain name"
 plus memcmp()

 Seriously, I knew that this transformation would raise 
eyebrows to say the least.  But it does provide a non ambiguous
way to clearly specify the order of significance that we really mean.

> Jeffrey Mogul <mogul@pa.dec.com> said:
> then you might not want the string "a.com" to be confused with
> a suffix of "www.a.com".  But I think you could probably
> use ".a.com" to specify a suffix, or else allow a __single__
> "*" at the beginning of the domain name (e.g., "*.a.com").
> 
> If you follow the former approach (i.e., no "*" involved), then
> the matching algorithm is simply
> 
>     DoesItMatch(char *scope, char *URL)
>     {
>      int slen, ulen, offset;
>      char *URLsuffix;
> 
>      slen = strlen(scope);
>      ulen = strlen(url);
>      
>      if (slen > ulen) return(0);     /* no match possible */
>      
>      offset = ulen - slen;
>      URLsuffix = &(URL[offset]);
>      
>      return(memcmp(scope, URLsuffix, slen) == 0);
>     }
> 
> This is basically O(N) in the length of the strings.  It's
> probably cheaper than trying to reverse the order of the components
> of a domain name, which requires some level of actual parsing.
> 
> Bottom line: reversal isn't worth it.
> 
> -Jeff

-----------------------------------------------------------------------------
Josh Cohen				        Netscape Communications Corp.
Netscape Fire Department	               	      
#include<disclaimer.h>
Server Engineering
josh@netscape.com                       http://home.netscape.com/people/josh/
-----------------------------------------------------------------------------

Received on Wednesday, 11 June 1997 17:42:16 UTC