diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/WHATSNEW.txt samba-3.0.1/WHATSNEW.txt --- samba-3.0.1rc2/WHATSNEW.txt Wed Dec 10 22:11:59 2003 +++ samba-3.0.1/WHATSNEW.txt Sun Dec 14 22:10:05 2003 @@ -1,28 +1,48 @@ - WHATS NEW IN Samba 3.0.1rc2 - December 10, 2003 + WHATS NEW IN Samba 3.0.1 + December 15, 2003 =============================== -This is a release candidate snapshot of the Samba 3.0.1 code base -and is provided for testing only. A release candidate (RC) means -that we are close to the the final, stable version and is provided -for Quality Assurance (QA) purposes. This release is *not* intended -for production servers. Use at your own risk. - -There have been several bug fixes since the 3.0.0 release that -we feel are important to make available to the Samba community -for wider testings. See the "Changes" section for details on -exact updates. +This is the latest stable release of Samba. This is the +version that all production Samba servers should be running +for all current bug-fixes. Some of the more common bugs in +3.0.0 addressed in the release include: + + * Substitution problems with smb.conf variables. + * Errors in return codes which caused some applications + to fail to open files. + * General Protection Faults on Windows 2000/XP clients + using Samba point-n-print features. + * Several miscellaneous crash bugs. + * Access problems when enumerating group mappings are + stored in an LDAP Directory. + * Several common SWAT bugs when writing changes to + smb.conf. + * Internal inconsistencies when 'winbind use default + domain = yes' ###################################################################### Changes ####### -Changes since 3.0.1rc1 ------------------------ +Changes since 3.0.1rc2 +---------------------- Please refer to the CVS log for the SAMBA_3_0 branch for complete details: +1) Fix uninitialized variable in passdb.c. +2) Fix formal parameter type in get_static() in nsswitch/wins.c. +3) Fix problem mounting directories when mount.cifs is installed + with the setuid bit on. +4) Fix bug that prevent --mandir from overriding the defaults + given in the --with-fhs macro. +5) Fix bug in in-memory Kerberos keytab detection routines + in configure.in + + +Changes since 3.0.1rc1 +----------------------- + 1) Update version string in smbldap-tools Makefile to 0.8.2. 2) Correct a problem with "net rpc vampire" mis-parsing the alias member info reply. @@ -30,7 +50,7 @@ 4) Fix detection of Windows 2003 client architecture in the smb.conf %a variable. 5) Ensure that smbd calls the add user script for a missing UNIX - user on kerberos auth call (bug 445). + user on kerberos auth call (bug 445). 6) Fix bugs in hosts allow/deny when using a mismatched network/netmask pair. 7) Protect alloc_sub_basic() from crashing when the source string @@ -128,7 +148,7 @@ -Changes since 3.0.1pre4 +Changes since 3.0.1pre2 ----------------------- Please refer to the CVS log for the SAMBA_3_0 branch for complete @@ -222,7 +242,7 @@ keyblock in the krb5 structs. 41) Remove #include in hopes to avoid problems with apache header files. -42) COrrect winbindd build problems on HP-UX 11 +42) Correct winbindd build problems on HP-UX 11. 43) Lowercase netgroups lookups (bug 703). 44) Use the actual size of the buffer in strftime instead of a made up value which just happens to be less than sizeof(fstring). @@ -320,7 +340,6 @@ files. 33) Ensure canceling a blocking lock returns the correct error message. -34) Match Samba 2.2, and make ACB_NORMAL the default ACB value. diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/WHATSNEW.txt.bak samba-3.0.1/WHATSNEW.txt.bak --- samba-3.0.1rc2/WHATSNEW.txt.bak Wed Dec 10 22:06:57 2003 +++ samba-3.0.1/WHATSNEW.txt.bak Wed Dec 31 18:00:00 1969 @@ -1,962 +0,0 @@ - WHATS NEW IN Samba 3.0.1rc2 - December 10, 2003 - =============================== - -This is a release candidate snapshot of the Samba 3.0.1 code base -and is provided for testing only. A release candidate (RC) means -that we are close to the the final, stable version and is provided -for Quality Assurance (QA) purposes. This release is *not* intended -for production servers. Use at your own risk. - -There have been several bug fixes since the 3.0.0 release that -we feel are important to make available to the Samba community -for wider testings. See the "Changes" section for details on -exact updates. - - -###################################################################### -Changes -####### -Changes since 3.0.1rc1 ------------------------ - -Please refer to the CVS log for the SAMBA_3_0 branch for complete -details: - -1) Update version string in smbldap-tools Makefile to 0.8.2. -2) Correct a problem with "net rpc vampire" mis-parsing the - alias member info reply. -3) Ensure the ${libdir} is created by the installclientlib script. -4) Fix detection of Windows 2003 client architecture in the smb.conf - %a variable. -5) Ensure that smbd calls the add user script for a missing UNIX - user on kerberos auth call (bug 445). -6) Fix bugs in hosts allow/deny when using a mismatched - network/netmask pair. -7) Protect alloc_sub_basic() from crashing when the source string - is NULL (partial work on bug 687). -8) Fix spinlocks on IRIX. -9) Corrected some bad destination paths when running "configure - --with-fhs". -10) Add packaging files for Fedora Core 1. -11) Correct bug in SWAT install script for non-english languages. -12) Support character set ISO-8859-1 internally (bug 558). -13) Fixed more LDAP access errors when looking up group mappings - (bug 281). -14) Fix UNISTR2 length bug in LsaQueryInfo(3) that caused SID - resolution to fail on local files on on domain members - (bug 875). - - -Changes since 3.0.1pre3 ------------------------ - -Removed Parameters - * hide local users - -Added Parameters - * passwd chat timeout - -1) Fix for pdbedit error code returns (bug 763). -2) Make sure we only enumerate group mapping entries (not - /etc/group) even when doing local aliases. -3) Relax check on the pipe name in a dce/rpc bind response to work - around issues with establishing trusts to a Windows 2003 domain. -4) Ensure we mangle names ending in '.' in hash2 mangling method. -5) Correct parsing issues with munged dial string. -6) Fix bugs in quota support for XFS. -7) Add a cleaner method for applications that need to provide name->SID - mappings to do this via NSS rather than having to know the - winbindd pipe protocol. -8) Adds a variant of the winbindd_getgroups() call called - winbindd_getusersids() that provides direct SID->SIDs listing of a - users supplementary groups. This is enough to allow non-Samba - applications to do ACL checking. -9) Make sure we don't append the 'ldap suffix' when writing out the - 'ldap XXX suffix' values in SWAT (bug 328). -10) Fix renames across file systems. -11) Ensure that items in a list of strings containing whitespace are - written out surrounded by single quotes. This means that both - double and single quotes are now used to surround strings in - smb.conf (bug 481). -12) Enable SWAT to correctly determine if winbindd is running (bug - 398). -13) Include WWW-Authenticate field in 401 response for bad auth - attempt (bug 629). -14) Add support for NTLM2 (NTLMv2 session security). -15) Add support for variable-length session keys. -16) More privilege fixes for group enumeration in LDAP (bug 281). -17) Use the dns name (or IP) as the originating client name when - using CUPS (bug 467). -18) Fix various SMB signing bugs. -19) Fix ACL propagation on a DFS root (bug 263). -20) Disable NTLM2 for RPC pipes. -21) Allow the client to specify the NTLM2 flags got NTLMSSP - authentication. -22) Change the name of the job passed off to cups from "Test Page" to - "smbprn.00000033 Test Page" so that we can get the smb jobid back. - This allow users to delete jobs with cups printing backend (partial - work on bug 770). -23) Fix build of winbindd with static pdb modules. -24) Retrieve the correct ACL group bits if the file has an ACL - (bug 802). -25) Implement "net rpc group members": Get members of a domain group - in human-readable format. -26) Add MacOSX (Darwin) specific charset module code. -27) Use samr_dispinfo(level == 1) for enumerating domain users so we - can include the full name in gecos field (bug 587). -28) Add support for winbind's NSS library on FeeeBSD 5.1 (bug 797). -29) Implement 'net rpc group list [global|local|builtin]*' for a - select listing of the respective user databases. -30) Don't automatically set NT status code flag unless client tells - us it can cope. -31) Add 'net status [sessions|shares] [parseable]'. -32) Don't mistake pre-existing UNIX jobs for smb jobs (remainder of - bug 770). -33) Add 'Replicator' and 'RAS Servers' to list of builtin SIDs - (bug 608). -34) Fix inverted logic in hosts allow/deny checks caused by s/strcmp/strequal/ - (bug 846). -35) Implement correct version SamrRemoveSidForeignDomain() (bug 252). -36) Fix typo in 'hash' mangling algorithm. -37) Support munged dial for ldapsam (bug 800). -38) Fix process_incoming_data() to return the number of bytes handled this - call whether we have a complete PDU or not; fixes bug with multiple - PDU request rpc's broken over SMBwriteX calls each. -39) Fix incorrect smb flags2 for connections to pre-NT servers (causes - smbclient to fail to OS2 for example) (bug 821). - - - -Changes since 3.0.1pre4 ------------------------ - -Please refer to the CVS log for the SAMBA_3_0 branch for complete -details: - -1) Skip over the winbind separator when looking up a user. - This fixes the bug that prevented local users from - matching an AD user when not running winbindd (bug 698). -2) Fix a problem with configure on *BSD systems. Make sure - we add -liconv etc to LDFLAGS. -3) Fix core dump bug when "security = server" and the authentication - server goes away. -4) Correct crash bug due to an empty munged dial string. -5) Show files locked by a specific user (smbstatus -u 'user') - (bug 590). -6) Fix bug preventing print jobs from display in the queue - monitor used by Windows NT and later clients (bug 660). -7) Fix several reported problems with point-n-print from - Windows 2000/XP clients due to a bug in the EnumPrinterDataEx() - reply (bug 338, 527 & 643). -8) Fix a handful of potential memory leaks in the LDAP code used - by ldapsam[_compat] and the LDAP idmap backend. - - -Changes since 3.0.1pre1 ------------------------ - -1) Match Samba 2.2 behavior; make ACB_NORMAL the default ACB value. -2) Updated Japanese welcome file in SWAT. -3) Fix to nt-time <-> unix-time functions reversible. -4) Ensure that winbindd uses the the escaped DN when querying - an AD ldap server. -5) Fix portability issues when compiling (bug 505, 550) -6) Compile fix for tdbbackup when Samba needs to override - non-C99 compliant implementations of snprintf(). -7) Use @PICSUFFIX@ instead of .po in Makefile.in (bug 574). -8) Make sure we break out of samsync loop on error. -9) Ensure error code path doesn't free unmalloc()'d memory - (bug 628). -10) Add configure test for krb5_keytab_entry keyblock vs key - member (bug 636). -11) Fixed spinlocks. -12) Modified testparm so that all output so all debug output goes - to stderr, and all file processing goes to stdout. -13) Fix error return code for BUFFER_TOO_SMALL in smbcacls - and smbcquotas. -14) Fix "NULL dest in safe_strcpy()" log message by ensuring that - we have a devmode before copying a string to the devicename. -15) Support mapping REALM.COM\user to a local user account (without - running winbindd) for compatibility with 2.2.x release. -16) Ensure we don't use mmap() on blacklisted systems. -17) fixed a number of bugs and memory leaks in the AIX - winbindd shim -18) Call initgroups() in SWAT before becomming the user so that - secondary group permissions can be used when writing to - smb.conf. -19) Fix signing problems when reverse connecting back to a - client for printer notify -20) Fix signing problems caused by a miss-sequence bug. -21) Missing map in errormap for ERROR_MORE_DATA -> ERRDOS, ERRmoredata. - Fixes NEXUS tools running on Win9x clients (bug 64). -22) Don't leave the domain field uninitialized in cli_lsa.c if some - SID could not be mapped. -23) Fix segfault in mount.cifs helper when there is no options - specified during mount. -24) Change the \n after the password prompt to go to tty instead - of stdout (bug 668). -25) Stop net -P from prompting for machine account password (bug 451). -26) Change in behavior to Not only change the effective uid but also - the real uid when becoming unprivileged. -27) Cope with Exchange 5.5 cleartext pop password auth. -28) New files for support of initshutdown pipe. Win2k doesn't - respond properly to all requests on the winreg pipe, so we need - to handle this new pipe (bug 534). -29) Added more va_copy() checks in configure.in. -30) Include fixes for libsmbclient build problems. -31) Missing UNIX -> DOS codepage conversion in lanman.c. -32) Allow DFMS-S filenames can now have arbitrary case (bug 667). -33) Parameterize the listen backlog in smbd and make it larger by - default. A backlog of 5 is way too small these days. -34) Check for an invalid fid before dereferencing the fsp pointer - (bug 696). -35) Remove invalid memory frees and return codes in pdb_ldap.c. -36) Prompt for password when invoking --set-auth-user and no - password is given. -37) Bind the nmbd sending socket to the 'socket address'. -38) Re-order link command for smbd, rpcclient and smbpasswd to ensure - $LDFLAGS occurs before any library specification (bug 661). -39) Fix large number of printf() calls for 64-bit size_t. -40) Fix AC_CHECK_MEMBER so that SLES8 does correctly finds the - keyblock in the krb5 structs. -41) Remove #include in hopes to avoid problems with - apache header files. -42) COrrect winbindd build problems on HP-UX 11 -43) Lowercase netgroups lookups (bug 703). -44) Use the actual size of the buffer in strftime instead of a made - up value which just happens to be less than sizeof(fstring). - (bug 713). -45) Add ldaplibs to pdbedit link line (bug 651). -46) Fix crash bug in smbclient completion (bug 659). -47) Fix packet length for browse list reply (bug 771). -48) Fix coredump in cli_get_backup_list(). -49) Make sure that we expand %N (bug 612). -50) Allow rpcclient adddriver command to specify printer driver - version (bug 514). -51) Compile tdbdump by default. -52) Apply patches to fix iconv detection for FreeBSD. -53) Do not allow the 'guest account' to be added to a passdb backend - using smbpasswd or pdbedit (bug 624). -54) Save LDFLAGS during iconv detection (bug 57). -55) Run krb5 logins through the username map if the winbindd - lookup fails (bug 698). -56) Add const for lp_set_name_resolve_order() to avoid compiler - warnings (bug 471). -57) Add support for the %i macro in smb.conf to stand in for the for - the local IP address to which a client connected. -58) Allow winbindd to match local accounts to domain SID when - 'winbind trusted domains only = yes' (bug 680). -59) Remove code in idmap_ldap that searches the user suffix and group - suffix. It's not needed and provides inconsistent functionality - from the tdb backend. -60) Patch to handle munged dial string for Windows 200 TSE. -61) Correct the "smbldap_open: cannot access when not root error" - messages when looking up group information (bug 281). - - - -Changes since 3.0.0 -------------------- - -Modified parameters - * mangled map (deprecated) - -Removed Parameters - * mangled stack (unused) - - -1) Change the interface for init_unistr2 to not take a length - but a flags field. We were assuming that - 2*strlen(mb_string) == length of ucs2-le string. (bug 480). -2) Allow d_printf() to handle strings with escaped quotation - marks since the msg file includes the escape character (bug 489). -3) Fix bad html table row termination in SWAT wizard code (bug 413). -4) Fix to parse the level-2 strings. -5) Fix for "valid users = %S" in [homes]. Fix read/write - list as well. -6) Change AC_CHECK_LIB_EXT to prepend libraries instead of append. - This is the same way AC_CHECK_LIB works (bug 508). -7) Testparm output fixes for clarity. -8) Fix broken wins hook functionality -- i18n bug (bug 528). -9) Take care of condition where DOS and NT error codes must differ. -10) Default to using only built-in charsets when a working iconv - implementation cannot be located. -11) Wrap internals of sys_setgroups() so the sys_XX() call can - be done unconditionally (bug 550). -12) Remove duplicate smbspool link on SWAT's front page (bug 541). -13) Save and restore CFLAGS before/after AC_PROG_CC. Ensures that - --enable-debug=[yes|no] works correctly. -14) Allow ^C to interrupt smbpasswd if using our getpass - (e.g. smbpasswd command). -15) Support signing only on RPC's (bug 167). -16) Correct bug that prevented Excel 2000 clients from opening - files marked as read-only. -17) Portability fix bugs 546 - 549). -18) Explicitly initialize the value of AR for vendor makes that don't - do this (e.g. HPUX 11). (bug 552). -19) More i18n fixes for SWAT (bug 413). -20) Change the cwd before the postexec script to ensure that a - umount will succeed. -21) Correct double free that caused winbindd to crash when a DC - is rebooted (bug 437). -22) Fix incorrect mode sum (bug 562). -23) Canonicalize SMB_INFO_ALLOCATION in the same was as - SMB_FS_FULL_SIZE_INFORMATION (bug 564). -24) Add script to generate *msg files. -25) Add Dutch SWAT translation file. -26) Make sure to call get_user_groups() with the full winbindd - name for a user if he/she has one (bug 406). -27) Fix up error code returns from Samba4 tester. Ensure invalid - paths are validated the same way. -28) Allow Samba3 to pass the Samba4 RAW-READ tests. -29) Refuse to configure if --with-expsam=$BACKEND was used but no - libraries were found for $BACKEND. -30) Move sysquotas autoconf tests to a separate file. -31) Match W2K w.r.t. writelock and writeclose. Samba4 torture - tester -32) Make sure that the files that contain the static_init_$subsystem; - macro get recompiled after configure by removing the object - files. -33) Ensure canceling a blocking lock returns the correct error - message. -34) Match Samba 2.2, and make ACB_NORMAL the default ACB value. - - - -###################################################################### - - ======================================= - The original 3.0.0 release notes follow - ======================================= - - -Major new features: -------------------- - -1) Active Directory support. Samba 3.0 is now able to - join a ADS realm as a member server and authenticate - users using LDAP/Kerberos. - -2) Unicode support. Samba will now negotiate UNICODE on the wire - and internally there is now a much better infrastructure for - multi-byte and UNICODE character sets. - -3) New authentication system. The internal authentication system - has been almost completely rewritten. Most of the changes are - internal, but the new auth system is also very configurable. - -4) New default filename mangling system. - -5) A new "net" command has been added. It is somewhat similar to - the "net" command in windows. Eventually we plan to replace - numerous other utilities (such as smbpasswd) with subcommands - in "net". - -6) Samba now negotiates NT-style status32 codes on the wire. This - improves error handling a lot. - -7) Better Windows 2000/XP/2003 printing support including publishing - printer attributes in active directory. - -8) New loadable module support for passdb backends and character - sets. - -9) New default dual-daemon winbindd support for better performance. - -10) Support for migrating from a Windows NT 4.0 domain to a Samba - domain and maintaining user, group and domain SIDs. - -11) Support for establishing trust relationships with Windows NT 4.0 - domain controllers. - -12) Initial support for a distributed Winbind architecture using - an LDAP directory for storing SID to uid/gid mappings. - -13) Major updates to the Samba documentation tree. - -14) Full support for client and server SMB signing to ensure - compatibility with default Windows 2003 security settings. - -15) Improvement of ACL mapping features based on code donated by - Andreas Grünbacher. - - -Plus lots of other improvements! - - -Additional Documentation ------------------------- - -Please refer to Samba documentation tree (included in the docs/ -subdirectory) for extensive explanations of installing, configuring -and maintaining Samba 3.0 servers and clients. It is advised to -begin with the Samba-HOWTO-Collection for overviews and specific -tasks (the current book is up to approximately 400 pages) and to -refer to the various man pages for information on individual options. - -We are very glad to be able to include the second edition of -"Using Samba" by Jay Ts, Robert Eckstein, and David Collier-Brown -(O'Reilly & Associates) in this release. The book is available -on-line at http://samba.org/samba/docs/ and is included with -the Samba Web Administration Tool (SWAT). Thanks to the authors and -publisher for making "Using Samba" under the GNU Free Documentation -License. - - -###################################################################### -Upgrading from a previous Samba 3.0 beta -######################################## - -Beginning with Samba 3.0.0beta3, the RID allocation functions -have been moved into winbindd. Previously these were handled -by each passdb backend. This means that winbindd must be running -to automatically allocate RIDs for users and/or groups. Otherwise, -smbd will use the 2.2 algorithm for generating new RIDs. - -If you are using 'passdb backend = tdbsam' with a previous Samba -3.0 beta release (or possibly alpha), it may be necessary to -move the RID_COUNTER entry from /usr/local/samba/private/passdb.tdb -to winbindd_idmap.tdb. To do this: - -1) Ensure that winbindd_idmap.tdb exists (launch winbindd at least - once) -2) build tdbtool by executing 'make tdbtool' in the source/tdb/ - directory -3) run: (note that 'tdb>' is the tool's prompt for input) - - root# ./tdbtool /usr/local/samba/private/passdb.tdb - tdb> show RID_COUNTER - key 12 bytes - RID_COUNTER - data 4 bytes - [000] 0A 52 00 00 .R. - - tdb> move RID_COUNTER /usr/local/samba/var/locks/winbindd_idmap.tdb - .... - record moved - -If you are using 'passdb backend = ldapsam', it will be necessary to -store idmap entries in the LDAP directory as well (i.e. idmap backend -= ldap). Refer to the 'net idmap' command for more information on -migrating SID<->UNIX id mappings from one backend to another. - -If the RID_COUNTER record does not exist, then these instructions are -unneccessary and the new RID_COUNTER record will be correctly generated -if needed. - - - -######################## -Upgrading from Samba 2.2 -######################## - -This section is provided to help administrators understand the details -involved with upgrading a Samba 2.2 server to Samba 3.0. - - -Building --------- - -Many of the options to the GNU autoconf script have been modified -in the 3.0 release. The most noticeable are: - - * removal of --with-tdbsam (is now included by default; see section - on passdb backends and authentication for more details) - - * --with-ldapsam is now on used to provided backward compatible - parameters for LDAP enabled Samba 2.2 servers. Refer to the passdb - backend and authentication section for more details - - * inclusion of non-standard passdb modules may be enabled using - --with-expsam. This includes an XML backend and a mysql backend. - - * removal of --with-msdfs (is now enabled by default) - - * removal of --with-ssl (no longer supported) - - * --with-utmp now defaults to 'yes' on supported systems - - * --with-sendfile-support is now enabled by default on supported - systems - - -Parameters ----------- - -This section contains a brief listing of changes to smb.conf options -in the 3.0.0 release. Please refer to the smb.conf(5) man page for -complete descriptions of new or modified parameters. - -Removed Parameters (order alphabetically): - - * admin log - * alternate permissions - * character set - * client codepage - * code page directory - * coding system - * domain admin group - * domain guest group - * force unknown acl user - * hide local users - * nt smb support - * postscript - * printer driver - * printer driver file - * printer driver location - * status - * strip dot - * total print jobs - * use rhosts - * valid chars - * vfs options - -New Parameters (new parameters have been grouped by function): - - Remote management - ----------------- - * abort shutdown script - * shutdown script - - User and Group Account Management - --------------------------------- - * add group script - * add machine script - * add user to group script - * algorithmic rid base - * delete group script - * delete user from group script - * passdb backend - * set primary group script - - Authentication - -------------- - * auth methods - * realm - * passwd chat timeout - - Protocol Options - ---------------- - * client lanman auth - * client NTLMv2 auth - * client schannel - * client signing - * client use spnego - * disable netbios - * ntlm auth - * paranoid server security - * server schannel - * server signing - * smb ports - * use spnego - - File Service - ------------ - * get quota command - * hide special files - * hide unwriteable files - * hostname lookups - * kernel change notify - * mangle prefix - * map acl inherit - * msdfs proxy - * set quota command - * use sendfile - * vfs objects - - Printing - -------- - * max reported print jobs - - UNICODE and Character Sets - -------------------------- - * display charset - * dos charset - * unicode - * unix charset - - SID to uid/gid Mappings - ----------------------- - * idmap backend - * idmap gid - * idmap uid - * winbind enable local accounts - * winbind trusted domains only - * template primary group - * enable rid algorithm - - LDAP - ---- - * ldap delete dn - * ldap group suffix - * ldap idmap suffix - * ldap machine suffix - * ldap passwd sync - * ldap user suffix - - General Configuration - --------------------- - * preload modules - * private dir - -Modified Parameters (changes in behavior): - - * encrypt passwords (enabled by default) - * mangling method (set to 'hash2' by default) - * passwd chat - * passwd program - * restrict anonymous (integer value) - * security (new 'ads' value) - * strict locking (enabled by default) - * unix extensions (enabled by default) - * winbind cache time (increased to 5 minutes) - * winbind uid (deprecated in favor of 'idmap uid') - * winbind gid (deprecated in favor of 'idmap gid') - - -Databases ---------- - -This section contains brief descriptions of any new databases -introduced in Samba 3.0. Please remember to backup your existing -${lock directory}/*tdb before upgrading to Samba 3.0. Samba will -upgrade databases as they are opened (if necessary), but downgrading -from 3.0 to 2.2 is an unsupported path. - -Name Description Backup? ----- ----------- ------- -account_policy User policy settings yes -gencache Generic caching db no -group_mapping Mapping table from Windows yes - groups/SID to unix groups -winbindd_idmap ID map table from SIDS to UNIX yes - uids/gids. -namecache Name resolution cache entries no -netsamlogon_cache Cache of NET_USER_INFO_3 structure no - returned as part of a successful - net_sam_logon request -printing/*.tdb Cached output from 'lpq no - command' created on a per print - service basis -registry Read-only samba registry skeleton no - that provides support for exporting - various db tables via the winreg RPCs - - -Changes in Behavior -------------------- - -The following issues are known changes in behavior between Samba 2.2 and -Samba 3.0 that may affect certain installations of Samba. - - 1) When operating as a member of a Windows domain, Samba 2.2 would - map any users authenticated by the remote DC to the 'guest account' - if a uid could not be obtained via the getpwnam() call. Samba 3.0 - rejects the connection as NT_STATUS_LOGON_FAILURE. There is no - current work around to re-establish the 2.2 behavior. - - 2) When adding machines to a Samba 2.2 controlled domain, the - 'add user script' was used to create the UNIX identity of the - machine trust account. Samba 3.0 introduces a new 'add machine - script' that must be specified for this purpose. Samba 3.0 will - not fall back to using the 'add user script' in the absence of - an 'add machine script' - - -###################################################################### -Passdb Backends and Authentication -################################## - -There have been a few new changes that Samba administrators should be -aware of when moving to Samba 3.0. - - 1) encrypted passwords have been enabled by default in order to - inter-operate better with out-of-the-box Windows client - installations. This does mean that either (a) a samba account - must be created for each user, or (b) 'encrypt passwords = no' - must be explicitly defined in smb.conf. - - 2) Inclusion of new 'security = ads' option for integration - with an Active Directory domain using the native Windows - Kerberos 5 and LDAP protocols. - - MIT kerberos 1.3.1 supports the ARCFOUR-HMAC-MD5 encryption - type which is neccessary for servers on which the - administrator password has not been changed, or kerberos-enabled - SMB connections to servers that require Kerberos SMB signing. - Besides this one difference, either MIT or Heimdal Kerberos - distributions are usable by Samba 3.0. - - -Samba 3.0 also includes the possibility of setting up chains -of authentication methods (auth methods) and account storage -backends (passdb backend). Please refer to the smb.conf(5) -man page for details. While both parameters assume sane default -values, it is likely that you will need to understand what the -values actually mean in order to ensure Samba operates correctly. - -The recommended passdb backends at this time are - - * smbpasswd - 2.2 compatible flat file format - * tdbsam - attribute rich database intended as an smbpasswd - replacement for stand alone servers - * ldapsam - attribute rich account storage and retrieval - backend utilizing an LDAP directory. - * ldapsam_compat - a 2.2 backward compatible LDAP account - backend - -Certain functions of the smbpasswd(8) tool have been split between the -new smbpasswd(8) utility, the net(8) tool, and the new pdbedit(8) -utility. See the respective man pages for details. - - -###################################################################### -LDAP -#### - -This section outlines the new features affecting Samba / LDAP -integration. - -New Schema ----------- - -A new object class (sambaSamAccount) has been introduced to replace -the old sambaAccount. This change aids us in the renaming of attributes -to prevent clashes with attributes from other vendors. There is a -conversion script (examples/LDAP/convertSambaAccount) to modify and LDIF -file to the new schema. - -Example: - - $ ldapsearch .... -b "ou=people,dc=..." > old.ldif - $ convertSambaAccount old.ldif new.ldif - -The can be obtained by running 'net getlocalsid ' -on the Samba PDC as root. - -The old sambaAccount schema may still be used by specifying the -"ldapsam_compat" passdb backend. However, the sambaAccount and -associated attributes have been moved to the historical section of -the schema file and must be uncommented before use if needed. -The 2.2 object class declaration for a sambaAccount has not changed -in the 3.0 samba.schema file. - -Other new object classes and their uses include: - - * sambaDomain - domain information used to allocate rids - for users and groups as necessary. The attributes are added - in 'ldap suffix' directory entry automatically if - an idmap uid/gid range has been set and the 'ldapsam' - passdb backend has been selected. - - * sambaGroupMapping - an object representing the - relationship between a posixGroup and a Windows - group/SID. These entries are stored in the 'ldap - group suffix' and managed by the 'net groupmap' command. - - * sambaUnixIdPool - created in the 'ldap idmap suffix' entry - automatically and contains the next available 'idmap uid' and - 'idmap gid' - - * sambaIdmapEntry - object storing a mapping between a - SID and a UNIX uid/gid. These objects are created by the - idmap_ldap module as needed. - - * sambaSidEntry - object representing a SID alone, as a Structural - class on which to build the sambaIdmapEntry. - - -New Suffix for Searching ------------------------- - -The following new smb.conf parameters have been added to aid in directing -certain LDAP queries when 'passdb backend = ldapsam://...' has been -specified. - - * ldap suffix - used to search for user and computer accounts - * ldap user suffix - used to store user accounts - * ldap machine suffix - used to store machine trust accounts - * ldap group suffix - location of posixGroup/sambaGroupMapping entries - * ldap idmap suffix - location of sambaIdmapEntry objects - -If an 'ldap suffix' is defined, it will be appended to all of the -remaining sub-suffix parameters. In this case, the order of the suffix -listings in smb.conf is important. Always place the 'ldap suffix' first -in the list. - -Due to a limitation in Samba's smb.conf parsing, you should not surround -the DN's with quotation marks. - - -IdMap LDAP support ------------------- - -Samba 3.0 supports an ldap backend for the idmap subsystem. The -following options would inform Samba that the idmap table should be -stored on the directory server onterose in the "ou=idmap,dc=plainjoe, -dc=org" partition. - - [global] - ... - idmap backend = ldap:ldap://onterose/ - ldap idmap suffix = ou=idmap,dc=plainjoe,dc=org - idmap uid = 40000-50000 - idmap gid = 40000-50000 - -This configuration allows winbind installations on multiple servers to -share a uid/gid number space, thus avoiding the interoperability problems -with NFS that were present in Samba 2.2. - - - -###################################################################### -Trust Relationships and a Samba Domain -###################################### - -Samba 3.0.0beta2 is able to utilize winbindd as the means of -allocating uids and gids to trusted users and groups. More -information regarding Samba's support for establishing trust -relationships can be found in the Samba-HOWTO-Collection included -in the docs/ directory of this release. - -First create your Samba PDC and ensure that everything is -working correctly before moving on the trusts. - -To establish Samba as the trusting domain (named SAMBA) from a Windows NT -4.0 domain named WINDOWS: - - 1) create the trust account for SAMBA in "User Manager for Domains" - 2) connect the trust from the Samba domain using - 'net rpc trustdom establish GLASS' - -To create a trustlationship with SAMBA as the trusted domain: - - 1) create the initial trust account for GLASS using - 'smbpasswd -a -i GLASS'. You may need to create a UNIX - account for GLASS$ prior to this step (depending on your - local configuration). - 2) connect the trust from a WINDOWS DC using "User Manager - for Domains" - -Now join winbindd on the Samba PDC to the SAMBA domain using -the normal steps for adding a Samba server to an NT4 domain: -(note that smbd & nmbd must be running at this point) - - root# net rpc join -U root - Password: - -Start winbindd and test the join with 'wbinfo -t'. - -Now test the trust relationship by connecting to the SAMBA DC -(e.g. POGO) as a user from the WINDOWS domain: - - $ smbclient //pogo/netlogon -U Administrator -W WINDOWS - Password: - -Now connect to the WINDOWS DC (e.g. CRYSTAL) as a Samba user: - - $ smbclient //crystal/netlogon -U root -W WINDOWS - Password: - -###################################################################### -Changes in Winbind -################## - -Beginning with Samba3.0.0beta3, winbindd has been given new account -manage functionality equivalent to the 'add user script' family of -smb.conf parameters. The idmap design has also been changed to -centralize control of foreign SID lookups and matching to UNIX -uids and gids. - - -Brief Description of Changes ----------------------------- - -1) The sid_to_uid() family of functions (smbd/uid.c) have been - reverted to the 2.2.x design. This means that when resolving a - SID to a UID or similar mapping: - - a) First consult winbindd - b) perform a local lookup only if winbindd fails to - return a successful answer - - There are some variations to this, but these two rules generally - apply. - -2) All idmap lookups have been moved into winbindd. This means that - a server must run winbindd (and support NSS) in order to achieve - any mappings of SID to dynamically allocated UNIX ids. This was - a conscious design choice. - -3) New functions have been added to winbindd to emulate the 'add user - script' family of smbd functions without requiring that external - scripts be defined. This functionality is controlled by the 'winbind - enable local accounts' smb.conf parameter (enabled by default). - - However, this account management functionality is only supported - in a local tdb (winbindd_idmap.tdb). If these new UNIX accounts - must be shared among multiple Samba servers (such as a PDC and BDCs), - it will be necessary to define your own 'add user script', et. al. - programs that place the accounts/groups in some form of directory - such as NIS or LDAP. This requirement was deemed beyond the scope - of winbind's account management functions. Solutions for - distributing UNIX system information have been deployed and tested - for many years. We saw no need to reinvent the wheel. - -4) A member of a Samba controlled domain running winbindd is now able - to map domain users directly onto existing UNIX accounts while still - automatically creating accounts for trusted users and groups. This - behavior is controlled by the 'winbind trusted domains only' smb.conf - parameter (disabled by default to provide 2.2.x winbind behavior). - -5) Group mapping support is wrapped in the local_XX_to_XX() functions - in smbd/uid.c. The reason that group mappings are not included - in winbindd is because the purpose of Samba's group map is to - match any Windows SID with an existing UNIX group. These UNIX - groups can be created by winbindd (see next section), but the - SID<->gid mapping is retreived by smbd, not winbindd. - - -Examples --------- - -* security = server running winbindd to allocate accounts on demand - -* Samba PDC running winbindd to handle the automatic creation of UNIX - identities for machine trust accounts - -* Automtically creating UNIX user and groups when migrating a Windows NT - 4.0 PDC to a Samba PDC. Winbindd must be running when executing - 'net rpc vampire' for this to work. - - -###################################################################### -Known Issues -############ - -* There are several bugs currently logged against the 3.0 codebase - that affect the use of NT 4.0 GUI domain management tools when run - against a Samba 3.0 PDC. This bugs should be released in an early - 3.0.x release. - -Please refer to https://bugzilla.samba.org/ for a current list of bugs -filed against the Samba 3.0 codebase. - - -###################################################################### -Reporting bugs & Development Discussion -####################################### - -Please discuss this release on the samba-technical mailing list or by -joining the #samba-technical IRC channel on irc.freenode.net. - -If you do report problems then please try to send high quality -feedback. If you don't provide vital information to help us track down -the problem then you will probably be ignored. - -A new bugzilla installation has been established to help support the -Samba 3.0 community of users. This server, located at -https://bugzilla.samba.org/, has replaced the older jitterbug server -previously located at http://bugs.samba.org/. - diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/docs/Registry/FolderRedir.adm samba-3.0.1/docs/Registry/FolderRedir.adm --- samba-3.0.1rc2/docs/Registry/FolderRedir.adm Wed Dec 31 18:00:00 1969 +++ samba-3.0.1/docs/Registry/FolderRedir.adm Sat Dec 13 17:54:27 2003 @@ -0,0 +1,35 @@ +CLASS MACHINE + +CATEGORY !!Shell + + CATEGORY !!CustomSharedAppFolders + KEYNAME "Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" + + POLICY !!CustomFolders_SharedAppData + PART !!CustomFolders_SharedAppDataPath EDITTEXT REQUIRED EXPANDABLETEXT + DEFAULT !!CustomFolders_SharedAppDataDefault + VALUENAME "AppData" + END PART + END POLICY + + POLICY !!CustomFolders_SharedMyDocs + PART !!CustomFolders_SharedMyDocsPath EDITTEXT REQUIRED EXPANDABLETEXT + DEFAULT !!CustomFolders_SharedMyDocsDefault + VALUENAME "Personal" + END PART + END POLICY + + END CATEGORY + +END CATEGORY ; Shell + + +[strings] +Shell="Shared User Profile Folders" +CustomSharedAppFolders="Custom Shared Folders" +CustomFolders_SharedAppData="Custom Shared Application Folders" +CustomFolders_SharedAppDataPath="Path to location of Shared Application Data" +CustomFolders_SharedAppDataDefault="%USERPROFILE%\Local Settings\Application Data" +CustomFolders_SharedMyDocs="Custom Shared Documentation Folder" +CustomFolders_SharedMyDocsPath="Path to location of Shared My Documents" +CustomFolders_SharedMyDocsDefault="%USERPROFILE%\MY Documents" \ No newline at end of file diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/docs/Registry/FolderRedir.reg samba-3.0.1/docs/Registry/FolderRedir.reg --- samba-3.0.1rc2/docs/Registry/FolderRedir.reg Wed Dec 31 18:00:00 1969 +++ samba-3.0.1/docs/Registry/FolderRedir.reg Sat Dec 13 17:54:27 2003 @@ -0,0 +1,13 @@ +REGEDIT4 + +[HKEY_USERS\.default\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] +"AppData"=REG_EXPAND_SZ:\\SERVER\REDIRSHARE\%USERNAME%\Application Data +"Local AppData"=REG_EXPAND_SZ:\\SERVER\REDIRSHARE\%USERNAME%\Local Settings\Application Data +"Cookies"=REG_EXPAND_SZ:\\SERVER\REDIRSHARE\%USERNAME%\Cookies +"Cache"=REG_EXPAND_SZ:\\SERVER\REDIRSHARE\%USERNAME%\Local Settings\Temporary Internet Files + +[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders] +"AppData"=REG_EXPAND_SZ:\\SERVER\REDIRSHARE\%USERNAME%\Application Data +"Local AppData"=REG_EXPAND_SZ:\\SERVER\REDIRSHARE\%USERNAME%\Local Settings\Application Data +"Cookies"=REG_EXPAND_SZ:\\SERVER\REDIRSHARE\%USERNAME%\Cookies +"Cache"=REG_EXPAND_SZ:\\SERVER\REDIRSHARE\%USERNAME%\Local Settings\Temporary Internet Files diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/docs/htmldocs/smb.conf.5.html samba-3.0.1/docs/htmldocs/smb.conf.5.html --- samba-3.0.1rc2/docs/htmldocs/smb.conf.5.html Wed Dec 10 16:05:19 2003 +++ samba-3.0.1/docs/htmldocs/smb.conf.5.html Sun Dec 14 21:47:58 2003 @@ -1841,7 +1841,7 @@ the SMB-Dfs protocol.

