1
0
mirror of https://github.com/samba-team/samba.git synced 2025-10-30 08:23:49 +03:00
Commit Graph

200 Commits

Author SHA1 Message Date
Stefan Metzmacher
fde64c0dc1 r3336: use a struct ntvfs_async_state to be able to do async chaning of ntvfs modules
the idea is that a passthru module can use ntvfs_async_state_push() before
calling ntvfs_next_*() and in the _send function it calls
ntvfs_async_state_pop() and then call the upper layer send_fn itself

- ntvfs_nbench is now fully async

- the ntvfs_map_*() functions and the trans(2) mapping functions are not converted yet

metze
2007-10-10 13:04:57 -05:00
Andrew Tridgell
5921587ec2 r3323: more warning reductions 2007-10-10 13:04:55 -05:00
Andrew Tridgell
8021d1d742 r3312: in the brlock code, we prevent lock stampedes by attempting to not
wakeup all pending locks at once. This change means that we only
trigger this anti-stampede code for write locks, as for pending read
locks the correct behaviour is to stampede (as they will all succeed)
2007-10-10 13:04:53 -05:00
Stefan Metzmacher
177afd4855 r3290: allow SID_ANONYMOUS ( "S-1-5-7" ) to be the users sid
metze
2007-10-10 13:04:51 -05:00
Andrew Tridgell
32dccf91cf r3288: - updated the path processing in pvfs to pass the RAW-CHKPATH test. This
rather extensive test reveals some really bizarre error code
  handling in w2k3.

- extended and simplified the RAW-CHKPATH test, making it easier to
  read (note that Samba3 fails the new tests - jra may wish to look)

- marked RAW-CHKPATH as pass for pvfs
2007-10-10 13:04:50 -05:00
Andrew Tridgell
7f2c771b0e r3278: - rewrote the client side rpc connection code to use lib/socket/
rather than doing everything itself. This greatly simplifies the
  code, although I really don't like the socket_recv() interface (it
  always allocates memory for you, which means an extra memcpy in this
  code)

- fixed several bugs in the socket_ipv4.c code, in particular client
  side code used a non-blocking connect but didn't handle EINPROGRESS,
  so it had no chance of working. Also fixed the error codes, using
  map_nt_error_from_unix()

- cleaned up and expanded map_nt_error_from_unix()

- changed interpret_addr2() to not take a mem_ctx. It makes absolutely
  no sense to allocate a fixed size 4 byte structure like this. Dozens
  of places in the code were also using interpret_addr2() incorrectly
  (precisely because the allocation made no sense)
2007-10-10 13:04:49 -05:00
Andrew Tridgell
bc83d823b2 r3276: - allow for more than 256 open old style searches (limit currently set at an arbitrary 5000)
- auto-cleanup old searches that the client forgot to close (common with old searches)

- expanded the RAW-SEARCH test to test more than 256 old searches, and
  old search rewind (w2k3 fails this - it appears to not support rewind
  on old style searches)
2007-10-10 13:04:48 -05:00
Andrew Tridgell
cc93813e4a r3271: use "struct messaging_context *" instead of "void *" in messaging API 2007-10-10 13:04:48 -05:00
Andrew Tridgell
5352613342 r3268: - fixed wildcard handling in new dirlist code
- ensure that d_name from readdir is not used after closedir
2007-10-10 13:04:48 -05:00
Andrew Tridgell
0d98f7653a r3262: - new pvfs_dirlist code that reopens the directory between search
calls. This is needed to allow for "new files appear during a search"
  behaviour

- pvfs now passes RAW-SEARCH
2007-10-10 13:04:48 -05:00
Andrew Tridgell
692623c6c0 r3260: redid the pvfs_dirlist() interface in preparation for a "keep
directory open" implementation, as opposed to the "load the whole
directory" interface used now. This will be needed to pass RAW-SEARCH
2007-10-10 13:04:47 -05:00
Andrew Tridgell
51f84800d5 r3258: fixed "don't change" attribute for RAW_SFILEINFO_BASIC_INFO 2007-10-10 13:04:47 -05:00
Andrew Tridgell
86b5118c2a r3255: - fixed 2 uninitialised data errors found with valgrind
- fixed offset of setup words in nttrans reply
2007-10-10 13:04:47 -05:00
Andrew Tridgell
98f6dbdba4 r3254: - expanded the RAW-IOCTL test
- fixed the old ioctl interface to not check handle before failing

