summaryrefslogtreecommitdiffstats
path: root/source/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* First cut at kernel oplocks. This should have no effect unless runninJeremy Allison1998-09-231-218/+0
| | | | | | | | | on a machine that supports them in autoconf. Move various functions out of lib/util.c into smbd/process.c and smbd/oplock.c where they belong. Jeremy.
* major autoconf clean-upAlexandre Oliva1998-09-212-0/+2
| | | | fix problems in builds with srcdir!=builddir
* Remove some byte-copying code in unix_format() that did nothing exceptJeremy Allison1998-09-191-8/+0
| | | | | | slow down my benchmark :-). Jeremy.
* got rid of SMB_STRUCT_STATVFS. I don't think we should be definingAndrew Tridgell1998-09-181-15/+0
| | | | structures that only apply on some platforms.
* got rid of some #ifdef LARGE_XXXX stuff and got rid of non-portable LLAndrew Tridgell1998-09-181-15/+4
| | | | suffix from some constants.
* include/includes.h:Jeremy Allison1998-09-181-1/+3
| | | | | | | lib/system.c: Can't assume every system has a statvfs varient. Return -1 for those that don't. smbd/reply.c: Fixed printf warning. Jeremy.
* configure configure.in: Added checks for statvfs64. Last bit of 64 bit ↵Jeremy Allison1998-09-173-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | widening (I hope :-). include/config.h.in: Added #undef STAT_STATVFS64. include/includes.h: Added SMB_STRUCT_STATVFS type, Changed SMB_BIG_INTEGER to SMB_BIG_UINT and SMB_BIG_INT types. include/smb.h: Added flag defines from CIFS spec. lib/debug.c: Fixed one more mode_t issue. lib/system.c: Added sys_statvfs wrapper. lib/util.c: Changed trim_string to use size_t. param/loadparm.c: Moved "blocking locks" into locking section. Alphabetised locking options. Question - shuld we do this for all options ? passdb/ldap.c: Changed SMB_BIG_INTEGER to SMB_BIG_UINT. passdb/nispass.c: Changed SMB_BIG_INTEGER to SMB_BIG_UINT. passdb/smbpass.c: Changed SMB_BIG_INTEGER to SMB_BIG_UINT. smbd/dfree.c: Changed to use 64 bit types if available. Moved to use unsigned types. smbd/dosmode.c: Fixed one more mode_t issue. smbd/negprot.c: Changed literals to be FLAG_ #defines. smbd/nttrans.c: Removed dead code. smbd/open.c: Changed disk_free call. smbd/process.c: Changed literals to be FLAG_ #defines. smbd/reply.c: Changed disk_free call. smbd/trans2.c: Fixed but in SMB_QUERY_FS_VOLUME_INFO call. Was using UNICODE - should use ascii. tests/summary.c: Added STAT_STATVFS64 check. Jeremy.
* configure configure.in: Added tests for fseek64 and ftell64.Jeremy Allison1998-09-172-4/+30
| | | | | | | | | | | | | | | | | | | | | | | config.h.in: Added fseek64 and ftell64. includes.h: Added definition of SMB_BIG_INTEGER. smb.h: Changed (*getsmbpwpos) and (*setsmbpwpos) to use SMB_BIG_INTEGER. access.c: Tidyup of dbug statement. system.c: Added sys_fseek and sys_ftell. Changed mode calls to use mode_t. asyncdns.c: Tidyup of comment. loadparm.c: Tidyup of set_default_server_announce_type() function definition. ldap.c: Changed (*getsmbpwpos) and (*setsmbpwpos) to use SMB_BIG_INTEGER. nispass.c: Changed (*getsmbpwpos) and (*setsmbpwpos) to use SMB_BIG_INTEGER. smbpass.c: Changed (*getsmbpwpos) and (*setsmbpwpos) to use SMB_BIG_INTEGER. smbpassfile.c: Use sys_fseek(). chgpasswd.c: Tidyup of debug statement. dosmode.c: Changed mode calls to use mode_t. ipc.c: Removal of dead code. nttrans.c: Changed mode calls to use mode_t. open.c: Changed mode calls to use mode_t. pipes.c: Removal of dead code. reply.c: Removal of dead code. trans2.c: Removal of dead code. Changed mode calls to use mode_t. Jeremy.
* Removed hideous inefficiencies in old trim_string code. This was makingJeremy Allison1998-09-151-15/+22
| | | | | calls to strlen() a profiling hotspot. Jeremy.
* Ok so with this bugfix 64 bit file access actually seems to work :-).Jeremy Allison1998-09-111-1/+1
| | | | | | Problems were just dumb bugs like (defining sys_lseek to return 'int' DOH !). Jeremy.
* Added ssize_t to configure code.Jeremy Allison1998-09-111-102/+105
| | | | | | | | | | | Got 'religion' about using size_t and ssize_t for read/write stuff as part of the code to expose 64 bits to the client. This checkin does all the 'easy' stuff - such as all the read/write/lock calls - but now comes the harder parts (open & friends) and all the file enquiry functions..... Jeremy.
* some cleanups to use ZERO_STRUCT() and friendsAndrew Tridgell1998-09-052-3/+3
|
* ahh, the joy of deleting large chunks of code that someone else hasAndrew Tridgell1998-09-051-13/+0
| | | | | | | | painstakingly put in :) This gets rid of most of the #ifdef LARGE_SMB_INO_T ifdefs around DEBUG() statements. We just use %.0f in all cases. Makes the code a bit easier to read :)
* tridge the destroyer returns!Andrew Tridgell1998-09-055-230/+33
| | | | | | | | | | | | | | | | | | | | | | 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?
* got rid of interpret_security(). Thanks to Jean-Francois for pointingAndrew Tridgell1998-09-051-17/+0
| | | | out it is no longer used (replaced by enumerated types in loadparm.c)
* More 64 bit stuff - now the fcntl locks are 64 bit clean.Jeremy Allison1998-09-042-52/+62
| | | | | | Nearly at the stage where I can expose the 64-bit-ness to the NT clients.... Jeremy.
* Ok - this is the 64 bit widening check in. It changes the configureJeremy Allison1998-09-037-126/+176
| | | | | | | | | | | | | | | | | | | | | | | | | to check for stat64 and friends, and then changes much of Samba to use the data type SMB_OFF_T for file size information. stat/fstat/lstat/lseek/ftruncate have now become sys_stat etc. to hide the 64 bit calls if needed. Note that this still does not expose 64 bit functionality to the client, as the changes to the reply_xxx smb's are not yet done. This code change should make these changes possible. Still to do before full 64 bit-ness to the client: fcntl lock code. statfs code widening of dev_t and ino_t (now possible due to SMB_DEV_T and SMB_OFF_T types being in place). Let me know if wierd things happen after this check-in and I'll fix them :-). Jeremy.
* we are never interested in SIGPIPE so just ignore (block) itAndrew Tridgell1998-09-021-9/+0
| | | | always. Don't even install a handler.
* Missed one struct stat.Jeremy Allison1998-09-011-2/+2
| | | | Jeremy.
* More abstraction of file system data types, to move to a 64Jeremy Allison1998-09-018-43/+43
| | | | | | | | | | | | | | | | | | | | | 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.
* configure.in, configure: include/config.h.in: Added stropts and poll.Jeremy Allison1998-08-311-46/+47
| | | | | | | | | | | include/smb.h: Moved old typedefs of uint8 etc. into include/includes.h where all the other defines live (changed them from typedefs to defines). Other changes : changed from using uint32 to SMB_DEV_T and SMB_INO_T in preparation for moving to size independed (ie. 64 bit clean) device and inode access. Stat call wrapper comes next :-). Jeremy.
* bounds check next_token() to prevent possible buffer overflowsAndrew Tridgell1998-08-313-13/+17
|
* This should fix the zombie problem that luke noticed.Andrew Tridgell1998-08-301-1/+1
|
* don't put two spaces at the start of lines if logging to stdoutAndrew Tridgell1998-08-301-1/+3
| | | | or not timestamping.
* changed the format of the wins.dat file slightly.Andrew Tridgell1998-08-301-0/+22
| | | | | | | | | | | | | | | | | | | | | | It now has a line like this: VERSION 1 251152 the first number is a version #define in nmbd_winsserver.c and will be used if we ever have to change the format again. The second number is a hash of the current interfaces setting. It is used to detect the case where nmbd is restarted on a machine after the IP of the machine has changed (or the interfaces list has changed in any way). When that happens we need to discard the old wins.dat cache or you end up with chaos. This has bitten quite a few people, they find that when they move a machine it continues using the old IP for some things for the next week until the wins entries time out! I've checked, and the old nmbd can handle the new format, although it does spit out a spurious error message about the VERSION line. So users can safely run 2.0alpha then switch back to 1.9.18 without problems.
* added a function zero_free(void *, int size) that zeros an area ofAndrew Tridgell1998-08-301-0/+11
| | | | memory then frees it. Useful for catching bugs.
* This checking fixes the statcache bug that stopped NetBench from runningJeremy Allison1998-08-282-23/+57
| | | | | | | | | | | | | | 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.
* Changed ASSERT macros to SMB_ASSERT macros as some systems alreadyJeremy Allison1998-08-241-1/+1
| | | | | have an ASSERT macro defined. Jeremy.
* added ASSERT() and ASSERT_ARRAY() macros and sprinkled them liberallyAndrew Tridgell1998-08-221-5/+3
| | | | in the rpc code.
* Just tweaking.Christopher R. Hertel1998-08-211-2/+20
| | | | | | | | | | | If the output line is longer than the format buffer could manage, I was simply ignoring the additional output (that is, *not* copying it to the format buffer--thus avoiding a buffer overrun). Instead, I now output the current content followed by " +>\n", and then reset the format buffer. I have never seen a debug line that exceeds the size of a pstring, but I might as well handle the situation...just in case. Chris -)-----
* added new smb.conf option "panic action". see my samba-technicalAndrew Tridgell1998-08-212-12/+10
| | | | explanation.
* added some optimisation for the case where the number of open files isAndrew Tridgell1998-08-171-15/+2
| | | | | | | | | very large. files.c now promotes a files_struct to the top of the list if it is used when it is more than 10 elements from the top. also moved common linked list code for the 5 sets of linked lists that I've created over the past few days into dlinklist.h (I've explained to Chris why I didn't use the ubiqx code)
* converted the policy code to use a linked list and bitmap. This savesAndrew Tridgell1998-08-171-139/+144
| | | | us a bit of memory.
* some cleanups from the conversion of Pipes[] to a linked list. I alsoAndrew Tridgell1998-08-171-3/+13
| | | | | | | | removed most cases where a pnum is used and substituted a pipes_struct*. in files.c I added a offset of 0x1000 to all file handles on the wire. This makes it much less likely that bad parsing will give us the wrong field.
* got rid of the Files[] array completely (previously I'd just made itAndrew Tridgell1998-08-161-1/+11
| | | | | | | | | | | | | | | | | private to files.c) It now is a doubly linked list with a bitmap for allocated file numbers. Similarly for the fd_ptr code. I also changed the default maximum number of open files to 4096. The static cost is 1 bit per file. It all seems to work, and it passes the "does Sue scream" test, but if you see weird behaviour then please investigate. With the volume of new code that has gone in there are bound to be one or two bugs lurking. note that you must do a "make clean" before building this as many data structures have changed in size.
* server.c: fixed a bug in close_file() with the new files.c handling codeAndrew Tridgell1998-08-161-0/+121
| | | | | bitmap.c: added bitmap hanlding code in preparation for increasing the default max open files to several thousand
* configure: Changes for extra headers.Jeremy Allison1998-08-156-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configure.in: Source for header changes. client/clitar.c: Fixed isXXX macros & debugs for gcc pedantic compile. include/config.h.in: Added MEMSET, BZERO, MEMORY, RPCSVC_YPCLNT, STRINGS headers. include/includes.h: Headers for the above. include/smb.h: Made SIGNAL_CAST POSIX by default void (*)(int). lib/access.c: Fixed isXXX macros & debugs for gcc pedantic compile. lib/charset.c: Fixed isXXX macros & debugs for gcc pedantic compile. lib/debug.c: Fixed signal functs. lib/kanji.c: Fixed isXXX macros & debugs for gcc pedantic compile. lib/smbrun.c: Fixed isXXX macros & debugs for gcc pedantic compile. lib/util.c: Fixed isXXX macros & debugs for gcc pedantic compile. libsmb/namequery.c: Fixed isXXX macros & debugs for gcc pedantic compile. locking/shmem.c: Fixed isXXX macros & debugs for gcc pedantic compile. locking/shmem_sysv.c: Fixed error messages in sysV stuff. nmbd/asyncdns.c: Fixed signal functs. nmbd/nmbd.c: Fixed isXXX macros & debugs for gcc pedantic compile. passdb/passdb.c: Fixed isXXX macros & debugs for gcc pedantic compile. passdb/smbpassfile.c: Fixed isXXX macros & debugs for gcc pedantic compile. smbd/chgpasswd.c: Fixed isXXX macros & debugs for gcc pedantic compile. smbd/ipc.c: Fixed isXXX macros & debugs for gcc pedantic compile. smbd/nttrans.c: Fixed fsp code path. smbd/password.c: fixed HAVE_YP_GET_DEFAULT_DOMAIN problem. smbd/printing.c: Fixed isXXX macros & debugs for gcc pedantic compile. smbd/reply.c: Fixed isXXX macros & debugs for gcc pedantic compile. smbd/server.c: Fixed isXXX macros & debugs for gcc pedantic compile. smbd/trans2.c: Fixed core dump bug. smbd/uid.c: Fixed isXXX macros & debugs for gcc pedantic compile. Jeremy.
* this is the bug change to using connection_struct* instead of cnum.Andrew Tridgell1998-08-143-10/+269
| | | | | | | | Connections[] is now a local array in server.c I might have broken something with this change. In particular the oplock code is suspect and some .dll files aren't being oplocked when I expected them to be. I'll look at it after I've got some sleep.
* Makefile.in: Changed so that make proto will work with ldap & nisplus.Jeremy Allison1998-08-141-3/+134
| | | | | | | | locking/locking.c: Made #ifdef'ed out functions static for Make proto. lib/util.c: Re-instated old mask_match code for UNIX filesystem checks only. Client calls use the new mask_match code. Changed the name of the old function to unix_mask_match. Jeremy.
* Uh... I'm checking stuff in. Jeremy will by *so* pleased :)John Blair1998-08-131-0/+159
| | | | | | | | netatalk.c contains the meat of the code required to move Macintosh resource forks around when Windows users manipulate files created by a mac. This allows for greater integration between netatalk and Samba, but is, of course, potentially a recipe for disaster. All the netatalk related code is insulated by #ifdefs from the standard build.
* I've added a dbgflush() function to debug.c. Calling this will cause theChristopher R. Hertel1998-08-121-5/+31
| | | | | | | | | debug format buffer to be written out (and reset). fflush() is also called to force the issue. I replaced the call to fflush() in client.c with a call to dbgflush(), which seems to have fixed the problem that Andrew was working on (i.e., that the prompt was not displayed when using smbclient). Chris -)-----
* Cleaned up some lint warnings (functions with return values that wereChristopher R. Hertel1998-08-111-12/+13
| | | | ignored).
* I've added a test for lp_loaded() so that timestamps *will* be outputChristopher R. Hertel1998-08-111-4/+9
| | | | | | | before the config file has been loaded. Otherwise the default is no timestamp. Chris -)-----
* fixed a nasty bug in debug.cAndrew Tridgell1998-08-111-1/+1
| | | | | | | | | | | | | | Debug1() was being called like this: Debug1( format_bufr ); but if format_bufr contains any %s or other % arguments (such as when processing a smb.conf file containing % macros) then smbd dies a horrible death. The quick fix is to use: Debug1( "%s", format_bufr);
* make sure that a fault cannot occur twice. The new Debug1() code isAndrew Tridgell1998-08-111-18/+22
| | | | | | | causing seg faults on my machine and because the fault code calls DEBUG() it is looping! now to find the bug in the Debug1() code ...
* moved access.c into lib/ from smbd/ as it is needed by testparm. IAndrew Tridgell1998-08-101-216/+169
| | | | | modified it not to need any smbd specific structures and instead pass things from smbd.
* this gets smbd compiling and linking correctly with the new layout.Andrew Tridgell1998-08-091-0/+1
|
* added ignore rules for the dummy filesAndrew Tridgell1998-08-091-0/+1
|
* these dummy files are needed for autoconf processingAndrew Tridgell1998-08-091-0/+0
|
* added --with-nisplus-home optionAndrew Tridgell1998-08-081-4/+4
|