README file to explain that this is not a SuSE update.
[samba.git] / WHATSNEW.txt
1                   WHATS NEW IN Samba 3.0 alpha22
2                            4th March 2003
3                   ==============================
4
5 This is a pre-release of Samba 3.0. This is NOT a stable release.
6 Use at your own risk.
7
8 The purpose of this alpha release is to get wider testing of the major
9 new pieces of code in the current Samba 3.0 development tree. We have 
10 officially ceased development on the 2.2.x release of Samba and are 
11 concentrating on Samba 3.0. To reduce the time before the final Samba 3.0 
12 release we need as many people as possible to start testing these alpha 
13 releases, and hopefully giving us some high quality feedback on what needs 
14 fixing.
15
16 Note that Samba 3.0 is not feature complete yet. There is a more
17 coding we have planned, but unless we get what we have done already more 
18 widely tested we will have a hard time doing a stable release in a 
19 reasonable time frame.
20
21 Major new features:
22 -------------------
23
24 - Active Directory support. This release is able to join a ADS realm
25   as a member server and authenticate users using LDAP/kerberos. 
26
27 - Unicode support. Samba will now negotiate UNICODE on the wire and
28   internally there is now a much better infrastructure for multi-byte
29   and UNICODE character sets.
30
31 - New authentication system. The internal authentication system has
32   been almost completely rewritten. Most of the changes are internal,
33   but the new auth system is also very configurable. 
34
35 - new filename mangling system. The filename mangling system has been
36   completely rewritten. An internal database now stores mangling maps
37   persistently. This needs lots of testing.
38
39 - new "net" command. A new "net" command has been added. It is
40   somewhat similar to the "net" command in windows. Eventually we plan
41   to replace a bunch of other utilities (such as smbpasswd) with
42   subcommands in "net", at the moment only a few things are
43   implemented.
44
45 - Samba now negotiates NT-style status32 codes on the wire. This
46   improves error handling a lot.
47
48 - better w2k printing support including publishing printer
49   attributes in active directory
50
51 - new loadable RPC modules
52
53 - new dual-daemon winbindd support for better performance
54
55 - support for migrating from a Windows NT 4.0 domain 
56
57 - support for establishing trust relationships with Windows NT 4.0
58   domain controllers
59
60 Plus lots of other changes!
61
62
63 Reporting bugs & Development Discussion
64 ---------------------------------------
65
66 Please discuss this release on the samba-technical mailing list or by
67 joining the #samba-technical IRC channel on irc.freenode.net.
68
69 If you do report problems then please try to send high quality
70 feedback. If you don't provide vital information to help us track down
71 the problem then you will probably be ignored.
72
73
74
75 Changes in alpha22:
76 -------------------
77
78   Added Parameters
79
80   * client NTLMv2 auth
81   * client lanman auth
82   * client signing
83   * client use spnego
84   * max reported print jobs
85   * msdfs proxy
86
87
88  See cvs log for SAMBA_3_0 for complete details.  There are many
89  smaller numerous changes that would clutter the release notes.
90
91 1)  remove the global_myname string and replace with wrapper function
92     global_myname()
93 2)  create vfs/ and pdb/ subdirectories for library installs
94 3)  Fixup of ordered cleanup of get_dc_list()
95 4)  Added more autoconf tests for Stratus VOS
96 5)  Fixed nasty bug where file writes with start offsets in the 
97     range 0x80000000 -> 0xFFFFFFFF would fail as they were being cast 
98     from IVAL (uint32) to SMB_OFF_T (off_t or off64_t, both *signed* 
99     types).   The sign extension would cause the offset to be treated 
100     as negative.
101 6)  Add support to automatically retrieve the dns host name and domain
102     name of an AD server
103 7)  Add support for PRINTER_INFO_7 and publishing printer attributes
104     in active directory
105 8)  Fix for 64 bit issues with oplocks and allocation size
106 9)  Remove assert(count ==1) for multi-homed PDCs when resolving 
107     DOMAIN<0x1b>
108 10) Ensure that change_trust_account_password() always talks to 
109     the PDC
110 11) Add some docs on CUPS printing
111 12) Fix rpcclient querygroup command
112 13) The _abs time functions should not be converting from/to GMT
113 14) Fix broken incremental tar in smbclient
114 15) Adding supporting code for better testing using Valgrind
115 16) Fix for old DOS client when veto files is set to /.*/
116 17) Add win32 utility to query driver capabilities to publish
117     (examples/printing/prtpub.c)
118 18) Fix memory leak when constructing an driver_level_6 structure and 
119     no dependent files 
120 19) Add some friendly versions of NT_STATUS codes
121 20) Protect nmbd against malformed reply packets
122 21) Removal of unpopular winbind client environment variable
123 22) Add msdfs proxy functionality; a CIFS share can directly be a 
124     stand-in for another share, and when clients connect to the first 
125     share, they will be redirected to the proxied share
126 23) Make Samba compile cleanly with -Wwrite-strings
127 24) Add new timegm() that actually works on solaris
128 25) Add support for running smbd, nmbd, & winbindd under the daemontools
129     package
130 26) Move user password changes into the NTSTATUS era, and add support 
131     for the 'min password age' and 'min passwd len' concepts
132 27) Add new gencache based namecache code
133 28) Add profiles utility support to Samba 3.0.x
134 29) Fix open problem with changing attributes on an existing file
135 30) Efficiency fixes for internal messaging system
136 31) Make sure to update print queue cache during timeout_processing()
137     to send notify events
138 32) Make -i flag work like it did in 2.2
139 33) Merge some rpcclient and net functionality from HEAD
140 34) Add support for compiling with Heimdal kerberos libraries
141 35) Connect to the actual netbios name in smb.conf and not LOCALHOST
142 36) Add support for CUPS-PRINTER_CLASS
143 37) Add ntlm_auth tool and update NTLMSSP support
144 38) require Autoconf 2.53 and remove configure from CVS
145 39) Check for too many processes *before* the fork
146 40) Fix delete on close semantics to match W2K. 
147 41) merge desired_access for open_printer_ex from HEAD, allowing 
148     cupsaddsmb to work again!
149 42) Add support for dynamic RPC modules
150 43) wrap all cm_get_XX calls and their subsequent requests in a retry loop 
151     in case we've temporarily lost connection to the DC. Makes winbindd 
152     more reliable
153 44) Optimize user_ok() and user_in_group() when verifying group membership
154 45) Add NTLMv2 client code (that works) and some SMB signing fixes
155 46) Add caching of PRINTER_INFO_2 structures to open printer handles
156 47) Add 1/3 second delay in OpenPrinter() reply to trigger a LAN/WAN
157     optimization in Windows 2000 clients
158 48) Add "WinXP" to the possible values of the %a variable
159 49) Fix to allow blocking lock notification to be done rapidly (no wait for 
160     smb -> smb lock release). Adds new PENDING_LOCK type to lockdb (does 
161     not interfere with existing locks)
162 50) Limit the unix domain sockets used by winbindd (also solves FD_SETSIZE 
163     problem in winbindd to boot !). Adds a "last_access" field to winbindd
164     connections, and will close the oldest idle connection once the number 
165     of open connections goes over WINBINDD_MAX_SIMULTANEOUS_CLIENTS (defined 
166     in local.h as 200 currently)
167 51) Limit the number of print jobs returned in EnumJobs()
168
169     
170
171                   ===============================
172
173 Changes in older alpha releases follow:
174
175 ---------------------------------------------------------------------
176
177 Changes in alpha21:
178 -------------------
179
180 1)  Numerous documentation updates including new Samba FAQ
181 2)  Fixed logic error in checking wins server lists
182 3)  Added more Solaris sendfile checks
183 4)  Added --with-ldapsam for compatibility with 2.2.x Samba/LDAP setups
184 5)  Add new client side support the Win2k LSARPC UUID in rpcbinds
185     Detect a native mode Win2k DC when in "security = domain"
186 6)  Include Domain Local Groups in listing when a member of a native
187     mode Win2k domain
188 7)  Fix ACL inheritance problem
189 8)  Register <0x1c> name on unicast subnet
190 9)  Removed stat() call in lp_add_home()
191 10) Change default of max_xmit to match W2K. Ensure NT negprot uses it
192 11) Merge the new ACL mapping code from Andreas Gruenbacher
193 12) Removed make_printerdef tool from build
194 13) Fix fd leak on printer queue tdb's
195 14) Better error/status logging in both the pam_winbind client and
196     winbindd_pam
197 15) Fix fd leak with kernel change notify
198 16) Fix slowdown because of enumerating all print queues on every smbd startup
199 17) Fix --set-auth-user command to delete entries from the secrets file
200     when an empty username/password is passed on the command line
201 18) Added --get-auth-user to wbinfo for displaying account information
202     used to enumerate users and groups
203 19) Numerous updates for 'net rpc vampire' to migrate from an NT 4.0 Domain
204 20) Merge of scalable printing code from APP_HEAD
205 21) Numerous changes the passdb layer
206 22) More work on printer publishing in Active Directory
207 23) Enable "make modules" to build VFS libraries
208 24) Enable print notify messages on printer attributes from smbcontrol
209 25) Enable auto lookup of domain controllers when adding '*' to
210     "password server" parameter.  Allows to have preferred list
211     of DC's, but not authoritative (e.g. password server = DC1 DC2 *)
212
213
214 Changes in alpha20:
215 -------------------
216
217 1)   Rework the 'guest account gets RID 501' code again...
218 2)   Change to use NT-based session key negotiated for Win2k SPNEGO
219 3)   Support printer data registry keys other than the default
220      PrinterDriverData
221 4)   Moved internal printerdata to REGISTRY_VALUE object
222 5)   Corrected bug in dependentfiles list of DRIVER_INFO_3
223 6)   fixed logic bug in blocking locks code
224 7)   Updated registry api code to work with new printer data key
225      support
226 8)   Added vfstest tool
227 9)   round lock timeouts in lockingX upwards to multiples of 1 second
228 10)  Fixed bugs in Printer Change Notify code
229 11)  added a 'net ads lookup' command that does a CLDAP NetLogon
230      query to a win2000 server
231 12)  Added script to find undocumented smb.conf parameters
232 13)  Added missing parameters to smb.conf(5)
233 14)  receive & parse main CLDAP reply from win2k server
234 15)  removed "admin log" & "alternate permissions" parameters from smb.conf
235 16)  added a generic print_guid utility, and get the byte order handing
236 17)  fixed memory corruption in cli_full_connection()
237 18)  remove unused 'max packet' and 'packet size' options
238 19)  add support for the "value,OID" format described in MSDN for Printer
239      Data values
240 20)  moves NT_TOKEN generation into our authentication code
241 21)  Update documentation build system
242 22)  Several fixes for IRIX compiler
243 23)  Correctly handle "max data count" value in smb transacts
244 24)  Fix for permissions error when adding/modifying using a Print
245      server handle
246 25)  Fix pam_smbpass to always check the return value of pdb_getsampwnam()
247 26)  Use the 'init' flag to determine if the UID is set, rather than testing
248      the uid for -1
249 27)  Cope with non-unix accounts ) we just won't get the groups for those users
250 28)  Add 'net rpc getsid' to fetch the PDC's SID into the local secrets.tdb.
251      Print domain SID on 'net rpc info'
252 29)  don't use lp_passwd_file() to retrieve NIS domain name, but use location
253      instead
254 30)  Various POSIX compatibility fixes
255 31)  Show only non-default values in testparm
256 32)  Fix longstanding bug in Win2k clients by clearing the shortname
257      buffer before returning ascii short name.
258 33)  Add example backtrace script
259 34)  Added NETLOGON NetServerAuthenticate3 include and parser file
260 35)  fix for difference in strsep and strtok semantics in nmbd
261 36)  Ensure we don't change to a user that we can't get an NT_TOKEN for
262 37)  Put back in BDC support in set_server_role()
263 38)  added a 'net rpc samdump' command for dumping the whole sam via
264      samsync operations (as a BDC)
265 39)  don't use spnego in the client unless enabled in smb.conf
266 40)  Added some new delta types discovered by Ronnie from ethereal
267 41)  Cope with negative cache dns entries better
268 42)  do not expose special files, only files, directories and links
269 43)  attempts to simplify Samba's external lib dependencies
270 44)  support non-root-mode systems without getgrouplist()
271 45)  Some fixes for SMB signing
272 46)  Pass the object name down to the enum_printers client rpc
273 47)  add the netatalk VFS module
274 48)  Ensure we have at least smb_size bytes before processing a packet
275 49)  Allow us to "lock" printer tdb entries in memory to stop them being
276      re-used as cache
277 50)  fix 2 byte alignment/offset bug that prevented Win2k/XP clients
278      from receiving all the printer data in EnumPrinterDataEx()
279 51)  Add option to compile new sam system can be enabled with the
280      configure option --with-sam
281 52)  Added SGML/DocBook version of developer oriented docs to build process
282 53)  Return correct FILE_SUPERSEDED response
283 54)  Added example sam module (skeleton)
284 55)  Add plugin support for the sam system (based on passdb code)
285 56)  show builtin groups in samdump
286 57)  Adding samtest utility used to test sam backends
287 58)  fix connecting to a BDC when the PDC is down but in WINS and no bcast
288      can be used to find a BDC
289 58)  convert the LDAP/SASL code to use GSS-SPNEGO if possible
290 59)  added cli_net_auth_3 client code
291 60)  merge of phant0m key fix from APP_HEAD
292 61)  allow rpcclient's samlogon command to use cli_net_3()
293 62)  Added attribute specific OPEN tests
294 63)  Fix bug with stat mode open being done on read-only open with
295      truncate
296 64)  Add lots of const casts to function parameters
297 65)  Implemented some more client side spoolss functions
298 66)  usrmgr expects UNICODE as ProductType
299 67)  Change JOB_INFO_CTR to return a pointer to an array rather than array of
300      pointers in client code
301 68)  Various NTLMSSP fixes
302 69)  fixed crash bug in cli_connection code
303 70)  DeletePrinterDriver[Ex]() fixes from APP_HEAD
304 71)  remove some inet_aton() calls for portability
305 72)  Set default ACB attributes on 'unixsam' accounts
306 73)  Add bcast_msg_flags to connection struct
307 74)  aggregate change notify events in the smbd sender and when transmitting
308 75)  Added better error code on out of space in printer spool directory
309 76)  Removed total jobs check ) not applicable any more
310 77)  fixed bug in share enumeration RPC code
311 78)  extend the ADS_STATUS system to include NTSTATUS
312 79)  commit trusted domain patch n+3
313 80)  remove block VFS module
314 81)  restrict readline headers to readline.c
315 82)  merge of various recycle bin VFS patches
316 83)  Winbind client-side cleanups
317 84)  change parametric option name to vfs_recycle_bin it is more
318      sane and do not pollute standard options namespace too much
319 85)  added --enable-python configure option for building the samba-python
320      unit tests
321 86)  correct trans2 bugs in client for enumerating files/directories
322 87)  Re-add OS/2 EA error codes
323 88)  Added patch for required attributes in directory listings to reply code
324 89)  Fix browse synchronization bug by noticing that W2K DMB's return empty
325      NetServerEnum2 on port 445, but not on port 139
326 90)  Fix semantics of AbortPrinter() spoolss call in server code
327 91)  Ensure we've failed a lock with a lock denied message before automatically
328      pushing it onto the blocking queue
329 92)  Added experimental sendfile code
330 93)  Initialize user_rid value in WINBIND_USERINFO structure returned by
331      the rpc version of query_user()
332 94)  added gencache implementation
333 95)  Merge the cli_shutdown change from 2_2
334 96)  Fixes for DeletePrinterDriverEx()
335 97)  Fixed alignment error in spoolss code
336 98)  Changed Major/Minor version info reported to Server Manager to 4.9
337 99)  Applied new display mode FLAGS for SWAT
338 100) Update to add DEVELOPER option to more parameters
339 101) Added --with-ads option, defaults to yes
340 102) Added --with-ldap option to configure
341 103) Add clock skew handling to our kerberos code
342 104) correct race condition in password change code for out machine account
343      when a member of a domain
344 105) First implementation for 'net rpc vampire'
345 106) store current handle's Device Mode with print job
346 107) Move functionality to check whether entries for lp_workgroup() and
347      "BUILTIN" exist and add them if necessary from check_correct_backend_entries
348      into sam_context_check_default_backends
349 108) allow --with-krb5 to override the location of the kerberos libs on
350     redhat
351 109) unlink spool file after submitting print job when using CUPS api
352 110) Add framework for samtest commands
353 111) Add the ability to view/set the current local domain SIDs to net command
354 112) When creating a group you have to take care of the fact that the
355      underlying unix might not like the group name
356 113) Don't uppercase the username and domain in a session setup
357 114) Merge of "profile acls" code from SAMBA_2_2
358 115) Check for existing of security descriptor in PRINTER_INFO_2 structure
359      in rpc client code
360 116) Move to common user token debugging, and ensure we always print both the
361      NT_TOKEN and the unix credentials
362 117) If adding a user to ldap, make sure we have the 'account' structural class,
363      or else we can't add to OpenLDAP 2.1
364 118) Kill of Get_Pwnam_Modify and smb_getpwnam()
365 119) add a 'ldap passwd sync' option to smb.conf
366 120) Whenever we deal with adding machine/trusted domain accounts, always reset
367      the flag to what we expect
368 121) Fix the circular dependency that was preventing 'domain master = auto' (the
369      default) from working
370 122) move all the passdb internal interface to NTSTATUS
371 123) to expand % values (ie we go \\%L\%U -> \\server\user, we don't want to
372      store \\server\user back) and to correctly notice 'not set' compared to 'null
373      string' etc.
374 124) get some more of our access control bits right on the SAMR pipe
375 125) Add -r parameter to smbgroupedit. With -r you can manually choose
376      a rid
377
378
379