File 0010-library-add-lookup_domain_sid.patch of Package adcli (Revision ce46d0e7322eb68daa00b5c190e5847d)
Currently displaying revision ce46d0e7322eb68daa00b5c190e5847d , Show latest
73
1
From d70a19b0f5f80b5c1d3b7f6a8f241b0e8605668b Mon Sep 17 00:00:00 2001
2
From: Sumit Bose <sbose@redhat.com>
3
Date: Tue, 30 Jan 2018 14:40:46 +0100
4
Subject: [PATCH 10/25] library: add lookup_domain_sid()
5
6
Read the domain SID from the default naming context AD object and store
7
it in adcli_conn.
8
9
https://bugs.freedesktop.org/show_bug.cgi?id=100118
10
https://gitlab.freedesktop.org/realmd/adcli/issues/6
11
12
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
13
---
14
library/adconn.c | 28 ++++++++++++++++++++++++++++
15
1 file changed, 28 insertions(+)
16
17
diff --git a/library/adconn.c b/library/adconn.c
18
index 0786ed4..efba351 100644
19
--- a/library/adconn.c
20
+++ b/library/adconn.c
21
22
char *domain_controller;
23
char *canonical_host;
24
char *domain_short;
25
+ char *domain_sid;
26
adcli_disco *domain_disco;
27
char *default_naming_context;
28
char *configuration_naming_context;
29
30
}
31
}
32
33
+static void
34
+lookup_domain_sid (adcli_conn *conn)
35
+{
36
+ char *attrs[] = { "objectSid", NULL, };
37
+ LDAPMessage *results;
38
+ int ret;
39
+
40
+ free (conn->domain_sid);
41
+ conn->domain_sid = NULL;
42
+
43
+ ret = ldap_search_ext_s (conn->ldap, conn->default_naming_context, LDAP_SCOPE_BASE,
44
+ NULL, attrs, 0, NULL, NULL, NULL, -1, &results);
45
+ if (ret == LDAP_SUCCESS) {
46
+ conn->domain_sid = _adcli_ldap_parse_sid (conn->ldap, results, "objectSid");
47
+ ldap_msgfree (results);
48
+
49
+ if (conn->domain_sid)
50
+ _adcli_info ("Looked up domain SID: %s", conn->domain_sid);
51
+ else
52
+ _adcli_err ("No domain SID found");
53
+ } else {
54
+ _adcli_ldap_handle_failure (conn->ldap, ADCLI_ERR_DIRECTORY,
55
+ "Couldn't lookup domain SID");
56
+ }
57
+}
58
+
59
static void
60
conn_clear_state (adcli_conn *conn)
61
{
62
63
return res;
64
65
lookup_short_name (conn);
66
+ lookup_domain_sid (conn);
67
return ADCLI_SUCCESS;
68
}
69
70
--
71
2.16.4
72
73