[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Tue Apr 27 09:06:07 MDT 2010
The branch, master has been updated
via 7ca576e... s4:rpc_server: remove unused socket_address based functions
via 9a1a001... s4:web_server: use tsocket_address functions to get the local ip and port
via 41d9707... s4:smb_server: use tsocket_address_string() for debugging the client address
via b778251... s4:wrepl_server: use tsocket_address functions to get the peer ip
via 0a70788... s4:lib/registry: fix the waf build
from a2b8e28... s4-smbtorture: upload the full cups driver, otherwise windows will not allow using it.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 7ca576e5c4a0da616c2a6738859c9c989f76202e
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Apr 27 16:49:00 2010 +0200
s4:rpc_server: remove unused socket_address based functions
metze
commit 9a1a00199c2603376eacfdba7e7d0d55bc64f405
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Apr 27 16:36:26 2010 +0200
s4:web_server: use tsocket_address functions to get the local ip and port
metze
commit 41d970718a105a1321cf80bc1004b51b7af7cc69
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Apr 27 16:05:08 2010 +0200
s4:smb_server: use tsocket_address_string() for debugging the client address
metze
commit b7782514b91b365ec07426d4adfc8f59c53c372e
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Apr 27 16:17:28 2010 +0200
s4:wrepl_server: use tsocket_address functions to get the peer ip
metze
commit 0a70788e190ca00cab27c67000abf77617141b5e
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Apr 27 17:04:32 2010 +0200
s4:lib/registry: fix the waf build
The pass to a source file is relative to the wscript* file.
metze
-----------------------------------------------------------------------
Summary of changes:
source4/lib/registry/wscript_build | 2 +-
source4/rpc_server/service_rpc.c | 18 ------------------
source4/smb_server/management.c | 16 ++++++++--------
source4/web_server/wsgi.c | 16 +++++++++++-----
source4/wrepl_server/wrepl_in_call.c | 21 ++++++++++++++++-----
5 files changed, 36 insertions(+), 37 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/lib/registry/wscript_build b/source4/lib/registry/wscript_build
index 2e07757..185685c 100644
--- a/source4/lib/registry/wscript_build
+++ b/source4/lib/registry/wscript_build
@@ -11,7 +11,7 @@ bld.SAMBA_SUBSYSTEM('TDR_REGF',
bld.SAMBA_LIBRARY('registry',
- source='interface.c ../libcli/registry/util_reg.c util.c samba.c patchfile_dotreg.c patchfile_preg.c patchfile.c regf.c hive.c local.c ldb.c dir.c rpc.c',
+ source='interface.c ../../../libcli/registry/util_reg.c util.c samba.c patchfile_dotreg.c patchfile_preg.c patchfile.c regf.c hive.c local.c ldb.c dir.c rpc.c',
pc_files='registry.pc',
public_deps='LIBSAMBA-UTIL CHARSET TDR_REGF ldb RPC_NDR_WINREG LDB_WRAP',
public_headers='registry.h',
diff --git a/source4/rpc_server/service_rpc.c b/source4/rpc_server/service_rpc.c
index 906b02d..6f4df00 100644
--- a/source4/rpc_server/service_rpc.c
+++ b/source4/rpc_server/service_rpc.c
@@ -133,24 +133,6 @@ static void dcesrv_sock_reply_done(struct tevent_req *subreq)
}
}
-static struct socket_address *dcesrv_sock_get_my_addr(struct dcesrv_connection *dcesrv_conn, TALLOC_CTX *mem_ctx)
-{
- struct stream_connection *srv_conn;
- srv_conn = talloc_get_type(dcesrv_conn->transport.private_data,
- struct stream_connection);
-
- return socket_get_my_addr(srv_conn->socket, mem_ctx);
-}
-
-static struct socket_address *dcesrv_sock_get_peer_addr(struct dcesrv_connection *dcesrv_conn, TALLOC_CTX *mem_ctx)
-{
- struct stream_connection *srv_conn;
- srv_conn = talloc_get_type(dcesrv_conn->transport.private_data,
- struct stream_connection);
-
- return socket_get_peer_addr(srv_conn->socket, mem_ctx);
-}
-
struct dcerpc_read_ncacn_packet_state {
struct {
struct smb_iconv_convenience *smb_iconv_c;
diff --git a/source4/smb_server/management.c b/source4/smb_server/management.c
index b8e42ae..0537359 100644
--- a/source4/smb_server/management.c
+++ b/source4/smb_server/management.c
@@ -79,9 +79,15 @@ static NTSTATUS smbsrv_tcon_information(struct irpc_message *msg,
{
struct smbsrv_connection *smb_conn = talloc_get_type(msg->private_data,
struct smbsrv_connection);
+ struct tsocket_address *client_addr = smb_conn->connection->remote_address;
+ char *client_addr_string;
int i=0, count=0;
struct smbsrv_tcon *tcon;
+ /* This is for debugging only! */
+ client_addr_string = tsocket_address_string(client_addr, r);
+ NT_STATUS_HAVE_NO_MEMORY(client_addr_string);
+
/* count the number of tcons */
for (tcon=smb_conn->smb_tcons.list; tcon; tcon=tcon->next) {
count++;
@@ -93,14 +99,8 @@ static NTSTATUS smbsrv_tcon_information(struct irpc_message *msg,
for (tcon=smb_conn->smb_tcons.list; tcon; tcon=tcon->next) {
struct smbsrv_tcon_info *info = &r->out.info.tcons.tcons[i];
- struct socket_address *client_addr;
- client_addr = socket_get_peer_addr(smb_conn->connection->socket, r);
-
- if (client_addr) {
- info->client_ip = client_addr->addr;
- } else {
- info->client_ip = NULL;
- }
+
+ info->client_ip = client_addr_string;
info->tid = tcon->tid;
info->share_name = tcon->share_name;
diff --git a/source4/web_server/wsgi.c b/source4/web_server/wsgi.c
index 9b5e384..7ee70e1 100644
--- a/source4/web_server/wsgi.c
+++ b/source4/web_server/wsgi.c
@@ -26,6 +26,7 @@
#include "../lib/util/dlinklist.h"
#include "../lib/util/data_blob.h"
#include "lib/tls/tls.h"
+#include "lib/tsocket/tsocket.h"
typedef struct {
PyObject_HEAD
@@ -320,18 +321,23 @@ static void wsgi_process_http_input(struct web_server_data *wdata,
{
PyObject *py_environ, *result, *item, *iter;
PyObject *request_handler = (PyObject *)wdata->private_data;
- struct socket_address *socket_address;
-
+ struct tsocket_address *my_address = web->conn->local_address;
+ const char *addr = "0.0.0.0";
+ uint16_t port = 0;
web_request_Object *py_web = PyObject_New(web_request_Object, &web_request_Type);
py_web->web = web;
- socket_address = socket_get_my_addr(web->conn->socket, web);
+ if (tsocket_address_is_inet(my_address, "ip")) {
+ addr = tsocket_address_inet_addr_string(my_address, wdata);
+ port = tsocket_address_inet_port(my_address);
+ }
+
py_environ = create_environ(tls_enabled(web->conn->socket),
web->input.content_length,
web->input.headers,
web->input.post_request?"POST":"GET",
- socket_address->addr,
- socket_address->port,
+ addr,
+ port,
Py_InputHttpStream(web),
web->input.url
);
diff --git a/source4/wrepl_server/wrepl_in_call.c b/source4/wrepl_server/wrepl_in_call.c
index dfe2555..91a3940 100644
--- a/source4/wrepl_server/wrepl_in_call.c
+++ b/source4/wrepl_server/wrepl_in_call.c
@@ -21,7 +21,7 @@
#include "includes.h"
#include "lib/events/events.h"
-#include "lib/socket/socket.h"
+#include "lib/tsocket/tsocket.h"
#include "smbd/service_task.h"
#include "smbd/service_stream.h"
#include "libcli/wrepl/winsrepl.h"
@@ -429,12 +429,23 @@ static NTSTATUS wreplsrv_in_replication(struct wreplsrv_in_call *call)
}
if (!call->wreplconn->partner) {
- struct socket_address *partner_ip = socket_get_peer_addr(call->wreplconn->conn->socket, call);
+ struct tsocket_address *peer_addr = call->wreplconn->conn->remote_address;
+ char *peer_ip;
- call->wreplconn->partner = wreplsrv_find_partner(call->wreplconn->service, partner_ip->addr);
+ if (!tsocket_address_is_inet(peer_addr, "ipv4")) {
+ DEBUG(0,("wreplsrv_in_replication: non ipv4 peer addr '%s'\n",
+ tsocket_address_string(peer_addr, call)));
+ return NT_STATUS_INTERNAL_ERROR;
+ }
+
+ peer_ip = tsocket_address_inet_addr_string(peer_addr, call);
+ if (peer_ip == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ call->wreplconn->partner = wreplsrv_find_partner(call->wreplconn->service, peer_ip);
if (!call->wreplconn->partner) {
- DEBUG(1,("Failing WINS replication from non-partner %s\n",
- partner_ip ? partner_ip->addr : NULL));
+ DEBUG(1,("Failing WINS replication from non-partner %s\n", peer_ip));
return wreplsrv_in_stop_assoc_ctx(call);
}
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list