- pvs now passes RAW-IOCTL
2007-10-10 13:04:46 -05:00
Andrew Tridgell
367f0c2af4 r3253: - added rudimentary support for ntioctl in pvfs
- catch the SIGXFSZ signal, which for some completely insane reason is
  generated in current Linux systems when you write before the maximum
  offset in a file (maximum is 2^41 on my box). Why wasn't errno good
  enough for this?

- give the right ntstatus code for large offset write failures
2007-10-10 13:04:46 -05:00
Andrew Tridgell
98aea91ce6 r3249: - change_time is closer to ctime than mtime
- pvfs now passes the RAW-CLOSE test
2007-10-10 13:04:46 -05:00
Andrew Tridgell
4cdd750b5c r3248: don't stop searches on failed fill_search_info() 2007-10-10 13:04:46 -05:00
Andrew Tridgell
36286e477c r3247: FILE_ATTRIBUTE_NORMAL is only a null-op for setattr and setattre, not basic_info 2007-10-10 13:04:46 -05:00
Andrew Tridgell
090574c698 r3246: new files should get created with FILE_ATTRIBUTE_ARCHIVE 2007-10-10 13:04:45 -05:00
Andrew Tridgell
7ce6139f98 r3241: don't skip the read completely for a zero-length read, as it could give a lock conflict 2007-10-10 13:04:45 -05:00
Andrew Tridgell
9305b07af3 r3240: - update the rules for what error codes should be given on the
different type of unlink an seach mismatches

- wildcard directory listings that have attribute
  FILE_ATTRIBUTE_DIRECTORY and match "." or ".." should be failed.

- don't set the write_time on SMBclose unless it is non-zero

- added much better support for setfileinfo and setpathinfo in pvfs

- better (and more efficient) handling of .. and . components in filenames
2007-10-10 13:04:45 -05:00
Andrew Tridgell
16c7dd6417 r3239: reads of more than UINT16_MAX bytes should return 0 bytes 2007-10-10 13:04:45 -05:00
Andrew Tridgell
d84ade90ce r3227: added a per-share option "case insensitive filesystem", that tells the
backend that the underlying filesystem is case insensitive, so it can
bypass the directory search if the name is not found.
2007-10-10 13:04:43 -05:00
Andrew Tridgell
efaa0eaec4 r3207: - reformat error msgs in BASE-DIR* tests
- added support for mandatory attributes in old style directory search

- we now pass BASE-DIR1 and BASE-DIR2
2007-10-10 13:04:41 -05:00
Andrew Tridgell
6282e5811b r3200: - improved the accuracy of openx emulation. We now nearly pass the openx portion of RAW-OPEN
- fixed directory size reporting to make it consistent. we now pass
  the ntcreatex portion of RAW-OPEN
