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

297 Commits

Author SHA1 Message Date
Andrew Bartlett
52399f3177 lib/util Move sys_memalign into lib/util/system.c 2011-05-31 02:57:19 +02:00
Jeremy Allison
2938fe6f90 Fold null terminator into listlen length, change to strlcpy. 2011-05-04 12:12:14 -07:00
Günther Deschner
4fa2bac6e7 s3-system: move LOCK_ defines to lib/system.c
Guenther
2011-05-03 21:03:47 +02:00
Andrew Bartlett
fbea52f74a lib/util Move more network utility functions from source3 into lib/util
This will help with the merge of the interfaces layer.

Andrew Bartlett
2011-05-03 07:37:07 +02:00
Günther Deschner
0e771263ee s3-includes: only include system/filesys.h when needed.
Guenther
2011-03-30 01:13:07 +02:00
Günther Deschner
49fcf653b1 s3-includes: only include system/passwd.h when needed.
Guenther
2011-03-30 01:13:07 +02:00
Günther Deschner
21a78b88cc s3-includes: only include system/capability.h when needed.
Guenther
2011-03-30 01:13:06 +02:00
Günther Deschner
89ca4875cd s3-includes: only include system/syslog.h when needed.
Guenther
2011-03-30 01:13:06 +02:00
Günther Deschner
64421129b6 lib/util/util_pw: share sys_get{pw,gr} group of calls.
Guenther
2011-03-30 01:13:06 +02:00
Jeremy Allison
c8a242d9fc dirfd doesn't exist in some platforms.
Hack that should get the buildfarm back to green.
Ensure dirfd() needs to be defined before we properly return fdopendir.
This will do until we get a proper dirfd() defined in libreplace.

From http://www.gnu.org/software/hello/manual/gnulib/dirfd.html

This function is missing on some platforms: AIX 7.1, HP-UX 11, OSF/1 5.1, Solaris 10, mingw.

Jeremy.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Sat Feb 26 04:19:55 CET 2011 on sn-devel-104
2011-02-26 04:19:55 +01:00
Günther Deschner
80b4e1e985 s3: move some defines to a better place.
Guenther
2011-02-14 11:47:19 +01:00
Günther Deschner
fa0c6c1a9e s3-system: fix malloc/talloc mismatch in sys_popen().
Guenther
2011-02-10 18:37:18 +01:00
Jeremy Allison
c377b0e718 Fix up some buildfarm warnings. 2011-02-09 21:21:04 +01:00
Jeremy Allison
1911d483e5 Add fdopendir(). 2011-02-08 15:05:59 -08:00
Jeremy Allison
8998f4b013 Added call out to a Linux-compatible fallocate() when we need to extend a file
allocation extent without changing end-of-file size.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Tue Dec 21 02:41:24 CET 2010 on sn-devel-104
2010-12-21 02:41:23 +01:00
Volker Lendecke
d39fedaa69 s3: FreeBSD has getpeereid(), use it 2010-12-19 23:25:06 +01:00
Jeremy Allison
e071fd711d Fix read/write calls over sockets to cope with EAGAIN/EWOULDBLOCK for non-blocking sockets. 2010-12-15 01:38:16 +01:00
Volker Lendecke
fb167a6028 s3: Fix a C++ warning 2010-08-01 18:16:19 +02:00
Björn Jacke
687c42ee65 s3: fix calculation of st_blocks in init_stat_ex_from_stat
this is just relevant for the very rare systems that don't have the st_blocks
struct member. This is a fixup of the fix for bug 7474.

Thanks to Joachim Schmitz for spotting this!
2010-06-09 15:27:38 +02:00
Björn Jacke
711a30aa61 s3: fix build on platforms without st_blocks and st_blksize stat struct members
This fixes bug 7474.
2010-06-07 23:16:48 +02:00
Karolin Seeger
56b13ee8ed Revert "Fix bug #7067 - Linux asynchronous IO (aio) can cause smbd to fail to respond to a read or write."
This reverts commit a6ae7a552f851a399991262377cc0e062e40ac20.

This fixes bug #7222 (All users have full rigths on all shares) (CVE-2010-0728).
(cherry picked from commit 1c9494c76cc9686c61e0966f38528d3318f3176f)
2010-03-08 16:55:07 -08:00
Björn Jacke
c0ebca237c s3: optimize strict allocate for XFS on IRIX 2010-02-18 22:45:46 +01:00
Jeremy Allison
899bd0005f Fix bug #7067 - Linux asynchronous IO (aio) can cause smbd to fail to respond to a read or write.
Only works on Linux kernels 2.6.26 and above. Grants CAP_KILL capability
to allow Linux threads under different euids to send signals to each other.

Jeremy.
2010-01-26 16:51:57 -08:00
Björn Jacke
0d53ce7e07 s3: make sys_posix_fallocate more generic
this is in preparation for other preallocation methods to be introduced.
2009-12-08 21:16:31 +01:00
Volker Lendecke
743155f3be s3: Fix explicit stat64 support 2009-12-05 14:40:16 +01:00
Björn Jacke
3264a98ff1 s3: check if glibc has broken posix_fallocate 2009-12-04 23:29:56 +01:00
Björn Jacke
95c1862610 s3: prefer posix_fallocate for doing "strict allocate"
posix_fallocate is more efficient than manual zero'ing the file. When
preallocation in kernel space is supported it's extremely fast. Support for
preallocation at fs layer via posix_fallocate and fallocate at kernel site
can be found in Linux kernel 2.6.23/glibc 2.10 with ext4, XFS and OCFS2. Other
systems that I know of which support fast preallocation in kernel space are
AIX 6.1 with JFS2 and recent Solaris versions with ZFS maybe UFS2, too.