Only Dfs roots can act as proxy shares. Take a look at the msdfs root and host msdfs - options to find out how to set up a Dfs root share.

Example: msdfs proxy = \\\\otherserver\\someshare

msdfs root (S)

If set to yes, Samba treats the + options to find out how to set up a Dfs root share.

Example: msdfs proxy = \otherserver\someshare

msdfs root (S)

If set to yes, Samba treats the share as a Dfs root and allows clients to browse the distributed file system tree rooted at the share directory. Dfs links are specified in the share directory by symbolic diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/docs/manpages/smb.conf.5 samba-3.0.1/docs/manpages/smb.conf.5 --- samba-3.0.1rc2/docs/manpages/smb.conf.5 Wed Dec 10 16:03:49 2003 +++ samba-3.0.1/docs/manpages/smb.conf.5 Sun Dec 14 21:46:34 2003 @@ -4607,7 +4607,7 @@ Only Dfs roots can act as proxy shares\&. Take a look at the \fImsdfs root\fR and \fIhost msdfs\fR options to find out how to set up a Dfs root share\&. -Example: \fBmsdfs proxy = \\\\\\\\otherserver\\\\someshare\fR +Example: \fBmsdfs proxy = \\otherserver\\someshare\fR .TP diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/examples/misc/modify_samba_config.pl samba-3.0.1/examples/misc/modify_samba_config.pl --- samba-3.0.1rc2/examples/misc/modify_samba_config.pl Sat Jun 7 12:57:30 2003 +++ samba-3.0.1/examples/misc/modify_samba_config.pl Sun Dec 14 21:36:25 2003 @@ -66,7 +66,7 @@ ## check for a param = value if ($_ =~ /=/) { - ($param, $value) = split (/=/, $_); + ($param, $value) = split (/=/, $_,2); $param =~ s/./\l$&/g; $param =~ s/\s+//g; $value =~ s/^\s+//; diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/packaging/Fedora/makerpms.sh samba-3.0.1/packaging/Fedora/makerpms.sh --- samba-3.0.1rc2/packaging/Fedora/makerpms.sh Wed Dec 10 22:12:05 2003 +++ samba-3.0.1/packaging/Fedora/makerpms.sh Mon Dec 15 08:53:40 2003 @@ -18,7 +18,7 @@ USERID=`id -u` GRPID=`id -g` -VERSION='3.0.1rc2' +VERSION='3.0.1' SPECFILE="samba.spec" RPMVER=`rpm --version | awk '{print $3}'` RPM="rpmbuild" diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/packaging/Fedora/samba.spec samba-3.0.1/packaging/Fedora/samba.spec --- samba-3.0.1rc2/packaging/Fedora/samba.spec Wed Dec 10 22:12:05 2003 +++ samba-3.0.1/packaging/Fedora/samba.spec Mon Dec 15 08:53:40 2003 @@ -3,7 +3,7 @@ Summary: The Samba SMB server. Name: samba -Version: 3.0.1rc2 +Version: 3.0.1 Release: 1 License: GNU GPL Version 2 Group: System Environment/Daemons @@ -348,7 +348,6 @@ %{_bindir}/smbcquotas #%{_bindir}/vfstest %{_sbindir}/winbindd -%dir /var/cache/samba %config(noreplace) %{_sysconfdir}/samba/smb.conf %config(noreplace) %{_sysconfdir}/samba/lmhosts %dir %{_datadir}/samba diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/packaging/Fedora/samba.spec.tmpl samba-3.0.1/packaging/Fedora/samba.spec.tmpl --- samba-3.0.1rc2/packaging/Fedora/samba.spec.tmpl Tue Dec 9 22:31:04 2003 +++ samba-3.0.1/packaging/Fedora/samba.spec.tmpl Sun Dec 14 21:36:25 2003 @@ -348,7 +348,6 @@ %{_bindir}/smbcquotas #%{_bindir}/vfstest %{_sbindir}/winbindd -%dir /var/cache/samba %config(noreplace) %{_sysconfdir}/samba/smb.conf %config(noreplace) %{_sysconfdir}/samba/lmhosts %dir %{_datadir}/samba diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/packaging/Mandrake/makerpms.sh samba-3.0.1/packaging/Mandrake/makerpms.sh --- samba-3.0.1rc2/packaging/Mandrake/makerpms.sh Wed Dec 10 22:12:05 2003 +++ samba-3.0.1/packaging/Mandrake/makerpms.sh Mon Dec 15 08:53:40 2003 @@ -20,7 +20,7 @@ USERID=`id -u` GRPID=`id -g` -VERSION='3.0.1rc2' +VERSION='3.0.1' RPMVER=`rpm --version | awk '{print $3}'` echo The RPM Version on this machine is: $RPMVER diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/packaging/Mandrake/samba2.spec samba-3.0.1/packaging/Mandrake/samba2.spec --- samba-3.0.1rc2/packaging/Mandrake/samba2.spec Wed Dec 10 22:12:05 2003 +++ samba-3.0.1/packaging/Mandrake/samba2.spec Mon Dec 15 08:53:40 2003 @@ -24,7 +24,7 @@ %define libname %mklibname smbclient %libsmbmajor # Version and release replaced by samba-team at release from samba cvs -%define pversion 3.0.1rc2 +%define pversion 3.0.1 %define prelease 1 #Check to see if p(version|release) has been replaced (1 if replaced) diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/packaging/RedHat/makerpms.sh samba-3.0.1/packaging/RedHat/makerpms.sh --- samba-3.0.1rc2/packaging/RedHat/makerpms.sh Wed Dec 10 22:12:05 2003 +++ samba-3.0.1/packaging/RedHat/makerpms.sh Mon Dec 15 08:53:40 2003 @@ -20,7 +20,7 @@ USERID=`id -u` GRPID=`id -g` -VERSION='3.0.1rc2' +VERSION='3.0.1' SPECFILE="samba3.spec" RPMVER=`rpm --version | awk '{print $3}'` RPM="rpm" diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/packaging/RedHat/samba.spec samba-3.0.1/packaging/RedHat/samba.spec --- samba-3.0.1rc2/packaging/RedHat/samba.spec Wed Dec 10 22:12:05 2003 +++ samba-3.0.1/packaging/RedHat/samba.spec Mon Dec 15 08:53:40 2003 @@ -4,7 +4,7 @@ Summary: Samba SMB client and server Vendor: Samba Team Name: samba -Version: 3.0.1rc2 +Version: 3.0.1 Release: 1 License: GNU GPL version 2 Group: Networking @@ -114,7 +114,7 @@ mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/{images,help,include,using_samba} mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/using_samba/{figs,gifs} mkdir -p $RPM_BUILD_ROOTMANDIR_MACRO -mkdir -p $RPM_BUILD_ROOT/var/cache/samba +mkdir -p $RPM_BUILD_ROOT/var/lib/samba mkdir -p $RPM_BUILD_ROOT/var/{log,run}/samba mkdir -p $RPM_BUILD_ROOT/var/spool/samba mkdir -p $RPM_BUILD_ROOT/lib/security @@ -242,36 +242,23 @@ # for i in /var/lock/samba/*.tdb; do if [ -f $i ]; then - newname=`echo $i | sed -e's|var\/lock\/samba|var\/cache\/samba|'` + newname="/var/lib/samba/`basename $i`" echo "Moving $i to $newname" mv $i $newname fi done - # Remove the transient tdb files. - if [ -e /var/cache/samba/brlock.tdb ]; then - rm -f /var/cache/samba/brlock.tdb - fi - - if [ -e /var/cache/samba/unexpected.tdb ]; then - rm -f /var/cache/samba/unexpected.tdb - fi - - if [ -e /var/cache/samba/connections.tdb ]; then - rm -f /var/cache/samba/connections.tdb - fi - - if [ -e /var/cache/samba/locking.tdb ]; then - rm -f /var/cache/samba/locking.tdb - fi - - if [ -e /var/cache/samba/messages.tdb ]; then - rm -f /var/cache/samba/messages.tdb - fi - - if [ -d /var/lock/samba ]; then - rm -rf /var/lock/samba - fi + # + # For 3.0.1 we move the tdb files from /var/cache/samba to /var/lib/samba + # + echo "Moving tdb files in /var/cache/samba/*.tdb to /var/lib/samba/*.tdb" + for i in /var/cache/samba/*.tdb; do + if [ -f $i ]; then + newname="/var/lib/samba/`basename $i`" + echo "Moving $i to $newname" + mv $i $newname + fi + done fi ## @@ -300,7 +287,7 @@ # Install the correct version of the samba pam file, depending on pam version. # (always keep an existing PAM config file) -if [ ! -f /etc/pam.d/samba ]; then +if [ ! -f /lib/security/pam_stack.so ]; then if [ -f /lib/security/pam_stack.so ]; then echo "Installing stack version of /etc/pam.d/samba..." mv /etc/samba/samba.stack /etc/pam.d/samba @@ -320,32 +307,32 @@ # We want to remove the browse.dat and wins.dat files # so they can not interfer with a new version of samba! - if [ -e /var/cache/samba/browse.dat ]; then - rm -f /var/cache/samba/browse.dat + if [ -e /var/lib/samba/browse.dat ]; then + rm -f /var/lib/samba/browse.dat fi - if [ -e /var/cache/samba/wins.dat ]; then - rm -f /var/cache/samba/wins.dat + if [ -e /var/lib/samba/wins.dat ]; then + rm -f /var/lib/samba/wins.dat fi # Remove the transient tdb files. - if [ -e /var/cache/samba/brlock.tdb ]; then - rm -f /var/cache/samba/brlock.tdb + if [ -e /var/lib/samba/brlock.tdb ]; then + rm -f /var/lib/samba/brlock.tdb fi - if [ -e /var/cache/samba/unexpected.tdb ]; then - rm -f /var/cache/samba/unexpected.tdb + if [ -e /var/lib/samba/unexpected.tdb ]; then + rm -f /var/lib/samba/unexpected.tdb fi - if [ -e /var/cache/samba/connections.tdb ]; then - rm -f /var/cache/samba/connections.tdb + if [ -e /var/lib/samba/connections.tdb ]; then + rm -f /var/lib/samba/connections.tdb fi - if [ -e /var/cache/samba/locking.tdb ]; then - rm -f /var/cache/samba/locking.tdb + if [ -e /var/lib/samba/locking.tdb ]; then + rm -f /var/lib/samba/locking.tdb fi - if [ -e /var/cache/samba/messages.tdb ]; then - rm -f /var/cache/samba/messages.tdb + if [ -e /var/lib/samba/messages.tdb ]; then + rm -f /var/lib/samba/messages.tdb fi fi @@ -360,8 +347,8 @@ rm -rf /var/log/samba fi - if [ -e /var/cache/samba ]; then - rm -rf /var/cache/samba + if [ -e /var/lib/samba ]; then + rm -rf /var/lib/samba fi # Remove swat entries from /etc/inetd.conf and /etc/services @@ -454,7 +441,7 @@ MANDIR_MACRO/man5/* MANDIR_MACRO/man7/* MANDIR_MACRO/man8/* -%attr(755,root,root) %dir /var/cache/samba +%attr(755,root,root) %dir /var/lib/samba %dir /var/log/samba %dir /var/run/samba %attr(1777,root,root) %dir /var/spool/samba diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/packaging/RedHat/samba.spec.tmpl samba-3.0.1/packaging/RedHat/samba.spec.tmpl --- samba-3.0.1rc2/packaging/RedHat/samba.spec.tmpl Fri Nov 7 11:37:32 2003 +++ samba-3.0.1/packaging/RedHat/samba.spec.tmpl Mon Dec 15 08:50:19 2003 @@ -114,7 +114,7 @@ mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/{images,help,include,using_samba} mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/using_samba/{figs,gifs} mkdir -p $RPM_BUILD_ROOTMANDIR_MACRO -mkdir -p $RPM_BUILD_ROOT/var/cache/samba +mkdir -p $RPM_BUILD_ROOT/var/lib/samba mkdir -p $RPM_BUILD_ROOT/var/{log,run}/samba mkdir -p $RPM_BUILD_ROOT/var/spool/samba mkdir -p $RPM_BUILD_ROOT/lib/security @@ -242,36 +242,23 @@ # for i in /var/lock/samba/*.tdb; do if [ -f $i ]; then - newname=`echo $i | sed -e's|var\/lock\/samba|var\/cache\/samba|'` + newname="/var/lib/samba/`basename $i`" echo "Moving $i to $newname" mv $i $newname fi done - # Remove the transient tdb files. - if [ -e /var/cache/samba/brlock.tdb ]; then - rm -f /var/cache/samba/brlock.tdb - fi - - if [ -e /var/cache/samba/unexpected.tdb ]; then - rm -f /var/cache/samba/unexpected.tdb - fi - - if [ -e /var/cache/samba/connections.tdb ]; then - rm -f /var/cache/samba/connections.tdb - fi - - if [ -e /var/cache/samba/locking.tdb ]; then - rm -f /var/cache/samba/locking.tdb - fi - - if [ -e /var/cache/samba/messages.tdb ]; then - rm -f /var/cache/samba/messages.tdb - fi - - if [ -d /var/lock/samba ]; then - rm -rf /var/lock/samba - fi + # + # For 3.0.1 we move the tdb files from /var/cache/samba to /var/lib/samba + # + echo "Moving tdb files in /var/cache/samba/*.tdb to /var/lib/samba/*.tdb" + for i in /var/cache/samba/*.tdb; do + if [ -f $i ]; then + newname="/var/lib/samba/`basename $i`" + echo "Moving $i to $newname" + mv $i $newname + fi + done fi ## @@ -300,7 +287,7 @@ # Install the correct version of the samba pam file, depending on pam version. # (always keep an existing PAM config file) -if [ ! -f /etc/pam.d/samba ]; then +if [ ! -f /lib/security/pam_stack.so ]; then if [ -f /lib/security/pam_stack.so ]; then echo "Installing stack version of /etc/pam.d/samba..." mv /etc/samba/samba.stack /etc/pam.d/samba @@ -320,32 +307,32 @@ # We want to remove the browse.dat and wins.dat files # so they can not interfer with a new version of samba! - if [ -e /var/cache/samba/browse.dat ]; then - rm -f /var/cache/samba/browse.dat + if [ -e /var/lib/samba/browse.dat ]; then + rm -f /var/lib/samba/browse.dat fi - if [ -e /var/cache/samba/wins.dat ]; then - rm -f /var/cache/samba/wins.dat + if [ -e /var/lib/samba/wins.dat ]; then + rm -f /var/lib/samba/wins.dat fi # Remove the transient tdb files. - if [ -e /var/cache/samba/brlock.tdb ]; then - rm -f /var/cache/samba/brlock.tdb + if [ -e /var/lib/samba/brlock.tdb ]; then + rm -f /var/lib/samba/brlock.tdb fi - if [ -e /var/cache/samba/unexpected.tdb ]; then - rm -f /var/cache/samba/unexpected.tdb + if [ -e /var/lib/samba/unexpected.tdb ]; then + rm -f /var/lib/samba/unexpected.tdb fi - if [ -e /var/cache/samba/connections.tdb ]; then - rm -f /var/cache/samba/connections.tdb + if [ -e /var/lib/samba/connections.tdb ]; then + rm -f /var/lib/samba/connections.tdb fi - if [ -e /var/cache/samba/locking.tdb ]; then - rm -f /var/cache/samba/locking.tdb + if [ -e /var/lib/samba/locking.tdb ]; then + rm -f /var/lib/samba/locking.tdb fi - if [ -e /var/cache/samba/messages.tdb ]; then - rm -f /var/cache/samba/messages.tdb + if [ -e /var/lib/samba/messages.tdb ]; then + rm -f /var/lib/samba/messages.tdb fi fi @@ -360,8 +347,8 @@ rm -rf /var/log/samba fi - if [ -e /var/cache/samba ]; then - rm -rf /var/cache/samba + if [ -e /var/lib/samba ]; then + rm -rf /var/lib/samba fi # Remove swat entries from /etc/inetd.conf and /etc/services @@ -454,7 +441,7 @@ MANDIR_MACRO/man5/* MANDIR_MACRO/man7/* MANDIR_MACRO/man8/* -%attr(755,root,root) %dir /var/cache/samba +%attr(755,root,root) %dir /var/lib/samba %dir /var/log/samba %dir /var/run/samba %attr(1777,root,root) %dir /var/spool/samba diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/packaging/Solaris/makepkg.sh samba-3.0.1/packaging/Solaris/makepkg.sh --- samba-3.0.1rc2/packaging/Solaris/makepkg.sh Wed Dec 10 22:12:05 2003 +++ samba-3.0.1/packaging/Solaris/makepkg.sh Mon Dec 15 08:53:40 2003 @@ -156,7 +156,7 @@ fi # Setup version from version.h -VERSION=3.0.1rc2 +VERSION=3.0.1 sed -e "s|__VERSION__|$VERSION|" -e "s|__ARCH__|`uname -p`|" -e "s|__BASEDIR__|$INSTALL_BASE|g" pkginfo.master >pkginfo sed -e "s|__BASEDIR__|$INSTALL_BASE|g" inetd.conf.master >inetd.conf diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/source/VERSION samba-3.0.1/source/VERSION --- samba-3.0.1rc2/source/VERSION Wed Dec 10 15:59:18 2003 +++ samba-3.0.1/source/VERSION Sun Dec 14 21:37:21 2003 @@ -51,7 +51,7 @@ # e.g. SAMBA_VERSION_RC_RELEASE=1 # # -> "3.0.0rc1" # ######################################################## -SAMBA_VERSION_RC_RELEASE=2 +SAMBA_VERSION_RC_RELEASE= ######################################################## # For 'beta' releases the version will be # diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/source/client/mount.cifs.c samba-3.0.1/source/client/mount.cifs.c --- samba-3.0.1rc2/source/client/mount.cifs.c Fri Nov 7 11:37:33 2003 +++ samba-3.0.1/source/client/mount.cifs.c Sun Dec 14 21:36:25 2003 @@ -490,10 +490,10 @@ } if((getuid() != 0) && (geteuid() == 0)) { - if((statbuf.st_uid == getuid()) && (S_IRWXU == statbuf.st_mode & S_IRWXU)) { + if((statbuf.st_uid == getuid()) && (S_IRWXU == (statbuf.st_mode & S_IRWXU))) { printf("setuid mount allowed\n"); } else { - printf("mount error: permission denied, not superuser and cifs.mount not installed SUID\n"); + printf("mount error: permission denied or not superuser and cifs.mount not installed SUID\n"); return -1; } } diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/source/configure samba-3.0.1/source/configure --- samba-3.0.1rc2/source/configure Wed Dec 10 22:13:51 2003 +++ samba-3.0.1/source/configure Mon Dec 15 08:55:22 2003 @@ -844,7 +844,6 @@ --with-privatedir=DIR Where to put smbpasswd ($ac_default_prefix/private) --with-lockdir=DIR Where to put lock files ($ac_default_prefix/var/locks) --with-piddir=DIR Where to put pid files ($ac_default_prefix/var/locks) - --with-mandir=DIR Where to put man pages ($ac_default_prefix/man) --with-swatdir=DIR Where to put SWAT files ($ac_default_prefix/swat) --with-configdir=DIR Where to put configuration files (\$libdir) --with-logfilebase=DIR Where to put log files (\$(VARDIR)) @@ -1317,7 +1316,6 @@ logfilebase="\${VARDIR}" lockdir="\${VARDIR}/locks" piddir="\${VARDIR}/locks" - mandir="\${prefix}/man" privatedir="\${prefix}/private" swatdir="\${prefix}/swat" fi; @@ -1383,27 +1381,6 @@ fi; ################################################# -# set pid directory location - -# Check whether --with-piddir or --without-piddir was given. -if test "${with_piddir+set}" = set; then - withval="$with_piddir" - case "$withval" in - yes|no) - # - # Just in case anybody calls it without argument - # - { echo "$as_me:$LINENO: WARNING: --with-mandir called without argument - will use default" >&5 -echo "$as_me: WARNING: --with-mandir called without argument - will use default" >&2;} - ;; - * ) - piddir="$withval" - ;; - esac -fi; - - -################################################# # set SWAT directory location # Check whether --with-swatdir or --without-swatdir was given. @@ -1520,7 +1497,6 @@ - # Check whether --enable-debug or --disable-debug was given. if test "${enable_debug+set}" = set; then enableval="$enable_debug" @@ -26071,13 +26047,13 @@ ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - samba_cv_HAVE_MEMORY_KEYTAB=no + samba_cv_HAVE_MEMORY_KEYTAB=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ( exit $ac_status ) -samba_cv_HAVE_MEMORY_KEYTAB=yes +samba_cv_HAVE_MEMORY_KEYTAB=no fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi @@ -26112,7 +26088,7 @@ int main () { -krb5_keytab_entry entry; entry.key = NULL; +krb5_keytab_entry entry; krb5_keyblock e; entry.key = e; ; return 0; } diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/source/configure.in samba-3.0.1/source/configure.in --- samba-3.0.1rc2/source/configure.in Wed Dec 10 15:59:18 2003 +++ samba-3.0.1/source/configure.in Sun Dec 14 21:36:25 2003 @@ -28,7 +28,6 @@ logfilebase="\${VARDIR}" lockdir="\${VARDIR}/locks" piddir="\${VARDIR}/locks" - mandir="\${prefix}/man" privatedir="\${prefix}/private" swatdir="\${prefix}/swat") @@ -81,23 +80,6 @@ esac]) ################################################# -# set pid directory location -AC_ARG_WITH(piddir, -[ --with-mandir=DIR Where to put man pages ($ac_default_prefix/man)], -[ case "$withval" in - yes|no) - # - # Just in case anybody calls it without argument - # - AC_MSG_WARN([--with-mandir called without argument - will use default]) - ;; - * ) - piddir="$withval" - ;; - esac]) - - -################################################# # set SWAT directory location AC_ARG_WITH(swatdir, [ --with-swatdir=DIR Where to put SWAT files ($ac_default_prefix/swat)], @@ -167,7 +149,6 @@ AC_SUBST(configdir) AC_SUBST(lockdir) AC_SUBST(piddir) -AC_SUBST(mandir) AC_SUBST(logfilebase) AC_SUBST(privatedir) AC_SUBST(swatdir) @@ -2721,8 +2702,8 @@ exit(0); exit(1); }], - samba_cv_HAVE_MEMORY_KEYTAB=no, - samba_cv_HAVE_MEMORY_KEYTAB=yes)]) + samba_cv_HAVE_MEMORY_KEYTAB=yes, + samba_cv_HAVE_MEMORY_KEYTAB=no)]) if test x"$samba_cv_HAVE_MEMORY_KEYTAB" = x"yes"; then AC_DEFINE(HAVE_MEMORY_KEYTAB,1, @@ -2732,7 +2713,7 @@ AC_CACHE_CHECK([for key in krb5_keytab_entry], samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY,[ AC_TRY_COMPILE([#include ], - [krb5_keytab_entry entry; entry.key = NULL;], + [krb5_keytab_entry entry; krb5_keyblock e; entry.key = e;], samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=yes, samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=no)]) diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/source/include/version.h samba-3.0.1/source/include/version.h --- samba-3.0.1rc2/source/include/version.h Wed Dec 10 22:13:51 2003 +++ samba-3.0.1/source/include/version.h Mon Dec 15 08:55:22 2003 @@ -2,6 +2,5 @@ #define SAMBA_VERSION_MAJOR 3 #define SAMBA_VERSION_MINOR 0 #define SAMBA_VERSION_RELEASE 1 -#define SAMBA_VERSION_RC_RELEASE 2 -#define SAMBA_VERSION_OFFICIAL_STRING "3.0.1rc2" +#define SAMBA_VERSION_OFFICIAL_STRING "3.0.1" #define SAMBA_VERSION_STRING samba_version_string() diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/source/nsswitch/wins.c samba-3.0.1/source/nsswitch/wins.c --- samba-3.0.1rc2/source/nsswitch/wins.c Mon Sep 8 11:04:35 2003 +++ samba-3.0.1/source/nsswitch/wins.c Sun Dec 14 21:36:25 2003 @@ -265,7 +265,7 @@ are the pointers passed in by the C library to the _nss_*_* functions. */ -static char *get_static(char **buffer, int *buflen, int len) +static char *get_static(char **buffer, size_t *buflen, int len) { char *result; diff -u -r --new-file --exclude=CVS samba-3.0.1rc2/source/passdb/passdb.c samba-3.0.1/source/passdb/passdb.c --- samba-3.0.1rc2/source/passdb/passdb.c Wed Dec 10 15:59:18 2003 +++ samba-3.0.1/source/passdb/passdb.c Sun Dec 14 21:36:25 2003 @@ -1249,7 +1249,7 @@ the GROUP_MAP object */ become_root(); - pdb_getgrsid(&group, *psid); + ret = pdb_getgrsid(&group, *psid); unbecome_root(); if ( !ret ) {