[SCM] Samba Shared Repository - branch master updated

Kai Blin kai at samba.org
Wed Oct 27 15:18:02 MDT 2010


The branch, master has been updated
       via  6486733 ndr: Make sure ndr_dns.c has no lines wider than 80 chars
      from  f8d4995 tls: Inform the user if the cert/ca/private key can't be saved

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


- Log -----------------------------------------------------------------
commit 64867330493c676cfe6a34ea462be45c638966ee
Author: Kai Blin <kai at samba.org>
Date:   Wed Oct 27 22:15:10 2010 +0200

    ndr: Make sure ndr_dns.c has no lines wider than 80 chars
    
    Autobuild-User: Kai Blin <kai at samba.org>
    Autobuild-Date: Wed Oct 27 21:17:50 UTC 2010 on sn-devel-104

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

Summary of changes:
 librpc/ndr/ndr_dns.c |  237 +++++++++++++++++++++++++++++---------------------
 librpc/ndr/ndr_dns.h |   20 +++-
 2 files changed, 153 insertions(+), 104 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/ndr/ndr_dns.c b/librpc/ndr/ndr_dns.c
index ee2f1ce..1004db0 100644
--- a/librpc/ndr/ndr_dns.c
+++ b/librpc/ndr/ndr_dns.c
@@ -39,7 +39,9 @@
 /**
   print a dns string
 */
-_PUBLIC_ void ndr_print_dns_string(struct ndr_print *ndr, const char *name, const char *s)
+_PUBLIC_ void ndr_print_dns_string(struct ndr_print *ndr,
+				   const char *name,
+				   const char *s)
 {
 	ndr_print_string(ndr, name, s);
 }
@@ -57,7 +59,7 @@ static enum ndr_err_code ndr_pull_component(struct ndr_pull *ndr,
 	while (loops < 5) {
 		if (*offset >= ndr->data_size) {
 			return ndr_pull_error(ndr, NDR_ERR_STRING,
-					      "BAD DNS NAME component, bad offset");
+					"BAD DNS NAME component, bad offset");
 		}
 		len = ndr->data[*offset];
 		if (len == 0) {
@@ -70,7 +72,8 @@ static enum ndr_err_code ndr_pull_component(struct ndr_pull *ndr,
 			/* its a label pointer */
 			if (1 + *offset >= ndr->data_size) {
 				return ndr_pull_error(ndr, NDR_ERR_STRING,
-						      "BAD DNS NAME component, bad label offset");
+						"BAD DNS NAME component, " \
+						"bad label offset");
 			}
 			*max_offset = MAX(*max_offset, *offset + 2);
 			*offset = ((len&0x3F)<<8) | ndr->data[1 + *offset];
@@ -81,13 +84,17 @@ static enum ndr_err_code ndr_pull_component(struct ndr_pull *ndr,
 		if ((len & 0xC0) != 0) {
 			/* its a reserved length field */
 			return ndr_pull_error(ndr, NDR_ERR_STRING,
-					      "BAD DNS NAME component, reserved lenght field: 0x%02x", (len &0xC));
+					      "BAD DNS NAME component, " \
+					      "reserved lenght field: 0x%02x",
+					      (len &0xC));
 		}
 		if (*offset + len + 2 > ndr->data_size) {
 			return ndr_pull_error(ndr, NDR_ERR_STRING,
-					      "BAD DNS NAME component, length too long");
+					      "BAD DNS NAME component, "\
+					      "length too long");
 		}
-		*component = (uint8_t*)talloc_strndup(ndr, (const char *)&ndr->data[1 + *offset], len);
+		*component = (uint8_t*)talloc_strndup(ndr,
+				(const char *)&ndr->data[1 + *offset], len);
 		NDR_ERR_HAVE_NO_MEMORY(*component);
 		*offset += len + 1;
 		*max_offset = MAX(*max_offset, *offset);
@@ -95,13 +102,16 @@ static enum ndr_err_code ndr_pull_component(struct ndr_pull *ndr,
 	}
 
 	/* too many pointers */
-	return ndr_pull_error(ndr, NDR_ERR_STRING, "BAD DNS NAME component, too many pointers");
+	return ndr_pull_error(ndr, NDR_ERR_STRING,
+			      "BAD DNS NAME component, too many pointers");
 }
 
 /**
   pull a dns_string from the wire
 */
