summaryrefslogtreecommitdiff
path: root/source3
AgeCommit message (Collapse)AuthorFilesLines
1998-09-17fixed a potential problem with wins_write_database() child processes.Andrew Tridgell4-19/+14
In sig_term() we were calling wins_write_database(0) which would fork a child. This child might then get killed by the same process killing off the parent. That process would then fork another child etc. The solution is to pass a "background" flag to wins_write_database(0) and only fork if this is set. (This used to be commit 1e1a512e3ff59f962fb3de382f671618bed60839)
1998-09-15Removed hideous inefficiencies in old trim_string code. This was makingJeremy Allison1-15/+22
calls to strlen() a profiling hotspot. Jeremy. (This used to be commit ffa450acddb7aec6a440ae3fe6032c109805d176)
1998-09-14Mapped correct open modes for READ_CONTROL access.Jeremy Allison1-2/+3
Jeremy. (This used to be commit 4a62b73633b8f8707a2961b355d4997f429c86bc)
1998-09-14Fixed problems people were having with creating profileJeremy Allison2-2/+14
directories (NTTrans/Create with Security Descriptor for a directory). It turns out the CIFS spec is bogus (what a suprise) and the 'is a directory' flag is actually embedded in the create_options field. Jeremy. (This used to be commit 68750d8153f01bd0802bb86e93c3ca5d11acb199)
1998-09-11Ok so with this bugfix 64 bit file access actually seems to work :-).Jeremy Allison7-13/+31
Problems were just dumb bugs like (defining sys_lseek to return 'int' DOH !). Jeremy. (This used to be commit 54dd51176fbab18af0b21bdee71b53f8f86573a8)
1998-09-11Ok - this is the 'expose 64 bit to the clients' checkin.Jeremy Allison7-35/+105
I have tested it by creating a 'holey' 20GB file - checking that it shows up correctl in the NT file view (it does) and am busily copying it to NULL: on the NT box. All good so far.... :-). Also implemented NT 'delete on close' semantics. Jeremy. (This used to be commit 1654faee80648583e6a47ab7eda990fefdf85124)
1998-09-11Added ssize_t to configure code.Jeremy Allison15-634/+608
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. (This used to be commit 36544fe5476f7770bd5748574fc54be7b3ee4d4a)
1998-09-10smb.h: Removed fdnum from file_fd_struct. Not needed.Jeremy Allison2-30/+109
files.c: Removed fd bitmap - not needed. Added code to do use arrays rather than linked list - disabled by default but can be enabled to check performance. Jeremy. (This used to be commit 069efc04545d5fdfc5c40467b8b7554ed5226a2e)
1998-09-10fixed a bug in the wins database writer that caused the database to beAndrew Tridgell1-3/+11
written continuously rather than once every 5 seconds (at most). also changed it to 20 seconds :) (This used to be commit 1b07de7079e81da9c0b930bdc30ae0451b57d53a)
1998-09-10Improved stat cache code by uppercasing any search name that gets added toJeremy Allison2-19/+17
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. (This used to be commit 02b3fddce33a58a4db2102670b502fc0c6f45fab)
1998-09-09Copyright notices written to debug logs are now through 1998.Christopher R. Hertel2-2/+2
Chris -)----- (This used to be commit ac13c29d46f564fc340b652b4b71dfa92e4b5b16)
1998-09-08Added back groupname map stuff removed by Andrew's "slash 'n' burn"Jeremy Allison7-33/+69
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. (This used to be commit 0de01f45980c7bc261248a9cead972a8d8cbd594)
1998-09-07added 0x10 to the frag length in the "bind ack".Luke Leighton1-1/+1
(This used to be commit 46301b1d2161317f56049934a9e7b658447b2c76)
1998-09-06add a "stat cache" boolean smb.conf option. (defaults to on)Andrew Tridgell3-2/+15
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. (This used to be commit c83f3775cd8a7aad13571926cdd5949a07538771)
1998-09-05fixed a stat cache bug (the one found by Matthew Geier).Andrew Tridgell1-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. (This used to be commit c96b5fde5ae12bd0d4d6bcff095cf090738c92a4)
1998-09-05added a configuration summary at the end of ./configure. It alsoAndrew Tridgell3-0/+55
aborts if essential functions are not available. (This used to be commit 5c7717f033f670f587b4a250d0a663cad30824e5)
1998-09-05expand the sysv shmem test to look for semaphores as well as sharedAndrew Tridgell1-1/+21
memory. Some FreeBSD systems have sysv shared memory but no semaphores! (This used to be commit 3f4959a065ed987a8254903a5aaf6234bb88ad5c)
1998-09-05some cleanups to use ZERO_STRUCT() and friendsAndrew Tridgell13-21/+23
(This used to be commit 7b154dc4313324dfad6cf0117b8ce246bf12bf16)
1998-09-05some people are foolishly running ./configure from other than theAndrew Tridgell6-75/+118
source directory! This adds a new "trivial" test that makes sure that the autoconf tests are working. It aborts the configure run if not. (This used to be commit ead0338ad27f29f1abbbe9f6302d6bf633bf98b2)
1998-09-05ahh, the joy of deleting large chunks of code that someone else hasAndrew Tridgell5-77/+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 :) (This used to be commit 41f0069afc02169932e04ff0039bb6328eaaf04d)
1998-09-05tridge the destroyer returns!Andrew Tridgell53-2783/+463
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? (This used to be commit 2204475c87f3024ea8fd1fbd7385b2def617a46f)
1998-09-05Fixed one more Debug problem with inode in non-64 bit case.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 94d63cc382ac0d8a523db98b93750225082b09b1)
1998-09-05Bugfix for leak in reference counted file struct.Jeremy Allison6-15/+19
Added "nt smb support" parameter to allow NT SMB's to be turned off. Jeremy. (This used to be commit 63f65f5027d5022153fa2757b49c56829db1725b)
1998-09-05got rid of interpret_security(). Thanks to Jean-Francois for pointingAndrew Tridgell2-18/+0
out it is no longer used (replaced by enumerated types in loadparm.c) (This used to be commit 88df8a8b25921389ee9d017b770bbae143cc51b8)
1998-09-04Modified dev_t and ino_t code to be 64 bit clean (including changesJeremy Allison10-134/+443
to oplock break message passing). I think that smbd/nmbd are now inode and offset size independent (at least for 32 bit and 64 bit systems). Now to expose all this new functionality to NT clients..... Jeremy. (This used to be commit 5910d07bbf45a34d3c901461f74704c029a79474)
1998-09-04Fixed uppercasing of share name (pointed out by Jean-Francois).Jeremy Allison1-1/+0
Jeremy. (This used to be commit dcce6b98d847d02148fb2ab15f8430b870e106bd)
1998-09-04More 64 bit stuff - now the fcntl locks are 64 bit clean.Jeremy Allison13-173/+298
Nearly at the stage where I can expose the 64-bit-ness to the NT clients.... Jeremy. (This used to be commit 422f1dd45074c0e28203aca5952e57bbe56676b6)
1998-09-03Ok - this is the 64 bit widening check in. It changes the configureJeremy Allison33-447/+632
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. (This used to be commit 14500936c321d15995c963766aac67bf1f4e3824)
1998-09-03changed the SMBtrans reply code to align at the same alignment asAndrew Tridgell1-13/+8
observed from NT. We were aligning the data before but not the parameters. This aligns both. This change may break some other parts of ipc.c if we have relied on the alignment somewhere, so if you think this broke something then let me know. (This used to be commit d252d331015b7606618ba1422bb669da003da293)
1998-09-03we were setting the strings 1 too long in make_srv_share_info1_str()Andrew Tridgell1-2/+2
(This used to be commit 29e1e59db8035e0fd2c088a969fa17549ce1b897)
1998-09-03fixed a bug in the name mangling code. It implicitly assumed thatAndrew Tridgell3-45/+43
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). (This used to be commit c319d8ea3f8b42bb3a8e501642971ed0bdb21583)
1998-09-02Fix for PR#9497 - not waiting for child.Jeremy Allison1-2/+4
Jeremy. (This used to be commit e817d836bba3aaf0f732d66bc5a4383a7f7005db)
1998-09-02we are never interested in SIGPIPE so just ignore (block) itAndrew Tridgell3-44/+5
always. Don't even install a handler. (This used to be commit 72c383f4b7bcce5374632dc972df16ab0e2542b9)
1998-09-02use /swat/ prefix in both inetd and cgi modes, to enable a static header.htmlAndrew Tridgell2-19/+8
(This used to be commit ddb788c24d043b18506138a7759b8128df1673aa)
1998-09-01Missed one struct stat.Jeremy Allison1-2/+2
Jeremy. (This used to be commit 03ae657a36c986ba4248b297e64ec7898a1914e6)
1998-09-01More abstraction of file system data types, to move to a 64Jeremy Allison32-185/+196
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 used to be commit 28aa182dbffaa4ffd86047e608400de4b26e80eb)
1998-09-01need to istall new filesAndrew Tridgell1-1/+8
(This used to be commit c53ead308e941baa4524b9ec62d74290ce91503f)
1998-09-01spruced up SWAT a bit - it now uses the new Samba logo at the top andAndrew Tridgell1-21/+27
a table to give it a little border (This used to be commit d35c6e80988d96049d4624b47ae9ea015edafc59)
1998-09-01fixed a bug in the base64 hanlding that led to auth failures for someAndrew Tridgell1-2/+6
passwords with SWAT (This used to be commit edcde70108ab643a29f3e0e0cc97609287da6e87)
1998-09-01check that a valid pipe is passed before doing a pipe close.Andrew Tridgell1-0/+4
I made this change after getting a segv in reply_pipe_close(). The funny thing was that pipes_open was 1 and Pipes was NULL. That "can't happen" and suggests that we have a wild pointer somewhere. I suspect the rpc code, as I was playing with long share names (a share called "averylongusername") at the time and the logs show lots of srvsvc operations. I bet there is a buffer in the rpc code somewhere that is overflowing and trashing bits of the data segment. (This used to be commit 9fee8c2eb7bd05431cd9bcfbed3804c8ca1ee593)
1998-08-31configure.in, configure: include/config.h.in: Added stropts and poll.Jeremy Allison16-336/+455
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. (This used to be commit 3d9ec96de5e04e83abafe9c5d980bd39eee856ea)
1998-08-31I looked at the refresh issue a bit more and discovered that SambaAndrew Tridgell1-3/+4
also doesn't switch to a registration if a refresh fails, instead the name is removed! This makes it even more imortant that a Samba WINS server accepts refresh requests as registration requests if the name is not registered. I've gone ahead and implemented this. (This used to be commit 07f825fc9491bb5adac047854e67c63f7757143b)
1998-08-31minor fixes to the DMB<->DMB sync code. We now get the dmb name fromAndrew Tridgell1-5/+10
the local_master name on the unicast subnet if it is unknown. (This used to be commit 222b6d90e09288091028f5e0435f1d4a74153f66)
1998-08-31if an address is ipzero in cli_connect() then do a name queryAndrew Tridgell1-1/+2
(This used to be commit 0a5718b0aef29706be81a50f2ac2c5eb4c6fbb32)
1998-08-31I realised that my DMB<->DMB sync code has the property that theAndrew Tridgell2-2/+20
amount of network traffic grows as the square of the number of workgroups. It probably wouldn't have caused problems but to be safe I changed the code to use random() to decrease the probability of a DMB<->DMB sync in proportion to the number of known workgroups. This keeps the nice browse connectivity while making the traffic rise only linearly with the number of workgroups. (This used to be commit 685f4ef2e1f83ab39e91229cf53a61eecb6181eb)
1998-08-31fixed a commentAndrew Tridgell1-1/+1
(This used to be commit 560ed560f46e69255b6437e50ba0865b642c38b1)
1998-08-31set a maximum name refresh time of 20 minutes.Andrew Tridgell3-3/+7
The previous code was strictly correct, but not very practical. self names were only refreshed every 3 days. I hit a situation where the Samba WINS server was restarted after deleting wins.dat and didn't notice some remote subnets (also running Samba). I realised that the complete database wouldn't have been rebuilt for 3 days, which is way too long. In order to recover from WINS restarts we need a much shorter maximum refresh time. (This used to be commit 1d23dd0912e81ff72695bd043e8e2aee32da18a8)
1998-08-31cast the qsort to prevent warningsAndrew Tridgell1-1/+1
(This used to be commit 55333edd2eed33961ced4eb4b6898f5ca9ca1820)
1998-08-31bounds check next_token() to prevent possible buffer overflowsAndrew Tridgell21-107/+128
(This used to be commit 3eade55dc7c842bdc50205c330802d211fae54d3)
1998-08-30added a dest_port parameter to send_mailslot() so we send replies toAndrew Tridgell7-22/+27
the correct port in environments like ip masq. (This used to be commit 7d455ee637b6ff70c95845f89d71573ca07b83f3)