The branch, master has been updated via bb4995b s4/heimdal: fix make-proto.pl with perl 5.16 via fa98ef1 replace: make the INT64_MAX define more portable via b40fb6e s3: if we know a file is immutable, report it to be readonly from 74bf0c6 ntdb: make --disable-ntdb work properly.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit bb4995b0d1934f0a084714c8369e9fef46090df1 Author: Björn Jacke <b...@sernet.de> Date: Wed Jul 4 11:14:15 2012 +0200 s4/heimdal: fix make-proto.pl with perl 5.16 Thanks to Torsten Kurbad. This fixes #9025. Autobuild-User(master): Björn Jacke <b...@sernet.de> Autobuild-Date(master): Wed Jul 4 13:51:07 CEST 2012 on sn-devel-104 commit fa98ef112b09083675afcedae3617742a0f9d5e7 Author: Björn Jacke <b...@sernet.de> Date: Wed Jul 4 10:33:58 2012 +0200 replace: make the INT64_MAX define more portable commit b40fb6eec55cecc30d7500bb6b9799e2e9324f44 Author: Björn Jacke <b...@sernet.de> Date: Wed Jul 4 00:33:41 2012 +0200 s3: if we know a file is immutable, report it to be readonly on *BSD we get the immutable flag via st_flags, we should use that if possible. ----------------------------------------------------------------------- Summary of changes: lib/replace/replace.h | 2 +- source3/smbd/dosmode.c | 6 ++++++ source4/heimdal/cf/make-proto.pl | 5 ++--- 3 files changed, 9 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/lib/replace/replace.h b/lib/replace/replace.h index 40e0648..fa7cc78 100644 --- a/lib/replace/replace.h +++ b/lib/replace/replace.h @@ -587,7 +587,7 @@ int rep_strerror_r(int errnum, char *buf, size_t buflen); #endif #ifndef INT64_MAX -#define INT64_MAX 9223372036854775807 +#define INT64_MAX 9223372036854775807LL #endif #ifndef CHAR_BIT diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c index 823d44d..747ba21 100644 --- a/source3/smbd/dosmode.c +++ b/source3/smbd/dosmode.c @@ -170,6 +170,12 @@ static uint32 dos_mode_from_sbuf(connection_struct *conn, int result = 0; enum mapreadonly_options ro_opts = (enum mapreadonly_options)lp_map_readonly(SNUM(conn)); +#if defined(UF_IMMUTABLE) && defined(SF_IMMUTABLE) + /* if we can find out if a file is immutable we should report it r/o */ + if (smb_fname->st.st_ex_flags & (UF_IMMUTABLE | SF_IMMUTABLE)) { + result |= FILE_ATTRIBUTE_READONLY; + } +#endif if (ro_opts == MAP_READONLY_YES) { /* Original Samba method - map inverse of user "w" bit. */ if ((smb_fname->st.st_ex_mode & S_IWUSR) == 0) { diff --git a/source4/heimdal/cf/make-proto.pl b/source4/heimdal/cf/make-proto.pl index 6894dc1..07b53f9 100644 --- a/source4/heimdal/cf/make-proto.pl +++ b/source4/heimdal/cf/make-proto.pl @@ -1,8 +1,7 @@ # Make prototypes from .c files # $Id$ -##use Getopt::Std; -require 'getopts.pl'; +use Getopt::Std; my $comment = 0; my $if_0 = 0; @@ -13,7 +12,7 @@ my $oproto = 1; my $private_func_re = "^_"; my %depfunction = (); -Getopts('x:m:o:p:dqE:R:P:') || die "foo"; +getopts('x:m:o:p:dqE:R:P:') || die "foo"; if($opt_d) { $debug = 1; -- Samba Shared Repository