summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r23522: Save us a kilobyte stack space in a hot code path: I can't see a reasonVolker Lendecke1-30/+23
why check_path_syntax should not be able to run in-line. The destination pointer either walks side by side with the source pointer or is decremented. So as far as I can see s>=d is true throughout the whole routine. Jeremy, I'm checking this only into 3_0 for now. Please review and ack or directly merge this to 3_0_26. Thanks, Volker (This used to be commit 34a13c82a3b72d6900614b57c58fbaefeeca8fa7)
2007-10-10r23517: After Jeremy has given is ack on irc:Volker Lendecke1-179/+61
Change rename_internals to open the file/directory and then call rename_internals_fsp. Two reasons: Remove code duplication and remove a race condition. The race condition was due to the fact that in can_rename the share mode check closed the file and then after that did the rename. (This used to be commit aa16d8a649d1a38593edd5ca94ed2c7d4291911b)
2007-10-10r23508: Fix sync_file() to return NTSTATUS and return thisJeremy Allison1-8/+50
on failure in the write path. Jeremy. (This used to be commit cd3f7dbee809fb40194af0e7509142166e02b252)
2007-10-10r23501: Move notify_rename before rename_internals_fsp and call it from there.Volker Lendecke1-42/+44
(This used to be commit 8d3828871c561cd05e6461e157db4c0ccddd5f22)
2007-10-10r23500: Two changes to survive the now activated test for rename_internals_fsp:Volker Lendecke1-2/+13
With the target being open we have to return NT_STATUS_ACCESS_DENIED and root_fid != 0 leads to NT_STATUS_INVALID_PARAMETER (This used to be commit b599e5b1e10bdf825b2ce53de4a6ec35726d00f6)
2007-10-10r23486: Ok, this time with a hopefully successful make test in the right place:Volker Lendecke1-18/+33
Remove two local variables (This used to be commit 575e594e936c3cb197945063309f0b424dcdefc8)
2007-10-10r23483: Revert 23482, I must have run 'make test' in the wrong subdir.Volker Lendecke1-14/+18
(This used to be commit 1ce0c582bccc90e54a69b1e70973ed7ccb47cbbb)
2007-10-10r23482: Slightly simplify the rename code: Remove two local variables that areVolker Lendecke1-18/+14
not really needed. (This used to be commit e068e38ef3b364f2c6477f9d8d6ef3b81a6207ca)
2007-10-10r23469: Fix a commentVolker Lendecke1-1/+1
(This used to be commit 47cc9359aa1b4d5fcd9469be0b1378030ac388fc)
2007-10-10r23467: Next little simplification: In rename_internals it's a bit pointless toVolker Lendecke1-38/+13
first ask for existence of a file when we do the open_file_ntcreate in can_rename later on anyway. That also gets us the right error message in case the file is not there automatically. (This used to be commit f3d582cb908f95c1b557bda5d41b5a8aff75b124)
2007-10-10r23466: Fix RAW-NOTIFY: by using delete on close the notify is triggered deepVolker Lendecke1-6/+0
inside close_file() already. (This used to be commit 0b29e3ad0f2b1759eb195fb37f1f8667d87f5670)
2007-10-10r23457: After Jeremy's ack:Volker Lendecke1-24/+29
The attached patch removes a little race condition for people with real kernel oplock support, and reduces some code paths. It changes reply_unlink to open_file_ntcreate, set_delete_on_close and close_file. The race condition happens if we break the oplock in can_delete via open_file_ntcreate, we close the file, someone else gets a batch oplock and we try to unlink. It reduces code paths by calling SMB_VFS_UNLINK in 2 fewer places. (This used to be commit 0342ce7057045a362134281bcc7030111276dea0)
2007-10-10r23445: Fix suggested by Volker. Don't call rename_open_filesJeremy Allison1-2/+0
if the name wasn't changed. Jeremy. (This used to be commit 7a9629365eb4eb2829982fe2b2bfffd840648e6f)
2007-10-10r23299: Fix the build for !WITH_SENDFILE.James Peach1-4/+3
(This used to be commit 87b92e7ebda018f1d6a588748e282dc1a2c50613)
2007-10-10r23183: Check in a change made by Tridge:Volker Lendecke1-20/+19
This replaces the internal explicit dev/ino file id representation by a "struct file_id". This is necessary as cluster file systems and NFS don't necessarily assign the same device number to the shared file system. With this structure in place we can now easily add different schemes to map a file to a unique 64-bit device node. Jeremy, you might note that I did not change the external interface of smb_share_modes.c. Volker (This used to be commit 9b10dbbd5de8813fc15ebbb6be9b18010ffe8139)
2007-10-10r23107: Fix renames on file descriptors that are supposed to overwrite theJeremy Allison1-3/+4
target. Needs merging for 3.0.25a (sorry). Jeremy. (This used to be commit a56bce3d44e89b4fd7806cc5b464c7481ec0197f)
2007-10-10r23100: Implement the delete on close semantics I've just tested forJeremy Allison1-7/+47
in Samba4 smbtorture. Fix rename on an open file handle. Needed for 3.0.25a. Jeremy. (This used to be commit a301467d5f645dada27093ddfd74890b88bb4ce8)
2007-10-10r23088: Fix rename for cifsfs client. This may be needed forJeremy Allison1-2/+2
3.0.25a. Jeremy. (This used to be commit 02e4f6b0f1f1a1cc6bfe5fed7866eb5b18ab87e0)
2007-10-10r23016: Remove extra & - thanks to Volker for spotting this.Jeremy Allison1-1/+1
Jeremy. (This used to be commit c2c970fd50b293031390358d72aaa7bd94da6e6d)
2007-10-10r23014: For all branches, ensure that if we're blocked on a POSIXJeremy Allison1-4/+9
lock we know nothing about that we retry the lock every 10 seconds instead of waiting for the standard select timeout. This is how we used to (and are supposed to) work. Jeremy. (This used to be commit fa18fc25a50cf13c687ae88e7e5e2dda1120e017)
2007-10-10r23007: Ensure we don't allow large read over the possibleJeremy Allison1-0/+4
packet size. Jeremy. (This used to be commit 5d465dd2d559df29d18a844137c8e14ffbb1a269)
2007-10-10r22925: Sync read_and_X with 3.0.26 code (use setup_readX_header()).Jeremy Allison1-6/+1
Jeremy. (This used to be commit e1052c0e3d50473a9ded6092b6a85d78590a00e7)
2007-10-10r22922: Move "normal_read:" label out of ifdef guard. Fix the build.Jeremy Allison1-2/+2
Jeremy. (This used to be commit 3c1ccc68f03b02d2223ec745e241129766e0c15e)
2007-10-10r22920: Add in the UNIX capability for 24-bit readX, as discussedJeremy Allison1-62/+107
with the Apple guys and Linux kernel guys. Still looking at how to do writeX as there's no recvfile(). Jeremy. (This used to be commit a53268fb2082de586e2df250d8ddfcff53379102)
2007-10-10r22846: Chunk one to replace message_send_pid with messaging_send: Deep insideVolker Lendecke1-8/+16
locking/locking.c we have to send retry messages to timed lock holders. The majority of this patch passes a "struct messaging_context" down there. No functional change, survives make test. (This used to be commit bbb508414683eeddd2ee0d2d36fe620118180bbb)
2007-10-10r22765: Fix from Alison Winters <alisonw@sgi.com> for missing returnJeremy Allison1-0/+1
in sendfilereadbraw. Jeremy. (This used to be commit b523e782b0f3a3899e5f448698fbecddd59f4369)
2007-10-10r22502: Fix bug #4536 - delete symlinks to a directory correctly.Jeremy Allison1-1/+17
Jeremy. (This used to be commit dcc6517d9d349c65b045160e8a1358af088ae97a)
2007-10-10r22391: Looks bigger than it is. Make "inbuf" availableJeremy Allison1-62/+62
to all callers of smb_setlen (via set_message() calls). This will allow the server to reflect back the correct encryption context. Jeremy. (This used to be commit 2d80a96120a5fe2fe726f00746d36d85044c4bdb)
2007-10-10r22389: Start preparing for multiple encryption contexts in theJeremy Allison1-4/+4
server. Allow server to reflect back to calling client the encryption context that was sent. Jeremy. (This used to be commit b49e90335d1e589916b5ab4992e3c4a2d221ca7e)
2007-10-10r22291: Fix off-by-one in tconX parsing.Jeremy Allison1-2/+11
Jeremy. (This used to be commit bc6ac4feac8c62cda2b6151eb648d3d5979e8a95)
2007-10-10r22145: Fix bug #4494 - reported by Kevin Jamieson <bugzilla@kevinjamieson.com>.Jeremy Allison1-1/+3
If returning a mapped UNIX error from sendfile, don't call chain_reply. Jeremy. (This used to be commit 38404c990db1436241c3a774c51196bc058d7576)
2007-10-10r22122: Start to fix csc issue with Vista. Make smbd supportJeremy Allison1-1/+22
the extended 7 word response for tconX rather than the 3 word one we supported previously. Jeremy. (This used to be commit 137953226a2d691259e7e84d6ae0dc24755e5a3a)
2007-10-10r21801: Fix Coverity ID # 342Volker Lendecke1-0/+1
(This used to be commit 8700cd71bb3af3a55f025b34b61062aa5b66b6bc)
2007-10-10r21800: Check-in the DFS rewrite. I am still testing this but itJeremy Allison1-45/+135
works from smbclient and Windows, and I am promising to support and fix both client and server code moving forward. Still need to test the RPC admin support but I haven't changed that code. Jeremy. (This used to be commit 7a7862c01d07796ef206b255c676ad7dc2cc42fc)
2007-10-10r21770: For old DOS style searches we must remember ifJeremy Allison1-0/+5
the initial search had a wildcard in order to correctly return no error on end of search. Found by Samba4 torture tester. Jeremy. (This used to be commit c74bcf7677123f273d44181ca053ba49b8c7ddae)
2007-10-10r21769: Attempt to fix bug #4384 in old search code.Jeremy Allison1-14/+4
We were accessing a pathname that hadn't gone through unix_convert ! That's a big no-no... Jeremy. (This used to be commit 33a67fd39e1a51944bf0783350aa6ef95dfafb84)
2007-10-10r21754: Volker is completely correct. There's no need forJeremy Allison1-16/+64
the RESOLVE_DFSPATH macros and their varients any more. Fix reporting profile bug with all error returns. Jeremy. (This used to be commit cdf0fdb1049fd68b46885cbea887dc0e595fa524)
2007-10-10r21714: Change the VFS interface to use struct timespecJeremy Allison1-21/+22
for utimes - change the call to ntimes. This preserves nsec timestamps we get from stat (if the system supports it) and only maps back down to usec or sec resolution on time set. Looks bigger than it is as I had to move lots of internal code from using time_t and struct utimebuf to struct timespec. Jeremy. (This used to be commit 8f3d530c5a748ea90f42ed8fbe68ae92178d4875)
2007-10-10r21672: The cannonical file access pattern should look like this :Jeremy Allison1-161/+256
srvstr_get_path(inbuf, name, smb_buf(inbuf) + 1, sizeof(name), 0, STR_TERMINATE, &status); if (!NT_STATUS_IS_OK(status)) { return ERROR_NT(status); } RESOLVE_DFSPATH(name, conn, inbuf, outbuf); status = unix_convert(conn, name, False, NULL, &sbuf); if (!NT_STATUS_IS_OK(status)) { return ERROR_NT(status); } status = check_name(conn, name); if (!NT_STATUS_IS_OK(status)) { return ERROR_NT(status); } Make sure that every access pattern (including the wildcard generated paths from unlink, rename, and copy) do the same. Tidy things up a bit.... Jeremy. (This used to be commit b8327b21ddf518d34c6cd6c01bd7fc0fd3f63c0c)
2007-10-10r21191: Add in the POSIX open/mkdir/unlink calls.Jeremy Allison1-31/+23
Move more error code returns to NTSTATUS. Client test code to follow... See if this passes the build-farm before I add it into 3.0.25. Jeremy. (This used to be commit 83dbbdff345fa9e427c9579183f4380004bf3dd7)
2007-10-10r21093: Remove the hash and dnotify backends. Disabling FAM for this ↵Volker Lendecke1-3/+3
checkin, I'm working on that right now. Volker (This used to be commit 01c9fb17281e99300b339d2cfc0acac7ca94843c)
2007-10-10r21089: Do notifies on renameVolker Lendecke1-0/+44
(This used to be commit 2aadb95a7e58777ee7ff024cc9e14f4334970d50)
2007-10-10r21087: Make the param list of notify_fname match notify_triggerVolker Lendecke1-6/+8
(This used to be commit defa28f9c3eda85a072b972fffd2d5de8bcf01f7)
2007-10-10r21080: ReformattingVolker Lendecke1-37/+68
(This used to be commit 705f866a78ec3f1169543bf82fb48ea6580160a9)
2007-10-10r21079: Minimizing diff: Adopt the Samba4 style ChangeNotify flags.Volker Lendecke1-2/+2
Volker (This used to be commit a3c1069b0c3da914e2ac7337fd9e924b1c811d39)
2007-10-10r21057: More refactoring into functions.Jeremy Allison1-2/+2
Jeremy. (This used to be commit fe2d7cb2dcd7c4d25d71f196aa557ce3e287bb4c)
2007-10-10r20931: This changes the notify infrastructure from a polling-based to an ↵Volker Lendecke1-11/+0
event-driven based approach. The only remaining hook into the backend is now void *(*notify_add)(TALLOC_CTX *mem_ctx, struct event_context *event_ctx, files_struct *fsp, uint32 *filter); (Should we put this through the VFS, so that others can more easily plug in?) The trick here is that the backend can pick filter bits that the main smbd should not handle anymore. Thanks to tridge for this idea. The backend can notify the main smbd process via void notify_fsp(files_struct *fsp, uint32 action, char *name); The core patch is not big, what makes this more than 1800 lines are the individual backends that are considerably changed but can be reviewed one by one. Based on this I'll continue with inotify now. Volker (This used to be commit 9cd6a8a82792b7b6967141565d043b6337836a5d)
2007-10-10r20877: Random notify fixesVolker Lendecke1-13/+8
(This used to be commit 2f1bfc53733ac3debc6a8b51642ab191869cd792)
2007-10-10r20873: Some correctness fixes w.r.t. Samba4 torture BASE-DELETE.Jeremy Allison1-1/+10
Allow us to correctly refuse to set delete on close on a non-empty directory. There are still some delete-on-close wrinkles to be fixed, but I understand how to do that better now. I'll fix this tomorrow. Jeremy. (This used to be commit 029635885825a5562e7974a6f5675cce3bf1b5dc)
2007-10-10r20854: Ok, now I think we're at a point where looking at notify starts to ↵Volker Lendecke1-2/+21
make sense again :-) Volker (This used to be commit 5533cdeec1b0cdee39b1d89e2320587dc9281ee6)