1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-28 17:47:29 +03:00

1287 Commits

Author SHA1 Message Date
Gerald Carter
019349339e getting rid of copmpiler warning
(This used to be commit d3f5c5c22026b2e1e4f02617a823505ae88eab24)
2003-08-28 20:48:04 +00:00
Gerald Carter
2f70d0d9a7 renaming some functions for consistency
(This used to be commit f4ca4aae8ad0496b76c710cf79c791724bdaa4ec)
2003-08-27 20:50:24 +00:00
Gerald Carter
983b4e7011 it never amazes me when some new things crawls out of the windows
spooler. :-(

When installing the Adobe PS driver onto a Samba printer via cupsaddsmb,
I noticed a WIN2k client sending DeletePrinterData("DependentFiles")
pver and over.  I also noticed that we never checked to see if the
value was valid.  No now we do and return WERR_BADFILE which I think
is correct.

Next, I noticed that we never wrote the updated printer out to disk
after a succesfully DeletePrinterData[Ex]().

Finally, I found a driver (Canon BJC 1000 using the Adobe PS drivers
and foomatic PPD file) that was destroying the device name string
in the devmode.  So now get_a_printer_2() always writes out the
device name in \\server\share form.

I think these changes might fix bug 294.
(This used to be commit deb25780874b66e68ac597db24fbc50e7f7458b5)
2003-08-23 03:34:24 +00:00
Gerald Carter
65409a49fe Fix bug #252. Implement missing SAMR_REMOVE_USER_FOREIGN_DOMAIN
call.
(This used to be commit dd2cf4897ec3db25c24a2724ffdef4f905625f6a)
2003-08-20 16:07:19 +00:00
Gerald Carter
49e66508f2 Fix BUG #314: api_netUserGetGRoups() was failing prematurely
(also fixed the call to return the real groups and not a mocked
  up list)

Fixed simple compiler warning in srv_lsa_ds.c
(This used to be commit 6b0e38e01a44d87b844d973318accc456abef857)
2003-08-19 04:17:21 +00:00
Gerald Carter
4e88fd330e possible fix for bug 288 to repcent using an uninitialized cli_state struct
(This used to be commit d09dc91c024d718a8ddb6b7f08c7fe84716beda4)
2003-08-15 20:12:40 +00:00
Herb Lewis
062f89bc28 get rid of some sompiler warnings on IRIX
(This used to be commit a6a39c61e8228c8b3b7552ab3c61ec3a6a639143)
2003-08-15 01:42:30 +00:00
Herb Lewis
fc05b0f4c7 return actual results instead of always OK
(This used to be commit 71469f3220e54959af13a395918c80273538b6ed)
2003-08-15 01:33:57 +00:00
Gerald Carter
b09eb5aa93 jeremy foo
(This used to be commit 0b31f592df9aca952f978fd6f28c362a0bf02a53)
2003-08-14 22:17:07 +00:00
Gerald Carter
8f75104da1 fix build
(This used to be commit dd9cb6f820c2acf658eb081fb6ffc7e9b6b3c8d6)
2003-08-14 22:14:03 +00:00
Gerald Carter
11777e6a30 Attempt at fixing bug #283. There however is no solution.
There is a workaround documented in the bug report.

This patch does:

  * add server support for the LSA_DS UUID on the lsarpc pipe
  * store a list of context_ids/api_structs in the pipe_struct
    so that we don't have to lookup the function table for a pipe.
    We just match the context_id.  Note that a dce/rpc alter_context
    does not destroy the previous context so it is possible to
    have multiple bindings active on the same pipe. Observed from
    standalone win2k sp4 client.
  * added server code for DsROleGetPrimaryDOmainInfo() but disabled it
    since it causes problems enumerating users and groups from a 2ksp4
    domain member in a Samba domain.
(This used to be commit 96bc2abfcb0dd0912696fad76e43cb217b33e061)
2003-08-14 21:14:28 +00:00
Gerald Carter
998ded9155 fix bug #286.
Fixed by storing the access requested on the anonymous samr connect.
Restricted this to enum_domain|open_domain.

Added become/unbecome_root() around pdb_enum_group_mapping()
enum domain groups samr call.
(This used to be commit 36fc199e5f573fea9b7e2c1cf01ad42744a42f08)
2003-08-13 03:59:41 +00:00
Jeremy Allison
ac8c6e4746 Format tidyup.
Jeremy.
(This used to be commit 049e77d636c5abd0fdd8840c3c4c465708354ed7)
2003-08-08 23:09:09 +00:00
Jeremy Allison
38b3ee6467 RPC fix from Ronan Waide <waider@waider.ie>. Tested with rpcecho.
Jeremy.
(This used to be commit 68590b9e2266cf76b46a68cca0acaa47733811fe)
2003-08-08 17:08:35 +00:00
Jim McDonough
8c64504f7c Update my copyrights according to my agreement with IBM
(This used to be commit a2bd8f0bfa12f2a1e33c96bc9dabcc0e2171700d)
2003-08-01 15:30:44 +00:00
Jim McDonough
f210ee9b99 Fix copyright statements for various pieces of Anthony Liguori's work.
(This used to be commit 15d2bc47854df75f8b2644ccbc887d0357d9cd27)
2003-08-01 14:47:39 +00:00
Jeremy Allison
ba12e6bb5f Wrap calls to change_oem_password() in become_root()/unbecome_root() pairs
to allow UNIX password change scripts to work correctly. This is safe as
the old password has been checked as correct before invoking this.
Jeremy.
(This used to be commit 1734d43eb55561d46a6ffb5d806afedfd3746f9f)
2003-07-31 01:33:44 +00:00
Gerald Carter
6bf70229ae fix some error returns and strings; patch from metze
(This used to be commit 948b1b138cf1fce18c93645fbdf948e589b19dc5)
2003-07-25 14:35:17 +00:00
Tim Potter
7d833de662 More printf portability fixes. Got caught out by some gcc'isms last
time.  )-:
(This used to be commit 59dae1da66a5eb7e128263bd578f167d8746e9f0)
2003-07-25 04:24:40 +00:00
Tim Potter
77373f1f8e More printf fixes - size_t is long on some architectures.
(This used to be commit ba4d334b822248d8ab929c9568533431603d967e)
2003-07-24 23:46:27 +00:00
Gerald Carter
3a5dc7c2ec convert snprintf() calls using pstrings & fstrings
to pstr_sprintf() and fstr_sprintf() to try to standardize.
lots of snprintf() calls were using len-1; some were using
len.  At least this helps to be consistent.
(This used to be commit 9f835b85dd38cbe655eb19021ff763f31886ac00)
2003-07-23 12:33:59 +00:00
Tim Potter
c085ace063 Typo in comment.
(This used to be commit 6a9bfcd3b8996a0322f733689fd5e8bf24f224c8)
2003-07-23 06:11:38 +00:00
Tim Potter
c9bc4b27b7 Another round of uid/gid/pid format string changes I missed the
first time.
(This used to be commit 6616485dbad74dab7506609c6bfd183fc9c1f93c)
2003-07-22 06:52:39 +00:00
Tim Potter
06345b8116 Use %p for a pointer type in a printf-style format string. Also casting
a pointer to a uint32 value is incorrect on a 64-bit architecture.
(This used to be commit afed2cbbcc07de9e453156972250f5f9d22e8e83)
2003-07-22 01:18:24 +00:00
Andrew Bartlett
4c53bb6b90 In the presense of RPC fragments, schannel is not strictly request/reply,
so the shared sequence number will not be strictly odd/even.

