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

54 Commits

Author SHA1 Message Date
Jeremy Allison
8303bc49a4 Restructure the connect function code to always call
down to NEXT-> before initializing. This allows us to
do cleanup (by calling DISCONNECT) if initialization
fails. Also fix vfs_acl_xattr which was failing to
call the NEXT connect function.
Jeremy.
2009-11-30 15:53:04 -08:00
Volker Lendecke
033185e2a1 Make the smbd VFS typesafe 2009-07-24 11:42:05 -04:00
Tim Prouty
3cb0e521e1 s3: Plumb smb_filename through SMB_VFS_NTIMES 2009-07-06 15:38:42 -07:00
Tim Prouty
258952aa85 s3: Plumb smb_filename through SMB_VFS_UNLINK 2009-07-06 15:38:36 -07:00
Tim Prouty
5a09ba460c s3: Plumb smb_filename through SMB_VFS_RENAME 2009-07-06 15:38:29 -07:00
Tim Prouty
e129384d7c s3: Plumb smb_filename through SMB_VFS_STAT and SMB_VFS_LSTAT
This patch introduces two new temporary helper functions
vfs_stat_smb_fname and vfs_lstat_smb_fname.  They basically allowed me
to call the new smb_filename version of stat, while avoiding plumbing
it through callers that are still too inconvenient.  As the conversion
moves along, I will be able to remove callers of this, with the goal
being to remove all callers.

There was also a bug in create_synthetic_smb_fname_split (also a
temporary utility function) that caused it to incorrectly handle
filenames with ':'s in them when in posix mode.  This is now fixed.
2009-06-24 21:15:25 -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
todd stecher
48b0016cff Extend NTIMES to allow setting create_time
1) Add in smb_file_time struct to clarify code and make room for createtime.
2) Get and set create time from SMB messages.
3) Fixup existing VFS modules + examples Some OS'es allow for the
setting of the birthtime through kernel interfaces. This value is
generically used for Windows createtime, but is not settable in the
code today.
2009-01-23 21:05:38 -08:00
Jeremy Allison
07e0094365 Fix all warnings in source3 with gcc4.3.
Jeremy.
2008-12-31 18:06:57 -08:00
Volker Lendecke
40f5eab5eb Wrap the unix token info in a unix_user_token in auth_serversupplied_info
No functional change, this is a preparation for more current_user ref removal
(This used to be commit dcaedf345e62ab74ea87f0a3fa1e3199c75c5445)
2008-06-19 18:51:37 +02:00
Volker Lendecke
39479c9ee6 Remove current_user_info reference from vfs_recycle.c
(This used to be commit fdc03c0a5ba0da4fbc4610880e06150c11d4c737)
2008-06-19 15:53:43 +02:00
Volker Lendecke
50ab871813 Remove some references to get_current_username() and current_user_info
(This used to be commit 344d69f95e217d16213eaa6b53141af6ab459708)
2008-05-25 11:43:57 +02:00
Volker Lendecke
5bda9a8af0 Remove "user" from connection_struct
(This used to be commit 368454a27cb53a408ec416cbf37235b304592fb5)
2008-05-10 11:17:01 +02:00
Volker Lendecke
53a623d8a6 Remove the unix token info from connection_struct
(This used to be commit 2834dacc8d49f77fe55fb5d7e3eb2dda431d1d3d)
2008-05-10 11:17:01 +02:00
Volker Lendecke
587cf54c61 strtok -> strtok_r
(This used to be commit fd34ce437057bb34cdc37f4b066e424000d36789)
2008-01-23 15:08:04 +01:00
Jeremy Allison
30191d1a57 RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
(This used to be commit f35a266b3cbb3e5fa6a86be60f34fe340a3ca71f)
2007-10-18 17:40:25 -07:00
Andrew Tridgell
153cfb9c83 r23801: The FSF has moved around a lot. This fixes their Mass Ave address.
(This used to be commit 87c91e4362c51819032bfbebbb273c52e203b227)
2007-10-10 12:28:27 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10 12:28:20 -05:00
Jeremy Allison
9f03efd6e5 r23692: Couldn't wait, sorry :-). Did the style change.
Jeremy.
(This used to be commit da0d6ba0f972dbe48e2b7297e86e1717e510fadf)
2007-10-10 12:23:46 -05:00
Simo Sorce
38c84fe163 r23691: fix for bug on touching files as described here:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=243897
(This used to be commit 6b68c006f8ecba8ed3a4d87950691cb1e5c46386)
2007-10-10 12:23:46 -05:00
Jeremy Allison
7a70d9cc87 r22080: Fix directory recycle module bug #4486.
Jeremy.
(This used to be commit 17b1d11bbb8353e309c8410128a3e9c5964ea766)
2007-10-10 12:19:10 -05:00
Jeremy Allison
7b85ad755d r21764: Fix warning in debug comment.
Jeremy.
(This used to be commit 12c29a8e9bd87550ad7a8e7ceaf4cba59994547a)
2007-10-10 12:18:29 -05:00
Jeremy Allison
4952fe368a r21714: Change the VFS interface to use struct timespec
for utimes - change the call to ntimes. This preserves
nsec timestamps we get from stat (if the system supports
it) and only maps back down to usec or sec resolution
on time set. Looks bigger than it is as I had to move
lots of internal code from using time_t and struct utimebuf
to struct timespec.
Jeremy.
(This used to be commit 8f3d530c5a748ea90f42ed8fbe68ae92178d4875)
2007-10-10 12:18:24 -05:00
James Peach
1702791ba2 r21647: Allow unit on for size parameters.
(This used to be commit 4d5654a8ab491364be5fd83e9894e9a46401f0f4)
2007-10-10 12:18:21 -05:00
Jeremy Allison
cba9ad6633 r21646: Patch from SATOH Fumiyasu <fumiyas@osstech.co.jp>
- add minsize parameter. Bug #4409.
Jeremy.
(This used to be commit b9408304db9a64d9b8ad56f53532825a02fdb150)
2007-10-10 12:18:21 -05:00
Herb Lewis
55ed1d5945 r20261: merge 20260 from samba_3_0_24
clean up a bunch of no previous prototype warnings
(This used to be commit c60687db112405262adf26dbf267804b04074e67)
2007-10-10 12:16:37 -05:00
Volker Lendecke
2203228c79 r17039: Eliminate snum from enumshares and getshareinfo. Get rid of some pstrings.
Volker
(This used to be commit c5e393d5eda4e13a844171d9ff319d1f1bac3d84)
2007-10-10 11:19:21 -05:00
Jeremy Allison
fbdcf2663b r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....

