summaryrefslogtreecommitdiff
path: root/source4/rpc_server/samr/samdb.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-05-20 13:29:38 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:53:51 -0500
commitacda755f54f7458d1ff5e41bbf3a4ec6af4dadc0 (patch)
tree803235205ab92a9ca755b1827d21ba338d2d60f6 /source4/rpc_server/samr/samdb.c
parentf0a8f718ff474009300af6746fa0fbb61c649ea9 (diff)
downloadsamba-acda755f54f7458d1ff5e41bbf3a4ec6af4dadc0.tar.gz
samba-acda755f54f7458d1ff5e41bbf3a4ec6af4dadc0.tar.bz2
samba-acda755f54f7458d1ff5e41bbf3a4ec6af4dadc0.zip
r793: - don't make templates members of any class that would make them show
up in searches like "objectclass=user" - auto-add the computer objectclass for computer accounts on create - added two types of password change call in samr server - reset last_fault_code before each dcerpc call (This used to be commit c1a65f83f6a4c51e60efd204dab89c20cda65d2b)
Diffstat (limited to 'source4/rpc_server/samr/samdb.c')
-rw-r--r--source4/rpc_server/samr/samdb.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/source4/rpc_server/samr/samdb.c b/source4/rpc_server/samr/samdb.c
index 76de26222d..c9d7d601b2 100644
--- a/source4/rpc_server/samr/samdb.c
+++ b/source4/rpc_server/samr/samdb.c
@@ -314,6 +314,33 @@ uint32 samdb_result_rid_from_sid(TALLOC_CTX *mem_ctx, struct ldb_message *msg,
}
/*
+ pull a dom_sid structure from a objectSid in a result set.
+*/
+struct dom_sid *samdb_result_dom_sid(TALLOC_CTX *mem_ctx, struct ldb_message *msg,
+ const char *attr)
+{
+ const char *sidstr = ldb_msg_find_string(msg, attr, NULL);
+ if (!sidstr) return NULL;
+
+ return dom_sid_parse_talloc(mem_ctx, sidstr);
+}
+
+/*
+ pull a sid prefix from a objectSid in a result set.
+ this is used to find the domain sid for a user
+*/
+const char *samdb_result_sid_prefix(TALLOC_CTX *mem_ctx, struct ldb_message *msg,
+ const char *attr)
+{
+ struct dom_sid *sid = samdb_result_dom_sid(mem_ctx, msg, attr);
+ if (!sid || sid->num_auths < 1) return NULL;
+
+ sid->num_auths--;
+
+ return dom_sid_string(mem_ctx, sid);
+}
+
+/*
pull a NTTIME in a result set.
*/
NTTIME samdb_result_nttime(struct ldb_message *msg, const char *attr, const char *default_value)