Loading fs/cifs/AUTHORS +4 −0 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,10 @@ Domen Puncer Jesper Juhl (in particular for lots of whitespace/formatting cleanup) Jesper Juhl (in particular for lots of whitespace/formatting cleanup) Vince Negri and Dave Stahl (for finding an important caching bug) Vince Negri and Dave Stahl (for finding an important caching bug) Adrian Bunk (kcalloc cleanups) Adrian Bunk (kcalloc cleanups) Miklos Szeredi Kazeon team for various fixes especially for 2.4 version. Asser Ferno (Change Notify support) Shaggy (Dave Kleikamp) for inumerable small fs suggestions and some good cleanup Test case and Bug Report contributors Test case and Bug Report contributors ------------------------------------- ------------------------------------- Loading fs/cifs/CHANGES +52 −8 Original line number Original line Diff line number Diff line Version 1.39 ------------ Defer close of a file handle slightly if pending writes depend on that file handle (this reduces the EBADF bad file handle errors that can be logged under heavy stress on writes). Version 1.38 ------------ Fix tcp socket retransmission timeouts (e.g. on ENOSPACE from the socket) to be smaller at first (but increasing) so large write performance performance over GigE is better. Do not hang thread on illegal byte range lock response from Windows (Windows can send an RFC1001 size which does not match smb size) by allowing an SMBs TCP length to be up to a few bytes longer than it should be. wsize and rsize can now be larger than negotiated buffer size if server supports large readx/writex, even when directio mount flag not specified. Write size will in many cases now be 16K instead of 4K which greatly helps file copy performance on lightly loaded networks. Fix oops in dnotify when experimental config flag enabled. Make cifsFYI more granular. Version 1.37 ------------ Fix readdir caching when unlink removes file in current search buffer, and this is followed by a rewind search to just before the deleted entry. Do not attempt to set ctime unless atime and/or mtime change requested (most servers throw it away anyway). Fix length check of received smbs to be more accurate. Fix big endian problem with mapchars mount option, and with a field returned by statfs. Version 1.36 ------------ Add support for mounting to older pre-CIFS servers such as Windows9x and ME. For these older servers, add option for passing netbios name of server in on mount (servernetbiosname). Add suspend support for power management, to avoid cifsd thread preventing software suspend from working. Add mount option for disabling the default behavior of sending byte range lock requests to the server (necessary for certain applications which break with mandatory lock behavior such as Evolution), and also mount option for requesting case insensitive matching for path based requests (requesting case sensitive is the default). Version 1.35 Version 1.35 ------------ ------------ Add writepage performance improvements. Fix path name conversions Add writepage performance improvements. Fix path name conversions for long filenames on mounts which were done with "mapchars" mount option for long filenames on mounts which were done with "mapchars" mount option specified. specified. Ensure multiplex ids do not collide. Fix case in which rmmod can oops if done soon after last unmount. Fix truncated search (readdir) output when resume filename was a long filename. Fix filename conversion when mapchars mount option was specified and filename was a long filename. Version 1.34 Version 1.34 ------------ ------------ Loading @@ -11,7 +55,7 @@ Do not oops if root user kills cifs oplock kernel thread or kills the cifsd thread (NB: killing the cifs kernel threads is not kills the cifsd thread (NB: killing the cifs kernel threads is not recommended, unmount and rmmod cifs will kill them when they are recommended, unmount and rmmod cifs will kill them when they are no longer needed). Fix readdir to ASCII servers (ie older servers no longer needed). Fix readdir to ASCII servers (ie older servers which do not support Unicode) and also require asterik. which do not support Unicode) and also require asterisk. Fix out of memory case in which data could be written one page Fix out of memory case in which data could be written one page off in the page cache. off in the page cache. Loading Loading @@ -101,7 +145,7 @@ improperly zeroed buffer in CIFS Unix extensions set times call. Version 1.25 Version 1.25 ------------ ------------ Fix internationlization problem in cifs readdir with filenames that map to Fix internationalization problem in cifs readdir with filenames that map to longer UTF8 strings than the string on the wire was in Unicode. Add workaround longer UTF8 strings than the string on the wire was in Unicode. Add workaround for readdir to netapp servers. Fix search rewind (seek into readdir to return for readdir to netapp servers. Fix search rewind (seek into readdir to return non-consecutive entries). Do not do readdir when server negotiates non-consecutive entries). Do not do readdir when server negotiates Loading Loading @@ -276,7 +320,7 @@ Fix caching problem when files opened by multiple clients in which page cache could contain stale data, and write through did page cache could contain stale data, and write through did not occur often enough while file was still open when read ahead not occur often enough while file was still open when read ahead (read oplock) not allowed. Treat "sep=" when first mount option (read oplock) not allowed. Treat "sep=" when first mount option as an overrride of comma as the default separator between mount as an override of comma as the default separator between mount options. options. Version 1.01 Version 1.01 Loading @@ -286,7 +330,7 @@ Allow passwords longer than 16 bytes. Allow null password string. Version 1.00 Version 1.00 ------------ ------------ Gracefully clean up failed mounts when attempting to mount to servers such as Gracefully clean up failed mounts when attempting to mount to servers such as Windows 98 that terminate tcp sessions during prototocol negotiation. Handle Windows 98 that terminate tcp sessions during protocol negotiation. Handle embedded commas in mount parsing of passwords. embedded commas in mount parsing of passwords. Version 0.99 Version 0.99 Loading @@ -295,7 +339,7 @@ Invalidate local inode cached pages on oplock break and when last file instance is closed so that the client does not continue using stale local instance is closed so that the client does not continue using stale local copy rather than later modified server copy of file. Do not reconnect copy rather than later modified server copy of file. Do not reconnect when server drops the tcp session prematurely before negotiate when server drops the tcp session prematurely before negotiate protocol response. Fix oops in roepen_file when dentry freed. Allow protocol response. Fix oops in reopen_file when dentry freed. Allow the support for CIFS Unix Extensions to be disabled via proc interface. the support for CIFS Unix Extensions to be disabled via proc interface. Version 0.98 Version 0.98 Loading Loading @@ -637,7 +681,7 @@ versions of 2.4 kernel (now builds and works again on kernels at least as early Version 0.41 Version 0.41 ------------ ------------ Various minor fixes for Connectathon Posix "basic" file i/o test suite. Directory caching fixed so hardlinked Various minor fixes for Connectathon Posix "basic" file i/o test suite. Directory caching fixed so hardlinked files now return the correct rumber of links on fstat as they are repeatedly linked and unlinked. files now return the correct number of links on fstat as they are repeatedly linked and unlinked. Version 0.40 Version 0.40 ------------ ------------ Loading Loading @@ -704,7 +748,7 @@ session) and cleaned them up and made them more consistent with other cifs functions. and cleaned them up and made them more consistent with other cifs functions. 7) Server support for Unix extensions is now fully detected and FindFirst is implemented both ways 7) Server support for Unix extensions is now fully detected and FindFirst is implemented both ways (with or without Unix exentions) but FindNext and QueryPathInfo with the Unix extensions are not completed, (with or without Unix extensions) but FindNext and QueryPathInfo with the Unix extensions are not completed, nor is the symlink support using the Unix extensions nor is the symlink support using the Unix extensions 8) Started adding the readlink and follow_link code 8) Started adding the readlink and follow_link code Loading fs/cifs/README +20 −4 Original line number Original line Diff line number Diff line Loading @@ -294,8 +294,10 @@ A partial list of the supported mount options follows: during the local client kernel build will be used. during the local client kernel build will be used. If server does not support Unicode, this parameter is If server does not support Unicode, this parameter is unused. unused. rsize default read size rsize default read size (usually 16K) wsize default write size wsize default write size (usually 16K, 32K is often better over GigE) maximum wsize currently allowed by CIFS is 57344 (14 4096 byte pages) rw mount the network share read-write (note that the rw mount the network share read-write (note that the server may still consider the share read-only) server may still consider the share read-only) ro mount network share read-only ro mount network share read-only Loading Loading @@ -407,6 +409,13 @@ A partial list of the supported mount options follows: This has no effect if the server does not support This has no effect if the server does not support Unicode on the wire. Unicode on the wire. nomapchars Do not translate any of these seven characters (default). nomapchars Do not translate any of these seven characters (default). nocase Request case insensitive path name matching (case sensitive is the default if the server suports it). nobrl Do not send byte range lock requests to the server. This is necessary for certain applications that break with cifs style mandatory byte range locks (and most cifs servers do not yet support requesting advisory byte range locks). remount remount the share (often used to change from ro to rw mounts remount remount the share (often used to change from ro to rw mounts or vice versa) or vice versa) Loading Loading @@ -473,9 +482,16 @@ These experimental features and tracing can be enabled by changing flags in kernel, e.g. insmod cifs). To enable a feature set it to 1 e.g. to enable kernel, e.g. insmod cifs). To enable a feature set it to 1 e.g. to enable tracing to the kernel message log type: tracing to the kernel message log type: echo 1 > /proc/fs/cifs/cifsFYI echo 7 > /proc/fs/cifs/cifsFYI and for more extensive tracing including the start of smb requests and responses cifsFYI functions as a bit mask. Setting it to 1 enables additional kernel logging of various informational messages. 2 enables logging of non-zero SMB return codes while 4 enables logging of requests that take longer than one second to complete (except for byte range lock requests). Setting it to 4 requires defining CONFIG_CIFS_STATS2 manually in the source code (typically by setting it in the beginning of cifsglob.h), and setting it to seven enables all three. Finally, tracing the start of smb requests and responses can be enabled via: echo 1 > /proc/fs/cifs/traceSMB echo 1 > /proc/fs/cifs/traceSMB Loading fs/cifs/TODO +32 −18 Original line number Original line Diff line number Diff line version 1.34 April 29, 2005 version 1.37 October 9, 2005 A Partial List of Missing Features A Partial List of Missing Features ================================== ================================== Loading @@ -7,14 +7,14 @@ Contributions are welcome. There are plenty of opportunities for visible, important contributions to this module. Here for visible, important contributions to this module. Here is a partial list of the known problems and missing features: is a partial list of the known problems and missing features: a) Support for SecurityDescriptors for chmod/chgrp/chown so a) Support for SecurityDescriptors(Windows/CIFS ACLs) for chmod/chgrp/chown these can be supported for Windows servers so that these operations can be supported to Windows servers b) Better pam/winbind integration (e.g. to handle uid mapping b) Mapping POSIX ACLs (and eventually NFSv4 ACLs) to CIFS better) SecurityDescriptors c) multi-user mounts - multiplexed sessionsetups over single vc c) Better pam/winbind integration (e.g. to handle uid mapping (ie tcp session) - more testing needed better) d) Kerberos/SPNEGO session setup support - (started) d) Kerberos/SPNEGO session setup support - (started) Loading @@ -29,12 +29,17 @@ f) Directory entry caching relies on a 1 second timer, rather than using FindNotify or equivalent. - (started) using FindNotify or equivalent. - (started) g) A few byte range testcases fail due to POSIX vs. Windows/CIFS g) A few byte range testcases fail due to POSIX vs. Windows/CIFS style byte range lock differences style byte range lock differences. Save byte range locks so reconnect can replay them. h) quota support h) Support unlock all (unlock 0,MAX_OFFSET) by unlocking all known byte range locks that we locked on the file. j) finish writepages support (multi-page write behind for improved i) quota support (needs minor kernel change since quota calls performance) and syncpage to make it to network filesystems or deviceless filesystems) j) investigate sync behavior (including syncpage) and check for proper behavior of intr/nointr k) hook lower into the sockets api (as NFS/SunRPC does) to avoid the k) hook lower into the sockets api (as NFS/SunRPC does) to avoid the extra copy in/out of the socket buffers in some cases. extra copy in/out of the socket buffers in some cases. Loading @@ -57,20 +62,18 @@ p) Add support for storing symlink and fifo info to Windows servers in the Extended Attribute format their SFU clients would recognize. in the Extended Attribute format their SFU clients would recognize. q) Finish fcntl D_NOTIFY support so kde and gnome file list windows q) Finish fcntl D_NOTIFY support so kde and gnome file list windows will autorefresh (started) will autorefresh (partially complete by Asser). Needs minor kernel vfs change to support removing D_NOTIFY on a file. r) Add GUI tool to configure /proc/fs/cifs settings and for display of r) Add GUI tool to configure /proc/fs/cifs settings and for display of the CIFS statistics (started) the CIFS statistics (started) q) implement support for security and trusted categories of xattrs s) implement support for security and trusted categories of xattrs (requires minor protocol extension) to enable better support for SELINUX (requires minor protocol extension) to enable better support for SELINUX r) Implement O_DIRECT flag on open (already supported on mount) t) Implement O_DIRECT flag on open (already supported on mount) s) Allow remapping of last remaining character (\) to +0xF000 which (this character is valid for POSIX but not for Windows) t) Create UID mapping facility so server UIDs can be mapped on a per u) Create UID mapping facility so server UIDs can be mapped on a per mount or a per server basis to client UIDs or nobody if no mapping mount or a per server basis to client UIDs or nobody if no mapping exists. This is helpful when Unix extensions are negotiated to exists. This is helpful when Unix extensions are negotiated to allow better permission checking when UIDs differ on the server allow better permission checking when UIDs differ on the server Loading @@ -78,6 +81,17 @@ and client. Add new protocol request to the CIFS protocol standard for asking the server for the corresponding name of a standard for asking the server for the corresponding name of a particular uid. particular uid. v) Add support for CIFS Unix and also the newer POSIX extensions to the server side for Samba 4. w) Finish up the dos time conversion routines needed to return old server time to the client (default time, of now or time 0 is used now for these very old servers) x) Add support for OS/2 (LANMAN 1.2 and LANMAN2.1 based SMB servers) y) Finish testing of Windows 9x/Windows ME server support (started). KNOWN BUGS (updated April 29, 2005) KNOWN BUGS (updated April 29, 2005) ==================================== ==================================== See http://bugzilla.samba.org - search on product "CifsVFS" for See http://bugzilla.samba.org - search on product "CifsVFS" for Loading fs/cifs/asn1.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -191,7 +191,8 @@ asn1_header_decode(struct asn1_ctx *ctx, unsigned char **eoc, unsigned char **eoc, unsigned int *cls, unsigned int *con, unsigned int *tag) unsigned int *cls, unsigned int *con, unsigned int *tag) { { unsigned int def, len; unsigned int def = 0; unsigned int len = 0; if (!asn1_id_decode(ctx, cls, con, tag)) if (!asn1_id_decode(ctx, cls, con, tag)) return 0; return 0; Loading Loading
fs/cifs/AUTHORS +4 −0 Original line number Original line Diff line number Diff line Loading @@ -32,6 +32,10 @@ Domen Puncer Jesper Juhl (in particular for lots of whitespace/formatting cleanup) Jesper Juhl (in particular for lots of whitespace/formatting cleanup) Vince Negri and Dave Stahl (for finding an important caching bug) Vince Negri and Dave Stahl (for finding an important caching bug) Adrian Bunk (kcalloc cleanups) Adrian Bunk (kcalloc cleanups) Miklos Szeredi Kazeon team for various fixes especially for 2.4 version. Asser Ferno (Change Notify support) Shaggy (Dave Kleikamp) for inumerable small fs suggestions and some good cleanup Test case and Bug Report contributors Test case and Bug Report contributors ------------------------------------- ------------------------------------- Loading
fs/cifs/CHANGES +52 −8 Original line number Original line Diff line number Diff line Version 1.39 ------------ Defer close of a file handle slightly if pending writes depend on that file handle (this reduces the EBADF bad file handle errors that can be logged under heavy stress on writes). Version 1.38 ------------ Fix tcp socket retransmission timeouts (e.g. on ENOSPACE from the socket) to be smaller at first (but increasing) so large write performance performance over GigE is better. Do not hang thread on illegal byte range lock response from Windows (Windows can send an RFC1001 size which does not match smb size) by allowing an SMBs TCP length to be up to a few bytes longer than it should be. wsize and rsize can now be larger than negotiated buffer size if server supports large readx/writex, even when directio mount flag not specified. Write size will in many cases now be 16K instead of 4K which greatly helps file copy performance on lightly loaded networks. Fix oops in dnotify when experimental config flag enabled. Make cifsFYI more granular. Version 1.37 ------------ Fix readdir caching when unlink removes file in current search buffer, and this is followed by a rewind search to just before the deleted entry. Do not attempt to set ctime unless atime and/or mtime change requested (most servers throw it away anyway). Fix length check of received smbs to be more accurate. Fix big endian problem with mapchars mount option, and with a field returned by statfs. Version 1.36 ------------ Add support for mounting to older pre-CIFS servers such as Windows9x and ME. For these older servers, add option for passing netbios name of server in on mount (servernetbiosname). Add suspend support for power management, to avoid cifsd thread preventing software suspend from working. Add mount option for disabling the default behavior of sending byte range lock requests to the server (necessary for certain applications which break with mandatory lock behavior such as Evolution), and also mount option for requesting case insensitive matching for path based requests (requesting case sensitive is the default). Version 1.35 Version 1.35 ------------ ------------ Add writepage performance improvements. Fix path name conversions Add writepage performance improvements. Fix path name conversions for long filenames on mounts which were done with "mapchars" mount option for long filenames on mounts which were done with "mapchars" mount option specified. specified. Ensure multiplex ids do not collide. Fix case in which rmmod can oops if done soon after last unmount. Fix truncated search (readdir) output when resume filename was a long filename. Fix filename conversion when mapchars mount option was specified and filename was a long filename. Version 1.34 Version 1.34 ------------ ------------ Loading @@ -11,7 +55,7 @@ Do not oops if root user kills cifs oplock kernel thread or kills the cifsd thread (NB: killing the cifs kernel threads is not kills the cifsd thread (NB: killing the cifs kernel threads is not recommended, unmount and rmmod cifs will kill them when they are recommended, unmount and rmmod cifs will kill them when they are no longer needed). Fix readdir to ASCII servers (ie older servers no longer needed). Fix readdir to ASCII servers (ie older servers which do not support Unicode) and also require asterik. which do not support Unicode) and also require asterisk. Fix out of memory case in which data could be written one page Fix out of memory case in which data could be written one page off in the page cache. off in the page cache. Loading Loading @@ -101,7 +145,7 @@ improperly zeroed buffer in CIFS Unix extensions set times call. Version 1.25 Version 1.25 ------------ ------------ Fix internationlization problem in cifs readdir with filenames that map to Fix internationalization problem in cifs readdir with filenames that map to longer UTF8 strings than the string on the wire was in Unicode. Add workaround longer UTF8 strings than the string on the wire was in Unicode. Add workaround for readdir to netapp servers. Fix search rewind (seek into readdir to return for readdir to netapp servers. Fix search rewind (seek into readdir to return non-consecutive entries). Do not do readdir when server negotiates non-consecutive entries). Do not do readdir when server negotiates Loading Loading @@ -276,7 +320,7 @@ Fix caching problem when files opened by multiple clients in which page cache could contain stale data, and write through did page cache could contain stale data, and write through did not occur often enough while file was still open when read ahead not occur often enough while file was still open when read ahead (read oplock) not allowed. Treat "sep=" when first mount option (read oplock) not allowed. Treat "sep=" when first mount option as an overrride of comma as the default separator between mount as an override of comma as the default separator between mount options. options. Version 1.01 Version 1.01 Loading @@ -286,7 +330,7 @@ Allow passwords longer than 16 bytes. Allow null password string. Version 1.00 Version 1.00 ------------ ------------ Gracefully clean up failed mounts when attempting to mount to servers such as Gracefully clean up failed mounts when attempting to mount to servers such as Windows 98 that terminate tcp sessions during prototocol negotiation. Handle Windows 98 that terminate tcp sessions during protocol negotiation. Handle embedded commas in mount parsing of passwords. embedded commas in mount parsing of passwords. Version 0.99 Version 0.99 Loading @@ -295,7 +339,7 @@ Invalidate local inode cached pages on oplock break and when last file instance is closed so that the client does not continue using stale local instance is closed so that the client does not continue using stale local copy rather than later modified server copy of file. Do not reconnect copy rather than later modified server copy of file. Do not reconnect when server drops the tcp session prematurely before negotiate when server drops the tcp session prematurely before negotiate protocol response. Fix oops in roepen_file when dentry freed. Allow protocol response. Fix oops in reopen_file when dentry freed. Allow the support for CIFS Unix Extensions to be disabled via proc interface. the support for CIFS Unix Extensions to be disabled via proc interface. Version 0.98 Version 0.98 Loading Loading @@ -637,7 +681,7 @@ versions of 2.4 kernel (now builds and works again on kernels at least as early Version 0.41 Version 0.41 ------------ ------------ Various minor fixes for Connectathon Posix "basic" file i/o test suite. Directory caching fixed so hardlinked Various minor fixes for Connectathon Posix "basic" file i/o test suite. Directory caching fixed so hardlinked files now return the correct rumber of links on fstat as they are repeatedly linked and unlinked. files now return the correct number of links on fstat as they are repeatedly linked and unlinked. Version 0.40 Version 0.40 ------------ ------------ Loading Loading @@ -704,7 +748,7 @@ session) and cleaned them up and made them more consistent with other cifs functions. and cleaned them up and made them more consistent with other cifs functions. 7) Server support for Unix extensions is now fully detected and FindFirst is implemented both ways 7) Server support for Unix extensions is now fully detected and FindFirst is implemented both ways (with or without Unix exentions) but FindNext and QueryPathInfo with the Unix extensions are not completed, (with or without Unix extensions) but FindNext and QueryPathInfo with the Unix extensions are not completed, nor is the symlink support using the Unix extensions nor is the symlink support using the Unix extensions 8) Started adding the readlink and follow_link code 8) Started adding the readlink and follow_link code Loading
fs/cifs/README +20 −4 Original line number Original line Diff line number Diff line Loading @@ -294,8 +294,10 @@ A partial list of the supported mount options follows: during the local client kernel build will be used. during the local client kernel build will be used. If server does not support Unicode, this parameter is If server does not support Unicode, this parameter is unused. unused. rsize default read size rsize default read size (usually 16K) wsize default write size wsize default write size (usually 16K, 32K is often better over GigE) maximum wsize currently allowed by CIFS is 57344 (14 4096 byte pages) rw mount the network share read-write (note that the rw mount the network share read-write (note that the server may still consider the share read-only) server may still consider the share read-only) ro mount network share read-only ro mount network share read-only Loading Loading @@ -407,6 +409,13 @@ A partial list of the supported mount options follows: This has no effect if the server does not support This has no effect if the server does not support Unicode on the wire. Unicode on the wire. nomapchars Do not translate any of these seven characters (default). nomapchars Do not translate any of these seven characters (default). nocase Request case insensitive path name matching (case sensitive is the default if the server suports it). nobrl Do not send byte range lock requests to the server. This is necessary for certain applications that break with cifs style mandatory byte range locks (and most cifs servers do not yet support requesting advisory byte range locks). remount remount the share (often used to change from ro to rw mounts remount remount the share (often used to change from ro to rw mounts or vice versa) or vice versa) Loading Loading @@ -473,9 +482,16 @@ These experimental features and tracing can be enabled by changing flags in kernel, e.g. insmod cifs). To enable a feature set it to 1 e.g. to enable kernel, e.g. insmod cifs). To enable a feature set it to 1 e.g. to enable tracing to the kernel message log type: tracing to the kernel message log type: echo 1 > /proc/fs/cifs/cifsFYI echo 7 > /proc/fs/cifs/cifsFYI and for more extensive tracing including the start of smb requests and responses cifsFYI functions as a bit mask. Setting it to 1 enables additional kernel logging of various informational messages. 2 enables logging of non-zero SMB return codes while 4 enables logging of requests that take longer than one second to complete (except for byte range lock requests). Setting it to 4 requires defining CONFIG_CIFS_STATS2 manually in the source code (typically by setting it in the beginning of cifsglob.h), and setting it to seven enables all three. Finally, tracing the start of smb requests and responses can be enabled via: echo 1 > /proc/fs/cifs/traceSMB echo 1 > /proc/fs/cifs/traceSMB Loading
fs/cifs/TODO +32 −18 Original line number Original line Diff line number Diff line version 1.34 April 29, 2005 version 1.37 October 9, 2005 A Partial List of Missing Features A Partial List of Missing Features ================================== ================================== Loading @@ -7,14 +7,14 @@ Contributions are welcome. There are plenty of opportunities for visible, important contributions to this module. Here for visible, important contributions to this module. Here is a partial list of the known problems and missing features: is a partial list of the known problems and missing features: a) Support for SecurityDescriptors for chmod/chgrp/chown so a) Support for SecurityDescriptors(Windows/CIFS ACLs) for chmod/chgrp/chown these can be supported for Windows servers so that these operations can be supported to Windows servers b) Better pam/winbind integration (e.g. to handle uid mapping b) Mapping POSIX ACLs (and eventually NFSv4 ACLs) to CIFS better) SecurityDescriptors c) multi-user mounts - multiplexed sessionsetups over single vc c) Better pam/winbind integration (e.g. to handle uid mapping (ie tcp session) - more testing needed better) d) Kerberos/SPNEGO session setup support - (started) d) Kerberos/SPNEGO session setup support - (started) Loading @@ -29,12 +29,17 @@ f) Directory entry caching relies on a 1 second timer, rather than using FindNotify or equivalent. - (started) using FindNotify or equivalent. - (started) g) A few byte range testcases fail due to POSIX vs. Windows/CIFS g) A few byte range testcases fail due to POSIX vs. Windows/CIFS style byte range lock differences style byte range lock differences. Save byte range locks so reconnect can replay them. h) quota support h) Support unlock all (unlock 0,MAX_OFFSET) by unlocking all known byte range locks that we locked on the file. j) finish writepages support (multi-page write behind for improved i) quota support (needs minor kernel change since quota calls performance) and syncpage to make it to network filesystems or deviceless filesystems) j) investigate sync behavior (including syncpage) and check for proper behavior of intr/nointr k) hook lower into the sockets api (as NFS/SunRPC does) to avoid the k) hook lower into the sockets api (as NFS/SunRPC does) to avoid the extra copy in/out of the socket buffers in some cases. extra copy in/out of the socket buffers in some cases. Loading @@ -57,20 +62,18 @@ p) Add support for storing symlink and fifo info to Windows servers in the Extended Attribute format their SFU clients would recognize. in the Extended Attribute format their SFU clients would recognize. q) Finish fcntl D_NOTIFY support so kde and gnome file list windows q) Finish fcntl D_NOTIFY support so kde and gnome file list windows will autorefresh (started) will autorefresh (partially complete by Asser). Needs minor kernel vfs change to support removing D_NOTIFY on a file. r) Add GUI tool to configure /proc/fs/cifs settings and for display of r) Add GUI tool to configure /proc/fs/cifs settings and for display of the CIFS statistics (started) the CIFS statistics (started) q) implement support for security and trusted categories of xattrs s) implement support for security and trusted categories of xattrs (requires minor protocol extension) to enable better support for SELINUX (requires minor protocol extension) to enable better support for SELINUX r) Implement O_DIRECT flag on open (already supported on mount) t) Implement O_DIRECT flag on open (already supported on mount) s) Allow remapping of last remaining character (\) to +0xF000 which (this character is valid for POSIX but not for Windows) t) Create UID mapping facility so server UIDs can be mapped on a per u) Create UID mapping facility so server UIDs can be mapped on a per mount or a per server basis to client UIDs or nobody if no mapping mount or a per server basis to client UIDs or nobody if no mapping exists. This is helpful when Unix extensions are negotiated to exists. This is helpful when Unix extensions are negotiated to allow better permission checking when UIDs differ on the server allow better permission checking when UIDs differ on the server Loading @@ -78,6 +81,17 @@ and client. Add new protocol request to the CIFS protocol standard for asking the server for the corresponding name of a standard for asking the server for the corresponding name of a particular uid. particular uid. v) Add support for CIFS Unix and also the newer POSIX extensions to the server side for Samba 4. w) Finish up the dos time conversion routines needed to return old server time to the client (default time, of now or time 0 is used now for these very old servers) x) Add support for OS/2 (LANMAN 1.2 and LANMAN2.1 based SMB servers) y) Finish testing of Windows 9x/Windows ME server support (started). KNOWN BUGS (updated April 29, 2005) KNOWN BUGS (updated April 29, 2005) ==================================== ==================================== See http://bugzilla.samba.org - search on product "CifsVFS" for See http://bugzilla.samba.org - search on product "CifsVFS" for Loading
fs/cifs/asn1.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -191,7 +191,8 @@ asn1_header_decode(struct asn1_ctx *ctx, unsigned char **eoc, unsigned char **eoc, unsigned int *cls, unsigned int *con, unsigned int *tag) unsigned int *cls, unsigned int *con, unsigned int *tag) { { unsigned int def, len; unsigned int def = 0; unsigned int len = 0; if (!asn1_id_decode(ctx, cls, con, tag)) if (!asn1_id_decode(ctx, cls, con, tag)) return 0; return 0; Loading