svn commit: samba r23641 - in branches: SAMBA_3_0/source/lib SAMBA_3_0/source/param SAMBA_3_0_26/source/lib SAMBA_3_0_26/source/param
Author: obnox Date: 2007-06-28 10:32:52 + (Thu, 28 Jun 2007) New Revision: 23641 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=23641 Log: Put check for forbidden values in smbconf into a function. (This will be used in a next step to prevent storing these values in reg_smbconf.c.) Michael Modified: branches/SAMBA_3_0/source/lib/util_reg.c branches/SAMBA_3_0/source/param/loadparm.c branches/SAMBA_3_0_26/source/lib/util_reg.c branches/SAMBA_3_0_26/source/param/loadparm.c Changeset: Modified: branches/SAMBA_3_0/source/lib/util_reg.c === --- branches/SAMBA_3_0/source/lib/util_reg.c2007-06-27 22:45:08 UTC (rev 23640) +++ branches/SAMBA_3_0/source/lib/util_reg.c2007-06-28 10:32:52 UTC (rev 23641) @@ -117,3 +117,25 @@ string_sub(key, \\, /, len+1); strupper_m(key); } + +/* + * check whether a given value name is forbidden in registry (smbconf) + */ +BOOL registry_smbconf_valname_forbidden(const char *valname) +{ + /* hard code the list of forbidden names here for now */ + const char *forbidden_valnames[] = { + include, + lock directory, + lock dir, + NULL + }; + const char **forbidden = NULL; + + for (forbidden = forbidden_valnames; *forbidden != NULL; forbidden++) { + if (strwicmp(valname, *forbidden) == 0) { + return True; + } + } + return False; +} Modified: branches/SAMBA_3_0/source/param/loadparm.c === --- branches/SAMBA_3_0/source/param/loadparm.c 2007-06-27 22:45:08 UTC (rev 23640) +++ branches/SAMBA_3_0/source/param/loadparm.c 2007-06-28 10:32:52 UTC (rev 23641) @@ -3165,10 +3165,7 @@ type, size, data_p); - if ((strwicmp(valname,include) == 0) || - (strwicmp(valname, lock directory) == 0) || - (strwicmp(valname, lock dir) == 0)) - { + if (registry_smbconf_valname_forbidden(valname)) { DEBUG(10, (process_registry_globals: Ignoring parameter '%s' in registry.\n, valname)); continue; Modified: branches/SAMBA_3_0_26/source/lib/util_reg.c === --- branches/SAMBA_3_0_26/source/lib/util_reg.c 2007-06-27 22:45:08 UTC (rev 23640) +++ branches/SAMBA_3_0_26/source/lib/util_reg.c 2007-06-28 10:32:52 UTC (rev 23641) @@ -117,3 +117,25 @@ string_sub(key, \\, /, len+1); strupper_m(key); } + +/* + * check whether a given value name is forbidden in registry (smbconf) + */ +BOOL registry_smbconf_valname_forbidden(const char *valname) +{ + /* hard code the list of forbidden names here for now */ + const char *forbidden_valnames[] = { + include, + lock directory, + lock dir, + NULL + }; + const char **forbidden = NULL; + + for (forbidden = forbidden_valnames; *forbidden != NULL; forbidden++) { + if (strwicmp(valname, *forbidden) == 0) { + return True; + } + } + return False; +} Modified: branches/SAMBA_3_0_26/source/param/loadparm.c === --- branches/SAMBA_3_0_26/source/param/loadparm.c 2007-06-27 22:45:08 UTC (rev 23640) +++ branches/SAMBA_3_0_26/source/param/loadparm.c 2007-06-28 10:32:52 UTC (rev 23641) @@ -3166,10 +3166,7 @@ type, size, data_p); - if ((strwicmp(valname,include) == 0) || - (strwicmp(valname, lock directory) == 0) || - (strwicmp(valname, lock dir) == 0)) - { + if (registry_smbconf_valname_forbidden(valname)) { DEBUG(10, (process_registry_globals: Ignoring parameter '%s' in registry.\n, valname)); continue;
svn commit: samba r23642 - in branches/SAMBA_3_0_26/source/nsswitch: .
Author: gd Date: 2007-06-28 18:05:35 + (Thu, 28 Jun 2007) New Revision: 23642 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=23642 Log: Remove unused code (merge from 3_0). Guenther Modified: branches/SAMBA_3_0_26/source/nsswitch/winbindd_util.c Changeset: Modified: branches/SAMBA_3_0_26/source/nsswitch/winbindd_util.c === --- branches/SAMBA_3_0_26/source/nsswitch/winbindd_util.c 2007-06-28 10:32:52 UTC (rev 23641) +++ branches/SAMBA_3_0_26/source/nsswitch/winbindd_util.c 2007-06-28 18:05:35 UTC (rev 23642) @@ -37,14 +37,6 @@ **/ -/** - * Used to clobber name fields that have an undefined value. - * - * Correct code should never look at a field that has this value. - **/ - -static const fstring name_deadbeef = deadbeef; - /* The list of trusted domains. Note that the list can be deleted and recreated using the init_domain_list() function so pointers to individual winbindd_domain structures cannot be made. Keep a copy of
svn commit: samba r23643 - in branches/SAMBA_4_0/source: librpc/idl torture/rpc
Author: jmcd Date: 2007-06-28 18:08:04 + (Thu, 28 Jun 2007) New Revision: 23643 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=23643 Log: Fix the build farm tests. We were incorrectly passing the RPC-SAMBA3-GETUSERNAME tests before the previous password expiration fixes, because if you create a user and only set the password administratrively, the last set time should not get updated. Needed to add some more of the fields_present flags to do this. Modified: branches/SAMBA_4_0/source/librpc/idl/samr.idl branches/SAMBA_4_0/source/torture/rpc/samba3rpc.c Changeset: Modified: branches/SAMBA_4_0/source/librpc/idl/samr.idl === --- branches/SAMBA_4_0/source/librpc/idl/samr.idl 2007-06-28 18:05:35 UTC (rev 23642) +++ branches/SAMBA_4_0/source/librpc/idl/samr.idl 2007-06-28 18:08:04 UTC (rev 23643) @@ -684,23 +684,36 @@ /* this defines the bits used for fields_present in info21 */ typedef [bitmap32bit] bitmap { - SAMR_FIELD_ACCOUNT_NAME = 0x0001, - SAMR_FIELD_FULL_NAME = 0x0002, - SAMR_FIELD_PRIMARY_GID= 0x0008, - SAMR_FIELD_DESCRIPTION= 0x0010, - SAMR_FIELD_COMMENT= 0x0020, - SAMR_FIELD_HOME_DIRECTORY = 0x0040, - SAMR_FIELD_HOME_DRIVE = 0x0080, - SAMR_FIELD_LOGON_SCRIPT = 0x0100, - SAMR_FIELD_PROFILE_PATH = 0x0200, - SAMR_FIELD_WORKSTATIONS = 0x0400, - SAMR_FIELD_LOGON_HOURS= 0x2000, - SAMR_FIELD_ACCT_FLAGS = 0x0010, - SAMR_FIELD_PARAMETERS = 0x0020, - SAMR_FIELD_COUNTRY_CODE = 0x0040, - SAMR_FIELD_CODE_PAGE = 0x0080, - SAMR_FIELD_PASSWORD = 0x0100, /* either of these */ - SAMR_FIELD_PASSWORD2 = 0x0200 /* two bits seems to work */ + SAMR_FIELD_ACCOUNT_NAME = 0x0001, + SAMR_FIELD_FULL_NAME= 0x0002, + SAMR_FIELD_RID = 0x0004, + SAMR_FIELD_PRIMARY_GID = 0x0008, + SAMR_FIELD_DESCRIPTION = 0x0010, + SAMR_FIELD_COMMENT = 0x0020, + SAMR_FIELD_HOME_DIRECTORY = 0x0040, + SAMR_FIELD_HOME_DRIVE = 0x0080, + SAMR_FIELD_LOGON_SCRIPT = 0x0100, + SAMR_FIELD_PROFILE_PATH = 0x0200, + SAMR_FIELD_WORKSTATIONS = 0x0400, + SAMR_FIELD_LAST_LOGON = 0x0800, + SAMR_FIELD_LAST_LOGOFF = 0x1000, + SAMR_FIELD_LOGON_HOURS = 0x2000, + SAMR_FIELD_BAD_PWD_COUNT= 0x4000, + SAMR_FIELD_NUM_LOGONS = 0x8000, + SAMR_FIELD_ALLOW_PWD_CHANGE = 0x0001, + SAMR_FIELD_FORCE_PWD_CHANGE = 0x0002, + SAMR_FIELD_LAST_PWD_CHANGE = 0x0004, + SAMR_FIELD_ACCT_EXPIRY = 0x0008, + SAMR_FIELD_ACCT_FLAGS = 0x0010, + SAMR_FIELD_PARAMETERS = 0x0020, + SAMR_FIELD_COUNTRY_CODE = 0x0040, + SAMR_FIELD_CODE_PAGE= 0x0080, + SAMR_FIELD_PASSWORD = 0x0100, /* either of these */ + SAMR_FIELD_PASSWORD2= 0x0200, /* two bits seems to work */ + SAMR_FIELD_PRIVATE_DATA = 0x0400, + SAMR_FIELD_EXPIRED_FLAG = 0x0800, + SAMR_FIELD_SEC_DESC = 0x1000, + SAMR_FIELD_OWF_PWD = 0x2000 } samr_FieldsPresent; typedef struct { Modified: branches/SAMBA_4_0/source/torture/rpc/samba3rpc.c === --- branches/SAMBA_4_0/source/torture/rpc/samba3rpc.c 2007-06-28 18:05:35 UTC (rev 23642) +++ branches/SAMBA_4_0/source/torture/rpc/samba3rpc.c 2007-06-28 18:08:04 UTC (rev 23643) @@ -536,24 +536,29 @@ union samr_UserInfo u_info; DATA_BLOB session_key; - encode_pw_buffer(u_info.info24.password.data, password, + + ZERO_STRUCT(u_info); + encode_pw_buffer(u_info.info23.password.data, password, STR_UNICODE); - u_info.info24.pw_len = strlen_m(password)*2; status = dcerpc_fetch_session_key(samr_pipe, session_key); if (!NT_STATUS_IS_OK(status)) { d_printf(dcerpc_fetch_session_key failed\n); goto done; } - arcfour_crypt_blob(u_info.info24.password.data, 516, +
svn commit: samba r23644 - in branches/SAMBA_3_0_25/source/nsswitch: .
Author: gd Date: 2007-06-28 18:09:37 + (Thu, 28 Jun 2007) New Revision: 23644 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=23644 Log: Remove from 3_0_25 as well. Guenther Modified: branches/SAMBA_3_0_25/source/nsswitch/winbindd_util.c Changeset: Modified: branches/SAMBA_3_0_25/source/nsswitch/winbindd_util.c === --- branches/SAMBA_3_0_25/source/nsswitch/winbindd_util.c 2007-06-28 18:08:04 UTC (rev 23643) +++ branches/SAMBA_3_0_25/source/nsswitch/winbindd_util.c 2007-06-28 18:09:37 UTC (rev 23644) @@ -37,14 +37,6 @@ **/ -/** - * Used to clobber name fields that have an undefined value. - * - * Correct code should never look at a field that has this value. - **/ - -static const fstring name_deadbeef = deadbeef; - /* The list of trusted domains. Note that the list can be deleted and recreated using the init_domain_list() function so pointers to individual winbindd_domain structures cannot be made. Keep a copy of
svn commit: samba r23645 - in branches: SAMBA_3_0 SAMBA_3_0_25 SAMBA_3_0_26
Author: jerry Date: 2007-06-28 19:27:30 + (Thu, 28 Jun 2007) New Revision: 23645 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=23645 Log: add examples and try to answer some common questions in the coding style guide Modified: branches/SAMBA_3_0/README.Coding branches/SAMBA_3_0_25/README.Coding branches/SAMBA_3_0_26/README.Coding Changeset: Modified: branches/SAMBA_3_0/README.Coding === --- branches/SAMBA_3_0/README.Coding2007-06-28 18:09:37 UTC (rev 23644) +++ branches/SAMBA_3_0/README.Coding2007-06-28 19:27:30 UTC (rev 23645) @@ -59,14 +59,14 @@ -- (Thanks to SATOH Fumiyasu [EMAIL PROTECTED] for these hints): -For the basic vi eitor including with all variants of *nix, add the +For the basic vi editor including with all variants of *nix, add the following to $HOME/.exrc: set tabstop=8 set shiftwidth=8 For Vim, the following settings in $HOME/.vimrc will also deal with -disaplaying trailing whitespace: +displaying trailing whitespace: if has(syntax) (t_Co 2 || has(gui_running)) syntax on @@ -78,10 +78,138 @@ endif -=== -Statement Reference -=== += +FAQ Statement Reference += -To be filled later in as needed. +Comments + +Comments should always use the standard C syntax. I.e. /* ... */. C++ +style comments are not currently allowed. + +Indention Whitespace 80 columns +--- + +To avoid confusion, indentations are to be 8 character with tab (not +8 ' ' characters. When wrapping parameters for function calls, +alignment parameter list with the first parameter on the previous line. +Use tabs to get as close as possible and then fill in the final 7 +characters or less with whitespace. For example, + + var1 = foo(arg1, arg2, + arg3); + +The previous example is intended to illustrate alignment of function +parameters across lines and not as encourage for gratuitous line +splitting. Never split a line before columns 70 - 79 unless you +have a really good reason. Be smart about formatting. + + +If, switch, Code blocks +- + +Always follow an 'if' keyword with a space but don't include additional +spaces following or preceding the parentheses in the conditional. +This is good: + + if (x == 1) + +This is bad: + + if ( x == 1 ) + +Yes we have a lot of code that uses the second form and we are trying +to clean it up without being overly intrusive. + +Note that this is a rule about parentheses following keywords and not +functions. Don't insert a space between the name and left parentheses when +invoking functions. + +Braces for code blocks used by for, if, switch, while, do..while, etc... +should begin on the same line as the statement keyword and end on a line +of their own. NOTE: Functions are different and the beginning left brace +should begin on a line of its own. + +If the beginning statement has to be broken across lines due to length, +the beginning brace should be on a line of its own. + +The exception to the ending rule is when the closing brace is followed by +another language keyword such as else or the closing while in a do..while +loop. + +Good examples: + + if (x == 1) { + printf(good\n); + } + + for (x=1; +x10; +x++) + { + print(%d\n, x); + } + + do { + printf(also good\n); + } while (1); + +Bad examples: + + while (1) + { + print(I'm in a loop!\n); } + + +Goto + + +While many people have been academically taught that goto's are fundamentally +evil, then can greatly enhance readability and reduce memory leaks when used +as the single exit point from a function. But in no Samba world what so ever +is a goto outside of a function or block of code a good idea. + +Good Examples: + +int function foo(int y) +{ + int *z = NULL; + int ret = 0; + + if ( y 10 ) { + z = malloc(sizeof(int)*y); + if (!z) { + ret = 1; + goto done; + } + } + + print(Allocated %d elements.\n, y); + + done: + if (z) + free(z); + + return ret; +} + + +Checking Pointer Values +--- + +When invoking functions that return pointer values, either of the following +are acceptable. Use you best judgement and choose the more readable option. +Remember that many other people will review it. + + if ((x = malloc(sizeof(short)*10)) == NULL ) { + fprintf(stderr, Unable to alloc memory!\n); + } + +or + + x = malloc(sizeof(short)*10); + if (!x) { + fprintf(stderr, Unable to alloc memory!\n); + } Modified:
svn commit: samba-docs r1131 - in trunk/manpages-3: .
Author: obnox Date: 2007-06-28 20:32:38 + (Thu, 28 Jun 2007) New Revision: 1131 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=samba-docsrev=1131 Log: Fix the section number of one reference to the net command. Michael Modified: trunk/manpages-3/smb.conf.5.xml Changeset: Modified: trunk/manpages-3/smb.conf.5.xml === --- trunk/manpages-3/smb.conf.5.xml 2007-06-26 19:29:31 UTC (rev 1130) +++ trunk/manpages-3/smb.conf.5.xml 2007-06-28 20:32:38 UTC (rev 1131) @@ -785,7 +785,7 @@ More conveniently, the emphasisconf/emphasis subcommand of the citerefentryrefentrytitlenet/refentrytitle - manvolnum7/manvolnum/citerefentry utility + manvolnum8/manvolnum/citerefentry utility offers a dedicated interface to read and write the registry based configuration locally, i.e. directly accessing the database file, circumventing the
svn commit: samba-docs r1132 - in trunk/smbdotconf/security: .
Author: jerry Date: 2007-06-28 22:15:11 + (Thu, 28 Jun 2007) New Revision: 1132 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=samba-docsrev=1132 Log: revert svn r1129. FOr some reason this breaks the html generation Modified: trunk/smbdotconf/security/passwdchat.xml trunk/smbdotconf/security/restrictanonymous.xml Changeset: Modified: trunk/smbdotconf/security/passwdchat.xml === --- trunk/smbdotconf/security/passwdchat.xml2007-06-28 20:32:38 UTC (rev 1131) +++ trunk/smbdotconf/security/passwdchat.xml2007-06-28 22:15:11 UTC (rev 1132) @@ -30,7 +30,7 @@ paraThe string can contain the macro parameter moreinfo=none%n/parameter which is substituted for the new password. The chat sequence can also contain the standard -macros \\n, \\r, \\t and \\s to +macros \n, \r, \t and \s to give line-feed, carriage-return, tab and space. The chat sequence string can also contain a '*' which matches any sequence of characters. Double quotes can be used to collect strings with spaces in them into a single string./para @@ -41,7 +41,7 @@ paraIf the smbconfoption name=pam password change/ parameter is set to constantyes/constant, the chat pairs may be matched in any order, and success is determined by the PAM result, not any particular - output. The \\n macro is ignored for PAM conversions. + output. The \n macro is ignored for PAM conversions. /para /description Modified: trunk/smbdotconf/security/restrictanonymous.xml === --- trunk/smbdotconf/security/restrictanonymous.xml 2007-06-28 20:32:38 UTC (rev 1131) +++ trunk/smbdotconf/security/restrictanonymous.xml 2007-06-28 22:15:11 UTC (rev 1132) @@ -8,8 +8,8 @@ group list information is returned for an anonymous connection. and mirrors the effects of the programlisting -HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\ - Control\\LSA\\RestrictAnonymous +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ + Control\LSA\RestrictAnonymous /programlisting registry key in Windows 2000 and Windows NT. When set to 0, user and group list information is returned to anyone who asks. When set
Build status as of Fri Jun 29 00:00:02 2007
URL: http://build.samba.org/ --- /home/build/master/cache/broken_results.txt.old 2007-06-28 00:00:30.0 + +++ /home/build/master/cache/broken_results.txt 2007-06-29 00:00:51.0 + @@ -1,4 +1,4 @@ -Build status as of Thu Jun 28 00:00:02 2007 +Build status as of Fri Jun 29 00:00:02 2007 Build counts: Tree Total Broken Panic @@ -17,9 +17,9 @@ samba0 0 0 samba-docs 0 0 0 samba-gtk4 4 0 -samba4 32 25 11 -samba_3_034 34 0 +samba4 32 26 11 +samba_3_035 17 2 smb-build32 32 0 talloc 35 8 0 -tdb 34 1 0 +tdb 33 1 0