2007-10-10 13:04:40 -05:00
Andrew Tridgell
41adb385f1 r3198: check for too many .. components in filenames
pvfs now passes RAW-MKDIR
2007-10-10 13:04:40 -05:00
Andrew Tridgell
57eb14773b r3195: fill in more of the fsinfo fields, and avoid calling the potentially
expensive sys_fsusage() call unless we really need to
2007-10-10 13:04:39 -05:00
Andrew Tridgell
8123cfc59e r3194: fixed an uninitialised variable 2007-10-10 13:04:39 -05:00
Andrew Tridgell
f6fb1e3493 r3193: improved the initial permissions choice for file create, based upon dos attribute 2007-10-10 13:04:39 -05:00
Andrew Tridgell
d368d2f4fe r3192: make sure we don't call pvfs_can_delete() until after we have confirmed that name->exists
it true
2007-10-10 13:04:39 -05:00
Andrew Tridgell
4cf3f65a5c r3189: improved the share_conflict() logic (both in terms of readability and
correctness). pvfs now passes the BASE-RENAME test.
2007-10-10 13:04:38 -05:00
Andrew Bartlett
fbe932ddd4 r3185: Machines can login with krb5, so we need to allow them to map to a unix account.
Andrew Bartlett
2007-10-10 13:04:38 -05:00
Andrew Tridgell
0dae9fef09 r3180: - basic support for SEC_RIGHT_MAXIMUM_ALLOWED in pvfs
- RAW-CONTEXT test now passes
2007-10-10 13:04:37 -05:00
Andrew Tridgell
8ca4d7c51e r3179: - fixed error return on utime failure
- formatting fix
2007-10-10 13:04:37 -05:00
Andrew Tridgell
4e28c45baf r3178: honor the write_time on pvfs_close() 2007-10-10 13:04:36 -05:00
Andrew Tridgell
c334182095 r3177: check for open files on rename 2007-10-10 13:04:36 -05:00
Andrew Tridgell
f23a2f8538 r3174: added pvfs_is_open() to allow us to check for open files on unlink. We
now pass BASE-UNLINK.
2007-10-10 13:04:36 -05:00
Andrew Tridgell
65c2c81b8c r3172: much better qfileinfo implementation in pvfs. We now pass RAW-QFILEINFO 2007-10-10 13:04:36 -05:00
Jelmer Vernooij
18582083af r3167: Add a member 'endpoint' to the dcerpc_binding struct to use instead of
options[0].
2007-10-10 13:02:28 -05:00
Andrew Tridgell
a953d4a42c r3161: pvfs now passes the RAW-SEEK test 2007-10-10 13:02:27 -05:00
Andrew Tridgell
1c05147f71 r3160: recognise RAW_SFILEINFO_DISPOSITION_INFORMATION (fixes temporary files from excel) 2007-10-10 13:02:27 -05:00
Andrew Tridgell
5c16ed0254 r3159: use easy to recognise file handle numbers for new file, old file and directory
in pvfs_open, to make analysing sniffs easy
2007-10-10 13:02:27 -05:00
Andrew Tridgell
abbfca1401 r3154: pvfs now passes all of BASE-DELETE 2007-10-10 13:02:26 -05:00
Andrew Tridgell
f8041feaeb r3153: pvfs now passes the first 9 of the BASE-DELETE tests 2007-10-10 13:02:26 -05:00
Andrew Tridgell
b5a6dd3cbf r3147: added basic share modes support for pvfs (or more precisely, ntcreatex
share_access support).  This is enough for us to pass the BASE-DENY2
test, but is a long way from fully correct share modes.
2007-10-10 13:02:25 -05:00
Andrew Tridgell
18b471327b r3142: fill in all the ntcreatex response fields explicitly, rather than
zeroing. This makes it clearer what bits are not yet implemented (and
is more valgrind friendly)
2007-10-10 13:02:25 -05:00
Andrew Tridgell
395c3815b4 r3135: split the "create new" logic out from the "open existing" logic in
pvfs_open, and handle the various race conditions that are inherent in
cifs on unix, so we do the best we can when the race happens.

the ntcreatex code is really starting to take shape now
2007-10-10 13:02:25 -05:00
Andrew Tridgell
043361fed4 r3133: - more consistent error checking in rename and setfileinfo
- add paranoid checking of device/inode change during open to detect race conditions
2007-10-10 13:02:25 -05:00
Andrew Tridgell
c33cdd0d55 r3132: - fixed a type conflict found by talloc_array_p()
- use struct idr_context * in ipc code
2007-10-10 13:02:24 -05:00
Andrew Tridgell
375a9a1347 r3131: - make map_nt_error_from_unix() return NT_STATUS_UNSUCCESSFUL if errno is 0
- more consistent checking for system call return values in simple backend
2007-10-10 13:02:24 -05:00