summaryrefslogtreecommitdiff
path: root/source3/passdb
AgeCommit message (Collapse)AuthorFilesLines
1999-06-29improving authentication code (tidyup).Luke Leighton1-1/+0
(This used to be commit ab1a6aa42db5217f025941fb5107436556bc23b7)
1999-06-13Moved code that changes the pw_passwd entry (i.e shadow password andTim Potter2-64/+2
weird unixware stuff) into _Get_Pwnam() to fix a memory allocation bug. Note that the Get_Pwnam() function now returns a const struct passwd * as a hint to other developers not to change entries in the struct passwd. (This used to be commit 36d7cb4ccc42268e8e6a7b783c945d1853624958)
1999-05-06Jani Jaakkola's "getpwuid() / getpwnam()" hash-cache-hackLuke Leighton1-1/+1
(This used to be commit 899fc053c50448db65092d9f25fea99433cfb29f)
1999-03-25"User Manager" - create user + change password now work.Luke Leighton1-0/+42
next problem: user group adding not supported so an "access denied" message is reported instead of "ok" when a new user is created. (This used to be commit f5f61bd477b4910cb90675c926381342c30a5b16)
1999-03-25fixed issues with "Welcome to SAMBA Domain" for when admin user/pass isLuke Leighton2-1/+148
used to add workstation to domain. unix account db not modified: only SAM password db is used. (This used to be commit 129a9a4d4b74897ed753a697a3aed9b194c25568)
1999-03-25SAM database "set user info".Luke Leighton4-5/+19
---------------------------- - removed DOM_RID4 - removed SAMR_UNKNOWN_32 - added SAMR_SET_USERINFO (opcode 0x32) - added level 0x1 to SAMR_QUERY_DOM_INFO (needed for create user) - fixed pwdb_gethexpwd() it was failing on XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - added mod_sam21pwd_entry() - preparing to call mod_sam21pwd_entry() - added "user session key" to user_struct.dc. this is md4(nt#) and is needed to decode user's clear-text passwords in SAMR_SET_USERINFO. - split code out in chgpasswd.c to decode 516 byte password buffers. (This used to be commit 2e58ed742435befe419aa366c4052019fede8c23)
1999-03-23#if defined(HAVE_MYSQL_H) || defined(WITH_MYSQLSAM)Matthew Chapman1-1/+1
should instead have &&. (This used to be commit 1143fd4297b946d4ffd3c6ca104188cdcb48fac8)
1999-03-12new "domtrust" test command. r&d into inter-domain trust accounts.Luke Leighton1-6/+6
(This used to be commit 65b0abe8b7594ff6c662da86dc2e35bd83a2d13d)
1999-03-10static password space needed.Luke Leighton1-3/+3
(This used to be commit 5b1d0789007bfcb09326643eb271746cee386846)
1999-03-09mods to allow inter-domain trust accounts to be added to SAM databaseLuke Leighton2-54/+77
using smbpasswd command. (This used to be commit 62d499f83256c6e8b3308dc4bd8e9f5df873b14b)
1999-03-08pass_check.c could receive encrypted password: printing it out as a %sLuke Leighton1-1/+2
results in garbage. with no password length argument doing dump_data( 100, password, strlen(password)) is the next best alternative. (This used to be commit 073c8652c13408b883fc73203e5558b1a9a64d62)
1999-03-05spelling mistake, #ifdef'd out for non-developers (oops!)Luke Leighton1-0/+5
(This used to be commit 167b0b20e33bef4af5deaff961937dd5fadf481d)
1999-03-05Benjamin Kuit's mods.Luke Leighton2-3/+5
(This used to be commit eb63fbdb68f1189593e68272e05d7ebf76652c4c)
1999-03-03Benjamin Kuit's latest mysql mods. issue with "make proto" needs to beLuke Leighton4-84/+87
resolved. (This used to be commit d59a2e669aed7ee33fdca8b8ec126b1c0a984981)
1999-03-01Benjamin Kuit's MYSQL SAM Database implementation.Luke Leighton4-0/+937
Copyright (C) Benjamin Kuit <bj@mcs.uts.edu.au> 1999. (This used to be commit fdf61e1dabc2c977ee5cf1e9d60e3380f19840da)
1999-02-09pwdb_smb_to_sam was not returning NULL for nt name so thatLuke Leighton1-8/+20
pwdb_sam_map_names() was using a "blank" static string instead of a NULL pointer for nt names. NULL means over-ride, so the nt name got left as "blank". this causes nt clients to terminate with extreme prejudice. (This used to be commit ddd350198202d6a1d2c715b3dce7db3a5d76a63a)
1999-02-08iteration of sam passwd entries was an order n-cubed algorithm dueLuke Leighton2-21/+91
to resolution of unix name to nt name being unnecessarily _inside_ another loop. (This used to be commit d455c9d2c9f60289d78d0331228f5922152070bf)
1999-02-01Fixed a domain functionality problem where NT clients would startMatthew Chapman1-30/+11
endlessly repeating a network SAMLOGON (hoping it to change, hmmm...). ( Guess what I found in pwdb_init_sam... unix_to_nt_time(&user->logon_time, (time_t)-1); unix_to_nt_time(&user->logoff_time, (time_t)-1); unix_to_nt_time(&user->kickoff_time, (time_t)-1); ... ) (This used to be commit e9c79c85e6d1352693ab13e907b07d4706975891)
1999-01-15Finally committing my LDAP changes.Matthew Chapman3-50/+135
* Added new APIs for modifying groups. * RIDs are allocated similarly to NT, starting from 1000 and incrementing by 1 for each new user/group. * RIDs are now consistently in hex * Fixed bugs reported by Allan Bjorklund <allan@umich.edu>: - ldap_close_connection is exported by OpenLDAP - changed to ldap_disconnect - Missing ldap_connect() in getusergroups functions - ldap_next_entry was being called too early while retrieving a sam_struct - LDAP globals should be extern in sampassldap.c * Fixed bugs reported by Martin Hofbauer <mh@bacher.at> - Newly added workstation trust accounts had attributes DU rather than W. - User dn's were forced to start with "uid=XX" rather than using the existing dn. (This used to be commit 91c77f5432169553572bb4d85ad5f09d17524f20)
1999-01-13Fixed the "You password will expire in 0 days. Would you like toGerald Carter2-1/+30
change it now?" message when you login to a Samba Controlled domain. The fix is a hard coded 42 days from right now until you need to change you pasword again time (see passdb/sampassdb.c:pwdb_smb_to_sam()) Also fixed getsmbfilepwent() so that it will read in the last password change time correctly. * Related to this lib/util_pwdb.c:StrnCaseCmp() returns 0 if the strings match. Chouldn't this be the pther way? Oh well. I didn't change the return code as it was used in several other cases (see lib/util_pwdb.c:pwdb_get_last_set_time()) (This used to be commit 175e598dccd042c0f8b045db45fbe3ae928a7387)
1998-12-14trying to track down issues in get_home_dir().Luke Leighton1-0/+4
(This used to be commit 2cce78aa00f31b79d51aaf46da72019b926e8226)
1998-12-11%U substitution should be unix user not nt userLuke Leighton2-4/+9
(This used to be commit f4b8a283065a7c1ae233a0ae01ac76f32fea6b31)
1998-12-08ldap_getpw() also needs to be (void)Luke Leighton1-3/+2
(This used to be commit f36cf3b6a70d0a91bce923ab51780d20d69e3bd6)
1998-12-08compilation warnings due to missing (void) in ldap_close_connection.Luke Leighton1-2/+6
(This used to be commit f11eb4165836ce8d15a453d37c4e07913562d778)
1998-12-07added ldap files by Matthew Chapman.Luke Leighton2-0/+623
(This used to be commit 2bc031e8fafeafdc58c6a8056597b647d00657ae)
1998-12-07Matthew Chapman spotted that smbpasschange was assuming the existenceLuke Leighton1-29/+0
of a private/smbpasswd file, this will not be the case for other database APIs. removed startsmbdb and endsmbpwdb calls because add_smbpwd_entry() and mod_smbpwd_entry() don't need them. (This used to be commit 8b36c7c08ffa408506c35219e6453a595cbc3a4f)
1998-12-07matthew chapman's ldap code, to date. plus docs!Luke Leighton3-817/+289
(This used to be commit 2c438c86cbb38833b3abd4fbead6324687633b25)
1998-11-30attempting to fix "domain user map" up, but it's a bit complicated.Luke Leighton1-4/+13
i may simply go for a response in the NetSamLogon returning the unix username, forcing the NT user to appear to be a unix user, however even that is fraught with implications. might just have to go the whole hog and do this tuple thing, "unix_name + nt_name" always associated together... issue with api_net_sam_logon, getsam21pwent() being called twice, the second time overwriting static buffer data (argh) so had to make a copy. noticed a nested "become_root()"/"unbecome_root()" which will have to be tracked down... (This used to be commit 474f94f419a531e33b475249da7efb99ac22f454)
1998-11-30passdb.c now calls getpwnam() which returns results in a static buffer.Luke Leighton1-7/+21
a call _outside_ of this was _also_ calling getpwnam. the calls to getsmbpwnam() were therefore overwriting the static buffer. (This used to be commit c5ba5fa6feab2884a23b8bcb5dcb349ee1a7c139)
1998-11-30- adding builtin[alias]db.Luke Leighton2-20/+32
- lib/sids.c: generate_sam_sid() modified to take a domain name: it now generates "DOMAIN_NAME.SID". reasons: 1) if you run multiple samba servers on the same machine under different netbios names as members of a domain, they won't all use the same SID, which is a _big_ mistake but it would happen _by default_. 2) we have (had) a problem with sid_to_string() and string_to_sid() which cause SIDs to be incorrectly read. one of the major reasons for *NOT* making this change was so as not to disrupt existing users. but as they will be anyway by this bug, we might as well go ahead. - passdb/smbpass.c: wanted to change the meaning of the name in the smbpasswd file to an "nt" name not a "unix" name. this is probably not a good idea: reverted this. - output formatting / bug-fixing in rpcclient query_useraliases code. (This used to be commit e4930f5f48f8246ceec8add8bf769954a963190c)
1998-11-29"retired" two modules to preserve their cvs history.Luke Leighton2-0/+713
added their replacements, added sam password database API modules (This used to be commit b1d1c1337c69c6f6bf25ab932a1a6a757e3ea2ae)
1998-11-29weekend work. user / group database API.Luke Leighton8-880/+209
- split sam_passwd and smb_passwd into separate higher-order function tables - renamed struct smb_passwd's "smb_user" to "unix_user". added "nt_user" plus user_rid, and added a "wrap" function in both sam_passwd and smb_passwd password databases to fill in the blank entries that are not obtained from whatever password database API instance is being used. NOTE: whenever a struct smb_passwd or struct sam_passwd is used, it MUST be initialised with pwdb_sam_init() or pwd_smb_init(), see chgpasswd.c for the only example outside of the password database APIs i could find. - added query_useraliases code to rpcclient. - dealt with some nasty interdependencies involving non-smbd programs and the password database API. this is still not satisfactorily resolved completelely, but it's the best i can do for now. - #ifdef'd out some password database options so that people don't mistakenly set them unless they recompile to _use_ those options. lots of debugging done, it's still not finished. the unix/NT uid/gid and user-rid/group-rid issues are better, but not perfect. the "BUILTIN" domain is still missing: users cannot be added to "BUILTIN" groups yet, as we only have an "alias" db API and a "group" db API but not "builtin-alias" db API... (This used to be commit 5d5d7e4de7d1514ab87b07ede629de8aa00519a1)
1998-11-26we have a problem: resolution of "Primary Group RID" which we assumedLuke Leighton1-1/+14
would only be a domain group rid. it can also be a local group rid, which causes us problems in attempting to turn a unix gid into the correct rid (domain group or local group). sooo.... the fix is _in_ there, we just can't use it because it causes link / knock-on problems in nmbd. (This used to be commit e4ee6538709c33000774eb1676608f2dd67d5a30)
1998-11-25fixing group database issuesLuke Leighton2-7/+8
(This used to be commit 591c63e3e1e3201ddcd7582585b652fb848d80ca)
1998-11-25LsaLookupNames client call (first used as lookupnames command in rpcclient).Luke Leighton1-23/+29
(This used to be commit 68342a29a892e515cf2b22d759476d61944bcd59)
1998-11-25fixing domain join and domain login problemsLuke Leighton1-1/+0
(This used to be commit 90a24664318da97a6e8cfe4622a8573c0e3cbe5e)
1998-11-24clearer debug commentsLuke Leighton1-2/+2
(This used to be commit 06b9100c1c1590bad392a8d9bdd79a6c554a3cac)
1998-11-24oops, forgot to rename smbfilegrp to smbunixgrp.Luke Leighton1-11/+11
(This used to be commit 6de2b03d1c6714d63c6dbe7a417fb442e95ee0d9)
1998-11-24initialise not initialize...Luke Leighton2-2/+2
(This used to be commit b67d66a1e9d879cd5960380c94422c0af8dedaad)
1998-11-23remove unused variableLuke Leighton1-1/+0
(This used to be commit 30b3f339f8d55c2d3a4cbc380b7f12eb040bf381)
1998-11-23someone had added code to convert rids to rids, assuming that the ridsLuke Leighton1-9/+1
in the file were gids: they are not. (This used to be commit 8af860394fa3251a26285c8c96c9e4093346f20b)
1998-11-23unix instance of group database APILuke Leighton5-20/+263
(This used to be commit e76f593b3572ac881f1aa1fb3326d8b7169b0078)
1998-11-17Added the same open()/fopen()/creat()/mmap() -> sys_XXX calls.Jeremy Allison5-15/+14
Tidied up some of the mess (no other word for it). Still doesn't compile cleanly. There are calls with incorrect parameters that don't seem to be doing the right thing. This code still needs surgery :-(. Jeremy. (This used to be commit 18ff93a9abbf68ee8c59c0af3e57c63e4a015dac)
1998-11-17swapped username:uid:[groupridlist]:[aliasridlist] toLuke Leighton1-9/+9
u:u:a:g (This used to be commit 2f456ed92ffbf596945a9ec800c373495fc4e38a)
1998-11-17- group database API. oops and oh dear, the threat has been carried out:Luke Leighton5-719/+388
the pre-alpha "domain group" etc parameters have disappeared. - interactive debug detection - re-added mem_man (andrew's memory management, detects memory corruption) - american spellings of "initialise" replaced with english spelling of "initialise". - started on "lookup_name()" and "lookup_sid()" functions. proper ones. - moved lots of functions around. created some modules of commonly used code. e.g the password file locking code, which is used in groupfile.c and aliasfile.c and smbpass.c - moved RID_TYPE_MASK up another bit. this is really unfortunate, but there is no other "fast" way to identify users from groups from aliases. i do not believe that this code saves us anything (the multipliers) and puts us at a disadvantage (reduces the useable rid space). the designers of NT aren't silly: if they can get away with a user- interface-speed LsaLookupNames / LsaLookupSids, then so can we. i spoke with isaac at the cifs conference, the only time for example that they do a security context check is on file create. certainly not on individual file reads / writes, which would drastically hit their performance and ours, too. - renamed myworkgroup to global_sam_name, amongst other things, when used in the rpc code. there is also a global_member_name, as we are always responsible for a SAM database, the scope of which is limited by the role of the machine (e.g if a member of a workgroup, your SAM is for _local_ logins only, and its name is the name of your server. you even still have a SID. see LsaQueryInfoPolicy, levels 3 and 5). - updated functionality of groupname.c to be able to cope with names like DOMAIN\group and SERVER\alias. used this code to be able to do aliases as well as groups. this code may actually be better off being used in username mapping, too. - created a connect to serverlist function in clientgen.c and used it in password.c - initialisation in server.c depends on the role of the server. well, it does now. - rpctorture. smbtorture. EXERCISE EXTREME CAUTION. (This used to be commit 0d21e1e6090b933f396c764af535ca3388a562db)
1998-11-13Makefile.in configure configure.in include/config.h.in: Changes for DGUX and ↵Jeremy Allison1-1/+1
UNIXWARE. groupdb/aliasdb.c groupdb/aliasfile.c groupdb/groupfile.c: Don't use snprinf, use slprintf. include/includes.h: Fix YP problem. include/smb.h: Fix ZERO_STRUCTP. lib/util_sock.c: Added strerror() in debugs. passdb/ldap.c: Don't use snprinf, use slprintf. rpc_client/cli_lsarpc.c rpc_client/cli_pipe.c rpc_parse/parse_sec.c rpc_server/srv_pipe.c: Don't use snprinf, use slprintf. script/installman.sh: DGUX changes. smbd/open.c smbd/oplock.c: Fixed gcc warnings. web/swat.c: Changes USER to SWAT_USER. (This used to be commit 4c2b5a00983501e5d4aad1456ba8b5ab0dfd9b4c)
1998-11-12Removed code that used printf/fprintf in password changin libraries.Herb Lewis1-11/+18
Now passes strings instead. (This used to be commit 48af29bcc9e8094de6ba057a52dbae3c80ea7a05)
1998-11-12extracted the password change code from smbpasswd and used it in swatAndrew Tridgell1-0/+162
instead of opening pipes and other horrible stuff. (This used to be commit 49bf19710345a59a2d17cd449be1a132885ed821)
1998-11-10util functions split into relevant modules, first pass.Luke Leighton1-43/+0
(This used to be commit d448906e68cec5019fa83f7d31b862efff41e2da)
1998-11-07codepages/codepage_def.936: Updated comment.Jeremy Allison1-5/+3
param/loadparm.c: Removed "networkstation user login", "domain controller", and "domain sid" parameters. passdb/passdb.c: Removed "networkstation user login" code and changed bug test code to only check once for a bad password server. This will stop the complaints of many "bad login" audit records in NT PDC logs. utils/smbpasswd.c: Removed check for "domain controller". Jeremy. (This used to be commit d6e6e936b5dd90dd8fc38d9404efbe5c546c15e5)