[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Wed May 7 14:15:04 MDT 2014


The branch, master has been updated
       via  7736c96 param: Use an explicit talloc_stackframe() in lp_load_ex for clarity and certainty
       via  9fdcf78 param: Use an explicit talloc_stackframe() in lp_do_parameter for clarity and certainty.
       via  fa48d52 param: replace P_OCTAL variable setting with s3 version which uses sscanf
       via  b2ce4e7 lib/param: change set_variable to be more consistent with s3 loadparm
       via  f4d090f param: correctly return false when parsing invalid octal in lp_do_parameter
       via  994bb15 lib/param: change a comment regarding helper parametric functions
       via  dfc999e lib/param: remove unnecessary get_parametric s3 helper function
       via  c517150 lib/param: use get_parametric_helper in lpcfg_get_parametric
       via  886e44f param: remove unused get_parametrics_by_service
       via  9d90969 param: copy parametric option helper to lib/param
       via  6633803 param: tidy up get_parametrics_by_service
       via  687b359 lib/param: clean up lpcfg_get_parametric
       via  b93ed0a param: Provide a talloc_stackframe() to external users of lp_set_cmdline()
       via  dc08cfa param: refactor lp_set_cmdline_helper to not call store_lp_set_cmdline
       via  48a6624 param: fix incorrect return on lp_set_cmdline_helper
       via  5487f70 lib/param: Remove unused static variable defaults_saved
       via  b709304 lib/param: Make lpcfg_equal_parameter static (again)
       via  3d6a027 lib/param: Make and use lpcfg_dump_a_service() in common
       via  412a387 Add a comment regarding strwicmp only being an ASCII string compare
       via  9976792 param: remove NUMPARAMETERS macro from lib/param
       via  978b815 param: remove NUMPARAMETERS macro in s3
       via  b6b9f08 docs: enable checking of parametric options assignment
       via  20159a5 lib/param: use strwicmp instead of strlower_talloc
       via  aea7d62 lib/param: fix an error in the is_default method in lib/param
       via  a900fa0 param: move parametric parameter dumping to lpcfg_dump_a_parameter
       via  8363106 param: remove fstring from dump_a_parameter
       via  671d13f s3:loadparm: Fix dump a parameter to use the file indicated
       via  8d70514 param: fix copy service to copy over cmdlist
       via  ad09b3e param: correctly use param_table.c as a regular C file
       via  db19d74 param: use a single special handler for idmap parameters
       via  84ed185 param: add lp_do_parameter to s3 helpers
       via  1189724 param: use a single handle_netbios_aliases function
       via  c03b8eb param: include set_netbios_aliases in s3 helpers
       via  47ae38c param: setup ctx variable in loadparm globals
       via  98dbc38 move str_list_make_v3 out of s3 code
       via  f4d7f12 param: have a single handle_ldap_debug_level function
       via  64eb985 param: include init_ldap_debugging in the s3 helpers
       via  5376e6a param: make lp_do_parameter_parametric use set_param_opt
       via  dce3bcd param: move handle printing into lib/param
       via  74e0a37 param: setup more variables in for the temporary loadparm context for the special functions
       via  509cc45 param: add extra default parameter to get_parametrics_by_service
       via  d7973e1 param: make init_printer_values use lpcfg functions
       via  a8cfa8b lib/param: use lp_set_enum_parm
       via  a540792 param: move lp_set_enum_parm to lib/param
       via  005bf97 param: change lp_set_enum_parm to indicate whether or not it fails
       via  7505ddf param: remove duplicate lp_bool function
       via  8204345 param: remove duplicate lp_ulong function
       via  45184c9 param: remove duplicate lp_int function
       via  f6697ef param: use a single handle_include function between the two loadparms
       via  3845138 param: remove unused lp_set_option
       via  8d48211 param: use a single command line set_option in the code
       via  b320953 param: fix a bug where set_cmdline doesn't ignore the whitespace
       via  e547e83 param: move special charset handlers to lib/param
       via  58e8163 param: inline init_iconv into handle [dos] charset
       via  1a92113 param: add getservicebyname to s3_helpers
       via  47c4312 param: use a single init_copymap method in lib/param
       via  8abbfa9 docs: add test to docs.py to set parameters to some arbitrary value
       via  8e9d262 docs: change docs.py to test the setting of parameters to defaults
       via  07f01b1 param: prevent an existing segmentation fault with setting [dos] charset
       via  b64ac37 param: move the declaration of the file_lists structure to a shared header
       via  61103e1 param: use a single add_to_file_list method
       via  a62b655 lib/param: change add_to_file_list to not use a loadparm context
       via  7be7a81 s3:param: change add_to_file_list to stop using global variables
       via  f2e03d8 param: remove unused lp_copy_service
       via  ef3d445 param: consolidate handle_copy method between the two loadparms
       via  c3c8f4f lib/param: rename getservicebyname to lpcfg_getservicebyname to avoid conflicts
       via  2f47965 s3:param: avoid the use the global variable iServiceIndex in handle_copy
       via  6f8b2ab param: use a single copy_service function in lib/param
       via  c8b499b param: duplicate the copy service in lib/param into source3 loadparm
       via  31ada41 lib/param: fix copy service to correctly free the memory used by P_LIST
       via  8670f63 param: improve copy_service to use the correct talloc parents
       via  706ad20 param: remove unused init_service
       via  7ea3441 s3:param: remove the double initialization in add_a_service
       via  ab1030a param: remove instance of lp_parm_ptr to be consistent with lib/param
       via  9bac9a8 s3:param: attempt to fix up some const warnings
       via  aee7dfd lib/param: remove some const warnings from using lists
       via  bbcd8d6 lib/param: remove duplicated copy service in lpcfg_add_a_service
       via  c34a063 param: make lib/param copy_service use set_param_opt
       via  be0851f param: move set_param_opt to lib/param
       via  5a9cef4 param: use correct memory contexts for parametric options
       via  4a86b693 param: remove lp_string_is_valid_boolean
       via  29cdb71 param: consolidate handle_realm between the two loadparms
       via  a39d569 param: attempt to consolidate handle_logfile between the two loadparms
       via  e06acfa param: change assignment of lp_string in s3_helpers to be consistent with the other functions
       via  3892086 param: attempt to consolidate handle_debug_level between the two loadparms
       via  84b98a2 param: allow special functions to be common across the two loadparms
       via  c1c1f09 param: Add an lp_string_set function
       via  7c92cf3 s3:loadparm: fix intermediate string allocations to use talloc
       via  e812b72 param: change the talloc context attached to globals structure in s3 loadparm to a pool
       via  2dd7c89 param: remove string_init and inline it into string_set
       via  a81279c s3:loadparm: change memory allocations to use talloc
       via  294dd73 param: remove unnecessary temporary service in handle copy
      from  dcb3f21 messaging: Nobody uses G_LOCK_RETRY anymore

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7736c9693502e0359634ace325957a468a32dac3
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Apr 1 16:27:58 2014 +1300

    param: Use an explicit talloc_stackframe() in lp_load_ex for clarity and certainty
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Wed May  7 22:14:21 CEST 2014 on sn-devel-104

commit 9fdcf7888b9cf35cdb799414153e6b6be5cc0d88
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Mar 31 10:28:29 2014 +1300

    param: Use an explicit talloc_stackframe() in lp_do_parameter for clarity and certainty.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit fa48d527b565838b3d29b567ae5bc9be8395d8dc
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 26 12:31:03 2014 +1300

    param: replace P_OCTAL variable setting with s3 version which uses sscanf
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b2ce4e75496dca9cc51dd858b569ee2b7e80eed2
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 26 12:06:03 2014 +1300

    lib/param: change set_variable to be more consistent with s3 loadparm
    
    Correctly frees CMDLIST memory and uses lp_int instead of atoi.
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f4d090f1458778708a061e6bf5d8bf6362639e90
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 26 11:21:35 2014 +1300

    param: correctly return false when parsing invalid octal in lp_do_parameter
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 994bb15a37eda2a0b2882438483d43997b389f6d
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 25 17:12:14 2014 +1300

    lib/param: change a comment regarding helper parametric functions
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit dfc999ef90e436e3df1be74469ac3cdf27dd628a
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 25 17:07:31 2014 +1300

    lib/param: remove unnecessary get_parametric s3 helper function
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c517150ec0f9334db561cfbe4e8640e1091ae5db
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 25 17:02:52 2014 +1300

    lib/param: use get_parametric_helper in lpcfg_get_parametric
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 886e44f159bebe927413c35379949453027f518a
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 25 16:58:52 2014 +1300

    param: remove unused get_parametrics_by_service
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 9d90969a37244c5e2ddb90daf5ac439cb33cdbf0
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 25 16:58:21 2014 +1300

    param: copy parametric option helper to lib/param
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 66338032c243e4fe49a3b7cd71c74b14d7b2c784
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 25 16:45:43 2014 +1300

    param: tidy up get_parametrics_by_service
    
    Reorders the search to check the service first, then check the globals
    if it fails, or if none is specified, for better clarity.
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 687b35931db026779688891aa10e49ae2d05c4a9
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 25 16:36:57 2014 +1300

    lib/param: clean up lpcfg_get_parametric
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b93ed0a73b13fd6324c50d25db4a8427954d9bfc
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Mar 31 10:20:23 2014 +1300

    param: Provide a talloc_stackframe() to external users of lp_set_cmdline()
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit dc08cfacc981330cb0c6c652d540acd8668bf2ef
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 25 13:53:58 2014 +1300

    param: refactor lp_set_cmdline_helper to not call store_lp_set_cmdline
    
    Currently worthless without a shared do_parameter.
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 48a6624ddd0c306c54a11cbfbfe466c6e3bcfc53
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 25 13:50:03 2014 +1300

    param: fix incorrect return on lp_set_cmdline_helper
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 5487f70e3f61e52e6b481ed7c230f3cb3d046f95
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Jan 27 15:41:48 2014 +1300

    lib/param: Remove unused static variable defaults_saved
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b709304a21d4e95725e8d91c61fd2eab25f77f28
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Jan 27 15:34:06 2014 +1300

    lib/param: Make lpcfg_equal_parameter static (again)
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 3d6a0270e45d45aae6fb0249efce7e640bc66097
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Jan 27 15:32:39 2014 +1300

    lib/param: Make and use lpcfg_dump_a_service() in common
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 412a387357a1d988c3d35064acc83449c44ac16b
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Mar 20 08:56:42 2014 +1300

    Add a comment regarding strwicmp only being an ASCII string compare
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 99767924ba139884fde96e6e906740d82298a4c8
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Mar 14 11:17:27 2014 +1300

    param: remove NUMPARAMETERS macro from lib/param
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 978b815f8c8e174a7cca9a260c857ec73af4a979
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Mar 14 11:15:17 2014 +1300

    param: remove NUMPARAMETERS macro in s3
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b6b9f0821a4b1687d6aed71469b72016b93e15a1
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Mar 13 12:24:36 2014 +1300

    docs: enable checking of parametric options assignment
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 20159a5b640dd7fe5a626d63dde34a2eff6a9625
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 25 15:47:02 2014 +1300

    lib/param: use strwicmp instead of strlower_talloc
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit aea7d62b1abe740380f39a642ad20d91ec4073ea
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 27 15:26:10 2014 +1300

    lib/param: fix an error in the is_default method in lib/param
    
    This means that list values stored by s3 loadparm can still be detected as
    default or not.
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a900fa09ecf90749f1bc6326dbae3b6143c37b7a
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 26 13:22:33 2014 +1300

    param: move parametric parameter dumping to lpcfg_dump_a_parameter
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8363106d9a78aaf4dd788c1e11fb23dcd889a3dd
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 26 13:12:35 2014 +1300

    param: remove fstring from dump_a_parameter
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 671d13fbd8b9c0d3267b6034cd7c22d6fe6eda71
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 26 12:56:20 2014 +1300

    s3:loadparm: Fix dump a parameter to use the file indicated
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8d70514faa1910b561453234e791840489456aed
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 24 13:08:52 2014 +1300

    param: fix copy service to copy over cmdlist
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <abartlet at samba.org>

commit ad09b3e608f498b4f7a05fa3fce0648c99a533ea
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 24 12:31:43 2014 +1300

    param: correctly use param_table.c as a regular C file
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit db19d744799d44ced56d33553194b603691f6822
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 24 10:38:37 2014 +1300

    param: use a single special handler for idmap parameters
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 84ed1853ebe15f302e63148e7de7ffc5a5e7c888
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 24 10:30:03 2014 +1300

    param: add lp_do_parameter to s3 helpers
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 1189724ec4f42db08c14753b4e31e8283ad66eb2
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 24 10:12:48 2014 +1300

    param: use a single handle_netbios_aliases function
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c03b8eba51d94992dd58f75cef69f183e66fa52c
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 24 09:58:05 2014 +1300

    param: include set_netbios_aliases in s3 helpers
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 47ae38c4f1d4a2ae57eaba7b67404867c5bd1ea0
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Mar 20 09:09:58 2014 +1300

    param: setup ctx variable in loadparm globals
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 98dbc38efa26149442a0b9be238cc34cebfd1857
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 24 17:33:57 2014 +1300

    move str_list_make_v3 out of s3 code
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f4d7f12986057cc35cf4ca60f6dc8ec7611e0c31
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 24 09:53:44 2014 +1300

    param: have a single handle_ldap_debug_level function
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 64eb98545762bb94a285f8dd30c17361118859d2
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 24 09:47:17 2014 +1300

    param: include init_ldap_debugging in the s3 helpers
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 5376e6a1bc03048d5e78cdd1ddbb67ce4a6c7080
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 24 09:34:45 2014 +1300

    param: make lp_do_parameter_parametric use set_param_opt
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit dce3bcd00ff0e63548b9d2849238d0ba68137481
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 17:59:41 2014 +1300

    param: move handle printing into lib/param
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 74e0a37fd34791099a32591ab607e9444fd441fe
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 17:59:19 2014 +1300

    param: setup more variables in for the temporary loadparm context for the special functions
    
    In doing so, the loadparm context definition is now also moved to the loadparm.h header.
    
    This means that the loadparm context is no longer private to the
    lib/param code and that the source3 code can now override the values
    within it.
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 509cc45c95fa1b5d4d89afc687d09748dddec404
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 17:16:15 2014 +1300

    param: add extra default parameter to get_parametrics_by_service
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit d7973e1c38e509cc4e6b01bf16a898203990aa39
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 16:09:01 2014 +1300

    param: make init_printer_values use lpcfg functions
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a8cfa8b1f250acfe9897fc93d8e4b19362078afd
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 15:47:27 2014 +1300

    lib/param: use lp_set_enum_parm
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a5407922577e5f228df3e53f8b8996123672a06b
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 15:40:43 2014 +1300

    param: move lp_set_enum_parm to lib/param
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 005bf97da6b87d126d240a0537b0cbc2cfc14956
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 15:31:10 2014 +1300

    param: change lp_set_enum_parm to indicate whether or not it fails
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7505ddf134c6617f925dfd803bfee051a497b814
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 15:18:33 2014 +1300

    param: remove duplicate lp_bool function
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8204345b934817786abfbc9a2be671100f6f3100
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 15:16:26 2014 +1300

    param: remove duplicate lp_ulong function
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 45184c975853ef53c2ef0038d56df4919a4ab583
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 15:13:58 2014 +1300

    param: remove duplicate lp_int function
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <abartlet at samba.org>

commit f6697ef8dab915a6d44b829112a400f757197354
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 15:13:28 2014 +1300

    param: use a single handle_include function between the two loadparms
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 384513873173abab21b87f5c3c457c09ee41c888
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 13:13:27 2014 +1300

    param: remove unused lp_set_option
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8d4821168feeaec7d80fd2432f385bdfd24d26df
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 21 12:54:29 2014 +1300

    param: use a single command line set_option in the code
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b320953660ec2fd62762ce9bdf27f1040a60e28e
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 20 16:53:28 2014 +1300

    param: fix a bug where set_cmdline doesn't ignore the whitespace
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit e547e83fd3f883db1f929572bb1a19a915415de8
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 20 16:37:16 2014 +1300

    param: move special charset handlers to lib/param
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 58e8163be545850f6517c807d4b90cb51ea1f98c
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 20 16:21:19 2014 +1300

    param: inline init_iconv into handle [dos] charset
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 1a921138120027fea677d4e3514e8f95cc56b57d
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 19 18:08:47 2014 +1300

    param: add getservicebyname to s3_helpers
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 47c431279eed8d27ad6a49b1e5a1749ce110ead2
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 20 15:00:27 2014 +1300

    param: use a single init_copymap method in lib/param
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8abbfa9fc9c4af62bbea15c56abeae89905b1b94
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Mar 6 11:36:06 2014 +1300

    docs: add test to docs.py to set parameters to some arbitrary value
    
    This does not currently test enums.
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8e9d2626eb2fc6f0041ddda7210ef22ba8205df6
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Mar 6 10:12:09 2014 +1300

    docs: change docs.py to test the setting of parameters to defaults
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 07f01b19c6029ff530683e0a0b5156fea931f4bb
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Mar 6 09:03:30 2014 +1300

    param: prevent an existing segmentation fault with setting [dos] charset
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b64ac379361b01402703a56dd5c89f3fcef8cadd
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 20 11:07:28 2014 +1300

    param: move the declaration of the file_lists structure to a shared header
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 61103e1a469b4d589b139ce8bdcc1766dc2dd36e
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 20 11:01:52 2014 +1300

    param: use a single add_to_file_list method
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a62b655558b62d7cb6c6522dba68e8e88e2ef9ca
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 20 10:58:15 2014 +1300

    lib/param: change add_to_file_list to not use a loadparm context
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7be7a81821760b3aa853d4b349bad8570180c3c5
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 20 10:55:28 2014 +1300

    s3:param: change add_to_file_list to stop using global variables
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f2e03d8baba53a0c0d658e65ecb52bdd4d05c84a
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 20 10:38:46 2014 +1300

    param: remove unused lp_copy_service
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit ef3d445d8836a7f02ba4fc8f4b5381763583894b
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 20 10:24:00 2014 +1300

    param: consolidate handle_copy method between the two loadparms
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c3c8f4fe9cf6411d8a14f54ef0d273f07ed42bbf
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 19 18:03:57 2014 +1300

    lib/param: rename getservicebyname to lpcfg_getservicebyname to avoid conflicts
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 2f47965ba920ea65e100ac010772c0e91ced89de
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 19 13:53:53 2014 +1300

    s3:param: avoid the use the global variable iServiceIndex in handle_copy
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 6f8b2ab54f3eee23f1b63e269f8a5eca02340f09
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 19 13:47:38 2014 +1300

    param: use a single copy_service function in lib/param
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c8b499b342c064a940236d2b7bc03f1ca5c24a68
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 19 13:38:09 2014 +1300

    param: duplicate the copy service in lib/param into source3 loadparm
    
    Change-Id: I9ddd9ba9c05ab226a335d261554dd1587f7e59fc
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 31ada41b5acb36f46b8e9ed352ca40f43b8abce0
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 19 12:58:36 2014 +1300

    lib/param: fix copy service to correctly free the memory used by P_LIST
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8670f6373106c8b34c076a7bd92cb71881094f52
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 15:38:11 2014 +1300

    param: improve copy_service to use the correct talloc parents
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 706ad2091e88fe9fc1b892d21bb5f03b3b3c4161
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 15:06:41 2014 +1300

    param: remove unused init_service
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7ea3441a8c285adc0bf058cd2a0e22166d0cf042
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 14:38:10 2014 +1300

    s3:param: remove the double initialization in add_a_service
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit ab1030a9a20325294840c0a7721fae72ca7d7613
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 14:22:18 2014 +1300

    param: remove instance of lp_parm_ptr to be consistent with lib/param
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 9bac9a83acecd2f8cbf362a98231d71a5514dc81
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 14:13:24 2014 +1300

    s3:param: attempt to fix up some const warnings
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit aee7dfd55c66c13aad98b83a7d0a5c780eed8614
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 13:27:43 2014 +1300

    lib/param: remove some const warnings from using lists
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit bbcd8d64dd25a9fe83850a85242cb7259aae0099
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 13:26:22 2014 +1300

    lib/param: remove duplicated copy service in lpcfg_add_a_service
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c34a063a6d6b6c57c108cf0f0490a318ec6e1bd3
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 12:25:35 2014 +1300

    param: make lib/param copy_service use set_param_opt
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit be0851f7542c5d07077285567b6f6691af172b1b
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 12:06:57 2014 +1300

    param: move set_param_opt to lib/param
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/109
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 5a9cef48df0e87caa318dc147c41f6b55104a6ec
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 11:18:12 2014 +1300

    param: use correct memory contexts for parametric options
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/107
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4a86b693fd14ec9d156b8285a625b7c6e0e690ef
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 10:24:59 2014 +1300

    param: remove lp_string_is_valid_boolean
    
    This call is never made in the code and should in fact crash if it was ever called with a valid boolean
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/106
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 29cdb716d0283d1cb67713f4bb6eb08e28dd98d5
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 09:41:39 2014 +1300

    param: consolidate handle_realm between the two loadparms
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/105
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a39d56933660e72742d9b438ae9c6b4c513c1449
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 17 16:38:59 2014 +1300

    param: attempt to consolidate handle_logfile between the two loadparms
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/104
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit e06acfadd03e7cee8c7cbe0fe9660a6070f8bfb0
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 17 16:35:29 2014 +1300

    param: change assignment of lp_string in s3_helpers to be consistent with the other functions
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/103
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 389208658972b6b19f15167dc8c2dd419e404a2e
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 17 16:33:55 2014 +1300

    param: attempt to consolidate handle_debug_level between the two loadparms
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/102
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 84b98a2ce58a5fe88913e34ae020775cfbba8f7f
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 19 17:19:40 2014 +1300

    param: allow special functions to be common across the two loadparms
    
    Currently, each of the functions are declared in both and redefined using macros
    when they are unused. This change should allow only a single function to exist.
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/101
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c1c1f09c184babff428ac19982fb46239576becd
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Mon Feb 17 15:55:35 2014 +1300

    param: Add an lp_string_set function
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/100
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7c92cf30a51fd5465d2e2736441fee96cc25a9cd
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Wed Feb 19 16:20:57 2014 +1300

    s3:loadparm: fix intermediate string allocations to use talloc
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit e812b726cd922e9ffd9ac035dbf8ebd700b1fc0b
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 27 15:20:06 2014 +1300

    param: change the talloc context attached to globals structure in s3 loadparm to a pool
    
    With many allocations being made, with many empty strings in loadparm, it should be more
    effective to use a talloc pool instead of a normal talloc context.
    
    The numbers chosen are based around a simple testparm instance.
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/157
    Reviewed-by: Kamen Mazdrashki <kamenim at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 2dd7c890792cf12049ec13b88aa4e9de23035f9d
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Thu Feb 27 12:14:57 2014 +1300

    param: remove string_init and inline it into string_set
    
    In making this change, the special case has been removed for empty strings.
    
    The use of empty strings causes various issues with trying to mix s4 and s3 code.
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-on: https://gerrit.samba.org/156
    Reviewed-by: Kamen Mazdrashki <kamenim at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a81279c8e0fd6b31646d5725ee0ca35684f7bb81
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Fri Feb 14 12:46:41 2014 +1300

    s3:loadparm: change memory allocations to use talloc
    
    (talloc memory paternity fix to handle_debug_list() and
    lp_parm_const_string_service() added by abartlet)
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 294dd73d18e7cd881d77d765c36af5bf880043bd
Author: Garming Sam <garming at catalyst.net.nz>
Date:   Tue Feb 18 15:06:53 2014 +1300

    param: remove unnecessary temporary service in handle copy
    
    Signed-off-by: Garming Sam <garming at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 lib/param/loadparm.c         |  725 +++++++++++++++++-----------
 lib/param/loadparm.h         |   37 ++-
 lib/param/param.h            |    2 +
 lib/param/param_table.c      |   16 +-
 lib/param/s3_param.h         |    8 +-
 lib/param/wscript_build      |    2 +-
 lib/util/samba_util.h        |    8 +
 lib/util/util_str_common.c   |    8 +-
 lib/util/util_strlist.c      |   66 +++
 python/samba/tests/docs.py   |  136 +++++-
 source3/include/proto.h      |    6 +-
 source3/lib/popt_common.c    |   15 +-
 source3/lib/util_str.c       |   68 ---
 source3/param/loadparm.c     | 1098 ++++++++++--------------------------------
 source3/param/loadparm_ctx.c |   10 +-
 15 files changed, 989 insertions(+), 1216 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 97a06a0..bf0cbc0 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -71,69 +71,9 @@
 #define standard_sub_basic talloc_strdup
 
 static bool do_parameter(const char *, const char *, void *);
-static bool defaults_saved = false;
 
 #include "lib/param/param_global.h"
 
-#define NUMPARAMETERS (sizeof(parm_table) / sizeof(struct parm_struct))
-
-/* we don't need a special handler for "dos charset" and "unix charset" */
-#define handle_dos_charset NULL
-#define handle_charset NULL
-
-/* these are parameter handlers which are not needed in the
- * non-source3 code
- */
-#define handle_netbios_aliases NULL
-#define handle_printing NULL
-#define handle_ldap_debug_level NULL
-#define handle_idmap_backend NULL
-#define handle_idmap_uid NULL
-#define handle_idmap_gid NULL
-
-#ifndef N_
-#define N_(x) x
-#endif
-
-/* prototypes for the special type handlers */
-static bool handle_include(struct loadparm_context *lp_ctx, int unused,
-			   const char *pszParmValue, char **ptr);
-static bool handle_realm(struct loadparm_context *lp_ctx, int unused,
-			 const char *pszParmValue, char **ptr);
-static bool handle_copy(struct loadparm_context *lp_ctx, int unused,
-			const char *pszParmValue, char **ptr);
-static bool handle_debug_list(struct loadparm_context *lp_ctx, int unused,
-			      const char *pszParmValue, char **ptr);
-static bool handle_logfile(struct loadparm_context *lp_ctx, int unused,
-			   const char *pszParmValue, char **ptr);
-
-#include "lib/param/param_table.c"
-
-/* local variables */
-struct loadparm_context {
-	const char *szConfigFile;
-	struct loadparm_global *globals;
-	struct loadparm_service **services;
-	struct loadparm_service *sDefault;
-	struct smb_iconv_handle *iconv_handle;
-	int iNumServices;
-	struct loadparm_service *currentService;
-	bool bInGlobalSection;
-	struct file_lists {
-		struct file_lists *next;
-		char *name;
-		char *subfname;
-		time_t modtime;
-	} *file_lists;
-	unsigned int flags[NUMPARAMETERS];
-	bool loaded;
-	bool refuse_free;
-	bool global; /* Is this the global context, which may set
-		      * global variables such as debug level etc? */
-	const struct loadparm_s3_helpers *s3_fns;
-};
-
-
 struct loadparm_service *lpcfg_default_service(struct loadparm_context *lp_ctx)
 {
 	if (lp_ctx->s3_fns) {
@@ -289,73 +229,90 @@ FN_LOCAL_BOOL(autoloaded, autoloaded)
 FN_GLOBAL_CONST_STRING(dnsdomain, dnsdomain)
 
 /* local prototypes */
-static struct loadparm_service *getservicebyname(struct loadparm_context *lp_ctx,
+static struct loadparm_service *lpcfg_getservicebyname(struct loadparm_context *lp_ctx,
 					const char *pszServiceName);
-static void copy_service(struct loadparm_service *pserviceDest,
-			 struct loadparm_service *pserviceSource,
-			 struct bitmap *pcopymapDest);
 static bool lpcfg_service_ok(struct loadparm_service *service);
 static bool do_section(const char *pszSectionName, void *);
-static void init_copymap(struct loadparm_service *pservice);
 
-/* This is a helper function for parametrical options support. */
+/* The following are helper functions for parametrical options support. */
 /* It returns a pointer to parametrical option value if it exists or NULL otherwise */
 /* Actual parametrical functions are quite simple */
-const char *lpcfg_get_parametric(struct loadparm_context *lp_ctx,
-			      struct loadparm_service *service,
-			      const char *type, const char *option)
-{
-	char *vfskey_tmp = NULL;
-	char *vfskey = NULL;
-	struct parmlist_entry *data;
-
-	if (lp_ctx == NULL)
+struct parmlist_entry *get_parametric_helper(struct loadparm_service *service,
+					     const char *type, const char *option,
+					     struct parmlist_entry *global_opts)
+{
+	char* param_key;
+	struct parmlist_entry *data = NULL;
+	TALLOC_CTX *mem_ctx = talloc_stackframe();
+
+	param_key = talloc_asprintf(mem_ctx, "%s:%s", type, option);
+	if (param_key == NULL) {
+		DEBUG(0,("asprintf failed!\n"));
+		TALLOC_FREE(mem_ctx);
 		return NULL;
-
-	if (lp_ctx->s3_fns) {
-		return lp_ctx->s3_fns->get_parametric(service, type, option);
 	}
 
-	data = (service == NULL ? lp_ctx->globals->param_opt : service->param_opt);
-
-	vfskey_tmp = talloc_asprintf(NULL, "%s:%s", type, option);
-	if (vfskey_tmp == NULL) return NULL;
-	vfskey = strlower_talloc(NULL, vfskey_tmp);
-	talloc_free(vfskey_tmp);
-
-	while (data) {
-		if (strcmp(data->key, vfskey) == 0) {
-			talloc_free(vfskey);
-			return data->value;
+	/*
+	 * Try to fetch the option from the data.
+	 */
+	if (service != NULL) {
+		data = service->param_opt;
+		while (data != NULL) {
+			if (strwicmp(data->key, param_key) == 0) {
+				TALLOC_FREE(mem_ctx);
+				return data;
+			}
+			data = data->next;
 		}
-		data = data->next;
 	}
 
-	if (service != NULL) {
-		/* Try to fetch the same option but from globals */
-		/* but only if we are not already working with globals */
-		for (data = lp_ctx->globals->param_opt; data;
-		     data = data->next) {
-			if (strcmp(data->key, vfskey) == 0) {
-				talloc_free(vfskey);
-				return data->value;
-			}
+	/*
+	 * Fall back to fetching from the globals.
+	 */
+	data = global_opts;
+	while (data != NULL) {
+		if (strwicmp(data->key, param_key) == 0) {
+			TALLOC_FREE(mem_ctx);
+			return data;
 		}
+		data = data->next;
 	}
 
-	talloc_free(vfskey);
+
+	TALLOC_FREE(mem_ctx);
 
 	return NULL;
+
+
+}
+
+const char *lpcfg_get_parametric(struct loadparm_context *lp_ctx,
+			      struct loadparm_service *service,
+			      const char *type, const char *option)
+{
+	struct parmlist_entry *data;
+
+	if (lp_ctx == NULL)
+		return NULL;
+
+	data = get_parametric_helper(service,
+				     type, option, lp_ctx->globals->param_opt);
+
+	if (data == NULL) {
+		return NULL;
+	} else {
+		return data->value;
+	}
 }
 
 
 /**
  * convenience routine to return int parameters.
  */
-static int lp_int(const char *s)
+int lp_int(const char *s)
 {
 
-	if (!s) {
+	if (!s || !*s) {
 		DEBUG(0,("lp_int(%s): is called with NULL!\n",s));
 		return -1;
 	}
@@ -366,10 +323,10 @@ static int lp_int(const char *s)
 /**
  * convenience routine to return unsigned long parameters.
  */
-static unsigned long lp_ulong(const char *s)
+unsigned long lp_ulong(const char *s)
 {
 
-	if (!s) {
+	if (!s || !*s) {
 		DEBUG(0,("lp_ulong(%s): is called with NULL!\n",s));
 		return -1;
 	}
@@ -408,11 +365,11 @@ static double lp_double(const char *s)
 /**
  * convenience routine to return boolean parameters.
  */
-static bool lp_bool(const char *s)
+bool lp_bool(const char *s)
 {
 	bool ret = false;
 
-	if (!s) {
+	if (!s || !*s) {
 		DEBUG(0,("lp_bool(%s): is called with NULL!\n",s));
 		return false;
 	}
@@ -425,7 +382,6 @@ static bool lp_bool(const char *s)
 	return ret;
 }
 
-
 /**
  * Return parametric option from a given service. Type is a part of option before ':'
  * Parametric option has following syntax: 'Type: option = value'
@@ -564,22 +520,10 @@ bool lpcfg_parm_bool(struct loadparm_context *lp_ctx,
 
 
 /**
- * Initialise a service to the defaults.
- */
-
-static struct loadparm_service *init_service(TALLOC_CTX *mem_ctx, struct loadparm_service *sDefault)
-{
-	struct loadparm_service *pservice =
-		talloc_zero(mem_ctx, struct loadparm_service);
-	copy_service(pservice, sDefault, NULL);
-	return pservice;
-}
-
-/**
  * Set a string value, deallocating any existing space, and allocing the space
  * for the string
  */
-static bool lpcfg_string_set(TALLOC_CTX *mem_ctx, char **dest, const char *src)
+bool lpcfg_string_set(TALLOC_CTX *mem_ctx, char **dest, const char *src)
 {
 	talloc_free(*dest);
 
@@ -627,7 +571,6 @@ struct loadparm_service *lpcfg_add_service(struct loadparm_context *lp_ctx,
 					   const char *name)
 {
 	int i;
-	struct loadparm_service tservice;
 	int num_to_alloc = lp_ctx->iNumServices + 1;
 	struct parmlist_entry *data, *pdata;
 
@@ -635,11 +578,9 @@ struct loadparm_service *lpcfg_add_service(struct loadparm_context *lp_ctx,
 		pservice = lp_ctx->sDefault;
 	}
 
-	tservice = *pservice;
-
 	/* it might already exist */
 	if (name) {
-		struct loadparm_service *service = getservicebyname(lp_ctx,
+		struct loadparm_service *service = lpcfg_getservicebyname(lp_ctx,
 								    name);
 		if (service != NULL) {
 			/* Clean all parametric options for service */
@@ -677,12 +618,12 @@ struct loadparm_service *lpcfg_add_service(struct loadparm_context *lp_ctx,
 		lp_ctx->iNumServices++;
 	}
 
-	lp_ctx->services[i] = init_service(lp_ctx->services, lp_ctx->sDefault);
+	lp_ctx->services[i] = talloc_zero(lp_ctx->services, struct loadparm_service);
 	if (lp_ctx->services[i] == NULL) {
 		DEBUG(0,("lpcfg_add_service: out of memory!\n"));
 		return NULL;
 	}
-	copy_service(lp_ctx->services[i], &tservice, NULL);
+	copy_service(lp_ctx->services[i], pservice, NULL);
 	if (name != NULL)
 		lpcfg_string_set(lp_ctx->services[i], &lp_ctx->services[i]->szService, name);
 	return lp_ctx->services[i];
@@ -843,7 +784,7 @@ bool lpcfg_parm_is_cmdline(struct loadparm_context *lp_ctx, const char *name)
  * Find a service by name. Otherwise works like get_service.
  */
 
-static struct loadparm_service *getservicebyname(struct loadparm_context *lp_ctx,
+static struct loadparm_service *lpcfg_getservicebyname(struct loadparm_context *lp_ctx,
 					const char *pszServiceName)
 {
 	int iService;
@@ -862,58 +803,116 @@ static struct loadparm_service *getservicebyname(struct loadparm_context *lp_ctx
 }
 
 /**
+ * Add a parametric option to a parmlist_entry,
+ * replacing old value, if already present.
+ */
+void set_param_opt(TALLOC_CTX *mem_ctx,
+		   struct parmlist_entry **opt_list,
+		   const char *opt_name,
+		   const char *opt_value,
+		   unsigned priority)
+{
+	struct parmlist_entry *new_opt, *opt;
+	bool not_added;
+
+	opt = *opt_list;
+	not_added = true;
+
+	/* Traverse destination */
+	while (opt) {
+		/* If we already have same option, override it */
+		if (strwicmp(opt->key, opt_name) == 0) {
+			if ((opt->priority & FLAG_CMDLINE) &&
+			    !(priority & FLAG_CMDLINE)) {
+				/* it's been marked as not to be
+				   overridden */
+				return;
+			}
+			TALLOC_FREE(opt->value);
+			TALLOC_FREE(opt->list);
+			opt->value = talloc_strdup(opt, opt_value);
+			opt->priority = priority;
+			not_added = false;
+			break;
+		}
+		opt = opt->next;
+	}
+	if (not_added) {
+		new_opt = talloc(mem_ctx, struct parmlist_entry);
+		if (new_opt == NULL) {
+			smb_panic("OOM");
+		}
+
+		new_opt->key = talloc_strdup(new_opt, opt_name);
+		if (new_opt->key == NULL) {
+			smb_panic("talloc_strdup failed");
+		}
+
+		new_opt->value = talloc_strdup(new_opt, opt_value);
+		if (new_opt->value == NULL) {
+			smb_panic("talloc_strdup failed");
+		}
+
+		new_opt->list = NULL;
+		new_opt->priority = priority;
+		DLIST_ADD(*opt_list, new_opt);
+	}
+}
+
+/**
  * Copy a service structure to another.
  * If pcopymapDest is NULL then copy all fields
  */
 
-static void copy_service(struct loadparm_service *pserviceDest,
-			 struct loadparm_service *pserviceSource,
-			 struct bitmap *pcopymapDest)
+void copy_service(struct loadparm_service *pserviceDest,
+		  const struct loadparm_service *pserviceSource,
+		  struct bitmap *pcopymapDest)
 {
 	int i;
 	bool bcopyall = (pcopymapDest == NULL);
-	struct parmlist_entry *data, *pdata, *paramo;
-	bool not_added;
+	struct parmlist_entry *data;
 
 	for (i = 0; parm_table[i].label; i++)
 		if (parm_table[i].p_class == P_LOCAL &&
 		    (bcopyall || bitmap_query(pcopymapDest, i))) {
-			void *src_ptr =
-				((char *)pserviceSource) + parm_table[i].offset;
+			const void *src_ptr =
+				((const char *)pserviceSource) + parm_table[i].offset;
 			void *dest_ptr =
 				((char *)pserviceDest) + parm_table[i].offset;
 
 			switch (parm_table[i].type) {
 				case P_BOOL:
 				case P_BOOLREV:
-					*(bool *)dest_ptr = *(bool *)src_ptr;
+					*(bool *)dest_ptr = *(const bool *)src_ptr;
 					break;
 
 				case P_INTEGER:
 				case P_BYTES:
 				case P_OCTAL:
 				case P_ENUM:
-					*(int *)dest_ptr = *(int *)src_ptr;
+					*(int *)dest_ptr = *(const int *)src_ptr;
 					break;
 
 				case P_CHAR:
-					*(char *)dest_ptr = *(char *)src_ptr;
+					*(char *)dest_ptr = *(const char *)src_ptr;
 					break;
 
 				case P_STRING:
 					lpcfg_string_set(pserviceDest,
 						   (char **)dest_ptr,
-						   *(char **)src_ptr);
+						   *(const char * const *)src_ptr);
 					break;
 
 				case P_USTRING:
 					lpcfg_string_set_upper(pserviceDest,
 							 (char **)dest_ptr,
-							 *(char **)src_ptr);
+							 *(const char * const *)src_ptr);
 					break;
+				case P_CMDLIST:
 				case P_LIST:
-					*(const char ***)dest_ptr = (const char **)str_list_copy(pserviceDest, 
-										  *(const char ***)src_ptr);
+					TALLOC_FREE(*((char ***)dest_ptr));
+					*(const char * const **)dest_ptr = (const char * const *)str_list_copy(pserviceDest,
+										  *(const char * * const *)src_ptr);
 					break;
 				default:
 					break;
@@ -927,31 +926,9 @@ static void copy_service(struct loadparm_service *pserviceDest,
 				    pserviceSource->copymap);
 	}
 
-	data = pserviceSource->param_opt;
-	while (data) {
-		not_added = true;
-		pdata = pserviceDest->param_opt;
-		/* Traverse destination */
-		while (pdata) {
-			/* If we already have same option, override it */
-			if (strcmp(pdata->key, data->key) == 0) {
-				talloc_free(pdata->value);
-				pdata->value = talloc_strdup(pdata,
-							     data->value);
-				not_added = false;
-				break;
-			}
-			pdata = pdata->next;
-		}
-		if (not_added) {
-			paramo = talloc_zero(pserviceDest, struct parmlist_entry);
-			if (paramo == NULL)
-				smb_panic("OOM");
-			paramo->key = talloc_strdup(paramo, data->key);
-			paramo->value = talloc_strdup(paramo, data->value);
-			DLIST_ADD(pserviceDest->param_opt, paramo);
-		}
-		data = data->next;
+	for (data = pserviceSource->param_opt; data != NULL; data = data->next) {
+		set_param_opt(pserviceDest, &pserviceDest->param_opt,
+			      data->key, data->value, data->priority);
 	}
 }
 
@@ -997,10 +974,10 @@ static bool lpcfg_service_ok(struct loadparm_service *service)
  it's date and needs to be reloaded.
 ********************************************************************/
 
-static void add_to_file_list(struct loadparm_context *lp_ctx,
+void add_to_file_list(TALLOC_CTX *mem_ctx, struct file_lists **list,
 			     const char *fname, const char *subfname)
 {
-	struct file_lists *f = lp_ctx->file_lists;
+	struct file_lists *f = *list;
 
 	while (f) {
 		if (f->name && !strcmp(f->name, fname))
@@ -1009,27 +986,32 @@ static void add_to_file_list(struct loadparm_context *lp_ctx,
 	}
 
 	if (!f) {
-		f = talloc(lp_ctx, struct file_lists);
+		f = talloc(mem_ctx, struct file_lists);
 		if (!f)
-			return;
-		f->next = lp_ctx->file_lists;
+			goto fail;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list