-_PUBLIC_ enum ndr_err_code ndr_pull_dns_string(struct ndr_pull *ndr, int ndr_flags, const char **s)
+_PUBLIC_ enum ndr_err_code ndr_pull_dns_string(struct ndr_pull *ndr,
+					       int ndr_flags,
+					       const char **s)
 {
 	uint32_t offset = ndr->offset;
 	uint32_t max_offset = offset;
@@ -115,14 +125,18 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dns_string(struct ndr_pull *ndr, int ndr_fla
 	name = talloc_strdup(ndr->current_mem_ctx, "");
 
 	/* break up name into a list of components */
-	for (num_components=0;num_components<MAX_COMPONENTS;num_components++) {
+	for (num_components=0; num_components<MAX_COMPONENTS;
+	     num_components++) {
 		uint8_t *component = NULL;
-		NDR_CHECK(ndr_pull_component(ndr, &component, &offset, &max_offset));
+		NDR_CHECK(ndr_pull_component(ndr, &component, &offset,
+					     &max_offset));
 		if (component == NULL) break;
 		if (num_components > 0) {
-			name = talloc_asprintf_append_buffer(name, ".%s", component);
+			name = talloc_asprintf_append_buffer(name, ".%s",
+							     component);
 		} else {
-			name = talloc_asprintf_append_buffer(name, "%s", component);
+			name = talloc_asprintf_append_buffer(name, "%s",
+							     component);
 		}
 		NDR_ERR_HAVE_NO_MEMORY(name);
 	}
@@ -140,7 +154,9 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dns_string(struct ndr_pull *ndr, int ndr_fla
 /**
   push a dns string to the wire
 */
-_PUBLIC_ enum ndr_err_code ndr_push_dns_string(struct ndr_push *ndr, int ndr_flags, const char *s)
+_PUBLIC_ enum ndr_err_code ndr_push_dns_string(struct ndr_push *ndr,
+					       int ndr_flags,
+					       const char *s)
 {
 	if (!(ndr_flags & NDR_SCALARS)) {
 		return NDR_ERR_SUCCESS;
@@ -155,13 +171,18 @@ _PUBLIC_ enum ndr_err_code ndr_push_dns_string(struct ndr_push *ndr, int ndr_fla
 		/* see if we have pushed the remaing string allready,
 		 * if so we use a label pointer to this string
 		 */
-		ndr_err = ndr_token_retrieve_cmp_fn(&ndr->dns_string_list, s, &offset, (comparison_fn_t)strcmp, false);
+		ndr_err = ndr_token_retrieve_cmp_fn(&ndr->dns_string_list, s,
+						    &offset,
+						    (comparison_fn_t)strcmp,
+						    false);
 		if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
 			uint8_t b[2];
 
 			if (offset > 0x3FFF) {
 				return ndr_push_error(ndr, NDR_ERR_STRING,
-						      "offset for dns string label pointer %u[%08X] > 0x00003FFF",
+						      "offset for dns string " \
+						      "label pointer " \
+						      "%u[%08X] > 0x00003FFF",
 						      offset, offset);
 			}
 
@@ -176,8 +197,10 @@ _PUBLIC_ enum ndr_err_code ndr_push_dns_string(struct ndr_push *ndr, int ndr_fla
 		/* we need to make sure the length fits into 6 bytes */
 		if (complen > 0x3F) {
 			return ndr_push_error(ndr, NDR_ERR_STRING,
-					      "component length %u[%08X] > 0x0000003F",
-					      (unsigned)complen, (unsigned)complen);
+					      "component length %u[%08X] > " \
+					      "0x0000003F",
+					      (unsigned)complen,
+					      (unsigned)complen);
 		}
 
 		compname = talloc_asprintf(ndr, "%c%*.*s",
@@ -189,10 +212,12 @@ _PUBLIC_ enum ndr_err_code ndr_push_dns_string(struct ndr_push *ndr, int ndr_fla
 		/* remember the current componemt + the rest of the string
 		 * so it can be reused later
 		 */
-		NDR_CHECK(ndr_token_store(ndr, &ndr->dns_string_list, s, ndr->offset));
+		NDR_CHECK(ndr_token_store(ndr, &ndr->dns_string_list, s,
+					  ndr->offset));
 
 		/* push just this component into the blob */
-		NDR_CHECK(ndr_push_bytes(ndr, (const uint8_t *)compname, complen+1));
+		NDR_CHECK(ndr_push_bytes(ndr, (const uint8_t *)compname,
+					 complen+1));
 		talloc_free(compname);
 
 		s += complen;
@@ -205,99 +230,113 @@ _PUBLIC_ enum ndr_err_code ndr_push_dns_string(struct ndr_push *ndr, int ndr_fla
 	return ndr_push_bytes(ndr, (const uint8_t *)"", 1);
 }
 
-_PUBLIC_ enum ndr_err_code ndr_push_dns_res_rec(struct ndr_push *ndr, int ndr_flags, const struct dns_res_rec *r)
+_PUBLIC_ enum ndr_err_code ndr_push_dns_res_rec(struct ndr_push *ndr,
+						int ndr_flags,
+						const struct dns_res_rec *r)
 {
-	{
-		uint32_t _flags_save_STRUCT = ndr->flags;
-		uint32_t _saved_offset1, _saved_offset2;
-		uint16_t length;
-		ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX|LIBNDR_FLAG_NOALIGN);
-		if (ndr_flags & NDR_SCALARS) {
-			NDR_CHECK(ndr_push_align(ndr, 4));
-			NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->name));
-			NDR_CHECK(ndr_push_dns_qtype(ndr, NDR_SCALARS, r->rr_type));
-			NDR_CHECK(ndr_push_dns_qclass(ndr, NDR_SCALARS, r->rr_class));
-			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ttl));
-			_saved_offset1 = ndr->offset;
-			NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
-			if (r->length > 0) {
-				NDR_CHECK(ndr_push_set_switch_value(ndr, &r->rdata, r->rr_type));
-				NDR_CHECK(ndr_push_dns_rdata(ndr, NDR_SCALARS, &r->rdata));
-				if (r->unexpected.length > 0) {
-					return ndr_push_error(ndr, NDR_ERR_LENGTH,
-							      "Invalid...Unexpected blob lenght is too large");
-				}
+	uint32_t _flags_save_STRUCT = ndr->flags;
+	uint32_t _saved_offset1, _saved_offset2;
+	uint16_t length;
+	ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX |
+				   LIBNDR_FLAG_NOALIGN);
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_push_align(ndr, 4));
+		NDR_CHECK(ndr_push_dns_string(ndr, NDR_SCALARS, r->name));
+		NDR_CHECK(ndr_push_dns_qtype(ndr, NDR_SCALARS, r->rr_type));
+		NDR_CHECK(ndr_push_dns_qclass(ndr, NDR_SCALARS, r->rr_class));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ttl));
+		_saved_offset1 = ndr->offset;
+		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, 0));
+		if (r->length > 0) {
+			NDR_CHECK(ndr_push_set_switch_value(ndr, &r->rdata,
+							    r->rr_type));
+			NDR_CHECK(ndr_push_dns_rdata(ndr, NDR_SCALARS,
+						     &r->rdata));
+			if (r->unexpected.length > 0) {
+				return ndr_push_error(ndr,
+						      NDR_ERR_LENGTH,
+						      "Invalid...Unexpected " \
+						      "blob lenght is too " \
+						      "large");
 			}
-			if (r->unexpected.length > UINT16_MAX) {
-				return ndr_push_error(ndr, NDR_ERR_LENGTH,
-						      "Unexpected blob lenght is too large");
-			}
-
-			NDR_CHECK(ndr_push_bytes(ndr, r->unexpected.data, r->unexpected.length));
-			NDR_CHECK(ndr_push_trailer_align(ndr, 4));
-			length = ndr->offset - (_saved_offset1 + 2);
-			_saved_offset2 = ndr->offset;
-			ndr->offset = _saved_offset1;
-			NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, length));
-			ndr->offset = _saved_offset2;
 		}