Andrew Bartlett
(This used to be commit 77c3e69aef545d3f9b7cec9efdc366cbeb0c745e)
2003-07-17 01:34:05 +00:00
Gerald Carter
eb2b683022 fix cache coherency bug in print handle print_info_2 cache.
Needs to be rewritten to use a reference counter, but this
will work for now.

also the memory allocation in the printing code needs to be cleaned
up to use talloc exclusively.
(This used to be commit 3d293027563b36411b7f84ed9d8f47f926271c6f)
2003-07-14 19:51:34 +00:00
Andrew Bartlett
456f51bcbe Jeremy requested that I get my NTLMSSP patch into CVS. He didn't request
the schannel code, but I've included that anyway. :-)

This patch revives the client-side NTLMSSP support for RPC named pipes
in Samba, and cleans up the client and server schannel code.  The use of the
new code is enabled by the 'sign', 'seal' and 'schannel' commands in
rpcclient.

The aim was to prove that our separate NTLMSSP client library actually
implements NTLMSSP signing and sealing as per Microsoft's NTLMv1 implementation,
in the hope that knowing this will assist us in correctly implementing
NTLMSSP signing for SMB packets.  (Still not yet functional)

This patch replaces the NTLMSSP implementation in rpc_client/cli_pipe.c with
calls to libsmb/ntlmssp.c.  In the process, we have gained the ability to
use the more secure NT password, and the ability to sign-only, instead of
having to seal the pipe connection.  (Previously we were limited to sealing,
and could only use the LM-password derived key).

