Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit 8700cd71bb3af3a55f025b34b61062aa5b66b6bc)
|
|
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)
|
|
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)
|
|
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)
|
|
the RESOLVE_DFSPATH macros and their varients
any more. Fix reporting profile bug with all
error returns.
Jeremy.
(This used to be commit cdf0fdb1049fd68b46885cbea887dc0e595fa524)
|
|
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)
|
|
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)
|
|
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)
|
|
checkin, I'm
working on that right now.
Volker
(This used to be commit 01c9fb17281e99300b339d2cfc0acac7ca94843c)
|
|
(This used to be commit 2aadb95a7e58777ee7ff024cc9e14f4334970d50)
|
|
(This used to be commit defa28f9c3eda85a072b972fffd2d5de8bcf01f7)
|
|
(This used to be commit 705f866a78ec3f1169543bf82fb48ea6580160a9)
|
|
Volker
(This used to be commit a3c1069b0c3da914e2ac7337fd9e924b1c811d39)
|
|
Jeremy.
(This used to be commit fe2d7cb2dcd7c4d25d71f196aa557ce3e287bb4c)
|
|
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)
|
|
(This used to be commit 2f1bfc53733ac3debc6a8b51642ab191869cd792)
|
|
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)
|
|
make sense
again :-)
Volker
(This used to be commit 5533cdeec1b0cdee39b1d89e2320587dc9281ee6)
|
|
watch carefully - so I'm doing it in one transaction so I can
roll back).
Change check_name(), reduce_name() and dptr_create() to
return NTSTATUS. This helps a lot in error path processing
and especially in reduce_name() allows us to ditch the flaky
and error-prone saving of errno and return errors directly.
Jeremy.
(This used to be commit 6133a694aa429d638320e39ffe1c49d172583ccf)
|
|
Jeremy.
(This used to be commit a36d446fb612f87654c645f6507d413b95efaf21)
|
|
Jeremy.
(This used to be commit de0bf477dab1d57b5f7bc6bf70d8e76f9bfac63f)
|
|
Jeremy.
(This used to be commit c6b651966039b1c21facd4c4789bf873b5b49426)
|
|
Jeremy.
(This used to be commit 224ff059915b2c92ec86d2c3c4b10c3bc552ffa2)
|
|
opens)
for delete_driver_files. Proper fix pending... :-)
Jeremy, please check.
Volker
(This used to be commit 21b8f15dd5ad567efeacf5ba22dc4d8c64b09b76)
|
|
(This used to be commit 14c88b560e5c8fd59b84333e92337805620ccd7c)
|
|
Jeremy.
(This used to be commit c154f430710a4646fac42774817dfed7b936b087)
|
|
Start removing unneeded "BOOL ok" from this reply.c
(this logic is old, old, old..... :-).
Jeremy.
(This used to be commit 3d52268095c605a80dfcd371769198a332baa0a5)
|
|
(This used to be commit db93c1b98d5445071ad0af229afed1f11ab0a862)
|
|
to go...
Jeremy.
(This used to be commit 89f03a8db40365f99c6755ff19a4bfbf8d1bd316)
|
|
Jeremy.
(This used to be commit c5be0082ef60cd041121a9c36f4af934cd60562d)
|
|
The only difference between the two trees now w.r.t file
serving are the changes to smbd/open.c in this branch I need
to review.
Jeremy.
(This used to be commit f4474edf6a0c71001dbd01429ef70bafad6abd74)
|
|
wcard unlink if bad_path was set. The error
returned here is almost certainly incorrect
and will need testing properly with smbtorture,
but I don't want to forget about this path
(yes Volker I know this is currently incorrect :-).
Jeremy.
(This used to be commit 06e20c287898d21e437ab117eb5eeeaf2420ba78)
|
|
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)
|
|
particular the NT_STATUS_INVALID_PARAMETER thing was badly wrong. Remove the
changes based on it. Using gentest is much more effective in this respect, but
it will take a while to figure out the wildcard error handling of W2k3.
Volker
(This used to be commit 58b8a242a7f08c1292d24fc73df170dbcd68c10d)
|
|
that we've
taken care of above.
Volker
(This used to be commit 5e1da363bb3f2675beb9fd9240301bb432e5239b)
|
|
doing early
returns.
Volker
(This used to be commit 614651c6a72742173de5fa8723403880acc37c09)
|
|
anymore
(This used to be commit 1798987128be579a1a4574294a7c3094040ebaf2)
|
|
reply_unlink
under Linux we returned NT_STATUS_NOT_A_DIRECTORY. This is because in the
bad_path==True condition lstat(2) returns ENOTDIR and not ENOENT.
Not sure if we want to necessarily replicate the INVALID_PARAMETER here, but
this is what W2k3 does.
Jeremy, I tried to call you, but you were not around. So I'll leave it up to
you to merge this.
Volker
(This used to be commit b1edc3d053104204b966eed67d070ad5da40f17b)
|
|
(This used to be commit c86fbdf8cc8f6f17b23e647bd1f4714c6095b860)
|
|
set_bad_path_error
is equivalent to UNIX_ERROR. Expand the last reference. Lets see if I can kill
that as well :-)
Volker
(This used to be commit 794d5d38f19601bb5b30b965b41b844aacf1caeb)
|
|
bad_path==True argument
being handled further up.
Volker
(This used to be commit 358673c36697a16aa87f9cebbace34abf16ed28e)
|
|
(This used to be commit cea9a01434490fb8a17c3f12db7a092efda21186)
|
|
I'm checking in micro-steps to make them independently checkable. This code
just very severely needs cleanup, but I don't want to break anything. So, be
patient with me, please :-)
Volker
(This used to be commit c16775486baa89901f0d5126cb926c9e5a807743)
|
|
(This used to be commit f19db8f33ed3749f6b72ae3a4cee83574c606e88)
|
|
(This used to be commit e4a2e63272dc5b20413597179d06b0185c4a6817)
|
|
(This used to be commit 244f96388c843fd629478d0069f68550a2006d06)
|
|
than lots of indented code. Change recursive_rmdir()
to return the smbd standards of True on success, False
on fail (it was doing the reverse, which was very confusing).
Jeremy.
(This used to be commit 27dc5bebda7ffbdcb2371638f6132063a953fba2)
|
|
close_file() to NTSTATUS as well.
I'm not sure I got all the error codes right, but as I've never come across a
smb_copy() call in all my Samba work, I'm leaving it at that. If I'm
absolutely bored, I will write a thorough torture test.
As far as I can see, Samba4 even does not have a libcli implementation for
it... :-)
Volker
(This used to be commit 5ebdf02ba166df69e210e6f70c01a44e6205ecc1)
|
|
"smbcli_setattr("") always returns ACCESS_DENIED, test extension to follow.
Merge to 3.0.24?"
Yep (with slight optimization).
Jeremy.
(This used to be commit dcc7bca1adbc69f348d46291ec2cbfaf5d8486bc)
|
|
follow.
Merge to 3.0.24?
Volker
(This used to be commit f2563ac98f8ec7af8083d2b62186753acba7a9dd)
|