Name mangling patch

Nicolas Williams Nicolas.Williams at
Thu Mar 18 22:57:37 GMT 1999

How about this:

 - mangle names, if no collision, keep on mangle stack

 - if collision, then note the second (third, fourth, ...)
   mangled_name<->filename mapping on the mangle stack permanently (or
   until the file is renamed)


   note the mapping in some hidden file in the same directory

 - when smbd descends into a directory for which it has no cache or
   mangled name stack in memory, read in the hidden file listing these
   special mappings, ignore stale entries, then initialize a mangled
   name stack with the remaining entries from that hidden file

 - mangled name -> filename mappings that are not involved in collisions
   would be subject to removal from the mangled name stack as usual

The hidden file mentioned above would contain entries representing
tuples such as:

 <client IP>,
 <directory inode#>,
 <directory slot#>,
 <Unix filename>,
 <file inode#>,
 <file generation#>,
 <mangled name>,
 <creation date for this entry>

Sounds like lots of work though.


More information about the samba-technical mailing list