svn commit: samba r20851 - in branches: SAMBA_3_0/source/passdb
SAMBA_3_0_24/source/passdb
vlendec at samba.org
vlendec at samba.org
Wed Jan 17 15:47:36 GMT 2007
Author: vlendec
Date: 2007-01-17 15:47:36 +0000 (Wed, 17 Jan 2007)
New Revision: 20851
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20851
Log:
To read account policies from LDAP we need root.
Volker
Modified:
branches/SAMBA_3_0/source/passdb/passdb.c
branches/SAMBA_3_0_24/source/passdb/passdb.c
Changeset:
Modified: branches/SAMBA_3_0/source/passdb/passdb.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/passdb.c 2007-01-17 14:49:36 UTC (rev 20850)
+++ branches/SAMBA_3_0/source/passdb/passdb.c 2007-01-17 15:47:36 UTC (rev 20851)
@@ -1382,6 +1382,7 @@
time_t LastBadPassword;
uint16 BadPasswordCount;
uint32 resettime;
+ BOOL res;
BadPasswordCount = pdb_get_bad_password_count(sampass);
if (!BadPasswordCount) {
@@ -1389,7 +1390,11 @@
return True;
}
- if (!pdb_get_account_policy(AP_RESET_COUNT_TIME, &resettime)) {
+ become_root_uid_only();
+ res = pdb_get_account_policy(AP_RESET_COUNT_TIME, &resettime);
+ unbecome_root_uid_only();
+
+ if (!res) {
DEBUG(0, ("pdb_update_bad_password_count: pdb_get_account_policy failed.\n"));
return False;
}
@@ -1422,6 +1427,7 @@
{
uint32 duration;
time_t LastBadPassword;
+ BOOL res;
if (!(pdb_get_acct_ctrl(sampass) & ACB_AUTOLOCK)) {
DEBUG(9, ("pdb_update_autolock_flag: Account %s not autolocked, no check needed\n",
@@ -1429,7 +1435,11 @@
return True;
}
- if (!pdb_get_account_policy(AP_LOCK_ACCOUNT_DURATION, &duration)) {
+ become_root_uid_only();
+ res = pdb_get_account_policy(AP_LOCK_ACCOUNT_DURATION, &duration);
+ unbecome_root_uid_only();
+
+ if (!res) {
DEBUG(0, ("pdb_update_autolock_flag: pdb_get_account_policy failed.\n"));
return False;
}
Modified: branches/SAMBA_3_0_24/source/passdb/passdb.c
===================================================================
--- branches/SAMBA_3_0_24/source/passdb/passdb.c 2007-01-17 14:49:36 UTC (rev 20850)
+++ branches/SAMBA_3_0_24/source/passdb/passdb.c 2007-01-17 15:47:36 UTC (rev 20851)
@@ -1366,6 +1366,7 @@
time_t LastBadPassword;
uint16 BadPasswordCount;
uint32 resettime;
+ BOOL res;
BadPasswordCount = pdb_get_bad_password_count(sampass);
if (!BadPasswordCount) {
@@ -1373,7 +1374,11 @@
return True;
}
- if (!pdb_get_account_policy(AP_RESET_COUNT_TIME, &resettime)) {
+ become_root();
+ res = pdb_get_account_policy(AP_RESET_COUNT_TIME, &resettime);
+ unbecome_root();
+
+ if (!res) {
DEBUG(0, ("pdb_update_bad_password_count: pdb_get_account_policy failed.\n"));
return False;
}
@@ -1406,6 +1411,7 @@
{
uint32 duration;
time_t LastBadPassword;
+ BOOL res;
if (!(pdb_get_acct_ctrl(sampass) & ACB_AUTOLOCK)) {
DEBUG(9, ("pdb_update_autolock_flag: Account %s not autolocked, no check needed\n",
@@ -1413,7 +1419,11 @@
return True;
}
- if (!pdb_get_account_policy(AP_LOCK_ACCOUNT_DURATION, &duration)) {
+ become_root();
+ res = pdb_get_account_policy(AP_LOCK_ACCOUNT_DURATION, &duration);
+ unbecome_root();
+
+ if (!res) {
DEBUG(0, ("pdb_update_autolock_flag: pdb_get_account_policy failed.\n"));
return False;
}
More information about the samba-cvs
mailing list