-		if (ndr_flags & NDR_BUFFERS) {
-			NDR_CHECK(ndr_push_dns_rdata(ndr, NDR_BUFFERS, &r->rdata));
+		if (r->unexpected.length > UINT16_MAX) {
+			return ndr_push_error(ndr, NDR_ERR_LENGTH,
+					      "Unexpected blob lenght "\
+					      "is too large");
 		}
-		ndr->flags = _flags_save_STRUCT;
+
+		NDR_CHECK(ndr_push_bytes(ndr, r->unexpected.data,
+					 r->unexpected.length));
+		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
+		length = ndr->offset - (_saved_offset1 + 2);
+		_saved_offset2 = ndr->offset;
+		ndr->offset = _saved_offset1;
+		NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, length));
+		ndr->offset = _saved_offset2;
+	}
+	if (ndr_flags & NDR_BUFFERS) {
+		NDR_CHECK(ndr_push_dns_rdata(ndr, NDR_BUFFERS,
+					     &r->rdata));
 	}
+	ndr->flags = _flags_save_STRUCT;
 	return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ enum ndr_err_code ndr_pull_dns_res_rec(struct ndr_pull *ndr, int ndr_flags, struct dns_res_rec *r)
+_PUBLIC_ enum ndr_err_code ndr_pull_dns_res_rec(struct ndr_pull *ndr,
+						int ndr_flags,
+						struct dns_res_rec *r)
 {
-	{
-		uint32_t _flags_save_STRUCT = ndr->flags;
-		uint32_t _saved_offset1;
-		uint32_t pad, length;
-
-		ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX|LIBNDR_FLAG_NOALIGN);
-		if (ndr_flags & NDR_SCALARS) {
-			NDR_CHECK(ndr_pull_align(ndr, 4));
-			NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->name));
-			NDR_CHECK(ndr_pull_dns_qtype(ndr, NDR_SCALARS, &r->rr_type));
-			NDR_CHECK(ndr_pull_dns_qclass(ndr, NDR_SCALARS, &r->rr_class));
-			NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ttl));
-			NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
-			_saved_offset1 = ndr->offset;
-			if (r->length > 0) {
-				NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->rdata, r->rr_type));
-				NDR_CHECK(ndr_pull_dns_rdata(ndr, NDR_SCALARS, &r->rdata));
-			} else {
-				ZERO_STRUCT(r->rdata);
-			}
-			length = ndr->offset - _saved_offset1;
-			if (length > r->length) {
-				return ndr_pull_error(ndr, NDR_ERR_LENGTH,
-						      "TODO");
-			}
+	uint32_t _flags_save_STRUCT = ndr->flags;
+	uint32_t _saved_offset1;
+	uint32_t pad, length;
+
+	ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX |
+				   LIBNDR_FLAG_NOALIGN);
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_pull_align(ndr, 4));
+		NDR_CHECK(ndr_pull_dns_string(ndr, NDR_SCALARS, &r->name));
+		NDR_CHECK(ndr_pull_dns_qtype(ndr, NDR_SCALARS, &r->rr_type));
+		NDR_CHECK(ndr_pull_dns_qclass(ndr, NDR_SCALARS, &r->rr_class));
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ttl));
+		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->length));
+		_saved_offset1 = ndr->offset;
+		if (r->length > 0) {
+			NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->rdata,
+							    r->rr_type));
+			NDR_CHECK(ndr_pull_dns_rdata(ndr, NDR_SCALARS,
+						     &r->rdata));
+		} else {
+			ZERO_STRUCT(r->rdata);
+		}
+		length = ndr->offset - _saved_offset1;
+		if (length > r->length) {
+			return ndr_pull_error(ndr, NDR_ERR_LENGTH, "TODO");
+		}
 
