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

6604 Commits

Author SHA1 Message Date
Jeremy Allison
9333bbeb76 Fixed up the change password bug when not using PAM.
The problem is we were trying to use mask_match as a generic
wildcard matcher for UNIX strings (like the password prompts).
We can't do that - we need a unix_wild_match (re-added into lib/util.c)
as the ms_fnmatch semantics for empty strings are completely wrong.
This caused partial reads to be accepted as correct passwd change
responses when they were not....
Also added paranioa test to stop passwd change being done as root
with no %u in the passwd program string.
Jeremy.
-
Andrew Tridgell
b97fbfcd7c better method of generating the case equivalence table
interestingly, this shows that w2kp-jp and w2kp have the *same* case
equivalence table, but it is not the same as the Samba one.
-
Jeremy Allison
94403d8417 Fixed the bug with member servers in a Samba PDC hosted domain not allowing
other access. Problem was max time was being set to 0xffffffff, instead of
0x7fffffff.
Jeremy.
-
Andrew Tridgell
441f9415b3 the CASETABLE torture target now generates the complete unicode
equivalence table for a server. This was inspired by the chargen win32
code from monyo.

This takes a *long* time to run against a Samba server due to the case
insensitive comparisons in the filesystem. That makes it a N^2
operation, and N is 64k. It is linear on NT.
-
Tim Potter
2d0922b0ea Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header. -
Tim Potter
f9eb370806 Added copyright (not sure who owns it though) and #include guards. -
Tim Potter
9efa93556e Added copyright and include guards. -
Andrew Tridgell
70b7c900c9 honor the ACB_PWNOEXP flag in smbpasswd -
Andrew Tridgell
11075f5434 - fix handling of 0 last_change_time and must_change_time
- move the arbitrary 21 day timeout to local.h
-
Andrew Bartlett
90dcbe16be Don't try to write the LM password in the NT password feild. -
Andrew Tridgell
57196635d9 make strupper() and strlower() not modify the string if it doesn't
need modifying

that makes constant strings OK
-
Christopher R. Hertel
14bfd9107a I told Jeremy at the CIFS conference that I would sort the command list
in smbclient.  Done.  I had a little trouble because the "!" command is
a special case and must be listed last.  Awkward.

Chris -)-----
-
Andrew Bartlett
7802bc94e7 Small changes to register_vuid ahead of a larger restructure. -
Andrew Bartlett
663c1c91bd Make header comment clearer, these are RIDs, not UIDs. -
Andrew Bartlett
0591048335 Finally kill off the SMBENCRYPT() macro. -
Gerald Carter
c308459bda merge from 2.2 -
Motonobu Takahashi
d3cb139aff fixed in *BSD -
Motonobu Takahashi
a91777fb47 fixed not to install in *BSD, but perhaps on Solaris, cannot install -
Simo Sorce
5ab220efd7 undef the code for now -
Simo Sorce
a4c746ac47 further devel and test kit.
first tests show it still does not work.
work in progress...
-
Motonobu Takahashi
ca350fdf03 not to creat gmo files from po files during making
this is because some platforms such as HP-UX do not have any msgfmt
command.

if someone updates po file,
then he has to update gmo files manually and commit.
-
Andrew Bartlett
6b45e342fd This is the passdb section of the previously mentioned commit.
Of particular note is the change to pdb_free_sam() to take its sam argument by
reference, allowing it to be NULLified by the SAFE_FREE() macro, and the
changed to local_password_change() both to make it work and to remove the
duplicate code that caused so much breakage over the last few days.

 - Small change in behaviour:  when LOCAL_ADD_USER is set, the user doesn't
actually exist locally but does exist in the passdb we don't attempt to do a
GetPwnam().  (How the entry got there is another matter, and most passdbs won't
allow this anyway).

Andrew Bartlett
-
Andrew Bartlett
762c8758a7 Fix up a number of intertwined issues:
The big one is a global change to allow us to NULLify the free'ed pointer to a
former passdb object.  This was done to allow idra's SAFE_FREE() macro to do
its magic, and to satisfy the input test in pdb_init_sam() for a NULL pointer
to start with.

This NULL pointer test was what was breaking the adding of accounts up until
now, and this code has been reworked to avoid duplicating work - I hope this
will avoid a similar mess-up in future.

Finally, I fixed a few nasty bugs where the pdb_ fuctions's return codes were
being ignored.  Some of these functions malloc() and are permitted to fail.
Also, this caught a nasty bug where pdb_set_lanman_password(sam, NULL) acheived
precisely didilly-squat, just returning False.  Now that we check the returns
this bug was spotted.  This could allow different LM and NT passwords.

 - the pdbedit code needs to start checking these too, but I havn't had a
chance to fix it.

I have also fixed up where some of the password changing code was using the
pdb_set functions to store *internal* data.  I assume this is from a previous
lot of mass conversion work...

Most likally (and going on past experience) I have missed somthing, probably in
the LanMan password change code which I havn't yet been able to test, but this
lot is in much better shape than it was before.

If all this is too much to swallow (particularly for 2.2.2) then just adding a
sam_pass = NULL to the particular line of passdb.c should do the trick for the
ovbious bug.

