1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-14 20:23:54 +03:00
Commit Graph

269 Commits

Author SHA1 Message Date
Günther Deschner
6c4fe819c6 r14646: Adding samr querygroup infolevels 2 & 5.
Guenther
2007-10-10 11:15:42 -05:00
Gerald Carter
db1162241f r14634: Many bug fixes thanks to train rides and overnight stays in airports
* Finally fix parsing idmap uid/gid ranges not to break with spaces
  surrounding the '-'
* Allow local groups to renamed by adding info level 2 to
  _samr_set_aliasinfo()
* Fix parsing bug in _samr_del_dom_alias() reply
* Prevent root from being deleted via Samba
* Prevent builting groups from being renamed or deleted
* Fix bug in pdb_tdb that broke renaming user accounts
* Make sure winbindd is running when trying to create the Administrators
  and Users BUILTIN groups automatically from smbd (and not just check the
  winbind nexted groups parameter value).
* Have the top level rid allocator verify that the RID it is about to
  grant is not already assigned in our own SAM (retries up to 250 times).
  This fixes passdb with existing SIDs assigned to users from the RID algorithm
  but not monotonically allocating the RIDs from passdb.
2007-10-10 11:15:41 -05:00
Gerald Carter
612979476a r14403: * modifies create_local_nt_token() to create a BUILTIN\Administrators
group IFF sid_to_gid(S-1-5-32-544) fails and 'winbind nested groups = yes'

* Add a SID domain to the group mapping enumeration passdb call
  to fix the checks for local and builtin groups.  The SID can be
  NULL if you want the old semantics for internal maintenance.
  I only updated the tdb group mapping code.

* remove any group mapping from the tdb that have a
  gid of -1 for better consistency with pdb_ldap.c.
  The fixes the problem with calling add_group_map() in
  the tdb code for unmapped groups which might have had
  a record present.

* Ensure that we distinguish between groups in the
  BUILTIN and local machine domains via getgrnam()
  Other wise BUILTIN\Administrators & SERVER\Administrators
  would resolve to the same gid.

* Doesn't strip the global_sam_name() from groups in the
  local machine's domain (this is required to work with
  'winbind default domain' code)

Still todo.

* Fix fallback Administrators membership for root and domain Admins
  if nested groups = no or winbindd is not running

* issues with "su - user -c 'groups'" command

* There are a few outstanding issues with BUILTIN\Users that
  Windows apparently tends to assume.  I worked around this
  presently with a manual group mapping but I do not think
  this is a good solution.  So I'll probably add some similar
  as I did for Administrators.
2007-10-10 11:15:28 -05:00
Jeremy Allison
aa85ba4f37 r13778: When deleting machine accounts it's the SeMachineAccountPrivilege
that counts.
Jeremy.
2007-10-10 11:10:53 -05:00
Simo Sorce
239a37d201 r13715: Put back the code that actually modify the account,
removed, I presume by mistake, by Jerry in the recent
patch the removes the primary group SID stuff.

set_user_info_21 is called to update many other things
like the description of a user for example (that's what
failed on me).

Jerry, please review this one.
2007-10-10 11:10:50 -05:00
Günther Deschner
5b89e8bc24 r13711: * Correctly handle acb_info/acct_flags as uint32 not as uint16.
* Fix a couple of related parsing issues.
* in the info3 reply in a samlogon, return the ACB-flags (instead of
  returning zero)

Guenther
2007-10-10 11:10:25 -05:00
Gerald Carter
bcf269e2ec r13679: Commiting the rm_primary_group.patch posted on samba-technical
* ignore the primary group SID attribute from struct samu*
* generate the primary group SID strictlky from the Unix
  primary group when dealing with passdb users
* Fix memory leak in original patch caused by failing to free a
  talloc *
* add wrapper around samu_set_unix() to prevent exposing the create
  BOOL to callers.  Wrappers are samu_set_unix() and samu-allic_rid_unix()
2007-10-10 11:10:23 -05:00
Günther Deschner
b2eac2e6eb r13622: Allow to rename machine accounts in a Samba Domain. This still uses the
"rename user script" to do the rename of the posix machine account (this
might be changed later). Fixes #2331.

Guenther
2007-10-10 11:10:19 -05:00
Gerald Carter
6f1afa4acc r13590: * replace all pdb_init_sam[_talloc]() calls with samu_new()
* replace all pdb_{init,fill}_sam_pw() calls with samu_set_unix()
2007-10-10 11:10:16 -05:00
Gerald Carter
19b7593972 r13576: This is the beginnings of moving the SAM_ACCOUNT data structure
to make full use of the new talloc() interface.  Discussed with Volker
and Jeremy.

* remove the internal mem_ctx and simply use the talloc()
  structure as the context.
* replace the internal free_fn() with a talloc_destructor() function
* remove the unnecessary private nested structure
* rename SAM_ACCOUNT to 'struct samu' to indicate the current an
  upcoming changes.  Groups will most likely be replaced with a
  'struct samg' in the future.

