[1958] in Moira Commits
/svn/moira r4097 - in trunk/moira: clients/moira clients/stanley gen include incremental/afs incremental/kerberos incremental/ldap reg_svr
daemon@ATHENA.MIT.EDU (Garry Zacheiss)
Mon Feb 11 09:55:01 2013
Date: Mon, 11 Feb 2013 09:54:53 -0500
From: Garry Zacheiss <zacheiss@MIT.EDU>
Message-Id: <201302111454.r1BEsrQb020591@drugstore.mit.edu>
To: moira-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Author: zacheiss
Date: 2013-02-11 09:54:53 -0500 (Mon, 11 Feb 2013)
New Revision: 4097
Modified:
trunk/moira/clients/moira/user.c
trunk/moira/clients/stanley/stanley.c
trunk/moira/gen/ca.gen
trunk/moira/gen/directory.pc
trunk/moira/gen/hesiod.pc
trunk/moira/gen/ldap.gen
trunk/moira/gen/mailhosts.gen
trunk/moira/gen/ua-elect.gen
trunk/moira/gen/warehouse.gen
trunk/moira/include/moira_site.h
trunk/moira/incremental/afs/afs.c
trunk/moira/incremental/kerberos/kerberos.c
trunk/moira/incremental/ldap/winad.c
trunk/moira/reg_svr/reg_svr.pc
Log:
Support status 10 (Suspended).
Modified: trunk/moira/clients/moira/user.c
===================================================================
--- trunk/moira/clients/moira/user.c 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/clients/moira/user.c 2013-02-11 14:54:53 UTC (rev 4097)
@@ -66,7 +66,8 @@
"Enrolled/Not Registerable (6)",
"Half Enrolled (7)",
"Registerable, Kerberos only (8)",
- "Active, Kerberos only (9)"
+ "Active, Kerberos only (9)",
+ "Suspended (10)"
};
static char *UserState(int state)
Modified: trunk/moira/clients/stanley/stanley.c
===================================================================
--- trunk/moira/clients/stanley/stanley.c 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/clients/stanley/stanley.c 2013-02-11 14:54:53 UTC (rev 4097)
@@ -68,7 +68,8 @@
"Enrolled/Not Registerable (6)",
"Half Enrolled (7)",
"Registerable, Kerberos only (8)",
- "Active, Kerberos only (9)"
+ "Active, Kerberos only (9)",
+ "Suspended (10)"
};
static char *UserState(int state)
Modified: trunk/moira/gen/ca.gen
===================================================================
--- trunk/moira/gen/ca.gen 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/gen/ca.gen 2013-02-11 14:54:53 UTC (rev 4097)
@@ -28,7 +28,8 @@
next if ($id == 0);
$foo = $dbh->prepare("SELECT u.login, u.fullname ".
"FROM users u, filesys f ".
- "WHERE f.label = u.login AND u.status = 1 ".
+ "WHERE f.label = u.login AND ".
+ "(u.status = 1 OR u.status = 10) ".
"AND f.phys_id = " . $dbh->quote($id));
$first = 1;
$foo->execute || exit $MR_DBMS_ERR;
@@ -48,7 +49,8 @@
#Now, let's do all the AFS homedirs. This will take a while longer.
$sth = $dbh->prepare("SELECT UNIQUE u.login, u.fullname, f.name ".
"FROM users u, filesys f ".
- "WHERE f.label = u.login AND u.status = 1 ".
+ "WHERE f.label = u.login AND ".
+ "(u.status = 1 OR u.status = 10) ".
"AND f.type = 'AFS' ".
"ORDER BY u.login") || exit $MR_DBMS_ERR;
Modified: trunk/moira/gen/directory.pc
===================================================================
--- trunk/moira/gen/directory.pc 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/gen/directory.pc 2013-02-11 14:54:53 UTC (rev 4097)
@@ -63,7 +63,7 @@
EXEC SQL DECLARE x CURSOR FOR SELECT
login, last, first, middle, office_addr, office_phone,
home_addr, home_phone, clearid, type
- FROM users WHERE status = 1 AND type != 'SYSTEM' AND type != 'STAFF'
+ FROM users WHERE (status = 1 OR status = 10) AND type != 'SYSTEM' AND type != 'STAFF'
AND type != 'TEST' AND type != 'REGTEST' AND type != 'SHARED'
AND type != 'MGMT' AND type != 'DOOMED' AND type NOT LIKE 'GUES%';
EXEC SQL OPEN x;
Modified: trunk/moira/gen/hesiod.pc
===================================================================
--- trunk/moira/gen/hesiod.pc 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/gen/hesiod.pc 2013-02-11 14:54:53 UTC (rev 4097)
@@ -242,7 +242,7 @@
office_phone, home_phone, users_id, potype, pop_id, imap_id, exchange_id,
status
FROM users
- WHERE status = 1 OR status = 2 OR status = 5 OR status = 6
+ WHERE status = 1 OR status = 2 OR status = 5 OR status = 6 OR status = 10
ORDER BY users_id;
EXEC SQL OPEN u_cursor;
while (1)
Modified: trunk/moira/gen/ldap.gen
===================================================================
--- trunk/moira/gen/ldap.gen 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/gen/ldap.gen 2013-02-11 14:54:53 UTC (rev 4097)
@@ -20,7 +20,7 @@
$sth0 = $dbh->prepare("SELECT u.login, u.first, u.middle, u.last, " .
"u.clearid, u.unix_uid, u.shell FROM users u " .
- "WHERE (u.status = 1 OR u.status = 9)")
+ "WHERE (u.status = 1 OR u.status = 9 OR u.status = 10)")
|| exit $MR_DBMS_ERR;
@@ -104,7 +104,7 @@
"list l WHERE l.name = " . $dbh->quote($name) .
"AND l.list_id = i.list_id " .
"AND i.member_type = 'USER' " .
- "AND (u.status = 1 OR u.status = 9) " .
+ "AND (u.status = 1 OR u.status = 9 OR u.status = 10) " .
"AND i.member_id = u.users_id") || exit $MR_DBMS_ERR;
$sth->execute;
Modified: trunk/moira/gen/mailhosts.gen
===================================================================
--- trunk/moira/gen/mailhosts.gen 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/gen/mailhosts.gen 2013-02-11 14:54:53 UTC (rev 4097)
@@ -15,7 +15,7 @@
|| exit $MR_DBMS_ERR;
$sth = $dbh->prepare("SELECT login, potype, exchange_id, imap_id, pop_id FROM users WHERE " .
- "status = 1 OR status = 2 OR status = 5 OR status = 6") || exit $MR_DBMS_ERR;
+ "status = 1 OR status = 2 OR status = 5 OR status = 6 OR status = 10") || exit $MR_DBMS_ERR;
$sth->execute || exit $MR_DBMS_ERR;
$tnow = localtime;
Modified: trunk/moira/gen/ua-elect.gen
===================================================================
--- trunk/moira/gen/ua-elect.gen 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/gen/ua-elect.gen 2013-02-11 14:54:53 UTC (rev 4097)
@@ -16,7 +16,7 @@
$dbh = DBI->connect("dbi:Oracle:moira", "moira", "moira")
|| exit $MR_DBMS_ERR;
-$sth = $dbh->prepare("SELECT login, type FROM users WHERE status = 1 AND type LIKE '20%' " .
+$sth = $dbh->prepare("SELECT login, type FROM users WHERE (status = 1 OR status = 2 OR status = 10) AND type LIKE '20%' " .
"ORDER BY type, login")
|| exit $MR_DBMS_ERR;
Modified: trunk/moira/gen/warehouse.gen
===================================================================
--- trunk/moira/gen/warehouse.gen 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/gen/warehouse.gen 2013-02-11 14:54:53 UTC (rev 4097)
@@ -13,7 +13,7 @@
$sth = $dbh->prepare("SELECT login, clearid, first, last, middle " .
"FROM users WHERE (status = 1 OR status = 2 OR " .
- "status = 5 OR status = 6 OR status = 7 OR status = 9)");
+ "status = 5 OR status = 6 OR status = 7 OR status = 9 OR status = 10)");
$sth->execute || exit $MR_DBMS_ERR;
Modified: trunk/moira/include/moira_site.h
===================================================================
--- trunk/moira/include/moira_site.h 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/include/moira_site.h 2013-02-11 14:54:53 UTC (rev 4097)
@@ -402,7 +402,8 @@
#define US_HALF_ENROLLED 7
#define US_NO_LOGIN_YET_KERBEROS_ONLY 8
#define US_REGISTERED_KERBEROS_ONLY 9
-#define US_END 10
+#define US_SUSPENDED 10
+#define US_END 11
/* User shell queries */
Modified: trunk/moira/incremental/afs/afs.c
===================================================================
--- trunk/moira/incremental/afs/afs.c 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/incremental/afs/afs.c 2013-02-11 14:54:53 UTC (rev 4097)
@@ -157,10 +157,10 @@
if (beforec > U_UID)
buid = atoi(before[U_UID]);
- /* We consider "half-registered" users to be active */
- if (astate == 2)
+ /* We consider "half-registered" users and "suspended" users to be active */
+ if ((astate == 2) || (astate == 10))
astate = 1;
- if (bstate == 2)
+ if (bstate == 2 || (astate == 10))
bstate = 1;
if (astate != 1 && bstate != 1) /* inactive user */
Modified: trunk/moira/incremental/kerberos/kerberos.c
===================================================================
--- trunk/moira/incremental/kerberos/kerberos.c 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/incremental/kerberos/kerberos.c 2013-02-11 14:54:53 UTC (rev 4097)
@@ -83,7 +83,7 @@
if ((astate == 1) || (astate == 6) || (astate == 9))
activate = 1;
/* Deactivating a principal */
- else if (astate == 3)
+ else if ((astate == 3) || astate == 10)
activate = 0;
/* Can ignore other changes */
else
Modified: trunk/moira/incremental/ldap/winad.c
===================================================================
--- trunk/moira/incremental/ldap/winad.c 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/incremental/ldap/winad.c 2013-02-11 14:54:53 UTC (rev 4097)
@@ -4308,7 +4308,7 @@
com_err(whoami, 0, "Unable to create user contact %s", contact_mail);
}
- if ((State == US_NO_PASSWD) || (State == US_REGISTERED))
+ if ((State == US_NO_PASSWD) || (State == US_REGISTERED) || (State == US_SUSPENDED))
{
group_count = 0;
group_base = NULL;
@@ -4686,11 +4686,14 @@
{
userAccountControl |= UF_ACCOUNTDISABLE;
- if (Exchange)
+ if (State != US_SUSPENDED)
{
- hide_address_lists_v[0] = "TRUE";
- ADD_ATTR("msExchHideFromAddressLists", hide_address_lists_v,
- LDAP_MOD_REPLACE);
+ if (Exchange)
+ {
+ hide_address_lists_v[0] = "TRUE";
+ ADD_ATTR("msExchHideFromAddressLists", hide_address_lists_v,
+ LDAP_MOD_REPLACE);
+ }
}
}
else
@@ -4742,7 +4745,7 @@
if(!strcmp(save_argv[1], "SPLIT") ||
!strcmp(save_argv[1], "SMTP")) {
- if ((State != US_NO_PASSWD) && (State != US_REGISTERED)) {
+ if ((State != US_NO_PASSWD) && (State != US_REGISTERED) && (State != US_SUSPENDED)) {
deliver_and_redirect_v[0] = "FALSE";
alt_recipient_v[0] = NULL;
}
@@ -4758,7 +4761,7 @@
}
else
{
- if ((State != US_NO_PASSWD) && (State != US_REGISTERED)) {
+ if ((State != US_NO_PASSWD) && (State != US_REGISTERED) && (State != US_SUSPENDED)) {
deliver_and_redirect_v[0] = "FALSE";
alt_recipient_v[0] = NULL;
} else {
@@ -4786,7 +4789,7 @@
}
else
{
- if ((State != US_NO_PASSWD) && (State != US_REGISTERED)) {
+ if ((State != US_NO_PASSWD) && (State != US_REGISTERED) && (State != US_SUSPENDED)) {
deliver_and_redirect_v[0] = "FALSE";
alt_recipient_v[0] = NULL;
} else {
@@ -5329,7 +5332,8 @@
if (Exchange)
{
if ((atoi(av[U_STATE]) != US_NO_PASSWD) &&
- (atoi(av[U_STATE]) != US_REGISTERED))
+ (atoi(av[U_STATE]) != US_REGISTERED) &&
+ (atoi(av[U_STATE]) != US_SUSPENDED))
{
hide_address_lists_v[0] = "TRUE";
ADD_ATTR("msExchHideFromAddressLists", hide_address_lists_v,
@@ -5373,7 +5377,8 @@
!strcmp(save_argv[1], "SMTP")) {
if ((atoi(av[U_STATE]) == US_NO_PASSWD) ||
- (atoi(av[U_STATE]) == US_REGISTERED)) {
+ (atoi(av[U_STATE]) == US_REGISTERED) ||
+ (atoi(av[U_STATE]) == US_SUSPENDED)) {
deliver_and_redirect_v[0] = "TRUE";
alt_recipient_v[0] = alt_recipient;
@@ -5387,7 +5392,8 @@
else
{
if ((atoi(av[U_STATE]) == US_NO_PASSWD) ||
- (atoi(av[U_STATE]) == US_REGISTERED)) {
+ (atoi(av[U_STATE]) == US_REGISTERED) ||
+ (atoi(av[U_STATE]) == US_SUSPENDED)) {
alt_recipient_v[0] = alt_recipient;
ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_ADD);
@@ -5397,7 +5403,8 @@
else
{
if ((atoi(av[U_STATE]) == US_NO_PASSWD) ||
- (atoi(av[U_STATE]) == US_REGISTERED)) {
+ (atoi(av[U_STATE]) == US_REGISTERED) ||
+ (atoi(av[U_STATE]) == US_SUSPENDED)) {
alt_recipient_v[0] = alt_recipient;
ADD_ATTR("altRecipient", alt_recipient_v, LDAP_MOD_ADD);
Modified: trunk/moira/reg_svr/reg_svr.pc
===================================================================
--- trunk/moira/reg_svr/reg_svr.pc 2013-02-03 04:00:44 UTC (rev 4096)
+++ trunk/moira/reg_svr/reg_svr.pc 2013-02-11 14:54:53 UTC (rev 4097)
@@ -385,6 +385,7 @@
case US_ENROLLED:
case US_ENROLL_NOT_ALLOWED:
case US_REGISTERED_KERBEROS_ONLY:
+ case US_SUSPENDED:
reply(rc, ALREADY_REGISTERED, "INIT", "c", NULL, login);
return;