Name mangling patch

Nicolas Williams Nicolas.Williams at wdr.com
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)

   AND

   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.

Nico


More information about the samba-technical mailing list