1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00
Commit Graph

7101 Commits

Author SHA1 Message Date
Stefan Metzmacher
8cca7b09ad s3:smb2_server: remember the request_time on an incoming request
metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Fri Jun 15 09:17:33 CEST 2012 on sn-devel-104
2012-06-15 09:17:32 +02:00
Stefan Metzmacher
d8b3687fcb s3:smbd: remember the request_time on an incoming request
metze
2012-06-15 07:18:00 +02:00
Michael Adam
b27f88898a s3:vfs: change files_struct.fnum from int to uint64_t
Signed-off-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Fri Jun 15 05:22:41 CEST 2012 on sn-devel-104
2012-06-15 05:22:41 +02:00
Michael Adam
67108c8e7e s3:smbd: change trans2.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
d056fd14c8 s3:smbd: change smb2_write.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
bde02985e6 s3:smbd: change smb2_setinfo.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
1e0eb24270 s3:smbd: change smb2_read.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
632560b4d8 s3:smbd: change smb2_notify.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
ec111bd050 s3:smbd: change smb2_lock.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
7738b574c2 s3:smbd: change smb2_ioctl.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
cf380e168d s3:smbd: change smb2_getinfo.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
66117c3312 s3:smbd: change smb2_flush.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
d82f1fada2 s3:smbd: change smb2_find.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
59225808fa s3:smbd: change smb2_close.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
78b9e1afef s3:smbd: change smb2_break.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:15 +02:00
Michael Adam
65ea1e427d s3:smbd: change reply.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
3d7befa8f0 s3:smbd: change pipes.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
cd37c68fad s3:smbd: change oplock.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
cdfc301da9 s3:smbd: change open.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
b4f6ef4e95 s3:smbd: change nttrans.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
93dd5a80cd s3:smbd: change files.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
cb1c18516c s3:smbd: change fake_file.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
ee6580c67f s3:smbd: change blocking.c to use fsp_fnum_dbg() for fsp->fnum logging.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
4d66d9f6dd s3:smbd: change aio.c to use fsp_fnum_dbg() for logging fsp->fnum.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:14 +02:00
Michael Adam
5d2af68a25 s3:smbd: use FNUM_FIELD_INVALID instead of literal -1
This is in preparation of changing fnum to uint64_t

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:13 +02:00
Michael Adam
a7dccea0c5 s3:files: factor fsp_free() out of file_free()
To be reused in the durable reconnect code.