Note that there are now passbd API changes.  And for the most
part, the wrapper functions remain the same.

While this code has been tested on tdb and ldap based Samba PDC's
as well as Samba member servers, there are probably still
some bugs.  The code also needs more testing under valgrind to
ensure it's not leaking memory.

But it's a start......
2007-10-10 11:10:15 -05:00
Gerald Carter
7967f89caa r13511: Fix bug in the samr dispinfo enumeration code.
Make sure to associate the DOMAIN dispinfo cache
with a User/Group SAMR handle (not the SID of the user or group).
Ensure that enumeration after deleting a user works.
2007-10-10 11:10:08 -05:00
Volker Lendecke
bb40e544de r13494: Merge the stuff I've done in head the last days.
Volker
2007-10-10 11:10:06 -05:00
Günther Deschner
58baf718be r13444: Add REJECT_REASON_OTHER for samr_chgpasswd_user3
Guenther
2007-10-10 11:10:03 -05:00
Günther Deschner
f60eddc0a4 r13442: Implement samr_chgpasswd_user3 server-side.
Guenther
2007-10-10 11:10:03 -05:00
Jeremy Allison
8ae70122b7 r13399: Get closer to passing RPC-SCHANNEL test.
Jeremy.
2007-10-10 11:09:59 -05:00
Jeremy Allison
205db6968a r13396: Add in userinfo26, re-enable userinfo25 - took the knowledge
from Samba4 on how to decode the 532 byte password buffers.
Getting closer to passing samba4 RPC-SCHANNEL test.
Jeremy.
2007-10-10 11:09:59 -05:00
Gerald Carter
17e63ac4ed r13316: Let the carnage begin....
Sync with trunk as off r13315
2007-10-10 11:06:23 -05:00
Simo Sorce
80c0625667 r13138: old fix I forgot to commit
need to access info when using the ldap backend
2007-10-10 11:06:15 -05:00
Alexander Bokovoy
93461646ce r12935: After discussion with Volker fix bug #3397 using a variant of the patch by Alex Deiter (tiamat@komi.mts.ru).
Introduces level 9 of getuserinfo and allows to successfully install MS SMS2003
on a member of a Samba domain. Also added support for this level in rpcclient.

The code for infolevel 9 is modelled upon Samba-TNG by Alex Deiter.

Jerry, we need this in 3.0.21b.
2007-10-10 11:06:08 -05:00
Gerald Carter
58f8b42069 r12262: * patch from Brian Moran to fix segv in eventlogadm when not eventlogs
are listed in smb.conf
* initialize the local group description in set_alias_info()
2007-10-10 11:05:51 -05:00
Volker Lendecke
4ba50c823e r12133: Fix an uninitialized variable in new code in rpc_server/srv_samr_nt.c.
Fix winbind_lookup_name for the local domain, ie for aliases on a member
server.

Volker
2007-10-10 11:05:46 -05:00
Volker Lendecke
9f99d04a54 r12051: Merge across the lookup_name and lookup_sid work. Lets see how the build farm
reacts :-)

Volker
2007-10-10 11:05:43 -05:00
Jeremy Allison
c65b752604 r12043: It's amazing the warnings you find when compiling on a 64-bit
box with gcc4 and -O6...
Fix a bunch of C99 dereferencing type-punned pointer will break
strict-aliasing rules errors. Also added prs_int32 (not uint32...)
as it's needed in one place. Find places where prs_uint32 was being
used to marshall/unmarshall a time_t (a big no no on 64-bits).
More warning fixes to come.
Thanks to Volker for nudging me to compile like this.
Jeremy.
2007-10-10 11:05:42 -05:00
Günther Deschner
d94aaeb625 r11964: rename flag to password_properties in SAM_UNK_INFO_1 because that's what
it is. (SAM_UNK_INFO_1 should get a better name as well).

Guenther
2007-10-10 11:05:40 -05:00
Jeremy Allison
908e671c75 r11927: No users or groups to return in BUILTIN domain.
Jeremy.
2007-10-10 11:05:36 -05:00
Jeremy Allison
b53d5cd565 r11924: Added Volkers's (C) to srv_samr_nt.c, removed separate "builtin"
search enumeration, fixed count of groups and users to return
zero if we're getting domain info on the builtin domain (need
to fix the enumgroup and enumuser calls also). Added count_sam_aliases
to return the correct alias count. Need to push the SID arg
down into the group mapping interface so we only return the
correct aliases. Upped passdb version numer for Volkers
changes. SAM-MYSQL guys - you will need to fix your backend
now. More tests needed.
Jeremy.
2007-10-10 11:05:36 -05:00
Volker Lendecke
c917cfc320 r11923: Add samr_lookup_rids for the builtin domain. Doing it this way feels a bit
wrong, but so far we don't have proper multi-domain support in passdb yet...

Volker
2007-10-10 11:05:36 -05:00
Volker Lendecke
57f0cf8cdd r11922: Looks bigger than it is: There's no point in allocating arrays in
samr_lookup_rids twice. It was done in the srv_samr_nt.c code as well as in
the pdb module. Remove the latter, this might happen more often.

