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

209 Commits

Author SHA1 Message Date
Andrew Bartlett
b8815dc23d lib/param: Create a seperate server role for "active directory domain controller"
This will allow us to detect from the smb.conf if this is a Samba4 AD
DC which will allow smarter handling of (for example) accidentially
starting smbd rather than samba.

To cope with upgrades from existing Samba4 installs, 'domain
controller' is a synonym of 'active directory domain controller' and
new parameters 'classic primary domain controller' and 'classic backup
domain controller' are added.

Andrew Bartlett
2012-06-15 09:18:33 +02:00
Alexander Bokovoy
2ddf89a2bc Introduce system MIT krb5 build with --with-system-mitkrb5 option.
System MIT krb5 build also enabled by specifying --without-ad-dc

When --with-system-mitkrb5 (or --withou-ad-dc) option is passed to top level
configure in WAF build we are trying to detect and use system-wide MIT krb5
libraries. As result, Samba 4 DC functionality will be disabled due to the fact
that it is currently impossible to implement embedded KDC server with MIT krb5.

Thus, --with-system-mitkrb5/--without-ad-dc build will only produce
  * Samba 4 client libraries and their Python bindings
  * Samba 3 server (smbd, nmbd, winbindd from source3/)
  * Samba 3 client libraries

In addition, Samba 4 DC server-specific tests will not be compiled into smbtorture.
This in particular affects spoolss_win, spoolss_notify, and remote_pac rpc tests.
2012-05-23 17:51:50 +03:00
Stefan Metzmacher
49dbd38047 s4:smb_server/smb: only create a new session with vuid == 0
metze
2012-05-09 01:02:16 +02:00
Andreas Schneider
dba2ed9ac1 s4-smb2: Fix a talloc crash bug.
The talloc context needs to be initialzed or NULL. So move
talloc_steal() to the position where req is initialized.

Autobuild-User: Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date: Wed Apr 11 15:59:39 CEST 2012 on sn-devel-104
2012-04-11 15:59:39 +02:00
Stefan Metzmacher
c7a3b8ae21 s4:smb_server/smb2: add missing 'return;' statements in smb2srv_chain_reply()
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Mon Apr  2 23:02:53 CEST 2012 on sn-devel-104
2012-04-02 23:02:52 +02:00
Stefan Metzmacher
d72641ef76 s4:smb_server/smb2: after smbsrv_terminate_connection() we have to return
req is a talloc child of the connection...

metze
2012-04-02 21:26:08 +02:00
Stefan Metzmacher
e01d6f4af0 s4:smb_server/smb2: fix memory leak in smb2srv_chain_reply()
metze
2012-04-02 21:26:08 +02:00
Stefan Metzmacher
dca4e6eb6e s4:smb_server/smb2: use helper variable smb2srv_chain_reply()
metze
2012-04-02 21:26:08 +02:00
Andrew Bartlett
56e760f8f1 s4-smb_server No longer follow the security=share smb.conf directive
By ignoring the value of security= from the smb.conf, we can allow this
to instead set the value of 'server role' in a manner compatible
with the Samba 3.x release stream.

Andrew Bartlett
2011-11-08 02:58:06 +01:00
Stefan Metzmacher
beb5687e9e s4:smb_server: s/SMB_SIGNING_SUPPORTED/SMB_SIGNING_IF_REQUIRED/
metze
2011-11-03 16:55:12 +01:00
Stefan Metzmacher
71959d5e1f s4:smb_server: change the default for "server signing" to "default"
metze
2011-11-03 16:55:11 +01:00
Stefan Metzmacher
ebb9d4dc54 s4:smb_server/smb2: add the same SMB_SIGNING_AUTO logic as for smb1
metze
2011-11-03 16:55:11 +01:00
Stefan Metzmacher
09d3df6e7e s4:smb_server/smb2: correctly implement related compound requests
We need to remember the session id and tree id.

metze
2011-10-31 19:39:04 +01:00
Stefan Metzmacher
95ca064103 s4:smb_server/smb2: always grant the requested credits
At least one credit, if the client asked for 0.

metze
2011-10-31 19:39:03 +01:00
Stefan Metzmacher
f30fe1decd s4:smb_server/smb2: echo back more header fields
metze
2011-10-31 19:39:03 +01:00
Stefan Metzmacher
8bf1e4caae s4:smb_server/smb2: make use of _smb_setlen_tcp()
metze
2011-10-19 15:44:30 +02:00
Andrew Bartlett
e7d5f0a357 gensec: move event context from gensec_*_init() to gensec_update()
This avoids keeping the event context around on a the gensec_security
context structure long term.

