should be the final version; Jeremy, please check for typos; already been reviewed...
[Samba.git] / WHATSNEW.txt
blobf546405ca3174ecf48715dd45f5ca3aa1d6673db
1               WHAT'S NEW IN Samba 2.2.5  - 18th June 2002
2               ===========================================
4 This is the latest stable release of Samba. This is the version that all
5 production Samba servers should be running for all current bug-fixes.
7 There have been several fixes and internal enhancements which include:
9 * Several compile fixes for Solaris and HP-UX
10 * More printing fixes for Windows NT/2k/XP clients
11 * New options for the VFS recycle bin library
12 * New internal signal handling semantics relating to directory change
13   notification and oplocks
15 New/Changed parameters in 2.2.5
16 --------------------------------
18 For more information on these parameters, see the man pages for
19 smb.conf(5).
21 Added/changed parameters
22 ------------------------
24 * block size = <INTEGER>
25 * force unknown acl user = <boolean>
26 * mangling method = [hash|hash2]
29 Deprecated Parameters
30 ---------------------
32 The following parameters have been marked as deprecated and will be removed
33 in Samba 3.0
35 * strip dot
36 * status
39 Removed Parameters
40 ------------------
42   none
45 Changes in 2.2.5
46 ----------------
48 See the cvs log for SAMBA_2_2 for more details
50 1)  Removal of several compiler warnings, incorrect Makefile dependencies,
51     and wrong autoconf tests on various platforms--Solaris & HP-UX 10.20
52     being the predominantly reported platforms
53 2)  Fixed winbindd crash bug on the IBM s390 running Linux
54 3)  Inclusion of enhanced Linux quota support
55 4)  Correctly link against Sun LDAP libraries on Solaris 8 (even through
56     there is no apparent SSL support there)
57 5)  POSIX conformance patches
58 6)  Include new configure --enable-cups option (can also be disabled even
59     if CUPS libraries are installed on the system)
60 7)  Set reasonable default for the "passwd program" parameter using an
61     autoconf test
62 8)  Added --with-winbind-auth for enabling winbindd_pam_auth_crap() code
63 9)  fixed bug to prevent root account from being deleted by the
64     "delete user script"
65 10) Inclusion of autoconf script for building VFS modules
66 11) Add new run time options to the VFS recycle bin library (see
67     examples/VFS/recycle/README for details)
68 12) Include findsmb perl script as part of the "make install" process
69 13) Return correct error code for EnumPrinters(PRINTER_ENUM_REMOTE, InfoLevel1)
70     to fix a bug where printers appear at the workgroup level in the Windows
71     NT/2k APW browse list
72 14) Added support to nmblookup to return NMB flags (See nmblookup(8) for
73     details)
74 15) Fix length bug that caused password changes from Windows NT/2k clients to
75     occasionally fail
76 16) Correct false password expiration when using --with-ldapsam caused by
77     missing attributes in the directory
78 17) added -S option to smbpasswd for storing the SID of a domain controller
79     as the local machine SID in secrets.tdb.  See the smbpasswd(8) man page
80     for details.
81 18) Various fixes for UNIX CIFS extensions commands
82 19) Fixed CIDR notation in "hosts allow/deny"
83 20) Change semantics of an idle connection to mean "no open files and no
84     open handles".  We cannot idle a connection if there are open named
85     pipe handles.  This fixes scalability problem on Samba print servers
86     and NT/2k clients introduced in 2.2.4
87 21) Fix germam umlaut problem when returning ACL entries
88 22) Return NT_STATUS_OBJECT_NAME_NOT_FOUND for ENOENT.  This fixes the bug
89     of running the Microsoft Access executable (msaccess.exe) and database
90     files from a Samba share documented in the 2.2.4 release
91 23) Corrected signal handling relating to directory change notification and
92     kernel oplocks
93 24) Fix bug in unix_to_nt_time() that appeared on files dated close to Daylight
94     Savings Time
95 25) Corrected alignment bug in spoolss parsing code which caused Win2k/XP
96     clients not to be able to view printer properties from a Samba host
97 26) Fixed spoolss parsing bug causing printing from ACT! 2000 running on
98     Windows 2k/XP clients to fail
99 27) Fixed incorrect error check in mod_share_entry()
100 28) Allow %S variable in MS-DFS root paths
101 29) Correct a bug regarding the use of 'wbinfo -A'
102 30) Fixed libnss_wins.so to correctly work on RedHat 7.3 systems
103 31) Store the key for a name-to-sid cache entry in upper case rather than
104     whatever case the request was made in.  This gets rid of duplicate
105     cache entries.
106 32) Fix bug causing the pid stored in winbindd's pid file to be the wrong id
107 33) Enhanced error reporting messages of wbinfo
108 34) Parameterize block size on disk size return
109 35) Added new parameter to allow incoming ACLs to have owner and group forced
110     to the currently logged in user. This fixes the XCOPY /O problem
111 36) Fixed bug in local_change_password() caused by reusing a struct
112     passwd* pointer
113 37) Change default value for "ldap port" to 389 if "ldap ssl = no"
114 38) Updated HOWTO's, manpages, and general documentation....
115 39) Allow root as well as domain admins to open an LDAP connection
116 40) Fixed veto files bug with ".*"
117 41) Fixed uninitialized variable bug in smbpasswd that was causing a random
118     IP address to be used in the connection when joining a domain
119 42) Fix for joining a domain with a netbios name of 15 characters and
120     pre-creating the account on the DC
121 43) Added links to new documentation on SWAT welcome page
124               =========================================
126 Older releases notes for 2.2.x distributions follow
128 -----------------------------------------------------------------------------
129 The release notes for 2.2.4 follow :
131 There have been several fixes and internal enhancements which include:
133  * More/better SPOOLSS printing functionality for Windows
134    NT/2k/XP clients.
135  * Several fixes relating to serving PC database files such
136    as (Access and FoxPro) from a Samba file share.
137  * Several improves in Samba's VFS layer which can be seen
138    in the inclusion of a "Recycle Bin" vfs module.  See
139    examples/VFS/README for more details on this.
140  * Addition of a tool (tdbbackup) for backup/restore of Samba's
141    tdb's
142  * Continued improvements to winbind for greater scalability
143    and stability
144  * Several fixes related to Samba's MS-DFS support
145  * Rpcclient's various printer commands now work (again)
148 New/Changed parameters in 2.2.4
149 --------------------------------
151 For more information on these parameters, see the man pages for
152 smb.conf(5).
154 Added/changed parameters
155 ------------------------
157 * csc policy
158 * inherit acls
159 * nt status support
160 * lock spin count
161 * lock spin time
162 * pid directory
163 * winbind use default domain
166 Deprecated parameters
167 ---------------------
169 The following parameters have been marked as deprecated
170 and will be removed in Samba 3.0
172 * postscript
173 * printer driver
174 * printer driver file
175 * printer driver location
178 Removed Parameters
179 ------------------
181   none
184 Changes in 2.2.4
185 ----------------
187 See the cvs log for SAMBA_2_2 for more details
189 1)  added -c option to smbpasswd
190 2)  reworked smbpasswd internal command line option parsing
191 3)  small various bug fixes to experimental pdb_tdb.c
192 4)  Enforce spoolss RPCs based on the access granted at PrinterOpen()
193 5)  Added missing access checks to [add/delete/set]form
194 6)  Compile fixes for pam_smbpass
195 7)  fix smbd crash when netbios session request fails from
196     spoolss_connect_to_client().
197 8)  fixed logic bug that prevent SetPrinter() from storing devmode
198 9)  Removed extra get_printer_snum() calls from set_printer_hnd_name()
199 10) fix joining domain on big endian machine when using -U to smbpasswd
200 11) allow command line arg to override smb.conf log level
201 12) continue to retry to register 1b name with wins server if there is an old IP there
202 13) fix smbclient print crash bug
203 14) 9x pnp fix when the config file and driver file are different
204 15) force testparm to print the correct value for log level
205 16) fix swat to show full log level info
206 17) fix server GetPrinterData() fields to be more sensible
207 18) fix logic error in SetPrinterDataEx()
208 19) Only set smb_read_error if not already set
209 20) Fix string returns that require unicode
210 21) Merge of printing performance fixes from appliance
211 22) lpq parsing fixes
212 23) Back port tridge's xcopy /o fix from HEAD
213 24) Fix the printer change notify code (unfinished)
214 25) Patch for Domain users not showing up
215 26) Fixed SetPrinterData(magic key) to support zero length DEVMODE
216 27) Ensure that all methods of looking up and connecting to DC's work
217     using identical logic.
218 28) Merge in the mutex code to stop multiple domain logon failure
219 29) Ignore 0/0 lock
220 30) Fix winbindd to respect command line debuglevel as nmbd/smbd
221 31) Update with tdbbackup from HEAD
222 32) Fix for typo on solaris nss
223 33) Merge in the locking changes from HEAD
224 34) Added POSIX ACL layer into the vfs
225 35) Fix the returning of domain enum
226 36) Fix the generation of the MACHINE.SID file into the secrets.tdb.
227 37) Enable test for -rdynamic when building binaries
228 38) Remove the "stat open" code - make it inline
229 39) Fix the mp3 rename bug
230 40) Fix for Explorer DFS problems on older Windows 9X machines
231 41) implement OpenPrinter() opnum == 0x01
232 42) Matched W2K *insane* open semantics....
233 43) small fix that will prevent the "failed to marshall
234     R_NET_SAMLOGON" message in the logs
235 42) don't do checking of local passdb in smbpasswd if using -r option
236 43) fix "smbpasswd -j DOMAIN -r * -U Admin%XXXX" so that it doesn't
237     try to connect to a server named '*'
238 44) merge rpcclient code from HEAD
239 45) Ensure MACHINE.SID update done before child spawns
240 46) Fix the bad path errors for mkdir so mkdir \a\b\c\d works
241 47) Removed --with-vfs - always built if available
242 48) Fixed psec for 2.2
243 49) Fixed the handle leak in the connection management code
244 50) fix disable spoolss after the switch to nt status codes
245 51) Added Shirish's client side caching policy change
246 52) Honor the specversion when parsing the the DEVICEMODE
247 53) fix parsing bug when DEVICEMODE's private data does not end
248     on a 4 byte boundary
249 54) do not idle an smbd when there is an open pipe
250 55) when a new driver is added to a Samba server, cycle through
251     all printers and bump the change_id for each one bound to the driver
252 56) allow smbclient to work with a FIFO as well (needed for KDE
253     ioslave)
254 57) various updates to pdb_nisplus.c
255 58) many small documentation updates
256 59) removed many compiler warnings
259 -----------------------------------------------------------------------------
260 The release notes for 2.2.3a follow :
262 This is a minor bugfix release for the 2.2.3 release. The 2.2.3
263 release had a problem that was visible to Windows 2000 Explorer
264 users in that copying files into a share that already existed
265 failed with "Access Denied" rather than asking the user if an
266 overwrite was required. This was due to an incorrect error mapping
267 between the UNIX EXIST error code and the NT status error.
269 As Windows Explorer is a highly visible end user application a quick
270 bugfix release was required, hence 2.2.3a.
272 Compilation on HPUX versions earlier than HPUX 11 has also been
273 corrected.
275 The cvs.log file is no longer included with this release, as it adds
276 13Mb to the size of the release, and is easily available on the Web.
278 -----------------------------------------------------------------------------
279 The release notes for 2.2.3 follow :
281 There are several important scaling bugs that have been fixed in this release
282 for large server systems so an upgrade is recommended.
284 LDAP update
285 -----------
287 Much work has been done on the LDAP backend code. The configure
288 option --with-ldapsam is now considered to be stable. The schema
289 used has changed, see the file examples/LDAP/samba.schema for the
290 new schema.
292 New documentation explaining how to set up a Samba only PDC/BDC
293 setup has been added in the files Samba-LDAP-HOWTO and Samba-BDC-HOWTO
294 in the documentation tree.
296 winbindd daemon extended
297 ------------------------
299 Samba 2.2.2 was the first release to include the winbind daemon.
300 This code allows UNIX systems that implement the name service
301 switch (nss) to be entered into a Windows NT/2000 domain and
302 use the Domain controller for all user and group enumeration.
304 Samba 2.2.3 fixes the known memory leaks in winbindd and has
305 been extended to work with SGI IRIX and HPUX (11.x) in addition
306 to the earlier targets of Linux and Solaris.
308 For more information on using winbind, see the man pages for
309 winbindd and wbinfo.
311 Note that winbindd is not installed by default.
313 New/Changed parameters in 2.2.3
314 --------------------------------
316 For more information on these parameters, see the man pages for
317 smb.conf.
319 Added/changed parameters.
320 -------------------------
322 unix extensions
324 Enables the experimental UNIX CIFS extensions in smbd. See the manpage
325 for more details.
327 default devmode
329 Some printer drivers will crash the Windows NT/2000 spooler service
330 if they are given a default devmode, some require it. This parameter
331 allows the administrator a choice of whether smbd returns such a
332 default devmode for a driver.
334 share modes
336 This parameter has been restored to allow people who wish smbd to ignore
337 client share modes. This is *very dangerous* and should not be set without
338 full knowledge of what this is designed for.
340 Changes in 2.2.3
341 -----------------
343 1). Fixed shared library compile for Solaris with native compiler.
344 2). UNIX CIFS extensions code added (donated by HP).
345 3). Changed to using NT status codes on the wire if the client can support
346 this.
347 4). altname command to show 8.3 name added to smbclient.
348 5). const-safe endian macros now used.
349 6). client code now uses UNICODE on the wire.
350 7). Correctly return fault PDU's on bad handle.
351 8). Improved NT error code mapping table.
352 9). Many new point and print RPC calls added.
353 10). Win9x clients can now see full user list.
354 11). field added to identify simultaneous open files (no longer
355 use dev/inode/time as unique value).
356 12). HPUX ACL code added (donated by HP).
357 13). vfs interfaces updated (again !).
358 14). MSDOS Code Page 866 -> 1251 mapping added.
359 15). winbindd now processes quit/hup signals correctly.
360 16). No tdb traversal done on startup/shutdown - ensures scalability.
361 17). Fix bug with paths for homes share.
362 18). Fixed copyfile for OS/2.
363 19). Fix group membership when groups are on more than one line.
364 20). Fixed core dumps in posix ACL mapping code.
365 21). Tidyup of UNICODE functions (put/get).
366 22). Move rpcclient to the new libsmb code.
367 23). Add missing Windows 2000 passthough trans2 calls.
368 24). Return check all tdb calls.
369 25). Make local name lookup work even if wins server is down.
370 26). pam session code added to winbind.
371 27). Added winbindd cache to all lookups.
372 28). Fix allocate bugs that caused file sizes to be incorrect.
373 29). Fixed write cache code - now safe to use.
374 30). Fixed winbindd memory leaks.
375 31). winbindd will now do name lookups (to allow non Open Source
376 systems to do the nsswitch WINS lookup). Fixed by SGI.
377 32). passdb memory leaks fixed.
378 33). LDAP code updates and now properly maintained.
379 34). Finally figured out how changeid is meant to work.
380 35). Downlevel printing now looks as NT does in print monitor window.
381 36). Many fixups in spoolss printing RPC parsing.
382 37). Speed up password enumeration as a PDC.
383 38). Fix printer changed notify messages (work from HP).
384 39). Fix modify timestamp on close code.
385 40). Fix long standing mangled names bug.
386 41). Fix delete on close semantics.
387 42). Stop opening all files with O_NONBLOCK !
388 43). Use O_NOFOLLOW for systems that have it and don't want symlinks.
389 44). Ensure NT supplementary groups get added to user token.
390 45). Try and mitigate effects of DNS timeout (do less lookups).
391 46). Added current user connection context stack.
392 47). Fixes to utmp code.
393 48). smbw code tidyups.
394 49). Added tdb open log code. Several tdb fixes.
396 -----------------------------------------------------------------------------
397 The release notes for 2.2.2 follow :
399 New daemon included - winbindd
400 ------------------------------
402 Samba 2.2.2 is the first release to include the winbind daemon.
403 This code allows UNIX systems that implement the name service
404 switch (nss) to be entered into a Windows NT/2000 domain and
405 use the Domain controller for all user and group enumeration.
407 This allows a Samba server added to a Windows domain to serve
408 file and print services with *NO* local users needed in /etc/passwd
409 and /etc/group - all users and groups are read directly from the
410 Windows domain controller. In addition with pam_winbind which allows
411 a PAM enabled UNIX system to use a Windows domain for authentication
412 service this allows single sign on and account control across
413 UNIX and Windows systems.
415 The current version of winbindd shipped in 2.2.2 does have some
416 memory leaks, which will be addressed for the next Samba release,
417 so it is advisable to monitor the winbind process. This code is
418 being used in production by several vendors, so the leaks are
419 manageable. In addition, this version of winbind does not work
420 correctly against a Samba PDC, due to some missing calls on the
421 PDC side. These problems are being addressed for the next Samba
422 release, but it was thought better to release the code now rather
423 than delay the main Samba code to match the winbind release schedule.
425 For more information on using winbind, see the man pages for
426 winbindd and wbinfo.
428 Note that winbindd is not installed by default.
430 New/Changed parameters in 2.2.2
431 -------------------------------
433 For more information on these parameters, see the man pages for
434 smb.conf.
436 Added/changed parameters.
437 -------------------------
439 strict allocate
441 Causes Samba not to create UNIX 'sparse' files, but to follow the
442 Windows behavior of always allocating on-disk space.
444 use mmap
446 Set to 'on' by default, only set to 'off' on HPUX 11.x or below or other
447 UNIX systems that don't have coherent mmap/read-write internal caches.
448 You should not need to set this parameter.
450 nt acl support
452 This parameter has been changed to a per-share option, and is very
453 useful in enabling Windows 2000 SP2 to load/save profiles from a 
454 Samba share.
456 New printing parameters.
457 ------------------------
459 disable spoolss
461 Setting this parameter causes Samba to go back to the old 2.0.x
462 LANMAN printing behavior, for people who wish to disable the
463 new SPOOLSS pipe.
465 use client driver
467 Causes Windows NT/2000 clients to need have a local printer driver
468 installed and to treat the printer as local.
470 New LDAP parameters.
471 --------------------
473 Samba 2.2.2 contains new code to maintain a Samba SAM database
474 on a remote LDAP server. These parameters have been added as
475 part of this code. These parameters are only available when Samba
476 has been compiled with the --with-ldapsam option.
478 ldap admin dn
479 ldap ssl
481 New SSL parameters.
482 -------------------
484 The SSL support in Samba has been fixed. These new parameters
485 are part of the changes added. These parameters are only available
486 when Samba has been compiled with the --with-ssl option. 
487 Please see the smb.conf man page for details.
489 ssl egd socket
490 ssl entropy file
491 ssl entropy bytes
493 New winbindd parameters.
494 ------------------------
496 These parameters are used by winbindd. See the man page for
497 winbindd for details.
499 winbind separator
500 winbind uid
501 winbind gid
502 winbind cache time
503 winbind enum users
504 winbind enum groups
505 template homedir
506 template shell
508 Removed parameters.
509 -------------------
511 share modes
512 ldap root
513 ldap root passwd
515 New Documentation.
516 ------------------
518 Some new README's have been added in the docs/ directory. These cover
519 using roving profiles with Windows 2000 SP2 (docs/README.Win2kSP2),
520 and how to use Samba to help prevent Windows virus spread
521 (docs/README.Win32-Viruses).
523 Quota problems on a Linux 2.4 kernel.
524 -------------------------------------
526 Currently the quota interfaces have diverged between the Linus
527 2.4.x kernels and the Alan Cox 2.4.x kernels (the Alan Cox variants
528 are shipped with RedHat). Running quota-enabled Samba compiled on
529 an Alan Cox kernel works correctly on an Alan Cox kernel (the one
530 shipped by default with RedHat 7.x) but fails on a Linus kernel.
532 This is a mess, and hopefully Alan and Linus will sort it out soon.
533 In the meantime we need to ship.....
535 Changes in 2.2.2
536 -----------------
538 1). mmap tdb code disabled on HPUX. This should prevent the reports of
539 tdb corruption on HUPX.
540 2). Large file support set to off in Solaris 5.5 and below.
541 3). Better CUPS detection.
542 4). New SAM (password database) backends - smbpasswd (traditional),
543 LDAP, NIS+ and Samba TDB.
544 5). Quota fixups on Linux.
545 6). libsmbclient stand-alone code added. Can be built as a shared library
546 under Linux.
547 7). Tru64 ACL support added.
548 8). winbindd option added.
549 9). Realloc fail tidyup fixes all over the code.
550 10). Large improvement in hash table code efficiency - would be found with
551 large stat caches.
552 11). Error code consistency improved (still needs more work).
553 12). Profile shared memory support added to nmbd.
554 13). New Windows 2000/NT passthrough info levels added.
555 14). readraw/writeraw code rewritten - many bugs fixed.
556 15). UNIX password sync (non pam) code fixed, use correct wildcard matcher.
557 16). Reverse DNS lookup avoided on socket open.
558 17). Bug preventing nmbd re-registering names on WINS server timeout fixed.
559 18). Zero length byte range lock code added. Much closer to Windows semantics.
560 19). Alignment fault fixes for Linux/Alpha.
561 20). Error checking on tdb returns vastly improved.
562 21). Handling of delete on close fixed. No longer possible to leave 'dead'
563 file entries.
564 22). Handling of oplock break failure cleanups improved. Should not be
565 able to leave 'dead' entries.
566 23). Fix handling of errors trying to set 64 bit locks on 32 bit NFS mounts.
567 24). Misc. MS-DFS code fixes.
568 25). Ignore logon packets if not a PDC (needed for PDC/BDC failover).
569 26). winbind pam module added.
570 27). Order N^^2 enumeration of printers problem fixed.
571 28). Password backend database code re-ordered to allow different password
572 backends (at compile time currently).
573 29). Improved print driver version detection for Windows 2000.
574 30). Driver DEVMODE initialization fixes.
575 31). Improved SYSV print parse code.
576 32). Fixed enumeration of large numbers of users/groups from Windows clients.
577 Code still too slow.
578 33). Fix for buggy NetApp RPC pipe clients.
579 34). Fix for NT sending multiple SetPrinterDataEx calls.
580 35). Fix for logic bug where smbd could delay oplock break request messages
581 from other smbd daemons whilst client kept us busy.
582 36). Fix deadlock problem with connections tdb on enumeration.
583 37). Fixes for setting/getting NT ACLs - improved POSIX mapping both ways.
584 38). Removed unused readbmpx/writebmpx code.
585 39). Attempt to fix Linux 2.4.x quota mess.
586 40). Improved ctemp code for Windows 2000 compatibility.
587 41). Finally understood difference between set EOF and set allocation requests.
588 Added strict allocate parameter to help.
589 42). Correctly return name types on name to SID lookups.
590 43). tdb spinlock code update.
591 44). Use pread/pwrite on systems that have it to fix race condition in tdb code.
593 -----------------------------------------------------------------------------
594 The release notes for 2.2.1a follow :
596 This is a minor bugfix release for 2.2.1, *NOT* security related.
598 1). 2.2.1 had a bug where using smbpasswd -m to add a Windows NT or
599 Windows2000 machine into a Samba hosted PDC would fail due to our
600 stricter user name checking. We were disallowing user names
601 containing '$', which is needed when using smbpasswd to add a
602 machine into a domain. Automatically adding machines (using the
603 native Windows tools) into a Samba domain worked correctly.
605 2.2.1a fixes this single problem.
607 -----------------------------------------------------------------------------
608 The release notes for 2.2.1 follow :
610 New/Changed parameters in 2.2.1
611 -------------------------------
613 Added parameters.
614 -----------------
616 obey pam restrictions
618 When Samba is configured to use PAM, turns on or off Samba checking
619 the PAM account restrictions. Defaults to off.
621 pam password change
623 When Samba is configured to use PAM, turns on or off Samba passing
624 the password changes to PAM. Defaults to off.
626 large readwrite
628 New option to allow new Windows 2000 large file (64k) streaming
629 read/write options. Needs a 64 bit underlying operating system
630 (for Linux use kernel 2.4 with glibc 2.2 or above). Can improve performance
631 by 10% with Windows 2000 clients. Defaults to off. Not as tested
632 as some other Samba code paths.
634 hide unreadable
636 Prevents clients from seeing the existence of files that cannot
637 be read. Off by default.
639 enhanced browsing
641 Turn on/off the enhanced Samba browsing functionality (*1B names).
642 Default is "on". Can prevent eternal machines in workgroups when
643 WINS servers are not synchronized.
645 Removed parameters.
646 -------------------
648 domain groups
649 domain admin users
650 domain guest users
652 Changes in 2.2.1
653 -----------------
655 1). "find" command removed for smbclient. Internal code now used.
656 2). smbspool updates to retry connections from Michael Sweet.
657 3). Fix for mapping 8859-15 characters to UNICODE.
658 4). Changed "security=server" to try with invalid username to prevent
659     account lockouts.
660 5). Fixes to allow Windows 2000 SP2 clients to join a Samba PDC.
661 6). Support for Windows 9x Nexus tools to allow security changes from Win9x.
662 7). Two locking fixes added. Samba 2.2.1 now passes the Clarion network
663     lock tester tool for distributed databases.
664 8). Preliminary support added for Windows 2000 large file read/write SMBs.
665 9). Changed random number generator in Samba to prevent guess attacks.
666 10). Fixes for tdb corruption in connections.tdb and file locking brlock.tdb.
667      smbd's clean the tdb files on startup and shutdown.
668 11). Fixes for default ACLs on Solaris.
669 12). Tidyup of password entry caching code.
670 13). Correct shutdowns added for send fails. Helps tdb cleanup code.
671 14). Prevent invalid '/' characters in workgroup names.
672 15). Removed more static arrays in SAMR code.
673 16). Client code is now UNICODE on the wire.
674 17). Fix 2 second timestamp resolution everywhere if dos timestamp set to yes.
675 18). All tdb opens now going through logging function.
676 19). Add pam password changing and pam restrictions code.
677 20). Printer driver management improvements (delete driver).
678 21). Fix difference between NULL security descriptors and empty
679      security descriptors.
680 22). Fix SID returns for server roles.
681 23). Allow Windows 2000 mmc to view and set Samba share security descriptors.
682 24). Allow smbcontrol to forcibly disconnect a share.
683 25). tdb fixes for HPUX, OpenBSD and other OS's that don't have a coherent
684      mmap/file read/write cache.
685 26). Fix race condition in returning create disposition for file create/open.
686 27). Fix NT rewriting of security descriptors to their canonical form for
687      ACLs.
688 28). Fix for Samba running on top of Linux VFAT ftruncate bug.
689 29). Swat fixes for being run with xinetd that doesn't set the umask.
690 30). Fix for slow writes with Win9x Explorer clients. Emulates Microsoft
691      TCP stack early ack specification error.
692 31). Changed lock & persistent tdb directory to /var/cache/samba by default on
693      RedHat and Mandrake as they clear the /var/lock/samba directory on reboot.
695 -----------------------------------------------------------------------------
696 The release notes for 2.2.0a follow :
698 SECURITY FIX
699 ============
701 This is a security bugfix release for Samba 2.2.0. This release provides the
702 following two changes *ONLY* from the 2.2.0 release.
704 1). Fix for the security hole discovered by Michal Zalewski (lcamtuf@bos.bindview.com)
705     and described in the security advisory below.
706 2). Fix for the hosts allow/hosts deny parameters not being honoured.
708 No other changes are being made for this release to ensure a security fix only.
709 For new functionality (including these security fixes) download Samba 2.2.1
710 when it is available.
712 The security advisory follows :
715                 IMPORTANT: Security bugfix for Samba
716                 ------------------------------------
718 June 23rd 2001
721 Summary
722 -------
724 A serious security hole has been discovered in all versions of Samba
725 that allows an attacker to gain root access on the target machine for
726 certain types of common Samba configuration.
728 The immediate fix is to edit your smb.conf configuration file and
729 remove all occurances of the macro "%m". Replacing occurances of %m
730 with %I is probably the best solution for most sites.
732 Details
733 -------
735 A remote attacker can use a netbios name containing unix path
736 characters which will then be substituted into the %m macro wherever
737 it occurs in smb.conf. This can be used to cause Samba to create a log
738 file on top of an important system file, which in turn can be used to
739 compromise security on the server.
741 The most commonly used configuration option that can be vulnerable to
742 this attack is the "log file" option. The default value for this
743 option is VARDIR/log.smbd. If the default is used then Samba is not
744 vulnerable to this attack.
746 The security hole occurs when a log file option like the following is
747 used:
749   log file = /var/log/samba/%m.log
751 In that case the attacker can use a locally created symbolic link to
752 overwrite any file on the system. This requires local access to the
753 server.
755 If your Samba configuration has something like the following:
757   log file = /var/log/samba/%m
759 Then the attacker could successfully compromise your server remotely
760 as no symbolic link is required. This type of configuration is very
761 rare.
763 The most commonly used log file configuration containing %m is the
764 distributed in the sample configuration file that comes with Samba:
766   log file = /var/log/samba/log.%m
768 in that case your machine is not vulnerable to this attack unless you
769 happen to have a subdirectory in /var/log/samba/ which starts with the
770 prefix "log."
772 Credit
773 ------
775 Thanks to Michal Zalewski (lcamtuf@bos.bindview.com) for finding this
776 vulnerability.
779 New Release
780 -----------
782 While we recommend that vulnerable sites immediately change their
783 smb.conf configuration file to prevent the attack we will also be
784 making new releases of Samba within the next 24 hours to properly fix
785 the problem. Please see http://www.samba.org/ for the new releases.
787 Please report any attacks to the appropriate authority.
789         The Samba Team
790         security@samba.org
792 ---------------------------------------------------------------------------
794 The release notes for 2.2.0 follow :
796 This is the official Samba 2.2.0 release. This version of Samba provides
797 the following new features and enhancements.
799 Integration between Windows oplocks and NFS file opens (IRIX and Linux
800 2.4 kernel only). This gives complete data and locking integrity between
801 Windows and UNIX file access to the same data files.
803 Ability to act as an authentication source for Windows 2000 clients as
804 well as for NT4.x clients.
806 Integration with the winbind daemon that provides a single
807 sign on facility for UNIX servers in Windows 2000/NT4 networks
808 driven by a Windows 2000/NT4 PDC. winbind is not included in
809 this release, it currently must be obtained separately. We are
810 committed to including winbind in a future Samba 2.2.x release.
812 Support for native Windows 2000/NT4 printing RPCs. This includes
813 support for automatic printer driver download.
815 Support for server supported Access Control Lists (ACLs).
816 This release contains support for the following filesystems: 
818     Solaris 2.6+ 
819     SGI Irix 
820     Linux Kernel with ACL patch from http://acl.bestbits.at
821         Linux Kernel with XFS ACL support.
822         Caldera/SCO UnixWare
823         IBM AIX
824         FreeBSD (with external patch)
826 Other platforms will be supported as resources are
827 available to test and implement the necessary modules. If
828 you are interested in writing the support for a particular
829 ACL filesystem, please join the samba-technical mailing
830 list and coordinate your efforts. 
832 On PAM (Pluggable Authentication Module) based systems - better debugging
833 messages and encrypted password users now have access control verified via
834 PAM - Note: Authentication still uses the encrypted password database.
836 Rewritten internal locking semantics for more robustness.
837 This release supports full 64 bit locking semantics on all
838 (even 32 bit) platforms. SMB locks are mapped onto POSIX
839 locks (32 bit or 64 bit) as the underlying system allows.
841 Conversion of various internal flat data structures to use
842 database records for increased performance and
843 flexibility.
845 Support for acting as a MS-DFS (Distributed File System) server.
847 Support for manipulating Samba shares using Windows client tools
848 (server manager). Per share security can be set using these tools
849 and Samba will obey the access restrictions applied.
851 Samba profiling support (see below).
853 Compile time option for enabling a (Virtual file system) VFS layer 
854 to allow non-disk resources to be exported as Windows filesystems
855 (such as databases etc.).
857 The documentation in this release has been updated and converted
858 from Yodl to DocBook 4.1. There are many new parameters since 2.0.7
859 and some defaults have changed.
861 Profiling support.
862 ------------------
863 Support for collection of profile information. A shared 
864 memory area has been created which contains counters for
865 the number of calls to and the amount of time spent in
866 various system calls, smb transactions and nmbd activity. See 
867 the file profile.h for a complete listing of the information 
868 collected. Sample code for a samba pmda (collection agent
869 for Performance Co-Pilot) has been included in the pcp
870 directory. 
872 To enable the profile data collection code in samba, you must 
873 compile samba with profile data support (run configure with 
874 the --with-profiling-data option). On startup, collection of 
875 data is disabled. To begin collecting data use the smbcontrol
876 program to turn on profiling (see the smbcontrol man page).
877 Profile information collection can be enabled for nmbd, all smbd
878 processes or one or more selected processes. The profiling
879 data collected is the aggregate for all processes that have
880 profiling enabled.
882 With samba compiled for profile data collection, you may see
883 a very slight degradation in performance even with profiling
884 collection turned off. On initial tests with NetBench on an
885 SGI Origin 200 server, this degradation was not measurable 
886 with profile collection off compared to no profile collection
887 compiled into samba.
889 With count profile collection enabled on all clients, the 
890 degradation was less than 2%. With full profile collection 
891 enabled on all clients, the degradation was about 8.5%. 
893 =====================================================================
895 If you think you have found a bug please email a report to :
897         samba@samba.org
899 As always, all bugs are our responsibility.
901 Regards,
903         The Samba Team.