1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-17 02:05:21 +03:00

260 Commits

Author SHA1 Message Date
Jeremy Allison
c3a999409d Based on an original PAM patch by Andrew Bartlett, re-written by me to
remove global static PAM variables, and to tidy up the PAM internals code.
Now looks like the rest of Samba.
Still needs testing.
Jeremy.
(This used to be commit 1648ac64a75de74d1a1575eb49cccc4f75488bfa)
2001-04-30 21:05:58 +00:00
Andrew Tridgell
63602d15af - fixed some compiler warnings
- fixed slprintf and vsprintf macros
(This used to be commit c986a3c51e8cdbc1230edbe0f4a91138c4ada29d)
2001-04-28 14:01:02 +00:00
Gerald Carter
3a44e2364b few cleanups to bring in line with 2.2
(This used to be commit 0feaac00a1847af41464d4ce35821ff851cded9c)
2001-04-28 01:07:27 +00:00
Gerald Carter
c3bf153c0c converted the passdb smbpasswd implementation to using talloc
for memory allocation.  This fixes a long standing seg fault
(i knew i would get around to it one day :) )

Tested with NT4 and Win2k.  Needs a little more testing with the
"create the machine account on the fly" code for NT4.

Simo, this is probably going to break the tdb passdb code.
Can you look at that when you get a chance and see what you think?
(This used to be commit 1c13110873e456748dc09fd51749f664643fe888)
2001-04-25 22:12:13 +00:00
Jeremy Allison
70b55a9abc Added "obey pam restrictions" parameter - default to "off".
Only set this to "on" if you know you have your PAM set up correctly.....
NB. Doesn't apply to plaintext password authentication, which must use
pam when compiled in.
Jeremy.
(This used to be commit 59aa99f3901d098b7afbe675021bda53b62ee496)
2001-04-23 20:43:20 +00:00
Jeremy Allison
e00451106b Fix more free twice bugs.
Jeremy.
(This used to be commit 4db22afeed659a871a4a1f719d5fa1f2df07e24d)
2001-04-23 06:22:02 +00:00
Jeremy Allison
d6a5dec6f2 Fix for bug in code for pam_session failure - pam_end called twice.
Jeremy.
(This used to be commit c4048fcdb6ff3a890b69be8ef4832e9bd958cfec)
2001-04-23 06:09:27 +00:00
Jeremy Allison
ae8418d0c4 Added smb_ prefix to all Samba wrapper pam functions.
Fixed off by one bug using StrnCpy instead of strdup().
Jeremy.
(This used to be commit d4b1c0be2e700c86a4338bb497777f97e3c960a7)
2001-04-23 04:15:35 +00:00
Jeremy Allison
e277c08631 Commit of a modified version of Andrew Bartlett's patch that removes the
horrid utmp hostname parameter - now uses the client name instead.
Also tidies up some of the unencrypted password checking when PAM
is compiled in.
FIXME ! An pam_accountcheck() is being called even when smb encrypted
passwords are negotiated. Is this the correct thing to do when winbindd
is running ! This needs *SEVERE* testing....
Jeremy.
(This used to be commit 071c799f479dd25efdb9c41745fc8f2beea7b568)
2001-04-22 07:20:24 +00:00
John Terpstra
790588eda4 Oops. Typos.
(This used to be commit 44f96771c384b319290ab5e14cad6ba8f3fb5383)
2001-04-20 00:19:49 +00:00
John Terpstra
80187366f2 Added error reporting to pam_session code.
(This used to be commit 72812e4cf199d804418dc52cc0b0ba683b8a2e5c)
2001-04-19 23:52:45 +00:00
Andrew Tridgell
9ce5a03ccb merge from 2.2
(This used to be commit f52a5014ee325f9d91f266f88eac51b6136a75b9)
2001-04-18 16:41:04 +00:00
Jeremy Allison
a40fe7b47d patch from Steve Langasek <vorlon@netexpress.net> to make sure we
don't use pam_setcred() if we haven't called pam_authenticate()
Merge from 2.2
Jeremy.
(This used to be commit 89589895e3adce75ecd6205547392326cf291543)
2001-04-18 04:34:42 +00:00
John Terpstra
abd4296ebf Updated with Andrew Bartlett patch.
(This used to be commit 02e84267f74b26bdf7f76c0fc9dbaecbc8574d58)
2001-04-13 04:27:50 +00:00
Jeremy Allison
e5691d44a8 Merged John's changes.
Jeremy.
(This used to be commit add847778bf458238bf2a1b14ab71b8cdfd7aec0)
2001-04-12 05:32:27 +00:00
John Terpstra
abd96b890b Updating pampass from Samba-2.2 code tree. ===> JHT
(This used to be commit 88b6043b4e26c2771e0c444376b7017f5048baf8)
2001-04-11 01:29:42 +00:00
Jeremy Allison
6d96224f81 passdb/pass_check.c: Ensure second check is done only if given username is all in caps.
rpc_server/srv_srvsvc_nt.c: Added "CONFIGFILE" arg to scripts so path to smb.conf is given.
Jeremy.
(This used to be commit 3c4c649951464be51541d5890afb997e3ecfcd23)
2001-04-10 19:43:14 +00:00
Jeremy Allison
ef1a7311ce Added JohnT and Andrew Bartlett's PAM changes.
Jeremy.
(This used to be commit ecd00e258c6fe4e8d90f48da74874e090dce4a40)
2001-04-10 18:10:38 +00:00
Jeremy Allison
98560fa394 HEAD specific slprintf paranoia fixes.
Jeremy.
(This used to be commit 61723c18f96a7b38cab0fcf545da7fb3640c5f7b)
2001-04-08 20:31:39 +00:00
Jeremy Allison
f9a15ce1a6 Got "medieval on our ass" about adding the -1 to slprintf.
Jeremy.
(This used to be commit 94747b4639ed9b19f7d0fb896e43aa392a84989a)
2001-04-08 20:22:39 +00:00
Jeremy Allison
8adfb4757c New POSIX ACL mapping code. Works with UNIX permissions, now for testing
with real ACLs...
Jeremy.
(This used to be commit 852b9e15ac245a593460cfff3f629d0333372e41)
2001-03-22 01:26:37 +00:00
Jeremy Allison
beec1ea829 Fix for crash when doing name lookup with a quoted string. Part of
lookup_name was expecting to be able to write to the string. Changed
lookup_name to use const.
Jeremy.
(This used to be commit 80c18d88491f1148ade623e81c33f84ba4f952f3)
2001-03-20 23:07:36 +00:00
Jeremy Allison
c7a953a318 Added sys_dlopen/sys_dlsym/sys_dlclose.
Jeremy.
(This used to be commit 49f0e7e7143f82bce9dfd8b06e9e515bc0869ab7)
2001-03-19 07:08:02 +00:00
Andrew Tridgell
4c9f7ab7f6 fixed unused variable
(This used to be commit af62692e623429ca861905a0ac050b00a3bffdb0)
2001-03-18 23:42:30 +00:00
Gerald Carter
762c6e3f84 patches from Simo. Couple of snity things
(This used to be commit af3f2a30c657fc42171bbf7da2354bc4cc7b088d)
2001-03-14 20:17:27 +00:00
Jeremy Allison
a2e5dbb112 Remove "BYTE" - we already have uint8 - don't need more conflicts with
system header files...
Jeremy.
(This used to be commit 31e0ce310ec38b3a3a05b344d6450d442c6be471)
2001-03-11 00:51:54 +00:00
Jeremy Allison
da3053048c Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMR
RPC code to merge with new passdb code.
Currently rpcclient doesn't compile. I'm working on it...
Jeremy.
(This used to be commit 0be41d5158ea4e645e93e8cd30617c038416e549)
2001-03-11 00:32:10 +00:00
Jeremy Allison
e9f555e4bd Merged JF's fixes into HEAD. These are for string parsing and SAMR fixes.
Jeremy.
(This used to be commit c3a1904564175a7a5cf71e88540b96f7daa59730)
2001-03-02 19:29:02 +00:00
Tim Potter
64172d82fc Merge of i18n fixes from appliance branch. Samba can now talk to a network
with a PDC that has international netbios name and domain name.  There's
still quite a bit of i18n stuff to fix though...
(This used to be commit 79045bd72ace9144e7dd73785b1d10a71b0d15aa)
2001-02-14 05:34:50 +00:00
Gerald Carter
b5eb73d9aa add pam_setcred() call to pam_auth(). Patch was submited last Oct.
jerry
(This used to be commit 57165d1578eefa270d5c0bd8697a774eb8cb06cf)
2001-02-08 18:39:36 +00:00
Jeremy Allison
7786e07735 Fixes for POSIX ACLS. ACL merge code.
Jeremy.
(This used to be commit 180e4a9cd05bcadb2f7c4c23d653724e867196f0)
2001-01-15 22:46:22 +00:00
David O'Neill
3380ffae9c Changes from APPLIANCE_HEAD:
testsuite/printing/psec.c
        - Use lock directory from smb.conf parameter when peeking at the
          ntdrivers.tdb file.
    source/rpc_parse/parse_sec.c
        - fix typo in debug message
    source/script/installbin.sh
        - create private directory as part of 'make install'.
    source/nsswitch/winbindd_cache.c
    source/nsswitch/winbindd_idmap.c
    source/passdb/secrets.c
    source/smbd/connection.c
        - always convert tdb key to unix code-page when generating.
    source/printing/nt_printing.c
        - always convert tdb key to unix code-page when generating.
        - don't prepend path to a filename that is NULL in
          add_a_printer_driver_3().
    source/rpc_server/srv_spoolss_nt.c
        - always convert tdb key to unix code-page when generating.
        - don't prepend server name to a path/filename that is NULL in the
          fill_printer_driver_info functions.
    source/printing/printing.c
        - always convert tdb key to unix code-page when generating.
        - move access check for print_queue_purge() outside of job delete
          loop.
    source/smbd/unix_acls.c
        - fix for setting ACLs (this got missed earlier)
    source/lib/messages.c
        - trivial sync with appliance_head
