summaryrefslogtreecommitdiff
path: root/source3/passdb/pdb_get_set.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/passdb/pdb_get_set.c')
-rw-r--r--source3/passdb/pdb_get_set.c168
1 files changed, 26 insertions, 142 deletions
diff --git a/source3/passdb/pdb_get_set.c b/source3/passdb/pdb_get_set.c
index dff4b40f4d..cf77efd38f 100644
--- a/source3/passdb/pdb_get_set.c
+++ b/source3/passdb/pdb_get_set.c
@@ -5,7 +5,6 @@
Copyright (C) Luke Kenneth Casson Leighton 1996-1998
Copyright (C) Gerald (Jerry) Carter 2000-2001
Copyright (C) Andrew Bartlett 2001-2002
- Copyright (C) Stefan (metze) Metzmacher 2002
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,9 +23,6 @@
#include "includes.h"
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_PASSDB
-
/**
* @todo Redefine this to NULL, but this changes the API becouse
* much of samba assumes that the pdb_get...() funtions
@@ -142,35 +138,21 @@ const uint8* pdb_get_lanman_passwd (const SAM_ACCOUNT *sampass)
return (NULL);
}
-/* Return the plaintext password if known. Most of the time
- it isn't, so don't assume anything magic about this function.
-
- Used to pass the plaintext to passdb backends that might
- want to store more than just the NTLM hashes.
-*/
-const char* pdb_get_plaintext_passwd (const SAM_ACCOUNT *sampass)
+uint32 pdb_get_user_rid (const SAM_ACCOUNT *sampass)
{
- if (sampass) {
- return ((char*)sampass->private.plaintext_pw.data);
- }
- else
- return (NULL);
-}
-const DOM_SID *pdb_get_user_sid(const SAM_ACCOUNT *sampass)
-{
- if (sampass)
- return &sampass->private.user_sid;
+ if (sampass)
+ return (sampass->private.user_rid);
else
- return (NULL);
+ return (-1);
}
-const DOM_SID *pdb_get_group_sid(const SAM_ACCOUNT *sampass)
+uint32 pdb_get_group_rid (const SAM_ACCOUNT *sampass)
{
if (sampass)
- return &sampass->private.group_sid;
- else
- return (NULL);
-}
+ return (sampass->private.group_rid);
+ else
+ return (-1);
+}
/**
* Get flags showing what is initalised in the SAM_ACCOUNT
@@ -242,14 +224,6 @@ const char* pdb_get_homedir (const SAM_ACCOUNT *sampass)
return (NULL);
}
-const char* pdb_get_unix_homedir (const SAM_ACCOUNT *sampass)
-{
- if (sampass)
- return (sampass->private.unix_home_dir);
- else
- return (NULL);
-}
-
const char* pdb_get_dirdrive (const SAM_ACCOUNT *sampass)
{
if (sampass)
@@ -487,72 +461,27 @@ BOOL pdb_set_gid (SAM_ACCOUNT *sampass, const gid_t gid)
}
-BOOL pdb_set_user_sid (SAM_ACCOUNT *sampass, DOM_SID *u_sid)
-{
- if (!sampass || !u_sid)
- return False;
-
- sid_copy(&sampass->private.user_sid, u_sid);
-
- DEBUG(10, ("pdb_set_user_sid: setting user sid %s\n",
- sid_string_static(&sampass->private.user_sid)));
-
- return True;
-}
-
-BOOL pdb_set_user_sid_from_string (SAM_ACCOUNT *sampass, fstring u_sid)
-{
- DOM_SID new_sid;
- if (!sampass || !u_sid)
- return False;
-
- DEBUG(10, ("pdb_set_user_sid_from_string: setting user sid %s\n",
- u_sid));
-
- if (!string_to_sid(&new_sid, u_sid)) {
- DEBUG(1, ("pdb_set_user_sid_from_string: %s isn't a valid SID!\n", u_sid));
- return False;
- }
-
- if (!pdb_set_user_sid(sampass, &new_sid)) {
- DEBUG(1, ("pdb_set_user_sid_from_string: could not set sid %s on SAM_ACCOUNT!\n", u_sid));
- return False;
- }
-
- return True;
-}
-
-BOOL pdb_set_group_sid (SAM_ACCOUNT *sampass, DOM_SID *g_sid)
+BOOL pdb_set_user_rid (SAM_ACCOUNT *sampass, uint32 rid)
{
- if (!sampass || !g_sid)
+ if (!sampass)
return False;
- sid_copy(&sampass->private.group_sid, g_sid);
-
- DEBUG(10, ("pdb_set_group_sid: setting group sid %s\n",
- sid_string_static(&sampass->private.group_sid)));
-
+ DEBUG(10, ("pdb_set_rid: setting user rid %d, was %d\n",
+ rid, sampass->private.user_rid));
+
+ sampass->private.user_rid = rid;
return True;
}
-BOOL pdb_set_group_sid_from_string (SAM_ACCOUNT *sampass, fstring g_sid)
+BOOL pdb_set_group_rid (SAM_ACCOUNT *sampass, uint32 grid)
{
- DOM_SID new_sid;
- if (!sampass || !g_sid)
+ if (!sampass)
return False;
- DEBUG(10, ("pdb_set_group_sid_from_string: setting group sid %s\n",
- g_sid));
-
- if (!string_to_sid(&new_sid, g_sid)) {
- DEBUG(1, ("pdb_set_group_sid_from_string: %s isn't a valid SID!\n", g_sid));
- return False;
- }
-
- if (!pdb_set_group_sid(sampass, &new_sid)) {
- DEBUG(1, ("pdb_set_group_sid_from_string: could not set sid %s on SAM_ACCOUNT!\n", g_sid));
- return False;
- }
+ DEBUG(10, ("pdb_set_group_rid: setting group rid %d, was %d\n",
+ grid, sampass->private.group_rid));
+
+ sampass->private.group_rid = grid;
return True;
}
@@ -689,7 +618,7 @@ BOOL pdb_set_logon_script(SAM_ACCOUNT *sampass, const char *logon_script, BOOL s
}
if (store) {
- DEBUG(10, ("pdb_set_logon_script: setting logon script sam flag!\n"));
+ DEBUG(10, ("pdb_set_logon_script: setting logon script sam flag!"));
pdb_set_init_flag(sampass, FLAG_SAM_LOGONSCRIPT);
}
@@ -721,7 +650,7 @@ BOOL pdb_set_profile_path (SAM_ACCOUNT *sampass, const char *profile_path, BOOL
}
if (store) {
- DEBUG(10, ("pdb_set_profile_path: setting profile path sam flag!\n"));
+ DEBUG(10, ("pdb_set_profile_path: setting profile path sam flag!"));
pdb_set_init_flag(sampass, FLAG_SAM_PROFILE);
}
@@ -753,7 +682,7 @@ BOOL pdb_set_dir_drive (SAM_ACCOUNT *sampass, const char *dir_drive, BOOL store)
}
if (store) {
- DEBUG(10, ("pdb_set_dir_drive: setting dir drive sam flag!\n"));
+ DEBUG(10, ("pdb_set_dir_drive: setting dir drive sam flag!"));
pdb_set_init_flag(sampass, FLAG_SAM_DRIVE);
}
@@ -785,7 +714,7 @@ BOOL pdb_set_homedir (SAM_ACCOUNT *sampass, const char *home_dir, BOOL store)
}
if (store) {
- DEBUG(10, ("pdb_set_homedir: setting home dir sam flag!\n"));
+ DEBUG(10, ("pdb_set_homedir: setting home dir sam flag!"));
pdb_set_init_flag(sampass, FLAG_SAM_SMBHOME);
}
@@ -793,34 +722,6 @@ BOOL pdb_set_homedir (SAM_ACCOUNT *sampass, const char *home_dir, BOOL store)
}
/*********************************************************************
- Set the user's unix home directory.
- ********************************************************************/
-
-BOOL pdb_set_unix_homedir (SAM_ACCOUNT *sampass, const char *unix_home_dir)
-{
- if (!sampass)
- return False;
-
- if (unix_home_dir) {
- DEBUG(10, ("pdb_set_unix_homedir: setting home dir %s, was %s\n", unix_home_dir,
- (sampass->private.unix_home_dir)?(sampass->private.unix_home_dir):"NULL"));
-
- sampass->private.unix_home_dir = talloc_strdup(sampass->mem_ctx,
- unix_home_dir);
-
- if (!sampass->private.unix_home_dir) {
- DEBUG(0, ("pdb_set_unix_home_dir: talloc_strdup() failed!\n"));
- return False;
- }
-
- } else {
- sampass->private.unix_home_dir = PDB_NOT_QUITE_NULL;
- }
-
- return True;
-}
-
-/*********************************************************************
Set the user's account description.
********************************************************************/
@@ -939,7 +840,7 @@ BOOL pdb_set_nt_passwd (SAM_ACCOUNT *sampass, const uint8 *pwd)
Set the user's LM hash.
********************************************************************/
-BOOL pdb_set_lanman_passwd (SAM_ACCOUNT *sampass, const uint8 pwd[16])
+BOOL pdb_set_lanman_passwd (SAM_ACCOUNT *sampass, const uint8 *pwd)
{
if (!sampass)
return False;
@@ -951,23 +852,6 @@ BOOL pdb_set_lanman_passwd (SAM_ACCOUNT *sampass, const uint8 pwd[16])
return True;
}
-/*********************************************************************
- Set the user's plaintext password only (base procedure, see helper
- below)
- ********************************************************************/
-
-BOOL pdb_set_plaintext_pw_only (SAM_ACCOUNT *sampass, const uint8 *password, size_t len)
-{
- if (!sampass)
- return False;
-
- data_blob_clear_free(&sampass->private.plaintext_pw);
-
- sampass->private.plaintext_pw = data_blob(password, len);
-
- return True;
-}
-
BOOL pdb_set_unknown_3 (SAM_ACCOUNT *sampass, uint32 unkn)
{
if (!sampass)