summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-01-16 10:56:40 +0100
committerGünther Deschner <gd@samba.org>2008-01-16 11:08:05 +0100
commit622109895c56ed7cc02dac006f02cac89424b569 (patch)
tree979ad5c1c3760964c499f4e2d8ad60c1a280516b /source
parent05cf1413cc92e15bbe7ba0477df282ad31e40412 (diff)
downloadsamba-622109895c56ed7cc02dac006f02cac89424b569.tar.gz
samba-622109895c56ed7cc02dac006f02cac89424b569.tar.xz
samba-622109895c56ed7cc02dac006f02cac89424b569.zip
Autofetch domain_sid while unjoining in libnetjoin.
Guenther
Diffstat (limited to 'source')
-rw-r--r--source/libnet/libnet_join.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/libnet/libnet_join.c b/source/libnet/libnet_join.c
index f699b09b78d..af7f9a6a21c 100644
--- a/source/libnet/libnet_join.c
+++ b/source/libnet/libnet_join.c
@@ -1280,6 +1280,17 @@ static WERROR libnet_DomainUnjoin(TALLOC_CTX *mem_ctx,
{
NTSTATUS status;
+ if (!r->in.domain_sid) {
+ struct dom_sid sid;
+ if (!secrets_fetch_domain_sid(lp_workgroup(), &sid)) {
+ libnet_unjoin_set_error_string(mem_ctx, r,
+ "Unable to fetch domain sid: are we joined?");
+ return WERR_SETUP_NOT_JOINED;
+ }
+ r->in.domain_sid = sid_dup_talloc(mem_ctx, &sid);
+ W_ERROR_HAVE_NO_MEMORY(r->in.domain_sid);
+ }
+
if (!r->in.dc_name) {
struct DS_DOMAIN_CONTROLLER_INFO *info;
status = dsgetdcname(mem_ctx,