summaryrefslogtreecommitdiffstats
path: root/source/smbd/filename.c
Commit message (Collapse)AuthorAgeFilesLines
* Fixed devide by zero on SIGHUP bug if no stat cache lookupsJeremy Allison1999-02-021-1/+6
| | | | | have been done. Jeremy.
* Added Andrew's latest HEAD changes back to 2.0Jeremy Allison1998-11-211-1/+1
| | | | Jeremy.
* Added code to convert empty file names to "." so we avoidRichard Sharpe1998-10-091-0/+12
| | | | | | searching the cache, but only if we are not on a print share. This code is known to work on at least one site!
* Add a DEBUG to unix_convertRichard Sharpe1998-10-091-0/+2
|
* Changes to test in configure if capabilities are enabled on a system.Jeremy Allison1998-09-281-13/+11
| | | | | | | | | | Changes to get Samba to compile cleanly with the IRIX compiler with the options : -fullwarn -woff 1209,1174 (the -woff options are to turn off warnings about unused function parameters and controlling loop expressions being constants). Split prototype generation as we hit a limit in IRIX nawk. Removed "." code in smbd/filename.c (yet again :-). Jeremy.
* Fixed the problem with reply_getatr() being passed a "" name in reply_getatr,Jeremy Allison1998-09-261-3/+0
| | | | | | replaced the paranoid code in smbd/filename.c that replaces a "" with a ".". I am starting to think this code may well be needed. Jeremy.
* I've disabled the conversion of null filenames to "." until we solveAndrew Tridgell1998-09-251-0/+3
| | | | | | | the win95 printing problem. I suspect it is a smbgetatr() problem with a null name (which requires special behaviour). This is an interim solution.
* Small bit of paranioa. Ensure that if the incoming name toJeremy Allison1998-09-191-2/+14
| | | | | | unix_convert() was a single '\' (the base directory of the service) that it gets translated to a '.', not a '\0'. Jeremy.
* Improved stat cache code by uppercasing any search name that gets added toJeremy Allison1998-09-101-17/+15
| | | | | | | it if we're in case insensitive mode, and then doing a memcmp rather than a StrnCaseCmp (which is *horribly* slow) on every lookup. Fixed bug with refusing NT SMB's (use *brackets* where needed :-). Jeremy.
* Added back groupname map stuff removed by Andrew's "slash 'n' burn"Jeremy Allison1998-09-081-0/+14
| | | | | | | | | | | | | | | | | tactics :-). Protected by #ifdef until used. Fixed bug in fd_attempt_close() where a pointer to potentially free'd memory was returned. I hate that. Added "blocking locks" as a per-share option for performance testing. Changed is_mangled() so it will return true if called with a pathname and any component of the pathname was mangled (it was already attempting to do this, but not checking for a '/' as end-of-mangle). This should be a better fix for the wierd stat cache bug Andrew identified. Jeremy.
* add a "stat cache" boolean smb.conf option. (defaults to on)Andrew Tridgell1998-09-061-2/+10
| | | | | | | | I think we need this so we can rule out stat cache bugs when dealing with bug reports. If we ask a user to disable the stat cache and the problem persists then we know it isn't a stat cache bug. The stat cache code is sufficiently complicated that it can be pretty hard to tell if it is causing problems or not.
* fixed a stat cache bug (the one found by Matthew Geier).Andrew Tridgell1998-09-051-1/+5
| | | | | | The fix I used is a very conservative fix. I'll leave it up to Jeremy to put in a better fix. The problem was the detection of mangled names.
* some cleanups to use ZERO_STRUCT() and friendsAndrew Tridgell1998-09-051-2/+3
|
* tridge the destroyer returns!Andrew Tridgell1998-09-051-5/+5
| | | | | | | | | | | | | | | | | | | | | | prompted by the interpret_security() dead code that Jean-Francois pointed out I added a make target "finddead" that finds potentially dead (ie. unused) code. It spat out 304 function names ... I went through these are deleted many of them, making others static (finddead also reports functions that are used only in the local file). in doing this I have almost certainly deleted some useful code. I may have even prevented compilation with some compile options. I apologise. I decided it was better to get rid of this code now and add back the one or two functions that are needed than to keep all this baggage. So, if I have done a bit too much "destroying" then let me know. Keep the swearing to a minimum :) One bit I didn't do is the ubibt code. Chris, can you look at that? Heaps of unused functions there. Can they be made static?
* fixed a bug in the name mangling code. It implicitly assumed thatAndrew Tridgell1998-09-031-1/+1
| | | | | | | | mangling a name can't increase it's size which isn't true. (imagine a file called "L B" which mangles to "LB~XX") The symptoms were that users couldn't run batch files from short directory names that contained non 8.3 characters (such as spaces).
* More abstraction of file system data types, to move to a 64Jeremy Allison1998-09-011-9/+9
| | | | | | | | | | | | | | | | | | | | | bit file interface for the NT SMB's. Created a new define, SMB_STRUCT_STAT that currently is defined to be struct stat - this wil change to a user defined type containing 64 bit info when the correct wrappers are written for 64 bit stat(), fstat() and lstat() calls. Also changed all sys_xxxx() calls that were previously just wrappers to the same call prefixed by a dos_to_unix() call into dos_xxxx() calls. This makes it explicit when a pathname translation is being done, and when it is not. Now, all sys_xxx() calls are meant to be wrappers to mask OS differences, and not silently converting filenames on the fly. Jeremy.
* This checking fixes the statcache bug that stopped NetBench from runningJeremy Allison1998-08-281-6/+14
| | | | | | | | | | | | | | correctly. Added new parameter "stat cache size" - set to 50 by default. I now declare the statcache code officially "open" for business :-). It gets a hit rate of 97% with a NetBench run and seems to make using a case insensitive run as efficient as a case sensitive run. Also tidied up our sys_select usage - added a maxfd parameter and also added an implementation of select in terms of poll(), for systems where poll() is much faster. This is disabled by default. Jeremy.
* Fixed stat cache statistics calculation. Oops.Jeremy Allison1998-08-271-1/+1
| | | | Jeremy.
* This is the stat cache code - seems to work fine (needs heavyJeremy Allison1998-08-271-17/+273
| | | | | | NetBench testing though.... :-). Attempts to efficiently reduce the number of stat() calls Samba does. Jeremy.
* Makefile.in: Moved blocking lock code into smbd/blocking.c for link purposes.Jeremy Allison1998-08-191-102/+152
| | | | | | | | | | | include/includes.h: Added nterr.h. locking/locking.c: Moved blocking lock code into smbd/blocking.c for link purposes. smbd/close.c: Added blocking lock removal to file close. smbd/filename.c: Tidied up unix_convert() so I could read it (:-) in preparation for the stat_cache code. smbd/nttrans.c: Added WRITE_ATTRIBUTES check. smbd/reply.c: Fixed multibyte char problem in wildcard mask. Jeremy.
* more splitting of server.cAndrew Tridgell1998-08-171-0/+380
created dosmode.c and filename.c