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