Our new client-side NTLMSSP code also needed alteration to cope with our
comparatively simple server-side implementation.  A future step is to replace
it with calls to the same NTLMSSP library.

Also included in this patch is the schannel 'sign only' patch I submitted to
the team earlier.  While not enabled (and not functional, at this stage) the
work in this patch makes the code paths *much* easier to follow.  I have also
included similar hooks in rpccleint to allow the use of schannel on *any* pipe.

rpcclient now defaults to not using schannel (or any other extra per-pipe
authenticiation) for any connection.  The 'schannel' command enables schannel
for all pipes until disabled.

This code is also much more secure than the previous code, as changes to our
cli_pipe routines ensure that the authentication footer cannot be removed
by an attacker, and more error states are correctly handled.

(The same needs to be done to our server)

Andrew Bartlett
(This used to be commit 5472ddc9eaf4e79c5b2e1c8ee8c7f190dc285f19)
2003-07-14 08:46:32 +00:00
Gerald Carter
03d5867d52 moving more code around.
* move rid allocation into IDMAP.  See comments in _api_samr_create_user()
  * add winbind delete user/group functions

I'm checking this in to sync up with everyone.  But I'm going to split
the add a separate winbindd_allocate_rid() function for systems
that have an 'add user script' but need idmap to give them a RID.
Life would be so much simplier without 'enable rid algorithm'.
The current RID allocation is horrible due to this one fact.
Tested idmap_tdb but not idmap_ldap yet.  Will do that tomorrow.

Nothing has changed in the way a samba domain is represented, stored,
or search in the directory so things should be ok with previous installations.

going to bed now.
(This used to be commit 0463045cc7ff177fab44b25faffad5bf7140244d)
2003-07-11 05:33:40 +00:00
Gerald Carter
16ff7b26f6 Large set of changes to add UNIX account/group management
to winbindd.  See README.idmap-and-winbind-changes for details.
(This used to be commit 1111bc7b0c7165e1cdf8d90eb49f4c368d2eded6)
2003-07-09 16:44:47 +00:00
Jeremy Allison
4072006fec Get rid of DISP_USER_INFO/DISP_GROUP_INFO as they serve no useful
purpose. Replace with an array of SAM_ACCOUNT/DOMAIN_GRP entries.
ZERO struct's in smbd/uid.c stops core dumps when sid_to_XX
functions fail. Getting ready to add caching.
Jeremy.
(This used to be commit 9d0692a54fe2cb087f25796ec2ab5e1d8433e388)
2003-07-09 00:23:42 +00:00
Jeremy Allison
e4bfa0a460 Moved SAM_ACCOUNT marshall/unmarshall functions to make them externally
available. Removed extra auth_init (thanks metze).
Jeremy.
(This used to be commit 88135fbc4998c266052647f8b8e437ac01cf50ae)
2003-07-08 21:58:29 +00:00
Jeremy Allison
ce72beb2b5 Removed strupper/strlower macros that automatically map to strupper_m/strlower_m.
I really want people to think about when they're using multibyte strings.
Jeremy.
(This used to be commit ff222716a08af65d26ad842ce4c2841cc6540959)
2003-07-03 19:11:31 +00:00
Gerald Carter
6b31240391 Fix for bug #199 (xp driver uploads). Needed to support
the "OSVersion" print server data value.
(This used to be commit 02bc7be1ac6b75bf6559ea684bbc89ab3e19402e)
2003-07-03 17:18:07 +00:00
Andrew Bartlett
61116049ca This patch takes the work the jerry did for beta2, and generalises it:
- The 'not implmented' checks are now done by all auth modules
 - the ntdomain/trustdomain/winbind modules are more presise as to
   what domain names they can and cannot handle
 - The become_root() calls are now around the winbind pipe opening only,
   not the entire auth call
 - The unix username is kept seperate from the NT username, removing the
   need for 'clean off the domain\' in parse_net.c
 - All sid->uid translations are now validated with getpwuid() to put a very
   basic stop to logins with 'half deleted' accounts.

