813d5b334b99098d02c3a7823431267fe7dad55f
[ddiss/samba.git] / WHATSNEW.txt
1                    ================================
2                    Release Notes for Samba 3.6.0rc2
3                             June 7, 2011
4                    ================================
5
6
7 This is the second release candidate of Samba 3.6.0.  This is *not*
8 intended for production environments and is designed for testing
9 purposes only.  Please report any defects via the Samba bug reporting
10 system at https://bugzilla.samba.org/.
11
12
13 Major enhancements in Samba 3.6.0 include:
14
15
16 Changed security defaults
17 -------------------------
18
19 Samba 3.6 has adopted a number of improved security defaults that will
20 impact on existing users of Samba.
21
22  client ntlmv2 auth = yes
23  client use spnego principal = no
24  send spnego principal = no
25
26 The impact of 'client ntlmv2 auth = yes' is that by default we will not
27 use NTLM authentication as a client.  This applies to the Samba client
28 tools such as smbclient and winbind, but does not change the separately
29 released in-kernel CIFS client.  To re-enable the poorer NTLM encryption
30 set '--option=clientusentlmv2auth=no' on your smbclient command line, or
31 set 'client ntlmv2 auth = no' in your smb.conf
32
33 The impact of 'client use spnego principal = no' is that Samba will
34 use CIFS/hostname to obtain a kerberos ticket, acting more like
35 Windows when using Kerberos against a CIFS server in smbclient,
36 winbind and other Samba client tools.  This will change which servers
37 we will successfully negotiate kerberos connections to.  This is due
38 to Samba no longer trusting a server-provided hint which is not
39 available from Windows 2008 or later.  For correct operation with all
40 clients, all aliases for a server should be recorded as a as a
41 servicePrincipalName on the server's record in AD.  (For this reason,
42 this behavior change and parameter was also made in Samba 3.5.9)
43
44 The impact of 'send spnego principal = no' is to match Windows 2008 and
45 not to send this principal, making existing clients give more consistent
46 behaviour (more likely to fall back to NTLMSSP) between Samba and
47 Windows 2008, and between Windows versions that did and no longer use
48 this insecure hint.
49
50
51 SMB2 support
52 ------------
53
54 SMB2 support in 3.6.0 is fully functional (with one omission),
55 and can be enabled by setting:
56
57 max protocol = SMB2
58
59 in the [global] section of your smb.conf and re-starting
60 Samba. All features should work over SMB2 except the modification
61 of user quotas using the Windows quota management tools.
62
63 As this is the first release containing what we consider
64 to be a fully featured SMB2 protocol, we are not enabling
65 this by default, but encourage users to enable SMB2 and
66 test it. Once we have enough confirmation from Samba
67 users and OEMs that SMB2 support is stable in wide user
68 testing we will enable SMB2 by default in a future Samba
69 release.
70
71
72 Internal Winbind passdb changes
73 -------------------------------
74
75 Winbind has been changed to use the internal samr and lsa rpc pipe to get
76 local user and group information instead of calling passdb functions. The
77 reason is to use more of our infrastructure and test this infrastructure by
78 using it. With this approach more code in Winbind is shared.
79
80
81 New Spoolss code
82 ----------------
83
84 The spoolss and the old RAP printing code have been completely
85 overhauled and refactored.
86
87 All calls from lanman/printing code has been changed to go through the
88 spoolss RPC interfaces, this allows us to keep all checks in one place
89 and avoid special cases in the main printing code.
90 Printing code has been therefore confined within the spoolss code.
91
92 All the printing code, including the spoolss RPC interfaces has been
93 changed to use the winreg RPC interfaces to store all data.
94 All data has been migrated from custom, arbitrary TDB files to the
95 registry interface. This transition allow us to present correct data to
96 windows client accessing the server registry through the winreg RPC
97 interfaces to query for printer data. Data is served out from a real
98 registry implementation and therefore arguably 100% forward compatible.
99
100 Migration code from the previous TDB files formats is provided. This
101 code is automatically invoked the first time the new code is run on the
102 server. Although manual migration is also available using the 'net
103 printer migrate' command.
104
105 These changes not only make all the spoolss code much more closer to
106 "the spec", it also greatly improves our internal testing of both
107 spoolss and winreg interfaces, and reduces overall code duplication.
108
109 As part of this work, new tests have been also added to increase
110 coverage.
111
112 This code will also allow, in future, an easy transition to split out
113 the spooling functions into a separate daemon for those OEMs that do not
114 need printing functionality in their appliances, reducing the code
115 footprint.
116
117
118 ID Mapping Changes
119 ------------------
120
121 The id mapping configuration has been a source of much grief in the past.
122 For this release, id mapping has been rewritten yet again with the goal
123 of making the configuration more simple and more coherent while keeping
124 the needed flexibility and even adding to the flexibility in some respects.
125
126 The major change that implies the configuration simplifications is at
127 the heart of the id mapping system: The separation of the "idmap alloc
128 system" that is responsible for the unix id counters in the tdb, tdb2
129 and ldap idmap backends from the id mapping code itself has been removed.
130 The sids_to_unixids operation is now atomic and encapsulates (if needed)
131 the action of allocating a unix id for a mapping that is to be created.
132 Consequently all idmap alloc configuration parameters have vanished and
133 it is hence now also not possible any more to specify an idmap alloc
134 backend different from the idmap backend. Each idmap backend uses its
135 own idmap unixid creation mechanism transparently.
136
137 As a consequence of the id mapping changes, the methods that are used
138 for storing and deleting id mappings have been removed from the winbindd
139 API. The "net idmap dump/restore" commands have been rewritten to
140 not speak through winbindd any more but directly act on the databases.
141 This is currently available for the tdb and tdb2 backends, the implementation
142 for ldap still missing.
143
144 The allocate_id functionality is preserved for the unix id creator of the
145 default idmap configuration is also used as the source of unix ids
146 for the group mapping database and for the posix attributes in a
147 ldapsam:editposix setup.
148
149 As part of the changes, the default idmap configuration has been
150 changed to be more coherent with the per-domain configuration.
151 The parameters "idmap uid", "idmap gid" and "idmap range" are now
152 deprecated in favour of the systematic "idmap config * : range"
153 and "idmap config * : backend" parameters. The reason for this change
154 is that the old options only provided an incomplete and hence deceiving
155 backwards compatibility, which was a source of many problems with
156 upgrades. By introducing this change in configuration, it should be
157 brought to the conciousness of the users that even the simple
158 id mapping is not working exactly as in Samba 3.0 versions any more.
159
160
161 Endpoint Mapper
162 ---------------
163
164 As Microsoft is more and more relying on endpoint mapper and we didn't have a
165 complete implementation we decided to create an instance for Samba. The
166 endpoint mapper is like a DNS server but for ports. If you want to talk to a
167 certain RPC service over TCP/IP, you just ask the endpoint mapper on which
168 port it is running. Then you can connect to the service and make sure that it
169 is running.
170
171 The code is deactivated by default, because it needs more testing and it
172 doesn't scale yet. If you want to enable and test the endpoint mapper
173 you can set "rpc_server:epmapper = daemon" in the smb.conf file.
174
175
176 Internal restructuring
177 ----------------------
178
179 Ongoing internal restructuring for better separation of internal subsystem to
180 achieve a faster build, smaller binaries and cleaner dependencies for the samba3
181 waf build.
182
183
184 SMB Traffic Analyzer
185 --------------------
186
187 Added the new SMB Traffic Analyzer (SMBTA) VFS module protocol 2
188 featuring encryption, multiple arguments, and easier parseability. A new
189 tool 'smbta-util' has been created to control the encryption behaviour
190 of SMBTA. For compatibility, SMBTA by default operates on version 1.
191 There are programs consuming the data that the module sends.
192
193 More information can be found on
194 http://holger123.wordpress.com/smb-traffic-analyzer/
195
196
197 NFS quota backend on Linux
198 --------------------------
199
200 A new nfs quota backend for Linux has been added that is based
201 on the existing Solaris/FreeBSD implementation. This allows samba
202 to communicate correct diskfree information for nfs imports that
203 are re-exported as samba shares.
204
205
206 ######################################################################
207 Changes
208 #######
209
210 smb.conf changes
211 ----------------
212
213    Parameter Name                      Description     Default
214    --------------                      -----------     -------
215
216    async smb echo handler              New             No
217    client ntlmv2 auth                  Changed Default Yes
218    client use spnego principal         New             No
219    ctdb locktime warn threshold        New             0
220    idmap alloc backend                 Removed
221    log writeable files on exit         New             No
222    multicast dns register              New             Yes
223    ncalrpc dir                         New
224    send spnego principal               New             No
225    smb2 max credits                    New             128
226    smb2 max read                       New             1048576
227    smb2 max trans                      New             1048576
228    smb2 max write                      New             1048576
229    username map cache time             New             0
230    winbind max clients                 New             200
231
232    The variable substitutions for %i and %I no longer
233    use IPv4 addresses mapped to IPv6, e.g. '::ffff:192.168.0.1',
234    if the host has IPv6 enabled. Now %i and %I contain just
235    '192.168.0.1'.
236
237 Commit Highlights
238 -----------------
239
240 o   Michael Adam <obnox@samba.org>
241     * ID Mapping changes.
242
243
244 o   Jeremy Allison <jra@samba.org>
245     * Implement SMB2 support.
246
247
248 o   Stefan Metzmacher <metze@samba.org>
249     * Implement SMB2 support.
250
251
252 o   Andreas Schneider <asn@samba.org>
253     * Add an Endpoint Mapper daemon.
254
255
256 Changes since 3.6.0rc1
257 ----------------------
258
259 o   Michael Adam <obnox@samba.org>
260     * BUG 8200: Add support for multiple writeable ldap idmap domains.
261
262
263 o   Jeremy Allison <jra@samba.org>
264     * BUG 6911: Fix Kerberos authentication from Vista to Samba.
265     * BUG 7054: Fix X account flag when "pwdlastset" is "0".
266     * BUG 8133: Fix strange behavior for the file (whose filename first
267       character is period ) in SMB2 case.
268     * BUG 8144: Fix setting timestamp when touching files with CIFS clients.
269     * BUG 8150: Ban "dos charset = utf8".
270     * BUG 8153: Fix setting up getaddrinfo on IPv6-only machines.
271     * BUG 8156: Fix 'net ads join' using the user's Kerberos ticket.
272     * BUG 8157: Fix parsing a cups printcap file.
273     * BUG 8163: Fix our asn.1 parser to handle negative numbers.
274     * BUG 8175: Fix smbd deadlock.
275     * BUG 8191: Split the ACE flag mapping between nfs4 and Windows into two
276       separate functions.
277     * BUG 8197: Winbind does not properly detect when a DC connection is dead.
278     * BUG 8203: Winbind needs to reset the DC connection if an RPC times out.
279
280
281 o   Christian Ambach <ambi@samba.org>
282     * BUG 8152: Fix smbd crash in release_ip().
283
284
285 o   Andrew Bartlett <abartlet@samba.org>
286     * BUG 8151: Deprecate security parameters.
287
288
289 o   Gregor Beck <gbeck@sernet.de>
290     * BUG 8191: nfs4_acls: Pass ACE_FLAG_INHERITED_ACE up to the client/down
291       from the client.
292     * BUG 8192: Fix parsing of multiple flags in 'smbcacls'.
293
294
295 o   Sumit Bose <sbose@redhat.com>
296     * BUG 8142: Fix typos in LDAP schema files.
297
298
299 o   Holger Hetterich <hhetter@novell.com>
300     * BUG 8148: Default to protocol version 2 for SMB Traffic Analyzer.
301     * BUG 8154: Actually make use of SMBTA subversion numbers.
302
303
304 o   Björn Jacke <bj@sernet.de>
305     * BUG 7998: Remove warning if IOV_MAX is not defined.
306
307
308 o   Jim McDonough <jmcd@samba.org>
309     * BUG 8166: Don't lockout users when offline.
310
311
312 o   Stefan Metzmacher <metze@samba.org>
313     * BUG 8140: talloc: Fix Valgrind false positives and other backports.
314     * BUG 8141: Fix wrong permissions on lp_ncalrpc_dir().
315
316
317 o   Andreas Schneider <asn@samba.org>
318     * BUG 8155: Fix registering only named pipes on EPM for a service.
319
320
321 o   Volker Lendecke <vl@samba.org>
322     * BUG 8159: Fix memory corruption in fetching cli->server_domain from the
323       server.
324     * BUG 8185: "security=server" does not obey guest login field.
325     * BUG 8189: Support shadow copy display over SMB2.
326     * BUG 8199: Fix potential crash in smbd handling smb2.
327
328
329 o   Samuel Thibault <sthibault@debian.org>
330     * BUG 7998: Fix build on Hurd.
331
332
333 Changes since 3.6.0pre3
334 -----------------------
335
336 o   Jeremy Allison <jra@samba.org>
337     * BUG 8111: CIFS VFS: Fix unexpected error on SMB posix open.
338     * BUG 8112: POSIX extension opens of a directory are denied with EISDIR.
339     * Remove fstrings from client struct.
340     * BUGFIX when converting from safe_strcpy to strlcpy.
341     * Fix off-by-one calculations with strlcpy.
342     * Ensure we always write the correct incoming mid into the share mode table
343       entries.
344     * Fix the SMB2 oplock showstopper.
345
346
347 o   Christian Ambach <christian.ambach@de.ibm.com>
348     * Convert user-specified domain to uppercase in libsmb.
349
350
351 o   Günther Deschner <gd@samba.org>
352     * BUG 8132: Fix filling printers location field when using cups.
353     * Fix Coverity CID #2302: FORWARD_NULL.
354     * Fix cups_pull_comment_location().
355     * Fix double free of cups request.
356     * Make cups_pull_comment_location() work again.
357     * Fix potential crash bug in display_print_driver3().
358
359
360 o   Volker Lendecke <vl@samba.org>
361     * Properly clean up in pthreadpool_init in case of failure.
362     * Make plaintext session setup async.
363     * Reduce fd load in Winbind children.
364     * Avoid a potential 100% CPU loop in Winbind.
365     * Tune broadcast namequeries for unique names.
366     * Properly deal with exited winbind children.
367     * Fix dup_smb2_vec3.
368     * Fix return check in nss_wins.
369
370
371 Changes since 3.6.0pre2
372 -----------------------
373
374 o   Michael Adam <obnox@samba.org>
375     * Fix build of tdb2.
376
377
378 o   Jeremy Allison <jra@samba.org>
379     * BUG 8083: "inherit owner = yes" doesn't interact correctly with
380       vfs_acl_xattr or vfs_acl_tdb module.
381     * BUG 8088: rpccli_samr_chng_pswd_auth_crap segfaults if any input blobs
382       are null.
383     * Correctly detect and deny symlinks anywhere in a path (not just the last
384       component) if "follow symlinks = no".
385
386
387 o   Günther Deschner <gd@samba.org>
388     * BUG 8106: Fix the build of 'smbget' on HP NonStop.
389     * Fix timeout in rpc_pipe_open_tcp_port().
390     * Fix the build of "--with-profiling-data".
391     * Fix the AIX 5.3 build.
392
393
394 o   Sergey Korsak <skif@1plus1.net>
395     * BUG #8099: setpwent() actually does endpwent() and vice versa on FreeBSD.
396
397
398 o   Volker Lendecke <vl@samba.org>
399     * BUG 8066: Fix wrong output in 'smbget'.
400     * Fix Coverity IDs 986, 1340, 2047, 2299, 2307, 2325, 2335, 2336, 2470,
401       2471, 2478.
402     * nsswitch: Add 'wbinfo --lookup-sids'.
403     * nsswitch: Add 'wbinfo --sids-to-unix-ids'.
404     * Fix smbd with the async echo responder.
405     * Fix the build of vfs_gpfs.c.
406     * Add a 10-second timeout for the 445 or netbios connection to a DC.
407     * Many pthreadpool fixes.
408
409
410 o   Stefan Metzmacher <metze@samba.org>
411     * BUG 7383: Listen on IPv6 addresses with IPV6_ONLY.
412
413
414 o   Rusty Russell <rusty@rustcorp.com.au>
415     * Fix transaction recovery area for converted tdbs.
416
417
418
419 Changes since 3.6.0pre1
420 -----------------------
421
422 o   Michael Adam <obnox@samba.org>
423     * ID Mapping changes.
424     * Add "--option" to 'testparm'.
425
426
427 o   Jeremy Allison <jra@samba.org>
428     * BUG 7080: Quota only shown when logged as root.
429     * BUG 7863: Unlink may unlink wrong file when hardlinks are involved.
430     * BUG 7996: Sgid bit lost on folder rename.
431     * BUG 8040: Fix smbclient segfault with Cyrillic netbios names.
432     * Fix crash bug on smbd shutdown when using FOPENDIR().
433     * Ensure we don't return an incorrect access mask.
434     * Fix bug against the new Mac client.
435     * Fix leak in error path.
436     * Fix error where Windows client spoolss returns WERR_INVALID_DATA.
437
438
439 o   Christian Ambach <christian.ambach@de.ibm.com>
440     * Fix a segfault in the krb5 locator plugin.
441     * Enable sharesec for registry shares.
442
443
444 o   Andrew Bartlett <abartlet@samba.org>
445     * Fix memory leak in "security=share" and "force user".
446
447
448 o   Björn Baumbach <bb@sernet.de>
449     * BUG 7875: Fix 'nmbd --port'.
450     * BUG 7880: cmd_spoolss_deletedriver() returned without checking all
451       architectures.
452
453
454 o   Gregor Beck <gbeck@sernet.de>
455     * Add new 'net idmap check' command.
456     * Add new 'net idmap delete' command.
457     * Fix segfault on missing input file in 'net idmap restore'.
458
459
460 o   Olly Betts <olly@survex.com>
461     * Fix 'net usersidlist' not to skip every other user.
462
463
464 o   Günther Deschner <gd@samba.org>
465     * BUG 7690: Retry DNS updates when connection to one nameserver has failed.
466     * BUG 7945: Let winbind try to use samlogon validation level 6.
467     * Fix Coverity ID 2041.
468     * Fix potential crash bug in spoolss_PrinterEnumValues push path.
469     * Internal restructuring.
470     * Don't wipe out all printer drivers when only one should be deleted.
471     * Fix winbindd_dual_pam_auth_samlogon() for NT4 domains.
472
473
474 o   David Disseldorp <ddiss@suse.de>
475     * BUG 7915: Fix cups pcap reload with no printers.
476     * BUG 8040: Fix smbclient segfault with Cyrillic netbios names.
477     * Fix memory leak in print_cups.c.
478     * Remove duplicate cups response processing code.
479     * Follow force user/group for driver IO.
480     * Initiate pcap reload from parent smbd.
481     * Reload shares after pcap cache fill.
482
483
484 o   Björn Jacke <bj@sernet.de>
485     * BUG 8033: Add explicit configure option whether or not to enable dmapi
486       support.
487
488
489 o   Volker Lendecke <vl@samba.org>
490     * BUG 7917: Fix bug in chain_reply.
491     * BUG 7940: Fall back for utimes calls.
492     * BUG 8009: Fix getting username in 'net rap session'.
493     * BUG 8010: Use jenkins hash for str_checksum.
494     * BUG 8042: Fix file creation on OS/X.
495     * Fix numerous Coverity IDs.
496     * Fix a memory leak in check_sam_security_info3.
497     * Fix a segfault in the nss wrapper when libnss_winbind.so is not loadable.
498     * Make "net sam list [users|workstations]" list only the right things.
499     * Fix a potential memleak in secrets_fetch_trusted_domain_password.
500     * Use the right credentials in check_netlogond_security.
501     * Add support for AF_NETLINK addr notifications.
502     * Fork multiple Winbind children per domain.
503     * Fix a deadlock between smbd and ctdbd.
504     * Add 'wbinfo --dc-info'.
505     * Make "nmbd socket dir" configurable.
506     * Fix a valgrind error.
507     * Fix a memleak in receive_getdc_response.
508
509
510 o   Nikolay Martynov <mar.kolya@gmail.com>
511     * BUG 8010: Fix inode generation so nautilus can count total dir size
512       correctly.
513
514
515 o   Stefan Metzmacher <metze@samba.org>
516     * BUG 7567: Fix printing from Windows 7.
517     * BUG 7899: Don't return "-1" on success in 'net rpc vampire keytab'.
518     * BUG 7944: Catch lookup_names/sids schannel errors over ncacn_ip_tcp.
519     * Don't grant SEC_STD_DELETE always to the owner of a file.
520     * Fix segfaults on addrchange errors in Winbind.
521     * Allow machine accounts as members in groupdb.
522
523
524 o   Jonathan Nieder <jrnieder@gmail.com>
525     * BUG 6837: Make "rlimit_max below minimum Windows limit" notification less
526       scary.
527
528
529 o   Andreas Schneider <asn@samba.org>
530     * Add an Endpoint Mapper daemon.
531     * Add IPv6 support for the endpoint mapper.
532     * Free unused memory in the rpc server.
533     * Fix possible segfaults in svcctl server.
534     * Fix possible segfault with client_id in rpc server.
535     * Add a 'svcctl shutdown' function to rpc server.
536     * Fix a resource leak in net_afs.
537     * Fix a resource leak in smbta-util.
538     * Fix possible resource leak in net_usershare.
539     * Fix possible resource leak in 'smbget'.
540     * Fix possible resource leak in 'smbfilter'.
541     * Fix a possible null pointer dereference in smbd.
542
543
544 o   Pavel Shilovsky <piastry@etersoft.ru>
545     * BUG 7928: Fix problems with "kernel oplocks" option set to "no".
546     * Ensure we send the direct levelII oplock break to the correct fid.
547
548
549 o   Simo Sorce <idra@samba.org>
550     * Fix private libdir and codepages paths.
551
552
553 o   Andrew Tridgell <tridge@samba.org>
554     * Fix a valgrind error.
555
556
557 ######################################################################
558 Reporting bugs & Development Discussion
559 #######################################
560
561 Please discuss this release on the samba-technical mailing list or by
562 joining the #samba-technical IRC channel on irc.freenode.net.
563
564 If you do report problems then please try to send high quality
565 feedback. If you don't provide vital information to help us track down
566 the problem then you will probably be ignored.  All bug reports should
567 be filed under the Samba 3.6 product in the project's Bugzilla
568 database (https://bugzilla.samba.org/).
569
570
571 ======================================================================
572 == Our Code, Our Bugs, Our Responsibility.
573 == The Samba Team
574 ======================================================================
575