summaryrefslogtreecommitdiff
path: root/source3/smbd/service.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2003-01-06 06:15:34 +0000
committerAndrew Bartlett <abartlet@samba.org>2003-01-06 06:15:34 +0000
commitcfe7718e9a4a51cf13faf77016231b598b3c248c (patch)
treed5d63df3257e5204aa3e119cef03e95ba1e6a417 /source3/smbd/service.c
parent9bc442abeb62c0a9985b43cf8475027ced7ec777 (diff)
downloadsamba-cfe7718e9a4a51cf13faf77016231b598b3c248c.tar.gz
samba-cfe7718e9a4a51cf13faf77016231b598b3c248c.tar.bz2
samba-cfe7718e9a4a51cf13faf77016231b598b3c248c.zip
Fix a segfault when we don't correctly load a VFS module (don't keep it in
the loaded list on error). Also change some of the error returns, becouse NT_STATUS_UNSUCCESSFUL gives a most useless error message on the client. As for which error, my logic is that a share without a valid VFS module is not a valid share, and therefore should return the same error as a non-existant share. Andrew Bartlett (This used to be commit 41178afdbd2b3de94cf272ce32764a1947e73ea8)
Diffstat (limited to 'source3/smbd/service.c')
-rw-r--r--source3/smbd/service.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source3/smbd/service.c b/source3/smbd/service.c
index d00c908a1a..dd427c2ae8 100644
--- a/source3/smbd/service.c
+++ b/source3/smbd/service.c
@@ -569,7 +569,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
if (!smbd_vfs_init(conn)) {
DEBUG(0, ("vfs_init failed for service %s\n", lp_servicename(SNUM(conn))));
conn_free(conn);
- *status = NT_STATUS_UNSUCCESSFUL;
+ *status = NT_STATUS_BAD_NETWORK_NAME;
return NULL;
}
@@ -598,7 +598,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
DEBUG(1,("root preexec gave %d - failing connection\n", ret));
yield_connection(conn, lp_servicename(SNUM(conn)));
conn_free(conn);
- *status = NT_STATUS_UNSUCCESSFUL;
+ *status = NT_STATUS_ACCESS_DENIED;
return NULL;
}
}
@@ -627,7 +627,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
change_to_root_user();
yield_connection(conn, lp_servicename(SNUM(conn)));
conn_free(conn);
- *status = NT_STATUS_UNSUCCESSFUL;
+ *status = NT_STATUS_ACCESS_DENIED;
return NULL;
}
}