| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Jeremy.
|
|
|
|
|
|
| |
using the parent security descriptor type and flags instead
of using the passed in SD.
Jeremy.
|
|
|
|
|
|
|
| |
with write time,
just return what the underlying filesystem says. Trying not to confuse UNIX apps any more than necessary.
Jeremy.
|
| |
|
|
|
|
|
|
| |
When alignment was in place, we pretended to send more data/params according to
the param_offset/param_length and data_offset/data_length parameters than would
actually fit into the SMB according to the NBSS length field.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- only the first non truncating write causes
the write time update with 2 seconds delay.
It's not enough to check for an existing update event
as it will be NULL after the event was triggered.
- SMBwrite truncates always update the write time
unless the sticky write time is set.
- SMBwrite truncates don't trigger a write time update on close.
metze
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ok, here's the fix for the write times breakage
with the new tests in S4 smbtorture.
The key is keeping in the share mode struct
the "old_file_time" as the real write time,
set by all the write and allocation calls,
and the "changed_write_time" as the "sticky"
write time - set by the SET_FILE_TIME calls.
We can set them independently (although I
kept the optimization of not setting the
"old_file_time" is a "changed_write_time"
was already set, as we'll never see it.
This allows us to update the write time
immediately on the SMBwrite truncate case,
SET_END_OF_FILE and SET_ALLOCATION_SIZE calls,
whilst still have the 2 second delay on the
"normal" SMBwrite, SMBwriteX calls.
I think in a subsequent patch I'd like to
change the name of these from "old_file_time"
to "write_time" and "changed_write_time" to
"sticky_write_time" to make this clearer.
I think I also fixed a bug in Metze's original
code in that once a write timestamp had been
set from a "normal" SMBwriteX call the fsp->update_write_time_triggered
variable was set and then never reset - thus
meaning the write timestamp would never get
updated again on subsequent SMBwriteX's.
The new code checks the update_write_time_event
event instead, and doesn't update is there's
an event already scheduled.
Metze especially, please check this over for
your understanding.
Jeremy.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following test program prints "8" on 64-bit :-)
static void print_size(const char lenbuf[4])
{
printf("sizeof(lenbuf) = %d\n", (int)sizeof(lenbuf));
}
int main(void)
{
const char lenbuf[4];
print_size(lenbuf);
return 0;
}
Jeremy, please check :-)
Volker
|
|
|
|
|
|
|
| |
support it (*BSD and MacOSX).
Should have done this ages ago, sorry.
Jeremy.
|
|
|
|
| |
cannot do sendfile for this file"
|
|
|
|
|
|
| |
We need to become root for AIO read and write to allow the AIO thread
to send a completion signal to the parent process when the IO
completes
|
|
|
|
|
|
|
| |
farm failures when winbindd connects as guest.
This one took a *lot* of tracking down :-).
Jeremy.
|
|
|
|
|
|
|
|
| |
Some of the bits generate INVALID_PARAMETER and some bits
are ignored when they come from a client, that's why we need
to use bits from the ignored range for our internal usage.
metze
|
|
|
|
|
|
|
| |
is orphaned if socket address parameter is invalid.
If the "socket address" parameter is a null string that is an invalid value for Samba 3.2 but valid for Samba 3.0.
Jeremy.
|
|
|
|
|
|
| |
xp/2003 explorer freezes browsing shares on samba ipv6 hosts. Caused by missing
reply packet to SMB printclose packet.
Jeremy
|
|
|
|
|
|
| |
--with-cluster-support
Michael
|
| |
|
|
|
|
| |
can trigger a brlock db cleanup
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
scan_directory).
Michael
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
map_nt_error_from_unix() now assumes that it is called in
an error path and returns an error even for a given errno == 0.
The original behaviour of unix_convert() used the mapping
of errno == 0 ==> NT_STATUS_OK to return success through
an error path.
I think this must have been an oversight, and unix_convert() worked
only by coincidence (or because explicitly using the knowledge
of the conceptually wrong working of map_nt_error_from_unix().
This patch puts this straight by not interpreting errno == 0
as an error condition and proceeding in that case.
Jeremy - please check!
Michael
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
one of our virtualised functions, such as db_open(), but error is only
set when a system call fails, and it is not uncommon for us to fail a
function internally without ever making a system call. That led to us
passing back success when a function had in fact failed.
I found two places where we relied on map_nt_error_from_unix()
returning success when errno==0, but lots and lots of places where we
relied on the reverse, so I fixed those two places.
map_nt_error_from_unix() will now always return an error, returning
NT_STATUS_UNSUCCESSFUL if errno is 0
(cherry picked from commit 69d40ca4c1af925d4b0e59ddc69ef8c26e6501d1)
|
|
|
|
|
| |
I think chain_reply() is one of the most tricky parts of Samba. This recursion
needs to go away, we need to sequentially walk the chain list.
|
|
|
|
|
| |
Untested code is broken code.... Test follows later, it's quite an intrusive
change to libsmb/
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
case files. Reported by Daniel Johnson <Progman2000@usa.net>.
The smb_set_file_time() call to set the filetimes is failing
because it's using the unmodified name passed in by the
client, not the modified name (matching case on the
disk) that comes out from create_file().
Jeremy.
|
|
|
|
|
|
| |
then don't allow create_file() to call down to
create_file_unixpath() with a stream name.
Jeremy.
|
|
|
|
|
| |
This fixes various build warnings on our platform. I'm sure I haven't
caught them all, but it's a start.
|
|
|
|
| |
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
|
|
|
|
|
| |
This scans the list of pipes registered via rpc_pipe_register_commands instead
of using static tables.
|
|
|
|
|
|
|
| |
"acl group control"
parameter and make it only apply to owning group. Also added man page fix.
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
| |
It does not really need the whole smb_request
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
current_user
Reason: This is the main user of p->current_user which I would like to remove
|
|
|
|
| |
Michael
|
|
|
|
|
|
|
|
|
| |
leaving panic or more appropriate action to callers.
This can for instance happen in a clustered setup, when
ctdb is not running. This allows for a more defined behaviour,
reducing chicken-egg-problems.
Michael
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Jeremy, setting "exists" to True in _dfs_Add prevented the initial creation of
a new symlink for me, because the SMB_VFS_UNLINK failed. This also exists in
3.2. I only check it into 3.3 as I would like you to look at it first.
Thanks,
Volker
|
| |
|
| |
|