Andrew Bartlett
-
Simo Sorce
d38bc1dcec return NT_STATUS_NO_MEMORY istead of NT_STATUS_OK if we are out of memory. -
Andrew Bartlett
b648cc669d Add a few const statements to various odd bits of the tree. (Fixes some
warnings)
-
Gerald Carter
d0628d0d2d Don't build make_printerdef in HEAD. This tool is not needed except
to support 2.0.x style WIn9x driver download.
-
Jeremy Allison
4c5158d1e5 Fixed CUPS detection - patch from Michael Sweet.
Jeremy.
-
Andrew Bartlett
1f83184f88 How the heck I missed this I don't know, but somehow I got a copy-and-paste
error in here...

Now you can change local passwords again.  There is stil somthing broken about
remote (via windows/sampasswd) password changing.

I shall have to revise my testing, I honestly don't know how this slipped
through the net.

MERGE for 2.2.2.

Sorry,
Andrew Bartlett
-
Jeremy Allison
e25dc68843 Removed smbpasswd_XX call (how did this get re-added, I removed all
these yesterday ?).
Jeremy.
-
Jeremy Allison
76fac3eb94 Sync 2.2.2 and HEAD (I will keep these the same if it kills me :-).
Jeremy.
-
Jeremy Allison
65bf4a36ef Merge HEAD and 2.2 - try frantically to keep in sync.
Jeremy.
-
Volker Lendecke
69a3277fc5 How often did I read the CVS commit message
"Always compile before commit" :-((

Volker
-
Simo Sorce
2d1aabb6d4 get out unicode_from_buffer and buffer_from_unicode, unneeded.
store mangled filename in dos charset and unmangled in unicode.
clean ups
still lot to do.
againg compiled but not yet tested.
-
Andrew Bartlett
e3b7cac47f Major update to pdbedit's import and export code, in line with reqests for it
to use the pdb_ formatting functions.

Similarly, it now uses pdb_set...() rather than accessing passdb members
directly.

Andrew Bartlett
-
Andrew Bartlett
758d923fa1 Kill unused variables -
Andrew Bartlett
a41fb44f5e Fix memory leak in get_sampwd_entries(), reindent for clarity.
- call pdb_reset_sam() after each getent call.

Fix bug in get_group_alias_entries(), were if num_entries was zero this caused
talloc() to return NULL, failing a test below with NT_STATUS_NO_MEMORY.

Fix pdb_reset_sam() to correctly initalise the sam structure.

Move default value code into a single place, likewise for sam freeing code.
 - should make things easier if we decide to malloc other strings, or get more
 non-zero default values.

Finally, add a function in init a sam struct from a getpwnam() return.

Andrew Bartlett
-
Gerald Carter
9d8cbf3d5d sync up with 2.2 -
Simo Sorce
57e639bbdd minor fixes -
Andrew Tridgell
2f44756233 fixed compilation of tdbtorture -
Gerald Carter
efc6df5a39 OpenSSL merge from 2.2 -
Volker Lendecke
50ea73426f From 2.2.
Volker
-
Gerald Carter
247b9c3eba merge from 2.2 -
Andrew Bartlett
c04f063573 Kill of the reply.c end of the workstaion trust account mess.
Fix the NT errror codes, this time in line with WinXP/2k.
 - Return the normal error codes, expect for bad user/bad password.  These map
   to logon failure, as a quick security hack.  We follow suit.

Simplfy some of the password extraction code, the auth subsytem has the
 intelegence to sort this stuff out, no need to do it here.

Move to 'global_encrypted_passwords_negotiated' to determine the use of
unencrypted hacks, replacing the current mess.

Andrew Bartlett
-
Andrew Bartlett
da4873d889 Process the workstation trust account code INSIDE the authenticaion subsystem,
just like any other logon.  Matching code removal in reply.c to follow.

Andrew Bartlett
-
Andrew Bartlett
53c1c5091e Rearrange the order of the checks in auth_smbpasswd.c, always check passwords
first.

Add password expiry and 'must change before first logon' support.
 - This requires that the passdb be up to the job to supply the info.
-
Andrew Bartlett
37655b4289 Fix this to use the plaintext password code directly, like SWAT does.
This whole area needs to be cleaned up.  Should this kind of passowrd
change/check be permitted with encrypt passwords = yes?

In any case I've also had trouble testing this, as I can't find the right
software/configuration to exersise this behaviour.  But its better than the
previous situation.  Any assistance greatly appriciated.

Andrew Bartlett
-
Andrew Bartlett
ce676f8bfc Update for new pdb_set_plaintext_passwd() interface. -
Andrew Bartlett
42402c87d6 Make use of the pdb_set_plaintext_passwd() update to vastly simplify
decode_pw_buffer() and the samr password changing routines.

And yes, I know that we can lost some information in the Unicode->UTF->Unicode
bit of this, but its worth the code cleanup.

This also takes into account the possability of multibyte passwords.

Andrew Bartlett
-
Andrew Bartlett
27f0510a0b Fix the uninitialised variable, but more importantly fix the SEGFAULT.
Merge for 2.2.2

Should TDB cope with TDB pointers itself?

Andrew Bartlett
-
Andrew Bartlett
540abc8125 Fix up TDB_SAM with repect to case sensitvity. (need to use unix_strlower)
Also attempt to make some of the syntax clearer, its confusing enought for the
compiler... (it thinks that there is use of an unitilaised variable)

In fact there is, see next patch...
-