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

947 Commits

Author SHA1 Message Date
Andrew Bartlett
2e69e89456 s3-auth Rename auth_serversupplied_info varaiables: server_info -> session_info
These variables, of type struct auth_serversupplied_info were poorly
named when added into 2001, and in good consistant practice, this has
extended all over the codebase in the years since.

The structure is also not ideal for it's current purpose.  Originally
intended to convey the results of the authentication modules, it
really describes all the essential attributes of a session.  This
rename will reduce the volume of a future patch to replaced these with
a struct auth_session_info, with auth_serversupplied_info confined to
the lower levels of the auth subsystem, and then eliminated.

(The new structure will be the output of create_local_token(), and the
change in struct definition will ensure that this is always run, populating
local groups and privileges).

Andrew Bartlett

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-02-22 16:20:10 +11:00
Andrew Bartlett
2b05ba77b4 s3-auth Rename cryptic 'ptok' to security_token
This will allow the auth_serversupplied_info struct to be migrated
to auth_session_info easier.

Adnrew Bartlett

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-02-10 06:51:06 +01:00
Jeremy Allison
1607ebfe86 Allow SMB2_FIND to actually use the open fd handle if we support fdopendir. Fallback to pathname opendir if not. 2011-02-09 15:13:40 -08:00
Jeremy Allison
e68f6adca9 If possible (O_DIRECTORY exists) open an fd for a directory open.
Start of the move towards handle-based code for directory access.
Currently makes fstat/fchown code work for directories rather than
falling back to pathnames.

Jeremy.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Tue Feb  8 06:34:41 CET 2011 on sn-devel-104
2011-02-08 06:34:41 +01:00
Jeremy Allison
44732734cc Fix bug #7863 - Unlink may unlink wrong file when hardlinks are involved.
Do this by keeping a linked list of delete on close tokens, one for
each filename that identifies a path to the dev/inode. Use the
jenkins hash of the pathname to identify the correct token.
2011-01-25 14:23:19 -08:00
Jeremy Allison
a65bce4e38 Add uint32_t name_hash argument (currently unused) to get_file_infos().
Will be used when we store more than one delete on close token.
2011-01-25 14:02:18 -08:00
Jeremy Allison
de4b09ca01 Ensure we don't use "./" in findfirst pathnames. Use a directory open of "." instead. 2011-01-20 16:30:28 -08:00
Jeremy Allison
b1dacb8195 Add in fsp->access_mask checks. Not required (underlying system does this)
but makes logic cleaner. Pointed out by Metze.

Jeremy.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Nov 24 01:47:13 CET 2010 on sn-devel-104
2010-11-24 01:47:13 +01:00
Jelmer Vernooij
ed22f13e7e s3: Rename GIT_COMMIT_{TIME,DATE} to COMMIT_{TIME,DATE}.
This avoids some special casing in the waf code.
2010-11-12 17:42:14 +00:00
Andrew Bartlett
f768b32e37 libcli/security Provide a common, top level libcli/security/security.h
This will reduce the noise from merges of the rest of the
libcli/security code, without this commit changing what code
is actually used.

This includes (along with other security headers) dom_sid.h and
security_token.h

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Tue Oct 12 05:54:10 UTC 2010 on sn-devel-104
2010-10-12 05:54:10 +00:00
Jeremy Allison
0cec0f0912 Fix crash in SMB2 rename found by gentest. We must always have an lcomp
in the destination struct for a rename, so set the flag appropriately.

Jeremy.
2010-10-06 22:59:15 +00:00
Jeremy Allison
77622acadd Fix crash in SMB2 rename found by gentest. We must always have an lcomp
in the destination struct for a rename, so set the flag appropriately.

Jeremy.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Oct  6 00:29:51 UTC 2010 on sn-devel-104
2010-10-06 00:29:51 +00:00
Volker Lendecke
75c6e0e5c7 s3: Lift smbd_server_conn from file_find_di_first 2010-09-28 07:36:17 +02:00
Andrew Bartlett
8c15cf54ae s3-auth Rename NT_USER_TOKEN user_sids -> sids
This is closer to the struct security_token from security.idl
2010-08-31 10:20:14 +10:00
Jeremy Allison
5115f789c0 Fix bug #7651 - mknod and mkfifo fails with "No such file or directory"
Ensure we check the correct stat struct once we've created the
special fix. Thanks to izh1979@gmail.com for pointing out the
bug.

