Changeset 745 for trunk/server/source3/utils/net_conf.c
- Timestamp:
- Nov 27, 2012, 4:43:17 PM (13 years ago)
- Location:
- trunk/server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server
- Property svn:mergeinfo changed
/vendor/current merged: 581,587,591,594,597,600,615,618,740
- Property svn:mergeinfo changed
-
trunk/server/source3/utils/net_conf.c
r480 r745 29 29 30 30 #include "includes.h" 31 #include "system/filesys.h" 31 32 #include "utils/net.h" 33 #include "lib/smbconf/smbconf.h" 34 #include "lib/smbconf/smbconf_init.h" 35 #include "lib/smbconf/smbconf_reg.h" 32 36 33 37 /********************************************************************** … … 171 175 * This functions process a service previously loaded with libsmbconf. 172 176 */ 173 static WERRORimport_process_service(struct net_context *c,177 static sbcErr import_process_service(struct net_context *c, 174 178 struct smbconf_ctx *conf_ctx, 175 179 struct smbconf_service *service) 176 180 { 177 181 uint32_t idx; 178 WERROR werr = WERR_OK;182 sbcErr err = SBC_ERR_OK; 179 183 uint32_t num_includes = 0; 180 184 char **includes = NULL; … … 197 201 198 202 if (smbconf_share_exists(conf_ctx, service->name)) { 199 werr = smbconf_delete_share(conf_ctx, service->name);200 if (! W_ERROR_IS_OK(werr)) {203 err = smbconf_delete_share(conf_ctx, service->name); 204 if (!SBC_ERROR_IS_OK(err)) { 201 205 goto done; 202 206 } 203 207 } 204 werr = smbconf_create_share(conf_ctx, service->name);205 if (! W_ERROR_IS_OK(werr)) {208 err = smbconf_create_share(conf_ctx, service->name); 209 if (!SBC_ERROR_IS_OK(err)) { 206 210 goto done; 207 211 } … … 214 218 num_includes+1); 215 219 if (includes == NULL) { 216 werr = WERR_NOMEM;220 err = SBC_ERR_NOMEM; 217 221 goto done; 218 222 } … … 220 224 service->param_values[idx]); 221 225 if (includes[num_includes] == NULL) { 222 werr = WERR_NOMEM;226 err = SBC_ERR_NOMEM; 223 227 goto done; 224 228 } 225 229 num_includes++; 226 230 } else { 227 werr = smbconf_set_parameter(conf_ctx,231 err = smbconf_set_parameter(conf_ctx, 228 232 service->name, 229 233 service->param_names[idx], 230 234 service->param_values[idx]); 231 if (! W_ERROR_IS_OK(werr)) {235 if (!SBC_ERROR_IS_OK(err)) { 232 236 d_fprintf(stderr, 233 237 _("Error in section [%s], parameter \"%s\": %s\n"), 234 238 service->name, service->param_names[idx], 235 win_errstr(werr));239 sbcErrorString(err)); 236 240 goto done; 237 241 } … … 239 243 } 240 244 241 werr = smbconf_set_includes(conf_ctx, service->name, num_includes, 242 (const char **)includes); 243 245 err = smbconf_set_includes(conf_ctx, service->name, num_includes, 246 (const char **)includes); 247 if (!SBC_ERROR_IS_OK(err)) { 248 goto done; 249 } 250 251 err = SBC_ERR_OK; 244 252 done: 245 253 TALLOC_FREE(mem_ctx); 246 return werr;254 return err; 247 255 } 248 256 … … 257 265 int argc, const char **argv) 258 266 { 259 WERROR werr = WERR_OK;267 sbcErr err; 260 268 int ret = -1; 261 269 TALLOC_CTX *mem_ctx; … … 271 279 } 272 280 273 werr = smbconf_get_config(conf_ctx, mem_ctx, &num_shares, &shares);274 if (! W_ERROR_IS_OK(werr)) {281 err = smbconf_get_config(conf_ctx, mem_ctx, &num_shares, &shares); 282 if (!SBC_ERROR_IS_OK(err)) { 275 283 d_fprintf(stderr, _("Error getting config: %s\n"), 276 win_errstr(werr));284 sbcErrorString(err)); 277 285 goto done; 278 286 } … … 312 320 TALLOC_CTX *mem_ctx; 313 321 struct smbconf_ctx *txt_ctx; 314 WERROR werr;322 sbcErr err; 315 323 316 324 if (c->display_usage) … … 344 352 } 345 353 346 werr = smbconf_init(mem_ctx, &txt_ctx, conf_source);347 if (! W_ERROR_IS_OK(werr)) {354 err = smbconf_init(mem_ctx, &txt_ctx, conf_source); 355 if (!SBC_ERROR_IS_OK(err)) { 348 356 d_printf(_("error loading file '%s': %s\n"), filename, 349 win_errstr(werr));357 sbcErrorString(err)); 350 358 goto done; 351 359 } … … 359 367 struct smbconf_service *service = NULL; 360 368 361 werr = smbconf_get_share(txt_ctx, mem_ctx,362 363 364 if (! W_ERROR_IS_OK(werr)) {369 err = smbconf_get_share(txt_ctx, mem_ctx, 370 servicename, 371 &service); 372 if (!SBC_ERROR_IS_OK(err)) { 365 373 goto cancel; 366 374 } 367 375 368 werr = smbconf_transaction_start(conf_ctx);369 if (! W_ERROR_IS_OK(werr)) {376 err = smbconf_transaction_start(conf_ctx); 377 if (!SBC_ERROR_IS_OK(err)) { 370 378 d_printf(_("error starting transaction: %s\n"), 371 win_errstr(werr));379 sbcErrorString(err)); 372 380 goto done; 373 381 } 374 382 375 werr = import_process_service(c, conf_ctx, service);376 if (! W_ERROR_IS_OK(werr)) {383 err = import_process_service(c, conf_ctx, service); 384 if (!SBC_ERROR_IS_OK(err)) { 377 385 goto cancel; 378 386 } … … 381 389 uint32_t num_shares, sidx; 382 390 383 werr = smbconf_get_config(txt_ctx, mem_ctx,391 err = smbconf_get_config(txt_ctx, mem_ctx, 384 392 &num_shares, 385 393 &services); 386 if (! W_ERROR_IS_OK(werr)) {394 if (!SBC_ERROR_IS_OK(err)) { 387 395 goto cancel; 388 396 } 389 397 if (!c->opt_testmode) { 390 werr = smbconf_drop(conf_ctx); 391 if (!W_ERROR_IS_OK(werr)) { 398 if (!SBC_ERROR_IS_OK(smbconf_drop(conf_ctx))) { 392 399 goto cancel; 393 400 } … … 396 403 /* 397 404 * Wrap the importing of shares into a transaction, 398 * but only 100 at a time, in order to s erve memory.405 * but only 100 at a time, in order to save memory. 399 406 * The allocated memory accumulates across the actions 400 407 * within the transaction, and for me, some 1500 … … 402 409 * was exceeded. 403 410 */ 404 werr = smbconf_transaction_start(conf_ctx);405 if (! W_ERROR_IS_OK(werr)) {411 err = smbconf_transaction_start(conf_ctx); 412 if (!SBC_ERROR_IS_OK(err)) { 406 413 d_printf(_("error starting transaction: %s\n"), 407 win_errstr(werr));414 sbcErrorString(err)); 408 415 goto done; 409 416 } 410 417 411 418 for (sidx = 0; sidx < num_shares; sidx++) { 412 werr = import_process_service(c, conf_ctx,413 414 if (! W_ERROR_IS_OK(werr)) {419 err = import_process_service(c, conf_ctx, 420 services[sidx]); 421 if (!SBC_ERROR_IS_OK(err)) { 415 422 goto cancel; 416 423 } … … 420 427 } 421 428 422 werr = smbconf_transaction_commit(conf_ctx);423 if (! W_ERROR_IS_OK(werr)) {429 err = smbconf_transaction_commit(conf_ctx); 430 if (!SBC_ERROR_IS_OK(err)) { 424 431 d_printf(_("error committing transaction: " 425 432 "%s\n"), 426 win_errstr(werr));433 sbcErrorString(err)); 427 434 goto done; 428 435 } 429 werr = smbconf_transaction_start(conf_ctx);430 if (! W_ERROR_IS_OK(werr)) {436 err = smbconf_transaction_start(conf_ctx); 437 if (!SBC_ERROR_IS_OK(err)) { 431 438 d_printf(_("error starting transaction: %s\n"), 432 win_errstr(werr));439 sbcErrorString(err)); 433 440 goto done; 434 441 } … … 436 443 } 437 444 438 werr = smbconf_transaction_commit(conf_ctx);439 if (! W_ERROR_IS_OK(werr)) {445 err = smbconf_transaction_commit(conf_ctx); 446 if (!SBC_ERROR_IS_OK(err)) { 440 447 d_printf(_("error committing transaction: %s\n"), 441 win_errstr(werr));448 sbcErrorString(err)); 442 449 } else { 443 450 ret = 0; … … 447 454 448 455 cancel: 449 werr = smbconf_transaction_cancel(conf_ctx);450 if (! W_ERROR_IS_OK(werr)) {456 err = smbconf_transaction_cancel(conf_ctx); 457 if (!SBC_ERROR_IS_OK(err)) { 451 458 d_printf(_("error cancelling transaction: %s\n"), 452 win_errstr(werr));459 sbcErrorString(err)); 453 460 } 454 461 … … 462 469 const char **argv) 463 470 { 464 WERROR werr = WERR_OK;471 sbcErr err; 465 472 int ret = -1; 466 473 uint32_t count, num_shares = 0; … … 475 482 } 476 483 477 werr = smbconf_get_share_names(conf_ctx, mem_ctx, &num_shares,478 479 if (! W_ERROR_IS_OK(werr)) {484 err = smbconf_get_share_names(conf_ctx, mem_ctx, &num_shares, 485 &share_names); 486 if (!SBC_ERROR_IS_OK(err)) { 480 487 goto done; 481 488 } … … 497 504 { 498 505 int ret = -1; 499 WERROR werr;506 sbcErr err; 500 507 501 508 if (argc != 0 || c->display_usage) { … … 504 511 } 505 512 506 werr = smbconf_drop(conf_ctx);507 if (! W_ERROR_IS_OK(werr)) {513 err = smbconf_drop(conf_ctx); 514 if (!SBC_ERROR_IS_OK(err)) { 508 515 d_fprintf(stderr, _("Error deleting configuration: %s\n"), 509 win_errstr(werr));516 sbcErrorString(err)); 510 517 goto done; 511 518 } … … 522 529 { 523 530 int ret = -1; 524 WERROR werr = WERR_OK;531 sbcErr err; 525 532 const char *sharename = NULL; 526 533 TALLOC_CTX *mem_ctx; … … 541 548 } 542 549 543 werr = smbconf_get_share(conf_ctx, mem_ctx, sharename, &service);544 if (! W_ERROR_IS_OK(werr)) {550 err = smbconf_get_share(conf_ctx, mem_ctx, sharename, &service); 551 if (!SBC_ERROR_IS_OK(err)) { 545 552 d_printf(_("error getting share parameters: %s\n"), 546 win_errstr(werr));553 sbcErrorString(err)); 547 554 goto done; 548 555 } … … 573 580 { 574 581 int ret = -1; 575 WERROR werr = WERR_OK;582 sbcErr err; 576 583 char *sharename = NULL; 577 584 const char *path = NULL; … … 579 586 const char *guest_ok = "no"; 580 587 const char *writeable = "no"; 581 SMB_STRUCT_STAT sbuf;582 588 TALLOC_CTX *mem_ctx = talloc_stackframe(); 583 589 … … 679 685 } 680 686 681 if (sys_stat(path, &sbuf, false) != 0) {682 d_fprintf(stderr,683 _("ERROR: cannot stat path '%s' to ensure "684 "this is a directory.\n"685 "Error was '%s'.\n"),686 path, strerror(errno));687 goto done;688 }689 690 if (!S_ISDIR(sbuf.st_ex_mode)) {691 d_fprintf(stderr,692 _("ERROR: path '%s' is not a directory.\n"),693 path);694 goto done;695 }696 697 687 /* 698 688 * start a transaction 699 689 */ 700 690 701 werr = smbconf_transaction_start(conf_ctx);702 if (! W_ERROR_IS_OK(werr)) {691 err = smbconf_transaction_start(conf_ctx); 692 if (!SBC_ERROR_IS_OK(err)) { 703 693 d_printf("error starting transaction: %s\n", 704 win_errstr(werr));694 sbcErrorString(err)); 705 695 goto done; 706 696 } … … 710 700 */ 711 701 712 werr = smbconf_create_share(conf_ctx, sharename);713 if (! W_ERROR_IS_OK(werr)) {702 err = smbconf_create_share(conf_ctx, sharename); 703 if (!SBC_ERROR_IS_OK(err)) { 714 704 d_fprintf(stderr, _("Error creating share %s: %s\n"), 715 sharename, win_errstr(werr));705 sharename, sbcErrorString(err)); 716 706 goto cancel; 717 707 } … … 721 711 */ 722 712 723 werr = smbconf_set_parameter(conf_ctx, sharename, "path", path);724 if (! W_ERROR_IS_OK(werr)) {713 err = smbconf_set_parameter(conf_ctx, sharename, "path", path); 714 if (!SBC_ERROR_IS_OK(err)) { 725 715 d_fprintf(stderr, _("Error setting parameter %s: %s\n"), 726 "path", win_errstr(werr));716 "path", sbcErrorString(err)); 727 717 goto cancel; 728 718 } 729 719 730 720 if (comment != NULL) { 731 werr = smbconf_set_parameter(conf_ctx, sharename, "comment",732 733 if (! W_ERROR_IS_OK(werr)) {721 err = smbconf_set_parameter(conf_ctx, sharename, "comment", 722 comment); 723 if (!SBC_ERROR_IS_OK(err)) { 734 724 d_fprintf(stderr, _("Error setting parameter %s: %s\n"), 735 "comment", win_errstr(werr));725 "comment", sbcErrorString(err)); 736 726 goto cancel; 737 727 } 738 728 } 739 729 740 werr = smbconf_set_parameter(conf_ctx, sharename, "guest ok", guest_ok);741 if (! W_ERROR_IS_OK(werr)) {730 err = smbconf_set_parameter(conf_ctx, sharename, "guest ok", guest_ok); 731 if (!SBC_ERROR_IS_OK(err)) { 742 732 d_fprintf(stderr, _("Error setting parameter %s: %s\n"), 743 "'guest ok'", win_errstr(werr));733 "'guest ok'", sbcErrorString(err)); 744 734 goto cancel; 745 735 } 746 736 747 werr = smbconf_set_parameter(conf_ctx, sharename, "writeable",748 749 if (! W_ERROR_IS_OK(werr)) {737 err = smbconf_set_parameter(conf_ctx, sharename, "writeable", 738 writeable); 739 if (!SBC_ERROR_IS_OK(err)) { 750 740 d_fprintf(stderr, _("Error setting parameter %s: %s\n"), 751 "writeable", win_errstr(werr));741 "writeable", sbcErrorString(err)); 752 742 goto cancel; 753 743 } … … 757 747 */ 758 748 759 werr = smbconf_transaction_commit(conf_ctx);760 if (! W_ERROR_IS_OK(werr)) {749 err = smbconf_transaction_commit(conf_ctx); 750 if (!SBC_ERROR_IS_OK(err)) { 761 751 d_printf("error committing transaction: %s\n", 762 win_errstr(werr));752 sbcErrorString(err)); 763 753 } else { 764 754 ret = 0; … … 768 758 769 759 cancel: 770 werr = smbconf_transaction_cancel(conf_ctx);771 if (! W_ERROR_IS_OK(werr)) {760 err = smbconf_transaction_cancel(conf_ctx); 761 if (!SBC_ERROR_IS_OK(err)) { 772 762 d_printf("error cancelling transaction: %s\n", 773 win_errstr(werr));763 sbcErrorString(err)); 774 764 } 775 765 … … 785 775 int ret = -1; 786 776 const char *sharename = NULL; 787 WERROR werr = WERR_OK;777 sbcErr err; 788 778 TALLOC_CTX *mem_ctx = talloc_stackframe(); 789 779 … … 798 788 } 799 789 800 werr = smbconf_delete_share(conf_ctx, sharename);801 if (! W_ERROR_IS_OK(werr)) {790 err = smbconf_delete_share(conf_ctx, sharename); 791 if (!SBC_ERROR_IS_OK(err)) { 802 792 d_fprintf(stderr, _("Error deleting share %s: %s\n"), 803 sharename, win_errstr(werr));793 sharename, sbcErrorString(err)); 804 794 goto done; 805 795 } … … 815 805 { 816 806 int ret = -1; 817 WERROR werr = WERR_OK;807 sbcErr err; 818 808 char *service = NULL; 819 809 char *param = NULL; … … 843 833 value_str = argv[2]; 844 834 845 werr = smbconf_transaction_start(conf_ctx);846 if (! W_ERROR_IS_OK(werr)) {835 err = smbconf_transaction_start(conf_ctx); 836 if (!SBC_ERROR_IS_OK(err)) { 847 837 d_printf(_("error starting transaction: %s\n"), 848 win_errstr(werr));838 sbcErrorString(err)); 849 839 goto done; 850 840 } 851 841 852 842 if (!smbconf_share_exists(conf_ctx, service)) { 853 werr = smbconf_create_share(conf_ctx, service);854 if (! W_ERROR_IS_OK(werr)) {843 err = smbconf_create_share(conf_ctx, service); 844 if (!SBC_ERROR_IS_OK(err)) { 855 845 d_fprintf(stderr, _("Error creating share '%s': %s\n"), 856 service, win_errstr(werr));846 service, sbcErrorString(err)); 857 847 goto cancel; 858 848 } 859 849 } 860 850 861 werr = smbconf_set_parameter(conf_ctx, service, param, value_str); 862 863 if (!W_ERROR_IS_OK(werr)) { 851 err = smbconf_set_parameter(conf_ctx, service, param, value_str); 852 if (!SBC_ERROR_IS_OK(err)) { 864 853 d_fprintf(stderr, _("Error setting value '%s': %s\n"), 865 param, win_errstr(werr));854 param, sbcErrorString(err)); 866 855 goto cancel; 867 856 } 868 857 869 werr = smbconf_transaction_commit(conf_ctx);870 if (! W_ERROR_IS_OK(werr)) {858 err = smbconf_transaction_commit(conf_ctx); 859 if (!SBC_ERROR_IS_OK(err)) { 871 860 d_printf(_("error committing transaction: %s\n"), 872 win_errstr(werr));861 sbcErrorString(err)); 873 862 } else { 874 863 ret = 0; … … 878 867 879 868 cancel: 880 werr = smbconf_transaction_cancel(conf_ctx);881 if (! W_ERROR_IS_OK(werr)) {869 err = smbconf_transaction_cancel(conf_ctx); 870 if (!SBC_ERROR_IS_OK(err)) { 882 871 d_printf(_("error cancelling transaction: %s\n"), 883 win_errstr(werr));872 sbcErrorString(err)); 884 873 } 885 874 … … 893 882 { 894 883 int ret = -1; 895 WERROR werr = WERR_OK;884 sbcErr err; 896 885 char *service = NULL; 897 886 char *param = NULL; … … 922 911 } 923 912 924 werr = smbconf_get_parameter(conf_ctx, mem_ctx, service, param, &valstr); 925 926 if (W_ERROR_EQUAL(werr, WERR_NO_SUCH_SERVICE)) { 913 err = smbconf_get_parameter(conf_ctx, mem_ctx, service, param, &valstr); 914 if (SBC_ERROR_EQUAL(err, SBC_ERR_NO_SUCH_SERVICE)) { 927 915 d_fprintf(stderr, 928 916 _("Error: given service '%s' does not exist.\n"), 929 917 service); 930 918 goto done; 931 } else if ( W_ERROR_EQUAL(werr, WERR_INVALID_PARAM)) {919 } else if (SBC_ERROR_EQUAL(err, SBC_ERR_INVALID_PARAM)) { 932 920 d_fprintf(stderr, 933 921 _("Error: given parameter '%s' is not set.\n"), 934 922 param); 935 923 goto done; 936 } else if (! W_ERROR_IS_OK(werr)) {924 } else if (!SBC_ERROR_IS_OK(err)) { 937 925 d_fprintf(stderr, _("Error getting value '%s': %s.\n"), 938 param, win_errstr(werr));926 param, sbcErrorString(err)); 939 927 goto done; 940 928 } … … 952 940 { 953 941 int ret = -1; 954 WERROR werr = WERR_OK;942 sbcErr err; 955 943 char *service = NULL; 956 944 char *param = NULL; … … 978 966 } 979 967 980 werr = smbconf_delete_parameter(conf_ctx, service, param); 981 982 if (W_ERROR_EQUAL(werr, WERR_NO_SUCH_SERVICE)) { 968 err = smbconf_delete_parameter(conf_ctx, service, param); 969 if (SBC_ERROR_EQUAL(err, SBC_ERR_NO_SUCH_SERVICE)) { 983 970 d_fprintf(stderr, 984 971 _("Error: given service '%s' does not exist.\n"), 985 972 service); 986 973 goto done; 987 } else if ( W_ERROR_EQUAL(werr, WERR_INVALID_PARAM)) {974 } else if (SBC_ERROR_EQUAL(err, SBC_ERR_INVALID_PARAM)) { 988 975 d_fprintf(stderr, 989 976 _("Error: given parameter '%s' is not set.\n"), 990 977 param); 991 978 goto done; 992 } else if (! W_ERROR_IS_OK(werr)) {979 } else if (!SBC_ERROR_IS_OK(err)) { 993 980 d_fprintf(stderr, _("Error deleting value '%s': %s.\n"), 994 param, win_errstr(werr));981 param, sbcErrorString(err)); 995 982 goto done; 996 983 } … … 1007 994 int argc, const char **argv) 1008 995 { 1009 WERROR werr;996 sbcErr err; 1010 997 uint32_t num_includes; 1011 998 uint32_t count; … … 1026 1013 } 1027 1014 1028 werr = smbconf_get_includes(conf_ctx, mem_ctx, service,1015 err = smbconf_get_includes(conf_ctx, mem_ctx, service, 1029 1016 &num_includes, &includes); 1030 if (! W_ERROR_IS_OK(werr)) {1031 d_printf(_("error getting includes: %s\n"), win_errstr(werr));1017 if (!SBC_ERROR_IS_OK(err)) { 1018 d_printf(_("error getting includes: %s\n"), sbcErrorString(err)); 1032 1019 goto done; 1033 1020 } … … 1048 1035 int argc, const char **argv) 1049 1036 { 1050 WERROR werr;1037 sbcErr err; 1051 1038 char *service; 1052 1039 uint32_t num_includes; … … 1073 1060 } 1074 1061 1075 werr = smbconf_set_includes(conf_ctx, service, num_includes, includes);1076 if (! W_ERROR_IS_OK(werr)) {1077 d_printf(_("error setting includes: %s\n"), win_errstr(werr));1062 err = smbconf_set_includes(conf_ctx, service, num_includes, includes); 1063 if (!SBC_ERROR_IS_OK(err)) { 1064 d_printf(_("error setting includes: %s\n"), sbcErrorString(err)); 1078 1065 goto done; 1079 1066 } … … 1090 1077 int argc, const char **argv) 1091 1078 { 1092 WERROR werr;1079 sbcErr err; 1093 1080 char *service; 1094 1081 int ret = -1; … … 1106 1093 } 1107 1094 1108 werr = smbconf_delete_includes(conf_ctx, service);1109 if (! W_ERROR_IS_OK(werr)) {1110 d_printf(_("error deleting includes: %s\n"), win_errstr(werr));1095 err = smbconf_delete_includes(conf_ctx, service); 1096 if (!SBC_ERROR_IS_OK(err)) { 1097 d_printf(_("error deleting includes: %s\n"), sbcErrorString(err)); 1111 1098 goto done; 1112 1099 } … … 1137 1124 int argc, const char **argv) 1138 1125 { 1139 WERROR werr;1126 sbcErr err; 1140 1127 TALLOC_CTX *mem_ctx = talloc_stackframe(); 1141 1128 struct smbconf_ctx *conf_ctx; 1142 1129 int ret = -1; 1143 1130 1144 werr = smbconf_init(mem_ctx, &conf_ctx, "registry:"); 1145 1146 if (!W_ERROR_IS_OK(werr)) { 1131 err = smbconf_init(mem_ctx, &conf_ctx, "registry:"); 1132 if (!SBC_ERROR_IS_OK(err)) { 1147 1133 return -1; 1148 1134 }
Note:
See TracChangeset
for help on using the changeset viewer.