s4:param Modify secrets_get_domain_sid to give more useful errors
[abartlet/samba.git/.git] / source4 / param / secrets.h
index 5aabb849c5c1482549387671fb7f587ec804c2db..c3227dfbcbc9e91ac98a09b75d140d46c58c0d5d 100644 (file)
 #ifndef _SECRETS_H
 #define _SECRETS_H
 
-/* structure for storing machine account password
-   (ie. when samba server is member of a domain */
-struct machine_acct_pass {
-       uint8_t hash[16];
-       time_t mod_time;
-};
-
 #define SECRETS_PRIMARY_DOMAIN_DN "cn=Primary Domains"
 #define SECRETS_PRINCIPALS_DN "cn=Principals"
 #define SECRETS_PRIMARY_DOMAIN_FILTER "(&(flatname=%s)(objectclass=primaryDomain))"
 #define SECRETS_PRIMARY_REALM_FILTER "(&(realm=%s)(objectclass=primaryDomain))"
 #define SECRETS_KRBTGT_SEARCH "(&((|(realm=%s)(flatname=%s))(samAccountName=krbtgt)))"
 #define SECRETS_PRINCIPAL_SEARCH "(&(|(realm=%s)(flatname=%s))(servicePrincipalName=%s))"
+#define SECRETS_LDAP_FILTER "(&(objectclass=ldapSecret)(cn=SAMDB Credentials))"
 
 /**
  * Use a TDB to store an incrementing random seed.
@@ -42,11 +36,15 @@ struct machine_acct_pass {
  * 
  * @note Not called by systems with a working /dev/urandom.
  */
-void secrets_shutdown(void);
-bool secrets_init(void);
-struct ldb_context *secrets_db_connect(TALLOC_CTX *mem_ctx);
+struct loadparm_context;
+struct tevent_context;
+struct tdb_wrap *secrets_init(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx);
+struct ldb_context *secrets_db_connect(TALLOC_CTX *mem_ctx, struct tevent_context *ev_ctx, struct loadparm_context *lp_ctx);
 struct dom_sid *secrets_get_domain_sid(TALLOC_CTX *mem_ctx,
-                                      const char *domain);
+                                      struct tevent_context *ev_ctx,
+                                      struct loadparm_context *lp_ctx,
+                                      const char *domain,
+                                      char **errstring);
 
 
 #endif /* _SECRETS_H */