| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
scan_directory).
Michael
|
|
|
|
|
|
| |
This is not needed anymore since user_can_access_file_acl() ist used.
Michael
|
|
|
|
|
|
| |
This is a security descriptor level function only.
Michael
|
| |
|
|
|
|
|
|
|
| |
being (correctly) used in the can_read/can_write checks for hide unreadable/unwritable
and this is more properly done using the functions in smbd/file_access.c.
Preparing to do NT access checks on all file access.
Jeremy.
|
|
|
|
| |
metze
|
|
|
|
|
|
|
|
| |
get_file_infos()
This means we need to fetch the record only once.
metze
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now never call file_ntimes() directly, every update
is done via smb_set_file_time().
This let samba3 pass the BASE-DELAYWRITE test.
The write time is only updated 2 seconds after the
first write() on any open handle to the current time
(not the time of the first write).
Each handle which had write requests updates the write
time to the current time on close().
If the write time is set explicit via setfileinfo or setpathinfo
the write time is visible directly and a following close
on the same handle doesn't update the write time.
metze
|
|
|
|
| |
This cuts some mallocs on NtCreate&X
|
| |
|
|
|
|
| |
Michael
|
|
|
|
|
|
|
|
| |
If we know the underlying filesystem is case-insensitive, then we
know that it won't help to search for case variations of the requested
name.
Jeremy, please review (and revert if you disagree).
|
| |
|
|
|
|
|
|
|
| |
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
|
|
|
|
|
|
|
|
| |
the main server code paths. We should now be able to cope with
paths up to PATH_MAX length now.
Final job will be to add the TALLOC_CTX * parameter to
unix_convert to make it explicit (for Volker).
Jeremy.
|
|
|
|
|
|
|
|
|
| |
There are now ony 17 pstrings left in reply.c,
and these will be easy to remove (and I'll be
doing that shortly). Had to fix an interesting
bug in pull_ucs2_base_talloc() when a source
string is not null terminated :-).
Jeremy.
|
|
|
|
|
|
| |
and make valgrindtest. Final step will be to change srvstr_get_path()
to return talloced memory in the major codepaths.
Jeremy.
|
|
|
|
|
|
| |
interface. More development will come on top of this. Remove the
"mangled map" parameter.
Jeremy.
|
|
|
|
|
|
| |
use of directory name cache, 100 by default. Will be needed
to turn this off for *BSD systems.
Jeremy.
|
| |
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
| |
that contains some of the fields from the SMB header, removing the need
to access inbuf directly. This right now is used only in the open file
code & friends, and creating that header is only done when needed. This
needs more work, but it is a start.
Jeremy, I'm only checking this into 3_0, please review before I merge it
to _26.
Volker
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Windows Vista RC1 and RC2 can't delete directory on Samba share
based on work by Joe Meadows <jmeadows@webopolis.com>.
Jeremy.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
modified). Ensure "hide unXXX" parameters don't
hide MSDFS links. Bug #3319.
Jeremy.
|
|
|
|
|
|
| |
look in the paths for wcard - always read directly
from incoming packet.
Jeremy.
|
|
|
|
|
|
|
| |
to do the upper layer directories but this is what
everyone is waiting for....
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
being deleted when hide unreadable set to true.
Here's the scoop.
This one is really interesting. The pattern of deleting a directory is to do a
findfirst to get the first part of the list, then for each name returned it
does a open/set delete on close/close -> thus deleting the file. Then it does a
findnext with the last file name THAT IT JUST DELETED ! Now we can handle this
in the findnext in the case where hide unreadable is set to false as we look
back in our cache of names and just seek to the right point. The bug is
actually fixed in the first hunk of this patch - the one that removes the
is_visible_file() check after SearchDir returns false. We don't actually need
it and in this case it's causing the delete to be aborted because it can't find
the name (doh ! it was just deleted). We don't need it as SearchDir is only
ever called from findnext, and findnext should only ever be returning names we
gave it.
The rest of the patch are the debugs I used to find
the problem but they're generically useful.
Phew - that one took a while to track down.....
Jerry, please merge for 3.0.23 final.
Jeremy.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Thanks a lot for all your hard work on this).
We were caching the results of *all* directory
scans, not just the results that match the
client wildcard. This actually made no sense,
as only matches on the client wildcard can be
returned to the client and so might need to
be searched for in the cache. This fixes the
directory cache to only cache entries that we
return to the client.
Jeremy.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of the Samba4 timezone handling code back into Samba3.
Gets rid of "kludge-gmt" and removes the effectiveness
of the parameter "time offset" (I can add this back
in very easily if needed) - it's no longer being
looked at. I'm hoping this will fix the problems people
have been having with DST transitions. I'll start comprehensive
testing tomorrow, but for now all modifications are done.
Splits time get/set functions into srv_XXX and cli_XXX
as they need to look at different timezone offsets.
Get rid of much of the "efficiency" cruft that was
added to Samba back in the day when the C library
timezone handling functions were slow.
Jeremy.
|
|
|
|
|
|
|
|
| |
only tell at parse time from the wire if an incoming name
has wildcards or not. If it's a mangled name and we demangle
the demangled name may contain wildcard characters. Ensure
these are ignored.
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
| |
UNIX vendor
not understanding abstract data types :-(.
Jeremy.
|
|
|
|
|
| |
consistently.
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
| |
two offsets
to be identical. Make offsets for . and .. different (and explicit).
Jeremy.
|
|
|
|
|
| |
all, now thinking it might be to do with flags2...
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
|
|
|
| |
the "server state" field must be
non-zero. As we're using the 32 bit field as an offset then normally this field
will be zero. W2K3 fills this field with a counter enumerating the number of
SMBsearch calls on this directory - starting at 1. Add back the 1<<31 bit flag
DPTR_MASK to ensure this is non-zero - with better checks on use.
Jeremy.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
directory/insane app
problem. Rev vfs version. Doesn't change the normal codepath.
Jeremy.
|
|
|
|
|
|
|
| |
pathnames.
ie. files containing : and \ can be accessed from Linux.
Jeremy.
|
|
|
|
|
| |
large directory code.
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
level, . and .. are the first two entries returned when reading a
directory. This also means we can't seek to these offsets, but we
will never be doing that anyway (as far as I can think). The reason
we have to do this is that the NT4 explorer will happily display a
folder marked ".." as a clickable folder (and probably would display
"." as a clickable folder too) if these are not in positions zero
and one of the returned file list. W2K seems to have fixed this but
there are too many older systems out there... Never mind, more for
the "Undocumented CIFS talk", coming to a CIFS2005 conference near
you soon.... :-).
Jeremy.
|