Bug 3223 - net rpc info is broken
net rpc info is broken
Product: Samba 3.0
Classification: Unclassified
Component: File Services
x86 Linux
: P3 normal
: none
Assigned To: Samba Bugzilla Account
Samba QA Contact
Depends on:
  Show dependency treegraph
Reported: 2005-10-28 17:08 UTC by John H Terpstra
Modified: 2005-11-09 10:35 UTC (History)
0 users

See Also:

Backtrace from gdb (3.46 KB, text/plain)
2005-10-28 17:10 UTC, John H Terpstra
no flags Details
Proposed patch (3.48 KB, patch)
2005-10-31 16:44 UTC, Jeremy Allison
no flags Details
GDB Backtrace (3.41 KB, text/plain)
2005-10-31 20:22 UTC, John H Terpstra
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description John H Terpstra 2005-10-28 17:08:37 UTC
Debugging results found the failure of lib/smbldap.c at line 826

I replaced the return statement with smb_panic(), compiled with -O1 and -g.


   net rpc info -Uroot%password

Backtrace is attached.

When I print out the return value of geteuid() at the point of failure it is
always 65534 (0xFFFE).

This does look like a bug somewhere!
Comment 1 John H Terpstra 2005-10-28 17:10:28 UTC
Created attachment 1550 [details]
Backtrace from gdb
Comment 2 Jeremy Allison 2005-10-31 16:44:46 UTC
Created attachment 1556 [details]
Proposed patch

This should fix it.
Comment 3 Jeremy Allison 2005-10-31 16:45:48 UTC
Should be fixed - please re-open if not (fixed in SAMBA_3_0 and HEAD svn).
Comment 4 John H Terpstra 2005-10-31 20:22:41 UTC
Created attachment 1557 [details]
GDB Backtrace

Binaries were built from SVN version 11433.
Comment 5 John H Terpstra 2005-10-31 20:23:04 UTC
Sorry, it is not fixed.

I replaced the return statement following line 826 in smbldap.c with:

DEBUG(0, ("getuid returned: %X", geteuid()));
smb_panic("Oops, Panic!");

When I executed:
   net rpc info -S merlin -U root%password

Output was:
geteuid returned: FFFE

Backtrace will be attached.

- John T.
Comment 6 Jeremy Allison 2005-10-31 22:08:53 UTC
The line number in your backtrace doesn't match the source code. You are not
running out of SAMBA_3_0.

In your backtrace you have :

#12 0x081f0ba8 in pdb_get_account_policy (policy_index=-512, value=0xfffffe00)
at pdb_interface.c:1426
#13 0x0817d50e in _samr_query_dom_info (p=0x83d9ff8, q_u=0xbfffe710,
r_u=0xbfffe700) at srv_samr_nt.c:1852 

The source code at srv_samr_nt.c:1852 in SAMBA_3_0 is :
   1850                         unix_to_nt_time_abs(&nt_min_age, u_min_age);
   1852                         init_unk_info1(&ctr->info.inf1,
(uint16)min_pass_len, (uint16)pass_hist,
   1853                                        flag, nt_expire, nt_min_age);
   1854                         break;

The pdb_get_account_policy call occurs on line *1842* in the current source
code. You're not running the binaries with the modified code.

Comment 7 John H Terpstra 2005-11-01 00:33:00 UTC
Apologies. The changes you made were not picked up.
This problem is certainly closed.

- John T.
Comment 8 Gerald (Jerry) Carter 2005-11-09 10:35:44 UTC
I should note that if you are running SVN revisions you 
probably got bit by the same thing I did.  The release 
code requires you to manually migrate the policies.
But somewhere along the way Guenther played with automatic 
migration.  Which left my system in an unusable state since
the schema had not been updated.  There's actually a lot 
more of this same problem lurking in the code.