1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-21 12:23:50 +03:00
Commit Graph

317 Commits

Author SHA1 Message Date
Jeremy Allison
eaf14c701b Remove all pstrings from smbd/chgpasswd.c.
Jeremy.
2007-11-12 15:02:50 -08:00
Jeremy Allison
f35a266b3c RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
2007-10-18 17:40:25 -07:00
Volker Lendecke
0141e64ad4 r25534: Apply some const
Why? It moves these structs from the data into the text segment, so they
will never been copy-on-write copied. Not much, but as in German you say
"Kleinvieh macht auch Mist...."
2007-10-10 12:31:12 -05:00
Michael Adam
9a28be220d r25294: Tidy up callers of unistr2_to_ascii() to pass sizeof(target_area) to
the maxeln parameter instead of sizeof(target_area) - 1 (or even
sizeof(fstring) - 1 in some places.

I hope these were really all there were.

Michael
2007-10-10 12:30:58 -05:00
Andrew Tridgell
87c91e4362 r23801: The FSF has moved around a lot. This fixes their Mass Ave address. 2007-10-10 12:28:27 -05:00
Jeremy Allison
407e6e695b r23779: Change from v2 or later to v3 or later.
Jeremy.
2007-10-10 12:28:20 -05:00
Jim McDonough
afabd68b6a r23616: Fix bugzilla #4719: must change password is not set from usrmgr.exe.
This was only affecting the newer versions of usrmgr.exe, because they
use a user_info_25 struct.  The password is getting set separately
inside that code, so the password last set time was getting set from the
password change logic.

We also were not parsing a number of fields (like logon hours) from the
user_info_25.  That should also be fixed.
2007-10-10 12:23:36 -05:00
Volker Lendecke
590d2164b3 r22786: Some cleanup by Karolin Seeger: Remove unused pdb_find_alias, and change
return values of some alias-releated pdb functions from BOOL to NTSTATUS

Thanks :-)
2007-10-10 12:21:57 -05:00
Volker Lendecke
2c5b951eba r22767: Argl. Typed in 'svn ci' in the wrong branch. Revert. 2007-10-10 12:21:55 -05:00
Volker Lendecke
fb6ac8a5b2 r22766: Merge from 3_0:
r22412 | obnox | 2007-04-20 14:23:36 +0200 (Fr, 20 Apr 2007) | 5 lines

Add a "deletelocalgroup" subcommand to net sam.

Thanks to Karolin Seeger <ks@sernet.de>.
2007-10-10 12:21:55 -05:00
Jeremy Allison
c3df5d08dd r22587: Ensure TALLOC_ZERO_ARRAY is consistent.
Jeremy.
2007-10-10 12:19:47 -05:00
Jeremy Allison
18f47f999d r22586: Add a modified version of Simo's patch.
Jeremy.
2007-10-10 12:19:47 -05:00
Jeremy Allison
f6fa3080fe r22542: Move over to using the _strict varients of the talloc
calls. No functional changes. Looks bigger than it is :-).
Jeremy.
2007-10-10 12:19:44 -05:00
Alexander Bokovoy
cc38ffb9a4 r22505: Fix build 2007-10-10 12:19:40 -05:00
Jim McDonough
b1ab360519 r22504: Fix bug Jerry found during his tutorial. Sorry :-(
Allows authorized users (e.g. BUILTIN\Administrators members) to
set attributes on an account, particularly "user cannot change
password".

add become_root() around updating attributes, after checking that
access has been granted.
2007-10-10 12:19:40 -05:00
Stefan Metzmacher
fa322f0cc9 r22001: change prototype of dump_data(), so that it takes unsigned char * now,
which matches what samba4 has.

also fix all the callers to prevent compiler warnings

metze
2007-10-10 12:18:59 -05:00
Volker Lendecke
af3308ce5a r21784: Replace smb_register_idle_event() with event_add_timed(). This fixes winbind
who did not run the idle events to drop ldap connections.

Volker
2007-10-10 12:18:33 -05:00
Gerald Carter
78bf4042dd r21635: Don't free talloc()'d memory. I wish people would check the callers
when changing how memory is allocated.
2007-10-10 12:18:19 -05:00
Volker Lendecke
4423880ff4 r21563: Fix a memleak: We only need dispinfo structs for "our" and for the builtin
domain. Without this patch we leaked a DISPINFO for the (NULL) domain per
samr_connect*() call.

Volker
2007-10-10 12:18:14 -05:00
Volker Lendecke
f63189907e r21551: Ok, this is more subtle. More tomorrow :-) 2007-10-10 12:18:12 -05:00
Volker Lendecke
fad2ee8aa3 r21550: make disp_info_list static to get_samr_dispinfo_by_sid(), add a comment :-) 2007-10-10 12:18:12 -05:00
Volker Lendecke
0aceda68a8 r21549: Only create DISP_INFO structs for domain handles, the others don't need
them. It just does not make sense to do a querydispinfo on an alias handle...

