1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

2710 Commits

Author SHA1 Message Date
Jeremy Allison
d4a87ee966 Replace more long-lived contexts with talloc_autofree_context().
Jeremy.
2009-07-16 18:14:56 -07:00
Stefan Metzmacher
2fca950d68 s3:libsmb: we need to include "includes.h" as first header to let code build on all platforms
This should fix the Tru64 build.

metze
2009-07-15 20:59:35 +02:00
Jeremy Allison
1f5aec877f Make cli_unlock and cli_unlock64 async. Fix POSIX lock test.
Jeremy.
2009-07-15 11:49:33 -07:00
Volker Lendecke
3d7dfc1197 Consolidate string and data_blob routines in gencache 2009-07-15 10:55:20 +02:00
Volker Lendecke
3edcd55bf1 Remove gencache_init/shutdown
gencache_get/set/del/iterate call gencache_init() internally anyway. And we've
been very lazy calling gencache_shutdown, so this seems not really required.
2009-07-15 10:55:20 +02:00
Volker Lendecke
d936d1bd84 Fix some nonempty blank lines 2009-07-15 10:55:20 +02:00
Volker Lendecke
e5a34b2533 Remove gencache_[un]lock_key 2009-07-15 10:55:20 +02:00
Jeremy Allison
e67de63ba6 Make cli_posix_lock/unlock asynchronous.
Jeremy.
2009-07-13 18:43:10 -07:00
Björn Jacke
a28596964b s3: QNX doesn't know uint - replace with uint_t 2009-07-07 22:15:16 +02:00
SATOH Fumiyasu
7f7ebfaecb Fix bug #6496 - MS-DFS: cannot follow multibyte char link name.
consumed_ucs is the number of bytes
of the UCS2 path consumed not counting any
terminating null. We need to convert
back to unix charset and count again
to get the number of bytes consumed from
the incoming path.
2009-06-30 15:29:08 -07:00
Karolin Seeger
095f66b0ed s3/libsmb: Fix typo in error message.
Thanks to Herb Lewis <hlewis [at] panasas.com> for noticing!

Karolin
2009-06-17 10:25:11 +02:00
Karolin Seeger
f92269a6ce s3/libsmb: Fix debug message.
This fixes bug #6472.

Karolin

Signed-off-by: Volker Lendecke <vl@samba.org>
2009-06-15 08:43:43 +02:00
Jeremy Allison
dc5c7b7f98 Make ctemp async. Fix the test to pass against W2K3.
Jeremy.
2009-06-10 11:58:00 -07:00
Jeremy Allison
64a1f17aff Make cli_ftruncate async. Also add a simple test.
Jeremy.
2009-06-05 16:06:05 -07:00
Jelmer Vernooij
b65ba0e26c clikrb5: Prefer krb5_free_keytab_entry_contents to krb5_kt_free_entry.
Both functions exist in MIT Kerberos >= 1.7, but only
krb5_free_keytab_entry_contents has a prototype.
2009-06-04 23:43:31 +02:00
Jeremy Allison
cdb765a76c Fix bug #6419 - smbclient -L 127.0.0.1" displays "netbios name" instead of "workgroup"
Unify the handling of the sessionsetup parsing so we don't get different
results when parsing a guest reply than an ntlmssp reply.
Jeremy.
2009-06-01 14:38:56 -07:00
Jeremy Allison
684d3dddd6 Make cli_nt_delete_on_close() async.
Jeremy.
2009-05-29 14:58:34 -07:00
Michael Adam
c3b67446d0 libsmbclient: make SMBC_module_terminate() static.
Michael
2009-05-29 23:28:39 +02:00
Kumar Thangavelu
1a7898e3a8 s3/getdcname: Fix 'net' crash.
'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>
2009-05-29 11:27:38 +02:00
Jeremy Allison
9df85a9374 Make cli_posix_chown()/cli_posix_chmod() async.
Jeremy.
2009-05-28 16:15:09 -07:00
Jeremy Allison
656e86d5fa Make cli_posix_stat() async.
Jeremy.
2009-05-28 13:32:00 -07:00
Jeremy Allison
d74e42e0ec Make getfacl async.
Jeremy.
2009-05-28 13:05:50 -07:00
Jeremy Allison
bccc7ee2c6 Add cli_posix_readlink() and a torture test for it.
Jeremy.
2009-05-27 21:51:15 -07:00
Jeremy Allison
f55c7614bd Add aync POSIX hardlink and symlink and torture test for them.
Missing call cli_readlink() is next.
Jeremy.
2009-05-27 17:28:23 -07:00
Volker Lendecke
49ca690b4b Introduce "struct stat_ex" as a replacement for SMB_STRUCT_STAT
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.
2009-05-26 17:48:23 +02:00
Volker Lendecke
a8e02b591b Add "err_on_readability" to writev_send
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.
2009-05-24 13:47:29 +02:00
Jeremy Allison
000da55dd9 Make cli_posix_open() and cli_posix_mkdir() async.
Jeremy.
2009-05-20 18:31:36 -07:00
Volker Lendecke
f140bf2e65 Fix broken pipe handling
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.
2009-05-18 07:13:04 +02:00
Bo Yang
aa70e44cd0 s3: tevent_req_poll() loops forever when pipe is broken
Signed-off-by: Bo Yang <boyang@samba.org>
2009-05-19 01:13:36 +08:00
Derrell Lipman
a13ba4347f What to do about debugging in a multi-threaded application?
- For now, punt. Any thread that requests debug to stderr will establish that
  for all threads.

