Changeset 740 for vendor/current/source4/nbt_server/wins/winsdb.c
- Timestamp:
- Nov 14, 2012, 12:59:34 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified vendor/current/source4/nbt_server/wins/winsdb.c ¶
r414 r740 24 24 #include "nbt_server/nbt_server.h" 25 25 #include "nbt_server/wins/winsdb.h" 26 #include "lib/ldb/include/ldb.h"27 #include "lib/ldb/include/ldb_errors.h"26 #include <ldb.h> 27 #include <ldb_errors.h> 28 28 #include "librpc/gen_ndr/ndr_nbt.h" 29 29 #include "system/time.h" … … 101 101 102 102 ret = ldb_msg_add_empty(msg, "objectClass", LDB_FLAG_MOD_REPLACE, NULL); 103 if (ret != 0) goto failed;103 if (ret != LDB_SUCCESS) goto failed; 104 104 ret = ldb_msg_add_string(msg, "objectClass", "winsMaxVersion"); 105 if (ret != 0) goto failed;105 if (ret != LDB_SUCCESS) goto failed; 106 106 ret = ldb_msg_add_empty(msg, "maxVersion", LDB_FLAG_MOD_REPLACE, NULL); 107 if (ret != 0) goto failed;107 if (ret != LDB_SUCCESS) goto failed; 108 108 ret = ldb_msg_add_fmt(msg, "maxVersion", "%llu", (long long)newMaxVersion); 109 if (ret != 0) goto failed;109 if (ret != LDB_SUCCESS) goto failed; 110 110 111 111 ret = ldb_modify(wins_db, msg); 112 if (ret != 0) ret = ldb_add(wins_db, msg);113 if (ret != 0) goto failed;112 if (ret != LDB_SUCCESS) ret = ldb_add(wins_db, msg); 113 if (ret != LDB_SUCCESS) goto failed; 114 114 115 115 trans = ldb_transaction_commit(wins_db); … … 260 260 } 261 261 262 *p = '\0'; p++;262 *p = '\0'; p++; 263 263 addr->address = talloc_strdup(addr, address); 264 264 if (!addr->address) { … … 320 320 const char *attr_name, struct winsdb_addr *addr) 321 321 { 322 struct ldb_val val;323 322 const char *str; 324 323 325 324 if (rec->is_static) { 326 325 str = talloc_strdup(msg, addr->address); 327 if (!str) return -1;326 if (!str) return LDB_ERR_OPERATIONS_ERROR; 328 327 } else { 329 328 char *expire_time; 330 329 expire_time = ldb_timestring(msg, addr->expire_time); 331 if (!expire_time) return -1;330 if (!expire_time) return LDB_ERR_OPERATIONS_ERROR; 332 331 str = talloc_asprintf(msg, "%s;winsOwner:%s;expireTime:%s;", 333 332 addr->address, addr->wins_owner, 334 333 expire_time); 335 334 talloc_free(expire_time); 336 if (!str) return -1; 337 } 338 339 val.data = discard_const_p(uint8_t, str); 340 val.length = strlen(str); 341 342 return ldb_msg_add_value(msg, attr_name, &val, NULL); 335 if (!str) return LDB_ERR_OPERATIONS_ERROR; 336 } 337 338 return ldb_msg_add_string(msg, attr_name, str); 343 339 } 344 340 … … 508 504 addresses[len+1] = NULL; 509 505 510 ldb_qsort(addresses, len+1 , sizeof(addresses[0]), h, (ldb_qsort_cmp_fn_t)winsdb_addr_sort_list);506 LDB_TYPESAFE_QSORT(addresses, len+1, h, winsdb_addr_sort_list); 511 507 512 508 return addresses; … … 751 747 TALLOC_CTX *mem_ctx) 752 748 { 753 int i, ret =0;749 int i, ret; 754 750 size_t addr_count; 755 751 const char *expire_time; … … 773 769 msg->dn = winsdb_dn(msg, ldb, rec->name); 774 770 if (msg->dn == NULL) goto failed; 775 ret |= ldb_msg_add_fmt(msg, "type", "0x%02X", rec->name->type);771 ret = ldb_msg_add_fmt(msg, "type", "0x%02X", rec->name->type); 776 772 if (rec->name->name && *rec->name->name) { 777 773 ret |= ldb_msg_add_string(msg, "name", rec->name->name); … … 795 791 ret |= ldb_msg_add_winsdb_addr(msg, rec, "address", rec->addresses[i]); 796 792 } 797 ret |= ldb_msg_add_empty(msg, "registeredBy", 0, NULL);798 793 if (rec->registered_by) { 794 ret |= ldb_msg_add_empty(msg, "registeredBy", 0, NULL); 799 795 ret |= ldb_msg_add_string(msg, "registeredBy", rec->registered_by); 800 if (ret != 0) goto failed;801 }796 } 797 if (ret != LDB_SUCCESS) goto failed; 802 798 return msg; 803 799 … … 816 812 TALLOC_CTX *tmp_ctx = talloc_new(wins_db); 817 813 int trans = -1; 818 int ret = 0;814 int ret; 819 815 820 816 trans = ldb_transaction_start(wins_db); … … 833 829 if (msg == NULL) goto failed; 834 830 ret = ldb_add(wins_db, msg); 835 if (ret != 0) goto failed;831 if (ret != LDB_SUCCESS) goto failed; 836 832 837 833 trans = ldb_transaction_commit(wins_db); … … 860 856 int trans; 861 857 int ret; 862 int i;858 unsigned int i; 863 859 864 860 trans = ldb_transaction_start(wins_db); … … 882 878 883 879 ret = ldb_modify(wins_db, msg); 884 if (ret != 0) goto failed;880 if (ret != LDB_SUCCESS) goto failed; 885 881 886 882 trans = ldb_transaction_commit(wins_db); … … 917 913 918 914 ret = ldb_delete(wins_db, dn); 919 if (ret != 0) goto failed;915 if (ret != LDB_SUCCESS) goto failed; 920 916 921 917 trans = ldb_transaction_commit(wins_db); … … 963 959 964 960 ret = ldb_msg_add_string(msg, "@LIST", "wins_ldb"); 965 if (ret != 0) goto failed;961 if (ret != LDB_SUCCESS) goto failed; 966 962 967 963 ret = ldb_add(h->ldb, msg); 968 if (ret != 0) goto failed;964 if (ret != LDB_SUCCESS) goto failed; 969 965 970 966 trans = ldb_transaction_commit(h->ldb); … … 976 972 h->ldb = NULL; 977 973 978 if (lp _parm_bool(lp_ctx, NULL,"winsdb", "nosync", false)) {974 if (lpcfg_parm_bool(lp_ctx, NULL,"winsdb", "nosync", false)) { 979 975 flags |= LDB_FLG_NOSYNC; 980 976 } 981 977 982 h->ldb = ldb_wrap_connect(h, ev_ctx, lp_ctx, lock_path(h, lp_ctx, lp _wins_url(lp_ctx)),983 NULL, NULL, flags , NULL);978 h->ldb = ldb_wrap_connect(h, ev_ctx, lp_ctx, lock_path(h, lp_ctx, lpcfg_wins_url(lp_ctx)), 979 NULL, NULL, flags); 984 980 if (!h->ldb) goto failed; 985 981 … … 1012 1008 if (!h) return NULL; 1013 1009 1014 if (lp _parm_bool(lp_ctx, NULL,"winsdb", "nosync", false)) {1010 if (lpcfg_parm_bool(lp_ctx, NULL,"winsdb", "nosync", false)) { 1015 1011 flags |= LDB_FLG_NOSYNC; 1016 1012 } 1017 1013 1018 h->ldb = ldb_wrap_connect(h, ev_ctx, lp_ctx, lock_path(h, lp_ctx, lp _wins_url(lp_ctx)),1019 NULL, NULL, flags , NULL);1020 if (!h->ldb) goto failed; 1014 h->ldb = ldb_wrap_connect(h, ev_ctx, lp_ctx, lock_path(h, lp_ctx, lpcfg_wins_url(lp_ctx)), 1015 NULL, NULL, flags); 1016 if (!h->ldb) goto failed; 1021 1017 1022 1018 h->caller = caller; 1023 h->hook_script = lp _wins_hook(lp_ctx);1019 h->hook_script = lpcfg_wins_hook(lp_ctx); 1024 1020 1025 1021 h->local_owner = talloc_strdup(h, owner); … … 1038 1034 return NULL; 1039 1035 } 1036
Note:
See TracChangeset
for help on using the changeset viewer.