In the Samba3 server, the event context we either supply is a NULL
pointer as no server-side modules currently use the event context.

Andrew Bartlett

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-10-18 13:13:33 +11:00
Stefan Metzmacher
24d53ebe44 s4:smb_server/smb2: make sure we sign the final session setup
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Sep 29 18:59:54 CEST 2011 on sn-devel-104
2011-09-29 18:59:54 +02:00
Stefan Metzmacher
d9c2aaa000 s4:smb_server: make use of PROTOCOL_SMB2_02
metze
2011-09-05 13:17:33 +02:00
Andrew Bartlett
35b309fa0c gensec: clarify memory ownership for gensec_session_info() and gensec_session_key()
This is slightly less efficient, because we no longer keep a cache on
the gensec structures, but much clearer in terms of memory ownership.
Both gensec_session_info() and gensec_session_key() now take a mem_ctx
and put the result only on that context.

Some duplication of memory in the callers (who were rightly uncertain
about who was the rightful owner of the returned memory) has been
removed to compensate for the internal copy.

Andrew Bartlett
2011-08-03 18:48:02 +10:00
Günther Deschner
dc35442fb1 s4-nterr: move auth_nt_status_squash to nt_status_squash and move to nterr.c
Guenther
2011-03-04 01:18:42 +01:00
Andrew Bartlett
29c4f3fa61 s4-smb_server Return why the ntvfs_connect() failed.
Andrew Bartlett
2010-12-01 00:14:40 +01:00
Jelmer Vernooij
3deece5591 s4: Remove the old perl/m4/make/mk-based build system.
The new waf-based build system now has all the same functionality, and
the old build system has been broken for quite some time.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Oct 31 02:01:44 UTC 2010 on sn-devel-104
2010-10-31 02:01:44 +00:00
Jelmer Vernooij
b0963b7b31 smb2: Add missing dependency on NDR_DFSBLOBS. 2010-10-11 01:06:36 +02:00
Andrew Tridgell
890a33c99b s4-smb: serialise session setup operations
the mixture of async and sync code in gensec makes a EOF on a socket
during a session setup cause a crash. The simplest solution is to
stop processing events on the socket until the session setup is
complete.
2010-09-15 15:39:34 +10:00
Andrew Tridgell
6b266b85cf s4-loadparm: 2nd half of lp_ to lpcfg_ conversion
this converts all callers that use the Samba4 loadparm lp_ calling
convention to use the lpcfg_ prefix.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-16 18:24:27 +10:00
Matthias Dieter Wallnöfer
06bafb7596 s4:smb_server/smb2/find.c - remove unused code
Spotted by the Solaris 10 compiler
2010-06-29 22:31:00 +02:00
Jelmer Vernooij
f9ca9e46ad Finish removal of iconv_convenience in public API's. 2010-05-18 11:45:30 +02:00
Stefan Metzmacher
8fb3292c99 s4:smb_server: pass tsocket_addresses to the ntvfs layer
metze
2010-04-27 13:01:59 +02:00
Andrew Tridgell
b690fedef5 s4-waf: removed the AUTOGENERATED markers
we won't be using the mk -> wscript generator again
2010-04-06 20:27:16 +10:00
Andrew Tridgell
f9eae32f4b s4-waf: mark the wscript files as python so vim/emacs knows how to highlight them 2010-04-06 20:27:11 +10:00
Andrew Tridgell
845e0cbe6f build: commit all the waf build files in the tree 2010-04-06 20:26:48 +10:00
Matt Kraai
d8071e7ed7 Change uint_t to unsigned int in source4
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-02-02 07:18:18 +01:00
Stefan Metzmacher
577857d351 s4:gensec: change gensec_update_send/recv to tevent_req
metze
2009-12-24 17:38:34 +01:00
Andrew Tridgell
33cbe9c631 s4-server: use GUID_to_ndr_blob() in cldap and smb servers 2009-12-10 17:51:28 +11:00
Andrew Tridgell
f01ea8bf58 s4-smb2: use new GUID function in smb2 negprot 2009-12-10 17:51:27 +11:00
Stefan Metzmacher
b62964d6fe s4:smb_server/smb2: don't reset highest_smb2_seqnum on SMB2 Cancel
metze
2009-11-27 08:19:46 +01:00
Andrew Tridgell
7c158bdb1d s4-smb2: sequence numbers are not checked in SMB2_OP_CANCEL 2009-11-27 16:05:06 +11:00
Steven Danneman
7f14388721 s4/libcli: rename previously reserved field in SMB2 LOCK struct
The lock.in.reserved field has been renamed lock_sequence in the
SMB 2.1 dialect.  See MS-SMB 2.2.26.
2009-11-25 12:55:48 -08:00
Andrew Tridgell
7c807de6b8 s4-smbd: minimise includes in smbd/ and smb_server 2009-09-19 14:11:54 -07:00
Stefan Metzmacher
8d95883908 s4:smb2srv: don't allow the related flag on the first request in a compounded chain
metze
2009-06-09 19:33:46 +02:00
Stefan Metzmacher
959503ed1a s4:smb2srv: correctly fail remaining compounded requests after a failure
metze
2009-06-09 16:49:32 +02:00
Stefan Metzmacher
f55091586d s4:smb2srv: remove old TODO comment, we already check the seqnum
metze
2009-06-09 16:49:31 +02:00
Stefan Metzmacher
7633995fa0 s4:smb2srv: fix handling of multiple compounded requests
metze
2009-06-09 16:49:31 +02:00
Stefan Metzmacher
7b27b5f674 s4:smb2srv: remove the chained file handle on close
metze
2009-06-09 16:49:31 +02:00
Stefan Metzmacher
fadffbae88 s4:smb2srv: We only support SMB 2.002.
We need to loop over all given dialects and check
if we can find SMB2_DIALECT_REVISION_202.

