svn commit: samba r12312 - branches/SAMBA_3_0/source/smbd
trunk/source/smbd
vlendec at samba.org
vlendec at samba.org
Sun Dec 18 14:23:23 GMT 2005
Author: vlendec
Date: 2005-12-18 14:23:23 +0000 (Sun, 18 Dec 2005)
New Revision: 12312
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12312
Log:
Reformatting and a trivial change: is_share_read_only_for_user only uses
conn->service, so there's no point in passing down the whole conn struct.
Volker
Modified:
branches/SAMBA_3_0/source/smbd/uid.c
trunk/source/smbd/uid.c
Changeset:
Modified: branches/SAMBA_3_0/source/smbd/uid.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/uid.c 2005-12-18 13:54:53 UTC (rev 12311)
+++ branches/SAMBA_3_0/source/smbd/uid.c 2005-12-18 14:23:23 UTC (rev 12312)
@@ -81,45 +81,53 @@
Readonly share for this user ?
****************************************************************************/
-static BOOL is_share_read_only_for_user(connection_struct *conn, user_struct *vuser)
+static BOOL is_share_read_only_for_user(int snum, user_struct *vuser)
{
char **list;
- const char *service = lp_servicename(conn->service);
- BOOL read_only_ret = lp_readonly(conn->service);
+ const char *service = lp_servicename(snum);
+ BOOL read_only_ret = lp_readonly(snum);
if (!service)
return read_only_ret;
- str_list_copy(&list, lp_readlist(conn->service));
+ str_list_copy(&list, lp_readlist(snum));
if (list) {
if (!str_list_sub_basic(list, vuser->user.smb_name) ) {
- DEBUG(0, ("is_share_read_only_for_user: ERROR: read list substitution failed\n"));
+ DEBUG(0, ("is_share_read_only_for_user: ERROR: read "
+ "list substitution failed\n"));
}
if (!str_list_substitute(list, "%S", service)) {
- DEBUG(0, ("is_share_read_only_for_user: ERROR: read list service substitution failed\n"));
+ DEBUG(0, ("is_share_read_only_for_user: ERROR: read "
+ "list service substitution failed\n"));
}
- if (user_in_list(vuser->user.unix_name, (const char **)list, vuser->groups, vuser->n_groups)) {
+ if (user_in_list(vuser->user.unix_name, (const char **)list,
+ vuser->groups, vuser->n_groups)) {
read_only_ret = True;
}
str_list_free(&list);
}
- str_list_copy(&list, lp_writelist(conn->service));
+ str_list_copy(&list, lp_writelist(snum));
if (list) {
if (!str_list_sub_basic(list, vuser->user.smb_name) ) {
- DEBUG(0, ("is_share_read_only_for_user: ERROR: write list substitution failed\n"));
+ DEBUG(0, ("is_share_read_only_for_user: ERROR: write "
+ "list substitution failed\n"));
}
if (!str_list_substitute(list, "%S", service)) {
- DEBUG(0, ("is_share_read_only_for_user: ERROR: write list service substitution failed\n"));
+ DEBUG(0, ("is_share_read_only_for_user: ERROR: write "
+ "list service substitution failed\n"));
}
- if (user_in_list(vuser->user.unix_name, (const char **)list, vuser->groups, vuser->n_groups)) {
+ if (user_in_list(vuser->user.unix_name, (const char **)list,
+ vuser->groups, vuser->n_groups)) {
read_only_ret = False;
}
str_list_free(&list);
}
- DEBUG(10,("is_share_read_only_for_user: share %s is %s for unix user %s\n",
- service, read_only_ret ? "read-only" : "read-write", vuser->user.unix_name ));
+ DEBUG(10,("is_share_read_only_for_user: share %s is %s for unix user "
+ "%s\n", service,
+ read_only_ret ? "read-only" : "read-write",
+ vuser->user.unix_name ));
return read_only_ret;
}
@@ -146,7 +154,7 @@
if (!user_ok(vuser->user.unix_name,snum, vuser->groups, vuser->n_groups))
return(False);
- readonly_share = is_share_read_only_for_user(conn, vuser);
+ readonly_share = is_share_read_only_for_user(conn->service, vuser);
if (!readonly_share &&
!share_access_check(conn, snum, vuser, FILE_WRITE_DATA)) {
Modified: trunk/source/smbd/uid.c
===================================================================
--- trunk/source/smbd/uid.c 2005-12-18 13:54:53 UTC (rev 12311)
+++ trunk/source/smbd/uid.c 2005-12-18 14:23:23 UTC (rev 12312)
@@ -81,45 +81,53 @@
Readonly share for this user ?
****************************************************************************/
-static BOOL is_share_read_only_for_user(connection_struct *conn, user_struct *vuser)
+static BOOL is_share_read_only_for_user(int snum, user_struct *vuser)
{
char **list;
- const char *service = lp_servicename(conn->service);
- BOOL read_only_ret = lp_readonly(conn->service);
+ const char *service = lp_servicename(snum);
+ BOOL read_only_ret = lp_readonly(snum);
if (!service)
return read_only_ret;
- str_list_copy(&list, lp_readlist(conn->service));
+ str_list_copy(&list, lp_readlist(snum));
if (list) {
if (!str_list_sub_basic(list, vuser->user.smb_name) ) {
- DEBUG(0, ("is_share_read_only_for_user: ERROR: read list substitution failed\n"));
+ DEBUG(0, ("is_share_read_only_for_user: ERROR: read "
+ "list substitution failed\n"));
}
if (!str_list_substitute(list, "%S", service)) {
- DEBUG(0, ("is_share_read_only_for_user: ERROR: read list service substitution failed\n"));
+ DEBUG(0, ("is_share_read_only_for_user: ERROR: read "
+ "list service substitution failed\n"));
}
- if (user_in_list(vuser->user.unix_name, (const char **)list, vuser->groups, vuser->n_groups)) {
+ if (user_in_list(vuser->user.unix_name, (const char **)list,
+ vuser->groups, vuser->n_groups)) {
read_only_ret = True;
}
str_list_free(&list);
}
- str_list_copy(&list, lp_writelist(conn->service));
+ str_list_copy(&list, lp_writelist(snum));
if (list) {
if (!str_list_sub_basic(list, vuser->user.smb_name) ) {
- DEBUG(0, ("is_share_read_only_for_user: ERROR: write list substitution failed\n"));
+ DEBUG(0, ("is_share_read_only_for_user: ERROR: write "
+ "list substitution failed\n"));
}
if (!str_list_substitute(list, "%S", service)) {
- DEBUG(0, ("is_share_read_only_for_user: ERROR: write list service substitution failed\n"));
+ DEBUG(0, ("is_share_read_only_for_user: ERROR: write "
+ "list service substitution failed\n"));
}
- if (user_in_list(vuser->user.unix_name, (const char **)list, vuser->groups, vuser->n_groups)) {
+ if (user_in_list(vuser->user.unix_name, (const char **)list,
+ vuser->groups, vuser->n_groups)) {
read_only_ret = False;
}
str_list_free(&list);
}
- DEBUG(10,("is_share_read_only_for_user: share %s is %s for unix user %s\n",
- service, read_only_ret ? "read-only" : "read-write", vuser->user.unix_name ));
+ DEBUG(10,("is_share_read_only_for_user: share %s is %s for unix user "
+ "%s\n", service,
+ read_only_ret ? "read-only" : "read-write",
+ vuser->user.unix_name ));
return read_only_ret;
}
@@ -146,7 +154,7 @@
if (!user_ok(vuser->user.unix_name,snum, vuser->groups, vuser->n_groups))
return(False);
- readonly_share = is_share_read_only_for_user(conn, vuser);
+ readonly_share = is_share_read_only_for_user(conn->service, vuser);
if (!readonly_share &&
!share_access_check(conn, snum, vuser, FILE_WRITE_DATA)) {
More information about the samba-cvs
mailing list