• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1config CIFS
2	tristate "CIFS support (advanced network filesystem, SMBFS successor)"
3	depends on INET
4	select NLS
5	select CRYPTO
6	select CRYPTO_MD4
7	select CRYPTO_MD5
8	select CRYPTO_HMAC
9	select CRYPTO_ARC4
10	select CRYPTO_ECB
11	select CRYPTO_DES
12	select CRYPTO_SHA256
13	help
14	  This is the client VFS module for the Common Internet File System
15	  (CIFS) protocol which is the successor to the Server Message Block
16	  (SMB) protocol, the native file sharing mechanism for most early
17	  PC operating systems.  The CIFS protocol is fully supported by
18	  file servers such as Windows 2000 (including Windows 2003, Windows 2008,
19	  NT 4 and Windows XP) as well by Samba (which provides excellent CIFS
20	  server support for Linux and many other operating systems). Limited
21	  support for OS/2 and Windows ME and similar servers is provided as
22	  well.
23
24	  The cifs module provides an advanced network file system
25	  client for mounting to CIFS compliant servers.  It includes
26	  support for DFS (hierarchical name space), secure per-user
27	  session establishment via Kerberos or NTLM or NTLMv2,
28	  safe distributed caching (oplock), optional packet
29	  signing, Unicode and other internationalization improvements.
30	  If you need to mount to Samba or Windows from this machine, say Y.
31
32config CIFS_STATS
33        bool "CIFS statistics"
34        depends on CIFS
35        help
36          Enabling this option will cause statistics for each server share
37	  mounted by the cifs client to be displayed in /proc/fs/cifs/Stats
38
39config CIFS_STATS2
40	bool "Extended statistics"
41	depends on CIFS_STATS
42	help
43	  Enabling this option will allow more detailed statistics on SMB
44	  request timing to be displayed in /proc/fs/cifs/DebugData and also
45	  allow optional logging of slow responses to dmesg (depending on the
46	  value of /proc/fs/cifs/cifsFYI, see fs/cifs/README for more details).
47	  These additional statistics may have a minor effect on performance
48	  and memory utilization.
49
50	  Unless you are a developer or are doing network performance analysis
51	  or tuning, say N.
52
53config CIFS_WEAK_PW_HASH
54	bool "Support legacy servers which use weaker LANMAN security"
55	depends on CIFS
56	help
57	  Modern CIFS servers including Samba and most Windows versions
58	  (since 1997) support stronger NTLM (and even NTLMv2 and Kerberos)
59	  security mechanisms. These hash the password more securely
60	  than the mechanisms used in the older LANMAN version of the
61	  SMB protocol but LANMAN based authentication is needed to
62	  establish sessions with some old SMB servers.
63
64	  Enabling this option allows the cifs module to mount to older
65	  LANMAN based servers such as OS/2 and Windows 95, but such
66	  mounts may be less secure than mounts using NTLM or more recent
67	  security mechanisms if you are on a public network.  Unless you
68	  have a need to access old SMB servers (and are on a private
69	  network) you probably want to say N.  Even if this support
70	  is enabled in the kernel build, LANMAN authentication will not be
71	  used automatically. At runtime LANMAN mounts are disabled but
72	  can be set to required (or optional) either in
73	  /proc/fs/cifs (see fs/cifs/README for more detail) or via an
74	  option on the mount command. This support is disabled by
75	  default in order to reduce the possibility of a downgrade
76	  attack.
77
78	  If unsure, say N.
79
80config CIFS_UPCALL
81	bool "Kerberos/SPNEGO advanced session setup"
82	depends on CIFS && KEYS
83	select DNS_RESOLVER
84	help
85	  Enables an upcall mechanism for CIFS which accesses userspace helper
86	  utilities to provide SPNEGO packaged (RFC 4178) Kerberos tickets
87	  which are needed to mount to certain secure servers (for which more
88	  secure Kerberos authentication is required). If unsure, say N.
89
90config CIFS_XATTR
91        bool "CIFS extended attributes"
92        depends on CIFS
93        help
94          Extended attributes are name:value pairs associated with inodes by
95          the kernel or by users (see the attr(5) manual page, or visit
96          <http://acl.bestbits.at/> for details).  CIFS maps the name of
97          extended attributes beginning with the user namespace prefix
98          to SMB/CIFS EAs. EAs are stored on Windows servers without the
99          user namespace prefix, but their names are seen by Linux cifs clients
100          prefaced by the user namespace prefix. The system namespace
101          (used by some filesystems to store ACLs) is not supported at
102          this time.
103
104          If unsure, say N.
105
106config CIFS_POSIX
107        bool "CIFS POSIX Extensions"
108        depends on CIFS_XATTR
109        help
110          Enabling this option will cause the cifs client to attempt to
111	  negotiate a newer dialect with servers, such as Samba 3.0.5
112	  or later, that optionally can handle more POSIX like (rather
113	  than Windows like) file behavior.  It also enables
114	  support for POSIX ACLs (getfacl and setfacl) to servers
115	  (such as Samba 3.10 and later) which can negotiate
116	  CIFS POSIX ACL support.  If unsure, say N.
117
118config CIFS_ACL
119	  bool "Provide CIFS ACL support"
120	  depends on CIFS_XATTR && KEYS
121	  help
122	    Allows fetching CIFS/NTFS ACL from the server.  The DACL blob
123	    is handed over to the application/caller.
124
125config CIFS_DEBUG
126	bool "Enable CIFS debugging routines"
127	default y
128	depends on CIFS
129	help
130	   Enabling this option adds helpful debugging messages to
131	   the cifs code which increases the size of the cifs module.
132	   If unsure, say Y.
133config CIFS_DEBUG2
134	bool "Enable additional CIFS debugging routines"
135	depends on CIFS_DEBUG
136	help
137	   Enabling this option adds a few more debugging routines
138	   to the cifs code which slightly increases the size of
139	   the cifs module and can cause additional logging of debug
140	   messages in some error paths, slowing performance. This
141	   option can be turned off unless you are debugging
142	   cifs problems.  If unsure, say N.
143
144config CIFS_DFS_UPCALL
145	  bool "DFS feature support"
146	  depends on CIFS && KEYS
147	  select DNS_RESOLVER
148	  help
149	    Distributed File System (DFS) support is used to access shares
150	    transparently in an enterprise name space, even if the share
151	    moves to a different server.  This feature also enables
152	    an upcall mechanism for CIFS which contacts userspace helper
153	    utilities to provide server name resolution (host names to
154	    IP addresses) which is needed for implicit mounts of DFS junction
155	    points. If unsure, say N.
156
157config CIFS_NFSD_EXPORT
158	  bool "Allow nfsd to export CIFS file system"
159	  depends on CIFS && BROKEN
160	  help
161	   Allows NFS server to export a CIFS mounted share (nfsd over cifs)
162
163config CIFS_SMB2
164	bool "SMB2 network file system support"
165	depends on CIFS && INET
166	select NLS
167	select KEYS
168	select FSCACHE
169	select DNS_RESOLVER
170
171	help
172	  This enables experimental support for the SMB2 (Server Message Block
173	  version 2) protocol. The SMB2 protocol is the successor to the
174	  popular CIFS and SMB network file sharing protocols. SMB2 is the
175	  native file sharing mechanism for recent versions of Windows
176	  operating systems (since Vista).  SMB2 enablement will eventually
177	  allow users better performance, security and features, than would be
178	  possible with cifs. Note that smb2 mount options also are simpler
179	  (compared to cifs) due to protocol improvements.
180
181	  Unless you are a developer or tester, say N.
182
183config CIFS_FSCACHE
184	  bool "Provide CIFS client caching support"
185	  depends on CIFS=m && FSCACHE || CIFS=y && FSCACHE=y
186	  help
187	    Makes CIFS FS-Cache capable. Say Y here if you want your CIFS data
188	    to be cached locally on disk through the general filesystem cache
189	    manager. If unsure, say N.
190
191