Derrell
2009-05-13 14:51:43 -04:00
Derrell Lipman
636fbd1028 Thread-safe protection: libsmbclient initialization
- 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
2009-05-13 14:37:28 -04:00
Stefan Metzmacher
b9f3a78169 s3:libsmb: move read_smb_send/recv() static in async_smb.c
metze
2009-05-13 18:27:50 +02:00
Stefan Metzmacher
ca6ec5ecd7 s3:libsmb: let cli_smb_chain_send() also return NTSTATUS
metze
2009-05-13 18:27:50 +02:00
Bo Yang
6ff09b323e s3:libsmb: return NT_STATUS_CONNECTION_INVALID if the fd is -1
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
2009-05-13 18:27:41 +02:00
Bo Yang
05379f0125 s3: return proper error code in cli_smb_req_send
Signed-off-by: Bo Yang <boyang@samba.org>
2009-05-13 18:47:00 +08:00
Jeremy Allison
ad9d64ee1b Clean up assignments to iov_base, ensure it's always cast to void *. This should quieten some warnings with picky compilers on the buildfarm.
Jeremy.
2009-05-12 11:45:37 -07:00
Derrell Lipman
db69ebcbce Provide a libsmbclient interface for programs requiring threads
- 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
2009-05-10 22:45:12 -04:00
Stefan Metzmacher
5c76472491 s3:libsmb: fix layering of cli_ntrename_internal and its callers
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
2009-05-09 09:26:15 +02:00
Jeremy Allison
bb8aff6ffa Async API needs all parameters to be kept around until sent,
ensure they're attached to the state structure. Thanks to Metze
for pointing this out.
Jeremy.
2009-05-07 10:01:28 -07:00
Volker Lendecke
d52b0a25ad Make cli_tcon_andx chainable 2009-05-07 16:37:54 +02:00
Volker Lendecke
b35967edba Make cli_session_setup_guest chainable 2009-05-07 16:37:54 +02:00
Günther Deschner
8e490d2fa1 s3-credentials: protect netlogon_creds_server_step() against NULL creds.
Found by SCHANNEL torture tests.

Guenther
2009-05-07 13:32:41 +02:00
Jeremy Allison
606edf0f35 Make cli_setatr async.
Jeremy.
2009-05-06 16:13:42 -07:00
Jeremy Allison
512879a69b Make cli_setattrE async.
Jeremy.
2009-05-06 15:07:05 -07:00
Jeremy Allison
4cbd0c77e4 Make cli_getatr() async.
Jeremy.
2009-05-05 20:59:22 -07:00
Jeremy Allison
e091fdc565 Make cli_getattrE async.
Jeremy.
2009-05-05 16:28:44 -07:00
Jeremy Allison
d34651f9d2 Fix the async calls for the posix_unlink and posix_rmdir.
Jeremy.
2009-05-04 15:50:35 -07:00
Jeremy Allison
f3af298e5b Cause cli_close to return an NTSTATUS.
Jeremy.
2009-04-30 16:57:42 -07:00
Jeremy Allison
8cf78ff553 Get medieval on our ass about SMB1 file descriptors being 16 bits, not an int.
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.
2009-04-30 15:26:43 -07:00
Jeremy Allison
370e7209db Make cli_unlink async.
Jeremy.
2009-04-29 18:26:02 -07:00