Jeremy.
2010-08-26 16:46:45 -07:00
Volker Lendecke
1808dd0a85 s3: Make srv_send_smb take an sconn instead of a sock fd 2010-08-24 21:06:41 +02:00
Volker Lendecke
a92efa0e47 s3: Remove smbd_server_fd from send_trans2_replies 2010-08-16 22:39:17 +02:00
Volker Lendecke
1528a4ffbe s3: use dump_data in query FILE_BASIC_UNIX_INFO
Jeremy, please check! To me this is a lot more readable than the decimal
listing of the bytes.
2010-07-25 20:45:46 +02:00
Volker Lendecke
c63f75f17c s3: Remove smbd_messaging_context() from smb_set_posix_lock() 2010-07-05 11:06:29 +02:00
Volker Lendecke
ec2079f5d0 s3: Explicitly pass sconn to blocking_lock_was_deferred_smb1 2010-06-12 15:42:56 +02:00
Volker Lendecke
391cb416f6 s3: Remove smbd_server_conn from reply_findclose 2010-06-12 15:42:53 +02:00
Volker Lendecke
93867d5f34 s3: Remove smbd_server_conn from call_trans2setfsinfo 2010-06-12 15:42:53 +02:00
Volker Lendecke
b250232b8b s3: Remove smbd_server_conn from smbd_do_qfsinfo 2010-06-12 15:42:53 +02:00
Volker Lendecke
b340953881 s3: Remove smbd_server_conn from call_trans2findnext 2010-06-12 15:42:53 +02:00
Volker Lendecke
6608400e2d s3: Remove smbd_server_conn from call_trans2findfirst 2010-06-12 15:42:53 +02:00
Volker Lendecke
72b4afc699 s3: Remove smbd_server_conn from send_trans2_replies 2010-06-12 15:42:53 +02:00
Ira Cooper
e799de256e SMB2: Fix rename on Windows 7.
This removes some code Jeremy (jra) suspected was bad.  It turns out that the
command window rename command will not work with the offending code in place.

With it removed the bug is gone, and rename works.
2010-06-01 17:09:29 -07:00
Günther Deschner
f9f8007361 s3-build: only use ndr_security.h where needed.
Guenther
2010-05-31 11:32:37 +02:00
Simo Sorce
b99dd10b39 s3:smbd Use the right num_sids
We use s_i->ptok->num_sids everywhere else in this call and
then suddenly we reference s_i->num_sids
2010-05-29 17:07:55 -04:00
Jeremy Allison
a8a4fe0605 Fix bug #7410 - samba sends "raw" inode number as uniqueid with unix extensions.
Move to a consistent get_FileIndex() function for all inode returns,
that checks if st_dev on the file is identical to the top directory
dev_t of the exported share, and if so uses the raw 64-bit inode
number. If it isn't (we've traversed a mount point) - return what
we used to do for Windows which is the concatination of the bottom
32-bits of the inode with the 32-bit device number. We can get more
creative with this over time (hashing?) if we want as now all inode returns go
through this single function.

Jeremy.
2010-05-20 11:36:47 -07:00
Jeremy Allison
2c61c93a51 Fix bug 7442 - Samba returns incorrect SMB2 QFS device info.
Add the correct devicetype and characteristics for this info level.

Jeremy.
2010-05-19 21:28:08 -07:00
Jeremy Allison
572e5dec1b Implement missing info level SMB_FILE_LINK_INFORMATION.
Fix bug #7435 - SMB2 hardlink fails (invalid level).
Found at the Microsoft plugsharing plugfest.

Jeremy.
2010-05-18 18:34:54 -07:00
Jelmer Vernooij
b8268cf7b0 s3: Remove use of iconv_convenience. 2010-05-18 11:45:31 +02:00
Jeremy Allison
056f24ce24 Fix bug 7399 - SMB2: QUERY_DIRECTORY is returning invalid values.
The end_data argument to smbd_dirptr_lanman2_entry() must include
the safety margin, as internally it's actually used to allow detection
of string name pushes that were truncated. Ensure space_remaining can
never go negative due to padding.

Jeremy.
2010-05-13 15:59:09 -07:00
Jeremy Allison
4955ccfff5 Fix more SMB2-OPLOCK bugs. Only 3 more issues to address then we're good to go on this test.
Jeremy.
2010-05-11 14:00:38 -07:00
Jeremy Allison
adf4833792 This patch looks bigger than it is. It does 2 things. 1). Renames smbpid -> smblctx in our locking code. 2). Widens smblctx to 64-bits internally. Preparing to use the SMB2 handle as the locking context.
Jeremy.
2010-05-07 06:20:50 -07:00
Günther Deschner
c6ebab846d s3: only include gen_ndr headers where needed.
This shrinks include/includes.h.gch by the size of 7 MB and reduces build time
as follows:

ccache build w/o patch
real    4m21.529s
ccache build with patch
real    3m6.402s

