summaryrefslogtreecommitdiff
path: root/source3/smbd/service.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-08-06 13:22:33 +0200
committerStefan Metzmacher <metze@samba.org>2009-08-07 14:18:14 +0200
commitc54e6b19e395724eb84f6e7157073e8772bc8594 (patch)
tree959cf0c63c920a933f407025bb99bcef489cd90c /source3/smbd/service.c
parent8300b255a5f88cc4ca23678595810d7caec50a00 (diff)
downloadsamba-c54e6b19e395724eb84f6e7157073e8772bc8594.tar.gz
samba-c54e6b19e395724eb84f6e7157073e8772bc8594.tar.bz2
samba-c54e6b19e395724eb84f6e7157073e8772bc8594.zip
s3:smbd: add a smbd_server_connection pointer to connection_struct
This can be NULL for faked connection structs used in the rpc server or printing code. metze
Diffstat (limited to 'source3/smbd/service.c')
-rw-r--r--source3/smbd/service.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/source3/smbd/service.c b/source3/smbd/service.c
index a043288bc9..c24b2264c1 100644
--- a/source3/smbd/service.c
+++ b/source3/smbd/service.c
@@ -673,7 +673,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
DEBUG(1, ("create_connection_server_info failed: %s\n",
nt_errstr(status)));
*pstatus = status;
- conn_free(sconn, conn);
+ conn_free(conn);
return NULL;
}
@@ -730,7 +730,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
fuser = talloc_string_sub(conn, lp_force_user(snum), "%S",
lp_servicename(snum));
if (fuser == NULL) {
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = NT_STATUS_NO_MEMORY;
return NULL;
}
@@ -739,7 +739,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
conn, fuser, conn->server_info->guest,
&forced_serverinfo);
if (!NT_STATUS_IS_OK(status)) {
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = status;
return NULL;
}
@@ -764,7 +764,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
&conn->server_info->utok.gid);
if (!NT_STATUS_IS_OK(status)) {
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = status;
return NULL;
}
@@ -790,14 +790,14 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
pdb_get_domain(conn->server_info->sam_account),
lp_pathname(snum));
if (!s) {
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = NT_STATUS_NO_MEMORY;
return NULL;
}
if (!set_conn_connectpath(conn,s)) {
TALLOC_FREE(s);
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = NT_STATUS_NO_MEMORY;
return NULL;
}
@@ -829,7 +829,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
"denied due to security "
"descriptor.\n",
lp_servicename(snum)));
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = NT_STATUS_ACCESS_DENIED;
return NULL;
} else {
@@ -842,7 +842,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
if (!smbd_vfs_init(conn)) {
DEBUG(0, ("vfs_init failed for service %s\n",
lp_servicename(snum)));
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = NT_STATUS_BAD_NETWORK_NAME;
return NULL;
}
@@ -860,7 +860,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
"for service %s, path %s\n",
lp_servicename(snum),
conn->connectpath));
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = NT_STATUS_BAD_NETWORK_NAME;
return NULL;
}
@@ -884,7 +884,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
DEBUG(1, ("Max connections (%d) exceeded for %s\n",
lp_max_connections(snum), lp_servicename(snum)));
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = NT_STATUS_INSUFFICIENT_RESOURCES;
return NULL;
}
@@ -894,7 +894,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
*/
if (!claim_connection(conn, lp_servicename(snum), 0)) {
DEBUG(1, ("Could not store connections entry\n"));
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = NT_STATUS_INTERNAL_DB_ERROR;
return NULL;
}
@@ -918,7 +918,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
DEBUG(1,("root preexec gave %d - failing "
"connection\n", ret));
yield_connection(conn, lp_servicename(snum));
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = NT_STATUS_ACCESS_DENIED;
return NULL;
}
@@ -929,7 +929,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
/* No point continuing if they fail the basic checks */
DEBUG(0,("Can't become connected user!\n"));
yield_connection(conn, lp_servicename(snum));
- conn_free(sconn, conn);
+ conn_free(conn);
*pstatus = NT_STATUS_LOGON_FAILURE;
return NULL;
}
@@ -1072,7 +1072,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn,
SMB_VFS_DISCONNECT(conn);
}
yield_connection(conn, lp_servicename(snum));
- conn_free(sconn, conn);
+ conn_free(conn);
return NULL;
}
@@ -1219,8 +1219,7 @@ connection_struct *make_connection(struct smbd_server_connection *sconn,
Close a cnum.
****************************************************************************/
-void close_cnum(struct smbd_server_connection *sconn,
- connection_struct *conn, uint16 vuid)
+void close_cnum(connection_struct *conn, uint16 vuid)
{
file_close_conn(conn);
@@ -1274,5 +1273,5 @@ void close_cnum(struct smbd_server_connection *sconn,
TALLOC_FREE(cmd);
}
- conn_free(sconn, conn);
+ conn_free(conn);
}