-			r->unexpected = data_blob_null;
-			pad = r->length - length;
-			if (pad > 0) {
-				NDR_PULL_NEED_BYTES(ndr, pad);
-				r->unexpected = data_blob_talloc(ndr->current_mem_ctx,
-								 ndr->data + ndr->offset,
-								 pad);
-				if (r->unexpected.data == NULL) {
-					return ndr_pull_error(ndr, NDR_ERR_ALLOC,
-							      "Failed to allocate a data blob");
-				}
-				ndr->offset += pad;
+		r->unexpected = data_blob_null;
+		pad = r->length - length;
+		if (pad > 0) {
+			NDR_PULL_NEED_BYTES(ndr, pad);
+			r->unexpected = data_blob_talloc(ndr->current_mem_ctx,
+							 ndr->data +
+							 ndr->offset,
+							 pad);
+			if (r->unexpected.data == NULL) {
+				return ndr_pull_error(ndr,
+						      NDR_ERR_ALLOC,
+						      "Failed to allocate a " \
+						      "data blob");
 			}
+			ndr->offset += pad;
+		}
 
 
-			NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
-		}
-		if (ndr_flags & NDR_BUFFERS) {
-			NDR_CHECK(ndr_pull_dns_rdata(ndr, NDR_BUFFERS, &r->rdata));
-		}
-		ndr->flags = _flags_save_STRUCT;
+		NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
+	}
+	if (ndr_flags & NDR_BUFFERS) {
+		NDR_CHECK(ndr_pull_dns_rdata(ndr, NDR_BUFFERS, &r->rdata));
 	}