metze
2009-05-26 09:50:45 +02:00
Sam Liddicott
4b21ad9db7 Have ntvfs_connect() accept union smb_tcon *tcon instead of char* sharename
This change brings ntvfs_connect into compliance with other ntvfs functions
which take an ntvfs module, an ntvfs request and an smb io union.

It now becomes the responsibility of ntvfs modules to examine
tcon->generic.level themselves and derive the share name and any other
options
directly; e.g.

	const char *sharename;

	switch (tcon->generic.level) {
	case RAW_TCON_TCON:
		sharename = tcon->tcon.in.service;
		break;
	case RAW_TCON_TCONX:
		sharename = tcon->tconx.in.path;
		break;
	case RAW_TCON_SMB2:
	default:
		return NT_STATUS_INVALID_LEVEL;
	}

	if (strncmp(sharename, "\\\\", 2) == 0) {
		char *p = strchr(sharename+2, '\\');
		if (p) {
			sharename = p + 1;
		}
	}

service.c smbsrv_tcon_backend() is called before ntvfs_connect and fills in
some of the tcon->..out values.
For the case of RAW_TCON_TCONX, it filles out tcon->tconx.out.tid and
tcon->tconx.out.options

For the case of RAW_TCON_TCON it fills out tcon->tcon.out.tid and
tcon->tcon.out.max_xmit

Thus the ntvfs_connect function for vfs modules may override these values
if desired, but are not required to.

ntvfs_connect functions are required to fill in the tcon->tconx.out.*_type
fields, for RAW_TCON_TCONX, perhaps something like:

	if (tcon->generic.level == RAW_TCON_TCONX) {
		tcon->tconx.out.fs_type = ntvfs->ctx->fs_type;
		tcon->tconx.out.dev_type = ntvfs->ctx->dev_type;
	}

Signed-off-by: Sam Liddicott <sam@liddicott.com>

(I fixed the ntvfs_connect() in the smb_server/smb2/
 and the RAW_TCON_SMB2 switch case in the modules)

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-05-20 13:32:27 +02:00
Stefan Metzmacher
d51bb8e4e6 s4:smb_server: return after we have processed an invalid smb2 request
metze
2009-05-11 15:59:46 +02:00
Andrew Bartlett
71632a1697 Remove auth/ntlm as a dependency of GENSEC by means of function pointers.
When starting GENSEC on the server, the auth subsystem context must be
passed in, which now includes function pointers to the key elements.

This should (when the other dependencies are fixed up) allow GENSEC to
exist as a client or server library without bundling in too much of
our server code.

Andrew Bartlett
2009-02-13 10:24:16 +11:00
Stefan Metzmacher
5bf95a71dd s4:smb_server: s/private/private_data
metze
2009-02-02 13:08:36 +01:00