From 767fe3943da1b8c7a507ca7828714c5154eb7568 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 15 Jan 2008 23:04:47 +0100 Subject: Add some NDR_PRINT_*_STRING macros (returning talloced strings). Guenther (This used to be commit 50ab169f581b4efff5185fd86d1b9ceaaf3974dd) --- source3/librpc/ndr/libndr.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source3/librpc/ndr/libndr.h b/source3/librpc/ndr/libndr.h index 6341e20b65..d0c2c74db9 100644 --- a/source3/librpc/ndr/libndr.h +++ b/source3/librpc/ndr/libndr.h @@ -149,7 +149,7 @@ struct ndr_print { /* set to avoid recursion in ndr_size_*() calculation */ #define LIBNDR_FLAG_NO_NDR_SIZE (1<<31) -/* useful macro for debugging */ +/* useful macro for debugging with DEBUG */ #define NDR_PRINT_DEBUG(type, p) ndr_print_debug((ndr_print_fn_t)ndr_print_ ##type, #p, p) #define NDR_PRINT_UNION_DEBUG(type, level, p) ndr_print_union_debug((ndr_print_fn_t)ndr_print_ ##type, #p, level, p) #define NDR_PRINT_FUNCTION_DEBUG(type, flags, p) ndr_print_function_debug((ndr_print_function_t)ndr_print_ ##type, #type, flags, p) @@ -157,6 +157,14 @@ struct ndr_print { #define NDR_PRINT_OUT_DEBUG(type, p) NDR_PRINT_FUNCTION_DEBUG(type, NDR_OUT, p) #define NDR_PRINT_IN_DEBUG(type, p) NDR_PRINT_FUNCTION_DEBUG(type, NDR_IN | NDR_SET_VALUES, p) +/* useful macro for debugging in strings */ +#define NDR_PRINT_STRUCT_STRING(ctx, type, p) ndr_print_struct_string(ctx, (ndr_print_fn_t)ndr_print_ ##type, #p, p) +#define NDR_PRINT_UNION_STRING(ctx, type, level, p) ndr_print_union_string(ctx, (ndr_print_fn_t)ndr_print_ ##type, #p, level, p) +#define NDR_PRINT_FUNCTION_STRING(ctx, type, flags, p) ndr_print_function_string(ctx, (ndr_print_function_t)ndr_print_ ##type, #type, flags, p) +#define NDR_PRINT_BOTH_STRING(ctx, type, p) NDR_PRINT_FUNCTION_STRING(ctx, type, NDR_BOTH, p) +#define NDR_PRINT_OUT_STRING(ctx, type, p) NDR_PRINT_FUNCTION_STRING(ctx, type, NDR_OUT, p) +#define NDR_PRINT_IN_STRING(ctx, type, p) NDR_PRINT_FUNCTION_STRING(ctx, type, NDR_IN | NDR_SET_VALUES, p) + #define NDR_BE(ndr) (((ndr)->flags & (LIBNDR_FLAG_BIGENDIAN|LIBNDR_FLAG_LITTLE_ENDIAN)) == LIBNDR_FLAG_BIGENDIAN) enum ndr_err_code { -- cgit From e021eb6d7b060bbd06c996a3ab8efe4322aea265 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 15 Jan 2008 23:06:23 +0100 Subject: Use NDR_PRINT_UNION_STRING instead of NDR_PRINT_UNION_DEBUG in rpcclient. Guenther (This used to be commit 2c045a8c817b4ec200830c4f8b508c1cd4c4d9aa) --- source3/rpcclient/cmd_lsarpc.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/source3/rpcclient/cmd_lsarpc.c b/source3/rpcclient/cmd_lsarpc.c index 7743269ce0..05269d7711 100644 --- a/source3/rpcclient/cmd_lsarpc.c +++ b/source3/rpcclient/cmd_lsarpc.c @@ -916,7 +916,8 @@ static void display_trust_dom_info_4(struct lsa_TrustDomainInfoPassword *p, cons data_blob_free(&data_old); } -static void display_trust_dom_info(union lsa_TrustedDomainInfo *info, +static void display_trust_dom_info(TALLOC_CTX *mem_ctx, + union lsa_TrustedDomainInfo *info, enum lsa_TrustDomInfoEnum info_class, const char *pass) { @@ -924,12 +925,17 @@ static void display_trust_dom_info(union lsa_TrustedDomainInfo *info, case LSA_TRUSTED_DOMAIN_INFO_PASSWORD: display_trust_dom_info_4(&info->password, pass); break; - default: - NDR_PRINT_UNION_DEBUG(lsa_TrustedDomainInfo, - info_class, info); + default: { + const char *str = NULL; + str = NDR_PRINT_UNION_STRING(mem_ctx, + lsa_TrustedDomainInfo, + info_class, info); + if (str) { + d_printf("%s\n", str); + } break; + } } - } static NTSTATUS cmd_lsa_query_trustdominfobysid(struct rpc_pipe_client *cli, @@ -967,7 +973,7 @@ static NTSTATUS cmd_lsa_query_trustdominfobysid(struct rpc_pipe_client *cli, if (!NT_STATUS_IS_OK(result)) goto done; - display_trust_dom_info(&info, info_class, cli->pwd.password); + display_trust_dom_info(mem_ctx, &info, info_class, cli->pwd.password); done: if (&pol) @@ -1015,7 +1021,7 @@ static NTSTATUS cmd_lsa_query_trustdominfobyname(struct rpc_pipe_client *cli, if (!NT_STATUS_IS_OK(result)) goto done; - display_trust_dom_info(&info, info_class, cli->pwd.password); + display_trust_dom_info(mem_ctx, &info, info_class, cli->pwd.password); done: if (&pol) @@ -1069,7 +1075,7 @@ static NTSTATUS cmd_lsa_query_trustdominfo(struct rpc_pipe_client *cli, if (!NT_STATUS_IS_OK(result)) goto done; - display_trust_dom_info(&info, info_class, cli->pwd.password); + display_trust_dom_info(mem_ctx, &info, info_class, cli->pwd.password); done: if (&pol) -- cgit From 742fb9a62038a6cdb9267f24126ecddf264ea398 Mon Sep 17 00:00:00 2001 From: "Gerald W. Carter" Date: Tue, 15 Jan 2008 16:53:24 -0600 Subject: Adding basic script to help in the creation of tarballs for release. Developers can use this to create tarballs for testing or general purpose QA. Usage: release-scripts/create-tarball The script will prompt for information as necessary. (This used to be commit 1df8f98602ac4be1d37f9c7748da8b89db80215f) --- release-scripts/create-tarball | 85 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100755 release-scripts/create-tarball diff --git a/release-scripts/create-tarball b/release-scripts/create-tarball new file mode 100755 index 0000000000..459227262d --- /dev/null +++ b/release-scripts/create-tarball @@ -0,0 +1,85 @@ +#!/bin/bash + +TOPDIR="`dirname $0`/.." + +cd $TOPDIR + +echo -n "Please enter branch to cut tarball from: " +read branch + +if [ "x$branch" = "x" ]; then + echo "You must enter a name! Exiting...." + exit 1 +fi + +git-checkout $branch +if [ $? -ne 0 ]; then + echo "Invalid branch name! Exiting...." + exit 2 +fi + +VER_H=source/include/version.h +(cd source && ./autogen.sh) + +if [ ! -f $VER_H ]; then + echo "Failed to find $VER_H! Exiting...." + exit 1 +fi + +version=`grep SAMBA_VERSION_OFFICIAL_STRING $VER_H | awk '{print $3}'` +version="$version-`grep SAMBA_VERSION_VENDOR_SUFFIX $VER_H | awk '{print $3}'`" +version=`echo $version | sed 's/\"//g'` + +echo "Creating release tarball for Samba $version" + +/bin/rm -rf ../samba-${version} +git-archive --format=tar --prefix=samba-${version}/ HEAD | (cd .. && tar xf -) + +pushd ../samba-${version} + +echo "Enter the absolute path to the generated Samba docs directory." +echo -n "Just hit return to exclude the docs from the generate tarball: " +read docsdir + +if [ "x$docsdir" != "x" ]; then + if [ ! -d "$docsdir" ]; then + echo "$docsdir does not exist! Exiting...." + exit 1 + fi + + /bin/rm -rf docs + mkdir docs + rsync -a $docsdir/ docs/ + + cd docs + /bin/rm -rf test.pdf Samba4*pdf htmldocs/Samba4* htmldocs/test + /bin/mv manpages-3 manpages + /bin/mv htmldocs/manpages-3 htmldocs/manpages + cd .. +fi + +cd .. +tar cf samba-${version}.tar --exclude=.git* --exclude=CVS --exclude=.svn samba-${version} +gpg --detach-sign --armor samba-${version}.tar +gzip -9 samba-${version}.tar + +popd +echo -n "Enter tag name (or hit to skip): " +read tagname + +if [ "x$tagname" != "x" ]; then + if [ "x`git-tag -l $tagname`" != "x" ]; then + echo -n "Tag exists. Do you wish to overwrite? (y/N): " + read answer + + if [ "x$answer" != "xy" ]; then + echo "Tag creation aborted." + exit 1 + fi + fi + + git-tag -s ${tagname} +fi + +echo "Done!" +exit 0 -- cgit