+	ndr->flags = _flags_save_STRUCT;
 	return NDR_ERR_SUCCESS;
 }
diff --git a/librpc/ndr/ndr_dns.h b/librpc/ndr/ndr_dns.h
index acdb7bb..d97d57f 100644
--- a/librpc/ndr/ndr_dns.h
+++ b/librpc/ndr/ndr_dns.h
@@ -1,5 +1,15 @@
-_PUBLIC_ void ndr_print_dns_string(struct ndr_print *ndr, const char *name, const char *s);
-_PUBLIC_ enum ndr_err_code ndr_pull_dns_string(struct ndr_pull *ndr, int ndr_flags, const char **s);
-_PUBLIC_ enum ndr_err_code ndr_push_dns_string(struct ndr_push *ndr, int ndr_flags, const char *s);
-_PUBLIC_ enum ndr_err_code ndr_push_dns_res_rec(struct ndr_push *ndr, int ndr_flags, const struct dns_res_rec *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_dns_res_rec(struct ndr_pull *ndr, int ndr_flags, struct dns_res_rec *r);
+void ndr_print_dns_string(struct ndr_print *ndr,
+			  const char *name,
+			  const char *s);
+enum ndr_err_code ndr_pull_dns_string(struct ndr_pull *ndr,
+				      int ndr_flags,
+				      const char **s);
+enum ndr_err_code ndr_push_dns_string(struct ndr_push *ndr,
+				      int ndr_flags,
+				      const char *s);
+enum ndr_err_code ndr_push_dns_res_rec(struct ndr_push *ndr,
+				       int ndr_flags,
+				       const struct dns_res_rec *r);
+enum ndr_err_code ndr_pull_dns_res_rec(struct ndr_pull *ndr,
+				       int ndr_flags,
+				       struct dns_res_rec *r);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list