The branch, master has been updated
       via  6764e4f samba-tool:dns: DNS names are case insensitive
       via  44a85e3 s4-rpc:dnsserver: DNS names are case insensitive
      from  ddc1f3d Ensure we always free aio_ex on all error paths by moving 
the TALLOC_FREE call out of smbd_aio_complete_aio_ex() and into the caller.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 6764e4f20d30a7ed63b02290c718cd24008f3c00
Author: Amitay Isaacs <ami...@gmail.com>
Date:   Thu Jan 12 15:11:12 2012 +1100

    samba-tool:dns: DNS names are case insensitive
    
    Autobuild-User: Amitay Isaacs <ami...@samba.org>
    Autobuild-Date: Thu Jan 12 06:43:01 CET 2012 on sn-devel-104

commit 44a85e3752ceaacdcc39a6a1d0faa0ff3d3db004
Author: Amitay Isaacs <ami...@gmail.com>
Date:   Thu Jan 12 15:10:42 2012 +1100

    s4-rpc:dnsserver: DNS names are case insensitive

-----------------------------------------------------------------------

Summary of changes:
 source4/rpc_server/dnsserver/dcerpc_dnsserver.c |    8 ++++----
 source4/rpc_server/dnsserver/dnsdata.c          |   18 +++++++++---------
 source4/rpc_server/dnsserver/dnsutils.c         |    8 ++++----
 source4/scripting/python/samba/netcmd/dns.py    |    6 +++---
 4 files changed, 20 insertions(+), 20 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c 
