summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/smb.h1
-rw-r--r--source3/param/loadparm.c3
-rw-r--r--source3/smbd/dosmode.c13
3 files changed, 3 insertions, 14 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 0a49b72a27..00c5464251 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -865,6 +865,7 @@ struct bitmap {
#define FLAG_HIDE 2 /* options that should be hidden in SWAT */
#define FLAG_PRINT 4 /* printing options */
#define FLAG_GLOBAL 8 /* local options that should be globally settable in SWAT */
+#define FLAG_DEPRECATED 16 /* options that should no longer be used */
#ifndef LOCKING_VERSION
#define LOCKING_VERSION 4
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index c2f7837aa8..6056187066 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -496,7 +496,7 @@ static struct parm_struct parm_table[] =
{"password level", P_INTEGER, P_GLOBAL, &Globals.pwordlevel, NULL, NULL, 0},
{"username level", P_INTEGER, P_GLOBAL, &Globals.unamelevel, NULL, NULL, 0},
{"unix password sync", P_BOOL, P_GLOBAL, &Globals.bUnixPasswdSync, NULL, NULL, 0},
- {"alternate permissions",P_BOOL,P_LOCAL, &sDefault.bAlternatePerm, NULL, NULL, FLAG_GLOBAL},
+ {"alternate permissions",P_BOOL,P_LOCAL, &sDefault.bAlternatePerm, NULL, NULL, FLAG_GLOBAL|FLAG_DEPRECATED},
{"revalidate", P_BOOL, P_LOCAL, &sDefault.bRevalidate, NULL, NULL, FLAG_GLOBAL},
{"username", P_STRING, P_LOCAL, &sDefault.szUsername, NULL, NULL, FLAG_GLOBAL},
{"user", P_STRING, P_LOCAL, &sDefault.szUsername, NULL, NULL, 0},
@@ -1205,7 +1205,6 @@ FN_LOCAL_STRING(lp_hide_files,szHideFiles)
FN_LOCAL_STRING(lp_veto_oplocks,szVetoOplockFiles)
FN_LOCAL_STRING(lp_driverlocation,szPrinterDriverLocation)
-FN_LOCAL_BOOL(lp_alternate_permissions,bAlternatePerm)
FN_LOCAL_BOOL(lp_revalidate,bRevalidate)
FN_LOCAL_BOOL(lp_casesensitive,bCaseSensitive)
FN_LOCAL_BOOL(lp_preservecase,bCasePreserve)
diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c
index 9db3e208b5..da7fdfb973 100644
--- a/source3/smbd/dosmode.c
+++ b/source3/smbd/dosmode.c
@@ -78,22 +78,11 @@ mode_t unix_mode(connection_struct *conn,int dosmode)
int dos_mode(connection_struct *conn,char *path,struct stat *sbuf)
{
int result = 0;
- extern struct current_user current_user;
DEBUG(8,("dos_mode: %s\n", path));
- if (CAN_WRITE(conn) && !lp_alternate_permissions(SNUM(conn))) {
- if (!((sbuf->st_mode & S_IWOTH) ||
- conn->admin_user ||
- ((sbuf->st_mode & S_IWUSR) && current_user.uid==sbuf->st_uid) ||
- ((sbuf->st_mode & S_IWGRP) &&
- in_group(sbuf->st_gid,current_user.gid,
- current_user.ngroups,current_user.groups))))
- result |= aRONLY;
- } else {
- if ((sbuf->st_mode & S_IWUSR) == 0)
+ if ((sbuf->st_mode & S_IWUSR) == 0)
result |= aRONLY;
- }
if (MAP_ARCHIVE(conn) && ((sbuf->st_mode & S_IXUSR) != 0))
result |= aARCH;