be420b953aa2bbc99c6a4ad6b8358dde374defdf
[samba.git] / WHATSNEW.txt
1                    =================================
2                    Release Notes for Samba 3.2.0pre3
3                                Mar 28, 2008
4                    =================================
5
6 This is the third preview release of Samba 3.2.0.  This is *not*
7 intended for production environments and is designed for testing
8 purposes only.  Please report any defects via the Samba bug reporting
9 system at https://bugzilla.samba.org/.
10
11 Please be aware that Samba is now distributed under the version 3
12 of the new GNU General Public License.  You may refer to the COPYING
13 file that accompanies these release notes for further licensing details.
14
15 Major enhancements in Samba 3.2.0 include:
16
17   File Serving:
18   o Use of IDL generated parsing layer for several DCE/RPC
19     interfaces.
20   o Removal of the 1024 byte limit on pathnames and 256 byte limit on
21     filename components to honor the MAX_PATH setting from the host OS.
22   o Introduction of a registry based configuration system.
23   o Improved CIFS Unix Extensions support.
24   o Experimental support for file serving clusters.
25   o Support for IPv6 in the server, and client tools and libraries.
26   o Support for storing alternate data streams in xattrs.
27   o Encrypted SMB transport in client tools and libraries, and server.
28   o Support for Vista clients authenticating via Kerberos.
29
30   Winbind and Active Directory Integration:
31   o Full support for Windows 2003 cross-forest, transitive trusts
32     and one-way domain trusts.
33   o Support for userPrincipalName logons via pam_winbind and NSS
34     lookups.
35   o Expansion of nested domain groups via NSS calls.
36   o Support for Active Directory LDAP Signing policy.
37   o New LGPL Winbind client library (libwbclient.so).
38
39   Joining:
40   o New NetApi library for domain join related queries (libnetapi.so)
41     and example GTK+ Domain join gui.
42   o New client and server support for remotely joining and unjoining
43     Domains.
44   o Support for joining into Windows 2008 domains.
45
46   Users & Groups:
47   o New ldb backend for local group mapping tables
48   o Raised level of security defaults for authentication operations.
49
50
51   Documentation:
52   o Inclusion of an HTML version of the 3rd edition of "Using Samba"
53     from O'Reilly Publishing.
54
55
56 Now Licensed under the GNU GPLv3
57 ================================
58
59 The Samba Team has adopted the Version 3 of the GNU General Public
60 License for the 3.2 and later releases.   The GPLv3 is the updated
61 version of the GPLv2 license under which Samba is currently
62 distributed. It has been updated to improve compatibility with other
63 licenses and to make it easier to adopt internationally, and is an
64 improved version of the license to better suit the needs of Free
65 Software in the 21st Century.
66
67 The original announcement is available on-line at
68
69     http://news.samba.org/announcements/samba_gplv3/
70
71
72 New Security Defaults for Authentication
73 ========================================
74
75 Support for LanMan passwords is now disabled in both client and server
76 applications.  Additionally, clear text authentication requests are
77 disabled by default in client utilities such as smbclient and all
78 libsmbclient based applications.  This will affect connection both
79 to and from hosts running DOS, Windows 9x/ME, and OS/2.  Please refer
80 to the "Changes" section for details on the exact parameters that were
81 updated.
82
83
84 Registry Configuration Backend
85 ==============================
86
87 Samba is now able to use a registry based configuration backed to
88 supplement smb.conf setting.  This feature may be enabled by setting
89 "config backend = registry" and "registry shares = yes" in the [global]
90 section of smb.conf and may be managed using the "net conf" command.
91
92 More information may be obtained from the smb.conf(5) and net(8) man
93 pages.
94
95
96 Removed Features
97 ================
98
99 Both the Python bindings and the libmsrpc shared library have been
100 removed from the tree due to lack of an official maintainer.
101
102 As smbfs is no longer supported in current kernel versions, smbmount has
103 been removed in this Samba version. Please use cifs (mount.cifs) instead.
104 See examples/scripts/mount/mount.smbfs as an example for a wrapper which
105 calls mount.cifs instead of smbmount/mount.smbfs.
106
107
108 Modified API for libsmbclient
109 ==============================================================================
110
111 Maintaining ABI compatibility for libsmbclient has become increasingly
112 difficult to accomplish, while also keeping the code organization such that it
113 is easily readable.  Towards the goal of maintaining ABI compatibility and
114 also keeping the code easy to maintain and enhance, the API has been enhanced.
115 In particular, the fields in the SMBCCTX context structure are no longer
116 intended to be read/write by the user, and are marked as deprecated.  An
117 application that previously accessed the members of the SMBCCTX context
118 structure will now encounter warnings if recompiled.  This is intentional, to
119 encourage implementation of the small changes required for the new interface.
120 The number of changes is expected to be quite small for the vast majority of
121 applications, and no changes need be made for many applications.  The changes
122 required for KDE (konqueror) to conform to the new interface, for example, are
123 only four lines in only one file.
124
125 Instead of the application manually changing or reading values in the context
126 structure, there are now setter and getter functions for each configurable
127 member in that structure.  Similarly, the smbc_option_get() and
128 smbc_option_set() functions are deprecated in favor of the setter/getter
129 interface.  The setters and getters are all documented in libsmbclient.h
130 under these comment blocks:
131
132   Getters and setters for CONFIGURATION
133   Getters and setters for OPTIONS
134   Getters and setters for FUNCTIONS
135   Callable functions for files
136   Callable functions for directories
137   Callable functions applicable to both files and directories
138
139 Example changes that may be required to eliminate "deprecated" warnings:
140
141   /* Set the debug level */
142   context->debug = 99;
143 changes to:
144   smbc_setDebug(context, 99);
145
146   /* Specify the authentication callback function */
147   context->callbacks.auth_fn = auth_smbc_get_data;
148 changes to:
149   smbc_setFunctionAuthData(context, auth_smbc_get_data);
150
151   /* Specify the new-style authentication callback with context parameter */
152   smbc_option_set("auth_function", auth_smbc_get_data_with_ctx);
153 changes to:
154   smbc_setFunctionAuthDataWithContext(context, auth_smbc_get_data_with_ctx);
155
156   /* Set kerberos flags */
157   context->flags = (SMB_CTX_FLAG_USE_KERBEROS |
158                     SMB_CTX_FLAG_FALLBACK_AFTER_KERBEROS);
159 changes to:
160   smbc_setOptionUseKerberos(context, 1);
161   smbc_setOptionFallbackAfterKerberos(context, 1);
162
163
164
165
166 ######################################################################
167 Changes
168 #######
169
170 smb.conf changes
171 ----------------
172
173     Parameter Name                      Description     Default
174     --------------                      -----------     -------
175     client lanman auth                  Changed Default No
176     client ldap sasl wrapping           New             plain
177     client plaintext auth               Changed Default No
178     clustering                          New             No
179     cluster addresses                   New             ""
180     config backend                      New             file
181     ctdb socket                         New             ""
182     debug class                         New             No
183     administrative share                New             No
184     lanman auth                         Changed Default No
185     ldap debug level                    New             0
186     ldap debug threshold                New             10
187     mangle map                          Removed
188     min receive file size               New             0
189     open files database hashsize        Removed
190     read bmpx                           Removed
191     registry shares                     New             No
192     winbind expand groups               New             1
193     winbind rpc only                    New             No
194
195
196 Changes since 3.2.0pre2:
197 -----------------------
198
199
200 o   Michael Adam <obnox@samba.org>
201     * Fix session setup with security = share.
202     * Fix segfault in testparm.
203     * Fix several Makefile issues.
204     * Fix build of bin/net on Solaris.
205     * Reformat the parm table of loadparm to use named initializers.
206     * Fix %I macro expansion for IPv4 mapped IPv6 addresses.
207     * Convert registry.tdb to use dbwrap and fix memleaks.
208     * Several make test fixes and improvements.
209     * Rename libnet_conf to libsmbconf and introduce backend abstraction layer.
210     * Add text backend to libsmbconf, based on params.c.
211     * Fix handling of includes in registry libsmbconf backend.
212     * Fix net conf import by reading from text backend.
213     * Add a "net registry" command to locally access the registry.
214     * Add testsuites for libsmbconf and "net registry".
215     * Fix Coverity IDs 517, 536, 545.
216
217
218 o   Jeremy Allison <jra@samba.org>
219     * BUG 5311: Fix IPv6 issue with hosts allow/deny settings.
220
221
222 o   Kai Blin <kai@samba.org>
223     * BUG 4235: Prevent ntlm_auth from sending BH responses without a message.
224     * Fix one BH message.
225
226
227 o   Gerald (Jerry) Carter <jerry@samba.org>
228     * Fix libtdb some to move back towards allowing out of tree builds.
229     * Ignore port when pulling IP addr from struct sockaddr_storage..
230
231
232 o   Guenther Deschner <gd@samba.org>
233     * Fix build of pam_smbpass.
234     * Fix lp_load with an empty registry and "config backend = registry".
235     * Fix build targets for bin/net.
236     * Fix _dssetup_DsRoleGetPrimaryDomainInformation().
237     * Fix the build of cifs.spnego.
238     * Migration of the SRVSVC client and server DCE/RPC code to IDL
239       based structures and autogenerated code
240
241
242 o   Volker Lendecke <vl@samba.org>
243     * Add support for async SMB requests.
244     * Add transactions to the dbwrap API.
245     * Add "net idmap aclmapset".
246     * Change default bufsize to 512k.
247     * Fix Coverity IDs 473, 481, 506, 507, 525, 526, 527, 528, 529, 530, 537,
248       538, 547, 548, 551, 552, 553, 554, 555, 557, 558, 559, 563, 564, 567.
249     * Fix some warnings in the tsmsm module.
250     * Fix warnings.
251     * BUG 4901: Fix "ldap passwd sync = only".
252     * BUG 5334: Fix download of empty files using smbclient.
253     * BUG 5307: Fix notify changes.
254     * BUG 5317: Fix debug output in domain_client_validate.
255     * BUG 5338: Fix format string issue in rpcclient.
256
257
258 o   Derrell Lipman <derrell@samba.org>
259     * Check for NULL pointers before dereferencing them.
260     * Fix use of AuthDataWithContext capability.
261
262
263 o   Stefan Metzmacher <metze@samba.org>
264     * Add dbwrap_tdb2 backend, useful for cluster setups.
265     * Add more functions to libwbclient:
266       - wbcGetGroups()
267       - wbcInterfaceDetails()
268       - wbcListUsers()
269       - wbcListGroups()
270       - wbcLookupUserSids()
271       - wbcSetUidMapping()
272       - wbcSetGidMapping()
273       - wbcSetUidHwm()
274       - wbcSetGidHwm()
275     * Let wbinfo use libwbclient where possible.
276     * Let net use only libwbclient to access winbindd.
277     * Make socket wrapper pcap support more portable.
278     * Some libreplace backports from v4-0-test.
279     * Store the write time in the locking.tdb,
280       so that smbd passes the BASE-DELAYWRITE test.
281     * Run RAW-SEARCH and BASE-DELAYWRITE by 'make test'.
282
283
284 o   Karolin Seeger <kseeger@samba.org>
285     * Fix usage message for "net idmap dump".
286
287
288 o   Andrew Tridgell <tridge@samba.org>
289     * Suppress superfluous message.
290
291
292 o   Marc VanHeyningen <marc.vanheyningen@isilon.com>
293     * Coverity fixes.
294
295
296 Changes since 3.2.0pre1:
297 -----------------------
298
299 o   Michael Adam <obnox@samba.org>
300     * Add library for access to the registry configuration data.
301     * BUG 5023: Separate NFS4 and POSIX ACL code in file access checks.
302     * BUG 4308: Fix Excel save operation ACL bug.
303     * Refactor and consolidate logic for retrieving the machine
304       trust password information.
305     * VFS API cleanup (remove redundant parameter).
306     * BUG 4801: Correctly implement LSA lookup levels for LookupNames.
307     * Add new option "debug class" to control printing of the debug class.
308       in debug headers.
309     * Enable building of the zfsacl and notify_fam vfs modules.
310     * BUG 5083: Fix memleak in solarisacl module.
311     * BUG 5063: Fix build on RHEL5.
312     * New smb.conf parameter "config backend = registry" to enable registry
313       only configuration.
314     * Move "net conf" functionality into a separate module libnet_conf.c
315     * Restructure registry code, eliminating the dynamic overlay.
316       Make use of reg_api instead of backend code in most places.
317     * Add support for intercepting LDAP libraries' debug output and print
318       it in Samba's debugging system.
319     * Libreplace fixes.
320     * Build fixes.
321     * Initial support for using subsystems as shared libraries.
322       Use talloc, tdb, and libnetapi as shared libraries internally.
323
324
325 o   Jeremy Allison <jra@samba.org>
326     * Added support for IPv6 client and server connections.
327     * Add in the recvfile entry to the VFS layer.
328     * Removal of pstring data type.
329     * Remove unused utilities: smbctool and rpctorture.
330     * Fix service principal detection to match Windows Vista
331       (based on work from Andreas Schneider).
332     * Encrypted SMB transport in client tools and libraries, and server.
333
334
335 o   Kai Blin <kai@samba.org>
336     * Added support for an SMB_CONF_PATH environment variable
337       containing the path to smb.conf.
338     * Various fixes to ntlm_auth.
339     * make test now supports more extensive SPOOLSS testing using vlp.
340     * Correctly handle mixed-case hostnames in NTLMv2 authentication.
341
342
343 o   Gerald (Jerry) Carter <jerry@samba.org>
344     * Add Winbind client library.
345     * Decouple static linking between smbd and winbindd's client
346       interface.
347
348
349 o   Guenther Deschner <gd@samba.org>
350     * Enhance client and server remote registry access.
351     * Add client calls for remotely joining a computer to a domain
352       (including calls from "net dom" command).
353     * Add libnetapi.so library for joining domains including
354       sample GTK+ app.
355     * Fixes for Vista SP1 Kerberos authdata handling to only pickup
356       the PAC.
357     * Various error code and error message fixes.
358     * Add initial draft of libnetconf to allow programmatic
359       configuration changes.
360     * Add libnet_join internal library for programmatically joining
361       and unjoining Domains.
362     * Add various fixes and new calls to libnetapi.so library.
363     * Various fixes for DsGetDcName and conversion to IDL based
364       structures.
365     * Fixes for pidl to correctly generate WERROR based client calls.
366     * Fixes for pidl to generate output that complies to coding
367       conventions.
368     * Various IDL fixes.
369     * Add ads_get_joinable_ous() to libads to get list of joinable ous.
370     * Add get_logon_hours_from_pdb() to comply with new IDL based
371       structures.
372     * Add debugging capabilities to dump AD connections to libads
373       (using ndr_print).
374     * Add "dump-domain-list" command for smbcontrol to retrieve better
375       debugging information out of winbindd.
376     * Migration of the entire client and server DCE/RPC code to IDL
377       based structures and autogenerated code for DSSETUP, LSA, SAMR
378       and NETLOGON.
379     * Started migration of client and server DCE/RPC code to IDL based
380       structures and autogenerated code for NTSSVC, SVCCTL and
381       EVENTLOG.
382     * Use IDL and autogenerated code for samlogoncache and Kerberos
383       PAC handling.
384     * Various fixes and cleanup of Kerberos PAC handling.
385     * Fix segfault in _srv_net_file_enum.
386     * Conversion of client join and unjoin code to libnet_join.
387     * Add remote join/unjoin server-side implementation.
388     * Removed a lot of code which has become obsolete.
389
390
391 o   Steve Langasek <vorlon@debian.org>
392     * Integrate 2 out of 3 --with-fhs patches from Debian packaging
393       for better adherence to the FHS standard.
394
395
396 o   Volker Lendecke <vl@samba.org>
397     * Add talloc_stackframe() and talloc_pool() features.
398     * Removal of pstring data type.
399     * Add generic a in-memory cache.
400     * Import the Linux red-black tree implementation.
401     * Remove large amount of global variables.
402     * Support for storing xattrs in tdb files.
403     * Support for storing alternate data streams in xattrs.
404     * Implement a generic in-memory cache based on rb-trees.
405     * Add implicit temporary talloc contexts via talloc_stack().
406     * Speed up the smbclient "get" command
407     * Add the aio_fork module
408     * Fix bug 4901
409
410 o   Derrell Lipman <derrell@samba.org>
411     * Modified libsmbclient API for more easily maintaining ABI compatibility
412       while adding new features to libsmbclient.
413
414 o   Stefan Metzmacher <metze@samba.org>
415     * Refactor Winbind internal parent-child interface tables
416       to achieve better unit testing support.
417     * Add nss_wrapper API for local Winbind unit tests.
418     * Networking fixes to the libreplace library.
419     * Pidl fixes.
420     * Remove unused Winbind pipe calls.
421     * Build fixes.
422     * Fix for a crash bug in pidl generated client code.
423       This could have happend with [in,out,unique] pointers
424       when the client sends a valid pointer, but the server
425       responds with a NULL pointer (as samba-3.0.26a does for some calls).
426     * Change NTSTATUS into enum ndr_err_code in librpc/ndr.
427     * Remove unused calls in the struct based winbindd protocol.
428     * Add --configfile option to wbinfo.
429     * Convert winbind_env_set(), winbind_on() and winbind_off() into macros.
430     * Return rids and other_sids arrays in WBFLAG_PAM_INFO3_TEXT mode.
431     * Implement wbcErrorString() and wbcAuthenticateUserEx().
432     * Convert auth_winbind to use wbcAuthenticateUserEx().
433
434
435 o   James Peach <jpeach@samba.org>
436     * Add support for DNS Service Discovery.  Based on work from
437       Rishi Srivatsavai <rishisv@gmail.com>.
438
439
440 o   Andreas Schneider <anschneider@suse.de>
441     * Don't restart winbind if a corrupted tdb is found during
442       initialization.
443     * Fix Windows 2008 (Longhorn) join.
444     * Fix crashbug in winbindd.
445     * Add share parameter "administrative share".
446
447
448 o   Karolin Seeger <ks@sernet.de>
449     * Improve error messages of net subcommands.
450     * Add 'net rap file user'.
451     * Change LDAP search filter to find machine accounts which
452       are not located in the user suffix.
453     * Remove smbmount.
454
455
456 o   David Shaw <dshaw@jabberwocky.com>
457     * BUG 5073: Allow "delete readonly = yes" to correctly override
458       deletion of a file.
459
460
461 o   Rishi Srivatsavai <rishisv@gmail.com>
462     * Register the smb service with mDNS if mDNS is supported.
463     * Add smbclient support for basic mDNS browsing.
464
465
466 o   Andrew Tridgell <tridge@samba.org>
467     * Fix padding between Winbind 32bit/64bit client library in
468       the request/response structures.
469     * Added a syncops VFS module for file systems which do not
470       guarantee meta-data operations are immediately committed to
471       disk in stable form.
472
473
474 o   Jelmer Vernooij <jelmer@samba.org>
475     * Additional portability support for building shared libraries.
476
477
478 o   Corinna Vinschen <corinna@vinschen.de>
479     * Get Samba version or capability information from Windows user space.
480
481
482 Original 3.2.0pre1 commits:
483 ---------------------------
484 o   Michael Adam <obnox@samba.org>
485     * Unified POSIX ACL detection including support for FreeBSD and
486       HP-UX.
487     * Performance improvements for Winbind's lookup functions (names,
488       SIDs, and group membership) when joined to an AD domain.
489     * Winbind cache validation support.
490     * Store domain trust passwords for Samba domain controller's in
491       the domain's passdb backend.
492     * Merged \winreg server code from the SAMBA_3_2 development branch.
493     * Fixes for libreplace.
494     * Implement new registry configuration backend.
495
496
497 o   Jeremy Allison <jra@samba.org>
498     * Add support for file system objectIDs.
499     * Winbind cache validation support.
500     * Add in the UNIX capability for 24-bit readX.
501     * Improve Delete-on-Close semantics.
502     * Removal of static file and path name buffers in SMB file serving
503       code.
504
505
506 o   Danilo Almeida <dalmeida@centeris.com>
507     * Move the machine account to the OU specified when running "net
508       ads join".
509
510
511 o   Andrew Bartlett <abartlet@samba.org>
512     * Tighten authentication protocol defaults in client tools and
513       servers.
514
515
516 o   Gerald (Jerry) Carter <jerry@samba.org>
517     * Implement support for one-way trusts and two-way cross-forest
518       transitive trust in winbindd.
519     * Fixes for Winbind's offline/disconnected logon support when
520       using remote idmap backends.
521     * Fix LookupNames and LookupSids to use the same resolution
522       heuristics as Windows XP.
523     * Fix lockups in Winbind when running nscd.
524     * UPN logon support in pam_winbind.
525     * Add support for GNU linker scripts when build shared libraries
526       (based on work by Julien Cristau <jcristau@debian.org> and James
527       Peach).
528
529
530 o   Guenther Deschner <gd@samba.org>
531     * Additional support for decoding and downloading group policy
532       objects from Active Directory.
533     * Improvements to "net ads keytab" command.
534     * Fixes for linking against Heimdal Kerberos client libs.
535     * Support LDAP range retrieval searches.
536     * Fixes for failure to refresh user ticket caches in Winbind.
537     * UPN logon support in pam_winbind.
538     * Add KDC locator plugin for MIT kerberos 1.6 or later.
539
540
541 o   Steve Langasek <vorlon@debian.org>
542     * Allow SIGTERM to cause nmbd to exit while awaiting a interface
543       to come up.
544
545
546 o   Volker Lendecke <vl@samba.org>
547     * Merge experimental cluster support patches from the ctdb branch.
548     * Add tdb storage abstraction for ctdb.
549     * Use IDL for internal message passing system.
550     * Add client support for the SamLogonEx() authentication request.
551     * Implement RPC proxy stubs in the Samba server code to allow
552       replacing implementation functions one by one.
553     * Remove static incoming and outgoing buffers from core server SMB
554       packet processing code.
555     * Add "net sam rights" command.
556
557
558 o   Steve French <sfrench@samba.org>
559     * Fixes for mount.cifs Linux utility.
560
561
562 o   Stefan Metzmacher <metze@samba.org>
563     * Fixes for libreplace.
564     * Add support for LDAP digital signing policy.
565     * Experimental clustered file system support.
566
567
568 o   Lars Mueller <lars@samba.org>
569     * Makefile and build fixes.
570     * Add pam_pwd_expire for pam_winbind (original patch from Andreas
571       Schneider).
572
573
574 o   James Peach <jpeach@apple.com>
575     * Fixes for setgroups() and *BSD and Darwin.
576     * Support membership of >16 groups on Darwin.
577
578
579 o   Jiri Sasek <Jiri.Sasek@Sun.COM>
580     * Added vfs_zfsacl module.
581
582
583 o   Karolin Seeger <ks@sernet.de>
584     * Add deletelocalgroup and unmapunixgroup subcommand to "net sam".
585     * Cleanup internal passdb functions.
586
587
588 o   Simo Sorce <idra@samba.org>
589     * Fixes for IDmap and Passdb backends.
590
591
592 o   Andrew Tridgell <tridge@samba.org>
593     * Port ldb from the Samba 4 tree and add ldb group mapping plugin.
594     * Move several file serving related tdb files to use the dbwrap
595       API internally.
596     * Cleanup the GPFS VFS plugin.
597     * Experimental clustered file system support.
598
599
600 o   Jelmer Vernooij <jelmer@samba.org>
601     * Implement NDR basic to support utilizing IDL files from Samba 4
602       tree for general DCE/RPC parsing stubs.
603
604
605
606 ######################################################################
607 Reporting bugs & Development Discussion
608 #######################################
609
610 Please discuss this release on the samba-technical mailing list or by
611 joining the #samba-technical IRC channel on irc.freenode.net.
612
613 If you do report problems then please try to send high quality
614 feedback. If you don't provide vital information to help us track down
615 the problem then you will probably be ignored.  All bug reports should
616 be filed under the Samba 3.2 product in the project's Bugzilla
617 database (https://bugzilla.samba.org/).
618
619
620 ======================================================================
621 == Our Code, Our Bugs, Our Responsibility.
622 == The Samba Team
623 ======================================================================
624