diff options
| author | Andrew Bartlett <abartlet@samba.org> | 2009-03-08 16:16:11 +1100 | 
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2009-03-08 16:16:11 +1100 | 
| commit | 6ac77d19b5a25a53459a58e4828fa9eac0bf11f4 (patch) | |
| tree | bb504eecdcb94d6c82b522f5de0fd13de130fb41 /source3/utils | |
| parent | bb6a2c8076e5e9eabad4ee7f09f6df979616fd13 (diff) | |
| parent | 46bcb10b5abb21758cf234764b64220ede1b7ab5 (diff) | |
| download | samba-6ac77d19b5a25a53459a58e4828fa9eac0bf11f4.tar.gz samba-6ac77d19b5a25a53459a58e4828fa9eac0bf11f4.tar.bz2 samba-6ac77d19b5a25a53459a58e4828fa9eac0bf11f4.zip  | |
Merge branch 'master' of ssh://git.samba.org/data/git/samba into wspp-schema
Diffstat (limited to 'source3/utils')
| -rw-r--r-- | source3/utils/net.c | 9 | ||||
| -rw-r--r-- | source3/utils/net_rpc_printer.c | 44 | ||||
| -rw-r--r-- | source3/utils/net_sam.c | 16 | ||||
| -rw-r--r-- | source3/utils/pdbedit.c | 20 | 
4 files changed, 42 insertions, 47 deletions
diff --git a/source3/utils/net.c b/source3/utils/net.c index d483198a9e..7823a98219 100644 --- a/source3/utils/net.c +++ b/source3/utils/net.c @@ -272,7 +272,7 @@ static bool search_maxrid(struct pdb_search *search, const char *type,  	num_entries = pdb_search_entries(search, 0, 0xffffffff, &entries);  	for (i=0; i<num_entries; i++)  		*max_rid = MAX(*max_rid, entries[i].rid); -	pdb_search_destroy(search); +	TALLOC_FREE(search);  	return true;  } @@ -280,13 +280,14 @@ static uint32 get_maxrid(void)  {  	uint32 max_rid = 0; -	if (!search_maxrid(pdb_search_users(0), "users", &max_rid)) +	if (!search_maxrid(pdb_search_users(talloc_tos(), 0), "users", &max_rid))  		return 0; -	if (!search_maxrid(pdb_search_groups(), "groups", &max_rid)) +	if (!search_maxrid(pdb_search_groups(talloc_tos()), "groups", &max_rid))  		return 0; -	if (!search_maxrid(pdb_search_aliases(get_global_sam_sid()), +	if (!search_maxrid(pdb_search_aliases(talloc_tos(), +					      get_global_sam_sid()),  			   "aliases", &max_rid))  		return 0; diff --git a/source3/utils/net_rpc_printer.c b/source3/utils/net_rpc_printer.c index 8116764d9b..950ca72ed8 100644 --- a/source3/utils/net_rpc_printer.c +++ b/source3/utils/net_rpc_printer.c @@ -955,14 +955,18 @@ static bool net_spoolss_enumforms(struct rpc_pipe_client *pipe_hnd,  				TALLOC_CTX *mem_ctx,  				POLICY_HND *hnd,  				int level, -				uint32 *num_forms, -				FORM_1 **forms) +				uint32_t *num_forms, +				union spoolss_FormInfo **forms)  {  	WERROR result;  	/* enumforms call */ -	result = rpccli_spoolss_enumforms(pipe_hnd, mem_ctx, hnd, level, num_forms, forms); - +	result = rpccli_spoolss_enumforms(pipe_hnd, mem_ctx, +					  hnd, +					  level, +					  0, +					  num_forms, +					  forms);  	if (!W_ERROR_IS_OK(result)) {  		printf("could not enum forms: %s\n", win_errstr(result));  		return false; @@ -1685,8 +1689,8 @@ NTSTATUS rpc_printer_migrate_forms_internals(struct net_context *c,  	POLICY_HND hnd_src, hnd_dst;  	PRINTER_INFO_CTR ctr_enum;  	union spoolss_PrinterInfo info_dst; -	uint32 num_forms; -	FORM_1 *forms; +	uint32_t num_forms; +	union spoolss_FormInfo *forms;  	struct cli_state *cli_dst = NULL;  	ZERO_STRUCT(ctr_enum); @@ -1760,34 +1764,19 @@ NTSTATUS rpc_printer_migrate_forms_internals(struct net_context *c,  		for (f = 0; f < num_forms; f++) {  			union spoolss_AddFormInfo info; -			struct spoolss_AddFormInfo1 info1; -			fstring form_name;  			NTSTATUS status;  			/* only migrate FORM_PRINTER types, according to jerry  			   FORM_BUILTIN-types are hard-coded in samba */ -			if (forms[f].flag != FORM_PRINTER) +			if (forms[f].info1.flags != SPOOLSS_FORM_PRINTER)  				continue; -			if (forms[f].name.buffer) -				rpcstr_pull(form_name, forms[f].name.buffer, -					sizeof(form_name), -1, STR_TERMINATE); -  			if (c->opt_verbose)  				d_printf("\tmigrating form # %d [%s] of type [%d]\n", -					f, form_name, forms[f].flag); - -			/* is there a more elegant way to do that ? */ -			info1.flags 		= FORM_PRINTER; -			info1.size.width	= forms[f].width; -			info1.size.height	= forms[f].length; -			info1.area.left		= forms[f].left; -			info1.area.top		= forms[f].top; -			info1.area.right	= forms[f].right; -			info1.area.bottom	= forms[f].bottom; -			info1.form_name		= form_name; +					f, forms[f].info1.form_name, +					forms[f].info1.flags); -			info.info1 = &info1; +			info.info1 = (struct spoolss_AddFormInfo1 *)&forms[f].info1;  			/* FIXME: there might be something wrong with samba's  			   builtin-forms */ @@ -1798,11 +1787,12 @@ NTSTATUS rpc_printer_migrate_forms_internals(struct net_context *c,  							&result);  			if (!W_ERROR_IS_OK(result)) {  				d_printf("\tAddForm form %d: [%s] refused.\n", -					f, form_name); +					f, forms[f].info1.form_name);  				continue;  			} -			DEBUGADD(1,("\tAddForm of [%s] succeeded\n", form_name)); +			DEBUGADD(1,("\tAddForm of [%s] succeeded\n", +				forms[f].info1.form_name));  		} diff --git a/source3/utils/net_sam.c b/source3/utils/net_sam.c index e8ebb60205..eea22c0dc2 100644 --- a/source3/utils/net_sam.c +++ b/source3/utils/net_sam.c @@ -1269,28 +1269,31 @@ static int net_sam_do_list(struct net_context *c, int argc, const char **argv,  		}  	} -	pdb_search_destroy(search); +	TALLOC_FREE(search);  	return 0;  }  static int net_sam_list_users(struct net_context *c, int argc,  			      const char **argv)  { -	return net_sam_do_list(c, argc, argv, pdb_search_users(ACB_NORMAL), +	return net_sam_do_list(c, argc, argv, +			       pdb_search_users(talloc_tos(), ACB_NORMAL),  			       "users");  }  static int net_sam_list_groups(struct net_context *c, int argc,  			       const char **argv)  { -	return net_sam_do_list(c, argc, argv, pdb_search_groups(), "groups"); +	return net_sam_do_list(c, argc, argv, pdb_search_groups(talloc_tos()), +			       "groups");  }  static int net_sam_list_localgroups(struct net_context *c, int argc,  				    const char **argv)  {  	return net_sam_do_list(c, argc, argv, -			       pdb_search_aliases(get_global_sam_sid()), +			       pdb_search_aliases(talloc_tos(), +						  get_global_sam_sid()),  			       "localgroups");  } @@ -1298,7 +1301,8 @@ static int net_sam_list_builtin(struct net_context *c, int argc,  				const char **argv)  {  	return net_sam_do_list(c, argc, argv, -			       pdb_search_aliases(&global_sid_Builtin), +			       pdb_search_aliases(talloc_tos(), +						  &global_sid_Builtin),  			       "builtin");  } @@ -1306,7 +1310,7 @@ static int net_sam_list_workstations(struct net_context *c, int argc,  				     const char **argv)  {  	return net_sam_do_list(c, argc, argv, -			       pdb_search_users(ACB_WSTRUST), +			       pdb_search_users(talloc_tos(), ACB_WSTRUST),  			       "workstations");  } diff --git a/source3/utils/pdbedit.c b/source3/utils/pdbedit.c index 50cbc43d6d..a5bc0c9bd4 100644 --- a/source3/utils/pdbedit.c +++ b/source3/utils/pdbedit.c @@ -67,7 +67,7 @@ static int export_database (struct pdb_methods *in,  	DEBUG(3, ("export_database: username=\"%s\"\n", username ? username : "(NULL)")); -	u_search = pdb_search_init(PDB_USER_SEARCH); +	u_search = pdb_search_init(talloc_tos(), PDB_USER_SEARCH);  	if (u_search == NULL) {  		DEBUG(0, ("pdb_search_init failed\n"));  		return 1; @@ -75,7 +75,7 @@ static int export_database (struct pdb_methods *in,  	if (!in->search_users(in, u_search, 0)) {  		DEBUG(0, ("Could not start searching users\n")); -		pdb_search_destroy(u_search); +		TALLOC_FREE(u_search);  		return 1;  	} @@ -116,7 +116,7 @@ static int export_database (struct pdb_methods *in,  			fprintf(stderr, "export_database: Memory allocation "  				"failure!\n");  			TALLOC_FREE( user ); -			pdb_search_destroy(u_search); +			TALLOC_FREE(u_search);  			return 1;  		} @@ -139,7 +139,7 @@ static int export_database (struct pdb_methods *in,  		TALLOC_FREE( user );  	} -	pdb_search_destroy(u_search); +	TALLOC_FREE(u_search);  	return 0;  } @@ -352,7 +352,7 @@ static int print_users_list (struct pdb_methods *in, bool verbosity, bool smbpwd  	struct pdb_search *u_search;  	struct samr_displayentry userentry; -	u_search = pdb_search_init(PDB_USER_SEARCH); +	u_search = pdb_search_init(talloc_tos(), PDB_USER_SEARCH);  	if (u_search == NULL) {  		DEBUG(0, ("pdb_search_init failed\n"));  		return 1; @@ -360,7 +360,7 @@ static int print_users_list (struct pdb_methods *in, bool verbosity, bool smbpwd  	if (!in->search_users(in, u_search, 0)) {  		DEBUG(0, ("Could not start searching users\n")); -		pdb_search_destroy(u_search); +		TALLOC_FREE(u_search);  		return 1;  	} @@ -391,7 +391,7 @@ static int print_users_list (struct pdb_methods *in, bool verbosity, bool smbpwd  		print_sam_info (sam_pwent, verbosity, smbpwdstyle);  		TALLOC_FREE(sam_pwent);  	} -	pdb_search_destroy(u_search); +	TALLOC_FREE(u_search);  	return 0;  } @@ -404,7 +404,7 @@ static int fix_users_list (struct pdb_methods *in)  	struct pdb_search *u_search;  	struct samr_displayentry userentry; -	u_search = pdb_search_init(PDB_USER_SEARCH); +	u_search = pdb_search_init(talloc_tos(), PDB_USER_SEARCH);  	if (u_search == NULL) {  		DEBUG(0, ("pdb_search_init failed\n"));  		return 1; @@ -412,7 +412,7 @@ static int fix_users_list (struct pdb_methods *in)  	if (!in->search_users(in, u_search, 0)) {  		DEBUG(0, ("Could not start searching users\n")); -		pdb_search_destroy(u_search); +		TALLOC_FREE(u_search);  		return 1;  	} @@ -444,7 +444,7 @@ static int fix_users_list (struct pdb_methods *in)  		}  		TALLOC_FREE(sam_pwent);  	} -	pdb_search_destroy(u_search); +	TALLOC_FREE(u_search);  	return 0;  }  | 