Andrew Bartlett
(This used to be commit 85f88191b9927cc434645ef4c1eaf5ec0e8af2ec)
2003-07-03 14:36:42 +00:00
Gerald Carter
a31a2c159c well this was easy...
When winbindd is running on a PDC the SAM_ACCOUNT for a trusted user
has a username of DOMAIN\user.  Make sure to trim the domain part
from the username when filling in the net_sam_logon reply.
This fixes the browsing issues i was seen across domain trusts.
(This used to be commit 62e36e6ede067ace23f5473d04917c7eeedf07e2)
2003-07-03 03:56:16 +00:00
Jeremy Allison
58fca50742 Adding jcmd's share ACL on XP patch. Thanks Jim !
Jeremy.
(This used to be commit 7ed1118ae61a13de2c781a94fc2394090efd1f9b)
2003-07-01 21:47:13 +00:00
Gerald Carter
e359dbcedb * cleanup more DC name resolution issues in check_*domain_security()
* is_trusted_domain() is broken without winbind.  Still working on this.
* get_global_sam_name() should return the workgroup name unless we
  are a standalone server (verified by volker)
* Get_Pwnam() should always fall back to the username (minus domain name)
  even if it is not our workgroup so that TRUSTEDOMAIN\user can logon
  if 'user' exists in the local list of accounts (on domain members w/o
  winbind)

Tested using Samba PDC with trusts (running winbindd) and a Samba 3.0
domain member not running winbindd.

notes: make_user_info_map() is slightly broken now due to the
fact that is_trusted_domain() only works with winbindd.  disabled
checks temporarily until I can sort this out.
(This used to be commit e1d6094d066d4c16ab73075caba40a1ae6c56b1e)
2003-06-30 20:45:14 +00:00
Gerald Carter
b8723aaa65 Here's the code to make winbindd work on a Samba DC
to handle domain trusts.  Jeremy and I talked about this
and it's going in as working code.  It keeps winbind clean
and solves the trust problem with minimal changes.

To summarize, there are 2 basic cases where the deadlock would
occur.  (1) lookuping up secondary groups for a user, and
(2) get[gr|pw]nam() calls that fall through the NSS layer because
they don't exist anywhere.

o To handle case #1, we bypass winbindd in sys_getgrouplist() unless
  the username includes the 'winbind separator'.

o Case #2 is handled by adding checks in winbindd to return failure
  if we are a DC and the domain matches our own.