This fixes a memleak: Every samr_connect*() call leaked a DISP_INFO for the
(NULL) sid.

More cleanup pending: Essentially, we only need the DISP_INFO cache for the
get_global_sam_sid() domain. BUILTIN is fixed and small enough, and there are
no other domains around where enumerations could happen.

This also removes the explicit builtin_domain flags. I don't think this is
worth it. If this makes a significant difference, then we have a *VERY* tuned
RPC layer...

Jeremy, please check this. If it's ok, we might want to merge it across.

Volker
2007-10-10 12:18:12 -05:00
Gerald Carter
6a69caf690 r21507: Fix some "cannot access LDAP when no root" bugs.
The two culprits were

* pdb_get_account_policy()
* pdb_get_group_sid()
2007-10-10 12:18:09 -05:00
Jim McDonough
21abbeaee9 r19058: Implement "user cannot change password", and complete "user must change
password at next logon" code.  The "password last set time" of zero now
means "user must change password", because that's how windows seems to
use it.  The "can change" and "must change" times are now calculated
based on the "last set" time and policies.

We use the "can change" field now to indicate that a user cannot change
a password by putting MAX_TIME_T in it (so long as "last set" time isn't
zero).  Based on this, we set the password-can-change bit in the
faked secdesc.
2007-10-10 12:15:06 -05:00
Gerald Carter
4faa5004fb r18429: fix a regression renaming local group introduced by trying to handle renames to the same name 2007-10-10 11:51:23 -05:00
Gerald Carter
3da9f80c28 r18271: Big change:
* autogenerate lsa ndr code
* rename 'enum SID_NAME_USE' to 'enum lsa_SidType'
* merge a log more security descriptor functions from
  gen_ndr/ndr_security.c in SAMBA_4_0

The most embarassing thing is the "#define strlen_m strlen"
We need a real implementation in SAMBA_3_0 which I'll work on
after this code is in.
2007-10-10 11:51:18 -05:00
Gerald Carter
e6e5412500 r17797: Just say "ok" when trying to rename a local group to its same name. 2007-10-10 11:38:48 -05:00
Volker Lendecke
761cbd52f0 r17554: Cleanup 2007-10-10 11:38:38 -05:00
Volker Lendecke
4ebfc30a28 r17468: To minimize the diff later on, pre-commit some changes independently: Change
internal mapping.c functions to return NTSTATUS instead of BOOL.

Volker
2007-10-10 11:38:36 -05:00
Volker Lendecke
873a5a1211 r17451: Change pdb_getgrsid not to take a DOM_SID but a const DOM_SID * as an
argument.

Volker
2007-10-10 11:38:34 -05:00
Jeremy Allison
06aea05c52 r17439: Fix logic error in checking TALLOC return. Spotted by Volker.
Jeremy.
2007-10-10 11:38:33 -05:00
Volker Lendecke
f002a36338 r17364: Another NT4 join bug: The idealx tools set the primary group sid, and if we do
an update_sam_account later on, we want to also set it using the delete/add
method. As the idealx tools use the replace method, they don't care about what
has been in there before.

Jerry, this is a likely 3.0.23b candidate. Not merging, it's your call :-)

Volker
2007-10-10 11:38:28 -05:00
Gerald Carter
41e30a9666 r17217: Fix a couple of "smbldap_open(): Cannot open when not root" bugs
when viewing or modifying local group membership.
2007-10-10 11:38:19 -05:00
Gerald Carter
bbe11b7a95 r17150: MMC User & group plugins fixes:
* Make sure to lower case all usernames before
  calling the create, delete, or rename hooks.
* Preserve case for usernames in passdb
* Flush the getpwnam cache after renaming a user
* Add become/unbecome root block in _samr_delete_dom_user()
  when trying to verify the account's existence.
