1 WHAT'S NEW IN Samba 2.2.6rc1 - 9th October 2002
2 ================================================
4 This is a prelease snapshot of SAMBA_2_2 cvs branch. This is a non-production
5 release provided for testing purposes only.
7 The following new new smb.conf(5) options have been added in this preview
12 The following options have been added to Samba's configure script
14 --with-sendfile (enable experiemental sendfile support)
17 Changes since 2.2.6pre2
18 -----------------------
19 1) Merge in freelist unlock on error fix
20 2) Correctly fail opens with mismatching SYSTEM or HIDDEN attributes
21 if we are mapping system or hidden
22 3) Fix bug with stat mode open being done on read-only open with truncate
23 4) Fix crashbug discovered where cli struct was being deallocated in a
25 5) Ensure we open UNIX fifo's non-blocking
26 6) Fix DeletePrinterDriver() (hopefully for the last time...yeah right....)
27 7) only lowercase global_myname in the %L substitution, not the whole string
28 8) Merged Steve French's fix for OS/2 EA return error being removed
29 9) Patch from Steve French to fix difference in responses to smbclient
30 //server/share ls / on Samba and Windows 2000
31 10) Print error and exit if smb.conf doesn't have security=domain and
32 encrypt passwords=yes when joining domain
33 11) Added final Steve French patch for "required" attributes with old dir
35 12) Initialise user_rid value in WINBIND_USERINFO structure returned by
36 the rpc version of query_user()
37 13) Ensure we've failed a lock with a lock denied message before automatically
38 pushing it onto the blocking queue
39 14) Add experiemental --with-sendfile code
40 15) alignment fix in printing code merged from HEAD
41 16) Merge fix for other sids in token from HEAD
42 17) Merge winbindd with current (more advanced) state of play in APPLIANCE_HEAD
43 18) fix smbclient / Win98 off by one bug
44 19) Never, *ever* hold a mutex lock in the message database where there may be
45 traversals being attempted
46 20) Add LDAP hack for retrieving the SAM sequence number whe a member of a
47 Windows 2000 native mode domain
48 21) Fix race condition when changing a machine acount password as we were
49 no longer locking the secrets entry
50 22) Allow '@' as a valid character in domain names
51 23) remove jobs from the spool directory when using cups
52 24) removed -lresolv for --enable-ldapsam
53 25) Memory leak fix and correct use of negative caching in winbindd
54 26) Updated spoolss parsing code with known good state of APPLIANCE_HEAD
55 27) Delete printer security check was reversed
56 28) Windows allows delete printer on a handle opened by an admin user, then
57 used on a pipe handle created by an anonymous user...We do to now...
58 29) Make explicit the difference between a tdb key with no data attached, and
60 30) Ensure we register the 1c name on the unicast subnet.
61 31) Fix inheritance problem when recusively setting ACLs on directories
62 32) prevent ACL set on read-only share
63 33) Ensure we never have more than MAX_PRINT_JOBS in a queue
64 34) Added timeout to tdb_lock_bystring()
65 35) Ensure we set FIRST+LAST flags on a bind request
66 36) Add version strings to the usage message for smbcacls and smbpasswd
67 37) Fix bug in the write cache code
68 38) make the default printed values for boolean the same for all parameters
69 39) Default all LDAP connections to v3 with compiling with --with-ldapsam
72 Changes since 2.2.6pre1
73 -----------------------
74 1) fix incorrect semantics in the DeletePrinterDriver() spoolss rpc
75 to only attempt to delete the architecture specified by the client
76 2) Don't allow TEMP attribute on directory open
77 3) Restore VxFS quotas to the 2.2 branch
78 4) Added basic "Wizard" functionality to SWAT
79 5) Fix initial "allocation size" in NTcreate&X call
80 6) Fix for open fid, "nametoolong"
81 7) Exit server on receipt of a non-SMB packet. Ensure we have
82 at least smb_size bytes before processing a packet
83 8) Replace inet_aton with inet_addr() to correct compile problems on Solaris
84 9) Include the "account" objectclass when adding a new account to --with-ldapsam
85 in order to comply with the data model implemented by OpenLDAP 2.1.x
86 10) Various fixes for POSIX compliance
87 11) Correct alignment & offset bug in EnumPrinterDataEx()
88 12) Fix access checks when modifying forms using a print server handle
89 (not just a printer handle)
90 13) Account for case data_len == 0 in EnumPrinterDataEx()
91 14) Fix logic error in blocking lock code
92 15) Fixed various incorrect return codes to clients
93 16) Add RESOLVE_DFSPATH to mkdir operations
94 17) Fix longstanding bug in Win2k clients by clearing the shortname
95 buffer before returning ASCII short name
96 18) added -t option to smbpasswd for explicitly changing a trust
97 account password when operating in security = domain
98 19) installed -x option to testparm to eXclude printing all parameter
99 values that are at default settings.
100 20) Fix shares/printers view in SWAT so that only Basic options are exposed
102 21) Added 1125 & KOI8-U to codepage list in Makefile.in
103 22) Include separate configure checks for *openbsd* & *freebsd* when
104 determining flags used to compile shared libraries.
112 1) Fixed several compiler warnings caused by the use of const parameters
113 2) Fixed a hang in the main smbd process caused by an EINTR in the
115 3) Fixed string substitutions to accept a length for sanity checks
116 4) Fixed 17-bit length field in nmb header
117 5) Removed non-portable inline declaration for functions
118 6) Performance fix for including files with an smb.conf variable in the
120 7) Fix for parsing LPRng lpq output
121 8) Parsing fix for PRINTER_INFO_2 structure which was causing viewing
122 printer properties to fail
123 9) Fix for printer change notification and Windows NT clients which caused
124 the client to go into an infinite loop of refeshing the local printers
126 10) Allow trans2 and nttrans messages to be processed in oplock break state
127 which fixes a problem with oplock break requests and Win2k clients
128 11) Don't crash on setfileinfo on printer fsp
129 12) Memory fixes caught by Valgrind
130 13) Updates to stop spurious error message in tdb
131 14) Fix silly logic bug in 'make smbd processes' and 'status = no' check
132 15) Fix compilation of pam_smbpass and --with-ldap
133 16) Fix compilation of samwrapper on Solaris hosts
134 17) fix logic error in a check for enableing the winbind_pam_auth_crap() code
135 & fix formatting typo in --with-winbind-auth-challenge
136 18) Correcting check for ldap_start_tls()
137 19) Fixed a problem with getgroups() where it could include our current
141 =========================================
143 Older releases notes for 2.2.x distributions follow
145 -----------------------------------------------------------------------------
146 The release notes for 2.2.5 follow :
148 There have been several fixes and internal enhancements which include:
150 * Several compile fixes for Solaris and HP-UX
151 * More printing fixes for Windows NT/2k/XP clients
152 * New options for the VFS recycle bin library
153 * New internal signal handling semantics relating to directory change
154 notification and oplocks
156 New/Changed parameters in 2.2.5
157 --------------------------------
159 For more information on these parameters, see the man pages for
162 Added/changed parameters
163 ------------------------
165 * block size = <INTEGER>
166 * force unknown acl user = <boolean>
167 * mangling method = [hash|hash2]
170 Deprecated Parameters
171 ---------------------
173 The following parameters have been marked as deprecated and will be removed
189 See the cvs log for SAMBA_2_2 for more details
191 1) Removal of several compiler warnings, incorrect Makefile dependencies,
192 and wrong autoconf tests on various platforms--Solaris & HP-UX 10.20
193 being the predominantly reported platforms
194 2) Fixed winbindd crash bug on the IBM s390 running Linux
195 3) Inclusion of enhanced Linux quota support
196 4) Correctly link against Sun LDAP libraries on Solaris 8 (even through
197 there is no apparent SSL support there)
198 5) POSIX conformance patches
199 6) Include new configure --enable-cups option (can also be disabled even
200 if CUPS libraries are installed on the system)
201 7) Set reasonable default for the "passwd program" parameter using an
203 8) Added --with-winbind-auth for enabling winbindd_pam_auth_crap() code
204 9) fixed bug to prevent root account from being deleted by the
206 10) Inclusion of autoconf script for building VFS modules
207 11) Add new run time options to the VFS recycle bin library (see
208 examples/VFS/recycle/README for details)
209 12) Include findsmb perl script as part of the "make install" process
210 13) Return correct error code for EnumPrinters(PRINTER_ENUM_REMOTE, InfoLevel1)
211 to fix a bug where printers appear at the workgroup level in the Windows
212 NT/2k APW browse list
213 14) Added support to nmblookup to return NMB flags (See nmblookup(8) for
215 15) Fix length bug that caused password changes from Windows NT/2k clients to
217 16) Correct false password expiration when using --with-ldapsam caused by
218 missing attributes in the directory
219 17) added -S option to smbpasswd for storing the SID of a domain controller
220 as the local machine SID in secrets.tdb. See the smbpasswd(8) man page
222 18) Various fixes for UNIX CIFS extensions commands
223 19) Fixed CIDR notation in "hosts allow/deny"
224 20) Change semantics of an idle connection to mean "no open files and no
225 open handles". We cannot idle a connection if there are open named
226 pipe handles. This fixes scalability problem on Samba print servers
227 and NT/2k clients introduced in 2.2.4
228 21) Fix germam umlaut problem when returning ACL entries
229 22) Return NT_STATUS_OBJECT_NAME_NOT_FOUND for ENOENT. This fixes the bug
230 of running the Microsoft Access executable (msaccess.exe) and database
231 files from a Samba share documented in the 2.2.4 release
232 23) Corrected signal handling relating to directory change notification and
234 24) Fix bug in unix_to_nt_time() that appeared on files dated close to Daylight
236 25) Corrected alignment bug in spoolss parsing code which caused Win2k/XP
237 clients not to be able to view printer properties from a Samba host
238 26) Fixed spoolss parsing bug causing printing from ACT! 2000 running on
239 Windows 2k/XP clients to fail
240 27) Fixed incorrect error check in mod_share_entry()
241 28) Allow %S variable in MS-DFS root paths
242 29) Correct a bug regarding the use of 'wbinfo -A'
243 30) Fixed libnss_wins.so to correctly work on RedHat 7.3 systems
244 31) Store the key for a name-to-sid cache entry in upper case rather than
245 whatever case the request was made in. This gets rid of duplicate
247 32) Fix bug causing the pid stored in winbindd's pid file to be the wrong id
248 33) Enhanced error reporting messages of wbinfo
249 34) Parameterize block size on disk size return
250 35) Added new parameter to allow incoming ACLs to have owner and group forced
251 to the currently logged in user. This fixes the XCOPY /O problem
252 36) Fixed bug in local_change_password() caused by reusing a struct
254 37) Change default value for "ldap port" to 389 if "ldap ssl = no"
255 38) Updated HOWTO's, manpages, and general documentation....
256 39) Allow root as well as domain admins to open an LDAP connection
257 40) Fixed veto files bug with ".*"
258 41) Fixed uninitialized variable bug in smbpasswd that was causing a random
259 IP address to be used in the connection when joining a domain
260 42) Fix for joining a domain with a netbios name of 15 characters and
261 pre-creating the account on the DC
262 43) Added links to new documentation on SWAT welcome page
266 -----------------------------------------------------------------------------
267 The release notes for 2.2.4 follow :
269 There have been several fixes and internal enhancements which include:
271 * More/better SPOOLSS printing functionality for Windows
273 * Several fixes relating to serving PC database files such
274 as (Access and FoxPro) from a Samba file share.
275 * Several improves in Samba's VFS layer which can be seen
276 in the inclusion of a "Recycle Bin" vfs module. See
277 examples/VFS/README for more details on this.
278 * Addition of a tool (tdbbackup) for backup/restore of Samba's
280 * Continued improvements to winbind for greater scalability
282 * Several fixes related to Samba's MS-DFS support
283 * Rpcclient's various printer commands now work (again)
286 New/Changed parameters in 2.2.4
287 --------------------------------
289 For more information on these parameters, see the man pages for
292 Added/changed parameters
293 ------------------------
301 * winbind use default domain
304 Deprecated parameters
305 ---------------------
307 The following parameters have been marked as deprecated
308 and will be removed in Samba 3.0
312 * printer driver file
313 * printer driver location
325 See the cvs log for SAMBA_2_2 for more details
327 1) added -c option to smbpasswd
328 2) reworked smbpasswd internal command line option parsing
329 3) small various bug fixes to experimental pdb_tdb.c
330 4) Enforce spoolss RPCs based on the access granted at PrinterOpen()
331 5) Added missing access checks to [add/delete/set]form
332 6) Compile fixes for pam_smbpass
333 7) fix smbd crash when netbios session request fails from
334 spoolss_connect_to_client().
335 8) fixed logic bug that prevent SetPrinter() from storing devmode
336 9) Removed extra get_printer_snum() calls from set_printer_hnd_name()
337 10) fix joining domain on big endian machine when using -U to smbpasswd
338 11) allow command line arg to override smb.conf log level
339 12) continue to retry to register 1b name with wins server if there is an old IP there
340 13) fix smbclient print crash bug
341 14) 9x pnp fix when the config file and driver file are different
342 15) force testparm to print the correct value for log level
343 16) fix swat to show full log level info
344 17) fix server GetPrinterData() fields to be more sensible
345 18) fix logic error in SetPrinterDataEx()
346 19) Only set smb_read_error if not already set
347 20) Fix string returns that require unicode
348 21) Merge of printing performance fixes from appliance
349 22) lpq parsing fixes
350 23) Back port tridge's xcopy /o fix from HEAD
351 24) Fix the printer change notify code (unfinished)
352 25) Patch for Domain users not showing up
353 26) Fixed SetPrinterData(magic key) to support zero length DEVMODE
354 27) Ensure that all methods of looking up and connecting to DC's work
355 using identical logic.
356 28) Merge in the mutex code to stop multiple domain logon failure
358 30) Fix winbindd to respect command line debuglevel as nmbd/smbd
359 31) Update with tdbbackup from HEAD
360 32) Fix for typo on solaris nss
361 33) Merge in the locking changes from HEAD
362 34) Added POSIX ACL layer into the vfs
363 35) Fix the returning of domain enum
364 36) Fix the generation of the MACHINE.SID file into the secrets.tdb.
365 37) Enable test for -rdynamic when building binaries
366 38) Remove the "stat open" code - make it inline
367 39) Fix the mp3 rename bug
368 40) Fix for Explorer DFS problems on older Windows 9X machines
369 41) implement OpenPrinter() opnum == 0x01
370 42) Matched W2K *insane* open semantics....
371 43) small fix that will prevent the "failed to marshall
372 R_NET_SAMLOGON" message in the logs
373 42) don't do checking of local passdb in smbpasswd if using -r option
374 43) fix "smbpasswd -j DOMAIN -r * -U Admin%XXXX" so that it doesn't
375 try to connect to a server named '*'
376 44) merge rpcclient code from HEAD
377 45) Ensure MACHINE.SID update done before child spawns
378 46) Fix the bad path errors for mkdir so mkdir \a\b\c\d works
379 47) Removed --with-vfs - always built if available
380 48) Fixed psec for 2.2
381 49) Fixed the handle leak in the connection management code
382 50) fix disable spoolss after the switch to nt status codes
383 51) Added Shirish's client side caching policy change
384 52) Honor the specversion when parsing the the DEVICEMODE
385 53) fix parsing bug when DEVICEMODE's private data does not end
387 54) do not idle an smbd when there is an open pipe
388 55) when a new driver is added to a Samba server, cycle through
389 all printers and bump the change_id for each one bound to the driver
390 56) allow smbclient to work with a FIFO as well (needed for KDE
392 57) various updates to pdb_nisplus.c
393 58) many small documentation updates
394 59) removed many compiler warnings
397 -----------------------------------------------------------------------------
398 The release notes for 2.2.3a follow :
400 This is a minor bugfix release for the 2.2.3 release. The 2.2.3
401 release had a problem that was visible to Windows 2000 Explorer
402 users in that copying files into a share that already existed
403 failed with "Access Denied" rather than asking the user if an
404 overwrite was required. This was due to an incorrect error mapping
405 between the UNIX EXIST error code and the NT status error.
407 As Windows Explorer is a highly visible end user application a quick
408 bugfix release was required, hence 2.2.3a.
410 Compilation on HPUX versions earlier than HPUX 11 has also been
413 The cvs.log file is no longer included with this release, as it adds
414 13Mb to the size of the release, and is easily available on the Web.
416 -----------------------------------------------------------------------------
417 The release notes for 2.2.3 follow :
419 There are several important scaling bugs that have been fixed in this release
420 for large server systems so an upgrade is recommended.
425 Much work has been done on the LDAP backend code. The configure
426 option --with-ldapsam is now considered to be stable. The schema
427 used has changed, see the file examples/LDAP/samba.schema for the
430 New documentation explaining how to set up a Samba only PDC/BDC
431 setup has been added in the files Samba-LDAP-HOWTO and Samba-BDC-HOWTO
432 in the documentation tree.
434 winbindd daemon extended
435 ------------------------
437 Samba 2.2.2 was the first release to include the winbind daemon.
438 This code allows UNIX systems that implement the name service
439 switch (nss) to be entered into a Windows NT/2000 domain and
440 use the Domain controller for all user and group enumeration.
442 Samba 2.2.3 fixes the known memory leaks in winbindd and has
443 been extended to work with SGI IRIX and HPUX (11.x) in addition
444 to the earlier targets of Linux and Solaris.
446 For more information on using winbind, see the man pages for
449 Note that winbindd is not installed by default.
451 New/Changed parameters in 2.2.3
452 --------------------------------
454 For more information on these parameters, see the man pages for
457 Added/changed parameters.
458 -------------------------
462 Enables the experimental UNIX CIFS extensions in smbd. See the manpage
467 Some printer drivers will crash the Windows NT/2000 spooler service
468 if they are given a default devmode, some require it. This parameter
469 allows the administrator a choice of whether smbd returns such a
470 default devmode for a driver.
474 This parameter has been restored to allow people who wish smbd to ignore
475 client share modes. This is *very dangerous* and should not be set without
476 full knowledge of what this is designed for.
481 1). Fixed shared library compile for Solaris with native compiler.
482 2). UNIX CIFS extensions code added (donated by HP).
483 3). Changed to using NT status codes on the wire if the client can support
485 4). altname command to show 8.3 name added to smbclient.
486 5). const-safe endian macros now used.
487 6). client code now uses UNICODE on the wire.
488 7). Correctly return fault PDU's on bad handle.
489 8). Improved NT error code mapping table.
490 9). Many new point and print RPC calls added.
491 10). Win9x clients can now see full user list.
492 11). field added to identify simultaneous open files (no longer
493 use dev/inode/time as unique value).
494 12). HPUX ACL code added (donated by HP).
495 13). vfs interfaces updated (again !).
496 14). MSDOS Code Page 866 -> 1251 mapping added.
497 15). winbindd now processes quit/hup signals correctly.
498 16). No tdb traversal done on startup/shutdown - ensures scalability.
499 17). Fix bug with paths for homes share.
500 18). Fixed copyfile for OS/2.
501 19). Fix group membership when groups are on more than one line.
502 20). Fixed core dumps in posix ACL mapping code.
503 21). Tidyup of UNICODE functions (put/get).
504 22). Move rpcclient to the new libsmb code.
505 23). Add missing Windows 2000 passthough trans2 calls.
506 24). Return check all tdb calls.
507 25). Make local name lookup work even if wins server is down.
508 26). pam session code added to winbind.
509 27). Added winbindd cache to all lookups.
510 28). Fix allocate bugs that caused file sizes to be incorrect.
511 29). Fixed write cache code - now safe to use.
512 30). Fixed winbindd memory leaks.
513 31). winbindd will now do name lookups (to allow non Open Source
514 systems to do the nsswitch WINS lookup). Fixed by SGI.
515 32). passdb memory leaks fixed.
516 33). LDAP code updates and now properly maintained.
517 34). Finally figured out how changeid is meant to work.
518 35). Downlevel printing now looks as NT does in print monitor window.
519 36). Many fixups in spoolss printing RPC parsing.
520 37). Speed up password enumeration as a PDC.
521 38). Fix printer changed notify messages (work from HP).
522 39). Fix modify timestamp on close code.
523 40). Fix long standing mangled names bug.
524 41). Fix delete on close semantics.
525 42). Stop opening all files with O_NONBLOCK !
526 43). Use O_NOFOLLOW for systems that have it and don't want symlinks.
527 44). Ensure NT supplementary groups get added to user token.
528 45). Try and mitigate effects of DNS timeout (do less lookups).
529 46). Added current user connection context stack.
530 47). Fixes to utmp code.
531 48). smbw code tidyups.
532 49). Added tdb open log code. Several tdb fixes.
534 -----------------------------------------------------------------------------
535 The release notes for 2.2.2 follow :
537 New daemon included - winbindd
538 ------------------------------
540 Samba 2.2.2 is the first release to include the winbind daemon.
541 This code allows UNIX systems that implement the name service
542 switch (nss) to be entered into a Windows NT/2000 domain and
543 use the Domain controller for all user and group enumeration.
545 This allows a Samba server added to a Windows domain to serve
546 file and print services with *NO* local users needed in /etc/passwd
547 and /etc/group - all users and groups are read directly from the
548 Windows domain controller. In addition with pam_winbind which allows
549 a PAM enabled UNIX system to use a Windows domain for authentication
550 service this allows single sign on and account control across
551 UNIX and Windows systems.
553 The current version of winbindd shipped in 2.2.2 does have some
554 memory leaks, which will be addressed for the next Samba release,
555 so it is advisable to monitor the winbind process. This code is
556 being used in production by several vendors, so the leaks are
557 manageable. In addition, this version of winbind does not work
558 correctly against a Samba PDC, due to some missing calls on the
559 PDC side. These problems are being addressed for the next Samba
560 release, but it was thought better to release the code now rather
561 than delay the main Samba code to match the winbind release schedule.
563 For more information on using winbind, see the man pages for
566 Note that winbindd is not installed by default.
568 New/Changed parameters in 2.2.2
569 -------------------------------
571 For more information on these parameters, see the man pages for
574 Added/changed parameters.
575 -------------------------
579 Causes Samba not to create UNIX 'sparse' files, but to follow the
580 Windows behavior of always allocating on-disk space.
584 Set to 'on' by default, only set to 'off' on HPUX 11.x or below or other
585 UNIX systems that don't have coherent mmap/read-write internal caches.
586 You should not need to set this parameter.
590 This parameter has been changed to a per-share option, and is very
591 useful in enabling Windows 2000 SP2 to load/save profiles from a
594 New printing parameters.
595 ------------------------
599 Setting this parameter causes Samba to go back to the old 2.0.x
600 LANMAN printing behavior, for people who wish to disable the
605 Causes Windows NT/2000 clients to need have a local printer driver
606 installed and to treat the printer as local.
611 Samba 2.2.2 contains new code to maintain a Samba SAM database
612 on a remote LDAP server. These parameters have been added as
613 part of this code. These parameters are only available when Samba
614 has been compiled with the --with-ldapsam option.
622 The SSL support in Samba has been fixed. These new parameters
623 are part of the changes added. These parameters are only available
624 when Samba has been compiled with the --with-ssl option.
625 Please see the smb.conf man page for details.
631 New winbindd parameters.
632 ------------------------
634 These parameters are used by winbindd. See the man page for
635 winbindd for details.
656 Some new README's have been added in the docs/ directory. These cover
657 using roving profiles with Windows 2000 SP2 (docs/README.Win2kSP2),
658 and how to use Samba to help prevent Windows virus spread
659 (docs/README.Win32-Viruses).
661 Quota problems on a Linux 2.4 kernel.
662 -------------------------------------
664 Currently the quota interfaces have diverged between the Linus
665 2.4.x kernels and the Alan Cox 2.4.x kernels (the Alan Cox variants
666 are shipped with RedHat). Running quota-enabled Samba compiled on
667 an Alan Cox kernel works correctly on an Alan Cox kernel (the one
668 shipped by default with RedHat 7.x) but fails on a Linus kernel.
670 This is a mess, and hopefully Alan and Linus will sort it out soon.
671 In the meantime we need to ship.....
676 1). mmap tdb code disabled on HPUX. This should prevent the reports of
677 tdb corruption on HUPX.
678 2). Large file support set to off in Solaris 5.5 and below.
679 3). Better CUPS detection.
680 4). New SAM (password database) backends - smbpasswd (traditional),
681 LDAP, NIS+ and Samba TDB.
682 5). Quota fixups on Linux.
683 6). libsmbclient stand-alone code added. Can be built as a shared library
685 7). Tru64 ACL support added.
686 8). winbindd option added.
687 9). Realloc fail tidyup fixes all over the code.
688 10). Large improvement in hash table code efficiency - would be found with
690 11). Error code consistency improved (still needs more work).
691 12). Profile shared memory support added to nmbd.
692 13). New Windows 2000/NT passthrough info levels added.
693 14). readraw/writeraw code rewritten - many bugs fixed.
694 15). UNIX password sync (non pam) code fixed, use correct wildcard matcher.
695 16). Reverse DNS lookup avoided on socket open.
696 17). Bug preventing nmbd re-registering names on WINS server timeout fixed.
697 18). Zero length byte range lock code added. Much closer to Windows semantics.
698 19). Alignment fault fixes for Linux/Alpha.
699 20). Error checking on tdb returns vastly improved.
700 21). Handling of delete on close fixed. No longer possible to leave 'dead'
702 22). Handling of oplock break failure cleanups improved. Should not be
703 able to leave 'dead' entries.
704 23). Fix handling of errors trying to set 64 bit locks on 32 bit NFS mounts.
705 24). Misc. MS-DFS code fixes.
706 25). Ignore logon packets if not a PDC (needed for PDC/BDC failover).
707 26). winbind pam module added.
708 27). Order N^^2 enumeration of printers problem fixed.
709 28). Password backend database code re-ordered to allow different password
710 backends (at compile time currently).
711 29). Improved print driver version detection for Windows 2000.
712 30). Driver DEVMODE initialization fixes.
713 31). Improved SYSV print parse code.
714 32). Fixed enumeration of large numbers of users/groups from Windows clients.
716 33). Fix for buggy NetApp RPC pipe clients.
717 34). Fix for NT sending multiple SetPrinterDataEx calls.
718 35). Fix for logic bug where smbd could delay oplock break request messages
719 from other smbd daemons whilst client kept us busy.
720 36). Fix deadlock problem with connections tdb on enumeration.
721 37). Fixes for setting/getting NT ACLs - improved POSIX mapping both ways.
722 38). Removed unused readbmpx/writebmpx code.
723 39). Attempt to fix Linux 2.4.x quota mess.
724 40). Improved ctemp code for Windows 2000 compatibility.
725 41). Finally understood difference between set EOF and set allocation requests.
726 Added strict allocate parameter to help.
727 42). Correctly return name types on name to SID lookups.
728 43). tdb spinlock code update.
729 44). Use pread/pwrite on systems that have it to fix race condition in tdb code.
731 -----------------------------------------------------------------------------
732 The release notes for 2.2.1a follow :
734 This is a minor bugfix release for 2.2.1, *NOT* security related.
736 1). 2.2.1 had a bug where using smbpasswd -m to add a Windows NT or
737 Windows2000 machine into a Samba hosted PDC would fail due to our
738 stricter user name checking. We were disallowing user names
739 containing '$', which is needed when using smbpasswd to add a
740 machine into a domain. Automatically adding machines (using the
741 native Windows tools) into a Samba domain worked correctly.
743 2.2.1a fixes this single problem.
745 -----------------------------------------------------------------------------
746 The release notes for 2.2.1 follow :
748 New/Changed parameters in 2.2.1
749 -------------------------------
754 obey pam restrictions
756 When Samba is configured to use PAM, turns on or off Samba checking
757 the PAM account restrictions. Defaults to off.
761 When Samba is configured to use PAM, turns on or off Samba passing
762 the password changes to PAM. Defaults to off.
766 New option to allow new Windows 2000 large file (64k) streaming
767 read/write options. Needs a 64 bit underlying operating system
768 (for Linux use kernel 2.4 with glibc 2.2 or above). Can improve performance
769 by 10% with Windows 2000 clients. Defaults to off. Not as tested
770 as some other Samba code paths.
774 Prevents clients from seeing the existence of files that cannot
775 be read. Off by default.
779 Turn on/off the enhanced Samba browsing functionality (*1B names).
780 Default is "on". Can prevent eternal machines in workgroups when
781 WINS servers are not synchronized.
793 1). "find" command removed for smbclient. Internal code now used.
794 2). smbspool updates to retry connections from Michael Sweet.
795 3). Fix for mapping 8859-15 characters to UNICODE.
796 4). Changed "security=server" to try with invalid username to prevent
798 5). Fixes to allow Windows 2000 SP2 clients to join a Samba PDC.
799 6). Support for Windows 9x Nexus tools to allow security changes from Win9x.
800 7). Two locking fixes added. Samba 2.2.1 now passes the Clarion network
801 lock tester tool for distributed databases.
802 8). Preliminary support added for Windows 2000 large file read/write SMBs.
803 9). Changed random number generator in Samba to prevent guess attacks.
804 10). Fixes for tdb corruption in connections.tdb and file locking brlock.tdb.
805 smbd's clean the tdb files on startup and shutdown.
806 11). Fixes for default ACLs on Solaris.
807 12). Tidyup of password entry caching code.
808 13). Correct shutdowns added for send fails. Helps tdb cleanup code.
809 14). Prevent invalid '/' characters in workgroup names.
810 15). Removed more static arrays in SAMR code.
811 16). Client code is now UNICODE on the wire.
812 17). Fix 2 second timestamp resolution everywhere if dos timestamp set to yes.
813 18). All tdb opens now going through logging function.
814 19). Add pam password changing and pam restrictions code.
815 20). Printer driver management improvements (delete driver).
816 21). Fix difference between NULL security descriptors and empty
817 security descriptors.
818 22). Fix SID returns for server roles.
819 23). Allow Windows 2000 mmc to view and set Samba share security descriptors.
820 24). Allow smbcontrol to forcibly disconnect a share.
821 25). tdb fixes for HPUX, OpenBSD and other OS's that don't have a coherent
822 mmap/file read/write cache.
823 26). Fix race condition in returning create disposition for file create/open.
824 27). Fix NT rewriting of security descriptors to their canonical form for
826 28). Fix for Samba running on top of Linux VFAT ftruncate bug.
827 29). Swat fixes for being run with xinetd that doesn't set the umask.
828 30). Fix for slow writes with Win9x Explorer clients. Emulates Microsoft
829 TCP stack early ack specification error.
830 31). Changed lock & persistent tdb directory to /var/cache/samba by default on
831 RedHat and Mandrake as they clear the /var/lock/samba directory on reboot.
833 -----------------------------------------------------------------------------
834 The release notes for 2.2.0a follow :
839 This is a security bugfix release for Samba 2.2.0. This release provides the
840 following two changes *ONLY* from the 2.2.0 release.
842 1). Fix for the security hole discovered by Michal Zalewski (lcamtuf@bos.bindview.com)
843 and described in the security advisory below.
844 2). Fix for the hosts allow/hosts deny parameters not being honoured.
846 No other changes are being made for this release to ensure a security fix only.
847 For new functionality (including these security fixes) download Samba 2.2.1
848 when it is available.
850 The security advisory follows :
853 IMPORTANT: Security bugfix for Samba
854 ------------------------------------
862 A serious security hole has been discovered in all versions of Samba
863 that allows an attacker to gain root access on the target machine for
864 certain types of common Samba configuration.
866 The immediate fix is to edit your smb.conf configuration file and
867 remove all occurances of the macro "%m". Replacing occurances of %m
868 with %I is probably the best solution for most sites.
873 A remote attacker can use a netbios name containing unix path
874 characters which will then be substituted into the %m macro wherever
875 it occurs in smb.conf. This can be used to cause Samba to create a log
876 file on top of an important system file, which in turn can be used to
877 compromise security on the server.
879 The most commonly used configuration option that can be vulnerable to
880 this attack is the "log file" option. The default value for this
881 option is VARDIR/log.smbd. If the default is used then Samba is not
882 vulnerable to this attack.
884 The security hole occurs when a log file option like the following is
887 log file = /var/log/samba/%m.log
889 In that case the attacker can use a locally created symbolic link to
890 overwrite any file on the system. This requires local access to the
893 If your Samba configuration has something like the following:
895 log file = /var/log/samba/%m
897 Then the attacker could successfully compromise your server remotely
898 as no symbolic link is required. This type of configuration is very
901 The most commonly used log file configuration containing %m is the
902 distributed in the sample configuration file that comes with Samba:
904 log file = /var/log/samba/log.%m
906 in that case your machine is not vulnerable to this attack unless you
907 happen to have a subdirectory in /var/log/samba/ which starts with the
913 Thanks to Michal Zalewski (lcamtuf@bos.bindview.com) for finding this
920 While we recommend that vulnerable sites immediately change their
921 smb.conf configuration file to prevent the attack we will also be
922 making new releases of Samba within the next 24 hours to properly fix
923 the problem. Please see http://www.samba.org/ for the new releases.
925 Please report any attacks to the appropriate authority.
930 ---------------------------------------------------------------------------
932 The release notes for 2.2.0 follow :
934 This is the official Samba 2.2.0 release. This version of Samba provides
935 the following new features and enhancements.
937 Integration between Windows oplocks and NFS file opens (IRIX and Linux
938 2.4 kernel only). This gives complete data and locking integrity between
939 Windows and UNIX file access to the same data files.
941 Ability to act as an authentication source for Windows 2000 clients as
942 well as for NT4.x clients.
944 Integration with the winbind daemon that provides a single
945 sign on facility for UNIX servers in Windows 2000/NT4 networks
946 driven by a Windows 2000/NT4 PDC. winbind is not included in
947 this release, it currently must be obtained separately. We are
948 committed to including winbind in a future Samba 2.2.x release.
950 Support for native Windows 2000/NT4 printing RPCs. This includes
951 support for automatic printer driver download.
953 Support for server supported Access Control Lists (ACLs).
954 This release contains support for the following filesystems:
958 Linux Kernel with ACL patch from http://acl.bestbits.at
959 Linux Kernel with XFS ACL support.
962 FreeBSD (with external patch)
964 Other platforms will be supported as resources are
965 available to test and implement the necessary modules. If
966 you are interested in writing the support for a particular
967 ACL filesystem, please join the samba-technical mailing
968 list and coordinate your efforts.
970 On PAM (Pluggable Authentication Module) based systems - better debugging
971 messages and encrypted password users now have access control verified via
972 PAM - Note: Authentication still uses the encrypted password database.
974 Rewritten internal locking semantics for more robustness.
975 This release supports full 64 bit locking semantics on all
976 (even 32 bit) platforms. SMB locks are mapped onto POSIX
977 locks (32 bit or 64 bit) as the underlying system allows.
979 Conversion of various internal flat data structures to use
980 database records for increased performance and
983 Support for acting as a MS-DFS (Distributed File System) server.
985 Support for manipulating Samba shares using Windows client tools
986 (server manager). Per share security can be set using these tools
987 and Samba will obey the access restrictions applied.
989 Samba profiling support (see below).
991 Compile time option for enabling a (Virtual file system) VFS layer
992 to allow non-disk resources to be exported as Windows filesystems
993 (such as databases etc.).
995 The documentation in this release has been updated and converted
996 from Yodl to DocBook 4.1. There are many new parameters since 2.0.7
997 and some defaults have changed.
1001 Support for collection of profile information. A shared
1002 memory area has been created which contains counters for
1003 the number of calls to and the amount of time spent in
1004 various system calls, smb transactions and nmbd activity. See
1005 the file profile.h for a complete listing of the information
1006 collected. Sample code for a samba pmda (collection agent
1007 for Performance Co-Pilot) has been included in the pcp
1010 To enable the profile data collection code in samba, you must
1011 compile samba with profile data support (run configure with
1012 the --with-profiling-data option). On startup, collection of
1013 data is disabled. To begin collecting data use the smbcontrol
1014 program to turn on profiling (see the smbcontrol man page).
1015 Profile information collection can be enabled for nmbd, all smbd
1016 processes or one or more selected processes. The profiling
1017 data collected is the aggregate for all processes that have
1020 With samba compiled for profile data collection, you may see
1021 a very slight degradation in performance even with profiling
1022 collection turned off. On initial tests with NetBench on an
1023 SGI Origin 200 server, this degradation was not measurable
1024 with profile collection off compared to no profile collection
1025 compiled into samba.
1027 With count profile collection enabled on all clients, the
1028 degradation was less than 2%. With full profile collection
1029 enabled on all clients, the degradation was about 8.5%.
1031 =====================================================================
1033 If you think you have found a bug please email a report to :
1037 As always, all bugs are our responsibility.