Updated patches to work with the current trunk.
[rsync/rsync-patches.git] / daemon-forward-lookup.diff
index 8339da5..1e8f62f 100644 (file)
@@ -9,36 +9,33 @@ To use this patch, run these commands for a successful build:
     make
 
 diff --git a/access.c b/access.c
+index 9a023de..ad1cdb1 100644
 --- a/access.c
 +++ b/access.c
-@@ -210,6 +210,42 @@ static int match_address(char *addr, char *tok)
+@@ -210,6 +210,38 @@ static int match_address(const char *addr, const char *tok)
        return ret;
  }
  
-+static int match_hostlookup(char *addr, char *tok)
++static int match_hostlookup(const char *addr, const char *tok)
 +{
 +      struct hostent *hp = NULL;
 +      unsigned int i, len;
-+      char *p;
++      const char *p;
 +
-+      if ((p = strchr(tok,'/')) != NULL) {
-+              *p = '\0';
++      if ((p = strchr(tok,'/')) != NULL)
 +              len = p - tok;
-+      else
++      else
 +              len = strlen(tok);
 +
 +      /* Fail quietly (hp left NULL) if tok is an address, not a hostname. */
 +#ifdef INET6
-+      if (strchr(tok, ':') != NULL) {
++      if (strcspn(tok, ":/") != len) {
 +              ;
 +      } else
 +#endif
 +      if (strspn(tok, ".0123456789") != len)
 +              hp = gethostbyname(tok);
 +
-+      if (p)
-+              *p = '/';
-+
 +      if (!hp)
 +              return 0;
 +
@@ -51,11 +48,11 @@ diff --git a/access.c b/access.c
 +      return 0;
 +}
 +
- static int access_match(char *list, char *addr, char *host)
+ static int access_match(const char *list, const char *addr, const char *host)
  {
        char *tok;
-@@ -223,7 +259,7 @@ static int access_match(char *list, char *addr, char *host)
-               strlower(host);
+@@ -221,7 +253,7 @@ static int access_match(const char *list, const char *addr, const char *host)
+       strlower(list2);
  
        for (tok = strtok(list2, " ,\t"); tok; tok = strtok(NULL, " ,\t")) {
 -              if (match_hostname(host, tok) || match_address(addr, tok)) {