fix restart option (noticed by Stanford K. Baldwin)
[Samba.git] / WHATSNEW.txt
blob1d542ee28d274a84cb506a112d74d7028f79ea44
1             What's new in Samba 2.2.8a - 7th April 2003
2             ===========================================
4 This is the latest stable release of Samba. This is the version that
5 all production Samba servers should be running for all current
6 bug-fixes.
8             ****************************************
9             * IMPORTANT: Security bugfix for Samba *
10             ****************************************
12 Summary
13 -------
15 Digital Defense, Inc. has alerted the Samba Team to a serious 
16 vulnerability in all stable versions of Samba currently shipping. 
17 The Common Vulnerabilities and Exposures (CVE) project has assigned 
18 the ID CAN-2003-0201 to this defect.
20 This vulnerability, if exploited correctly, leads to an anonymous 
21 user gaining root access on a Samba serving system. All versions 
22 of Samba up to and including Samba 2.2.8 are vulnerable. An active 
23 exploit of the bug has been reported in the wild. Alpha versions of 
24 Samba 3.0 and above are *NOT* vulnerable.
27 Credit
28 ------
30 The Samba Team would like to thank Erik Parker and the team at
31 Digital Defense, Inc. for their efforts spent in the responsible 
32 and timely reporting of this bug.
35 Patch Availability
36 ------------------
38 The Samba 2.2.8a release contains only updates to address this 
39 security issue. A roll-up patch for release 2.2.7a and 2.0.10 
40 addressing both CAN-2003-0201 and CAN-2003-0085 can be obtained 
41 from http://www.samba.org/samba/ftp/patches/security/.
44             ========================================
47 Older releases notes for 2.2.x distributions follow
49 -----------------------------------------------------------------
50 The release notes for 2.2.8 follow:
52             ****************************************
53             * IMPORTANT: Security bugfix for Samba *
54             ****************************************
56 Summary
57 -------
59 The SuSE security audit team, in particular Sebastian Krahmer
60 <krahmer@suse.de>, has found an flaw in the Samba main smbd code which
61 could allow an external attacker to remotely and anonymously gain
62 Super User (root) privileges on a server running a Samba server.
64 This flaw exists in previous versions of Samba from 2.0.x to 2.2.7a
65 inclusive.  This is serious problem and all sites should either
66 upgrade to Samba 2.2.8 immediately or prohibit access to TCP ports 139
67 and 445. Advice on how to protect an unpatched Samba server created by
68 Andrew Tridgell, the leader of the Samba Team, is given at the end of
69 this section.
71 The SMB/CIFS protocol implemented by Samba is vulnerable to many
72 attacks, even without specific security holes.  The TCP ports 139 and
73 the new port 445 (used by Win2k and the Samba 3.0 alpha code in
74 particular) should never be exposed to untrusted networks.
76 Description
77 -----------
79 A buffer overrun condition exists in the SMB/CIFS packet fragment
80 re-assembly code in smbd which would allow an attacker to cause smbd
81 to overwrite arbitrary areas of memory in its own process address
82 space. This could allow a skilled attacker to inject binary specific
83 exploit code into smbd.
85 This version of Samba adds explicit overrun and overflow checks on
86 fragment re-assembly of SMB/CIFS packets to ensure that only valid
87 re-assembly is performed by smbd.
89 In addition, the same checks have been added to the re-assembly
90 functions in the client code, making it safe for use in other
91 services.
93 Credit
94 ------
96 This security flaw was discovered and reported to the Samba Team by
97 Sebastian Krahmer <krahmer@suse.de> of the SuSE Security Audit Team.  
98 The fix was prepared by Jeremy Allison and reviewed by engineers from
99 the Samba Team, SuSE, HP, SGI, Apple, and the Linux vendor engineers
100 on the Linux Vendor security mailing list.
102 The Samba Team would like to thank SuSE and Sebastian Krahmer for
103 their excellent auditing work and for drawing attention to this flaw.
105 Patch Availability
106 -----------------
108 As this is a security issue, patches for this flaw specific to earlier
109 versions of Samba will be and posted on the samba-technical@samba.org
110 mailing list as requested.
113 ************************************
114 Protecting an unpatched Samba server
115 ************************************
117   Samba Team, March 2003
119   This is a note on how to provide your Samba server some
120   protection against the recently discovered remote security
121   hole if you are unable to upgrade to the fixed version
122   immediately. Even if you do upgrade you might like to think
123   about the suggestions in this note to provide you with
124   additional levels of protection.
127   Using host based protection
128   ---------------------------
130   In many installations of Samba the greatest threat comes for
131   outside your immediate network. By default Samba will accept
132   connections from any host, which means that if you run an
133   insecure version of Samba on a host that is directly
134   connected to the Internet you can be especially vulnerable.
136   One of the simplest fixes in this case is to use the 'hosts
137   allow' and 'hosts deny' options in the Samba smb.conf
138   configuration file to only allow access to your server from a
139   specific range of hosts. An example might be:
141     hosts allow = 127.0.0.1 192.168.2.0/24 192.168.3.0/24
142     hosts deny = 0.0.0.0/0
144   The above will only allow SMB connections from 'localhost'
145   (your own computer) and from the two private networks
146   192.168.2 and 192.168.3. All other connections will be
147   refused connections as soon as the client sends its first
148   packet. The refusal will be marked as a 'not listening on
149   called name' error.
152   Using interface protection
153   --------------------------
155   By default Samba will accept connections on any network
156   interface that it finds on your system. That means if you
157   have a ISDN line or a PPP connection to the Internet then
158   Samba will accept connections on those links. This may not be
159   what you want.
161   You can change this behavior using options like the
162   following:
164     interfaces = eth* lo
165     bind interfaces only = yes
167   that tells Samba to only listen for connections on interfaces
168   with a name starting with 'eth' such as eth0, eth1, plus on
169   the loopback interface called 'lo'. The name you will need to
170   use depends on what OS you are using, in the above I used the
171   common name for ethernet adapters on Linux.
173   If you use the above and someone tries to make a SMB
174   connection to your host over a PPP interface called 'ppp0'
175   then they will get a TCP connection refused reply. In that
176   case no Samba code is run at all as the operating system has
177   been told not to pass connections from that interface to any
178   process.
181   Using a firewall
182   ----------------
184   Many people use a firewall to deny access to services that
185   they don't want exposed outside their network. This can be a
186   very good idea, although I would recommend using it in
187   conjunction with the above methods so that you are protected
188   even if your firewall is not active for some reason.
190   If you are setting up a firewall then you need to know what
191   TCP and UDP ports to allow and block. Samba uses the
192   following:
194     UDP/137    - used by nmbd
195     UDP/138    - used by nmbd
196     TCP/139    - used by smbd
197     TCP/445    - used by smbd
199   The last one is important as many older firewall setups may
200   not be aware of it, given that this port was only added to
201   the protocol in recent years.
204   Using a IPC$ share deny
205   -----------------------
207   If the above methods are not suitable, then you could also
208   place a more specific deny on the IPC$ share that is used in
209   the recently discovered security hole. This allows you to
210   offer access to other shares while denying access to IPC$
211   from potentially untrustworthy hosts.
213   To do that you could use:
215     [ipc$]
216         hosts allow = 192.168.115.0/24 127.0.0.1
217         hosts deny = 0.0.0.0/0
219   this would tell Samba that IPC$ connections are not allowed
220   from anywhere but the two listed places (localhost and a
221   local subnet). Connections to other shares would still be
222   allowed. As the IPC$ share is the only share that is always
223   accessible anonymously this provides some level of protection
224   against attackers that do not know a username/password for
225   your host.
227   If you use this method then clients will be given a 'access
228   denied' reply when they try to access the IPC$ share. That
229   means that those clients will not be able to browse shares,
230   and may also be unable to access some other resources.
232   I don't recommend this method unless you cannot use one of
233   the other methods listed above for some reason.
236   Upgrading Samba
237   ---------------
239   Of course the best solution is to upgrade Samba to a version
240   where the bug has been fixed. If you wish to also use one of
241   the additional measures above then that would certainly be a
242   good idea.
244   Please check regularly on http://www.samba.org/ for updates
245   and important announcements.
248             ****************************************
249             ****************************************
252 Changes since 2.2.7a
253 ---------------------
255 New Parameters
257     * acl compatibility
259 Additional Changes:
260     See the cvs log for SAMBA_2_2 for more details
262 1)  smbumount lazy patch from Mandrake
263 2)  Check for too many processes *before* the fork.
264 3)  make sure we don't run over the end of 'name' in unix_convert()
265 4)  set umask to 0 before creating socket directory.
266 5)  Fix the LARGE_SMB_OFF_T problems and allow smbd to do the right 
267     thing in interactive mode when a log file dir is also specified.
268 6)  Fix delete on close semantics to match W2K.
269 7)  Correctly return access denied on share mode deny when we can't 
270     open the file.
271 8)  Always use safe_strcpy not pstrcpy for malloc()'d strings
272 9)  Fixes for HP-UX only having limited POSIX lock range
273 10) Added uid/gid caching code. Reduces load on winbindd.
274 11) Removed extra copy of server name in the printername field (it was
275     mangling the the name to be \\server\\\server\printer
276 12) Fix dumb perror used without errno being set.
277 13) Do retries correctly if the connection to the DC has failed.
278 14) Correctly check for inet_addr fail.
279 15) Ensure we use getgrnam() unless BROKEN_GETGRNAM is defined.
280 16) Fix for missing if (setting_acls) on default perms.
281 17) Fix to cache the sidtype
282 18) fix printer settings on Solaris (big-endian) print servers.
283     ASCII -> UNICODE conversion bug.
284 19) Small fix check correct error return.
285 20) Ensure space_avail is unsigned.
286 21) patch to check for a valid [f]chmod_acl function pointer
287     before calling it.  Fixes seg fault in audit VFS module
288 22) When checking is_locked() new WRITE locks conflict with existing
289     READ locks even if the context is the same.
290 23) Merge off-by-one crash fixes from HEAD
291 24) Move off-by-one buggy malloc()/safe_strcpy() combination to 
292     strdup() instead.
293 25) Merge from HEAD. Use pstrcpy not safe_strcpy.
294 26) Fix to allow blocking lock notification to be done rapidly (no wait
295     for smb -> smb lock release). Adds new PENDING_LOCK type to lockdb
296     (does not interfere with existing locks).
297 27) Doxygen cleanups for code documentation
298 28) limit the unix domain sockets used by winbindd  by adding a
299     "last_access" field to winbindd connections, and will close
300     the oldest idle connection once the number of open connections goes
301     over WINBINDD_MAX_SIMULTANEOUS_CLIENTS (defined in local.h as 200
302     currently)
303 29) Fix a couple of string handling errors in smbd/dir.c that would
304     cause smbd to crash
305 30) Fix seg fault in smbpasswd when specifying the new password
306     as a command line argument
307 31) Correct 64-but file sizes issues with smbtar and smbclient
308 32) Add batch mode option to pdbedit
309 33) Add protection in nmbd against malformed reply packets
310 34) Fix bug with sendfile profiling support in smbstatus output
311 35) Correct bug in "hide unreadable" smb.conf parameter that
312     resulted in incorrect directory listings
313 36) Fix bug in group enumeration in winbindd
314 37) Correct build issues with libsmbclient on Solaris
315 38) Fix memory leak and bad pointer dereference in password
316     changing code in smbd
317 39) Fix for changing attributes on a file truncate
318 40) Ensure smbd process count never gets to -1 if limiting number
319     of processes
320 41) Ensure we return disk full by default on short writes
321 42) Don't delete jobs submitted after the lpq time
322 43) Fix reference count bug where smbds would not terminate
323     with no open resources
324 44) Performance fix when using quota support on HP-UX
325 45) Fixes for --with-ldapsam
326     * Default to port 389 when "ldap ssl != on"
327     * add support for rebinding to the master directory server
328       for password changes when "ldap server" points to a read-only
329       slave
330 46) Add -W and -X command line flags to smbpasswd for extracting and
331     setting the machine/domain SID in secrets.tdb.  See the
332     smbpasswd(8) man page for details.
333 47) Added (c) Luke Howard to winbind_nss_solaris.c for coded
334     obtained from PADL's nss_ldap library.
335 48) Fix bug in samr_dispinfo query in winbindd
336 49) Fix segfault in NTLMSSP password changing code for
337     guest connections
338 50) Correct pstring/fstring mismatches
339 51) Send level II oplock break requests synchronously to prevent
340     condition where one smbd would continually lock a share entry
341     in locking.tdb
342 52) Miscellaneous cleanups for tdb error conditions and appending
343     data in a record
344 53) Implement correct open file truncate semantics with DOS
345     attributes
346 54) Enforce wide links = no on files as well as directories
347 55) Include shared library checks for Stratus VOS
348 56) Include support for CUPS printer classes and logging the remote
349     client name
350 57) Include  "WinXP" (Windows XP) and "Win2K3" (Windows .NET) values
351     for %a
352 58) Increase the max PDU size to deal with some troublesome printer 
353     drivers and Windows NT 4.0 clients
354 59) increment the process counter immediately after the fork   
355     (not just when we receive the first smb packet)
356 60) Ensure rename sets errno correctly
357 61) Unify ACL code (back-port from 3.0)
358 62) Fix some further issues around off_t and large offsets
361 Changes since 2.2.7
362 --------------------
364 See the cvs log for SAMBA_2_2 for more details
366 1)  Fix for smbclient reporting negative file sizes on dir command
367     and negative statistics being reported when using put or get
368     on large files.
369 2)  Fix bug in determination of allocation size
370 3)  Fix 64bit size problems which prevented copying of files larger
371     than 2 GBytes.
372 4)  Fix for xcopy /s problem with old DOS clients not sending correct
373     attributes on subsequent SMBsearch calls.
374 5)  Fix bug in call to standard_sub_advanced giving a 0 length. This
375     fixes the string overflow in string_sub errors.
376 6)  Correctly handle querygroup rpcclient command
377 7)  fix broken incremental tar in smbtar command
380 The release notes for 2.2.7 follow :
382 IMPORTANT: Security bugfix for Samba
383 ------------------------------------
385 Summary
386 -------
388 A security hole has been discovered in versions 2.2.2 through 2.2.6 
389 of Samba that could potentially allow an attacker to gain root access
390 on the target machine.  The word "potentially" is used because there 
391 is no known exploit of this bug, and the Samba Team has not been able to
392 craft one ourselves. However, the seriousness of the problem warrants
393 this immediate 2.2.7 release.
395 In addition to addressing this security issue, Samba 2.2.7 also includes
396 thirteen unrelated improvements. These improvements result from our
397 process of continuous quality assurance and code review, and are part of
398 the Samba team's commitment to excellence.
400 Details
401 -------
403 There was a bug in the length checking for encrypted password change
404 requests from clients. A client could potentially send an encrypted
405 password, which, when decrypted with the old hashed password could be
406 used as a buffer overrun attack on the stack of smbd. The attach would
407 have to be crafted such that converting a DOS codepage string to little
408 endian UCS2 unicode would translate into an executable block of code.
410 All versions of Samba between 2.2.2 to 2.2.6 inclusive are vulnerable
411 to this problem. This version of Samba 2.2.7 contains a fix for this
412 problem.
414 Earlier versions of Samba are not vulnerable.
416 There is no known exploit or exploit code for this vulnerability,
417 it was discovered by a code audit by Debian Samba maintainers.
419 Credit
420 ------
422 Thanks to Steve Langasek <vorlon@debian.org> and Eloy Paris
423 <peloy@debian.org> for bringing this vulnerability to our notice.
425 Patch for Samba versions 2.2.2 to 2.2.6
426 ---------------------------------------
428 The following patch applies cleanly to the above Samba versions
429 and will fix the vulnerability for sites that do not wish to upgrade
430 to 2.2.7 at this time.
433 -------------------------------cut here---------------------------------
434 --- libsmb/smbencrypt.c.orig    Tue Nov 19 17:21:57 2002
435 +++ libsmb/smbencrypt.c Tue Nov 19 17:22:12 2002
436 @@ -63,7 +63,7 @@
437         if(len > 128)
438                 len = 128;
439         /* Password must be converted to NT unicode - null terminated. */
440 -       dos_struni2((char *)wpwd, (const char *)passwd, 256);
441 +       dos_struni2((char *)wpwd, (const char *)passwd, len);
442         /* Calculate length in bytes */
443         len = strlen_w((const smb_ucs2_t *)wpwd) * sizeof(int16);
444 -------------------------------cut here---------------------------------
448 Changes since 2.2.6
449 --------------------
451 See the cvs log for SAMBA_2_2 for more details
453 1)  ensure we send the notify message in the same way it is expected
454     to be received by srv_spoolss_receive_message().
455 2)  attribute matching on truncate only matters when opening truncate
456     with current SYSTEM|HIDDEN -> NONE. It's fine to truncate on open
457     with current NONE -> SYSTEM | HIDDEN.
458 3)  Fix bug in rpcclient's deldriver command
459 4)  Don't set global_machine_password_needs_changing if
460     lp_machine_password_timeout() is set to zero
461 5)  don't parse the BUFFER5 if the buffer length is zero
462 6)  fix core dump if pdbedit is run as non-root or smbpasswd file does
463     not exist
464 7)  Ensure can_delete() returns correct error code
465 8)  correctly return NT_STATUS_DELETE_PENDING from open code
466 9)  fix bug that assumed dos_unistr2 length was in ucs2 units, not 
467     bytes
468 10) check the long_archi name is not null when deleting a printer 
469     driver.  fixes core dump in smbd when using rpcclient's deldriver
470 11) fix fd leak with kernel change notify on Linux 2.4 kernels
471 12) must add one to the extra_data size to transfer the 0 string
472     terminator.  This was causing "wbinfo --sequence" to access past 
473     the end of malloced memory
474 13) fix for large systems allowing more than 65536 files open in
475     NTcreate&X
476 14) Fix bug in %U expansion
480 ----------------------------------------------------------------------
481 The release notes for 2.2.6 follow :
483 There have been several fixes and internal enhancements which include:
485  * Fixes for MS-RPC printing issues affecting Windows 2000 clients
486  * New support for smb.conf generation in SWAT
487  * Inclusion of several performance enhancements (See --with-sendfile
488    & and the modified smb.conf(5) parameters in these Release Notes)
489  * Fixes for several file locking bugs and returned status codes
492 New Parameters
493 --------------
495 Refer to the smb.conf(5) man page for complete descriptions of new 
496 parameters.
498   * profile acls (S)            workaround for issue with WinXP SP1
499                                 and roaming user profiles
501 Removed Parameters
502 ------------------
504   * max packet (G)
505   * packet size (G)
507 Modified Parameters
508 -------------------
510   * max xmit (G)                new default value
511   * large readwrite (G)         new default value
513 New ./configure Options
514 -----------------------
516   --with-sendfile               Enable experimental sendfile support
517   --with-winbind-ldap-hack      Enable winbindd_ldap_hack() functionality
518                                 for Windows 2000 native mode domains
521 Changes since 2.2.5
522 --------------------
524 See the cvs log for SAMBA_2_2 for more details
526 1)  Fixed several compiler warnings caused by the use of const parameters
527 2)  Fixed a hang in the main smbd process caused by an EINTR in the
528     wrong place
529 3)  Fixed string substitutions to accept a length for sanity checks
530 4)  Fixed 17-bit length field in nmb header
531 5)  Removed non-portable inline declaration for functions
532 6)  Performance fix for including files with an smb.conf variable in the
533     path name
534 7)  Fix for parsing LPRng lpq output
535 8)  Parsing fix for PRINTER_INFO_2 structure which was causing viewing
536     printer properties to fail
537 9)  Fix for printer change notification and Windows NT clients which caused
538     the client to go into an infinite loop of refreshing the local printers
539     folder
540 10) Allow trans2 and nttrans messages to be processed in oplock break state
541     which fixes a problem with oplock break requests and Win2k clients
542 11) Don't crash on setfileinfo on printer fsp
543 12) Memory fixes caught by Valgrind
544 13) Updates to stop spurious error message in tdb
545 14) Fix silly logic bug in 'make smbd processes' and 'status = no' check
546 15) Fix compilation of pam_smbpass and --with-ldap
547 16) Fix compilation of smbwrapper on Solaris hosts
548 17) fix logic error in a check for enabling the winbind_pam_auth_crap() code
549     & fix formatting typo in --with-winbind-auth-challenge
550 18) Correcting check for ldap_start_tls()
551 19) Fixed a problem with getgroups() where it could include our current
552     effective gid
553 20) fix incorrect semantics in the DeletePrinterDriver() spoolss rpc
554     to only attempt to delete the architecture specified by the client
555 21) Don't allow TEMP attribute on directory open
556 22) Restore VxFS quotas to the 2.2 branch
557 23) Added basic "Wizard" functionality to SWAT
558 24) Fix initial "allocation size" in NTcreate&X call
559 25) Fix for open fid, "nametoolong"
560 26) Exit server on receipt of a non-SMB packet.  Ensure we have
561     at least smb_size bytes before processing a packet
562 27) Replace inet_aton with inet_addr() to correct compile problems on Solaris
563 28) Include the "account" objectclass when adding a new account to --with-ldapsam
564     in order to comply with the data model implemented by OpenLDAP 2.1.x
565 29) Various fixes for POSIX compliance
566 30) Correct alignment & offset bug in EnumPrinterDataEx()
567 31) Fix access checks when modifying forms using a print server handle
568     (not just a printer handle)
569 32) Account for case data_len == 0 in EnumPrinterDataEx()
570 33) Fix logic error in blocking lock code
571 34) Fixed various incorrect return codes to clients
572 35) Add RESOLVE_DFSPATH to mkdir operations
573 36) Fix longstanding bug in Win2k clients by clearing the shortname
574     buffer before returning ASCII short name
575 37) added -t option to smbpasswd for explicitly changing a trust
576     account password when operating in security = domain
577 38) installed -x option to testparm to eXclude printing all parameter
578     values that are at default settings.
579 39) Fix shares/printers view in SWAT so that only Basic options are exposed
580     upon initial entry.
581 40) Added 1125 & KOI8-U to codepage list in Makefile.in
582 41) Include separate configure checks for *openbsd* & *freebsd* when
583     determining flags used to compile shared libraries.
584 42) Merge in free list unlock on error fix
585 43) Correctly fail opens with mismatching SYSTEM or HIDDEN attributes
586     if we are mapping system or hidden
587 44) Fix bug with stat mode open being done on read-only open with truncate
588 45) Fix crash bug discovered where cli struct was being deallocated in a
589     called function
590 46) Ensure we open UNIX fifo's non-blocking
591 47) Fix DeletePrinterDriver() (hopefully for the last time...yeah right....)
592 48) only lowercase global_myname in the %L substitution, not the whole string
593 49) Merged Steve French's fix for OS/2 EA return error being removed
594 50) Patch from Steve French to fix difference in responses to smbclient
595     //server/share ls / on Samba and Windows 2000
596 51) Print error and exit if smb.conf doesn't have security=domain and
597     encrypt passwords=yes when joining domain
598 52) Added final Steve French patch for "required" attributes with old dir
599     listings
600 53) Initialize user_rid value in WINBIND_USERINFO structure returned by
601     the rpc version of query_user()
602 54) Ensure we've failed a lock with a lock denied message before automatically
603     pushing it onto the blocking queue
604 55) Add experimental --with-sendfile code
605 56) alignment fix in printing code merged from HEAD
606 57) Merge fix for other sids in token from HEAD
607 58) Merge winbindd with current (more advanced) state of play in APPLIANCE_HEAD
608 59) fix smbclient / Win98 off by one bug
609 60) Never, *ever* hold a mutex lock in the message database where there may be
610     traversals being attempted
611 61) Add LDAP hack for retrieving the SAM sequence number when a member of a
612     Windows 2000 native mode domain
613 62) Fix race condition when changing a machine account password as we were
614     no longer locking the secrets entry
615 63) Allow '@' as a valid character in domain names
616 64) remove jobs from the spool directory when using cups
617 65) removed -lresolv for --enable-ldapsam
618 66) Memory leak fix and correct use of negative caching in winbindd
619 67) Updated spoolss parsing code with known good state of APPLIANCE_HEAD
620 68) Delete printer security check was reversed
621 69) Windows allows delete printer on a handle opened by an admin user, then
622     used on a pipe handle created by an anonymous user...We do to now...
623 70) Make explicit the difference between a tdb key with no data attached, and
624     a non existent entry
625 71) Ensure we register the 1c name on the unicast subnet.
626 72) Fix inheritance problem when recursively setting ACLs on directories
627 73) prevent ACL set on read-only share
628 74) Ensure we never have more than MAX_PRINT_JOBS in a queue
629 75) Added timeout to tdb_lock_bystring()
630 76) Ensure we set FIRST+LAST flags on a bind request
631 77) Add version strings to the usage message for smbcacls and smbpasswd
632 78) Fix bug in the write cache code
633 79) make the default printed values for boolean the same for all parameters
634 80) Default all LDAP connections to v3 with compiling with --with-ldapsam
635 81) Fix memory leak in smbspool
636 82) Fix bug in mangling code that resulted in Win9x clients not being
637     able to execute batch files in deep, non 8.3  directory paths
638 83) Fix infinite looping bug in winbindd_getgrent()
639 84) Fix crash bug on 64-bit systems (merge from HEAD)
640 85) Fix extended character bug when setting LanMan/NT password
641 86) Negotiate same SMB read size as a Windows 2000 file server
642     to fix performance bug with NT4 clients
646 -----------------------------------------------------------------------------
647 The release notes for 2.2.5 follow :
649 There have been several fixes and internal enhancements which include:
651 * Several compile fixes for Solaris and HP-UX
652 * More printing fixes for Windows NT/2k/XP clients
653 * New options for the VFS recycle bin library
654 * New internal signal handling semantics relating to directory change
655   notification and oplocks
657 New/Changed parameters in 2.2.5
658 --------------------------------
660 For more information on these parameters, see the man pages for
661 smb.conf(5).
663 Added/changed parameters
664 ------------------------
666 * block size = <INTEGER>
667 * force unknown acl user = <boolean>
668 * mangling method = [hash|hash2]
671 Deprecated Parameters
672 ---------------------
674 The following parameters have been marked as deprecated and will be removed
675 in Samba 3.0
677 * strip dot
678 * status
681 Removed Parameters
682 ------------------
684   none
687 Changes in 2.2.5
688 ----------------
690 See the cvs log for SAMBA_2_2 for more details
692 1)  Removal of several compiler warnings, incorrect Makefile dependencies,
693     and wrong autoconf tests on various platforms--Solaris & HP-UX 10.20
694     being the predominantly reported platforms
695 2)  Fixed winbindd crash bug on the IBM s390 running Linux
696 3)  Inclusion of enhanced Linux quota support
697 4)  Correctly link against Sun LDAP libraries on Solaris 8 (even through
698     there is no apparent SSL support there)
699 5)  POSIX conformance patches
700 6)  Include new configure --enable-cups option (can also be disabled even
701     if CUPS libraries are installed on the system)
702 7)  Set reasonable default for the "passwd program" parameter using an
703     autoconf test
704 8)  Added --with-winbind-auth for enabling winbindd_pam_auth_crap() code
705 9)  fixed bug to prevent root account from being deleted by the
706     "delete user script"
707 10) Inclusion of autoconf script for building VFS modules
708 11) Add new run time options to the VFS recycle bin library (see
709     examples/VFS/recycle/README for details)
710 12) Include findsmb perl script as part of the "make install" process
711 13) Return correct error code for EnumPrinters(PRINTER_ENUM_REMOTE, InfoLevel1)
712     to fix a bug where printers appear at the workgroup level in the Windows
713     NT/2k APW browse list
714 14) Added support to nmblookup to return NMB flags (See nmblookup(8) for
715     details)
716 15) Fix length bug that caused password changes from Windows NT/2k clients to
717     occasionally fail
718 16) Correct false password expiration when using --with-ldapsam caused by
719     missing attributes in the directory
720 17) added -S option to smbpasswd for storing the SID of a domain controller
721     as the local machine SID in secrets.tdb.  See the smbpasswd(8) man page
722     for details.
723 18) Various fixes for UNIX CIFS extensions commands
724 19) Fixed CIDR notation in "hosts allow/deny"
725 20) Change semantics of an idle connection to mean "no open files and no
726     open handles".  We cannot idle a connection if there are open named
727     pipe handles.  This fixes scalability problem on Samba print servers
728     and NT/2k clients introduced in 2.2.4
729 21) Fix germam umlaut problem when returning ACL entries
730 22) Return NT_STATUS_OBJECT_NAME_NOT_FOUND for ENOENT.  This fixes the bug
731     of running the Microsoft Access executable (msaccess.exe) and database
732     files from a Samba share documented in the 2.2.4 release
733 23) Corrected signal handling relating to directory change notification and
734     kernel oplocks
735 24) Fix bug in unix_to_nt_time() that appeared on files dated close to Daylight
736     Savings Time
737 25) Corrected alignment bug in spoolss parsing code which caused Win2k/XP
738     clients not to be able to view printer properties from a Samba host
739 26) Fixed spoolss parsing bug causing printing from ACT! 2000 running on
740     Windows 2k/XP clients to fail
741 27) Fixed incorrect error check in mod_share_entry()
742 28) Allow %S variable in MS-DFS root paths
743 29) Correct a bug regarding the use of 'wbinfo -A'
744 30) Fixed libnss_wins.so to correctly work on RedHat 7.3 systems
745 31) Store the key for a name-to-sid cache entry in upper case rather than
746     whatever case the request was made in.  This gets rid of duplicate
747     cache entries.
748 32) Fix bug causing the pid stored in winbindd's pid file to be the wrong id
749 33) Enhanced error reporting messages of wbinfo
750 34) Parameterize block size on disk size return
751 35) Added new parameter to allow incoming ACLs to have owner and group forced
752     to the currently logged in user. This fixes the XCOPY /O problem
753 36) Fixed bug in local_change_password() caused by reusing a struct
754     passwd* pointer
755 37) Change default value for "ldap port" to 389 if "ldap ssl = no"
756 38) Updated HOWTO's, manpages, and general documentation....
757 39) Allow root as well as domain admins to open an LDAP connection
758 40) Fixed veto files bug with ".*"
759 41) Fixed uninitialized variable bug in smbpasswd that was causing a random
760     IP address to be used in the connection when joining a domain
761 42) Fix for joining a domain with a netbios name of 15 characters and
762     pre-creating the account on the DC
763 43) Added links to new documentation on SWAT welcome page
767 -----------------------------------------------------------------------------
768 The release notes for 2.2.4 follow :
770 There have been several fixes and internal enhancements which include:
772  * More/better SPOOLSS printing functionality for Windows
773    NT/2k/XP clients.
774  * Several fixes relating to serving PC database files such
775    as (Access and FoxPro) from a Samba file share.
776  * Several improves in Samba's VFS layer which can be seen
777    in the inclusion of a "Recycle Bin" vfs module.  See
778    examples/VFS/README for more details on this.
779  * Addition of a tool (tdbbackup) for backup/restore of Samba's
780    tdb's
781  * Continued improvements to winbind for greater scalability
782    and stability
783  * Several fixes related to Samba's MS-DFS support
784  * Rpcclient's various printer commands now work (again)
787 New/Changed parameters in 2.2.4
788 --------------------------------
790 For more information on these parameters, see the man pages for
791 smb.conf(5).
793 Added/changed parameters
794 ------------------------
796 * csc policy
797 * inherit acls
798 * nt status support
799 * lock spin count
800 * lock spin time
801 * pid directory
802 * winbind use default domain
805 Deprecated parameters
806 ---------------------
808 The following parameters have been marked as deprecated
809 and will be removed in Samba 3.0
811 * postscript
812 * printer driver
813 * printer driver file
814 * printer driver location
817 Removed Parameters
818 ------------------
820   none
823 Changes in 2.2.4
824 ----------------
826 See the cvs log for SAMBA_2_2 for more details
828 1)  added -c option to smbpasswd
829 2)  reworked smbpasswd internal command line option parsing
830 3)  small various bug fixes to experimental pdb_tdb.c
831 4)  Enforce spoolss RPCs based on the access granted at PrinterOpen()
832 5)  Added missing access checks to [add/delete/set]form
833 6)  Compile fixes for pam_smbpass
834 7)  fix smbd crash when netbios session request fails from
835     spoolss_connect_to_client().
836 8)  fixed logic bug that prevent SetPrinter() from storing devmode
837 9)  Removed extra get_printer_snum() calls from set_printer_hnd_name()
838 10) fix joining domain on big endian machine when using -U to smbpasswd
839 11) allow command line arg to override smb.conf log level
840 12) continue to retry to register 1b name with wins server if there is an old IP there
841 13) fix smbclient print crash bug
842 14) 9x pnp fix when the config file and driver file are different
843 15) force testparm to print the correct value for log level
844 16) fix swat to show full log level info
845 17) fix server GetPrinterData() fields to be more sensible
846 18) fix logic error in SetPrinterDataEx()
847 19) Only set smb_read_error if not already set
848 20) Fix string returns that require unicode
849 21) Merge of printing performance fixes from appliance
850 22) lpq parsing fixes
851 23) Back port tridge's xcopy /o fix from HEAD
852 24) Fix the printer change notify code (unfinished)
853 25) Patch for Domain users not showing up
854 26) Fixed SetPrinterData(magic key) to support zero length DEVMODE
855 27) Ensure that all methods of looking up and connecting to DC's work
856     using identical logic.
857 28) Merge in the mutex code to stop multiple domain logon failure
858 29) Ignore 0/0 lock
859 30) Fix winbindd to respect command line debuglevel as nmbd/smbd
860 31) Update with tdbbackup from HEAD
861 32) Fix for typo on solaris nss
862 33) Merge in the locking changes from HEAD
863 34) Added POSIX ACL layer into the vfs
864 35) Fix the returning of domain enum
865 36) Fix the generation of the MACHINE.SID file into the secrets.tdb.
866 37) Enable test for -rdynamic when building binaries
867 38) Remove the "stat open" code - make it inline
868 39) Fix the mp3 rename bug
869 40) Fix for Explorer DFS problems on older Windows 9X machines
870 41) implement OpenPrinter() opnum == 0x01
871 42) Matched W2K *insane* open semantics....
872 43) small fix that will prevent the "failed to marshall
873     R_NET_SAMLOGON" message in the logs
874 42) don't do checking of local passdb in smbpasswd if using -r option
875 43) fix "smbpasswd -j DOMAIN -r * -U Admin%XXXX" so that it doesn't
876     try to connect to a server named '*'
877 44) merge rpcclient code from HEAD
878 45) Ensure MACHINE.SID update done before child spawns
879 46) Fix the bad path errors for mkdir so mkdir \a\b\c\d works
880 47) Removed --with-vfs - always built if available
881 48) Fixed psec for 2.2
882 49) Fixed the handle leak in the connection management code
883 50) fix disable spoolss after the switch to nt status codes
884 51) Added Shirish's client side caching policy change
885 52) Honor the specversion when parsing the the DEVICEMODE
886 53) fix parsing bug when DEVICEMODE's private data does not end
887     on a 4 byte boundary
888 54) do not idle an smbd when there is an open pipe
889 55) when a new driver is added to a Samba server, cycle through
890     all printers and bump the change_id for each one bound to the driver
891 56) allow smbclient to work with a FIFO as well (needed for KDE
892     ioslave)
893 57) various updates to pdb_nisplus.c
894 58) many small documentation updates
895 59) removed many compiler warnings
898 -----------------------------------------------------------------------------
899 The release notes for 2.2.3a follow :
901 This is a minor bugfix release for the 2.2.3 release. The 2.2.3
902 release had a problem that was visible to Windows 2000 Explorer
903 users in that copying files into a share that already existed
904 failed with "Access Denied" rather than asking the user if an
905 overwrite was required. This was due to an incorrect error mapping
906 between the UNIX EXIST error code and the NT status error.
908 As Windows Explorer is a highly visible end user application a quick
909 bugfix release was required, hence 2.2.3a.
911 Compilation on HP-UX versions earlier than HP-UX 11 has also been
912 corrected.
914 The cvs.log file is no longer included with this release, as it adds
915 13Mb to the size of the release, and is easily available on the Web.
917 -----------------------------------------------------------------------------
918 The release notes for 2.2.3 follow :
920 There are several important scaling bugs that have been fixed in this release
921 for large server systems so an upgrade is recommended.
923 LDAP update
924 -----------
926 Much work has been done on the LDAP backend code. The configure
927 option --with-ldapsam is now considered to be stable. The schema
928 used has changed, see the file examples/LDAP/samba.schema for the
929 new schema.
931 New documentation explaining how to set up a Samba only PDC/BDC
932 setup has been added in the files Samba-LDAP-HOWTO and Samba-BDC-HOWTO
933 in the documentation tree.
935 winbindd daemon extended
936 ------------------------
938 Samba 2.2.2 was the first release to include the winbind daemon.
939 This code allows UNIX systems that implement the name service
940 switch (nss) to be entered into a Windows NT/2000 domain and
941 use the Domain controller for all user and group enumeration.
943 Samba 2.2.3 fixes the known memory leaks in winbindd and has
944 been extended to work with SGI IRIX and HP-UX (11.x) in addition
945 to the earlier targets of Linux and Solaris.
947 For more information on using winbind, see the man pages for
948 winbindd and wbinfo.
950 Note that winbindd is not installed by default.
952 New/Changed parameters in 2.2.3
953 --------------------------------
955 For more information on these parameters, see the man pages for
956 smb.conf.
958 Added/changed parameters.
959 -------------------------
961 unix extensions
963 Enables the experimental UNIX CIFS extensions in smbd. See the manpage
964 for more details.
966 default devmode
968 Some printer drivers will crash the Windows NT/2000 spooler service
969 if they are given a default devmode, some require it. This parameter
970 allows the administrator a choice of whether smbd returns such a
971 default devmode for a driver.
973 share modes
975 This parameter has been restored to allow people who wish smbd to ignore
976 client share modes. This is *very dangerous* and should not be set without
977 full knowledge of what this is designed for.
979 Changes in 2.2.3
980 -----------------
982 1). Fixed shared library compile for Solaris with native compiler.
983 2). UNIX CIFS extensions code added (donated by HP).
984 3). Changed to using NT status codes on the wire if the client can support
985 this.
986 4). altname command to show 8.3 name added to smbclient.
987 5). const-safe endian macros now used.
988 6). client code now uses UNICODE on the wire.
989 7). Correctly return fault PDU's on bad handle.
990 8). Improved NT error code mapping table.
991 9). Many new point and print RPC calls added.
992 10). Win9x clients can now see full user list.
993 11). field added to identify simultaneous open files (no longer
994 use dev/inode/time as unique value).
995 12). HP-UX ACL code added (donated by HP).
996 13). vfs interfaces updated (again !).
997 14). MSDOS Code Page 866 -> 1251 mapping added.
998 15). winbindd now processes quit/hup signals correctly.
999 16). No tdb traversal done on startup/shutdown - ensures scalability.
1000 17). Fix bug with paths for homes share.
1001 18). Fixed copyfile for OS/2.
1002 19). Fix group membership when groups are on more than one line.
1003 20). Fixed core dumps in posix ACL mapping code.
1004 21). Tidyup of UNICODE functions (put/get).
1005 22). Move rpcclient to the new libsmb code.
1006 23). Add missing Windows 2000 passthough trans2 calls.
1007 24). Return check all tdb calls.
1008 25). Make local name lookup work even if wins server is down.
1009 26). pam session code added to winbind.
1010 27). Added winbindd cache to all lookups.
1011 28). Fix allocate bugs that caused file sizes to be incorrect.
1012 29). Fixed write cache code - now safe to use.
1013 30). Fixed winbindd memory leaks.
1014 31). winbindd will now do name lookups (to allow non Open Source
1015 systems to do the nsswitch WINS lookup). Fixed by SGI.
1016 32). passdb memory leaks fixed.
1017 33). LDAP code updates and now properly maintained.
1018 34). Finally figured out how changeid is meant to work.
1019 35). Downlevel printing now looks as NT does in print monitor window.
1020 36). Many fixups in spoolss printing RPC parsing.
1021 37). Speed up password enumeration as a PDC.
1022 38). Fix printer changed notify messages (work from HP).
1023 39). Fix modify timestamp on close code.
1024 40). Fix long standing mangled names bug.
1025 41). Fix delete on close semantics.
1026 42). Stop opening all files with O_NONBLOCK !
1027 43). Use O_NOFOLLOW for systems that have it and don't want symlinks.
1028 44). Ensure NT supplementary groups get added to user token.
1029 45). Try and mitigate effects of DNS timeout (do less lookups).
1030 46). Added current user connection context stack.
1031 47). Fixes to utmp code.
1032 48). smbw code tidyups.
1033 49). Added tdb open log code. Several tdb fixes.
1035 -----------------------------------------------------------------------------
1036 The release notes for 2.2.2 follow :
1038 New daemon included - winbindd
1039 ------------------------------
1041 Samba 2.2.2 is the first release to include the winbind daemon.
1042 This code allows UNIX systems that implement the name service
1043 switch (nss) to be entered into a Windows NT/2000 domain and
1044 use the Domain controller for all user and group enumeration.
1046 This allows a Samba server added to a Windows domain to serve
1047 file and print services with *NO* local users needed in /etc/passwd
1048 and /etc/group - all users and groups are read directly from the
1049 Windows domain controller. In addition with pam_winbind which allows
1050 a PAM enabled UNIX system to use a Windows domain for authentication
1051 service this allows single sign on and account control across
1052 UNIX and Windows systems.
1054 The current version of winbindd shipped in 2.2.2 does have some
1055 memory leaks, which will be addressed for the next Samba release,
1056 so it is advisable to monitor the winbind process. This code is
1057 being used in production by several vendors, so the leaks are
1058 manageable. In addition, this version of winbind does not work
1059 correctly against a Samba PDC, due to some missing calls on the
1060 PDC side. These problems are being addressed for the next Samba
1061 release, but it was thought better to release the code now rather
1062 than delay the main Samba code to match the winbind release schedule.
1064 For more information on using winbind, see the man pages for
1065 winbindd and wbinfo.
1067 Note that winbindd is not installed by default.
1069 New/Changed parameters in 2.2.2
1070 -------------------------------
1072 For more information on these parameters, see the man pages for
1073 smb.conf.
1075 Added/changed parameters.
1076 -------------------------
1078 strict allocate
1080 Causes Samba not to create UNIX 'sparse' files, but to follow the
1081 Windows behavior of always allocating on-disk space.
1083 use mmap
1085 Set to 'on' by default, only set to 'off' on HP-UX 11.x or below or other
1086 UNIX systems that don't have coherent mmap/read-write internal caches.
1087 You should not need to set this parameter.
1089 nt acl support
1091 This parameter has been changed to a per-share option, and is very
1092 useful in enabling Windows 2000 SP2 to load/save profiles from a 
1093 Samba share.
1095 New printing parameters.
1096 ------------------------
1098 disable spoolss
1100 Setting this parameter causes Samba to go back to the old 2.0.x
1101 LANMAN printing behavior, for people who wish to disable the
1102 new SPOOLSS pipe.
1104 use client driver
1106 Causes Windows NT/2000 clients to need have a local printer driver
1107 installed and to treat the printer as local.
1109 New LDAP parameters.
1110 --------------------
1112 Samba 2.2.2 contains new code to maintain a Samba SAM database
1113 on a remote LDAP server. These parameters have been added as
1114 part of this code. These parameters are only available when Samba
1115 has been compiled with the --with-ldapsam option.
1117 ldap admin dn
1118 ldap ssl
1120 New SSL parameters.
1121 -------------------
1123 The SSL support in Samba has been fixed. These new parameters
1124 are part of the changes added. These parameters are only available
1125 when Samba has been compiled with the --with-ssl option. 
1126 Please see the smb.conf man page for details.
1128 ssl egd socket
1129 ssl entropy file
1130 ssl entropy bytes
1132 New winbindd parameters.
1133 ------------------------
1135 These parameters are used by winbindd. See the man page for
1136 winbindd for details.
1138 winbind separator
1139 winbind uid
1140 winbind gid
1141 winbind cache time
1142 winbind enum users
1143 winbind enum groups
1144 template homedir
1145 template shell
1147 Removed parameters.
1148 -------------------
1150 share modes
1151 ldap root
1152 ldap root passwd
1154 New Documentation.
1155 ------------------
1157 Some new README's have been added in the docs/ directory. These cover
1158 using roving profiles with Windows 2000 SP2 (docs/README.Win2kSP2),
1159 and how to use Samba to help prevent Windows virus spread
1160 (docs/README.Win32-Viruses).
1162 Quota problems on a Linux 2.4 kernel.
1163 -------------------------------------
1165 Currently the quota interfaces have diverged between the Linus
1166 2.4.x kernels and the Alan Cox 2.4.x kernels (the Alan Cox variants
1167 are shipped with RedHat). Running quota-enabled Samba compiled on
1168 an Alan Cox kernel works correctly on an Alan Cox kernel (the one
1169 shipped by default with RedHat 7.x) but fails on a Linus kernel.
1171 This is a mess, and hopefully Alan and Linus will sort it out soon.
1172 In the meantime we need to ship.....
1174 Changes in 2.2.2
1175 -----------------
1177 1). mmap tdb code disabled on HP-UX. This should prevent the reports of
1178 tdb corruption on HUPX.
1179 2). Large file support set to off in Solaris 5.5 and below.
1180 3). Better CUPS detection.
1181 4). New SAM (password database) backends - smbpasswd (traditional),
1182 LDAP, NIS+ and Samba TDB.
1183 5). Quota fixups on Linux.
1184 6). libsmbclient stand-alone code added. Can be built as a shared library
1185 under Linux.
1186 7). Tru64 ACL support added.
1187 8). winbindd option added.
1188 9). Realloc fail tidyup fixes all over the code.
1189 10). Large improvement in hash table code efficiency - would be found with
1190 large stat caches.
1191 11). Error code consistency improved (still needs more work).
1192 12). Profile shared memory support added to nmbd.
1193 13). New Windows 2000/NT passthrough info levels added.
1194 14). readraw/writeraw code rewritten - many bugs fixed.
1195 15). UNIX password sync (non pam) code fixed, use correct wildcard matcher.
1196 16). Reverse DNS lookup avoided on socket open.
1197 17). Bug preventing nmbd re-registering names on WINS server timeout fixed.
1198 18). Zero length byte range lock code added. Much closer to Windows semantics.
1199 19). Alignment fault fixes for Linux/Alpha.
1200 20). Error checking on tdb returns vastly improved.
1201 21). Handling of delete on close fixed. No longer possible to leave 'dead'
1202 file entries.
1203 22). Handling of oplock break failure cleanups improved. Should not be
1204 able to leave 'dead' entries.
1205 23). Fix handling of errors trying to set 64 bit locks on 32 bit NFS mounts.
1206 24). Misc. MS-DFS code fixes.
1207 25). Ignore logon packets if not a PDC (needed for PDC/BDC failover).
1208 26). winbind pam module added.
1209 27). Order N^^2 enumeration of printers problem fixed.
1210 28). Password backend database code re-ordered to allow different password
1211 backends (at compile time currently).
1212 29). Improved print driver version detection for Windows 2000.
1213 30). Driver DEVMODE initialization fixes.
1214 31). Improved SYSV print parse code.
1215 32). Fixed enumeration of large numbers of users/groups from Windows clients.
1216 Code still too slow.
1217 33). Fix for buggy NetApp RPC pipe clients.
1218 34). Fix for NT sending multiple SetPrinterDataEx calls.
1219 35). Fix for logic bug where smbd could delay oplock break request messages
1220 from other smbd daemons whilst client kept us busy.
1221 36). Fix deadlock problem with connections tdb on enumeration.
1222 37). Fixes for setting/getting NT ACLs - improved POSIX mapping both ways.
1223 38). Removed unused readbmpx/writebmpx code.
1224 39). Attempt to fix Linux 2.4.x quota mess.
1225 40). Improved ctemp code for Windows 2000 compatibility.
1226 41). Finally understood difference between set EOF and set allocation requests.
1227 Added strict allocate parameter to help.
1228 42). Correctly return name types on name to SID lookups.
1229 43). tdb spinlock code update.
1230 44). Use pread/pwrite on systems that have it to fix race condition in tdb code.
1232 -----------------------------------------------------------------------------
1233 The release notes for 2.2.1a follow :
1235 This is a minor bugfix release for 2.2.1, *NOT* security related.
1237 1). 2.2.1 had a bug where using smbpasswd -m to add a Windows NT or
1238 Windows2000 machine into a Samba hosted PDC would fail due to our
1239 stricter user name checking. We were disallowing user names
1240 containing '$', which is needed when using smbpasswd to add a
1241 machine into a domain. Automatically adding machines (using the
1242 native Windows tools) into a Samba domain worked correctly.
1244 2.2.1a fixes this single problem.
1246 -----------------------------------------------------------------------------
1247 The release notes for 2.2.1 follow :
1249 New/Changed parameters in 2.2.1
1250 -------------------------------
1252 Added parameters.
1253 -----------------
1255 obey pam restrictions
1257 When Samba is configured to use PAM, turns on or off Samba checking
1258 the PAM account restrictions. Defaults to off.
1260 pam password change
1262 When Samba is configured to use PAM, turns on or off Samba passing
1263 the password changes to PAM. Defaults to off.
1265 large readwrite
1267 New option to allow new Windows 2000 large file (64k) streaming
1268 read/write options. Needs a 64 bit underlying operating system
1269 (for Linux use kernel 2.4 with glibc 2.2 or above). Can improve performance
1270 by 10% with Windows 2000 clients. Defaults to off. Not as tested
1271 as some other Samba code paths.
1273 hide unreadable
1275 Prevents clients from seeing the existence of files that cannot
1276 be read. Off by default.
1278 enhanced browsing
1280 Turn on/off the enhanced Samba browsing functionality (*1B names).
1281 Default is "on". Can prevent eternal machines in workgroups when
1282 WINS servers are not synchronized.
1284 Removed parameters.
1285 -------------------
1287 domain groups
1288 domain admin users
1289 domain guest users
1291 Changes in 2.2.1
1292 -----------------
1294 1). "find" command removed for smbclient. Internal code now used.
1295 2). smbspool updates to retry connections from Michael Sweet.
1296 3). Fix for mapping 8859-15 characters to UNICODE.
1297 4). Changed "security=server" to try with invalid username to prevent
1298     account lockouts.
1299 5). Fixes to allow Windows 2000 SP2 clients to join a Samba PDC.
1300 6). Support for Windows 9x Nexus tools to allow security changes from Win9x.
1301 7). Two locking fixes added. Samba 2.2.1 now passes the Clarion network
1302     lock tester tool for distributed databases.
1303 8). Preliminary support added for Windows 2000 large file read/write SMBs.
1304 9). Changed random number generator in Samba to prevent guess attacks.
1305 10). Fixes for tdb corruption in connections.tdb and file locking brlock.tdb.
1306      smbd's clean the tdb files on startup and shutdown.
1307 11). Fixes for default ACLs on Solaris.
1308 12). Tidyup of password entry caching code.
1309 13). Correct shutdowns added for send fails. Helps tdb cleanup code.
1310 14). Prevent invalid '/' characters in workgroup names.
1311 15). Removed more static arrays in SAMR code.
1312 16). Client code is now UNICODE on the wire.
1313 17). Fix 2 second timestamp resolution everywhere if dos timestamp set to yes.
1314 18). All tdb opens now going through logging function.
1315 19). Add pam password changing and pam restrictions code.
1316 20). Printer driver management improvements (delete driver).
1317 21). Fix difference between NULL security descriptors and empty
1318      security descriptors.
1319 22). Fix SID returns for server roles.
1320 23). Allow Windows 2000 mmc to view and set Samba share security descriptors.
1321 24). Allow smbcontrol to forcibly disconnect a share.
1322 25). tdb fixes for HP-UX, OpenBSD and other OS's that don't have a coherent
1323      mmap/file read/write cache.
1324 26). Fix race condition in returning create disposition for file create/open.
1325 27). Fix NT rewriting of security descriptors to their canonical form for
1326      ACLs.
1327 28). Fix for Samba running on top of Linux VFAT ftruncate bug.
1328 29). Swat fixes for being run with xinetd that doesn't set the umask.
1329 30). Fix for slow writes with Win9x Explorer clients. Emulates Microsoft
1330      TCP stack early ack specification error.
1331 31). Changed lock & persistent tdb directory to /var/cache/samba by default on
1332      RedHat and Mandrake as they clear the /var/lock/samba directory on reboot.
1334 -----------------------------------------------------------------------------
1335 The release notes for 2.2.0a follow :
1337 SECURITY FIX
1338 ============
1340 This is a security bugfix release for Samba 2.2.0. This release provides the
1341 following two changes *ONLY* from the 2.2.0 release.
1343 1). Fix for the security hole discovered by Michal Zalewski (lcamtuf@bos.bindview.com)
1344     and described in the security advisory below.
1345 2). Fix for the hosts allow/hosts deny parameters not being honoured.
1347 No other changes are being made for this release to ensure a security fix only.
1348 For new functionality (including these security fixes) download Samba 2.2.1
1349 when it is available.
1351 The security advisory follows :
1354                 IMPORTANT: Security bugfix for Samba
1355                 ------------------------------------
1357 June 23rd 2001
1360 Summary
1361 -------
1363 A serious security hole has been discovered in all versions of Samba
1364 that allows an attacker to gain root access on the target machine for
1365 certain types of common Samba configuration.
1367 The immediate fix is to edit your smb.conf configuration file and
1368 remove all occurances of the macro "%m". Replacing occurances of %m
1369 with %I is probably the best solution for most sites.
1371 Details
1372 -------
1374 A remote attacker can use a netbios name containing unix path
1375 characters which will then be substituted into the %m macro wherever
1376 it occurs in smb.conf. This can be used to cause Samba to create a log
1377 file on top of an important system file, which in turn can be used to
1378 compromise security on the server.
1380 The most commonly used configuration option that can be vulnerable to
1381 this attack is the "log file" option. The default value for this
1382 option is VARDIR/log.smbd. If the default is used then Samba is not
1383 vulnerable to this attack.
1385 The security hole occurs when a log file option like the following is
1386 used:
1388   log file = /var/log/samba/%m.log
1390 In that case the attacker can use a locally created symbolic link to
1391 overwrite any file on the system. This requires local access to the
1392 server.
1394 If your Samba configuration has something like the following:
1396   log file = /var/log/samba/%m
1398 Then the attacker could successfully compromise your server remotely
1399 as no symbolic link is required. This type of configuration is very
1400 rare.
1402 The most commonly used log file configuration containing %m is the
1403 distributed in the sample configuration file that comes with Samba:
1405   log file = /var/log/samba/log.%m
1407 in that case your machine is not vulnerable to this attack unless you
1408 happen to have a subdirectory in /var/log/samba/ which starts with the
1409 prefix "log."
1411 Credit
1412 ------
1414 Thanks to Michal Zalewski (lcamtuf@bos.bindview.com) for finding this
1415 vulnerability.
1418 New Release
1419 -----------
1421 While we recommend that vulnerable sites immediately change their
1422 smb.conf configuration file to prevent the attack we will also be
1423 making new releases of Samba within the next 24 hours to properly fix
1424 the problem. Please see http://www.samba.org/ for the new releases.
1426 Please report any attacks to the appropriate authority.
1428         The Samba Team
1429         security@samba.org
1431 ---------------------------------------------------------------------------
1433 The release notes for 2.2.0 follow :
1435 This is the official Samba 2.2.0 release. This version of Samba provides
1436 the following new features and enhancements.
1438 Integration between Windows oplocks and NFS file opens (IRIX and Linux
1439 2.4 kernel only). This gives complete data and locking integrity between
1440 Windows and UNIX file access to the same data files.
1442 Ability to act as an authentication source for Windows 2000 clients as
1443 well as for NT4.x clients.
1445 Integration with the winbind daemon that provides a single
1446 sign on facility for UNIX servers in Windows 2000/NT4 networks
1447 driven by a Windows 2000/NT4 PDC. winbind is not included in
1448 this release, it currently must be obtained separately. We are
1449 committed to including winbind in a future Samba 2.2.x release.
1451 Support for native Windows 2000/NT4 printing RPCs. This includes
1452 support for automatic printer driver download.
1454 Support for server supported Access Control Lists (ACLs).
1455 This release contains support for the following filesystems: 
1457     Solaris 2.6+ 
1458     SGI Irix 
1459     Linux Kernel with ACL patch from http://acl.bestbits.at
1460         Linux Kernel with XFS ACL support.
1461         Caldera/SCO UnixWare
1462         IBM AIX
1463         FreeBSD (with external patch)
1465 Other platforms will be supported as resources are
1466 available to test and implement the necessary modules. If
1467 you are interested in writing the support for a particular
1468 ACL filesystem, please join the samba-technical mailing
1469 list and coordinate your efforts. 
1471 On PAM (Pluggable Authentication Module) based systems - better debugging
1472 messages and encrypted password users now have access control verified via
1473 PAM - Note: Authentication still uses the encrypted password database.
1475 Rewritten internal locking semantics for more robustness.
1476 This release supports full 64 bit locking semantics on all
1477 (even 32 bit) platforms. SMB locks are mapped onto POSIX
1478 locks (32 bit or 64 bit) as the underlying system allows.
1480 Conversion of various internal flat data structures to use
1481 database records for increased performance and
1482 flexibility.
1484 Support for acting as a MS-DFS (Distributed File System) server.
1486 Support for manipulating Samba shares using Windows client tools
1487 (server manager). Per share security can be set using these tools
1488 and Samba will obey the access restrictions applied.
1490 Samba profiling support (see below).
1492 Compile time option for enabling a (Virtual file system) VFS layer 
1493 to allow non-disk resources to be exported as Windows filesystems
1494 (such as databases etc.).
1496 The documentation in this release has been updated and converted
1497 from Yodl to DocBook 4.1. There are many new parameters since 2.0.7
1498 and some defaults have changed.
1500 Profiling support.
1501 ------------------
1502 Support for collection of profile information. A shared 
1503 memory area has been created which contains counters for
1504 the number of calls to and the amount of time spent in
1505 various system calls, smb transactions and nmbd activity. See 
1506 the file profile.h for a complete listing of the information 
1507 collected. Sample code for a samba pmda (collection agent
1508 for Performance Co-Pilot) has been included in the pcp
1509 directory. 
1511 To enable the profile data collection code in samba, you must 
1512 compile samba with profile data support (run configure with 
1513 the --with-profiling-data option). On startup, collection of 
1514 data is disabled. To begin collecting data use the smbcontrol
1515 program to turn on profiling (see the smbcontrol man page).
1516 Profile information collection can be enabled for nmbd, all smbd
1517 processes or one or more selected processes. The profiling
1518 data collected is the aggregate for all processes that have
1519 profiling enabled.
1521 With samba compiled for profile data collection, you may see
1522 a very slight degradation in performance even with profiling
1523 collection turned off. On initial tests with NetBench on an
1524 SGI Origin 200 server, this degradation was not measurable 
1525 with profile collection off compared to no profile collection
1526 compiled into samba.
1528 With count profile collection enabled on all clients, the 
1529 degradation was less than 2%. With full profile collection 
1530 enabled on all clients, the degradation was about 8.5%. 
1532 =====================================================================
1534 If you think you have found a bug please email a report to :
1536         samba@samba.org
1538 As always, all bugs are our responsibility.
1540 Regards,
1542         The Samba Team.