1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-05 21:57:51 +03:00

70 Commits

Author SHA1 Message Date
Volker Lendecke
2852ecc67e r21092: Ok, that's the one that activates the Samba4 notify backend.
Now to clean up / fix lots of stuff.

Volker
(This used to be commit 9e7443fa1417c01be903b15073825dc4def78d99)
2007-10-10 12:17:36 -05:00
Volker Lendecke
940192ddcc r20854: Ok, now I think we're at a point where looking at notify starts to make sense
again :-)

Volker
(This used to be commit 5533cdeec1b0cdee39b1d89e2320587dc9281ee6)
2007-10-10 12:17:13 -05:00
Volker Lendecke
46fdae1b6b r20634: A *LOT* more work is necessary before touching notify remotely starts to make
sense. Until then, remove it from the tree to keep the diff between 3_0_24 and
3_0 small.

Volker
(This used to be commit f146a85e74c84e78a11e616a1cbeaeef4693a0e0)
2007-10-10 12:17:00 -05:00
Volker Lendecke
200bd10b32 r20442: Slight rewrite of the change notify infrastructure. This now survives the
first of the raw-notify subtests, the one-level test_notify_dir without any
flags around yet.

The tricky part was getting the data structures right, I hope the next tests
don't let that fall over.

fsp->notify is now by default NULL, meaning that nobody has issued a
changenotify call. This means nobody is interested in changes for this
directory.

If that has happened, notify_change_buf collects the changes if no current
request is outstanding, and it collects the requests if no change has happened
since the last request.

Happy New Year, somewhere on this planet it's already 2007 :-)

Volker

P.S: Jeremy, there's a question for you in smbd/files.c line 367.
(This used to be commit ce0ad24988075465addcac0b9afc872e909135af)
2007-10-10 12:16:50 -05:00
Volker Lendecke
98c082489b r20394: This is a *VERY* early start of my work on notify.
Checking in because Jeremy was bugging me. Potentially this becomes quite
intrusive, I'm not sure if I should open a temporary branch for this.

Jeremy, Jerry, do you think 3_0 is the right place for this?

Volker
(This used to be commit bcf5c751cbe203c00814642e26440cf88f300bce)
2007-10-10 12:16:46 -05:00
Jeremy Allison
fbdcf2663b r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....

