update change log with recent commit messages
[ira/wip.git] / WHATSNEW.txt
1                    WHATS NEW IN Samba 3.0.0 RC2
2                           August 28 2003
3                   ==============================
4
5 This is the second release candidate snapshot of Samba 3.0.0. A release 
6 candidate implies that the code is very close to a final release, remember 
7 that this is still a non-production release intended for testing purposes.  
8 Use at your own risk. 
9
10 The purpose of this release candidate is to get wider testing of the major
11 new pieces of code in the current Samba 3.0 development tree. 
12 Please refer to the section on "Known Issues" for more details.
13
14
15 Major new features:
16 -------------------
17
18 1)  Active Directory support.  Samba 3.0 is now able to  
19     join a ADS realm as a member server and authenticate 
20     users using LDAP/Kerberos.
21
22 2)  Unicode support. Samba will now negotiate UNICODE on the wire and
23     internally there is now a much better infrastructure for multi-byte
24     and UNICODE character sets.
25
26 3)  New authentication system. The internal authentication system has
27     been almost completely rewritten. Most of the changes are internal,
28     but the new auth system is also very configurable.
29
30 4)  New default filename mangling system.
31
32 5)  A new "net" command has been added. It is somewhat similar to 
33     the "net" command in windows. Eventually we plan to replace 
34     numerous other utilities (such as smbpasswd) with subcommands 
35     in "net".
36
37 6)  Samba now negotiates NT-style status32 codes on the wire. This
38     improves error handling a lot.
39
40 7)  Better Windows 2000/XP/2003 printing support including publishing 
41     printer attributes in active directory.
42
43 8)  New loadable module support for passdb backends and 
44     character sets.
45
46 9)  New default dual-daemon winbindd support for better performance.
47
48 10) Support for migrating from a Windows NT 4.0 domain to a Samba 
49     domain and maintaining user, group and domain SIDs.
50
51 11) Support for establishing trust relationships with Windows NT 4.0
52     domain controllers.
53   
54 12) Initial support for a distributed Winbind architecture using
55     an LDAP directory for storing SID to uid/gid mappings.
56   
57 13) Major updates to the Samba documentation tree.
58
59 14) Full support for client and server SMB signing to ensure
60     compatibility with default Windows 2003 security settings.
61
62 Plus lots of other improvements!
63
64
65 Additional Documentation
66 ------------------------
67
68 Please refer to Samba documentation tree (included in the docs/ 
69 subdirectory) for extensive explanations of installing, configuring
70 and maintaining Samba 3.0 servers and clients.  It is advised to 
71 begin with the Samba-HOWTO-Collection for overviews and specific 
72 tasks (the current book is up to approximately 400 pages) and to 
73 refer to the various man pages for information on individual options.
74
75 We are very glad to be able to include the second edition of
76 "Using Samba" by Jay Ts, Robert Eckstein, and David Collier-Brown
77 (O'Reilly & Associates) in this release.  The book is available
78 on-line at http://samba.org/samba/docs/ and is included with 
79 the Samba Web Administration Tool (SWAT).  Thanks to the authors and
80 publisher for making "Using Samba" under the GNU Free Documentation 
81 License.
82
83
84 ######################################################################
85 Changes since 3.0rc1
86 ####################
87
88 Please refer to the CVS log for the SAMBA_3_0 branch for complete 
89 details:
90
91 1)  Add levels 261 and 262 to search. Found using Samba4 tester.
92 2)  Correct bad error return code in session setup reply
93 3)  Fix bug where smbd returned DOS error codes from SMBsearch
94     even when NT1 protocol was negotiated.
95 4)  Implement SMBexit properly.
96 5)  Return group lists from a Samba PDC to a Windows 9x/ME box
97     in implementing user level access control (bug 314).
98 6)  Prevent SWAT from crashing when adding shares (bug 254)
99 7)  Fix various documentation issues (bugs 304 & 214)
100 8)  Fix wins server listing in SWAT (bug 197)
101 9)  Fix problem in rpcclient that caused enumerating printer 
102     drivers to report failure (bug 294).
103 10) Use kerberos 5 authentication in our client code whenever possible
104 11) Fix schannel bug that caused Active Directory DC's to downgrade our
105     machine account to an NT member.
106 12) Implement missing SAMR_REMOVE_USER_FOREIGN_DOMAIN call (bug 252).
107 13) Implement automatic generation of include/version.h
108 14) Include initial version of smbldap-tool scripts for the Samba 
109     3.0 schema.
110 15) Implement numerous fixes for multi-byte character strings.
111 16) Enable 'unix extensions' parameter by default.
112 17) Make sure we set the SID type when falling back to the rid 
113     algorithm (bug 245).
114 18) Correct linking problems with pam_smbpass (bug 327).
115 19) Add SYSV defines for Irix and Solaris to ensure the 'printing'
116     parameter default to the correct value (bug 230)
117 20) Fix recursion bug in alloc_string_sub() (bug 289, et. al.)
118 21) Ensure that 'make install' includes the static and shared 
119     versions of the libsmbclient libraries.
120 22) Add CP850 and CP437 internal character set support (bug 150).
121 23) Add support to examples/LDAP/convertSambaAccount for generating
122     LDIF modify files instead of just add (303).
123 24) Fix support for -W option in smbclient (bug 39)
124 25) Remove 'ldap trust ids' parameter since it could not be supported
125     by the current architecture.
126 26) Don't crash when no argument is given to -T in smbclient (bug 345).
127 27) Ensure smbadduser contains the same paths for the smbpasswd file 
128     as the other Samba tools (bug 290).
129 28) Port of 'available = no' fix for [homes] from SAMBA_2_2 cvs tree.
130 29) Add sanity checks to DeletePrinterData[Ex]() and ensure that the
131     modified printer is written to disk.
132 30) Force winbindd to periodically update the trusted domain cache.
133 31) Remove outdated import/export script to convert an smbpasswd file
134     to and from and LDAP directory.  Use the pdbedit tool instead.
135 32) Ensure that %U substitution is restored on next valid packet
136     if a logon fails.
137
138
139
140
141 Changes since 3.0beta3
142 ######################
143
144 1)  Various memory leak fixes.
145 2)  Provide full support for SMB signing (server and client)
146 3)  Check for broken getgrouplist() in glibc.
147 4)  Don't get stuck in an infinite loop listing directories 
148     recursively if the server returns an empty directory name
149     (bug 222).
150 5)  Idle LDAP connections after 150 seconds.
151 6)  Patched make uninstallmodules (bug 236).
152 7)  Fix bug that caused smbd to return incomplete directory listings
153     when UNIX files contained MS wildcard characters.
154 8)  Quiet default debug messages in command line tools.
155 9)  Fixes to avoid panics on invalid multi-byte strings.
156 10) Fix error messages when creating a new smbpasswd file (bug 198).
157 11) Implemented better detection routines in autoconf scripts for 
158     locating ads support on the host OS.
159 12) Fix bug that caused libraries in /usr/local/lib to be ignored 
160     (bug 174).
161 13) Ensure winbindd_ads uses the correct realm or domain name when 
162     connecting to trusted DC.
163 14) Ensure a correct prototype is created for snprintf() (bug 187)
164 15) Stop files being created on read-only shares in some circumstances.
165 16) Fix wbinfo -p (bug 251)
166 17) Support schannel on any tcp/ip connection if necessary
167 18) Correct bug in user_in_list() so that it works with winbind groups 
168     again.
169 19) Ensure the schannel bind credentials default to the domain 
170     of the destination host.
171 20) Default password expiration time in account_pol.tdb to never 
172     expire.  Remove any existing account_pol.tdb file to reset
173     the new default policy (bug 184). 
174 21) Add buttons to SWAT to change the view of smb.conf (bug 212)
175 22) Fix incorrect checks that determine whether or not the 'add user 
176     script' has been set.
177 23) More cleanup for internal character set conversions.
178 24) Fixes for multi-byte strings in stat cache code.
179 25) Ensure that the net command honors the 'workgroup' parameter 
180     in smb.conf when not overridden from the command line.
181 26) Add gss-spnego support to the ntlm_auth tool.
182 27) Add vfs_default_quota VFS module.
183 28) Added server support for NT quota interfaces.
184 29) Prevent Krb5 replay attacks by adding a replay_cache.
185 30) Fix problems with winbindd and transitive trusts in AD domains.
186 31) Added -S to client tools for setting SMB signing options on the 
187     command line.
188 32) Fix bug causing the 'passwd change program' to be called as the 
189     connected user and not root.
190 33) Fixed data corruption bug in byte-range locking (e.g. affected MS Excel).
191 34) Support winbindd on FreeBSD is possible.
192 35) Look at only the first OID in the security blob sent in the session 
193     setup request to determine the token type.
194 36) Only push locks onto a blocking lock queue if the posix lock failed with 
195     EACCES or EAGAIN (this means another lock conflicts). Else return an 
196     error and don't queue the request.
197 37) Fix command line argument processing for smbtar.
198 38) Correct issue that caused smbd to return generic unix_user.<uid> 
199     for lookupsid().
200 39) Default to algorithmic mapping when generating a rid for a group
201     mapping.
202 40) Expand %g and %G in logon script, profile path, etc... during
203     a domain logon (bug 208).
204 41) Make sure smbclient obeys '-s <config>'
205 42) Added win2k3 shadow copy operations to VFS interface.
206 43) Allow connections to samba domain member as SERVER\user (don't
207     always default to DOMAIN\user).
208 44) Remove checks in winbindd that caused it to attempt to use 
209     non-transitive trust relationships.
210 45) Remove delays in winbindd caused by invalid DNS lookups.
211 46) Fix supplementary group memberships on systems with slightly 
212     broken NSS implementations (bug 267).
213 47) Correct issue that prevented smbclient from viewing shares on 
214     a win2k server when using a non-anonymous connection (bug 284).
215 48) Add --domain=DOMAIN_NAME to wbinfo for limiting operations like 
216     'wbinfo -u' to a single domain.  The '.' character represents 
217     our domain.
218 49) Fix group enumeration bug when using an LDAP directory for 
219     storing group mappings.
220 50) Default to use NTLMv2 if available.  Fallback to not use LM/NTLM
221     when the extended security capability bit is not set.
222 51) Fix crash in 'wbinfo -a' when using extended characters in the 
223     username (bug 269).
224 52) Fix multi-byte strupper() panics (bug 205).
225 53) Add vfs_readonly VFS module.
226 54) Make sure to initialize the sambaNextUserRid and sambaNextGroupRid
227     attributes when using 'idmap backend = ldap' (bug 280).
228 55) Make sure that users shared between a Samba PDC and member 
229     samba server are seen as domain users and not local users on the 
230     domain member.
231 56) Fix Query FS Info level 2.
232 57) Allow enumeration of users and groups by win9x "file server" (bug 
233     286).
234 58) Create symlinks during install for modules that support mutliple
235     functions (bug 91).
236 59) More iconv detection fixes.
237 60) Fix path length error in vfs_recycle module (bug 291).
238 61) Added server support for the LSA_DS UUID on the \lsarpc pipe.
239     (server DsRoleGetPrimaryDomainInfo() is currently disabled).
240 62) Fix SMBseek and get/set position calls.
241 62) Fix SetFileInfo level 1.
242 63) Added tool to convert smbd log file to a pcap file (log2pcaphex).
243
244
245
246 Changes since 3.0beta2
247 ######################
248
249 1)  Added fix for Japanese case names in statcache code; 
250     these can change size on upper casing.
251 2)  Correct issues with iconv detection in configure script
252     (support needed to find iconv libraries on FreeBSD).
253 3)  Fix bug that caused a WINS server to be marked as dead
254     incorrectly (bug #190).
255 4)  Removing additional deadlocks conditions that prevented 
256     winbindd from running on a Samba PDC (used for trust 
257     relationships).
258 5)  Add support for searching for Active Directory for 
259     published printers (net ads printer search).
260 6)  Separate UNIX username from DOMAIN\username in pipe 
261     credentials.
262 7)  Auth modules now support returning NT_STATUS_NOT_IMPLEMENTED
263     for cases that they cannot handle.
264 8)  Flush winbindd connection cache when the machine trust account
265     password is changed while a connection is open (bug #200).
266 9)  Add support for 'OSVersion' server printer data string
267     (corrects problem with uploading printer drivers from 
268     WinXP clients).
269 10) Numerous memory leak fixes.
270 11) LDAP fixes ("passdb backend = ldapsam" & "idmap backend = ldap"):
271     - Store domain SID in LDAP directory.
272     - store idmap information in existing entries (use sambaSID=... 
273       if adding a new entry).
274 12) Fix incorrect usage of primary group SID when looking up user 
275     groups (bug #109).
276 13) Remove idmap_XX_to_XX calls from smbd.  Move back to the the
277     winbind_XXX and local_XXX calls used in 2.2.
278 14) All uid/gid allocation must involve winbindd now (we do not 
279     attempt to map unknown SIDs to a UNIX identify).
280 15) Add 'winbind trusted domains only' parameter to force a domain
281     member.  The server to use matching users names from /etc/passwd 
282     for its domain   (needed for domain member of a Samba domain).
283 16) Rename 'idmap only' to 'enable rid algorithm' for better clarity 
284     (defaults to "yes").
285 17) Add support for multi-byte statcache code (bug #185)
286 18) Fix open mode race condition.
287 19) Implement winbindd local account management functions.  Refer to
288     the "Winbind Changes" section for details.
289 20) Move RID allocation functions into idmap backend.
290 21) Fix parsing error that prevented publishing printers from a 
291     Samba server in an AD domain.
292 22) Revive NTLMSSP support for named pipes.
293 23) More SCHANNEL fixes.
294 24) Correct SMB signing with NTLMSSP.
295 25) Fix coherency bug in print handle/printer object caching code
296     that could cause XP clients to infinitely loop while updating 
297     their local printer cache.
298 26) Make winbindd use its dual-daemon mode by default (use -Y to 
299     start as a single process).
300 27) Add support to nmbd and winbindd for 'smbcontrol <pid> 
301     reload-config'.
302 28) Correct problem with smbtar when dealing with files > 8Gb 
303     (bug #102).
304
305
306
307 Changes since 3.0beta1
308 ######################
309
310 1)  Rework our smb signing code again, this factors out some of 
311     the common MAC calculation code, and now supports multiple 
312     outstanding packets (bug #40).
313 2)  Enforce 'client plaintext auth', 'client lanman auth' and 'client
314     ntlmv2 auth'.
315 3)  Correct timestamp problem on 64-bit machines (bug #140).
316 4)  Add extra debugging statements to winbindd for tracking down
317     failures.
318 5)  Fix bug when aliased 'winbind uid/gid' parameters are used.
319     ('winbind uid/gid' are now replaced with 'idmap uid/gid').
320 6)  Added an auth flag that indicates if we should be allowed 
321     to fall back to NTLMSSP for SASL if krb5 fails.
322 7)  Fixed the bug that forced us not to use the winbindd cache when 
323     we have a primary ADS domain and a secondary (trusted) NT4 
324     domain. 
325 8)  Use lp_realm() to find the default realm for 'net ads password'.
326 9)  Removed editreg from standard build until it is portable..
327 10) Fix domain membership for servers not running winbindd.
328 11) Correct race condition in determining the high water mark
329     in the idmap backend (bug #181).
330 12) Set the user's primary unix group from usrmgr.exe (partial 
331     fix for bug #45).
332 13) Show comments when doing 'net group -l' (bug #3).
333 14) Add trivial extension to 'net' to dump current local idmap
334     and restore mappings as well.
335 15) Modify 'net rpc vampire' to add new and existing users to
336     both the idmap and the SAM.  This code needs further testing.
337 16) Fix crash bug in ADS searches.
338 17) Build libnss_wins.so as part of nsswitch target (bug #160).
339 18) Make net rpc vampire return an error if the sam sync RPC 
340     returns an error.
341 19) Fail to join an NT 4 domain as a BDC if a workstation account
342     using our name exists.
343 20) Fix various memory leaks in server and client code
344 21) Remove the short option to --set-auth-user for wbinfo (-A) to 
345     prevent confusion with the -a option (bug #158).
346 22) Added new 'map acl inherit' parameter.
347 23) Removed unused 'privileges' code from group mapping database.
348 24) Don't segfault on empty passdb backend list (bug #136).
349 25) Fixed acl sorting algorithm for Windows 2000 clients.
350 26) Replace universal group cache with netsamlogon_cache 
351     from APPLIANCE_HEAD branch.
352 27) Fix autoconf detection issues surrounding --with-ads=yes
353     but no Krb5 header files installed (bug #152).
354 28) Add LDAP lookup for domain sequence number in case we are 
355     joined using NT4 protocols to a native mode AD domain.
356 29) Fix backend method selection for trusted NT 4 (or 2k 
357     mixed mode) domains. 
358 30) Fixed bug that caused us to enumerate domain local groups
359     from native mode AD domains other than our own.
360 31) Correct group enumeration for viewing in the Windows 
361     security tab (bug #110).
362 32) Consolidate the DC location code.
363 33) Moved 'ads server' functionality into 'password server' for
364     backwards compatibility.
365 34) Fix winbindd_idmap tdb upgrades from a 2.2 installation.
366     ( if you installed beta1, be sure to 
367       'mv idmap.tdb winbindd_idmap.tdb' ).
368 35) Fix pdb_ldap segfaults, and wrong default values for 
369     ldapsam_compat.
370 36) Enable negative connection cache for winbindd's ADS backend 
371     functions.
372 37) Enable address caching for active directory DC's so we don't 
373     have to hit DNS so much.
374 38) Fix bug in idmap code that caused mapping to randomly be 
375     redefined.
376 39) Add tdb locking code to prevent race condition when adding a 
377     new mapping to idmap.
378 40) Fix 'map to guest = bad user' when acting as a PDC supporting 
379     trust relationships.
380 41) Prevent deadlock issues when running winbindd on a Samba PDC 
381     to handle allocating uids & gids for trusted users and groups
382 42) added LOCALE patch from Steve Langasek (bug #122).
383 43) Add the 'guest' passdb backend automatically to the end of 
384     the 'passdb backend' list if 'guest account' has a valid 
385     username.
386 44) Remove samstrict_dc auth method.  Rework 'samstrict' to only 
387     handle our local names (or domain name if we are a PDC).  
388     Move existing permissive 'sam' method to 'sam_ignoredomain' 
389     and make 'samstrict' the new default 'sam' auth method.
390 45) Match Windows NT4/2k behavior when authenticating a user with
391     and unknown domain (default to our domain if we are a DC or 
392     domain member; default to our local name if we are a 
393     standalone server).
394 46) Fix Get_Pwnam() to always fall back to lookup 'user' if the 
395     'DOMAIN\user' lookup fails.  This matches 2.2. behavior.
396 47) Fix the trustdom_cache code to update the list of trusted 
397     domains when operating as a domain member and not using 
398     winbindd.
399 48) Remove 'nisplussam' passdb backend since it has suffered for 
400     too long without a maintainer.
401     
402
403
404
405 ######################################################################
406 Upgrading from a previous Samba 3.0 beta
407 ########################################
408
409 Beginning with Samba 3.0.0beta3, the RID allocation functions
410 have been moved into winbindd.  Previously these were handled
411 by each passdb backend.  This means that winbindd must be running
412 to automatically allocate RIDs for users and/or groups.  Otherwise,
413 smbd will use the 2.2 algorithm for generating new RIDs.
414
415 If you are using 'passdb backend = tdbsam' with a previous Samba 
416 3.0 beta release (or possibly alpha), it may be necessary to 
417 move the RID_COUNTER entry from /usr/local/samba/private/passdb.tdb
418 to winbindd_idmap.tdb.  To do this:
419
420 1)  Ensure that winbindd_idmap.tdb exists (launch winbindd at least 
421     once)
422 2)  build tdbtool by executing 'make tdbtool' in the source/tdb/ 
423     directory
424 3)  run: (note that 'tdb>' is the tool's prompt for input)
425
426        root# ./tdbtool /usr/local/samba/private/passdb.tdb
427        tdb> show RID_COUNTER
428        key 12 bytes
429        RID_COUNTER
430        data 4 bytes
431        [000] 0A 52 00 00                                       .R.
432
433        tdb> move RID_COUNTER /usr/local/samba/var/locks/winbindd_idmap.tdb
434        ....
435        record moved
436
437 If you are using 'passdb backend = ldapsam', it will be necessary to 
438 store idmap entries in the LDAP directory as well (i.e. idmap backend 
439 = ldap).  Refer to the 'net idmap' command for more information on 
440 migrating SID<->UNIX id mappings from one backend to another.
441
442 If the RID_COUNTER record does not exist, then these instructions are
443 unneccessary and the new RID_COUNTER record will be correctly generated
444 if needed.  
445
446
447
448 ########################
449 Upgrading from Samba 2.2
450 ########################
451
452 This section is provided to help administrators understand the details
453 involved with upgrading a Samba 2.2 server to Samba 3.0.
454
455
456 Building
457 --------
458
459 Many of the options to the GNU autoconf script have been modified 
460 in the 3.0 release.  The most noticeable are:
461
462   * removal of --with-tdbsam (is now included by default; see section
463     on passdb backends and authentication for more details)
464     
465   * --with-ldapsam is now on used to provided backward compatible
466     parameters for LDAP enabled Samba 2.2 servers.  Refer to the passdb 
467     backend and authentication section for more details
468   
469   * inclusion of non-standard passdb modules may be enabled using
470     --with-expsam.  This includes an XML backend and a mysql backend.
471       
472   * removal of --with-msdfs (is now enabled by default)
473   
474   * removal of --with-ssl (no longer supported)
475   
476   * --with-utmp now defaults to 'yes' on supported systems
477   
478   * --with-sendfile-support is now enabled by default on supported 
479     systems
480   
481     
482 Parameters
483 ----------
484
485 This section contains a brief listing of changes to smb.conf options
486 in the 3.0.0 release.  Please refer to the smb.conf(5) man page for
487 complete descriptions of new or modified parameters.
488
489 Removed Parameters (order alphabetically):
490
491   * admin log
492   * alternate permissions
493   * character set
494   * client codepage
495   * code page directory
496   * coding system
497   * domain admin group
498   * domain guest group
499   * force unknown acl user
500   * nt smb support
501   * post script
502   * printer driver
503   * printer driver file
504   * printer driver location
505   * status
506   * total print jobs
507   * use rhosts
508   * valid chars
509   * vfs options
510
511 New Parameters (new parameters have been grouped by function):
512
513   Remote management
514   -----------------
515   * abort shutdown script
516   * shutdown script
517
518   User and Group Account Management
519   ---------------------------------
520   * add group script
521   * add machine script
522   * add user to group script
523   * algorithmic rid base
524   * delete group script
525   * delete user from group script
526   * passdb backend
527   * set primary group script
528
529   Authentication
530   --------------
531   * auth methods
532   * realm
533
534   Protocol Options
535   ----------------
536   * client lanman auth
537   * client NTLMv2 auth
538   * client schannel
539   * client signing
540   * client use spnego
541   * disable netbios
542   * ntlm auth
543   * paranoid server security
544   * server schannel
545   * server signing
546   * smb ports
547   * use spnego
548
549   File Service
550   ------------
551   * get quota command
552   * hide special files
553   * hide unwriteable files
554   * hostname lookups
555   * kernel change notify
556   * mangle prefix
557   * map acl inherit
558   * msdfs proxy
559   * set quota command
560   * use sendfile
561   * vfs objects
562   
563   Printing
564   --------
565   * max reported print jobs
566
567   UNICODE and Character Sets
568   --------------------------
569   * display charset
570   * dos charset
571   * unicode
572   * unix charset
573   
574   SID to uid/gid Mappings
575   -----------------------
576   * idmap backend
577   * idmap gid
578   * idmap uid
579   * winbind enable local accounts
580   * winbind trusted domains only
581   * template primary group
582   * enable rid algorithm
583
584   LDAP
585   ----
586   * ldap delete dn
587   * ldap group suffix
588   * ldap idmap suffix
589   * ldap machine suffix
590   * ldap passwd sync
591   * ldap user suffix
592   
593   General Configuration
594   ---------------------
595   * preload modules
596   * privatedir
597
598 Modified Parameters (changes in behavior):
599
600   * encrypt passwords (enabled by default)
601   * mangling method (set to 'hash2' by default)
602   * passwd chat
603   * passwd program
604   * restrict anonymous (integer value)
605   * security (new 'ads' value)
606   * strict locking (enabled by default)
607   * unix extensions (enabled by default)
608   * winbind cache time (increased to 5 minutes)
609   * winbind uid (deprecated in favor of 'idmap uid')
610   * winbind gid (deprecated in favor of 'idmap gid')
611
612
613 Databases
614 ---------
615
616 This section contains brief descriptions of any new databases 
617 introduced in Samba 3.0.  Please remember to backup your existing 
618 ${lock directory}/*tdb before upgrading to Samba 3.0.  Samba will 
619 upgrade databases as they are opened (if necessary), but downgrading 
620 from 3.0 to 2.2 is an unsupported path.
621
622 Name                    Description                             Backup?
623 ----                    -----------                             -------
624 account_policy          User policy settings                    yes
625 gencache                Generic caching db                      no
626 group_mapping           Mapping table from Windows              yes
627                         groups/SID to unix groups       
628 winbindd_idmap          ID map table from SIDS to UNIX          yes
629                         uids/gids.
630 namecache               Name resolution cache entries           no
631 netsamlogon_cache       Cache of NET_USER_INFO_3 structure      no
632                         returned as part of a successful
633                         net_sam_logon request 
634 printing/*.tdb          Cached output from 'lpq                 no
635                         command' created on a per print 
636                         service basis
637 registry                Read-only samba registry skeleton       no
638                         that provides support for exporting
639                         various db tables via the winreg RPCs
640
641
642 Changes in Behavior
643 -------------------
644
645 The following issues are known changes in behavior between Samba 2.2 and 
646 Samba 3.0 that may affect certain installations of Samba.
647
648   1)  When operating as a member of a Windows domain, Samba 2.2 would 
649       map any users authenticated by the remote DC to the 'guest account'
650       if a uid could not be obtained via the getpwnam() call.  Samba 3.0
651       rejects the connection as NT_STATUS_LOGON_FAILURE.  There is no 
652       current work around to re-establish the 2.2 behavior.
653       
654   2)  When adding machines to a Samba 2.2 controlled domain, the 
655       'add user script' was used to create the UNIX identity of the 
656       machine trust account.  Samba 3.0 introduces a new 'add machine 
657       script' that must be specified for this purpose.  Samba 3.0 will
658       not fall back to using the 'add user script' in the absence of 
659       an 'add machine script'
660   
661
662 ######################################################################
663 Passdb Backends and Authentication
664 ##################################
665
666 There have been a few new changes that Samba administrators should be
667 aware of when moving to Samba 3.0.
668
669   1) encrypted passwords have been enabled by default in order to 
670      inter-operate better with out-of-the-box Windows client 
671      installations.  This does mean that either (a) a samba account
672      must be created for each user, or (b) 'encrypt passwords = no'
673      must be explicitly defined in smb.conf.
674     
675   2) Inclusion of new 'security = ads' option for integration 
676      with an Active Directory domain using the native Windows
677      Kerberos 5 and LDAP protocols.
678
679      MIT kerberos 1.3.1 supports the ARCFOUR-HMAC-MD5 encryption 
680      type which is neccessary for servers on which the 
681      administrator password has not been changed, or kerberos-enabled 
682      SMB connections to servers that require Kerberos SMB signing.
683      Besides this one difference, either MIT or Heimdal Kerberos
684      distributions are usable by Samba 3.0.
685      
686
687 Samba 3.0 also includes the possibility of setting up chains
688 of authentication methods (auth methods) and account storage 
689 backends (passdb backend).  Please refer to the smb.conf(5) 
690 man page for details.  While both parameters assume sane default 
691 values, it is likely that you will need to understand what the 
692 values actually mean in order to ensure Samba operates correctly.
693
694 The recommended passdb backends at this time are
695
696   * smbpasswd - 2.2 compatible flat file format
697   * tdbsam - attribute rich database intended as an smbpasswd
698     replacement for stand alone servers
699   * ldapsam - attribute rich account storage and retrieval 
700     backend utilizing an LDAP directory.  
701   * ldapsam_compat - a 2.2 backward compatible LDAP account 
702     backend
703     
704 Certain functions of the smbpasswd(8) tool have been split between the 
705 new smbpasswd(8) utility, the net(8) tool, and the new pdbedit(8) 
706 utility.  See the respective man pages for details.
707     
708      
709 ######################################################################
710 LDAP
711 ####
712
713 This section outlines the new features affecting Samba / LDAP 
714 integration.
715
716 New Schema
717 ----------
718   
719 A new object class (sambaSamAccount) has been introduced to replace 
720 the old sambaAccount.  This change aids us in the renaming of attributes 
721 to prevent clashes with attributes from other vendors.  There is a 
722 conversion script (examples/LDAP/convertSambaAccount) to modify and LDIF 
723 file to the new schema.
724   
725 Example:
726   
727         $ ldapsearch .... -b "ou=people,dc=..." > old.ldif
728         $ convertSambaAccount <DOM SID> old.ldif new.ldif
729         
730 The <DOM SID> can be obtained by running 'net getlocalsid <DOMAINNAME>' 
731 on the Samba PDC as root.
732     
733 The old sambaAccount schema may still be used by specifying the 
734 "ldapsam_compat" passdb backend.  However, the sambaAccount and
735 associated attributes have been moved to the historical section of
736 the schema file and must be uncommented before use if needed.
737 The 2.2 object class declaration for a sambaAccount has not changed
738 in the 3.0 samba.schema file. 
739   
740 Other new object classes and their uses include:
741   
742   * sambaDomain - domain information used to allocate rids 
743     for users and groups as necessary.  The attributes are added
744     in 'ldap suffix' directory entry automatically if 
745     an idmap uid/gid range has been set and the 'ldapsam'
746     passdb backend has been selected.
747       
748   * sambaGroupMapping - an object representing the 
749     relationship between a posixGroup and a Windows
750     group/SID.  These entries are stored in the 'ldap 
751     group suffix' and managed by the 'net groupmap' command.
752     
753   * sambaUnixIdPool - created in the 'ldap idmap suffix' entry 
754     automatically and contains the next available 'idmap uid' and 
755     'idmap gid'
756     
757   * sambaIdmapEntry - object storing a mapping between a 
758     SID and a UNIX uid/gid.  These objects are created by the 
759     idmap_ldap module as needed.
760
761   * sambaSidEntry - object representing a SID alone, as a Structural
762     class on which to build the sambaIdmapEntry.
763
764     
765 New Suffix for Searching
766 ------------------------
767   
768 The following new smb.conf parameters have been added to aid in directing
769 certain LDAP queries when 'passdb backend = ldapsam://...' has been
770 specified.
771
772   * ldap suffix         - used to search for user and computer accounts
773   * ldap user suffix    - used to store user accounts
774   * ldap machine suffix - used to store machine trust accounts
775   * ldap group suffix   - location of posixGroup/sambaGroupMapping entries
776   * ldap idmap suffix   - location of sambaIdmapEntry objects
777
778 If an 'ldap suffix' is defined, it will be appended to all of the 
779 remaining sub-suffix parameters.  In this case, the order of the suffix
780 listings in smb.conf is important.  Always place the 'ldap suffix' first
781 in the list.  
782
783 Due to a limitation in Samba's smb.conf parsing, you should not surround 
784 the DN's with quotation marks.
785
786
787 IdMap LDAP support
788 ------------------
789
790 Samba 3.0 supports an ldap backend for the idmap subsystem.  The 
791 following options would inform Samba that the idmap table should be
792 stored on the directory server onterose in the "ou=idmap,dc=plainjoe,
793 dc=org" partition.
794
795  [global]
796     ...
797     idmap backend     = ldap:ldap://onterose/
798     ldap idmap suffix = ou=idmap,dc=plainjoe,dc=org
799     idmap uid         = 40000-50000
800     idmap gid         = 40000-50000
801
802 This configuration allows winbind installations on multiple servers to
803 share a uid/gid number space, thus avoiding the interoperability problems
804 with NFS that were present in Samba 2.2.
805     
806
807
808 ######################################################################
809 Trust Relationships and a Samba Domain
810 ######################################
811
812 Samba 3.0.0beta2 is able to utilize winbindd as the means of 
813 allocating uids and gids to trusted users and groups.  More
814 information regarding Samba's support for establishing trust 
815 relationships can be found in the Samba-HOWTO-Collection included
816 in the docs/ directory of this release.
817
818 First create your Samba PDC and ensure that everything is 
819 working correctly before moving on the trusts.
820
821 To establish Samba as the trusting domain (named SAMBA) from a Windows NT
822 4.0 domain named WINDOWS:
823
824   1) create the trust account for SAMBA in "User Manager for Domains"
825   2) connect the trust from the Samba domain using
826      'net rpc trustdom establish GLASS'
827
828 To create a trustlationship with SAMBA as the trusted domain:
829
830   1) create the initial trust account for GLASS using
831      'smbpasswd -a -i GLASS'.  You may need to create a UNIX
832      account for GLASS$ prior to this step (depending on your
833      local configuration).
834   2) connect the trust from a WINDOWS DC using "User Manager
835      for Domains"
836
837 Now join winbindd on the Samba PDC to the SAMBA domain using
838 the normal steps for adding a Samba server to an NT4 domain:
839 (note that smbd & nmbd must be running at this point)
840
841    root# net rpc join -U root
842    Password: <enter root password from smbpasswd file here>
843
844 Start winbindd and test the join with 'wbinfo -t'.
845
846 Now test the trust relationship by connecting to the SAMBA DC
847 (e.g. POGO) as a user from the WINDOWS domain:
848
849    $ smbclient //pogo/netlogon -U Administrator -W WINDOWS
850    Password:
851
852 Now connect to the WINDOWS DC (e.g. CRYSTAL) as a Samba user:
853
854    $ smbclient //crystal/netlogon -U root -W WINDOWS
855    Password:
856
857 ######################################################################
858 Changes in Winbind
859 ##################
860
861 Beginning with Samba3.0.0beta3, winbindd has been given new account
862 manage functionality equivalent to the 'add user script' family of
863 smb.conf parameters.  The idmap design has also been changed to 
864 centralize control of foreign SID lookups and matching to UNIX 
865 uids and gids.
866
867
868 Brief Description of Changes
869 ----------------------------
870
871 1) The sid_to_uid() family of functions (smbd/uid.c) have been 
872    reverted to the 2.2.x design.  This means that when resolving a 
873    SID to a UID or similar mapping:
874
875         a) First consult winbindd
876         b) perform a local lookup only if winbindd fails to
877            return a successful answer
878
879    There are some variations to this, but these two rules generally
880    apply.
881
882 2) All idmap lookups have been moved into winbindd.  This means that
883    a server must run winbindd (and support NSS) in order to achieve
884    any mappings of SID to dynamically allocated UNIX ids.  This was
885    a conscious design choice.
886
887 3) New functions have been added to winbindd to emulate the 'add user 
888    script' family of smbd functions without requiring that external
889    scripts be defined.  This functionality is controlled by the 'winbind 
890    enable local accounts' smb.conf parameter (enabled by default).
891
892    However, this account management functionality is only supported 
893    in a local tdb (winbindd_idmap.tdb).  If these new UNIX accounts 
894    must be shared among multiple Samba servers (such as a PDC and BDCs), 
895    it will be necessary to define your own 'add user script', et. al.
896    programs that place the accounts/groups in some form of directory
897    such as NIS or LDAP.  This requirement was deemed beyond the scope
898    of winbind's account management functions.  Solutions for 
899    distributing UNIX system information have been deployed and tested 
900    for many years.  We saw no need to reinvent the wheel.
901
902 4) A member of a Samba controlled domain running winbindd is now able 
903    to map domain users directly onto existing UNIX accounts while still
904    automatically creating accounts for trusted users and groups.  This
905    behavior is controlled by the 'winbind trusted domains only' smb.conf
906    parameter (disabled by default to provide 2.2.x winbind behavior).
907
908 5) Group mapping support is wrapped in the local_XX_to_XX() functions
909    in smbd/uid.c.  The reason that group mappings are not included
910    in winbindd is because the purpose of Samba's group map is to
911    match any Windows SID with an existing UNIX group.  These UNIX
912    groups can be created by winbindd (see next section), but the
913    SID<->gid mapping is retreived by smbd, not winbindd.
914
915
916 Examples
917 --------
918
919 * security = server running winbindd to allocate accounts on demand
920
921 * Samba PDC running winbindd to handle the automatic creation of UNIX
922   identities for machine trust accounts
923
924 * Automtically creating UNIX user and groups when migrating a Windows NT
925   4.0 PDC to a Samba PDC.  Winbindd must be running when executing
926   'net rpc vampire' for this to work.
927
928    
929 ######################################################################
930 Known Issues
931 ############
932
933 * The smbldap perl scripts for managing user entries in an LDAP
934   directory have not be updated to function with the Samba 3.0
935   schema changes.  This (or an equivalent solution) work is planned
936   to be completed prior to the stable 3.0.0 release.
937
938 Please refer to https://bugzilla.samba.org/ for a current list of bugs 
939 filed against the Samba 3.0 codebase.
940
941
942 ######################################################################
943 Reporting bugs & Development Discussion
944 #######################################
945
946 Please discuss this release on the samba-technical mailing list or by
947 joining the #samba-technical IRC channel on irc.freenode.net.
948
949 If you do report problems then please try to send high quality
950 feedback. If you don't provide vital information to help us track down
951 the problem then you will probably be ignored.  
952
953 A new bugzilla installation has been established to help support the 
954 Samba 3.0 community of users.  This server, located at 
955 https://bugzilla.samba.org/, will replace the existing jitterbug server 
956 and the old http://bugs.samba.org now points to the new bugzilla server.
957