(This used to be commit 376601d17d53ef7bfaafa576bd770e554516e808)
2001-01-11 20:41:19 +00:00
David O'Neill
17ab0c2acc Changes from APPLIANCE_HEAD:
source/include/proto.h
    source/param/loadparm.c
    source/passdb/passdb.c
    source/rpc_server/srv_samr.c
        - add support for "hide local users" option to HEAD.
(This used to be commit 44dc339fe757b2b5578b30e74aad8c1b12c23f5f)
2001-01-10 16:05:41 +00:00
Gerald Carter
d21325dbd9 more fixes from Simo. Also fixed the password expiration field
in the tdbsam to never expire (we don't support this yet).




jerry
(This used to be commit 3b7d0fe7eb3a9275d2713d7b3325de0ab510ea62)
2000-12-12 16:50:23 +00:00
Gerald Carter
f449a59136 group rid assignment cut and paste error
--jerry
(This used to be commit bb48b02d5f2118470a415d5f1f92305688e6b432)
2000-12-09 20:45:04 +00:00
Jeremy Allison
70922b9bbe Cause smbd to use the new posix_acls code, not the old unix_acls code.
Currently does exactly the same thing (returns ACLs the same way). This
code is written to try and get a POSIX ACL via the abstract sys_XX interface,
then fall back to providing a UNIX based ACL if the calls fail. Seems to
work. Next step is to add a --with-posix-acls to configure.in and then
check on a POSIX ACL system that a complex ACL is returned correctly
as an NT ACL. Note that the ACL set (a more complex problem) is not
addressed yet.
Jeremy.
(This used to be commit 4339e20202a876dbadc07980b731f711463b7299)
2000-12-06 23:24:31 +00:00
Gerald Carter
c09b1d19f8 updates to the tdbsam implementation.
--jerry
(This used to be commit 29b3ac8634769d01c20bf394eecc536a02e0f36c)
2000-12-06 18:22:29 +00:00
Jeremy Allison
0f1c800f85 passdb/secrets.c passdb/smbpassfile.c smbd/server.c : Actually *use* the code
written to transition from an old DOMAIN.MACHINE.MAC file to secrets.tdb.
printing/nt_printing.c: Fix case insensitive name lookups for driver files.
John - this should fix the Win9x/WinME problem correctly.
Jeremy.
(This used to be commit 8f3332a9acf413ac5d12053ca5c52733a4e946cc)
2000-11-27 23:59:42 +00:00
Gerald Carter
af85ca538c o fixed logon script problems (wrong len in reply to net_sam_logon for
a few strings).  I was the one who broke it obviously.

o changed a few more defaults in the smbpasswd backend with
  respect to times.  Now the logon time becomes '0' and the
  pass_can_change_time is set ot the same as pass_last_set_time

o change Get_Pwnam() call in local_lookup_name to sys_getpwnam()
  as it did not seem necessary to try case permutations in the
  username.

  Tim,  I think this was your code, so you might want to double
  check me.


-- jerry
(This used to be commit 37a665002c5cd7908c13d306f61af272a899dbc8)
2000-11-22 19:51:41 +00:00
Gerald Carter
0dcbafe2b9 Another large patch for the passdb rewrite.
o added BOOL own_memory flag in SAM_ACCOUNT so we could
    use static memory for string pointer assignment or
    allocate a new string

  o added a reference TDB passdb backend.  This is only a reference
    and should not be used in production because
	- RID's are generated using the same algorithm as with smbpasswd
 	- a TDB can only have one key (w/o getting into problems) and we
	  need three.  Therefore the pdb_sam-getpwuid() and
	  pdb_getsampwrid() functions are interative searches :-(

    we need transaction support, multiple indexes, and a nice open
    source DBM.  The Berkeley DB (from sleepycat.com seems to fit
    this criteria now)

  o added a new parameter "private dir" as many places in the code were
    using lp_smb_passwd_file() and chopping off the filename part.
    This makes more sense to me and I will docuement it in the man pages

  o Ran through Insure-lite and corrected memory leaks.  Need for
    a public flogging this time Jeremy (-:



-- jerry
(This used to be commit 4792029a2991bd84251d152a62b1033dec62cee2)
2000-11-21 05:55:16 +00:00
David O'Neill
47dc568a3b - fix "declaration of 'time' shadows global declaration" warning.
(This used to be commit 92ff07132b3834b469ad7bb73d6e714b175a12af)
2000-11-14 15:50:30 +00:00
Jeremy Allison
f77ceb61c0 Fixed the cut-n-paste bugs in the new passdb backend code that leaked memory.
Jeremy.
(This used to be commit 55c6acce26a26af68149865dafb42e5a03b497e0)
2000-11-14 01:40:40 +00:00
Gerald Carter
9fede0dc0d Large commit which restructures the local password storage API.
Currently the only backend which works is smbpasswd (tdb, LDAP, and NIS+)
are broken, but they were somewhat broken before. :)

The following functions implement the storage manipulation interface

/*The following definitions come from  passdb/pdb_smbpasswd.c  */

BOOL pdb_setsampwent (BOOL update);
void pdb_endsampwent (void);
SAM_ACCOUNT* pdb_getsampwent (void);
SAM_ACCOUNT* pdb_getsampwnam (char *username);
SAM_ACCOUNT* pdb_getsampwuid (uid_t uid);
SAM_ACCOUNT* pdb_getsampwrid (uint32 rid);
BOOL pdb_add_sam_account (SAM_ACCOUNT *sampass);
BOOL pdb_update_sam_account (SAM_ACCOUNT *sampass, BOOL override);
BOOL pdb_delete_sam_account (char* username);

There is also a host of pdb_set..() and pdb_get..() functions for
manipulating SAM_ACCOUNT struct members.  Note that the struct
passdb_ops {} has gone away.  Also notice that struct smb_passwd
(formally in smb.h) has been moved to passdb/pdb_smbpasswd.c
and is not accessed outisde of static internal functions in this
file.  All local password searches should make use of the the SAM_ACCOUNT
struct and the previously mentioned functions.

I'll write some documentation for this later.  The next step is to fix
the TDB passdb backend, then work on spliting the backends out into
share libraries, and finally get the LDAP backend going.

What works and may not:

	o domain logons from Win9x 	works
	o domain logons from WinNT 4	works
	o user and group enumeration
		as implemented by Tim	works
	o file and print access		works
	o changing password from
		Win9x & NT		ummm...i'll fix this tonight :)

If I broke anything else, just yell and I'll fix it.  I think it
should be fairly quite.





-- jerry
(This used to be commit 0b92d0838ebdbe24f34f17e313ecbf61a0301389)
2000-11-13 23:03:34 +00:00
Gerald Carter
01e0d3879e TDB password backend support written by Simo Sorce <simo.sorce@polimi.it>
Marked as an experimental compile time option (defaults to off) for now.





jerry
(This used to be commit 0435af4417b876c2ea1dd4591ae7647784c28e30)
2000-10-26 03:31:41 +00:00
Jean-François Micouleau
85643cd72c last part of W2K support.
the trust domain list reply on netlogon pipe was wrong, interim hack until
we have full trust relationships.

changed some unistr2 to parse the ending NULL char.

added a prs_align_needed() function. much like a prs_align but with a
condition. needed for the unistr2 parsing.

	J.F.
(This used to be commit d8bf81553c17d9ee3419d8150b96119ebb0b8fa9)
2000-10-13 14:02:01 +00:00
Jean-François Micouleau
75c346e70c added samr_set_user_info and info_2.
cleanup of create_user
cleanup of rid/sid mix in samr. now we only have sid.

some prs_align() missing in parse_samr.c

a small debug change in srv_pipe.c

You still can't change a user's password in this commit.
Will be availble in the next one.

	J.F.
(This used to be commit b655bc281fa183b1827a946ada1fcf500fb93aea)
2000-10-07 15:56:36 +00:00
Jeremy Allison
dbaeb8438b Removed a line by mistake...
Jeremy.
(This used to be commit dcbdff7a4d6442ca8f9e1aa6fcf65c196c2f22bf)
2000-09-28 20:58:15 +00:00
Jeremy Allison
d6a73c3aae Added comment on JF's new code. Removed ifdef in passdb/smbpass.c as this
was not correct.
Jeremy.
(This used to be commit 1a3f7ecde2ca031b2f93a079f75822354fe241a0)
2000-09-28 20:36:28 +00:00
Jean-François Micouleau
b06d83c909 fixed samr_create_user(). we now correctly parse the query and the reply.
And we create the disabled account. That means we can create user and
trust accounts remotely !

ifdef out a return in passdb/smbpass.c. I think I didn't break any
security. Jeremy could you check if I didn't make any mistakes ???

	J.F.
(This used to be commit 416be1b64f366c8b859f25856fce2467ec0446d9)
2000-09-28 17:35:03 +00:00
Jeremy Allison
641d9e85ea Added code to do SID to uid/gid conversion. Needed for ACL support.
Jeremy.
(This used to be commit 81c5380f91839b6416c8a42739dadf00e7388528)
2000-08-23 00:45:40 +00:00