pidl: Move tests for the CUtil module to a separate file.
[samba.git] / NEWS
1 This file aims to document the major changes since the latest released version 
2 of Samba, 3.0. Samba 4.0 contains rewrites of several subsystems 
3 and uses a different internal format for most data. Since this 
4 file is an initial draft, please update missing items.
5
6 One of the main goals of Samba 4 was Active Directory Domain Controller 
7 support. This means Samba now implements several protocols that are required 
8 by AD such as Kerberos and DNS.
9
10 An (experimental) upgrade script that performs a one-way upgrade 
11 from Samba 3 is available in source/setup/upgrade.
12
13 Removal of nmbd and introduction of process models
14 ==================================================
15 smbd now implements several network protocols other than just CIFS and 
16 DCE/RPC. nmbd's functionality has been merged into smbd. smbd supports 
17 various 'process models' that specify how concurrent connections are 
18 handled (when to fork, use threads, etc). 
19
20 Introduction of LDB
21 ===================
22 Samba now stores most of its persistent data in a LDAP-like database 
23 called LDB (see ldb(7) for more info). 
24
25 Much improved SWAT
26 ==================
27 SWAT has had some rather large improvements and is now more than just a 
28 direct editor for smb.conf. Its layout has been improved. SWAT can now also 
29 be used for editing run-time data - maintaining user information, provisioning,
30 etc. TLS is supported out of the box.
31
32 Built-in KDC
33 ============
34 Samba4 ships with an integrated KDC (Kerberos Key Distribution
35 Center).  Backed directly onto our main internal database, and
36 integrated with custom code to handle the PAC, Samba4's KDC is an
37 integral part of our support for AD logon protocols.
38
39 Built-in LDAP Server
40 ====================
41 Like the situation with the KDC, Samba4 ships with it's own LDAP
42 server, included to provide simple, built-in LDAP services in an AD
43 (rather than distinctly standards) matching manner.  The database is
44 LDB, and it shares that in common with the rest of Samba.
45
46 Changed configuration options
47 =============================
48 Several configuration options have been removed in Samba4 while others have 
49 been introduced. This section contains a summary of changes to smb.conf and 
50 where these settings moved. Configuration options that have disappeared may be 
51 re-added later when the functionality that uses them gets reimplemented in 
52 Samba 4.
53
54 The 'security' parameter has been split up. It is now only used to choose 
55 between the 'user' and 'share' security levels (the latter is not supported 
56 in Samba 4 yet). The other values of this option and the 'domain master' and 
57 'domain logons' parameters have been merged into a 'server role' parameter 
58 that can be either 'domain controller', 'member server' or 'standalone'. Note that 
59 member server support does not work yet.
60
61 The following parameters have been removed:
62 - passdb backend: accounts are now stored in a LDB-based SAM database, 
63         see 'sam database' below.
64 - update encrypted
65 - public
66 - guest ok
67 - client schannel
68 - server schannel
69 - allow trusted domains
70 - hosts equiv
71 - map to guest
72 - smb passwd file
73 - algorithmic rid base
74 - root directory
75 - root dir
76 - root
77 - guest account
78 - enable privileges
79 - pam password change
80 - passwd program
81 - passwd chat debug
82 - passwd chat timeout
83 - check password script
84 - username map
85 - username level
86 - unix password sync
87 - restrict anonymous
88 - username
89 - user
90 - users
91 - invalid users
92 - valid users
93 - admin users
94 - read list
95 - write list
96 - printer admin
97 - force user
98 - force group
99 - group
100 - write ok
101 - writeable
102 - writable
103 - acl check permissions
104 - acl group control
105 - acl map full control
106 - create mask
107 - create mode
108 - force create mode
109 - security mask
110 - force security mode
111 - directory mask
112 - directory mode
113 - force directory mode
114 - directory security mask
115 - force directory security mode
116 - force unknown acl user
117 - inherit permissions
118 - inherit acls
119 - inherit owner
120 - guest only
121 - only guest
122 - only user
123 - allow hosts
124 - deny hosts
125 - preload modules
126 - use kerberos keytab
127 - syslog
128 - syslog only
129 - max log size
130 - debug timestamp
131 - timestamp logs
132 - debug hires timestamp
133 - debug pid
134 - debug uid
135 - allocation roundup size
136 - aio read size
137 - aio write size
138 - aio write behind
139 - large readwrite
140 - protocol
141 - read bmpx
142 - reset on zero vc
143 - acl compatibility
144 - defer sharing violations
145 - ea support
146 - nt acl support
147 - nt pipe support
148 - profile acls
149 - map acl inherit
150 - afs share
151 - max ttl
152 - client use spnego
153 - enable asu support
154 - svcctl list
155 - block size
156 - change notify timeout
157 - deadtime
158 - getwd cache
159 - keepalive
160 - kernel change notify
161 - lpq cache time
162 - max smbd processes
163 - max disk size
164 - max open files
165 - min print space
166 - strict allocate
167 - sync always
168 - use mmap
169 - use sendfile
170 - hostname lookups
171 - write cache size
172 - name cache timeout
173 - max reported print jobs
174 - load printers
175 - printcap cache time
176 - printcap name
177 - printcap
178 - printing
179 - cups options
180 - cups server
181 - iprint server
182 - print command
183 - disable spoolss
184 - enable spoolss
185 - lpq command
186 - lprm command
187 - lppause command
188 - lpresume command
189 - queuepause command
190 - queueresume command
191 - enumports command
192 - addprinter command
193 - deleteprinter command
194 - show add printer wizard
195 - os2 driver map
196 - use client driver
197 - default devmode
198 - force printername
199 - mangling method
200 - mangle prefix
201 - default case
202 - case sensitive
203 - casesignames
204 - preserve case
205 - short preserve case
206 - mangling char
207 - hide dot files
208 - hide special files
209 - hide unreadable
210 - hide unwriteable files
211 - delete veto files
212 - veto files
213 - hide files
214 - veto oplock files
215 - map readonly
216 - mangled names
217 - mangled map
218 - max stat cache size
219 - stat cache
220 - store dos attributes
221 - machine password timeout
222 - add user script
223 - rename user script
224 - delete user script
225 - add group script
226 - delete group script
227 - add user to group script
228 - delete user from group script
229 - set primary group script
230 - add machine script
231 - shutdown script
232 - abort shutdown script
233 - username map script
234 - logon script
235 - logon path
236 - logon drive
237 - logon home
238 - domain logons
239 - os level
240 - lm announce
241 - lm interval
242 - domain master
243 - browse list
244 - enhanced browsing
245 - wins proxy
246 - wins hook
247 - wins partners
248 - blocking locks
249 - fake oplocks
250 - kernel oplocks
251 - locking
252 - lock spin count
253 - lock spin time
254 - oplocks
255 - level2 oplocks
256 - oplock break wait time
257 - oplock contention limit
258 - posix locking
259 - share modes
260 - ldap server
261 - ldap port
262 - ldap admin dn
263 - ldap delete dn
264 - ldap group suffix
265 - ldap idmap suffix
266 - ldap machine suffix
267 - ldap passwd sync
268 - ldap password sync
269 - ldap replication sleep
270 - ldap suffix
271 - ldap ssl
272 - ldap timeout
273 - ldap page size
274 - ldap user suffix
275 - add share command
276 - change share command
277 - delete share command
278 - eventlog list
279 - utmp directory
280 - wtmp directory
281 - utmp
282 - default service
283 - default
284 - message command
285 - dfree cache time
286 - dfree command
287 - get quota command
288 - set quota command
289 - remote announce
290 - remote browse sync
291 - homedir map
292 - afs username map
293 - afs token lifetime
294 - log nt token command
295 - time offset
296 - NIS homedir
297 - preexec
298 - exec
299 - preexec close
300 - postexec
301 - root preexec
302 - root preexec close
303 - root postexec
304 - set directory
305 - wide links
306 - follow symlinks
307 - dont descend
308 - magic script
309 - magic output
310 - delete readonly
311 - dos filemode
312 - dos filetimes
313 - dos filetime resolution
314 - fake directory create times
315 - panic action
316 - vfs objects
317 - vfs object
318 - msdfs root
319 - msdfs proxy
320 - host msdfs
321 - enable rid algorithm
322 - passdb expand explicit
323 - idmap backend
324 - idmap uid
325 - winbind uid
326 - idmap gid
327 - winbind gid
328 - template homedir
329 - template shell
330 - winbind separator
331 - winbind cache time
332 - winbind enum users
333 - winbind enum groups
334 - winbind use default domain
335 - winbind trusted domains only
336 - winbind nested groups
337 - winbind max idle children
338 - winbind nss info
339  
340 The following parameters have been added:
341 + rpc big endian (G)
342         Make Samba fake it is running on a bigendian machine when using DCE/RPC. 
343         Useful for debugging.
344
345         Default: no
346
347 + case insensitive filesystem (S)
348         Set to true if this share is located on a case-insensitive filesystem.
349         This disables looking for a filename by trying all possible combinations of 
350         uppercase/lowercase characters and thus speeds up operations when a 
351         file cannot be found. 
352
353         Default: no
354         
355 + js include (G)
356         Path to JavaScript library. 
357
358         Default: Set at compile-time
359         
360 + setup directory
361         Path to data used by provisioning script.
362
363         Default: Set at compile-time
364         
365 + ncalrpc dir
366         Directory to use for UNIX sockets used by the 'ncalrpc' DCE/RPC transport.
367
368         Default: Set at compile-time
369         
370 + ntvfs handler
371         Backend to the NT VFS to use (more than one can be specified). Available
372         backends include: 
373         
374         - posix:
375                 Maps POSIX FS semantics to NT semantics
376
377         - simple:
378                 Very simple backend (original testing backend).
379
380         - unixuid:
381                 Sets up user credentials based on POSIX gid/uid.
382
383         - cifs:
384                 Proxies a remote CIFS FS. Mainly useful for testing.
385
386         - nbench:
387                 Filter module that saves data useful to the nbench benchmark suite.
388
389         - ipc:
390                 Allows using SMB for inter process communication. Only used for 
391                 the IPC$ share.
392
393         - print:
394                 Allows printing over SMB. This is LANMAN-style printing (?), not 
395                 the be confused with the spoolss DCE/RPC interface used by later 
396                 versions of Windows.
397         
398         Default: unixuid default
399
400 + ntptr providor
401         FIXME
402
403 + dcerpc endpoint servers
404         What DCE/RPC servers to start.
405
406         Default: epmapper srvsvc wkssvc rpcecho samr netlogon lsarpc spoolss drsuapi winreg dssetup
407
408 + server services
409         Services Samba should provide.
410
411         Default: smb rpc nbt wrepl ldap cldap web kdc
412
413 + sam database
414         Location of the SAM (account database) database. This should be a 
415         LDB URL.
416
417         Default: set at compile-time
418
419 + spoolss database
420         Spoolss (printer) DCE/RPC server database. This should be a LDB URL.
421
422         Default: set at compile-time
423
424 + wins config database
425         WINS configuration database location. This should be a LDB URL.
426
427         Default: set at compile-time
428         
429 + wins database
430         WINS database location. This should be a LDB URL.
431
432         Default: set at compile-time
433         
434 + client use spnego principal
435         Tells the client to use the Kerberos service principal specified by the 
436         server during the security protocol negotation rather than 
437         looking up the principal itself (cifs/hostname).
438
439         Default: false
440
441 + nbt port
442         TCP/IP Port used by the NetBIOS over TCP/IP (NBT) implementation.
443  
444         Default: 137
445
446 + dgram port
447         UDP/IP port used by the NetBIOS over TCP/IP (NBT) implementation.
448         
449         Default: 138
450
451 + cldap port
452         UDP/IP port used by the CLDAP protocol.
453
454         Default: 389
455
456 + krb5 port
457         IP port used by the kerberos KDC.       
458         
459         Default: 88
460         
461 + kpasswd port
462         IP port used by the kerberos password change protocol.
463
464         Default: 464
465         
466 + web port
467         TCP/IP port SWAT should listen on.
468
469         Default: 901
470
471 + tls enabled
472         Enable TLS support for SWAT
473         
474         Default: true
475         
476 + tls keyfile
477         Path to TLS key file (PEM format) to be used by SWAT. If no 
478         path is specified, Samba will create a key.
479
480         Default: none
481
482 + tls certfile
483         Path to TLS certificate file (PEM format) to be used by SWAT. If no 
484         path is specified, Samba will create a certificate.
485
486         Default: none
487         
488 + tls cafile
489         Path to CA authority file Samba will use to sign TLS keys it generates. If 
490         no path is specified, Samba will create a self-signed CA certificate.
491
492         Default: none
493
494 + tls crlfile
495         Path to TLS certificate revocation lists file.
496
497         Default: none
498
499 + swat directory
500         SWAT data directory.
501
502         Default: set at compile-time
503
504 + large readwrite
505         Indicate the CIFS server is able to do large reads/writes.
506
507         Default: true
508         
509 + unicode
510         Enable/disable unicode support in the protocol.
511
512         Default: true