PATCH samba cache and read-ahead

Amin Azez azez at ufomechanic.net
Fri Jan 11 17:19:39 GMT 2008


* Jelmer Vernooij wrote, On 11/01/08 15:31:
> Am Freitag, den 11.01.2008, 15:25 +0000 schrieb Amin Azez:
>   
>> * Jelmer Vernooij wrote, On 11/01/08 15:08:
>>     
>>>> Please could you advise me on the different rpc pipe open calls. I will
>>>> want to be doing syncronous and asyncronous calls in both directions? 
>>>>     
>>>>         
>>> Basically, if you need to connect synchronously, use
>>> dcerpc_pipe_connect() and use
>>> dcerpc_pipe_connect_send()/dcerpc_pipe_connect_recv() when you need to
>>> connect asynchronously. There is also dcerpc_pipe_connect_b() (and
>>> matching async functions) which allows you to specify a binding struct
>>> rather than a binding string. 
>>>   
>>>       
>> Thanks for your comments on this (and the other).
>>
>> Please could you give an example of a binding string?
>> (I think there are some in the torture config but I can't find that)
>>     
> There is an explanation in prog_guide.txt in the root of the Samba 4 git
> tree. 
>
> Examples of binding strings could be : ncalrpc:,
> ncacn_ip_tcp:192.168.4.8 or ncacn_np:SOMEHOST.
>   
It looks like either method results in a new socket connection, is that
right? Or can one use a provided session?


Anyway, I'm getting the error:
NT_STATUS_OBJECT_NAME_NOT_FOUND

I'm calling (from proxy_connect - same as cifs_connect in vfs_cifs):
status=dcerpc_pipe_connect(private, &private->proxy_pipe,
"ncacn_np:wafs-slave.ufomechanic.net", &ndr_table_rpcproxy, credentials,
NULL);

However, if I change to use rpc echo:

status=dcerpc_pipe_connect(private, &private->proxy_pipe,
"ncacn_np:wafs-slave.ufomechanic.net", &ndr_table_rpcecho, credentials,
NULL);

it works..... hmmm... and yet rpcproxy should be a clone of echo with
renames and a new guid...

The debug output (level 5, higher shows nothing more) is:

Using binding ncacn_np:wafs-slave.ufomechanic.net
Mapped to DCERPC endpoint \pipe\rpcproxy
Shutdown SMB signing
SMB Signing is not negotiated by the peer
Starting GENSEC mechanism spnego
Server claims it's principal name is WAFS-SLAVE$@UFOMECHANIC.NET
Starting GENSEC submechanism gssapi_krb5
Received smb_krb5 packet of length 1294
Received smb_krb5 packet of length 1236
SMB Signing is not negotiated by the peer
gensec_gssapi: credentials were delegated
GSSAPI Connection will be cryptographicly sealed
SMB Signing is not negotiated by the peer
>>>> BINDING: NT_STATUS_OBJECT_NAME_NOT_FOUND


The significant packet received on the remote server is:
        0x0000:  4500 00a0 6fb6 4000 4006 483c c0a8 008b  E...o. at .@.H<....
        0x0010:  c0a8 008a 90a9 01bd d56d 5321 d525 ec01  .........mS!.%..
        0x0020:  8018 01f3 3bc9 0000 0101 080a 06c2 2939  ....;.........)9
        0x0030:  06c2 345e 0000 0068 ff53 4d42 a200 0000  ..4^...h.SMB....
        0x0040:  0008 03c8 0000 0000 0000 0000 0000 0000  ................
        0x0050:  d590 2a2d af48 0400 18ff 0000 0000 1200  ..*-.H..........
        0x0060:  0000 0000 0000 0000 1301 0200 0000 0000  ................
        0x0070:  0000 0000 0000 0000 0300 0000 0100 0000  ................
        0x0080:  0000 0000 0200 0000 0015 0000 5c00 7200  ............\.r.
        0x0090:  7000 6300 7000 7200 6f00 7800 7900 0000  p.c.p.r.o.x.y...

I was expecting it to say \pipe\rpcproxy or something, but if I add that
it gets removed anyway....

I'm running the same build on both machines.
I'll try and spot the difference. Thanks for your help, Jelmer.

Sam



More information about the samba-technical mailing list