b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
index fac99e1..5733a51 100644
--- a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
+++ b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
@@ -1433,7 +1433,7 @@ static WERROR dnsserver_complex_operate_server(struct 
dnsserver_state *dsstate,
                *typeid_out = DNSSRV_TYPEID_DP_INFO;
 
                for (p = dsstate->partitions; p; p = p->next) {
-                       if (strcmp(p->pszDpFqdn, rin->String) == 0) {
+                       if (strcasecmp(p->pszDpFqdn, rin->String) == 0) {
                                dpinfo = talloc_zero(mem_ctx, struct 
DNS_RPC_DP_INFO);
                                W_ERROR_HAVE_NO_MEMORY(dpinfo);
 
@@ -1720,7 +1720,7 @@ static WERROR dnsserver_enumerate_records(struct 
dnsserver_state *dsstate,
        W_ERROR_HAVE_NO_MEMORY_AND_FREE(name, tmp_ctx);
 
        /* search all records under parent tree */
-       if (strcmp(name, z->name) == 0) {
+       if (strcasecmp(name, z->name) == 0) {
                ret = ldb_search(dsstate->samdb, tmp_ctx, &res, z->zone_dn,
                                LDB_SCOPE_ONELEVEL, attrs, 
"(objectClass=dnsNode)");
        } else {
@@ -1746,7 +1746,7 @@ static WERROR dnsserver_enumerate_records(struct 
dnsserver_state *dsstate,
                        (ldb_qsort_cmp_fn_t)dns_name_compare);
 
        /* Build a tree of name components from dns name */
-       if (strcmp(name, z->name) == 0) {
+       if (strcasecmp(name, z->name) == 0) {
                tree = dns_build_tree(tmp_ctx, "@", res);
        } else {
                tree = dns_build_tree(tmp_ctx, name, res);
@@ -1853,7 +1853,7 @@ static WERROR dnsserver_update_record(struct 
dnsserver_state *dsstate,
        W_ERROR_HAVE_NO_MEMORY(tmp_ctx);
 
        /* If node_name is @ or zone name, dns record is @ */
-       if (strcmp(node_name, "@") == 0 || strcmp(node_name, z->name) == 0) {
+       if (strcmp(node_name, "@") == 0 || strcasecmp(node_name, z->name) == 0) 
{
                name = talloc_strdup(tmp_ctx, "@");
        } else {
                name = dns_split_node_name(tmp_ctx, node_name, z->name);
diff --git a/source4/rpc_server/dnsserver/dnsdata.c 
b/source4/rpc_server/dnsserver/dnsdata.c
index b2ab2d9..50be4bc 100644
--- a/source4/rpc_server/dnsserver/dnsdata.c
+++ b/source4/rpc_server/dnsserver/dnsdata.c
@@ -204,7 +204,7 @@ char *dns_split_node_name(TALLOC_CTX *tmp_ctx, const char 
*node_name, const char
                } else {
                        match = 0;
                        for (i=1; i<=zcount; i++) {
-                               if (strcmp(nlist[ncount-i], zlist[zcount-i]) != 
0) {
+                               if (strcasecmp(nlist[ncount-i], 
zlist[zcount-i]) != 0) {
                                        break;
                                }
                                match++;
@@ -535,7 +535,7 @@ static struct dns_tree *dns_tree_find(struct dns_tree 
*tree, int ncount, char **
        if (strcmp(tree->name, "@") == 0) {
                start = 0;
        } else {
-               if (strcmp(tree->name, nlist[ncount-1]) != 0) {
+               if (strcasecmp(tree->name, nlist[ncount-1]) != 0) {
                        return NULL;
                }
                start = 1;
@@ -549,7 +549,7 @@ static struct dns_tree *dns_tree_find(struct dns_tree 
*tree, int ncount, char **
                }
                next = NULL;
                for (j=0; j<node->num_children; j++) {
-                       if (strcmp(nlist[(ncount-1)-i], 
node->children[j]->name) == 0) {
+                       if (strcasecmp(nlist[(ncount-1)-i], 
node->children[j]->name) == 0) {
                                next = node->children[j];
                                *match_count = i;
                                break;
@@ -601,7 +601,7 @@ struct dns_tree *dns_build_tree(TALLOC_CTX *mem_ctx, const 
char *name, struct ld
                if (strcmp(ptr, "@") == 0) {
                        base->data = res->msgs[i];
                        continue;
-               } else if (strcmp(ptr, name) == 0) {
+               } else if (strcasecmp(ptr, name) == 0) {
                        base->data = res->msgs[i];
                        continue;
                }
@@ -659,7 +659,7 @@ static void _dns_add_name(TALLOC_CTX *mem_ctx, const char 
*name, char ***add_nam
        int count = *add_count;
 
        for (i=0; i<count; i++) {
-               if (strcmp(ptr[i], name) == 0) {
+               if (strcasecmp(ptr[i], name) == 0) {
                        return;
                }
        }
@@ -860,14 +860,14 @@ int dns_name_compare(const struct ldb_message **m1, const 
struct ldb_message **m
        if (name1[0] == '@') {
                return -1;
        }
-       if (search_name && strcmp(name1, search_name) == 0) {
+       if (search_name && strcasecmp(name1, search_name) == 0) {
                return -1;
        }
 
        if (name2[0] == '@') {
                return 1;
        }
-       if (search_name && strcmp(name2, search_name) == 0) {
+       if (search_name && strcasecmp(name2, search_name) == 0) {
                return 1;
        }
 
@@ -877,7 +877,7 @@ int dns_name_compare(const struct ldb_message **m1, const 
struct ldb_message **m
        if (ptr1 == NULL) {
                ptr1 = name1;
        } else {
-               if (search_name && strcmp(ptr1+1, search_name) == 0) {
+               if (search_name && strcasecmp(ptr1+1, search_name) == 0) {
                        ptr1--;
                        while (ptr1 != name1) {
                                ptr1--;
@@ -895,7 +895,7 @@ int dns_name_compare(const struct ldb_message **m1, const 
struct ldb_message **m
        if (ptr2 == NULL) {
                ptr2 = name2;
        } else {
-               if (search_name && strcmp(ptr2+1, search_name) == 0) {
+               if (search_name && strcasecmp(ptr2+1, search_name) == 0) {
                        ptr2--;
                        while (ptr2 != name2) {
                                ptr2--;
diff --git a/source4/rpc_server/dnsserver/dnsutils.c 
b/source4/rpc_server/dnsserver/dnsutils.c
index 5390384..52a8bdd 100644
--- a/source4/rpc_server/dnsserver/dnsutils.c
+++ b/source4/rpc_server/dnsserver/dnsutils.c
@@ -170,7 +170,7 @@ struct dnsserver_zoneinfo *dnsserver_init_zoneinfo(struct 
dnsserver_zone *zone,
        fReverse = 0;
        len1 = strlen(zone->name);
        len2 = strlen(revzone);
-       if (len1 > len2 && strcmp(&zone->name[len1-len2], revzone) == 0) {
+       if (len1 > len2 && strcasecmp(&zone->name[len1-len2], revzone) == 0) {
                fReverse = 1;
        }
 
@@ -229,7 +229,7 @@ struct dnsserver_partition *dnsserver_find_partition(struct 
dnsserver_partition
        struct dnsserver_partition *p = NULL;
 
        for (p = partitions; p; p = p->next) {
-               if (strcmp(dp_fqdn, p->pszDpFqdn) == 0) {
+               if (strcasecmp(dp_fqdn, p->pszDpFqdn) == 0) {
                        break;
                }
        }
@@ -242,7 +242,7 @@ struct dnsserver_zone *dnsserver_find_zone(struct 
dnsserver_zone *zones, const c
        struct dnsserver_zone *z = NULL;
 
        for (z = zones; z; z = z->next) {
-               if (strcmp(zone_name, z->name) == 0) {
+               if (strcasecmp(zone_name, z->name) == 0) {
                        break;
                }
        }
@@ -259,7 +259,7 @@ struct ldb_dn *dnsserver_name_to_dn(TALLOC_CTX *mem_ctx, 
struct dnsserver_zone *
        if (dn == NULL) {
                return NULL;
        }
-       if (strcmp(name, z->name) == 0) {
+       if (strcasecmp(name, z->name) == 0) {
                ret = ldb_dn_add_child_fmt(dn, "DC=@");
        } else {
                ret = ldb_dn_add_child_fmt(dn, "DC=%s", name);
diff --git a/source4/scripting/python/samba/netcmd/dns.py 
b/source4/scripting/python/samba/netcmd/dns.py
index 74b649e..2ab4129 100644
--- a/source4/scripting/python/samba/netcmd/dns.py
+++ b/source4/scripting/python/samba/netcmd/dns.py
@@ -491,13 +491,13 @@ def dns_record_match(dns_conn, server, zone, name, 
record_type, data):
             if rec.data == data:
                 found = True
         elif record_type == dnsp.DNS_TYPE_PTR:
-            if rec.data.str.rstrip('.') == data.rstrip('.'):
+            if rec.data.str.rstrip('.').lower() == data.rstrip('.').lower():
                 found = True
         elif record_type == dnsp.DNS_TYPE_CNAME:
-            if rec.data.str.rstrip('.') == data.rstrip('.'):
+            if rec.data.str.rstrip('.').lower() == data.rstrip('.').lower():
                 found = True
         elif record_type == dnsp.DNS_TYPE_NS:
-            if rec.data.str.rstrip('.') == data.rstrip('.'):
+            if rec.data.str.rstrip('.').lower() == data.rstrip('.').lower():
                 found = True
         if found:
             rec_match = rec


-- 
Samba Shared Repository

Reply via email to