1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
Commit Graph

13 Commits

Author SHA1 Message Date
Andrew Tridgell
50b16891c4 s4: fixed some shadowed variable warnings 2009-09-08 11:52:44 +10: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
7bb4461644 s4:ntvfs/smb2: s/private/p
metze
2009-02-02 13:08:34 +01:00
Jelmer Vernooij
29a20af75f Remove use of global_loadparm for SMB2 client connections. 2008-11-02 16:20:00 +01:00
Jelmer Vernooij
d9cbf2b0d9 Remove another use of global_loadparm. 2008-11-01 23:26:36 +01:00
Jelmer Vernooij
7942333712 Remove another use of global_loadparm. 2008-11-01 23:09:18 +01:00
Jelmer Vernooij
9565999755 Fix include paths to new location of libutil. 2008-10-11 21:31:42 +02:00
Andrew Tridgell
beaa01e403 implemented client side SMB2 signing
This doessn't work against Windows yet, and I've submitted a WSPP
request for clarification of the docs to try and find out
why. Meanwhile this is no worse than what we had, as it only gets used
when the server demands signing, and we didn't work then anyway.
(This used to be commit b788096add)
2008-05-30 17:03:54 +10:00
Andrew Tridgell
e7d993b8b2 added SMB2 proxying of rmdir
(This used to be commit 1e0c24b276)
2008-05-19 13:05:08 +10:00
Andrew Tridgell
66cbf7eb59 added mkdir to SMB2 proxy
(This used to be commit 1323aab11f)
2008-05-19 11:39:16 +10:00
Andrew Tridgell
9b177f8d58 added SMB2 proxying for unlink
(This used to be commit a5459bd880)
2008-05-16 15:01:31 +10:00
Andrew Tridgell
d9f47ba00b added handlers for connect, search_first and fsinfo.
Directory listing in smbclient now works
(This used to be commit 8007342061)
2008-05-15 20:47:28 +10:00
Andrew Tridgell
ca3257b286 started new vfs_smb2 module
This new module is based on the vfs_cifs module. The idea is to create a backend
which maps SMB requests to a SMB2 server. This will allow existing
test suites for SMB to be run against our SMB2 client and server code.

It will also help validate our SMB2 client library, probably leading
to some API changes to make it flexible enough
(This used to be commit 6ea8295a64)
2008-05-15 10:57:22 +10:00