Problem with SAMR pipe (ChangePassword() Python binding)

Andrew Bartlett abartlet at samba.org
Sun Aug 23 06:44:58 MDT 2009


On Sat, 2009-08-22 at 19:33 +0300, Nadezhda Ivanova wrote:
> Hi all,
> I played a bit with libnet_ChangePassword and here is what I get:
> The error message that happens to Zahari below does not appear if you
> sue a sudoer, so it's a basic permissions issue.

This actually gives us a clue - as it should still work without root
permissions.  What happens however is that when it can contact the
nbt_server, it will ask it to send a GetDC request to the target server,
in the hope of discovering it's name.   This will trigger a response to
port 137, where the nbt_server is listening.  

If that fails, it will try a node status request.  This may fail on a
system that doesn't support NBT, or perhaps something else goes wrong.
This is probably where the code triggers it's INVALID_PARAMETER error. 

>  However, I get a crash, bith when using Zahari's python binding and
> when I use "net password set" or "net password change"

Well, at least that means it can't be the bindings :-)

> [root at dev bin]# ./net password change Administrator
> Password for [RUMBA\root]:
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> INTERNAL ERROR: Signal 6 in pid 28516 (4.0.0alpha9-GIT-6f69f16)
> Please read the file BUGS.txt in the distribution
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> PANIC: internal error
> BACKTRACE: 49 stack frames:
>  #0 ./net(call_backtrace+0x2b) [0x865a3ff]
>  #1 ./net(smb_panic+0x296) [0x865a781]
>  #2 ./net [0x865a94c]
>  #3 ./net(fault_setup+0) [0x865a981]
>  #4 [0x52f400]
>  #5 /lib/libc.so.6(abort+0x188) [0x828028]
>  #6 ./net [0x86716be]
>  #7 ./net [0x8671718]
>  #8 ./net [0x8671817]
>  #9 ./net(talloc_get_name+0x1d) [0x867292b]
>  #10 ./net(talloc_check_name+0x34) [0x86729af]
>  #11 ./net [0x8115297]
>  #12 ./net(composite_error+0xc1) [0x82149d6]
>  #13 ./net(composite_is_ok+0x37) [0x8214a57]
>  #14 ./net [0x814e237]
>  #15 ./net [0x814e279]
>  #16 ./net(smbcli_transport_dead+0x15c) [0x815705a]
>  #17 ./net [0x8156bb4]
>  #18 ./net [0x86724d1]
>  #19 ./net [0x8672652]
>  #20 ./net [0x8672652]
>  #21 ./net [0x8672652]
>  #22 ./net [0x8672652]
>  #23 ./net [0x8672652]
>  #24 ./net(_talloc_free+0xbe) [0x8672de9]
>  #25 ./net(dcerpc_pipe_connect_b_recv+0x89) [0x8116b6a]
>  #26 ./net [0x80c08c6]
>  #27 ./net(composite_error+0xc1) [0x82149d6]
>  #28 ./net [0x8116800]
>  #29 ./net(tevent_common_loop_timer_delay+0x195) [0x86478ad]
>  #30 ./net [0x8649d97]
>  #31 ./net [0x864a549]
>  #32 ./net(_tevent_loop_once+0xdf) [0x86469ff]
>  #33 ./net(composite_wait+0x44) [0x821484e]
>  #34 ./net [0x80c0f87]
>  #35 ./net(libnet_RpcConnect_recv+0x88) [0x80c22fa]
>  #36 ./net(libnet_RpcConnect+0x5e) [0x80c23ba]
>  #37 ./net [0x80be820]
>  #38 ./net(libnet_ChangePassword+0x76) [0x80bf007]
>  #39 ./net [0x80bef75]
>  #40 ./net(libnet_ChangePassword+0x51) [0x80befe2]
>  #41 ./net [0x80bc8d8]
>  #42 ./net(net_run_function+0xc5) [0x80bbfb9]
>  #43 ./net(net_password+0x3f) [0x80bcc8e]
>  #44 ./net(net_run_function+0xc5) [0x80bbfb9]
>  #45 ./net [0x80bc4a4]
>  #46 ./net(main+0x22) [0x80bc55a]
>  #47 /lib/libc.so.6(__libc_start_main+0xe6) [0x8125d6]
>  #48 ./net [0x80bbe61]
> Aborted
> 
> Any ideas what might be the cause of this? 

Did it actually manage to connect before it crashed (see a wireshark
trace).  This looks like our long-standing challenge with pulling down
RPC connections in Samba4 after the remote server drops the connection. 

Andrew Bartlett
-- 
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org
Samba Developer, Cisco Inc.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20090823/33208302/attachment.pgp>


More information about the samba-technical mailing list