Jeremy.
(This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10 11:19:14 -05:00
Volker Lendecke
e2a90398ec r15817: Remove some unused code
(This used to be commit 72f103708d17aa86e09fa7a02699f969f7ee9190)
2007-10-10 11:17:10 -05:00
Jeremy Allison
cc9ea93456 r15668: DOS or FCB opens share one share mode entry from different
fsp pointers. Ensure we cope with this to pass Samba4
DENY tests (we used to pass these, there must have been
a regression with newer code). We now pass them.
Jeremy
(This used to be commit fd6fa1d4eaf61783df74ee2da50d331477f06998)
2007-10-10 11:17:06 -05:00
Jeremy Allison
f04d5530cc r14460: SMBexit closes by pid and vuid. Tested with smbtorture.
Jeremy.
(This used to be commit 71e81580421225d5b35a25d46a7b6064a826685c)
2007-10-10 11:15:31 -05:00
Jeremy Allison
d14af63e6a r13293: Rather a big patch I'm afraid, but this should fix bug #3347
by saving the UNIX token used to set a delete on close flag,
and using it when doing the delete. libsmbsharemodes.so still
needs updating to cope with this change.
Samba4 torture tests to follow.
Jeremy.
(This used to be commit 23f16cbc2e8cde97c486831e26bcafd4ab4a9654)
2007-10-10 11:06:21 -05:00
Gerald Carter
54abd2aa66 r10656: BIG merge from trunk. Features not copied over
* \PIPE\unixinfo
* winbindd's {group,alias}membership new functions
* winbindd's lookupsids() functionality
* swat (trunk changes to be reverted as per discussion with Deryck)
(This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
2007-10-10 11:04:48 -05:00
James Peach
93954d6390 r9985: Move the all the strict sync logic into file_sync().
(This used to be commit cc680bbe22b8bfc5a1900f11c2cbaeca3a9f9922)
2007-10-10 11:03:30 -05:00
Jeremy Allison
e24397f084 r8292: Tidy up function comments.
Jeremy.
(This used to be commit 8de6b1592ad205f59c44ed30102a56594f65e555)
2007-10-10 10:58:19 -05:00
Jeremy Allison
af8a691db1 r8219: Merge the new open code from HEAD to 3.0. Haven't yet run the torture
tests on this as it's very late NY time (just wanted to get this work
into the tree). I'll test this over the weekend....
Jerry - in looking at the difference between the two trees there
seem to be some printing/ntprinting.c and registry changes we might
want to examine to try keep in sync.
Jeremy.
(This used to be commit c7fe18761e2c753afbffd3a78abff46472a9b8eb)
2007-10-10 10:58:18 -05:00
Jeremy Allison
0557c6cba2 r6172: Tidy up error processing significantly. Remove unix_ERR_XXX global nastyness.
Jeremy.
(This used to be commit d3379fe61bb934082b51a37adac232a96bafcf46)
2007-10-10 10:56:27 -05:00
Jeremy Allison
95e68fa7f8 r5731: Get delayed write semantics closer to W2K3. We need to store 2 times.
This may fix bug #2382.
Jeremy.
(This used to be commit a27c351e6beafc6609790a9bb9a3d0a1331e8f35)
2007-10-10 10:55:58 -05:00
Jeremy Allison
eb546db88d r5720: Attempt to fix bug #2382 (Excel shared workbook stops working). Also
incorporates part of the fix created by ke_miyata@itg.hitachi.co.jp
for bug #2045 (MS-Office behavior of timestamp).
Jeremy.
(This used to be commit 4f3b12ac73487f4ccb37c17506af1abf5acc80cd)
2007-10-10 10:55:57 -05:00
Jeremy Allison
acf9d61421 r4088: Get medieval on our ass about malloc.... :-). Take control of all our allocation
functions so we can funnel through some well known functions. Should help greatly with
malloc checking.
HEAD patch to follow.
Jeremy.
(This used to be commit 620f2e608f70ba92f032720c031283d295c5c06a)
2007-10-10 10:53:32 -05:00
Jeremy Allison
8c1c918c94 r3050: Steal from Samba4 :-). Make us pass most of the new lock tests (except for
the cancel lock which I have to add).
Jeremy.
(This used to be commit cf7f89999e0c6becd4617c812400d1e71b9c0a30)
2007-10-10 10:52:59 -05:00
Jeremy Allison
273479391f Fix coredump from Samba4 torture suite.
Jeremy.
(This used to be commit 9c1bab944526270d2ad79c75894c33f58f8e3845)
2003-09-17 19:36:38 +00:00
Jeremy Allison
6d6401a67a Implement SMBexit properly. Found by Samba4 tester. You must do a make
clean proto all; after this commit.
Jeremy.
(This used to be commit 27af1f9feab12542dc538bfceac4593e644ba3b4)
2003-08-19 01:53:45 +00:00
Jeremy Allison
3a052c9e0a Implemented the level 1010 NT rename level. Many fixes for Samba4 test
correctness.
Jeremy.
(This used to be commit f57429befa43d63ed9a6e19b854e22fd4151db40)
2003-08-16 02:34:03 +00:00
Jeremy Allison
f161839a74 Stat opens can have fsp->fd == -1 and will have a share entry. Ensure
that file_find_dif will find them. Fixes a core dump in smbd/open.c.
Jeremy.
(This used to be commit 0e2165630d2ce31076fef6d7098e45c8fd327e23)
2003-05-22 20:31:35 +00:00
Alexander Bokovoy
e8573c8fa9 Add NT quota support. Patch from Stefan (metze) Metzemacher
1. Allows to change quota settings for shared mount points from Win2K and WinXP from Explorer properties tab
2. Disabled by default and when requested, will be probed and enabled only on Linux where it works
3. Was tested for approx. two weeks now on Linux by two independent QA teams, have not found any bugs so far
Documentation to follow
(This used to be commit 4bf022ce9e45be85609426762ba2644ac2031326)
2003-05-12 01:20:17 +00:00
Jeremy Allison
83219da302 Fix for systems that allow more than 65536 open files per process.
Jeremy.
(This used to be commit 947a56ce00e552e8b8d2ed64435eabde6225f044)
2002-10-22 22:17:29 +00:00
Tim Potter
cd68afe312 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2002-01-30 06:08:46 +00:00
Jeremy Allison
88b55f47b4 Move from timestamp to gen count file id's for finding oplocked files
in a tdb.
Jeremy.
(This used to be commit 058ae6b58f61ef46013dd076af3a84de5fbaaab1)
2001-10-20 21:59:34 +00:00
Tim Potter
dc1fc3ee8e Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header.
(This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e)
2001-10-02 04:29:50 +00:00
Simo Sorce
61b2794968 move to SAFE_FREE()
(This used to be commit a95943fde0ad89ae3f2deca2f7ba9cb5ab612b74)
2001-09-17 11:25:41 +00:00
Jeremy Allison
53850c51ca configure:
configure.in:
include/config.h.in:
include/profile.h:
smbd/vfs-wrap.c:
smbd/vfs.c:
Added fchmod and fchown to VFS (sorry Gerald - but we needed them anyway).
smbd/dosmode.c:
smbd/files.c:
printing/printfsp.c:
smbd/close.c:
smbd/open.c:
Fixed "dos filemode" correctly so there are no race conditions. Forces test
of open of file O_WRONLY before allowing fchmod as root. Afterwards, calls
standard close function that preserves POSIX locks due to POSIX-me-harder
braindamage. :-). Andrew please review this code.
Also - in removing the tmpdir param in smbrun an extra NULL parameter
was missed in each print_run_command() call (which is a varargs fn.).
Now fixed.
Jeremy.
(This used to be commit 32397e5bc6d995ce7ca37c82d6aedc1e5b1b6fbd)
2001-04-14 00:19:12 +00:00
Jeremy Allison
3c2c047e82 Added fix from "Eric Boehm" <boehm@nortelnetworks.com> to try and set hard
limit before setting soft limit.
Jeremy.
(This used to be commit a1eb2752a8bee9cc7d92c664c3de84e02620933d)
2001-04-13 19:33:26 +00:00
Jeremy Allison
da3053048c Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMR
RPC code to merge with new passdb code.
Currently rpcclient doesn't compile. I'm working on it...
Jeremy.
(This used to be commit 0be41d5158ea4e645e93e8cd30617c038416e549)
2001-03-11 00:32:10 +00:00
Andrew Tridgell
49a0e6d598 more merging voodoo
this adds "#define OLD_NTDOMAIN 1" in lots of places. Don't panic -
this isn't permanent, it should go after another few merge steps have
been done
(This used to be commit 92109d7b3c06f240452d39f669ecb8c9c86ab610)
2000-05-10 10:41:59 +00:00
Herb Lewis
c88222da0c Fix for misunderstanding of fsync added when vfs layer
was done. Samba was doing fsync's (bleagh).
Jeremy.
(This used to be commit f9a52cadbf11f7afcef754a59d783964a2edb5bc)
2000-05-10 01:31:46 +00:00
Jeremy Allison
693ffb8466 Added sys_fork() and sys_getpid() functions to stop the overhead
of doing a system call every time we want to just get our pid.
Jeremy.
(This used to be commit 148628b616b5c29ba6340d65fc3ddbcabba6e67a)
2000-05-02 02:23:41 +00:00
Jeremy Allison
e82dbfcbe9 Now that fsp's are created on successful file open, the structure member
fsp->open is no longer needed (if an fsp pointer is valid, then it's open :-).

NB for Luke, this patch also did not apply to TNG. TNG is not yet
identical w.r.t file serving with HEAD. This makes it impossible for
me to help maintain TNG. Please fix asap.

lib/substitute.c: Removed unused variable (pidstr).

Jeremy.
(This used to be commit 389b700a26e8a308a0dff6fc038c38068aa0119a)
2000-04-24 19:23:51 +00:00
Jeremy Allison
6259f51dd9 This is a *big* checkin that may break some things, but implements the
new open mechanism Andrew & I discussed.

config.sub:
configure: Included the QNX patch.

include/vfs.h:
smbd/vfs-wrap.c:
smbd/vfs.c: Added ftruncate vfs call (needed).

Note that we will also need locking calls in the vfs (to be added).

lib/util_unistr.c:
nmbd/nmbd_processlogon.c: Fix for NT domain logons causing nmbd to core dump.
                          Also fix for sidsize DOS bug.

locking/locking.c: Check value of ret before using it for memdup.

printing/printing.c: Convert print_fsp_open to return an allocated fsp.

rpc_server/srv_lsa.c: Fix for NT domain logons.

I have removed all use of lp_share_modes() from the code (although I
left the parameter in the table for backwards compatibility). It no longer makes
sense for this to exist.

smbd/close.c: Removed lp_share_modes().
smbd/fileio.c: Fixed parameters to unlock_share_entry call in panic code.
smbd/files.c: Correctly set the unix_ERR_code to ERRnofids on fsp allocation fail.

smbd/nttrans.c:
smbd/reply.c:
smbd/trans2.c: Changed all occurrences of open_file_shared/open_directory/
               open_file_stat to return an fsp from the call.

smbd/open.c: Changed all occurrences of open_file_shared/open_directory/
             open_file_stat to return an fsp from the call.

In addition I have fixed a long standing race condition in the deny mode
processing w.r.t. two smbd's creating a file. Andrew, please note that
your original idea of using open with O_EXCL in this case would not work
(I went over the races very carefully) and so we must re-check deny modes
*after* the open() call returns. This is because there is a race between
the open with O_EXCL and the lock of the share mode entry. Imagine the
case where the first smbd does the open with O_EXCL and a deny mode of DENY_ALL,
but is pre-empted before it locks the share modes and creates the deny
mode entry for DENY_ALL. A second smbd could then come in with O_RDONLY
and a deny mode of DENY_NONE and the two opens would be allowed.

The *only* way to fix this race is to lock the share modes after the
open and then do the deny mode checks *after* this lock in the case
where the file did not originally exist.

This code will need extensive testing but seems to initially work.

Jeremy.
(This used to be commit ab0ecc39d688f16b9692fe90b991f0b89287070a)
2000-04-22 00:33:16 +00:00
Andrew Tridgell
2733f5352a initialise fsp->fd to -1
(This used to be commit 5257ff5d67632922a64266ad2ce5d5a38c701cbc)
2000-04-10 13:12:04 +00:00
Andrew Tridgell
689ec46450 the bulk of the changes to get rid of fd_ptr and move print open
handling to printing/printing.c

most of this was just replacing things like fsp->fd_ptr->fd with fsp->fd

the changes in open.c are quite dramatic. Most of it is removing all
the functions that handled the fd multiplexing
(This used to be commit d1827a3648009fd0a0d165055015d9aeda7a1037)
2000-04-10 13:05:23 +00:00
Tim Potter
16bb009dbb Mega-VFS merge. Yeah baby!
Synopsis: change every disk access function to work through a vfs_ops
structure contained in the connection_struct.
(This used to be commit 3aad500c0fb61232ed3431ff4b743b5d18ec852f)
2000-02-03 05:17:25 +00:00
Andrew Tridgell
b3b634ff42 use string_set() instead of string_init()
bug pointed out by Richard
(This used to be commit 070f49397ff24e4d6ba7c2c1cfaef2dfa0944bd0)
2000-01-16 11:18:04 +00:00
Andrew Tridgell
3db52feb1f first pass at updating head branch to be to be the same as the SAMBA_2_0 branch
(This used to be commit 453a822a76780063dff23526c35408866d0c0154)
1999-12-13 13:27:58 +00:00
Luke Leighton
ad000ee7dc spelling mistake.
(This used to be commit b8ac96cd9c8efaf0e07651657f878a2dea127290)
1999-08-13 21:11:38 +00:00
Tim Potter
1e1a52bb5f Changed arguments to fsync() function to break dependency on
connection_struct.
(This used to be commit ee6f826ccc0897a4538f6f9a560127c54a4c4038)
1999-04-20 03:29:05 +00:00
Tim Potter
6d5ef2e929 Use VFS operations for file I/O.
(This used to be commit cfddbdb62485256a947a30e04c753200451cbe1c)
1999-04-04 06:25:13 +00:00
Jeremy Allison
bb9622bfa6 Fixed crash bug which was assuming that fd_ptr was always non-null
(which is not the case with open directories).
Jeremy.
(This used to be commit c154b1601f5891d664fc538ec8874fa8ef2061e6)
1998-11-18 19:06:51 +00:00
Jeremy Allison
9bb7ac81b6 Reasonably large change to give us *exactly* correct NT delete on close semantics.
This was trickier than it looks :-). Check out the new DELETE_ON_CLOSE
flag in the share modes and the new code that iterates through all open
files on the same device and inode in files.c and trans2.c

Also changed the code that modifies share mode entries to take
generic function pointers rather than doing a specific thing so
this sort of change should be easier in the future.

Jeremy.
(This used to be commit 5e6a7cd99d29d1cf068fc517272559c1cf47ea3a)
1998-10-23 03:34:50 +00:00
Jeremy Allison
f3793be165 Re-added code to tell the user how many open files they
have. Needed for server diagnosis purposes...
Jeremy.
(This used to be commit 04d79a9ae515e7259277f9980552f1d61df239f1)
1998-10-16 06:16:10 +00:00
Andrew Tridgell
788263ba2f - fixed a bunch of warnings and minor errors
- got smbtorture to compile
- removed %D from some of lukes code - Luke, what is %D? it ain't
  portable anyway
(This used to be commit 91597c12fb593f49b23c7cea5b64dbb89a0428b3)
1998-10-08 06:21:33 +00:00
Andrew Tridgell
93bbfce02b added a function set_maxfiles() to set our file rlimit to the max
possible and return the max.
(This used to be commit 7a7b5ee1689b6be57752d176c7b77a2f1b453486)
1998-10-05 01:57:03 +00:00