Pair-Programmed-With: Volker Lendecke <vl@samba.org>
2012-06-15 03:28:13 +02:00
Michael Adam
7aa9ad5bb9 s3:files: reorder file_free() a bit
Pair-Programmed-With: Volker Lendecke <vl@samba.org>
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:13 +02:00
Michael Adam
82a96d2432 s3:smbd: refactor fsp_new() out of file_new()
Pair-Programmed-With: Volker Lendecke <vl@samba.org>
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-06-15 03:28:13 +02:00
Stefan Metzmacher
3f110e50bf s3:smbd: use fsp_persistent_id() as persistent_file_id part for SMB2 (bug #8995)
It seems to be important to have unique persistent file ids,
because windows clients seem to index files by server_guid + persistent_file_id.
Which may break, if we just have a 16-bit range per connection
and the client connects multiple times.

Based on code from Ira Cooper. Use fsp->fh->gen_id as the persistent
fileid in SMB2.

metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Thu Jun 14 22:04:13 CEST 2012 on sn-devel-104
2012-06-14 22:04:10 +02:00
Stefan Metzmacher
47f837c105 s3:smbd: add a fsp_persistent_id() function
This calculates a 64-bit value that most likely uniquely identifies
the files_struct globally to the server.

* 32-bit random gen_id
* 16-bit truncated open_time
* 16-bit fnum (valatile_id)

Based on code from Ira Cooper. Use fsp->fh->gen_id as the persistent
fileid in SMB2.

Pair-Programmed-With: Michael Adam <obnox@samba.org>

metze
2012-06-14 18:13:31 +02:00
Stefan Metzmacher
5662166b23 s3:smbd: only set fsp->fh->gen_id for a client connection
For faked connections, like dfs and printing, we leave it as 0.

metze
2012-06-14 18:13:31 +02:00
Stefan Metzmacher
c7c351b817 s3:smbd: try to make fsp->fh->gen_id as globally unique as possible
This makes sure the value is never 0, it's between 1 and UINT32_MAX.

While fsp->fh->gen_id is 'unsigned long' currently (which might by 8 bytes),
there's some oplock code which truncates it to uint32_t (using IVAL()).

Which means we could reuse fsp->fh->gen_id as persistent file id
until we have a final fix, which uses database.

See bug #8995 for more details.

Based on code from Ira Cooper. Ensure fsp->fh->gen_id starts from
a random point. We will use this as the SMB2 persistent_id.

metze
2012-06-14 18:13:31 +02:00
Michael Adam
4c33f28dc2 s3:smbd: explain parameters to filename_convert call in smbd_smb2_create_send()
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Mon Jun 11 19:21:51 CEST 2012 on sn-devel-104
2012-06-11 19:21:51 +02:00
Volker Lendecke
34c24c20c9 s3: Fix Coverity ID 703869 Logically dead code
We "TALLOC_FREE(curr)" and assign prev=curr in the for-loop header.
This will lead to "prev"==NULL always. In this loop, we do not need
to correctly re-shuffle the linked list, we delete all from the
beginning anyway.

Signed-off-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Mon Jun 11 17:26:53 CEST 2012 on sn-devel-104
2012-06-11 17:26:53 +02:00
Volker Lendecke
e1a4d3cdd4 s3: Fix Coverity ID 709049 Dereference before null check
We have dereferenced fsp before. Because smb2 is only handle based,
this is a bogus check.

Signed-off-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Mon Jun 11 15:30:54 CEST 2012 on sn-devel-104
2012-06-11 15:30:54 +02:00
Andrew Bartlett
6aee8021a1 s3-smbd: Remove unused branches in negprot since security=share was removed 2012-06-11 11:44:07 +02:00
Björn Jacke
f97ca7d643 s3: fix build on systems without O_NOFOLLOW 2012-06-10 21:38:08 +02:00
Stefan Metzmacher
c48e307de4 Revert "s3:smbd: set req->smb2req->compat_chain_fsp in file_fsp()"
This reverts commit c2716a7d5ccf78f9716b703c22e6cf4d4f179656.

This is not needed anymore, as we have file_fsp_smb2() now.

metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Sun Jun 10 18:04:21 CEST 2012 on sn-devel-104
2012-06-10 18:04:21 +02:00
Björn Jacke
f75f1d6233 s3: handle non-POSIX compliant Tru64, NetBSD and FreeBSD errno on O_NOFOLLOW symlink open calls
or should we leave the NetBSD and FreeBSD platforms just broken? Actually these
two *want* to have broken platforms as they use different errno's than POSIX
demands *interntionally*. The POSIX errno ELOOP for O_NOFOLLOW open calls on
symlinks is clear and unambiguous. See http://gnats.netbsd.org/43154 for the
interesting NetBSD discussion on that.

Autobuild-User(master): Björn Jacke <bj@sernet.de>
Autobuild-Date(master): Sun Jun 10 16:10:02 CEST 2012 on sn-devel-104
2012-06-10 16:10:01 +02:00
Stefan Metzmacher
046daccba5 s3:smb2_ioctl: make use of file_fsp_smb2()
metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Sun Jun 10 01:10:15 CEST 2012 on sn-devel-104
2012-06-10 01:10:14 +02:00
Stefan Metzmacher
7753a4a01b s3:smb2_lock: make use of file_fsp_smb2()
metze
2012-06-09 21:23:45 +02:00
Stefan Metzmacher
951c5a6455 s3:smb2_write: make use of file_fsp_smb2()
metze
2012-06-09 21:23:45 +02:00
Stefan Metzmacher
564e618e9f s3:smb2_read: make use of file_fsp_smb2()
metze
2012-06-09 21:23:45 +02:00
Stefan Metzmacher
0bf3b8a09c s3:smb2_notify: make use of file_fsp_smb2()
metze
2012-06-09 21:23:44 +02:00
Stefan Metzmacher
26f37cba82 s3:smb2_setinfo: make use of file_fsp_smb2()
metze
2012-06-09 21:23:44 +02:00
Stefan Metzmacher
4bc10b5b72 s3:smb2_getinfo: make use of file_fsp_smb2()
metze
2012-06-09 21:23:44 +02:00
Stefan Metzmacher
4dfadfc61d s3:smb2_find: make use of file_fsp_smb2()
metze
2012-06-09 21:23:44 +02:00
Stefan Metzmacher
3909ad4690 s3:smb2_break: make use of file_fsp_smb2()
metze
2012-06-09 21:23:44 +02:00
Stefan Metzmacher
2bb6a9e07f s3:smb2_close: make use of file_fsp_smb2()
metze
2012-06-09 21:23:44 +02:00
Stefan Metzmacher
9e1e656c60 s3:smb2_flush: make use of file_fsp_smb2()
metze
2012-06-09 21:23:44 +02:00
Stefan Metzmacher
2a804a359a s3:smbd: add file_fsp_smb2()
metze
2012-06-09 21:23:44 +02:00
Stefan Metzmacher
72564052b6 s3:smb2_write: pass fsp->fnum to init_strict_lock_struct()
fsp->fnum is the same as in_file_id_volatile.

When we start to support durable handles we should pass
in_file_id_persistent.

metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Sat Jun  9 18:50:32 CEST 2012 on sn-devel-104
2012-06-09 18:50:32 +02:00
Stefan Metzmacher
0d77585a41 s3:smb2_read: pass fsp->fnum to init_strict_lock_struct()
fsp->fnum is the same as in_file_id_volatile.

When we start to support durable handles we should pass
in_file_id_persistent.

metze
2012-06-09 15:02:47 +02:00
Stefan Metzmacher
4ae96bb952 s3:smb2_lock: use fsp->fnum as locking context
fsp->fnum is the same as in_file_id_volatile.

When we start to support durable handles we should pass
in_file_id_persistent.

metze
2012-06-09 15:02:47 +02:00
Stefan Metzmacher
3b2e5929ec s3:smb2_lock: use smb2req->compat_chain_fsp instead of looking it up again
metze
2012-06-09 15:02:47 +02:00
Stefan Metzmacher
163207a28e s3:smbd: set req->smb2req->compat_chain_fsp in file_fsp()
metze
2012-06-09 15:02:47 +02:00
Stefan Metzmacher
3dbfb25111 s3:smb2_close: add missing TALLOC_FREE(subreq) in smbd_smb2_request_close_done()
metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Sat Jun  9 13:57:31 CEST 2012 on sn-devel-104
2012-06-09 13:57:31 +02:00
Stefan Metzmacher
fc96488c64 s3:smbd: readd START_PROFILE(smbd_idle)/END_PROFILE(smbd_idle)
metze
2012-06-09 12:09:17 +02:00
Michael Adam
8a338c65a1 s3:smbd: change set_file_oplock() to return NTSTATUS
Pair-Programmed-With: Volker Lendecke <vl@samba.org>
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Fri Jun  8 23:20:20 CEST 2012 on sn-devel-104
2012-06-08 23:20:20 +02:00
Volker Lendecke
088ca00b92 s3: Replace an if with a boolean short circuit
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-08 21:29:20 +02:00
Volker Lendecke
a3b4a5d779 s3: Assigning ?True:False to a bool is a bit pointless
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-08 21:29:20 +02:00
Volker Lendecke
4aea0c1fa1 s3: Remove unnecessary ()
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-08 21:29:19 +02:00
Volker Lendecke
a51278067b s3: Replace an if with a boolean short circuit
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-08 21:29:19 +02:00
Volker Lendecke
91be6b42f1 s3: Assigning ?True:False to a bool is a bit pointless
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-08 21:29:19 +02:00
Volker Lendecke
e1e1fbcfe6 s3: Remove unnecessary ()
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-08 21:29:19 +02:00
Michael Adam
41d830ea4f s3:smbd: remove unnecessary variable readret from read_file()
Pair-Programmed-With: Volker Lendecke <vl@samba.org>

Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Fri Jun  8 18:08:09 CEST 2012 on sn-devel-104
2012-06-08 18:08:08 +02:00
Michael Adam
eb750d5458 s3:smbd: remove ancient DMF_FIX from read_file().
Pair-Programmed-With: Volker Lendecke <vl@samba.org>
2012-06-08 16:10:40 +02:00
Michael Adam
4389097294 s3:include: change connection_struct->cnum to uint32_t
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-06-06 19:37:14 +02:00
Michael Adam
ba1699463b s3:smb: introduce a name TID_FIELD_INVALID for the invalid value for a cnum/tid
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-06-06 19:37:14 +02:00
Michael Adam
aa3a7de368 s3:connections: add a CNUM_OFFSET for mapping between cnum and the bitmap index
This moves the start of the range of valid cnum values up from 0 to CNUM_OFFSET
(currently 1), so that in a later step we can use 0 as invalid cnum value
instead of the current -1. This will allow us to change the type of cnum to
uint32_t from a mix of int and unsigned.

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-06-06 19:37:13 +02:00
Stefan Metzmacher
02d9ba6ee1 s3:smbd: change user_struct->vuid to uint64_t
Only sconn->smb1.sessions.next_vuid remains as uint16_t,
so that we do not generate larger values yet.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Jun  6 12:07:33 CEST 2012 on sn-devel-104
2012-06-06 12:07:33 +02:00
Stefan Metzmacher
bb27bb081e s3:smbd: let file_close_pid/file_close_user take a uint64_t vuid
metze
2012-06-06 10:18:41 +02:00
Stefan Metzmacher
7d772064b4 s3:smbd: pass down vuid as uint64_t in lanman.c
metze
2012-06-06 10:18:41 +02:00
Stefan Metzmacher
612838dca8 s3:smbd: pass down vuid as uint64_t in ipc.c
metze
2012-06-06 10:18:41 +02:00
Stefan Metzmacher
d3e79a864d s3:smbd: change vuid to uint64_t in uid.c
metze
2012-06-06 10:18:41 +02:00
Stefan Metzmacher
c535668f7b s3:smbd: let fcb_or_dos_open() take a uint64_t vuid
metze
2012-06-06 10:18:41 +02:00
Stefan Metzmacher
9ffb8f1532 s3:smbd: let close_cnum() take a uint64_t vuid
metze
2012-06-06 10:18:41 +02:00
Stefan Metzmacher
69d1f9b836 s3:smbd: use UID_FIELD_INVALID (0) instead of (uint16)-1 when calling close_cnum()
The only thing that's important is that the value is invalid.

metze
2012-06-06 10:18:41 +02:00
Stefan Metzmacher
2a9a95e673 s3:smbd: let make_connection() take a uint64_t vuid
metze
2012-06-06 10:18:41 +02:00
Stefan Metzmacher
19d05171fa s3:smbd: let conn_clear_vuid_caches() take a uint64_t vuid
metze
2012-06-06 10:18:41 +02:00
Stefan Metzmacher
2477c73b62 s3:smbd: let open_fake_file() take a uint64_t vuid
metze
2012-06-06 10:18:40 +02:00
Stefan Metzmacher
53cd38ebb8 s3:smbd: change conn_ctx->vuid to uint64_t
metze
2012-06-06 10:18:40 +02:00
Stefan Metzmacher
21e6db8f7e s3:smbd: change trans_state->vuid to uint64_t
metze
2012-06-06 10:18:40 +02:00
Stefan Metzmacher
d4aa494654 s3:include: change smb_request->vuid to uint64_t
metze
2012-06-06 10:18:40 +02:00
Stefan Metzmacher
37bfadf4a3 s3:include: change files_struct->vuid to uint64_t
metze
2012-06-06 10:18:40 +02:00
Stefan Metzmacher
bc39915f47 s3:smbd: move struct user_struct to globals.h
metze
2012-06-06 10:18:39 +02:00
Stefan Metzmacher
f52e5738a2 s3:smbd: use 'struct user_struct' instead of typedef'ed 'user_struct'
metze
2012-06-06 10:18:39 +02:00
Stefan Metzmacher
9e2e3708aa s3:smbd: move forward declaration of struct aio_extra to smbd.h
metze
2012-06-06 10:18:39 +02:00
Stefan Metzmacher
9b5c2ca14c s3:include: move some prototypes (e.g. smb_register_vfs) to vfs.h
These are called from vfs modules, which should not depend on smbd/proto.h

metze
2012-06-06 10:18:38 +02:00
Stefan Metzmacher
5306c18f2c s3:smbd: move UCF_ defines to smbd.h
metze
2012-06-06 10:18:38 +02:00
Stefan Metzmacher
5fc502c624 s3:include: move struct connection_struct (and sub structs) to vfs.h
metze
2012-06-06 10:18:38 +02:00
Stefan Metzmacher
44482ad452 s3:smbd: move struct trans_state to smbd.h
metze
2012-06-06 10:18:38 +02:00
Stefan Metzmacher
ce41497769 s3:smbd: move struct privilege_paths to smbd.h
metze
2012-06-06 10:18:37 +02:00
Stefan Metzmacher
659f3e681e s3:smbd: make struct notify_change_buf private to notify.c
metze
2012-06-06 10:18:37 +02:00
Stefan Metzmacher
b5b943dbad s3:smbd: make use of change_notify_fsp_has_changes()
metze
2012-06-06 10:18:37 +02:00
Stefan Metzmacher
dc962c195e s3:smbd: add change_notify_fsp_has_changes()
metze
2012-06-06 10:18:37 +02:00
Stefan Metzmacher
e91c223531 s3:smbd: use print_spool_rap_jobid() in call_trans2ioctl()
metze
2012-06-06 10:18:37 +02:00
Stefan Metzmacher
c2ffe330b4 s3:smbd: use print_spool_rap_jobid() in reply_ioctl()
metze
2012-06-06 10:18:37 +02:00
Stefan Metzmacher
145fe2ac4c s3:smbd: fcb_or_dos_open() can be static
metze
2012-06-06 10:18:37 +02:00
Stefan Metzmacher
0907b1e20c s3:smbd: dup_file_fsp() never gets called for print files
metze
2012-06-06 10:18:37 +02:00
Stefan Metzmacher
cf549ff2bc s3:smbd: make struct vfs_fsp_data private to vfs.c
metze
2012-06-06 10:18:37 +02:00
Stefan Metzmacher
4321e19657 s3:smbd: make use of vfs_remove_all_fsp_extensions() in file_free()
metze
2012-06-06 10:18:37 +02:00
Stefan Metzmacher
cd3e658d82 s3:smbd: add vfs_remove_all_fsp_extensions()
metze
2012-06-06 10:18:36 +02:00
Stefan Metzmacher
05dc497637 s3:smbd: remove typedef for struct write_cache
metze
2012-06-06 10:18:36 +02:00
Stefan Metzmacher
4a91321f3a s3:smbd: make typedef write_cache private to fileio.c
metze
2012-06-06 10:18:36 +02:00
Andrew Bartlett
d2f6d0ba1e build: Rationalise AIO support in configure, ensure on by default
With this change, the define to check for AIO is HAVE_AIO, consistant
with other subsystems.

It is now also on by default in the autoconf build, as it has been for waf.

Andrew Bartlett
2012-06-06 08:23:10 +02:00
Stefan Metzmacher
8693a4fff9 s3:lib: split things into a conn_tdb.h
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Tue Jun  5 19:28:35 CEST 2012 on sn-devel-104
2012-06-05 19:28:35 +02:00
Andrew Bartlett
9db04c481d s3-smbd: Remove support for protocols before LANMAN1
This falls out of the removal of security=share, because we now require that
a session setup has been performed before (essentially) all other operations.

Andrew Bartlett
2012-06-05 04:27:36 +02:00
Jeremy Allison
4accd2396e Fix bug #8972 - Directory group write permission bit is set if unix extensions are enabled
We can't manipulate file_attributes if it's a posix call. I'll look
at adding a test for this asap.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Tue Jun  5 04:26:11 CEST 2012 on sn-devel-104
2012-06-05 04:26:10 +02:00
Stefan Metzmacher
9c80b91d8f s3:smbd: make conn_close_all() a void function
metze
2012-06-03 21:33:10 +02:00
Stefan Metzmacher
abcd095847 s3:smbd/close: call del_share_mode() directly before TALLOC_FREE(lck)
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Sun Jun  3 21:08:19 CEST 2012 on sn-devel-104
2012-06-03 21:08:19 +02:00
Stefan Metzmacher
f66d88d10a s3:smbd/close: remove unused goto out from close_directory()
metze
2012-06-03 17:23:28 +02:00
Stefan Metzmacher
8751c3f2ef s3:smbd/close: do an early return in close_directory()
metze
2012-06-03 17:23:28 +02:00
Stefan Metzmacher
d792f59aeb s3: Fix an assert to trigger in close_remove_share_mode
In case we have a left-over entry in the share mode entry array,
the SMB_ASSERT(got_tokens) is likely to kick in. It happens when
we are about to delete a file with initial delete on close. We don't
have a delete on close token set in the locking.tdb record. We see
the fsp->initial_delete_on_close set, add the delete_on_close token
to lck. Then "delete_file" is being set to true. Then later on we
do the notify_deferred_opens. This walks the list, also checking
for share_mode_stale_pid. We have already deleted our own share
mode entry, share_mode_stale_pid() sees the left-over entry. It not
also deletes that one but also the delete on close token. This leads
to a different view of "delete_file" a.k.a. "got_tokens" further
down in close_remove_share_mode, leading the SMB_ASSERT to fire.

This patch attempts to fix the issue by keeping around our own share
mode entry for almost the whole routine, preventing share_mode_stale_pid()
from removing the delete tokens.

Pair-Programmed-With: Volker Lendecke <vl@samba.org>
2012-06-03 17:23:28 +02:00
Volker Lendecke
b9e11bd63e s3: Do an early return in close_remove_share_mode
Without "lck" we don't have much to clean up

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03 17:23:28 +02:00
Volker Lendecke
2e95b77c99 s3: Make close_remove_share_mode a bit more readable
by introducing a variable simplifying a boolean expression

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03 17:23:28 +02:00
Volker Lendecke
8541829a9a s3: Slightly simplify close_remove_share_mode
Remove a level of indentation by more use of "continue;"

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-03 17:23:28 +02:00
Stefan Metzmacher
8486d514f5 s3:smbd/close: avoid procid_is_me()
metze
2012-06-03 17:23:28 +02:00
Stefan Metzmacher
85e6dcf49c s3:smbd/open: avoid procid_is_me()
metze
2012-06-03 17:23:27 +02:00
Stefan Metzmacher
9dba59d026 s3:smbd/oplock: avoid procid_is_me()
metze
2012-06-03 17:23:27 +02:00
Jeremy Allison
8fd02fa2d6 Forward port of Richard Sharpe's <realrichardsharpe@gmail.com> fix for bug #8970 - Possible memory leaks in the samba master process. 2012-05-31 16:08:44 -07:00
Jeremy Allison
f6e41026f8 We are triggering the cleanup_timeout_fn() too often, on exiting when an smbd is idle.
Calls to exit_server_cleanly() should be treated as a "clean" shutdown,
and not trigger the master smbd to call cleanup_timeout_fn.
2012-05-31 12:35:04 -07:00
Stefan Metzmacher
6718747268 s3:smbd: use server_messaging_context() instead of sconn->msg_ctx in exit_server_common()
sconn is not available in the parent anymore.

Thanks to Volker Lendecke <vl@samba.org> for finding this!

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu May 31 18:08:06 CEST 2012 on sn-devel-104
2012-05-31 18:08:05 +02:00
Volker Lendecke
835e25e3b4 s3: Fix some 64-bit warnings
Signed-off-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu May 31 10:06:56 CEST 2012 on sn-devel-104
2012-05-31 10:06:56 +02:00
Jeremy Allison
5d1a8d2a31 Stop spamming the logs with "Could not remove pid XX from serverid.tdb" messages and initiating the cleanup function on every process death.
We now have many sub-processes from smbd that don't serve SMB1/SMB2 requests and
don't register themselves in the serverid.tdb. Only initiate the cleanup
from processes that were explicitly in the child list.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Thu May 31 04:44:09 CEST 2012 on sn-devel-104
2012-05-31 04:44:09 +02:00
Andrew Bartlett
9f4b6fa0cc s3-param: Use same function name for "max xmit" as lib/param
Again, this helps with merging the FN_ list.

Andrew Bartlett
2012-05-30 04:15:12 +02:00
Stefan Metzmacher
cee146ff7c s3:smb2_ioctl: verify credit charge
Based on a patch from Christian Ambach <ambi@samba.org>.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Tue May 29 18:55:29 CEST 2012 on sn-devel-104
2012-05-29 18:55:29 +02:00
Stefan Metzmacher
8b4e677720 s3:smb2_ioctl: add more validation checks
metze
2012-05-29 17:02:13 +02:00
Stefan Metzmacher
4ac57a3c96 s3:smb2_ioctl: add some more validation checks
Based on a patch from Christian Ambach <ambi@samba.org>.

metze
2012-05-29 17:02:13 +02:00
Christian Ambach
aa7cd05e5b s3:smbd/smb2_find add a debug message
like the ones in the other calls that check for max sizes

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-29 10:45:32 +02:00
Christian Ambach
1bd3c0aefb s3:smbd/smb2_getinfo add a debug message
like the ones in the other calls that check for max sizes

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-29 10:45:22 +02:00
Christian Ambach
f94d3d17e8 s3:smbd/smb2_setinfo add a debug message
similar to the ones present in other paths

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-29 10:44:55 +02:00
Christian Ambach
ac6417dfc6 s3:smbd/smb2_read improve debug message
make the message similar to the ones in other paths

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-29 10:44:42 +02:00
Stefan Metzmacher
abf566ca99 s3:smbd: fix reply_open_pipe_and_X() to behave like windows (2008 R2)
See rpc.samba3.smb1-pipe-name.

metze
2012-05-28 19:51:59 +02:00
Stefan Metzmacher
e262db6c31 s3:smbd: only strip \\ off the name if present (for ntcreatex)
metze
2012-05-28 19:51:58 +02:00
Stefan Metzmacher
98c14ca61c s3:smb2_create: do not remove leading backslash from pipe names
metze
2012-05-28 19:51:57 +02:00
Jeremy Allison
50fdb32a4d Ensure we only return NT_STATUS_DELETE_PENDING if the share modes are valid.
Ensure we only return *file_existed = true if there were valid share modes.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:38 -07:00
Volker Lendecke
89cf7ea944 s3: Check for serverid_exists in close_directory
Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:38 -07:00
Volker Lendecke
bdc4404ef9 s3: Check for serverid_exists in close_remove_share_mode
Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:38 -07:00
Volker Lendecke
1b15d8b3da s3: Check for serverid_exists in find_oplock_types
Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:38 -07:00
Volker Lendecke
e2818d4a0b s3: Check for serverid_exists in smb_posix_unlink
Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:38 -07:00
Volker Lendecke
fdcca54ca3 s3: Check for serverid_exists in open_mode_check
Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:37 -07:00
Volker Lendecke
19b6671c07 s3: Check for serverid_exists in notify_deferred_opens
We will remove the check in parse_share_modes soon

Signed-off-by: Jeremy Allison <jra@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-05-25 09:19:37 -07:00
Stefan Metzmacher
e17fa58d6e s3:smbd: move global smbd_msg_state to smbXsrv_connection
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri May 25 11:01:27 CEST 2012 on sn-devel-104
2012-05-25 11:01:27 +02:00
Stefan Metzmacher
167cccbc19 s3:smbd: move global koplocks to smbd_server_connection
metze
2012-05-25 09:05:35 +02:00
Stefan Metzmacher
3a66ee1ae5 s3:smbd: pass smbd_server_connection to should_notify_deferred_opens()
metze
2012-05-25 09:05:34 +02:00
Stefan Metzmacher
469a2c8e7c s3:smbd: move global oplocks vars to smbd_server_connection
metze
2012-05-25 09:05:34 +02:00
Stefan Metzmacher
2f435bb61a s3:smbd: remove unused get_number_of_exclusive_open_oplocks()
metze
2012-05-25 09:05:33 +02:00
Stefan Metzmacher
64ddb66884 s3:smbd/signing: use smbd_server_connection as talloc parent for its smb1 signing state
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri May 25 00:23:53 CEST 2012 on sn-devel-104
2012-05-25 00:23:53 +02:00
Stefan Metzmacher
b5e9ece1f3 s3:smbd: remove global 'smbd_server_conn' !!!
For now we still use a global 'global_smbXsrv_connection'
in order to pass the connection state to exit_server*().

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu May 24 20:07:20 CEST 2012 on sn-devel-104
2012-05-24 20:07:20 +02:00
Stefan Metzmacher
288a75d8dc s3:smbd: only call file_init_global() in the parent smbd
metze
2012-05-24 18:16:37 +02:00
Stefan Metzmacher
9e45885fcc s3:smbd/files: split file_init_global() out of file_init()
metze
2012-05-24 18:16:37 +02:00
Stefan Metzmacher
48e62f2d46 s3:smbd: remove unused var in smbXsrv_connection_init_tables()
metze
2012-05-24 18:16:37 +02:00
Stefan Metzmacher
a95b2ba043 s3:smbd/msdfs: pass allow_broken_path to resolve_dfspath_wcard()
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu May 24 16:14:01 CEST 2012 on sn-devel-104
2012-05-24 16:14:01 +02:00
Stefan Metzmacher
758d61201f s3:smbd/msdfs: pass 'allow_broken_path' to get_referred_path()
Note the DCERPC code should not be smb2 specific!

I wonder why this is at all smb2 specific...

metze
2012-05-24 14:12:32 +02:00
Stefan Metzmacher
a92f7176bd s3:smbd/msdfs: let create_conn_struct() also fake the 'smbd_server_connection'
metze
2012-05-24 14:12:32 +02:00
Stefan Metzmacher
0733183594 s3:smbd/files: work without sconn->file_bmap and assign fsp->fnum = -1
For faked connection_structs we do not need valid fnum values,
e.g. in the dfs and printing code.

metze
2012-05-24 14:12:32 +02:00
Stefan Metzmacher
768004b11d s3:smbd/files: fix error path and correctly cleanup
metze
2012-05-24 14:12:32 +02:00
Stefan Metzmacher
aa7b1e21a8 s3:smbd/proto.h: remove unused resolve_dfspath() prototype
metze
2012-05-23 20:03:10 +02:00
Stefan Metzmacher
97f0a3675f s3:smbd/files: remove unused VALID_FNUM()
metze
2012-05-23 20:03:09 +02:00
Stefan Metzmacher
a0c9a291e7 s3:smb2_server: make use of nt_status_np_pipe()
metze
2012-05-23 20:03:09 +02:00
Stefan Metzmacher
d595d2e5af s3:smbd: use nt_status_np_pipe for smb1
metze
2012-05-23 20:03:08 +02:00
Stefan Metzmacher
d869f0260c s3:smbd: add nt_status_np_pipe()
This mapps between NT_STATUS_CONNECTION_* to NT_STATUS_PIPE_*

metze
2012-05-23 20:03:08 +02:00
Stefan Metzmacher
37866df4ee s3:smbd: use reply_force_doserror(req, ERRSRV, ERRbaduid) on SMBulogoff
We don't support security = share anymore, so we should always have
a valid session.

Found by the raw.context test.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed May 23 12:47:37 CEST 2012 on sn-devel-104
2012-05-23 12:47:37 +02:00
Michael Adam
f9e4105f41 s3:smbd: remove unused 'connection_struct->used'
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Tue May 22 16:42:22 CEST 2012 on sn-devel-104
2012-05-22 16:42:22 +02:00
Stefan Metzmacher
ce11eb5b94 s3:smb2_ioctl: Fix Coverity ID 701771 Uninitialized scalar variable
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Mon May 21 19:27:44 CEST 2012 on sn-devel-104
2012-05-21 19:27:43 +02:00
Jeremy Allison
32cbf20e65 Move the set_write_time() call to after get_existing_share_mode_lock() returns with a share mode.
get_existing_share_mode_lock() isn't really the right
call here, as we're being called after
close_remove_share_mode() inside close_normal_file()
so it's quite normal to not have an existing share
mode here. However, get_share_mode_lock() doesn't
work because that will create a new share mode if
one doesn't exist - so stick with this call (just
ignore any error we get if the share mode doesn't
exist.

The previous commit raised the error message debug
level inside get_share_mode_lock_internal() so
we don't always get a level 1 error message if
get_existing_share_mode_lock() fails.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Sat May 19 06:26:33 CEST 2012 on sn-devel-104
2012-05-19 06:26:33 +02:00
Stefan Metzmacher
d58f7cd546 s3:smbd: allow creating new spnego sessions only with a 0 vuid
Found by the raw.context test.

metze
2012-05-18 16:36:16 +02:00
Stefan Metzmacher
84ce4484e7 s3:smbd: SMBtdis should return ERRSRV, ERRinvnid instead of NETWORK_NAME_DELETED
Found by the raw.context test.

metze
2012-05-18 16:36:16 +02:00
Volker Lendecke
f5ca3f11e4 s3: Revert the serverid changes, they need more work
Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Fri May 18 13:12:14 CEST 2012 on sn-devel-104
2012-05-18 13:12:14 +02:00
Volker Lendecke
182faceab2 s3: Check for serverid_exists in close_directory
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 13:17:22 -07:00
Volker Lendecke
2db3ecbc95 s3: Check for serverid_exists in close_remove_share_mode
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 13:17:22 -07:00
Volker Lendecke
49237b0cef s3: Check for serverid_exists in find_oplock_types
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 13:17:22 -07:00
Volker Lendecke
5017bbe70d s3: Check for serverid_exists in smb_posix_unlink
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 13:17:22 -07:00
Volker Lendecke
4962ab2aa8 s3: Check for serverid_exists in open_mode_check
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 13:17:21 -07:00
Volker Lendecke
689a04bc6c s3: Check for serverid_exists in notify_deferred_opens
We will remove the check in parse_share_modes soon

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 13:17:21 -07:00
Stefan Metzmacher
ff700acdd0 s3:smb2_sesssetup: make use of nt_status_squash() in smbd_smb2_session_setup_recv()
metze
2012-05-17 12:59:08 +02:00
Andrew Bartlett
6bafb4ac25 s3-smbd: Avoid creating a UID ACL entry for SIDs that are mapped as ID_TYPE_BOTH The GID ACL entry is what will be mapped in most cases, and so is sufficient.
Andrew Bartlett

Signed-off-by: Jeremy Allison <jra@samba.org>

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu May 17 05:08:44 CEST 2012 on sn-devel-104
2012-05-17 05:08:44 +02:00
Andrew Bartlett
f38638d451 s3-smbd: Consider a group with the same SID as sufficient duplication
This code is to ensure that the user does not loose rights when their file
ownership is taken away.  If the owner (an IDMAP_BOTH SID) appears as a group
then a duplicate user is not required.

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 03:17:05 +02:00
Andrew Bartlett
5b1c42228b s3-smbd: Handle ID_TYPE_BOTH by mapping to both a group ACL entry and file ownership This will allow groups, such as domain administrators, to own files while correctly handling the rest of the ACL permissions.
Andrew Bartlett

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 03:17:05 +02:00
Andrew Bartlett
367a644c4d We need to split things up into a new helper function add_current_ace_to_acl() in order for there to be more posix ACL elements than NT ACL elements (so a group SID can own a file, but also get the group permissions that will be honoured)
Andrew Bartlett

Slightly modified by Jeremy to reduce diff size.

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 03:17:05 +02:00
Jeremy Allison
173f818a29 This covers a case where an ID_TYPE_BOTH mapping creates group permissions, but must own the file. Based on an original patch by Andrew Bartlett. 2012-05-17 03:17:05 +02:00
Andrew Bartlett
59106473d3 s3-smbd: Do not merge UID ACE values with GID ACE values for posix ACL
This might happen when we get a SID mapped to IDMAP_BOTH.

Andrew Bartlett

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-05-17 03:17:05 +02:00
Stefan Metzmacher
70be41c772 s3:onefs: remove all onefs related code as it not maintained anymore
See https://lists.samba.org/archive/samba-technical/2012-May/083631.html
for the discussion.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed May 16 11:23:05 CEST 2012 on sn-devel-104
2012-05-16 11:23:04 +02:00
Volker Lendecke
c562a534c8 s3: Fix a likely cut&paste error 2012-05-15 16:18:50 +02:00
Andreas Schneider
78af4738e7 s3-auth: Rename to init_system_session_info().
Autobuild-User: Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date: Tue May 15 13:56:00 CEST 2012 on sn-devel-104
2012-05-15 13:56:00 +02:00
Stefan Metzmacher
e7e67962c7 s3:smb2_close: make the top level code async using
metze
2012-05-14 15:12:33 +02:00
Stefan Metzmacher
b8d999ce84 s3:smb2_close: add add smbd_smb2_close_send/recv as wrapper
metze
2012-05-14 15:12:33 +02:00
Stefan Metzmacher
643e648ed0 s3:smb2_close: don't do any marshalling in smbd_smb2_close() let the caller to it
metze
2012-05-14 15:12:33 +02:00
Stefan Metzmacher
302f767fb7 s3:smb2_tcon: make the top level code async using
metze
2012-05-14 15:12:33 +02:00
Stefan Metzmacher
b19a9dbb5b s3:smb2_tcon: add smbd_smb2_tree_connect_send/recv as wrapper
metze
2012-05-14 15:12:33 +02:00
Volker Lendecke
87542e1310 s3: Make SMB_QUERY_FILE_UNIX_BASIC's devno work for files
According to susv3, st_rdev is valid exactly for char and block devices. Normal
files have st_dev set.
2012-05-14 13:16:32 +02:00
Stefan Metzmacher
8f887ce164 s3:smb2_sesssetup: make the top level code async using
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Sun May 13 17:59:39 CEST 2012 on sn-devel-104
2012-05-13 17:59:39 +02:00
Stefan Metzmacher
1b8645b4c8 s3:smb2_sesssetup: add smbd_smb2_session_setup_send/recv as wrapper
This just adds smbd_smb2_session_setup_send/recv as wrapper to
the sync smbd_smb2_session_setup function.

This will allow us to change to top level code to work async,
then we can have a 2nd step where we remove the sync
smbd_smb2_session_setup function.

metze
2012-05-13 14:11:02 +02:00
Stefan Metzmacher
70ac2cc831 s3:smb2_sesssetup: pass down in_flags to smbd_smb2_session_setup()
metze
2012-05-13 14:11:01 +02:00
Stefan Metzmacher
7b359bc615 s3:smb2_sesssetup: pass down in_previous_session_id to all layers
metze
2012-05-13 14:11:00 +02:00
Stefan Metzmacher
212e805507 s3:smb2_ioctl: implement FSCTL_VALIDATE_NEGOTIATE_INFO
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Sat May 12 02:50:42 CEST 2012 on sn-devel-104
2012-05-12 02:50:42 +02:00
Stefan Metzmacher
8963930974 s3:smb2_ioctl: implement FSCTL_VALIDATE_NEGOTIATE_INFO_224
metze
2012-05-12 01:01:35 +02:00
Stefan Metzmacher
b3235d483d s3:smbd: introduce struct smbXsrv_connection
This will represent a transport connection for SMB 1 or 2
in the server. smbd_server_connection will slowly be moved
to the SMB_VFS layer to satisfy the existing modules,
but it will hopefully be protocol independend in future.

metze
2012-05-12 01:01:34 +02:00
Stefan Metzmacher
c8a3c0e0f7 s3:smb2_negprot: setup the protocol at the end of the negprot with a real dialect
metze
2012-05-12 01:01:34 +02:00
Stefan Metzmacher
c11c4df762 s3:smb2_ioctl: allow functions to disconnect the smb connection
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri May 11 20:15:37 CEST 2012 on sn-devel-104
2012-05-11 20:15:37 +02:00
Stefan Metzmacher
739bd25fe0 s3:smb2_ioctl: FSCTL_SRV_ENUMERATE_SNAPSHOTS is handles in SMB_VFS_FSCTL()
metze
2012-05-11 18:19:51 +02:00
Stefan Metzmacher
5e998b805f s3:smb2_ioctl: call SMB_VFS_FSCTL() as fallback for non SMB2 specific functions
metze
2012-05-11 18:19:50 +02:00
Andrew Bartlett
d46ddfa748 s3-smbd: Fix the creation of duplicate SMB_ACL_GROUP entries
The issue was a simple copy and paste bug, which casued a duplicate SMB_ACL_GROUP
to be added when we already had one.

Andrew Bartlett

Signed-off-by: Jeremy Allison <jra@samba.org>

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed May  9 13:17:29 CEST 2012 on sn-devel-104
2012-05-09 13:17:28 +02:00
Christian Ambach
09494ed613 s3:smbd fix some compiler warnings 2012-05-08 22:37:05 +02:00
Andrew Bartlett
859aa43f73 s3-python: Add python bindings for posix ACL layer
This will allow us to check that posix ACLs work in the s4 provision, and avoid
--use-s3fs if they do not.

Andrew Bartlett
2012-05-08 04:51:59 +02:00
Stefan Metzmacher
1512ec7772 s3:smb2_negprot: add support for PROTOCOL_SMB3_00
metze
2012-05-06 14:50:39 +02:00
Michael Adam
b954d88dbe s3:smbd: comment the lp_load call in reload_services() 2012-05-05 02:22:00 +02:00
Volker Lendecke
4b59023123 s3: Remove an unused extern declaration 2012-05-04 18:44:29 +02:00
Volker Lendecke
7ae716663a s3: Remove an unused parameter from check_parent_access() 2012-05-04 18:44:29 +02:00
Volker Lendecke
d12fa60ef8 s3: In mkdir_internal, don't retrieve parent_dir from check_parent_access
We have already created that ourselves a few lines above
2012-05-04 18:44:29 +02:00
Volker Lendecke
e1bf9ccffd s3: Fix a typo 2012-05-04 15:02:41 +02:00
Andrew Bartlett
221c0e479d s3-smbd: Use security_session_user_level() rather than nt_token_check_sid()
This allows the unix.whoami test to pass when configured as part of the AD DC.

The struct auth_session_info is slightly different in the AD DC configuration
when using auth_samba4.  In particular, there is a distinction between Guest
and Anonymous logins.

Andrew Bartlett
2012-05-02 01:00:12 +02:00
Richard Sharpe
0dc3f423d2 Add an audit file VFS routine so we can handle auditing with SACLs.
Autobuild-User: Richard Sharpe <sharpe@samba.org>
Autobuild-Date: Sat Apr 28 08:05:00 CEST 2012 on sn-devel-104
2012-04-28 08:05:00 +02:00
Volker Lendecke
54a6d7b3b8 s3: oplock_timeout is a talloc child of fsp
Jeremy, I know you like it explicit, but I stumbled across this
explicit TALLOC_FREE and asked myself about a potentially wrong
talloc hierarchy.

Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Thu Apr 26 23:00:03 CEST 2012 on sn-devel-104
2012-04-26 23:00:03 +02:00
Volker Lendecke
21985a7f10 s3: Remove code TALLOC_FREE already does 2012-04-26 21:26:27 +02:00
Volker Lendecke
2d01099acc s3: Simplify check_reduced_name a bit
It's pointless to do a talloc_asprintf with a SMB_STRDUP on the
result. Use asprintf directly.

Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Tue Apr 24 18:18:05 CEST 2012 on sn-devel-104
2012-04-24 18:18:05 +02:00
Volker Lendecke
d1d0f1d11d s3: Fix a typo 2012-04-24 16:44:26 +02:00
Volker Lendecke
1267ced693 s3: Introduce variable "indyniov" for easier reading 2012-04-24 16:44:26 +02:00
Jeremy Allison
5b5b696c1e Fix bug #8882 - Broken processing of %U with vfs_full_audit when force user is set.
When doing a "force user" we need to remember what the "sanitized_username"
was from the original connect.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Mon Apr 23 19:52:19 CEST 2012 on sn-devel-104
2012-04-23 19:52:19 +02:00
Michael Adam
499e7372be s3:id_cache: do not use the in-memory idmap cache (it is going to be removed)
This also removes the ID_CACHE_FLUSH message.
2012-04-20 23:17:36 +02:00
Volker Lendecke
8173331150 s3: Fix Coverity ID 2747: FORWARD_NULL
For the notify cleanup process we have a notify context without a
messaging entry. We will never call notify_add/remove for this, but
the code should protect against this.
2012-04-19 17:37:37 +02:00
Volker Lendecke
ee8d55622f s3: Fix Coverity ID 2749: REVERSE_INULL 2012-04-19 17:37:37 +02:00
Jeremy Allison
124be4cf88 Ensure we have 12 bytes of data for a SMB_SET_CIFS_UNIX_INFO call. Add debug. 2012-04-18 12:38:52 -07:00
Andrew Bartlett
338e5a1d35 s3-dbwrap: push lp_ctx up another layer in the stack
This will allow db_open_tdb() to be called from common code, which may
already have a loadparm context loaded.

It also slowly moves the lp_ctx up the stack, as required to remove
the library loop between smbconf and the registry.

Andrew Bartlett
2012-04-18 12:04:59 +10:00
Volker Lendecke
843432d56f s3: New notify implementation
From notify_internal.c:

        /*
         * The notify database is split up into two databases: One
         * relatively static index db and the real notify db with the
         * volatile entries.
         */

This change is necessary to make notify scale better in a cluster
2012-04-17 10:21:02 +02:00
Volker Lendecke
d2fe0bf776 s3: Increase debuglevel for unknown child msgs
Now that we have forked background jobs, this spams log.smbd
2012-04-17 10:21:00 +02:00
Stefan Metzmacher
1e7f8d5ad0 s3:smbd/sesssetup: use a helper variable 'action' to mark guest access
metze
2012-04-16 10:39:50 +02:00
Andrew Bartlett
0eacc47622 param: Change from _lp to lp__ as the prefix for internal parameter wrappers
This will make a merge with the lib/param param code easier, as we can then paste lp_ to the front of
all parameters unconditionally.

Andrew Bartlett
2012-04-16 14:32:38 +10:00
Adrian Bunk
55cbf7ba34 rely on sys/inotify.h for inotify
sys/inotify.h was added to glibc 2.4 in 2006.

Signed-off-by: Jeremy Allison <jra@samba.org>

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Fri Apr 13 21:15:00 CEST 2012 on sn-devel-104
2012-04-13 21:15:00 +02:00
Jeremy Allison
da786cddd6 We never cancel SMB1 aio, only SMB2 aio - and in this case we always return a value.
So pass_cancel is no longer needed.
2012-04-12 15:11:22 -07:00
Jeremy Allison
d399af30c1 Remove cancel_aio_by_fsp(). It can never work and could lead to memory corruption
as outstanding IO's complete. Also we never have any aio's on a call to close_normal_file()
with close_type ERROR_CLOSE.
2012-04-12 15:06:59 -07:00
Jeremy Allison
95839102ad Move the counting of outstanding_aio_calls into the lifecycle of the aio_extra struct.
This way we can't end up with a mismatch between outstanding events and the counter.

We may still have problems with canceling and not correctly freeing the aio
struct, but at least the counter won't get out of sync anymore.
2012-04-12 15:06:58 -07:00
Volker Lendecke
6742aa1fb6 s3: Fix a segfault with debug level 3 on Solaris
printf can not deal with NULL strings
2012-04-12 21:49:32 +02:00
Christian Ambach
2927ca3670 s3:smbd only care about missing level2 support if kernel oplocks are enabled
if kernel oplocks are not enabled for that share, we can grant level2 oplocks

Signed-off-by: Jeremy Allison <jra@samba.org>

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Apr 11 22:45:21 CEST 2012 on sn-devel-104
2012-04-11 22:45:21 +02:00
Christian Ambach
fbfbc6a252 s3:smbd only initialize kernel oplocks if they are enabled for a share
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-04-11 11:11:40 -07:00
Christian Ambach
1d9a3d488d s3:smbd add seperate function to initialize kernel oplocks
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-04-11 11:11:39 -07:00
Christian Ambach
2a36408d40 s3:param convert kernel oplocks to share parameter
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-04-11 11:11:39 -07:00
Volker Lendecke
3cca094514 s3: Use talloc_get_size instead of strlen
We've just talloc_asprintf'ed the fullpath, so talloc_get_size knows the
strlen.

Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Tue Apr 10 13:20:22 CEST 2012 on sn-devel-104
2012-04-10 13:20:22 +02:00
Volker Lendecke
eff36099c1 s3: Move the aio signal init to the vfs module
On platforms that don't have an RT signal space, signal initialization
fails. aio_fork and aio_pthread don't need the signal, so this would
block them from running as well.
2012-04-09 18:04:55 +02:00
Andrew Bartlett
6aa12fcb30 build: Remove SMB_OFF_T, replace with off_t
Now that we always require a 64 bit off_t, we no longer need SMB_OFF_T.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Apr  6 01:47:43 CEST 2012 on sn-devel-104
2012-04-06 01:47:43 +02:00
Andrew Bartlett
19eee33d82 s3-vfs: Remove unused lremovexattr call from VFS modules, system.c and configure
If this is ever needed again, it would be more appropriate as an options argument
to removexattr.

Andrew Bartlett
2012-04-05 13:39:01 +10:00
Andrew Bartlett
c70ac29c54 s3-vfs: Remove unused lsetxattr call from VFS modules, system.c and configure
If this is ever needed again, it would be more appropriate as an options argument
to listxattr.

Andrew Bartlett
2012-04-05 13:39:00 +10:00
Andrew Bartlett
c5b17c5555 s3-vfs: Remove unused llistxattr call from VFS modules, system.c and configure
If this is ever needed again, it would be more appropriate as an options argument
to listxattr.

Andrew Bartlett
2012-04-05 13:39:00 +10:00
Andrew Bartlett
b2f7cfa848 s3-vfs: Remove unused lgetxattr call from VFS modules, system.c and configure 2012-04-05 13:39:00 +10:00
Andrew Bartlett
1ac7f071ce build: Remove SMB_F* locking defines 2012-04-05 02:39:09 +02:00
Andrew Bartlett
f6e0532024 build: Remove SMB_STRUCT_DIR define 2012-04-05 02:39:09 +02:00
Andrew Bartlett
2320b2144f build: Remove SMB_STRUCT_DIRENT define 2012-04-05 02:39:09 +02:00
Andrew Bartlett
b74fe73a6f build: Remove sys_fopen wrapper 2012-04-05 02:39:08 +02:00
Andrew Bartlett
d166b79852 build: Remove sys_open wrapper 2012-04-05 02:39:08 +02:00