Age | Commit message (Collapse) | Author | Files | Lines |
|
Jeremy.
|
|
Michael
|
|
'net' command crashed when attempting to join a
domain. This occurred in a very specific case where
the DC had multiple IPs and one of the IPs was invalid.
Signed-off-by: Volker Lendecke <vl@samba.org>
|
|
Jeremy.
|
|
Jeremy.
|
|
Jeremy.
|
|
Jeremy.
|
|
Missing call cli_readlink() is next.
Jeremy.
|
|
This patch introduces
struct stat_ex {
dev_t st_ex_dev;
ino_t st_ex_ino;
mode_t st_ex_mode;
nlink_t st_ex_nlink;
uid_t st_ex_uid;
gid_t st_ex_gid;
dev_t st_ex_rdev;
off_t st_ex_size;
struct timespec st_ex_atime;
struct timespec st_ex_mtime;
struct timespec st_ex_ctime;
struct timespec st_ex_btime; /* birthtime */
blksize_t st_ex_blksize;
blkcnt_t st_ex_blocks;
};
typedef struct stat_ex SMB_STRUCT_STAT;
It is really large because due to the friendly libc headers playing macro
tricks with fields like st_ino, so I renamed them to st_ex_xxx.
Why this change? To support birthtime, we already have quite a few #ifdef's at
places where it does not really belong. With a stat struct that we control, we
can consolidate the nanosecond timestamps and the birthtime deep in the VFS
stat calls.
At this moment it is triggered by a request to support the birthtime field for
GPFS. GPFS does not extend the system level struct stat, but instead has a
separate call that gets us the additional information beyond posix. Without
being able to do that within the VFS stat calls, that support would have to be
scattered around the main smbd code.
It will very likely break all the onefs modules, but I think the changes will
be reasonably easy to do.
|
|
A socket where the other side has closed only becomes readable. To catch
errors early when sitting in a pure writev, we need to also test for
readability.
|
|
Jeremy.
|
|
Metze is right: If we have *any* error at the socket level, we just can
not continue.
Also, apply some defensive programming: With this async stuff someone else
might already have closed the socket.
|
|
Signed-off-by: Bo Yang <boyang@samba.org>
|
|
- For now, punt. Any thread that requests debug to stderr will establish that
for all threads.
Derrell
|
|
- Begin converting init functions to use SMB_THREAD_ONCE. libsmbclient
module-wide initialization is now moved into a separate function and called
via SMB_THREAD_ONCE.
- libsmbclient counts users (contexts) so that it can release global resources
when the last context is closed. That count of contexts is now protected by
a mutex.
Derrell
|
|
metze
|
|
metze
|
|
This way we can destinguish between requests which failed
because the connection broke after they were triggered
and the requests which are started on an already broken
connection.
This also moves the check to cli_smb_req_iov_send()
where it really belongs.
metze
|
|
Signed-off-by: Bo Yang <boyang@samba.org>
|
|
should quieten some warnings with picky compilers on the buildfarm.
Jeremy.
|
|
- This adds two functions: smbc_thread_posix() which provides access to the
internal threading implementation using pthread; and smbc_thread_impl()
where the user provides each of the functions required by Samba, to give
access to the thread implementation's native capabilities.
Derrell
|
|
It's easier to have cli_ntrename_internal as a semetric async
tevent_req function. cli_ntrename() and cli_nt_hardlink() should
be callers on top of cli_ntrename_internal().
metze
|
|
ensure they're attached to the state structure. Thanks to Metze
for pointing this out.
Jeremy.
|
|
|
|
|
|
Found by SCHANNEL torture tests.
Guenther
|
|
Jeremy.
|
|
Jeremy.
|
|
Jeremy.
|
|
Jeremy.
|
|
Jeremy.
|
|
Jeremy.
|
|
Convert all uses of cli_open(), cli_nt_createXXX to NTSTATUS versions.
This is smaller than it looks, it just fixes a lot of old code.
Next up, ensure all cli_XX functions return NTSTATUS.
Jeremy.
|
|
Jeremy.
|
|
Jeremy.
|
|
|
|
Jeremy.
|
|
Jeremy.
|
|
to async. First trans calls I've done.
Jeremy.
|
|
|
|
Jeremy: please review to ensure this doesn't appear to break anything
The function name_status_find() is documented as used for finding a server's
name given its IP address. It was, however, looking for the first matching
name which could be a group name at times. This fix ensures that group names
are skipped when scanning for a matching name.
Derrell
|
|
Jeremy.
|
|
This allows us to distinguish on NTSTATUS level if we got a
WBC_ERR_UNKNOWN_ERROR or WBC_ERR_NSS_ERROR.
|
|
Jeremy.
|
|
Jeremy
|
|
|
|
This will also make sure we cleanup 'req' in case of an error.
metze
|
|
Jeremy.
|
|
Jeremy.
|
|
Guenther
|