pch build w/o patch
real    4m26.318s
pch build with patch
real    3m6.932s

Guenther
2010-05-06 00:22:59 +02:00
Jeremy Allison
e90444319c Carefully label SMB1-specific locking calls.
Jeremy.
2010-04-29 17:08:12 -07:00
Jeremy Allison
1f69a7a80e Attempt to fix bug #7399 - SMB2: QUERY_DIRECTORY is returning invalid values.
Based on an initial patch from Ira Cooper <samba@ira.wakeful.net>.

Jeremy.
2010-04-29 13:40:25 -07:00
Simo Sorce
168b86c384 s3-smbd: group print relate data in own structure 2010-04-23 14:26:33 -07:00
Jeremy Allison
3491f6d119 Simplify call_trans2qfilepathinfo() and smbd_do_qfilepathinfo()
Remove the bool ms_dfs_link parameter from smbd_do_qfilepathinfo.
It is not possible for this to be a DFS link. Remove the check_msdfs_link()
call from call_trans2qfilepathinfo() - the call to filename_convert()
above with a ucf_flags of zero *MUST* catch a DFS link and return
NT_STATUS_PATH_NOT_COVERED in this case, so the code below checking
for msdfs links is redundent. Don't add this to 3.5.x, as it's an
optimization but not needed to fix bug #7339 - MSDFS is non-functional in 3.5.x.

Jeremy.
2010-04-08 21:24:23 -07:00
Jeremy Allison
3587815595 Fix bug #7339 - MSDFS is non-functional in 3.5.x
In the refactoring around filename_convert, the split between the functions
resolve_dfspath() and resolve_dfspath_wcard() was lost, leaving us only with
resolve_dfspath_wcard().

Internally resolve_dfspath_wcard() calls dfs_redirect() only with a
"allow_wcards" flag of true, wheras the old resolve_dfspath() would call with a
value of false. The loss of this case causes dfs_redirect to always masquerade
DFS links as directories, even when they are being queried directly by a trans2
QPATHINFO call. We should only masquerade DFS links as directories when called
from a SMBsearch or trans2 findfirst/findnext - which was the intent of the
"allow_wcards" flag.

This patch adds back an allow_wcards bool parameter to
resolve_dfspath_wcard(). This bool is set from the state of the ucf_flags when
filename_convert() is called.

I will follow this up with a new smbclient-based torture test that will prevent
us from ever regressing our DFS support again.

Jeremy.
2010-04-08 20:32:36 -07:00
Stefan Metzmacher
5a069f7209 s3:smbd: disable SMB encryption when the echo handler is active
metze
2010-03-22 17:15:13 +01:00
Jeremy Allison
704a607e3c Fix bug #7188 - Logic error in check of total_data for call_trans2mkdir()
Make ea data checks identical for trans2open and trans2mkdir.

Jeremy.
2010-03-15 15:04:18 -07:00
Jeremy Allison
c61c9c3a4c Fix for bug #7189 - Open txt files with notepad on samba shares creates problem.
Ensure we don't use any of the create_options for Samba private
use. Add a new parameter to the VFS_CREATE call (private_flags)
which is only used internally. Renumber NTCREATEX_OPTIONS_PRIVATE_DENY_DOS
and NTCREATEX_OPTIONS_PRIVATE_DENY_FCB to match the S4 code).
Rev. the VFS interface to version 28.

Jeremy.
2010-03-05 15:13:37 -08:00
Jeremy Allison
314a926179 Fix up debug info on smb2_rename code.
Jeremy.
2010-02-25 11:57:54 -08:00
Jeremy Allison
3551eb7cbf Implement rename/move in SMB2 from Windows7.
Jeremy.
2010-02-25 11:15:16 -08:00
Jeremy Allison
fac6d5212b Remove now unused variable.
Jeremy.
2010-02-05 16:20:34 -08:00
Jeremy Allison
bd269443e3 Fix bug 7104 - "wide links" and "unix extensions" are incompatible.
Change parameter "wide links" to default to "no".
Ensure "wide links = no" if "unix extensions = yes" on a share.
Fix man pages to refect this.

Remove "within share" checks for a UNIX symlink set - even if
widelinks = no. The server will not follow that link anyway.

Correct DEBUG message in check_reduced_name() to add missing "\n"
so it's really clear when a path is being denied as it's outside
the enclosing share path.

Jeremy.
2010-02-05 15:20:18 -08:00
Jeremy Allison
74deee3cc9 Rename reply_doserror() -> reply_force_doserror().
Rewrite all calls to reply_nterror(NT_STATUS_DOS()) to
reply_force_doserror() and update the comment in smbd/error.c

Jeremy.
2009-12-21 11:16:38 -08:00