2007-10-10 11:38:16 -05:00
Gerald Carter
ce7091fda1 r16954: Volker reminded me we already have code to do this check.
Reuse can_create() to prevent renameing a group to
an existing user or group.
2007-10-10 11:19:15 -05:00
Gerald Carter
7d619f127e r16953: Don't allow groups to be renamed to an existing user or other group 2007-10-10 11:19:15 -05:00
Jeremy Allison
9dafb7f48c r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....

Jeremy.
2007-10-10 11:19:14 -05:00
Jeremy Allison
5c5ea3152f r16678: Fix bug #3898 reported by jason@ncac.gwu.edu.
Jeremy.
2007-10-10 11:19:07 -05:00
Jeremy Allison
433d7a1bc9 r16646: Fix bug #3888 reported by Jason Mader <jason@ncac.gwu.edu>.
Jeremy.
2007-10-10 11:19:05 -05:00
Jeremy Allison
16e42b446b r16544: Fix bug #3864 reported by jason@ncac.gwu.edu.
Jeremy.
2007-10-10 11:18:59 -05:00
Volker Lendecke
d6547d12b1 r16409: Fix Klocwork ID's.
1177

In reg_perfcount.c: 1200 1202 1203 1204
In regfio.c: 1243 1245 1246 1247 1251

Jerry, the reg_perfcount and regfio.c ones, can you take a look please? This
is really your code, and I'm not sure I did the right thing to return an
error.

smbcacls.c: 1377
srv_eventlog_nt.c: 1415 1416 1417
srv_lsa_nt.c: 1420 1421
srv_netlog_nt.c: 1429
srv_samr_nt: 1458 1459 1460

Volker

Volker
2007-10-10 11:18:52 -05:00
Volker Lendecke
bc78cca290 r16065: Re-add a strlower_m(account) in samr_create_user that was dropped for no
reason but to increase fidelity with W2k3. Tom Bork has raised valid concerns
that Unix scripts might rely on the account names being lower-case, so keep
that. We might later decide to only lower-case the unix name passed to
'add [user|group] script' but keep the passdb entry upper-case. But there are
enough user-visible changes in 3_0 already so that we should push this off to
a later date.

Tom, waiting for more bug reports from you ;-))

Thanks for insisting!

Volker
2007-10-10 11:17:19 -05:00
Volker Lendecke
5a37aba105 r16060: This is one of the more dirty patches I've put in lately. Parse enough of
SetUserInfo level 25 to survive the join method XP uses if the user did not
exist before. For good taste this contains way too much cut&paste, but for a
real fix there is just not enough time.

Up to 3.0.22 we completely ignored that a full level 21 is being sent together
with level 25, but we got away with that because on creation we did not set
the "disabled" flag on the workstation account. Now we correctly follow W2k3
in this regard, and we end up with a disabled workstation after join.

Man, I hate rpc_parse/. The correct fix would be to import PIDL generated samr
parsing, but this is would probably be a bit too much for .23...

Thanks to Tom Bork for finding this one.

Volker
2007-10-10 11:17:18 -05:00
Günther Deschner
870495e2c8 r15455: Add rpccli_samr_query_dom_info2() and return the comment string in
samr_query_domain_info(2) for consistency reasons.

Guenther
2007-10-10 11:16:48 -05:00
Günther Deschner
3e181b46be r15454: As testing, documentation and samba4 idl indicate that there is no known
difference between samr_query_domain_info and samr_query_domain_info2,
wrap the info2 call around the info call. There have been various "could
not access LDAP when not root" bugs lurking around in
samr_query_domain_info2 anyway.

Guenther
2007-10-10 11:16:48 -05:00
Günther Deschner
6ed7d7fa70 r15452: Again purely cosmetic reformat of the samr query domain info calls.
Guenther
2007-10-10 11:16:47 -05:00
Günther Deschner
41b72e77ae r15442: Add some more client rpc for the querydominfo calls (from samba4 idl).
Also return the hostname for the level 6 call (to be consistent with the
server name in level 2).

Guenther
2007-10-10 11:16:44 -05:00
Günther Deschner
26dd22c9af r15438: Fix samrQueryDomainInfo level 5 where we returned our netbios
name eversince instead of the domain name when we are a DC.

Yes, there are applications relying on this call to be correct.

Guenther
2007-10-10 11:16:43 -05:00
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