Volker
2007-10-10 11:05:36 -05:00
Volker Lendecke
049920ce4f r11921: samr_open_domain can only open "our" domain and BUILTIN.
Volker
2007-10-10 11:05:36 -05:00
Volker Lendecke
35ba5e083c r11919: The generic mappings in srv_samr_nt.c are only used there -- make them
static.

One long overdue simplification: Change local_lookup_sid to local_lookup_rid
its responsible for "our" domain only, in fact it checked for it.

Volker
2007-10-10 11:05:35 -05:00
Volker Lendecke
5524d66295 r11918: Remove two unused variables 2007-10-10 11:05:35 -05:00
Volker Lendecke
3c35fb642a r11915: Remove unused extern declarations 2007-10-10 11:05:35 -05:00
Volker Lendecke
efb7576d4e r11898: Add a missing become_root().
Volker
2007-10-10 11:05:33 -05:00
Jeremy Allison
c9a0720f55 r11865: The only way to stop multiple LDAP searches is to agressively cache
results. We now cache them for 10 seconds, down from 30 seconds
(however each re-use will refresh the idle timeout). Any set calls
will flush the cache.
Jeremy.
2007-10-10 11:05:32 -05:00
Günther Deschner
3282c7c458 r11856: Replace unknown1 with group_attr.
Can anyone remember why we initialize groups only with 0x03 instead of 0x07 ?

Guenther
2007-10-10 11:05:30 -05:00
Jeremy Allison
8ce705d9cc r11793: Fix the SAMR cache so it works across completely insane
client behaviour (ie.:
open pipe/open SAMR handle/enumerate 0 - 1024
close SAMR handle, close pipe.
open pipe/open SAMR handle/enumerate 1024 - 2048...
close SAMR handle, close pipe.
And on ad-nausium. Amazing.... probably object-oriented
client side programming in action yet again.
This change should *massively* improve performance when
enumerating users from an LDAP database.
Jeremy.
2007-10-10 11:05:28 -05:00
Jeremy Allison
bff1df678a r11769: Looking at a performance problem enumerating accounts, wondered
if changing to support samr_connect5 might help so quickly coded
it up. No it doesn't :-(. Don't merge this for 3.0.21 please.
Jeremy.
2007-10-10 11:05:27 -05:00
Jeremy Allison
cab76c3c33 r11451: Fix -O1 "might be using uninitialized" errors.
Jeremy.
2007-10-10 11:05:16 -05:00
Jeremy Allison
915cfb48f0 r11433: Fix for bug #3223 - ensure we're root before doing
any potential lib/smbldap.c calls.
Jeremy.
2007-10-10 11:05:16 -05:00
Jim McDonough
ee91eb9a39 r11236: Implement user rename for smbpasswd and ldap backends. Some cleanup on
tdb as well to make naming consistent.
2007-10-10 11:05:08 -05:00
Jeremy Allison
d720867a78 r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4
x86_64 box.
Jeremy.
2007-10-10 11:05:02 -05:00
Jim McDonough
8210b0503a r10911: part of #2861: add rename support for usrmgr.exe when using tdbsam
This gets it working before replacing tdb with the samba4 version.
2007-10-10 11:04:56 -05:00
Gerald Carter
939c3cb5d7 r10656: BIG merge from trunk. Features not copied over
* \PIPE\unixinfo
* winbindd's {group,alias}membership new functions
* winbindd's lookupsids() functionality
* swat (trunk changes to be reverted as per discussion with Deryck)
2007-10-10 11:04:48 -05:00
Gerald Carter
005d4cb3c6 r9956: Ensure accounts with the SeAddUsersPrivilege can modify domain and local group attributes (posted to samba ml and confirmed fix) 2007-10-10 11:03:29 -05:00
Gerald Carter
62f9fb5e3a r9660: real fix for group enumeration bug in 3.0.20; only affected the ldapsam code 2007-10-10 11:03:24 -05:00
Gerald Carter
a769aaec88 r9594: return the mapped name in enum_dom_groups() 2007-10-10 11:03:22 -05:00
Tim Potter
e1fc7d89c2 r9275: Remove some dead code. Bugzilla #2982. 2007-10-10 11:00:30 -05:00
Gerald Carter
f5756c2611 r9098: fix another usrmgr.exe crash when viewing user properties at debuglevel 10 2007-10-10 11:00:26 -05:00
Günther Deschner
690da51d83 r8971: Fix querydispinfo (still need to look at enumdomusers) to allow to list
more then 511 users.

After the rewrite, the old NT_STATUS-semantics didn't fit any longer.

Guenther
2007-10-10 11:00:23 -05:00
Jeremy Allison
84651aca04 r8564: Sometimes we're too dumb to live... Fix samr calls where we were
using USER_INFO_XX structs and functions where XX was sometimes
in hex and sometimes in decimal. Now it's all in decimal (should
be no functionality change).
Jeremy.
2007-10-10 11:00:09 -05:00