summaryrefslogtreecommitdiff
path: root/source3/utils
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2009-03-08 16:16:11 +1100
committerAndrew Bartlett <abartlet@samba.org>2009-03-08 16:16:11 +1100
commit6ac77d19b5a25a53459a58e4828fa9eac0bf11f4 (patch)
treebb504eecdcb94d6c82b522f5de0fd13de130fb41 /source3/utils
parentbb6a2c8076e5e9eabad4ee7f09f6df979616fd13 (diff)
parent46bcb10b5abb21758cf234764b64220ede1b7ab5 (diff)
downloadsamba-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.c9
-rw-r--r--source3/utils/net_rpc_printer.c44
-rw-r--r--source3/utils/net_sam.c16
-rw-r--r--source3/utils/pdbedit.c20
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;
}