summaryrefslogtreecommitdiff
path: root/source4/lib/samba3/samba3.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-08-25 19:02:03 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:34:35 -0500
commit69fb6840637e07318914d632571c8481f3573461 (patch)
tree0a1dd4cc4b91ab314ce02ea20c219a67c05aa154 /source4/lib/samba3/samba3.c
parent9bf5e494f7ccbb2a9587dce961a99fa07392bf97 (diff)
downloadsamba-69fb6840637e07318914d632571c8481f3573461.tar.gz
samba-69fb6840637e07318914d632571c8481f3573461.tar.bz2
samba-69fb6840637e07318914d632571c8481f3573461.zip
r9621: Bunch of bug fixes. Add 'format' option to samba3dump (text,summary,ldif)
(This used to be commit dc6aab8d4a6d0fe47756c90d3d311b6009d571ff)
Diffstat (limited to 'source4/lib/samba3/samba3.c')
-rw-r--r--source4/lib/samba3/samba3.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/source4/lib/samba3/samba3.c b/source4/lib/samba3/samba3.c
index 4eda3bd154..f8ee24ee3b 100644
--- a/source4/lib/samba3/samba3.c
+++ b/source4/lib/samba3/samba3.c
@@ -85,14 +85,17 @@ NTSTATUS samba3_read_smbconf(const char *fn, TALLOC_CTX *ctx, struct samba3 *db)
return NT_STATUS_OK;
}
-struct samba3 *samba3_read(const char *libdir, TALLOC_CTX *ctx)
+NTSTATUS samba3_read(const char *smbconf, const char *libdir, TALLOC_CTX *ctx, struct samba3 **samba3)
{
struct samba3 *ret;
char *dbfile;
- ret = talloc(ctx, struct samba3);
-
- asprintf(&dbfile, "%s/winsdb.dat", libdir);
+ ret = talloc_zero(ctx, struct samba3);
+
+ if (smbconf)
+ samba3_read_smbconf(smbconf, ctx, ret);
+
+ asprintf(&dbfile, "%s/wins.dat", libdir);
samba3_read_winsdb(dbfile, ret, &ret->winsdb_entries, &ret->winsdb_count);
SAFE_FREE(dbfile);
@@ -100,7 +103,7 @@ struct samba3 *samba3_read(const char *libdir, TALLOC_CTX *ctx)
samba3_read_tdbsam(dbfile, ctx, &ret->samaccounts, &ret->samaccount_count);
SAFE_FREE(dbfile);
- asprintf(&dbfile, "%s/groupdb.tdb", libdir);
+ asprintf(&dbfile, "%s/group_mapping.tdb", libdir);
samba3_read_grouptdb(dbfile, ctx, &ret->group);
SAFE_FREE(dbfile);
@@ -124,5 +127,7 @@ struct samba3 *samba3_read(const char *libdir, TALLOC_CTX *ctx)
samba3_read_share_info(dbfile, ctx, ret);
SAFE_FREE(dbfile);
- return ret;
+ *samba3 = ret;
+
+ return NT_STATUS_OK;
}