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