few edits
[Samba.git] / WHATSNEW.txt
blobc30277aba692da20c1b9d971ff4041dbf40e6652
1             WHAT'S NEW IN Samba 2.2.7a - 10th December 2002
2             ===============================================
4 This is the latest stable release of Samba. This is the version 
5 that all production Samba servers should be running for all current
6 bug-fixes.  The primary reason for this release is to correct problems
7 with large file (>2Gb) support.   Please see the "Changes..." section
8 for more details.
12 Changes since 2.2.7
13 --------------------
15 See the cvs log for SAMBA_2_2 for more details
17 1)  Fix for smbclient reporting negative file sizes on dir command
18     and negative statitistics being reported when using put or get
19     on large files.
20 2)  Fix bug in determination of allocation size
21 3)  Fix 64bit size problems which prevented copying of files larger
22     than 2 GBytes.
23 4)  Fix for xcopy /s problem with old DOS clients not sending correct
24     attributes on subsequent SMBsearch calls.
25 5)  Fix bug in call to standard_sub_advanced giving a 0 length. This
26     fixes the string overflow in string_sub errors.
27 6)  Correctly handle querygroup rpcclient command
30               =========================================
32 Older releases notes for 2.2.x distributions follow
34 -----------------------------------------------------------------------------
35 The release notes for 2.2.7 follow :
37 IMPORTANT: Security bugfix for Samba
38 ------------------------------------
40 Summary
41 -------
43 A security hole has been discovered in versions 2.2.2 through 2.2.6 
44 of Samba that could potentially allow an attacker to gain root access
45 on the target machine.  The word "potentially" is used because there 
46 is no known exploit of this bug, and the Samba Team has not been able to
47 craft one ourselves. However, the seriousness of the problem warrants
48 this immediate 2.2.7 release.
50 In addition to addressing this security issue, Samba 2.2.7 also includes
51 thirteen unrelated improvements. These improvements result from our
52 process of continuous quality assurance and code review, and are part of
53 the Samba team's committment to excellence.
55 Details
56 -------
58 There was a bug in the length checking for encrypted password change
59 requests from clients. A client could potentially send an encrypted
60 password, which, when decrypted with the old hashed password could be
61 used as a buffer overrun attack on the stack of smbd. The attach would
62 have to be crafted such that converting a DOS codepage string to little
63 endian UCS2 unicode would translate into an executable block of code.
65 All versions of Samba between 2.2.2 to 2.2.6 inclusive are vulnerable
66 to this problem. This version of Samba 2.2.7 contains a fix for this
67 problem.
69 Earlier versions of Samba are not vulnerable.
71 There is no known exploit or exploit code for this vulnerability,
72 it was discovered by a code audit by Debian Samba maintainers.
74 Credit
75 ------
77 Thanks to Steve Langasek <vorlon@debian.org> and Eloy Paris
78 <peloy@debian.org> for bringing this vulnerability to our notice.
80 Patch for Samba versions 2.2.2 to 2.2.6
81 ---------------------------------------
83 The following patch applies cleanly to the above Samba versions
84 and will fix the vulnerability for sites that do not wish to upgrade
85 to 2.2.7 at this time.
88 -------------------------------cut here---------------------------------
89 --- libsmb/smbencrypt.c.orig    Tue Nov 19 17:21:57 2002
90 +++ libsmb/smbencrypt.c Tue Nov 19 17:22:12 2002
91 @@ -63,7 +63,7 @@
92         if(len > 128)
93                 len = 128;
94         /* Password must be converted to NT unicode - null terminated. */
95 -       dos_struni2((char *)wpwd, (const char *)passwd, 256);
96 +       dos_struni2((char *)wpwd, (const char *)passwd, len);
97         /* Calculate length in bytes */
98         len = strlen_w((const smb_ucs2_t *)wpwd) * sizeof(int16);
99 -------------------------------cut here---------------------------------
103 Changes since 2.2.6
104 --------------------
106 See the cvs log for SAMBA_2_2 for more details
108 1)  ensure we send the notify message in the same way it is expected
109     to be received by srv_spoolss_receive_message().
110 2)  attribute matching on truncate only matters when opening truncate
111     with current SYSTEM|HIDDEN -> NONE. It's fine to truncate on open
112     with current NONE -> SYSTEM | HIDDEN.
113 3)  Fix bug in rpcclient's deldriver command
114 4)  Don't set global_machine_password_needs_changing if
115     lp_machine_password_timeout() is set to zero
116 5)  don't parse the BUFFER5 if the buffer length is zero
117 6)  fix core dump if pdbedit is run as non-root or smbpasswd file does
118     not exist
119 7)  Ensure can_delete() returns correct error code
120 8)  correctly return NT_STATUS_DELETE_PENDING from open code
121 9)  fix bug that assumed dos_unistr2 length was in ucs2 units, not bytes
122 10) check the long_archi name is not null when deleting a printer driver.
123     fixes core dump in smbd when using rpcclient's deldriver
124 11) fix fd leak with kernel change notify on Linux 2.4 kernels
125 12) must add one to the extra_data size to transfer the 0 string
126     terminator.  This was causing "wbinfo --sequence" to access past the
127     end of malloced memory
128 13) fix for large systems allowing more than 65536 files open in
129     NTcreate&X
130 14) Fix bug in %U expansion
134 -----------------------------------------------------------------------------
135 The release notes for 2.2.6 follow :
137 There have been several fixes and internal enhancements which include:
139  * Fixes for MS-RPC printing issues affecting Windows 2000 clients
140  * New support for smb.conf generation in SWAT
141  * Inclusion of several performance enhancements (See --with-sendfile
142    & and the modified smb.conf(5) parameters in these Release Notes)
143  * Fixes for several file locking bugs and returned status codes
146 New Parameters
147 --------------
149 Refer to the smb.conf(5) man page for complete descriptions of new parameters.
151   * profile acls (S)            workaround for issue with WinXP SP1
152                                 and roaming user profiles
154 Removed Parameters
155 ------------------
157   * max packet (G)
158   * packet size (G)
160 Modified Parameters
161 -------------------
163   * max xmit (G)                new default value
164   * large readwrite (G)         new default value
166 New ./configure Options
167 -----------------------
169   --with-sendfile               Enable experimental sendfile support
170   --with-winbind-ldap-hack      Enable winbindd_ldap_hack() functionality
171                                 for Windows 2000 native mode domains
174 Changes since 2.2.5
175 --------------------
177 See the cvs log for SAMBA_2_2 for more details
179 1)  Fixed several compiler warnings caused by the use of const parameters
180 2)  Fixed a hang in the main smbd process caused by an EINTR in the
181     wrong place
182 3)  Fixed string substitutions to accept a length for sanity checks
183 4)  Fixed 17-bit length field in nmb header
184 5)  Removed non-portable inline declaration for functions
185 6)  Performance fix for including files with an smb.conf variable in the
186     path name
187 7)  Fix for parsing LPRng lpq output
188 8)  Parsing fix for PRINTER_INFO_2 structure which was causing viewing
189     printer properties to fail
190 9)  Fix for printer change notification and Windows NT clients which caused
191     the client to go into an infinite loop of refreshing the local printers
192     folder
193 10) Allow trans2 and nttrans messages to be processed in oplock break state
194     which fixes a problem with oplock break requests and Win2k clients
195 11) Don't crash on setfileinfo on printer fsp
196 12) Memory fixes caught by Valgrind
197 13) Updates to stop spurious error message in tdb
198 14) Fix silly logic bug in 'make smbd processes' and 'status = no' check
199 15) Fix compilation of pam_smbpass and --with-ldap
200 16) Fix compilation of smbwrapper on Solaris hosts
201 17) fix logic error in a check for enabling the winbind_pam_auth_crap() code
202     & fix formatting typo in --with-winbind-auth-challenge
203 18) Correcting check for ldap_start_tls()
204 19) Fixed a problem with getgroups() where it could include our current
205     effective gid
206 20) fix incorrect semantics in the DeletePrinterDriver() spoolss rpc
207     to only attempt to delete the architecture specified by the client
208 21) Don't allow TEMP attribute on directory open
209 22) Restore VxFS quotas to the 2.2 branch
210 23) Added basic "Wizard" functionality to SWAT
211 24) Fix initial "allocation size" in NTcreate&X call
212 25) Fix for open fid, "nametoolong"
213 26) Exit server on receipt of a non-SMB packet.  Ensure we have
214     at least smb_size bytes before processing a packet
215 27) Replace inet_aton with inet_addr() to correct compile problems on Solaris
216 28) Include the "account" objectclass when adding a new account to --with-ldapsam
217     in order to comply with the data model implemented by OpenLDAP 2.1.x
218 29) Various fixes for POSIX compliance
219 30) Correct alignment & offset bug in EnumPrinterDataEx()
220 31) Fix access checks when modifying forms using a print server handle
221     (not just a printer handle)
222 32) Account for case data_len == 0 in EnumPrinterDataEx()
223 33) Fix logic error in blocking lock code
224 34) Fixed various incorrect return codes to clients
225 35) Add RESOLVE_DFSPATH to mkdir operations
226 36) Fix longstanding bug in Win2k clients by clearing the shortname
227     buffer before returning ASCII short name
228 37) added -t option to smbpasswd for explicitly changing a trust
229     account password when operating in security = domain
230 38) installed -x option to testparm to eXclude printing all parameter
231     values that are at default settings.
232 39) Fix shares/printers view in SWAT so that only Basic options are exposed
233     upon initial entry.
234 40) Added 1125 & KOI8-U to codepage list in Makefile.in
235 41) Include separate configure checks for *openbsd* & *freebsd* when
236     determining flags used to compile shared libraries.
237 42) Merge in free list unlock on error fix
238 43) Correctly fail opens with mismatching SYSTEM or HIDDEN attributes
239     if we are mapping system or hidden
240 44) Fix bug with stat mode open being done on read-only open with truncate
241 45) Fix crash bug discovered where cli struct was being deallocated in a
242     called function
243 46) Ensure we open UNIX fifo's non-blocking
244 47) Fix DeletePrinterDriver() (hopefully for the last time...yeah right....)
245 48) only lowercase global_myname in the %L substitution, not the whole string
246 49) Merged Steve French's fix for OS/2 EA return error being removed
247 50) Patch from Steve French to fix difference in responses to smbclient
248     //server/share ls / on Samba and Windows 2000
249 51) Print error and exit if smb.conf doesn't have security=domain and
250     encrypt passwords=yes when joining domain
251 52) Added final Steve French patch for "required" attributes with old dir
252     listings
253 53) Initialize user_rid value in WINBIND_USERINFO structure returned by
254     the rpc version of query_user()
255 54) Ensure we've failed a lock with a lock denied message before automatically
256     pushing it onto the blocking queue
257 55) Add experimental --with-sendfile code
258 56) alignment fix in printing code merged from HEAD
259 57) Merge fix for other sids in token from HEAD
260 58) Merge winbindd with current (more advanced) state of play in APPLIANCE_HEAD
261 59) fix smbclient / Win98 off by one bug
262 60) Never, *ever* hold a mutex lock in the message database where there may be
263     traversals being attempted
264 61) Add LDAP hack for retrieving the SAM sequence number when a member of a
265     Windows 2000 native mode domain
266 62) Fix race condition when changing a machine account password as we were
267     no longer locking the secrets entry
268 63) Allow '@' as a valid character in domain names
269 64) remove jobs from the spool directory when using cups
270 65) removed -lresolv for --enable-ldapsam
271 66) Memory leak fix and correct use of negative caching in winbindd
272 67) Updated spoolss parsing code with known good state of APPLIANCE_HEAD
273 68) Delete printer security check was reversed
274 69) Windows allows delete printer on a handle opened by an admin user, then
275     used on a pipe handle created by an anonymous user...We do to now...
276 70) Make explicit the difference between a tdb key with no data attached, and
277     a non existent entry
278 71) Ensure we register the 1c name on the unicast subnet.
279 72) Fix inheritance problem when recursively setting ACLs on directories
280 73) prevent ACL set on read-only share
281 74) Ensure we never have more than MAX_PRINT_JOBS in a queue
282 75) Added timeout to tdb_lock_bystring()
283 76) Ensure we set FIRST+LAST flags on a bind request
284 77) Add version strings to the usage message for smbcacls and smbpasswd
285 78) Fix bug in the write cache code
286 79) make the default printed values for boolean the same for all parameters
287 80) Default all LDAP connections to v3 with compiling with --with-ldapsam
288 81) Fix memory leak in smbspool
289 82) Fix bug in mangling code that resulted in Win9x clients not being
290     able to execute batch files in deep, non 8.3  directory paths
291 83) Fix infinite looping bug in winbindd_getgrent()
292 84) Fix crash bug on 64-bit systems (merge from HEAD)
293 85) Fix extended character bug when setting LanMan/NT password
294 86) Negotiate same SMB read size as a Windows 2000 file server
295     to fix performance bug with NT4 clients
299 -----------------------------------------------------------------------------
300 The release notes for 2.2.5 follow :
302 There have been several fixes and internal enhancements which include:
304 * Several compile fixes for Solaris and HP-UX
305 * More printing fixes for Windows NT/2k/XP clients
306 * New options for the VFS recycle bin library
307 * New internal signal handling semantics relating to directory change
308   notification and oplocks
310 New/Changed parameters in 2.2.5
311 --------------------------------
313 For more information on these parameters, see the man pages for
314 smb.conf(5).
316 Added/changed parameters
317 ------------------------
319 * block size = <INTEGER>
320 * force unknown acl user = <boolean>
321 * mangling method = [hash|hash2]
324 Deprecated Parameters
325 ---------------------
327 The following parameters have been marked as deprecated and will be removed
328 in Samba 3.0
330 * strip dot
331 * status
334 Removed Parameters
335 ------------------
337   none
340 Changes in 2.2.5
341 ----------------
343 See the cvs log for SAMBA_2_2 for more details
345 1)  Removal of several compiler warnings, incorrect Makefile dependencies,
346     and wrong autoconf tests on various platforms--Solaris & HP-UX 10.20
347     being the predominantly reported platforms
348 2)  Fixed winbindd crash bug on the IBM s390 running Linux
349 3)  Inclusion of enhanced Linux quota support
350 4)  Correctly link against Sun LDAP libraries on Solaris 8 (even through
351     there is no apparent SSL support there)
352 5)  POSIX conformance patches
353 6)  Include new configure --enable-cups option (can also be disabled even
354     if CUPS libraries are installed on the system)
355 7)  Set reasonable default for the "passwd program" parameter using an
356     autoconf test
357 8)  Added --with-winbind-auth for enabling winbindd_pam_auth_crap() code
358 9)  fixed bug to prevent root account from being deleted by the
359     "delete user script"
360 10) Inclusion of autoconf script for building VFS modules
361 11) Add new run time options to the VFS recycle bin library (see
362     examples/VFS/recycle/README for details)
363 12) Include findsmb perl script as part of the "make install" process
364 13) Return correct error code for EnumPrinters(PRINTER_ENUM_REMOTE, InfoLevel1)
365     to fix a bug where printers appear at the workgroup level in the Windows
366     NT/2k APW browse list
367 14) Added support to nmblookup to return NMB flags (See nmblookup(8) for
368     details)
369 15) Fix length bug that caused password changes from Windows NT/2k clients to
370     occasionally fail
371 16) Correct false password expiration when using --with-ldapsam caused by
372     missing attributes in the directory
373 17) added -S option to smbpasswd for storing the SID of a domain controller
374     as the local machine SID in secrets.tdb.  See the smbpasswd(8) man page
375     for details.
376 18) Various fixes for UNIX CIFS extensions commands
377 19) Fixed CIDR notation in "hosts allow/deny"
378 20) Change semantics of an idle connection to mean "no open files and no
379     open handles".  We cannot idle a connection if there are open named
380     pipe handles.  This fixes scalability problem on Samba print servers
381     and NT/2k clients introduced in 2.2.4
382 21) Fix germam umlaut problem when returning ACL entries
383 22) Return NT_STATUS_OBJECT_NAME_NOT_FOUND for ENOENT.  This fixes the bug
384     of running the Microsoft Access executable (msaccess.exe) and database
385     files from a Samba share documented in the 2.2.4 release
386 23) Corrected signal handling relating to directory change notification and
387     kernel oplocks
388 24) Fix bug in unix_to_nt_time() that appeared on files dated close to Daylight
389     Savings Time
390 25) Corrected alignment bug in spoolss parsing code which caused Win2k/XP
391     clients not to be able to view printer properties from a Samba host
392 26) Fixed spoolss parsing bug causing printing from ACT! 2000 running on
393     Windows 2k/XP clients to fail
394 27) Fixed incorrect error check in mod_share_entry()
395 28) Allow %S variable in MS-DFS root paths
396 29) Correct a bug regarding the use of 'wbinfo -A'
397 30) Fixed libnss_wins.so to correctly work on RedHat 7.3 systems
398 31) Store the key for a name-to-sid cache entry in upper case rather than
399     whatever case the request was made in.  This gets rid of duplicate
400     cache entries.
401 32) Fix bug causing the pid stored in winbindd's pid file to be the wrong id
402 33) Enhanced error reporting messages of wbinfo
403 34) Parameterize block size on disk size return
404 35) Added new parameter to allow incoming ACLs to have owner and group forced
405     to the currently logged in user. This fixes the XCOPY /O problem
406 36) Fixed bug in local_change_password() caused by reusing a struct
407     passwd* pointer
408 37) Change default value for "ldap port" to 389 if "ldap ssl = no"
409 38) Updated HOWTO's, manpages, and general documentation....
410 39) Allow root as well as domain admins to open an LDAP connection
411 40) Fixed veto files bug with ".*"
412 41) Fixed uninitialized variable bug in smbpasswd that was causing a random
413     IP address to be used in the connection when joining a domain
414 42) Fix for joining a domain with a netbios name of 15 characters and
415     pre-creating the account on the DC
416 43) Added links to new documentation on SWAT welcome page
420 -----------------------------------------------------------------------------
421 The release notes for 2.2.4 follow :
423 There have been several fixes and internal enhancements which include:
425  * More/better SPOOLSS printing functionality for Windows
426    NT/2k/XP clients.
427  * Several fixes relating to serving PC database files such
428    as (Access and FoxPro) from a Samba file share.
429  * Several improves in Samba's VFS layer which can be seen
430    in the inclusion of a "Recycle Bin" vfs module.  See
431    examples/VFS/README for more details on this.
432  * Addition of a tool (tdbbackup) for backup/restore of Samba's
433    tdb's
434  * Continued improvements to winbind for greater scalability
435    and stability
436  * Several fixes related to Samba's MS-DFS support
437  * Rpcclient's various printer commands now work (again)
440 New/Changed parameters in 2.2.4
441 --------------------------------
443 For more information on these parameters, see the man pages for
444 smb.conf(5).
446 Added/changed parameters
447 ------------------------
449 * csc policy
450 * inherit acls
451 * nt status support
452 * lock spin count
453 * lock spin time
454 * pid directory
455 * winbind use default domain
458 Deprecated parameters
459 ---------------------
461 The following parameters have been marked as deprecated
462 and will be removed in Samba 3.0
464 * postscript
465 * printer driver
466 * printer driver file
467 * printer driver location
470 Removed Parameters
471 ------------------
473   none
476 Changes in 2.2.4
477 ----------------
479 See the cvs log for SAMBA_2_2 for more details
481 1)  added -c option to smbpasswd
482 2)  reworked smbpasswd internal command line option parsing
483 3)  small various bug fixes to experimental pdb_tdb.c
484 4)  Enforce spoolss RPCs based on the access granted at PrinterOpen()
485 5)  Added missing access checks to [add/delete/set]form
486 6)  Compile fixes for pam_smbpass
487 7)  fix smbd crash when netbios session request fails from
488     spoolss_connect_to_client().
489 8)  fixed logic bug that prevent SetPrinter() from storing devmode
490 9)  Removed extra get_printer_snum() calls from set_printer_hnd_name()
491 10) fix joining domain on big endian machine when using -U to smbpasswd
492 11) allow command line arg to override smb.conf log level
493 12) continue to retry to register 1b name with wins server if there is an old IP there
494 13) fix smbclient print crash bug
495 14) 9x pnp fix when the config file and driver file are different
496 15) force testparm to print the correct value for log level
497 16) fix swat to show full log level info
498 17) fix server GetPrinterData() fields to be more sensible
499 18) fix logic error in SetPrinterDataEx()
500 19) Only set smb_read_error if not already set
501 20) Fix string returns that require unicode
502 21) Merge of printing performance fixes from appliance
503 22) lpq parsing fixes
504 23) Back port tridge's xcopy /o fix from HEAD
505 24) Fix the printer change notify code (unfinished)
506 25) Patch for Domain users not showing up
507 26) Fixed SetPrinterData(magic key) to support zero length DEVMODE
508 27) Ensure that all methods of looking up and connecting to DC's work
509     using identical logic.
510 28) Merge in the mutex code to stop multiple domain logon failure
511 29) Ignore 0/0 lock
512 30) Fix winbindd to respect command line debuglevel as nmbd/smbd
513 31) Update with tdbbackup from HEAD
514 32) Fix for typo on solaris nss
515 33) Merge in the locking changes from HEAD
516 34) Added POSIX ACL layer into the vfs
517 35) Fix the returning of domain enum
518 36) Fix the generation of the MACHINE.SID file into the secrets.tdb.
519 37) Enable test for -rdynamic when building binaries
520 38) Remove the "stat open" code - make it inline
521 39) Fix the mp3 rename bug
522 40) Fix for Explorer DFS problems on older Windows 9X machines
523 41) implement OpenPrinter() opnum == 0x01
524 42) Matched W2K *insane* open semantics....
525 43) small fix that will prevent the "failed to marshall
526     R_NET_SAMLOGON" message in the logs
527 42) don't do checking of local passdb in smbpasswd if using -r option
528 43) fix "smbpasswd -j DOMAIN -r * -U Admin%XXXX" so that it doesn't
529     try to connect to a server named '*'
530 44) merge rpcclient code from HEAD
531 45) Ensure MACHINE.SID update done before child spawns
532 46) Fix the bad path errors for mkdir so mkdir \a\b\c\d works
533 47) Removed --with-vfs - always built if available
534 48) Fixed psec for 2.2
535 49) Fixed the handle leak in the connection management code
536 50) fix disable spoolss after the switch to nt status codes
537 51) Added Shirish's client side caching policy change
538 52) Honor the specversion when parsing the the DEVICEMODE
539 53) fix parsing bug when DEVICEMODE's private data does not end
540     on a 4 byte boundary
541 54) do not idle an smbd when there is an open pipe
542 55) when a new driver is added to a Samba server, cycle through
543     all printers and bump the change_id for each one bound to the driver
544 56) allow smbclient to work with a FIFO as well (needed for KDE
545     ioslave)
546 57) various updates to pdb_nisplus.c
547 58) many small documentation updates
548 59) removed many compiler warnings
551 -----------------------------------------------------------------------------
552 The release notes for 2.2.3a follow :
554 This is a minor bugfix release for the 2.2.3 release. The 2.2.3
555 release had a problem that was visible to Windows 2000 Explorer
556 users in that copying files into a share that already existed
557 failed with "Access Denied" rather than asking the user if an
558 overwrite was required. This was due to an incorrect error mapping
559 between the UNIX EXIST error code and the NT status error.
561 As Windows Explorer is a highly visible end user application a quick
562 bugfix release was required, hence 2.2.3a.
564 Compilation on HPUX versions earlier than HPUX 11 has also been
565 corrected.
567 The cvs.log file is no longer included with this release, as it adds
568 13Mb to the size of the release, and is easily available on the Web.
570 -----------------------------------------------------------------------------
571 The release notes for 2.2.3 follow :
573 There are several important scaling bugs that have been fixed in this release
574 for large server systems so an upgrade is recommended.
576 LDAP update
577 -----------
579 Much work has been done on the LDAP backend code. The configure
580 option --with-ldapsam is now considered to be stable. The schema
581 used has changed, see the file examples/LDAP/samba.schema for the
582 new schema.
584 New documentation explaining how to set up a Samba only PDC/BDC
585 setup has been added in the files Samba-LDAP-HOWTO and Samba-BDC-HOWTO
586 in the documentation tree.
588 winbindd daemon extended
589 ------------------------
591 Samba 2.2.2 was the first release to include the winbind daemon.
592 This code allows UNIX systems that implement the name service
593 switch (nss) to be entered into a Windows NT/2000 domain and
594 use the Domain controller for all user and group enumeration.
596 Samba 2.2.3 fixes the known memory leaks in winbindd and has
597 been extended to work with SGI IRIX and HPUX (11.x) in addition
598 to the earlier targets of Linux and Solaris.
600 For more information on using winbind, see the man pages for
601 winbindd and wbinfo.
603 Note that winbindd is not installed by default.
605 New/Changed parameters in 2.2.3
606 --------------------------------
608 For more information on these parameters, see the man pages for
609 smb.conf.
611 Added/changed parameters.
612 -------------------------
614 unix extensions
616 Enables the experimental UNIX CIFS extensions in smbd. See the manpage
617 for more details.
619 default devmode
621 Some printer drivers will crash the Windows NT/2000 spooler service
622 if they are given a default devmode, some require it. This parameter
623 allows the administrator a choice of whether smbd returns such a
624 default devmode for a driver.
626 share modes
628 This parameter has been restored to allow people who wish smbd to ignore
629 client share modes. This is *very dangerous* and should not be set without
630 full knowledge of what this is designed for.
632 Changes in 2.2.3
633 -----------------
635 1). Fixed shared library compile for Solaris with native compiler.
636 2). UNIX CIFS extensions code added (donated by HP).
637 3). Changed to using NT status codes on the wire if the client can support
638 this.
639 4). altname command to show 8.3 name added to smbclient.
640 5). const-safe endian macros now used.
641 6). client code now uses UNICODE on the wire.
642 7). Correctly return fault PDU's on bad handle.
643 8). Improved NT error code mapping table.
644 9). Many new point and print RPC calls added.
645 10). Win9x clients can now see full user list.
646 11). field added to identify simultaneous open files (no longer
647 use dev/inode/time as unique value).
648 12). HPUX ACL code added (donated by HP).
649 13). vfs interfaces updated (again !).
650 14). MSDOS Code Page 866 -> 1251 mapping added.
651 15). winbindd now processes quit/hup signals correctly.
652 16). No tdb traversal done on startup/shutdown - ensures scalability.
653 17). Fix bug with paths for homes share.
654 18). Fixed copyfile for OS/2.
655 19). Fix group membership when groups are on more than one line.
656 20). Fixed core dumps in posix ACL mapping code.
657 21). Tidyup of UNICODE functions (put/get).
658 22). Move rpcclient to the new libsmb code.
659 23). Add missing Windows 2000 passthough trans2 calls.
660 24). Return check all tdb calls.
661 25). Make local name lookup work even if wins server is down.
662 26). pam session code added to winbind.
663 27). Added winbindd cache to all lookups.
664 28). Fix allocate bugs that caused file sizes to be incorrect.
665 29). Fixed write cache code - now safe to use.
666 30). Fixed winbindd memory leaks.
667 31). winbindd will now do name lookups (to allow non Open Source
668 systems to do the nsswitch WINS lookup). Fixed by SGI.
669 32). passdb memory leaks fixed.
670 33). LDAP code updates and now properly maintained.
671 34). Finally figured out how changeid is meant to work.
672 35). Downlevel printing now looks as NT does in print monitor window.
673 36). Many fixups in spoolss printing RPC parsing.
674 37). Speed up password enumeration as a PDC.
675 38). Fix printer changed notify messages (work from HP).
676 39). Fix modify timestamp on close code.
677 40). Fix long standing mangled names bug.
678 41). Fix delete on close semantics.
679 42). Stop opening all files with O_NONBLOCK !
680 43). Use O_NOFOLLOW for systems that have it and don't want symlinks.
681 44). Ensure NT supplementary groups get added to user token.
682 45). Try and mitigate effects of DNS timeout (do less lookups).
683 46). Added current user connection context stack.
684 47). Fixes to utmp code.
685 48). smbw code tidyups.
686 49). Added tdb open log code. Several tdb fixes.
688 -----------------------------------------------------------------------------
689 The release notes for 2.2.2 follow :
691 New daemon included - winbindd
692 ------------------------------
694 Samba 2.2.2 is the first release to include the winbind daemon.
695 This code allows UNIX systems that implement the name service
696 switch (nss) to be entered into a Windows NT/2000 domain and
697 use the Domain controller for all user and group enumeration.
699 This allows a Samba server added to a Windows domain to serve
700 file and print services with *NO* local users needed in /etc/passwd
701 and /etc/group - all users and groups are read directly from the
702 Windows domain controller. In addition with pam_winbind which allows
703 a PAM enabled UNIX system to use a Windows domain for authentication
704 service this allows single sign on and account control across
705 UNIX and Windows systems.
707 The current version of winbindd shipped in 2.2.2 does have some
708 memory leaks, which will be addressed for the next Samba release,
709 so it is advisable to monitor the winbind process. This code is
710 being used in production by several vendors, so the leaks are
711 manageable. In addition, this version of winbind does not work
712 correctly against a Samba PDC, due to some missing calls on the
713 PDC side. These problems are being addressed for the next Samba
714 release, but it was thought better to release the code now rather
715 than delay the main Samba code to match the winbind release schedule.
717 For more information on using winbind, see the man pages for
718 winbindd and wbinfo.
720 Note that winbindd is not installed by default.
722 New/Changed parameters in 2.2.2
723 -------------------------------
725 For more information on these parameters, see the man pages for
726 smb.conf.
728 Added/changed parameters.
729 -------------------------
731 strict allocate
733 Causes Samba not to create UNIX 'sparse' files, but to follow the
734 Windows behavior of always allocating on-disk space.
736 use mmap
738 Set to 'on' by default, only set to 'off' on HPUX 11.x or below or other
739 UNIX systems that don't have coherent mmap/read-write internal caches.
740 You should not need to set this parameter.
742 nt acl support
744 This parameter has been changed to a per-share option, and is very
745 useful in enabling Windows 2000 SP2 to load/save profiles from a 
746 Samba share.
748 New printing parameters.
749 ------------------------
751 disable spoolss
753 Setting this parameter causes Samba to go back to the old 2.0.x
754 LANMAN printing behavior, for people who wish to disable the
755 new SPOOLSS pipe.
757 use client driver
759 Causes Windows NT/2000 clients to need have a local printer driver
760 installed and to treat the printer as local.
762 New LDAP parameters.
763 --------------------
765 Samba 2.2.2 contains new code to maintain a Samba SAM database
766 on a remote LDAP server. These parameters have been added as
767 part of this code. These parameters are only available when Samba
768 has been compiled with the --with-ldapsam option.
770 ldap admin dn
771 ldap ssl
773 New SSL parameters.
774 -------------------
776 The SSL support in Samba has been fixed. These new parameters
777 are part of the changes added. These parameters are only available
778 when Samba has been compiled with the --with-ssl option. 
779 Please see the smb.conf man page for details.
781 ssl egd socket
782 ssl entropy file
783 ssl entropy bytes
785 New winbindd parameters.
786 ------------------------
788 These parameters are used by winbindd. See the man page for
789 winbindd for details.
791 winbind separator
792 winbind uid
793 winbind gid
794 winbind cache time
795 winbind enum users
796 winbind enum groups
797 template homedir
798 template shell
800 Removed parameters.
801 -------------------
803 share modes
804 ldap root
805 ldap root passwd
807 New Documentation.
808 ------------------
810 Some new README's have been added in the docs/ directory. These cover
811 using roving profiles with Windows 2000 SP2 (docs/README.Win2kSP2),
812 and how to use Samba to help prevent Windows virus spread
813 (docs/README.Win32-Viruses).
815 Quota problems on a Linux 2.4 kernel.
816 -------------------------------------
818 Currently the quota interfaces have diverged between the Linus
819 2.4.x kernels and the Alan Cox 2.4.x kernels (the Alan Cox variants
820 are shipped with RedHat). Running quota-enabled Samba compiled on
821 an Alan Cox kernel works correctly on an Alan Cox kernel (the one
822 shipped by default with RedHat 7.x) but fails on a Linus kernel.
824 This is a mess, and hopefully Alan and Linus will sort it out soon.
825 In the meantime we need to ship.....
827 Changes in 2.2.2
828 -----------------
830 1). mmap tdb code disabled on HPUX. This should prevent the reports of
831 tdb corruption on HUPX.
832 2). Large file support set to off in Solaris 5.5 and below.
833 3). Better CUPS detection.
834 4). New SAM (password database) backends - smbpasswd (traditional),
835 LDAP, NIS+ and Samba TDB.
836 5). Quota fixups on Linux.
837 6). libsmbclient stand-alone code added. Can be built as a shared library
838 under Linux.
839 7). Tru64 ACL support added.
840 8). winbindd option added.
841 9). Realloc fail tidyup fixes all over the code.
842 10). Large improvement in hash table code efficiency - would be found with
843 large stat caches.
844 11). Error code consistency improved (still needs more work).
845 12). Profile shared memory support added to nmbd.
846 13). New Windows 2000/NT passthrough info levels added.
847 14). readraw/writeraw code rewritten - many bugs fixed.
848 15). UNIX password sync (non pam) code fixed, use correct wildcard matcher.
849 16). Reverse DNS lookup avoided on socket open.
850 17). Bug preventing nmbd re-registering names on WINS server timeout fixed.
851 18). Zero length byte range lock code added. Much closer to Windows semantics.
852 19). Alignment fault fixes for Linux/Alpha.
853 20). Error checking on tdb returns vastly improved.
854 21). Handling of delete on close fixed. No longer possible to leave 'dead'
855 file entries.
856 22). Handling of oplock break failure cleanups improved. Should not be
857 able to leave 'dead' entries.
858 23). Fix handling of errors trying to set 64 bit locks on 32 bit NFS mounts.
859 24). Misc. MS-DFS code fixes.
860 25). Ignore logon packets if not a PDC (needed for PDC/BDC failover).
861 26). winbind pam module added.
862 27). Order N^^2 enumeration of printers problem fixed.
863 28). Password backend database code re-ordered to allow different password
864 backends (at compile time currently).
865 29). Improved print driver version detection for Windows 2000.
866 30). Driver DEVMODE initialization fixes.
867 31). Improved SYSV print parse code.
868 32). Fixed enumeration of large numbers of users/groups from Windows clients.
869 Code still too slow.
870 33). Fix for buggy NetApp RPC pipe clients.
871 34). Fix for NT sending multiple SetPrinterDataEx calls.
872 35). Fix for logic bug where smbd could delay oplock break request messages
873 from other smbd daemons whilst client kept us busy.
874 36). Fix deadlock problem with connections tdb on enumeration.
875 37). Fixes for setting/getting NT ACLs - improved POSIX mapping both ways.
876 38). Removed unused readbmpx/writebmpx code.
877 39). Attempt to fix Linux 2.4.x quota mess.
878 40). Improved ctemp code for Windows 2000 compatibility.
879 41). Finally understood difference between set EOF and set allocation requests.
880 Added strict allocate parameter to help.
881 42). Correctly return name types on name to SID lookups.
882 43). tdb spinlock code update.
883 44). Use pread/pwrite on systems that have it to fix race condition in tdb code.
885 -----------------------------------------------------------------------------
886 The release notes for 2.2.1a follow :
888 This is a minor bugfix release for 2.2.1, *NOT* security related.
890 1). 2.2.1 had a bug where using smbpasswd -m to add a Windows NT or
891 Windows2000 machine into a Samba hosted PDC would fail due to our
892 stricter user name checking. We were disallowing user names
893 containing '$', which is needed when using smbpasswd to add a
894 machine into a domain. Automatically adding machines (using the
895 native Windows tools) into a Samba domain worked correctly.
897 2.2.1a fixes this single problem.
899 -----------------------------------------------------------------------------
900 The release notes for 2.2.1 follow :
902 New/Changed parameters in 2.2.1
903 -------------------------------
905 Added parameters.
906 -----------------
908 obey pam restrictions
910 When Samba is configured to use PAM, turns on or off Samba checking
911 the PAM account restrictions. Defaults to off.
913 pam password change
915 When Samba is configured to use PAM, turns on or off Samba passing
916 the password changes to PAM. Defaults to off.
918 large readwrite
920 New option to allow new Windows 2000 large file (64k) streaming
921 read/write options. Needs a 64 bit underlying operating system
922 (for Linux use kernel 2.4 with glibc 2.2 or above). Can improve performance
923 by 10% with Windows 2000 clients. Defaults to off. Not as tested
924 as some other Samba code paths.
926 hide unreadable
928 Prevents clients from seeing the existence of files that cannot
929 be read. Off by default.
931 enhanced browsing
933 Turn on/off the enhanced Samba browsing functionality (*1B names).
934 Default is "on". Can prevent eternal machines in workgroups when
935 WINS servers are not synchronized.
937 Removed parameters.
938 -------------------
940 domain groups
941 domain admin users
942 domain guest users
944 Changes in 2.2.1
945 -----------------
947 1). "find" command removed for smbclient. Internal code now used.
948 2). smbspool updates to retry connections from Michael Sweet.
949 3). Fix for mapping 8859-15 characters to UNICODE.
950 4). Changed "security=server" to try with invalid username to prevent
951     account lockouts.
952 5). Fixes to allow Windows 2000 SP2 clients to join a Samba PDC.
953 6). Support for Windows 9x Nexus tools to allow security changes from Win9x.
954 7). Two locking fixes added. Samba 2.2.1 now passes the Clarion network
955     lock tester tool for distributed databases.
956 8). Preliminary support added for Windows 2000 large file read/write SMBs.
957 9). Changed random number generator in Samba to prevent guess attacks.
958 10). Fixes for tdb corruption in connections.tdb and file locking brlock.tdb.
959      smbd's clean the tdb files on startup and shutdown.
960 11). Fixes for default ACLs on Solaris.
961 12). Tidyup of password entry caching code.
962 13). Correct shutdowns added for send fails. Helps tdb cleanup code.
963 14). Prevent invalid '/' characters in workgroup names.
964 15). Removed more static arrays in SAMR code.
965 16). Client code is now UNICODE on the wire.
966 17). Fix 2 second timestamp resolution everywhere if dos timestamp set to yes.
967 18). All tdb opens now going through logging function.
968 19). Add pam password changing and pam restrictions code.
969 20). Printer driver management improvements (delete driver).
970 21). Fix difference between NULL security descriptors and empty
971      security descriptors.
972 22). Fix SID returns for server roles.
973 23). Allow Windows 2000 mmc to view and set Samba share security descriptors.
974 24). Allow smbcontrol to forcibly disconnect a share.
975 25). tdb fixes for HPUX, OpenBSD and other OS's that don't have a coherent
976      mmap/file read/write cache.
977 26). Fix race condition in returning create disposition for file create/open.
978 27). Fix NT rewriting of security descriptors to their canonical form for
979      ACLs.
980 28). Fix for Samba running on top of Linux VFAT ftruncate bug.
981 29). Swat fixes for being run with xinetd that doesn't set the umask.
982 30). Fix for slow writes with Win9x Explorer clients. Emulates Microsoft
983      TCP stack early ack specification error.
984 31). Changed lock & persistent tdb directory to /var/cache/samba by default on
985      RedHat and Mandrake as they clear the /var/lock/samba directory on reboot.
987 -----------------------------------------------------------------------------
988 The release notes for 2.2.0a follow :
990 SECURITY FIX
991 ============
993 This is a security bugfix release for Samba 2.2.0. This release provides the
994 following two changes *ONLY* from the 2.2.0 release.
996 1). Fix for the security hole discovered by Michal Zalewski (lcamtuf@bos.bindview.com)
997     and described in the security advisory below.
998 2). Fix for the hosts allow/hosts deny parameters not being honoured.
1000 No other changes are being made for this release to ensure a security fix only.
1001 For new functionality (including these security fixes) download Samba 2.2.1
1002 when it is available.
1004 The security advisory follows :
1007                 IMPORTANT: Security bugfix for Samba
1008                 ------------------------------------
1010 June 23rd 2001
1013 Summary
1014 -------
1016 A serious security hole has been discovered in all versions of Samba
1017 that allows an attacker to gain root access on the target machine for
1018 certain types of common Samba configuration.
1020 The immediate fix is to edit your smb.conf configuration file and
1021 remove all occurances of the macro "%m". Replacing occurances of %m
1022 with %I is probably the best solution for most sites.
1024 Details
1025 -------
1027 A remote attacker can use a netbios name containing unix path
1028 characters which will then be substituted into the %m macro wherever
1029 it occurs in smb.conf. This can be used to cause Samba to create a log
1030 file on top of an important system file, which in turn can be used to
1031 compromise security on the server.
1033 The most commonly used configuration option that can be vulnerable to
1034 this attack is the "log file" option. The default value for this
1035 option is VARDIR/log.smbd. If the default is used then Samba is not
1036 vulnerable to this attack.
1038 The security hole occurs when a log file option like the following is
1039 used:
1041   log file = /var/log/samba/%m.log
1043 In that case the attacker can use a locally created symbolic link to
1044 overwrite any file on the system. This requires local access to the
1045 server.
1047 If your Samba configuration has something like the following:
1049   log file = /var/log/samba/%m
1051 Then the attacker could successfully compromise your server remotely
1052 as no symbolic link is required. This type of configuration is very
1053 rare.
1055 The most commonly used log file configuration containing %m is the
1056 distributed in the sample configuration file that comes with Samba:
1058   log file = /var/log/samba/log.%m
1060 in that case your machine is not vulnerable to this attack unless you
1061 happen to have a subdirectory in /var/log/samba/ which starts with the
1062 prefix "log."
1064 Credit
1065 ------
1067 Thanks to Michal Zalewski (lcamtuf@bos.bindview.com) for finding this
1068 vulnerability.
1071 New Release
1072 -----------
1074 While we recommend that vulnerable sites immediately change their
1075 smb.conf configuration file to prevent the attack we will also be
1076 making new releases of Samba within the next 24 hours to properly fix
1077 the problem. Please see http://www.samba.org/ for the new releases.
1079 Please report any attacks to the appropriate authority.
1081         The Samba Team
1082         security@samba.org
1084 ---------------------------------------------------------------------------
1086 The release notes for 2.2.0 follow :
1088 This is the official Samba 2.2.0 release. This version of Samba provides
1089 the following new features and enhancements.
1091 Integration between Windows oplocks and NFS file opens (IRIX and Linux
1092 2.4 kernel only). This gives complete data and locking integrity between
1093 Windows and UNIX file access to the same data files.
1095 Ability to act as an authentication source for Windows 2000 clients as
1096 well as for NT4.x clients.
1098 Integration with the winbind daemon that provides a single
1099 sign on facility for UNIX servers in Windows 2000/NT4 networks
1100 driven by a Windows 2000/NT4 PDC. winbind is not included in
1101 this release, it currently must be obtained separately. We are
1102 committed to including winbind in a future Samba 2.2.x release.
1104 Support for native Windows 2000/NT4 printing RPCs. This includes
1105 support for automatic printer driver download.
1107 Support for server supported Access Control Lists (ACLs).
1108 This release contains support for the following filesystems: 
1110     Solaris 2.6+ 
1111     SGI Irix 
1112     Linux Kernel with ACL patch from http://acl.bestbits.at
1113         Linux Kernel with XFS ACL support.
1114         Caldera/SCO UnixWare
1115         IBM AIX
1116         FreeBSD (with external patch)
1118 Other platforms will be supported as resources are
1119 available to test and implement the necessary modules. If
1120 you are interested in writing the support for a particular
1121 ACL filesystem, please join the samba-technical mailing
1122 list and coordinate your efforts. 
1124 On PAM (Pluggable Authentication Module) based systems - better debugging
1125 messages and encrypted password users now have access control verified via
1126 PAM - Note: Authentication still uses the encrypted password database.
1128 Rewritten internal locking semantics for more robustness.
1129 This release supports full 64 bit locking semantics on all
1130 (even 32 bit) platforms. SMB locks are mapped onto POSIX
1131 locks (32 bit or 64 bit) as the underlying system allows.
1133 Conversion of various internal flat data structures to use
1134 database records for increased performance and
1135 flexibility.
1137 Support for acting as a MS-DFS (Distributed File System) server.
1139 Support for manipulating Samba shares using Windows client tools
1140 (server manager). Per share security can be set using these tools
1141 and Samba will obey the access restrictions applied.
1143 Samba profiling support (see below).
1145 Compile time option for enabling a (Virtual file system) VFS layer 
1146 to allow non-disk resources to be exported as Windows filesystems
1147 (such as databases etc.).
1149 The documentation in this release has been updated and converted
1150 from Yodl to DocBook 4.1. There are many new parameters since 2.0.7
1151 and some defaults have changed.
1153 Profiling support.
1154 ------------------
1155 Support for collection of profile information. A shared 
1156 memory area has been created which contains counters for
1157 the number of calls to and the amount of time spent in
1158 various system calls, smb transactions and nmbd activity. See 
1159 the file profile.h for a complete listing of the information 
1160 collected. Sample code for a samba pmda (collection agent
1161 for Performance Co-Pilot) has been included in the pcp
1162 directory. 
1164 To enable the profile data collection code in samba, you must 
1165 compile samba with profile data support (run configure with 
1166 the --with-profiling-data option). On startup, collection of 
1167 data is disabled. To begin collecting data use the smbcontrol
1168 program to turn on profiling (see the smbcontrol man page).
1169 Profile information collection can be enabled for nmbd, all smbd
1170 processes or one or more selected processes. The profiling
1171 data collected is the aggregate for all processes that have
1172 profiling enabled.
1174 With samba compiled for profile data collection, you may see
1175 a very slight degradation in performance even with profiling
1176 collection turned off. On initial tests with NetBench on an
1177 SGI Origin 200 server, this degradation was not measurable 
1178 with profile collection off compared to no profile collection
1179 compiled into samba.
1181 With count profile collection enabled on all clients, the 
1182 degradation was less than 2%. With full profile collection 
1183 enabled on all clients, the degradation was about 8.5%. 
1185 =====================================================================
1187 If you think you have found a bug please email a report to :
1189         samba@samba.org
1191 As always, all bugs are our responsibility.
1193 Regards,
1195         The Samba Team.