Jeremy.
(This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10 11:19:14 -05:00
Volker Lendecke
8135f23112 r15909: Implement recycle:subdir_mode
(This used to be commit 4dd8694a250e4d064a790fe8f422c965ab533880)
2007-10-10 11:17:12 -05:00
Simo Sorce
99fc191d51 r13224: better to cast the return too
(This used to be commit c068df483f44a23ad813acd10d583be863128382)
2007-10-10 11:06:19 -05:00
Simo Sorce
6c58244def r13222: Never assume mode_t is of type int.
We were trashing the stack on machines that define mode_t as uint16_t
(This used to be commit 6c15af31bcee1e82578b61cae10423b37c285f10)
2007-10-10 11:06:18 -05:00
Jeremy Allison
10b5609a14 r12279: unix_mask_match has been broken for *ever*... (How).
Ensure it returns a BOOL.
Jerry (and anyone else) please check this, I think
all uses are now correct but could do with another
set of eyes. Essential for 3.0.21 release.
Jeremy.
(This used to be commit 0c7b8a7637e760fcb6629092f36b610b8c71f5c9)
2007-10-10 11:05:51 -05:00
Günther Deschner
b0b983cc60 r7807: Allow to touch mtime in vfs-recycle with
recycle:touch_mtime = true

Guenther
(This used to be commit fa8e2c4b04786a77356bb4e310d59d7475d8bd87)
2007-10-10 10:57:21 -05:00
Jeremy Allison
c52e7fdf78 r7544: Fix for bug #2196 from Denis Sbragion <d.sbragion@infotecna.it>.
Allow absolute path (system wide) recycle bin.
Jeremy.
(This used to be commit 451fbbf1d603cb99b0c9f0d39de9ad71a6a12833)
2007-10-10 10:57:13 -05:00
Jeremy Allison
1a60c450dd r7542: Patch from Renaud Duhaut <rd@duhaut.com> for a parameter
"directory_mode" when creating recycle directories.
Bug #1040.
Jeremy.
(This used to be commit 1c94cbd72d93ff8f17d6e1971ff984fa9581f1ce)
2007-10-10 10:57:12 -05:00
Jeremy Allison
acf9d61421 r4088: Get medieval on our ass about malloc.... :-). Take control of all our allocation
functions so we can funnel through some well known functions. Should help greatly with
malloc checking.
HEAD patch to follow.
Jeremy.
(This used to be commit 620f2e608f70ba92f032720c031283d295c5c06a)
2007-10-10 10:53:32 -05:00
Alexander Bokovoy
938cef91ff Fix string overflow due to wrong size calculation
(This used to be commit e1d0b8fc7bbe075dd817e3816f29640cda980732)
2004-03-12 11:21:50 +00:00
Tim Potter
b914f2ab6c Portability fix from Joachim Schmitz. Closes bug #546.
(This used to be commit 803ae4517265e4bb4639c4966e104b392913c7c0)
2003-10-02 23:50:22 +00:00
Jeremy Allison
94f59f5492 More tuning from cachegrind. Change most trim_string() calls to trim_char(0,
as that's what they do. Fix string_replace() to fast-path ascii.
Jeremy.
(This used to be commit f35e9a8b909d3c74be47083ccc4a4e91a14938db)
2003-09-05 19:59:55 +00:00
Jelmer Vernooij
38f09f326f Fix overflow in vfs_recycle module (and hopefully also bug #291)
(This used to be commit 8625f0e015481a79b0a7dedb77c60ce7b2cb7b84)
2003-08-14 19:57:23 +00:00
Simo Sorce
f5974dfaae Found out a good number of NT_STATUS_IS_ERR used the wrong way.
As abartlet rememberd me NT_STATUS_IS_ERR != !NT_STATUS_IS_OK

This patch will cure the problem.
Working on this one I found 16 functions where I think NT_STATUS_IS_ERR() is
used correctly, but I'm not 100% sure, coders should check the use of
NT_STATUS_IS_ERR() in samba is ok now.

Simo.
(This used to be commit c501e84d412563eb3f674f76038ec48c2b458687)
2003-06-22 10:09:52 +00:00
Volker Lendecke
ea1cec68bb Const fixes by metze
Volker
(This used to be commit c0e35f3be8a33f19823826c5a84c885764c62508)
2003-06-17 09:40:35 +00:00
Alexander Bokovoy
bc2a3748e9 Prefix VFS API macros with SMB_ for consistency and to avoid problems with VFS_ macros at system side. We currently have one clash with AIX and its VFS_LOCK. Compiled and tested -- no new functionality or code, just plain rename of macros for yet-unreleased VFS API version. Needs to be done before a24 is out
(This used to be commit c2689ed118b490e49497a76ed6a2251262018769)
2003-05-14 10:59:01 +00:00
Alexander Bokovoy
e7c8c15888 Fix VFS layer:
1. Finally work with cascaded modules with private data storage per module
2. Convert VFS API to macro calls to simplify cascading
3. Add quota support to VFS layer (prepare to NT quota support)

Patch by Stefan (metze) Metzemacher, with review of Jelmer and me
Tested in past few weeks. Documentation to new VFS API for third-party developers to follow
(This used to be commit 91984ef5caa2d13c5d52e1f535bd3bbbae1ec978)
2003-05-11 23:34:18 +00:00
Jelmer Vernooij
17a3acafa8 Use NTSTATUS as return value for smb_register_*() functions and init_module()
function. Patch by metze with some minor modifications.
(This used to be commit bc4b51bcb2daa7271c884cb83bf8bdba6d3a9b6d)
2003-04-28 17:48:48 +00:00
Jelmer Vernooij
1f008c1203 Patch from Stephan Metzmacher to add default arguments to lp_parm() smb.conf
parameters. Does not break binary compatibility with older modules.
(This used to be commit 147c4d56d873a20a49194c5b036a3694299b1b48)
2003-04-24 03:46:17 +00:00
Jelmer Vernooij
3dcc6e28c2 Do not use lp_parm_bool() and lp_parm_ulong() yet. They're only in HEAD
(This used to be commit 58aa32ea6ac587df92ceefc527afbb1ff5bd0b08)
2003-04-17 20:13:08 +00:00
Jelmer Vernooij
ddf662d118 More merges from HEAD:
- Stephan Kulow's changes (fixing warnings in libsmbclient)
 - VFS modules
 - Seperating libs
(This used to be commit 6e9b7802335428c88ecf4e44a0e2395ac58e96b5)
2003-04-16 14:45:11 +00:00
Simo Sorce
ce51825c4b port HEAD mods
(This used to be commit 646eb2dda66d1f619f165076edfc82cd7144ba5a)
2003-04-09 17:36:52 +00:00
Simo Sorce
98a57e6032 ooops new_dir is already len +1 bytes
(This used to be commit ffd0d643c224e9169737e7dbfef40cab46fde8f3)
2003-04-07 18:13:03 +00:00