People who have a system with preallocation in kernel space might want to set
"strict allocate = yes". This reduces file fragentation and it's also safer for
setups with quota being turned on.

As of today most systems still don't have preallocation in kernel space, and
that's why "strict allocate = no" will stay the default for now.
2009-12-02 21:21:43 +01:00
Volker Lendecke
44ce5603dd s3: Pass the "fake dir create times" parameter to sys_*stat
Step 0 to restore it as a per-share paramter
2009-11-29 11:22:01 +01:00
Jeremy Allison
a770caed0f Remove "store create time" code, cause create time to be stored
in the "user.DOSATTRIB" EA. From the docs:
In Samba 3.5.0 and above the "user.DOSATTRIB" extended attribute has been extended to store
the create time for a file as well as the DOS attributes. This is done in a backwards compatible
way so files created by Samba 3.5.0 and above can still have the DOS attribute read from this
extended attribute by earlier versions of Samba, but they will not be able to read the create
time stored there. Storing the create time separately from the normal filesystem meta-data
allows Samba to faithfully reproduce NTFS semantics on top of a POSIX filesystem.
Passes make test but will need more testing.
Jeremy.
2009-11-17 14:55:02 -08:00
Volker Lendecke
bf4e8ba048 s3: Fix a memleak in sys_popen
Found with "dfree command" set
2009-11-15 12:49:47 +01:00
Abhidnya P Chirmule
ac774c4969 s3: Add access_mask to the flock VFS call 2009-10-06 18:52:06 +02:00
Jeremy Allison
c9dca82ed7 Refactor the use of create_time and change time to go
through functions. Will aid in making us pass RAW-SETFILEINFO.
Jeremy.
2009-08-10 15:07:53 -07:00
Jeremy Allison
eba2eb45e2 Fix a typo reading uninitialized memory. Caught by valgrind.
Jeremy.
2009-07-17 18:05:10 -07:00
Jeremy Allison
400c18a8c4 Rename update_stat_ex_writetime() -> update_stat_ex_mtime()
to better describe what we're doing here.
Jeremy
2009-07-08 18:05:30 -07:00
Jeremy Allison
c9c3d4312d The migration to struct stat_ex broke the calculation of
create time from the existing timestamps (for systems
that need to do this). Once the write time is changed
via a sticky write, the create time might need to be
recalculated. To do this I needed to add a bool into
struct stat_ex to remember if the st_ex_btime field
was calculated, or read from the OS. Also fixed the
returning of modified write timestamps in the return
from NTCreateX, SMBattr and SMBattrE (which weren't
taking into account the modified timestamp stored
in the open file table). Attempting to fix an issue
with Excel 2003 and offline files. Volker and Metze,
please review.
Jeremy
2009-07-08 17:51:35 -07:00
Jeremy Allison
58daaa3d1e When faking a create time, use the full timespec values, not time_t.
Jeremy.
2009-07-08 12:28:01 -07:00
Björn Jacke
7cdad30b96 s3: correct check for usleep value boundaries 2009-06-03 18:06:43 +02:00
Volker Lendecke
dd0506d15d Attempt to fix the build on NetBSD 2009-05-26 23:20:34 +02: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
Volker Lendecke
979f13b19e Fix some nonempty blank lines 2009-05-14 12:14:57 +02:00
Steven Danneman
8d63c596a0 Refactored sys_fork() and sys_pid() into shared util library
This fixes a bug in 116ce19b, where we didn't clear the pid cache in
become_daemon() and thus the /var/run/smbd.pid didn't match the actual
pid of the parent process.

Currently S4 will clear the pid cache on fork but doesn't yet take
advantage of the pid cache by using sys_pid() instead of the direct
get_pid().
2009-02-23 21:17:12 -08:00
Jeremy Allison
faa1100d22 More warning fixes for Solaris.
Jeremy.
2009-02-23 16:22:43 -08:00
Volker Lendecke
86cb14db2b Add code to test write_data_iov a bit 2008-12-29 13:24:28 +01:00
Volker Lendecke
6251b97e02 Add sys_writev 2008-12-29 13:24:27 +01:00
Jelmer Vernooij
31fa08dcbd Merge branch 'master' of /home/jelmer/samba3
Conflicts:
	lib/replace/README
	lib/replace/libreplace.m4
	lib/replace/replace.c
	source3/include/proto.h
	source3/lib/system.c
2008-11-01 04:02:47 +01:00
Jelmer Vernooij
5a56c0adf2 Use dup2() replacement from libreplace. 2008-11-01 03:58:14 +01:00
Jelmer Vernooij
7b186c48d3 Remove sys_dl*() - stubs are already provided by libreplace. 2008-11-01 03:49:49 +01:00
Jelmer Vernooij
6a2caa34b2 Remove sys_chroot() - libreplace already provides an alternative. 2008-11-01 03:46:09 +01:00
Jelmer Vernooij
a6d537bb6c Move sys_realpath() to libreplace. 2008-11-01 03:42:27 +01:00
Jelmer Vernooij
38d67363ac Move sys_lchown() to libreplace. 2008-11-01 03:39:20 +01:00