This code has been tested using basic share connections, domain
logons, and with pam_winbind (both with and without 'winbind
use default domain').  The 'trustdomain' auth module should work
as well if an admin wants to manually create UNIX users for
acounts in the trusted domains.

Other misc fixes:

  * we need to fix check_ntlm_password() to be able to determine
    if an auth module is authoritative over a user (NT_STATUS_WRONG_PASSWORD,
    etc...).  I worked around my specific situation, but this needs to be
    fixed.  the winbindd auth module was causing delays.
  * fix named server mutex deadlock between trust domain auth module
    and winbindd looking up a uid
  * make sure SAM_ACCOUNT gets stored in the server_info struct for the
    _net_sam_logon() reply.

Configuration details:

The recommended method for supporting trusts is to use winbind.
The gets us around some of the server mutex issues as well.

  * set 'files winbind' for passwd: and group: in /etc/nsswitch.conf
  * create domain trusts like normal
  * join winbind on the pdc to the Samba domain using 'net rpc join'
  * add normal parameters to smb.conf for winbind
  * set 'auth method = guest sam winbind'
  * start smbd, nmbd, & winbindd

Problems that remain:

  * join a Windows 2k/XP box to a Samba domain.
  * create a 2-way trust between the Samba domain
    and an NT domain
  * logon to the windows client as a user from theh trusted
    domain
  * try to browse server in the trusted domain (or other
    workstations).  an NT client seems to work ok, but 2k
    and XP either prompt for passwords or fail with errors.

apparanently this never got tested since no one has ever been
able to logon as a trusted user to a Samba domain from a Windows
client.
(This used to be commit f804b590f9dbf1f0147c06a0a2f12e221ae6fc3b)
2003-06-29 03:39:50 +00:00
Gerald Carter
d21358308a wrap group enuemration in brcome/unbecome_root() (bug #110)
(This used to be commit 3918fffc7f07202f4c0b940f877184eea7561135)
2003-06-23 18:29:09 +00:00
Simo Sorce
f5974dfaae Found out a good number of NT_STATUS_IS_ERR used the wrong way.
As abartlet rememberd me NT_STATUS_IS_ERR != !NT_STATUS_IS_OK

This patch will cure the problem.
Working on this one I found 16 functions where I think NT_STATUS_IS_ERR() is
used correctly, but I'm not 100% sure, coders should check the use of
NT_STATUS_IS_ERR() in samba is ok now.

Simo.
(This used to be commit c501e84d412563eb3f674f76038ec48c2b458687)
2003-06-22 10:09:52 +00:00
Simo Sorce
75a5c0b307 Ok, this patch removes the privilege stuff we had in, unused, for some time.
The code was nice, but put in the wrong place (group mapping) and not
supported by most of the code, thus useless.

We will put back most of the code when our infrastructure will be changed
so that privileges actually really make sense to be set.

This is a first patch of a set to enhance all our mapping code cleaness and
stability towards a sane next beta for 3.0 code base

Simo.
(This used to be commit e341e7c49f8c17a9ee30ca3fab3aa0397c1f0c7e)
2003-06-18 15:24:10 +00:00
Tim Potter
0a9396dcca Rename some uuid functions so as not to conflict with system
versions.  Fixes bug #154.
(This used to be commit 986eae40f7669d15dc75aed340e628aa7efafddc)
2003-06-13 04:35:53 +00:00
Volker Lendecke
98c9504583 Set the user's primary unix group from usrmgr.exe.
This part of a fix to bug#45.

Volker
(This used to be commit 43d306011fe0497dabdf6f43a0d120900fd96e6d)
2003-06-11 20:42:10 +00:00
Jeremy Allison
cd22a6ac90 Merge DEBUG message on usleep on open.
Jeremy.
(This used to be commit 063a210448d57e08db6d47a584c591f20645c80a)
2003-06-03 07:18:18 +00:00
Jeremy Allison
545e8d4999 Change get_nt_acl() to include security_info wanted. Only return this.
This gets us closer to W2k+ in what we return for file ACLs. Fix horribly
broken make_sec_desc() that screwed up the size when given a SD with no
owner or group (how did it get this bad... ?).
Jeremy.
(This used to be commit 183c9ed4052ab14e269ed1234ca557053f77e77a)
2003-05-29 23:49:31 +00:00
Gerald Carter
91077a0618 fixes bugs 85 & 99 (XP domain logons); don't enable the lsa_query_info2 unless we are trying to be an ADS DC
(This used to be commit bf20976e5a993f4cfa05c1e0a9ecab2c7da99263)
2003-05-22 15:27:27 +00:00
Jeremy Allison
3ebfe59d0f Patch from "Esh, Andrew" <Andrew_Esh@adaptec.com> to fix core dump bug
in add groupmem code.
Jeremy.
(This used to be commit f41eb9ce9af2075f62abaecd8792d30617d05818)
2003-05-16 18:30:22 +00:00
Simo Sorce
75c14a4ee8 another bugfix from Alex Deiter <tiamat@komi.mts.ru>
thanks
(This used to be commit 29dc40639fad7652f7f99995be7552f5143ff052)
2003-05-16 10:48:58 +00:00
Jeremy Allison
a975bc2471 Ensure sys_adminlog code won't coredump with incorrect client params.
Jeremy.
(This used to be commit b754089a2660975c593a6651e5e72b7360a0aba1)
2003-05-15 17:21:32 +00:00
Alexander Bokovoy
bc2a3748e9 Prefix VFS API macros with SMB_ for consistency and to avoid problems with VFS_ macros at system side. We currently have one clash with AIX and its VFS_LOCK. Compiled and tested -- no new functionality or code, just plain rename of macros for yet-unreleased VFS API version. Needs to be done before a24 is out
(This used to be commit c2689ed118b490e49497a76ed6a2251262018769)
2003-05-14 10:59:01 +00:00