diff options
author | Volker Lendecke <vlendec@samba.org> | 2005-10-03 13:46:11 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:39:18 -0500 |
commit | e5c6a3e36147103e87d1c55173f4b54ba6134904 (patch) | |
tree | b50938eff14034f7b6db53caf76dd2cd9e8cd10c /source4/librpc/rpc | |
parent | 28bc38de2ab3a408702cd7d6b69d6549a1fea71a (diff) | |
download | samba-e5c6a3e36147103e87d1c55173f4b54ba6134904.tar.gz samba-e5c6a3e36147103e87d1c55173f4b54ba6134904.tar.bz2 samba-e5c6a3e36147103e87d1c55173f4b54ba6134904.zip |
r10683: Samba3's wbinfo -t should give the correct answer now.
Tridge, if you have time, you might want to look at the segfault I was still
seeing. Now I store the handle to the netlogon pipe in the global winbind
state and free it on the next entry into check_machacc. The problem seems to
be that talloc_free()ing a pipe struct from within a callback function on that
pipe is not possible. I think I can live with that, but it has been not really
obvious. To reproduce the segfault you might want to look at putting a
talloc_free(state->getcreds->out.netlogon) into
wbsrv_samba3_check_machacc_receive_creds. This is called from a dcerpc
callback function.
In particular if the check failed it would be nice if I could delete the pipe
directly and not post a different event to some winbind queue.
I tried to delete the pipe from a timed event triggered immediately, but this
also fails because the inner loop seems to hit the same event again, calling
it twice.
Volker
(This used to be commit 5436d7764812bb632ba865e633005ed07923b57f)
Diffstat (limited to 'source4/librpc/rpc')
-rw-r--r-- | source4/librpc/rpc/dcerpc_smb.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source4/librpc/rpc/dcerpc_smb.c b/source4/librpc/rpc/dcerpc_smb.c index 5fb4f7c950..b63a3080f5 100644 --- a/source4/librpc/rpc/dcerpc_smb.c +++ b/source4/librpc/rpc/dcerpc_smb.c @@ -470,7 +470,7 @@ static void pipe_open_recv(struct smbcli_request *req) smb->fnum = state->open->ntcreatex.out.fnum; smb->tree = talloc_reference(smb, state->tree); smb->server_name= strupper_talloc( - smb, state->tree->session->transport->socket->hostname); + smb, state->tree->session->transport->called.name); if (smb->server_name == NULL) { ctx->status = NT_STATUS_NO_MEMORY; goto done; |