static int dbwrap_tool_store_hex(struct db_context *db, const char *keyname, const char *data) { NTSTATUS status; DATA_BLOB datablob; TDB_DATA tdbdata; TALLOC_CTX *tmp_ctx = talloc_stackframe(); datablob = strhex_to_data_blob(tmp_ctx, data); if(strlen(data) > 0 && datablob.length == 0) { d_fprintf(stderr, "ERROR: could not convert hex string to data blob\n" " Not a valid hex string?\n"); talloc_free(tmp_ctx); return -1; } tdbdata.dptr = (unsigned char *)datablob.data; tdbdata.dsize = datablob.length; status = dbwrap_trans_store_bystring(db, keyname, tdbdata, TDB_REPLACE); if (!NT_STATUS_IS_OK(status)) { d_fprintf(stderr, "ERROR: could not store string key '%s': %s\n", keyname, nt_errstr(status)); talloc_free(tmp_ctx); return -1; } talloc_free(tmp_ctx); return 0; }
static int dbwrap_tool_store_string(struct db_context *db, const char *keyname, const char *data) { NTSTATUS status; TDB_DATA tdbdata; tdbdata = string_term_tdb_data(data); if (dbwrap_is_persistent(db)) { status = dbwrap_trans_store_bystring(db, keyname, tdbdata, TDB_REPLACE); } else { status = dbwrap_store_bystring(db, keyname, tdbdata, TDB_REPLACE); } if (!NT_STATUS_IS_OK(status)) { d_fprintf(stderr, "ERROR: could not store string key '%s': %s\n", keyname, nt_errstr(status)); return -1; } return 0; }
static int dbwrap_tool_store_string(struct db_context *db, const char *keyname, const char *data) { NTSTATUS status; status = dbwrap_trans_store_bystring(db, keyname, string_term_tdb_data(data), TDB_REPLACE); if (!NT_STATUS_IS_OK(status)) { d_fprintf(stderr, "ERROR: could not store string key '%s': %s\n", keyname, nt_errstr(status)); return -1; } return 0; }