1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-02 00:23:50 +03:00

r7709: - convert ldb to use popt, so that it can interact with the samba

cmdline credentials code (which will be done soon)

- added a ldb_init() call, and changed ldb_connect() to take a ldb
  context. This allows for much better error handling in
  ldb_connect(), and also made the popt conversion easier

- fixed up all the existing backends with the new syntax

- improved error handling in *_connect()

- fixed a crash bug in the new case_fold_required() code

- ensured that ltdb_rename() and all ltdb_search() paths get the read lock

- added a ldb_oom() macro to make it easier to report out of memory
  situations in ldb code
This commit is contained in:
Andrew Tridgell
2005-06-18 07:42:21 +00:00
committed by Gerald (Jerry) Carter
parent 72efb69529
commit f648fdf187
23 changed files with 343 additions and 689 deletions

View File

@@ -86,6 +86,11 @@ typedef struct ldb_module *(*ldb_module_init_function)(struct ldb_context *ldb,
#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
#endif
/*
simplify out of memory handling
*/
#define ldb_oom(ldb) ldb_debug(ldb, LDB_DEBUG_FATAL, "ldb out of memory at %s:%d\n", __FILE__, __LINE__)
/* The following definitions come from lib/ldb/common/ldb_modules.c */
int ldb_load_modules(struct ldb_context *ldb, const char *options[]);
@@ -114,21 +119,21 @@ void ldb_debug(struct ldb_context *ldb, enum ldb_debug_level level, const char *
char *ldb_base64_encode(struct ldb_context *ldb, const char *buf, int len);
int ldb_should_b64_encode(const struct ldb_val *val);
struct ldb_context *ltdb_connect(const char *url,
unsigned int flags,
const char *options[]);
struct ldb_context *lldb_connect(const char *url,
unsigned int flags,
const char *options[]);
struct ldb_context *ildb_connect(const char *url,
unsigned int flags,
const char *options[]);
struct ldb_context *lsqlite3_connect(const char *url,
unsigned int flags,
const char *options[]);
int ltdb_connect(struct ldb_context *ldb, const char *url,
unsigned int flags,
const char *options[]);
int lldb_connect(struct ldb_context *ldb, const char *url,
unsigned int flags,
const char *options[]);
int ildb_connect(struct ldb_context *ldb,
const char *url,
unsigned int flags,
const char *options[]);
int lsqlite3_connect(struct ldb_context *ldb,
const char *url,
unsigned int flags,
const char *options[]);
struct ldb_module *timestamps_module_init(struct ldb_context *ldb, const char *options[]);
struct ldb_module *schema_module_init(struct ldb_context *ldb, const char *options[]);
const char **ldb_options_parse(const char **options, int *ldbopts, const char *arg);
#endif