]> andersk Git - moira.git/blobdiff - server/queries2.c
Add validation of numeric query arguments
[moira.git] / server / queries2.c
index b347445fc3f77dd02df2c63f23ac4b0278ea7b32..2244f358a66e56fb66985b2075d194d1b52468f7 100644 (file)
@@ -178,10 +178,6 @@ int num_tables = 27;
  * situations
  */
 
-static struct valobj VOsort0[] = {
-  {V_SORT, 0},
-};
-
 static struct valobj VOwild0[] = {
   {V_WILD, 0},
 };
@@ -190,34 +186,15 @@ static struct valobj VOupwild0[] = {
   {V_UPWILD, 0},
 };
 
-static struct valobj VOwild0sort[] = {
-  {V_WILD, 0},
-  {V_SORT, 0},
-};
-
-static struct valobj VOupwild0sort[] = {
-  {V_UPWILD, 0},
-  {V_SORT, 0},
-};
-
-static struct valobj VOwild01sort0[] = {
+static struct valobj VOwild01[] = {
   {V_WILD, 0},
   {V_WILD, 1},
-  {V_SORT, 0},
 };
 
-static struct valobj VOwild01sort01[] = {
-  {V_WILD, 0},
-  {V_WILD, 1},
-  {V_SORT, 0},
-  {V_SORT, 1}, 
-};
-
-static struct valobj VOwild012sort0[] = {  /* get_alias */
+static struct valobj VOwild012[] = {
   {V_WILD, 0},
   {V_WILD, 1},
   {V_WILD, 2},
-  {V_SORT, 0},
 };
 
 
@@ -265,11 +242,11 @@ static struct valobj VOfilsys0user1[] = {
 static struct validate VDmach = { VOmach0, 1 };
 static struct validate VDwild0= { VOwild0, 1 };
 static struct validate VDupwild0= { VOupwild0, 1 };
-static struct validate VDwild2sort2 = { VOwild01sort01,4 };
-static struct validate VDwild3sort1 = { VOwild012sort0,4 };
-static struct validate VDsortf = { 
-  VOsort0,
-  1,
+static struct validate VDwild2 = { VOwild01,2 };
+static struct validate VDwild3 = { VOwild012,3 };
+static struct validate VDfixmodby = { 
+  0
+  0,
   0,
   0,
   0,
@@ -279,9 +256,9 @@ static struct validate VDsortf = {
   followup_fix_modby,
 };
 
-static struct validate VDwildsortf = { 
-  VOwild0sort,
-  2,
+static struct validate VDwildfixmodby = { 
+  VOwild0,
+  1,
   0,
   0,
   0,
@@ -290,12 +267,10 @@ static struct validate VDwildsortf = {
   0,
   followup_fix_modby,
 };
-static struct validate VDsort0= { VOsort0, 1 };
-
 
-static struct validate VDupwildsortf = {
-  VOupwild0sort,
-  2,
+static struct validate VDupwildfixmodby = {
+  VOupwild0,
+  1,
   0,
   0,
   0,
@@ -304,6 +279,7 @@ static struct validate VDupwildsortf = {
   0,
   followup_fix_modby,
 };
+
 /* Query data */
 
 static char *galo_fields[] = {
@@ -324,8 +300,8 @@ static char *gubl_fields[] = {
 
 static struct validate gubl_validate = 
 {
-  VOwild0sort,
-  2,
+  VOwild0,
+  1,
   0,
   0,
   0,
@@ -349,8 +325,8 @@ static char *guan_fields[] = {
 
 static struct validate guan_validate = 
 {
-  VOwild01sort01,
-  4,
+  VOwild01,
+  2,
   0,
   0,
   0,
@@ -378,9 +354,13 @@ static char *gubu_fields[] = {
   MIT_ID, CLASS, MOD1, MOD2, MOD3,
 };
 
+static struct valobj gubu_valobj[] = {
+  {V_NUM, 0}
+};
+
 static struct validate gubu_validate = 
 {
-  VOsort0,
+  gubu_valobj,
   1,
   0,
   0,
@@ -399,8 +379,8 @@ static char *gubn_fields[] = {
 
 static struct validate gubn_validate =
 {
-  VOwild01sort0,
-  3,
+  VOwild01,
+  2,
   0,
   0,
   0,
@@ -422,6 +402,24 @@ static char *gubm_fields[] = {
   MIT_ID, CLASS, MOD1, MOD2, MOD3,
 };
 
+static char *gudf_fields[] = {
+  LOGIN,
+  "dirsuppress", "dirremote"
+};
+
+static struct validate gudf_validate = 
+{
+  VOuser0,
+  2,
+  0,
+  0,
+  0,
+  0,
+  access_user,
+  0,
+  0,
+};
+
 static char *auac_fields[] = {
   LOGIN, UID, SHELL, LAST, FIRST, MIDDLE, STATUS, 
   MIT_ID, CLASS, COMMENTS, SIGNATURE, SECURE,
@@ -430,18 +428,21 @@ static char *auac_fields[] = {
 static struct valobj auac_valobj[] = {
   {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
   {V_CHAR, 0, USERS_TABLE, LOGIN},
+  {V_NUM, 1},
   {V_CHAR, 2, USERS_TABLE, SHELL},
   {V_CHAR, 3, USERS_TABLE, LAST},
   {V_CHAR, 4, USERS_TABLE, FIRST},
   {V_CHAR, 5, USERS_TABLE, MIDDLE},
+  {V_NUM, 6},
   {V_CHAR, 7, USERS_TABLE, MIT_ID},
   {V_TYPE, 8, 0, CLASS, 0, MR_BAD_CLASS},
   {V_ID, 9, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
+  {V_NUM, 10}
 };
 
 static struct validate auac_validate = {
   auac_valobj,
-  9,
+  12,
   LOGIN,
   "login = '%s'",
   1,
@@ -453,7 +454,7 @@ static struct validate auac_validate = {
 
 static struct validate ausr_validate = {
   auac_valobj,
-  8,
+  10,
   LOGIN,
   "login = '%s'",
   1,
@@ -476,11 +477,14 @@ static struct valobj rusr_valobj[] = {
   {V_LOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
   {V_LOCK, 0, QUOTA_TABLE,0, FILSYS_ID, MR_DEADLOCK},
   {V_RLOCK,0, SERVERHOSTS_TABLE,0, MACH_ID, MR_DEADLOCK},
+  {V_NUM, 0},
+  {V_CHAR, 1},
+  {V_NUM, 2},
 };
 
 static struct validate rusr_validate = {
   rusr_valobj,
-  8,
+  11,
   0,
   0,
   0,
@@ -500,18 +504,21 @@ static struct valobj uuac_valobj[] = {
   {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
   {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
   {V_RENAME, 1, USERS_TABLE, LOGIN, USERS_ID, MR_NOT_UNIQUE},
+  {V_NUM, 2},
   {V_CHAR, 3, USERS_TABLE, SHELL},
   {V_CHAR, 4, USERS_TABLE, FIRST},
   {V_CHAR, 5, USERS_TABLE, LAST},
   {V_CHAR, 6, USERS_TABLE, MIDDLE},
+  {V_NUM, 7},
   {V_CHAR, 8, USERS_TABLE, MIT_ID},
   {V_TYPE, 9, 0, CLASS, 0, MR_BAD_CLASS},
   {V_ID, 10, STRINGS_TABLE, "string", "string_id", MR_NO_MATCH},
+  {V_NUM, 12},
 };
 
 static struct validate uuac_validate = {
   uuac_valobj,
-  10,
+  13,
   0,
   0,
   0,
@@ -523,7 +530,7 @@ static struct validate uuac_validate = {
 
 static struct validate uusr_validate = {
   uuac_valobj,
-  10,
+  12,
   0,
   0,
   0,
@@ -566,9 +573,16 @@ static char *uuss_fields[] = {
   SECURE,
 };
 
+static struct valobj uust_valobj[] = {
+  {V_LOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+  {V_ID, 0, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+  {V_NUM, 1},
+  {V_NUM, 2},
+};
+
 static struct validate uust_validate = {
-  VOuser0lock,
-  2,
+  uust_valobj,
+  3,
   0,
   0,
   0,
@@ -578,6 +592,23 @@ static struct validate uust_validate = {
   set_modtime_by_id,
 };
 
+static char *uudf_fields[] = {
+  LOGIN,
+  "dirsuppress", "dirremote"
+};
+
+static struct validate uudf_validate = {
+  uust_valobj,
+  4,
+  0,
+  0,
+  0,
+  USERS_ID,
+  access_user,
+  0,
+  set_modtime_by_id,
+};
+
 static char *dusr_fields[] = {
   LOGIN,
 };
@@ -825,12 +856,11 @@ static struct valobj ghst_valobj[] = {
   {V_UPWILD, 1},
   {V_UPWILD, 2},
   {V_UPWILD, 3},
-  {V_SORT, 0},
 };
 
 static struct validate ghst_validate = { 
   ghst_valobj,
-  5,
+  4,
   0,
   0,
   0,
@@ -845,17 +875,19 @@ static char *ahst_fields[] = {
 };
 
 static struct valobj ahst_valobj[] = {
+  {V_RLOCK,0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
+  {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, SUBNET_TABLE, 0, SNET_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+  {V_RLOCK, 0, HOSTALIAS_TABLE, 0, MACH_ID, MR_DEADLOCK},
   {V_CHAR, 0, MACHINE_TABLE, NAME},
   {V_CHAR, 1, MACHINE_TABLE, "vendor"},
   {V_CHAR, 2, MACHINE_TABLE, "model"},
   {V_CHAR, 3, MACHINE_TABLE, "os"},
   {V_CHAR, 4, MACHINE_TABLE, "location"},
   {V_CHAR, 5, MACHINE_TABLE, "contact"},
-  {V_RLOCK,0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
-  {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
-  {V_RLOCK, 0, SUBNET_TABLE, 0, SNET_ID, MR_DEADLOCK},
-  {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
-  {V_RLOCK, 0, HOSTALIAS_TABLE, 0, MACH_ID, MR_DEADLOCK},
+  {V_NUM, 6},
+  {V_NUM, 7},
   {V_ID, 8, SUBNET_TABLE, NAME, SNET_ID, MR_SUBNET},
   {V_TYPE, 10, 0, ACE_TYPE, 0, MR_ACE},
   {V_TYPEDATA, 11, 0, 0, 0, MR_ACE},
@@ -865,7 +897,7 @@ static struct valobj ahst_valobj[] = {
 
 static struct validate ahst_validate = {
   ahst_valobj,
-  16,
+  18,
   NAME,
   "name = UPPER('%s')",
   1,
@@ -892,6 +924,9 @@ static struct valobj uhst_valobj[] = {
   {V_CHAR, 3, MACHINE_TABLE, "model"},
   {V_CHAR, 4, MACHINE_TABLE, "os"},
   {V_CHAR, 5, MACHINE_TABLE, "location"},
+  {V_CHAR, 6, MACHINE_TABLE, "contact"},
+  {V_NUM, 7},
+  {V_NUM, 8},
   {V_ID, 9, SUBNET_TABLE, NAME, SNET_ID, MR_SUBNET},
   {V_TYPE, 11, 0, ACE_TYPE, 0, MR_ACE},
   {V_TYPEDATA, 12, 0, 0, 0, MR_ACE},
@@ -901,7 +936,7 @@ static struct valobj uhst_valobj[] = {
 
 static struct validate uhst_validate = {
   uhst_valobj,
-  16,
+  19,
   0,
   0,
   0,
@@ -948,12 +983,11 @@ static char *ghal_fields[] = {
 static struct valobj ghal_valobj[] = {
   {V_UPWILD, 0},
   {V_UPWILD, 1},
-  {V_SORT, 0},
 };
 
 static struct validate ghal_validate = {
   ghal_valobj,
-  3,
+  2,
   0,
   0,
   0,
@@ -1010,12 +1044,11 @@ static struct valobj gsnt_valobj[] = {
   {V_RLOCK, 0, SUBNET_TABLE, 0, SNET_ID, MR_DEADLOCK},
   {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
   {V_UPWILD, 0},
-  {V_SORT, 0},
 };
 
 static struct validate gsnt_validate = {
   gsnt_valobj,
-  5,
+  4,
   0,
   0,
   0,
@@ -1035,6 +1068,10 @@ static struct valobj asnt_valobj[] = {
   {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
   {V_CHAR, 0, SUBNET_TABLE, NAME},
   {V_LEN, 1, SUBNET_TABLE, DESC},
+  {V_NUM, 2},
+  {V_NUM, 3},
+  {V_NUM, 4},
+  {V_NUM, 5},
   {V_LEN, 6, SUBNET_TABLE, "prefix"},
   {V_TYPE, 7, 0, ACE_TYPE, 0, MR_ACE},
   {V_TYPEDATA, 8, 0, 0, 0, MR_ACE},
@@ -1043,7 +1080,7 @@ static struct valobj asnt_valobj[] = {
 static struct validate asnt_validate = 
 {
     asnt_valobj,
-    8,
+    12,
     NAME,
     "name = UPPER('%s')",
     1,
@@ -1065,6 +1102,10 @@ static struct valobj usnt_valobj[] = {
   {V_ID, 0, SUBNET_TABLE, NAME, SNET_ID, MR_NO_MATCH},
   {V_RENAME, 1, SUBNET_TABLE, NAME, SNET_ID, MR_NOT_UNIQUE},
   {V_LEN, 2, SUBNET_TABLE, DESC},
+  {V_NUM, 3},
+  {V_NUM, 4},
+  {V_NUM, 5},
+  {V_NUM, 6},
   {V_LEN, 7, SUBNET_TABLE, "prefix"},
   {V_TYPE, 8, 0, ACE_TYPE, 0, MR_ACE},
   {V_TYPEDATA, 9, 0, 0, 0, MR_ACE},
@@ -1073,7 +1114,7 @@ static struct valobj usnt_valobj[] = {
 static struct validate usnt_validate = 
 {
     usnt_valobj,
-    9,
+    13,
     NAME,
     "snet_id = %d",
     1,
@@ -1184,11 +1225,9 @@ static struct valobj gmcm_valobj[] =
 {
   {V_UPWILD, 0},
   {V_WILD, 1},
-  {V_SORT, 0},
-  {V_SORT, 1},
 };
 
-static struct validate gmcm_validate = { gmcm_valobj, 4 };
+static struct validate gmcm_validate = { gmcm_valobj, 2 };
 
 static struct valobj amtc_valobj[] =   /* ADD_MACHINE_TO_CLUSTER */
 {                                      /* DELETE_MACHINE_FROM_CLUSTER */
@@ -1283,6 +1322,12 @@ static struct valobj alis_valobj[] = {
   {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
   {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
   {V_CHAR, 0, LIST_TABLE, NAME},
+  {V_NUM, 1},
+  {V_NUM, 2},
+  {V_NUM, 3},
+  {V_NUM, 4},
+  {V_NUM, 5},
+  {V_NUM, 6},
   {V_TYPE, 7, 0, ACE_TYPE, 0, MR_ACE},
   {V_TYPEDATA, 8, 0, 0, LIST_ID, MR_ACE},
   {V_LEN, 9, LIST_TABLE, DESC},
@@ -1290,7 +1335,7 @@ static struct valobj alis_valobj[] = {
 
 static struct validate alis_validate = {
   alis_valobj,
-  6,
+  12,
   NAME,
   "name = '%s'",
   1,
@@ -1311,14 +1356,20 @@ static struct valobj ulis_valobj[] = {
   {V_LOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
   {V_ID, 0, LIST_TABLE, NAME, LIST_ID, MR_LIST},
   {V_RENAME, 1, LIST_TABLE, NAME, LIST_ID, MR_NOT_UNIQUE},
+  {V_NUM, 2},
+  {V_NUM, 3},
+  {V_NUM, 4},
+  {V_NUM, 5},
+  {V_NUM, 6},
+  {V_NUM, 7},
+  {V_TYPE, 8, 0, ACE_TYPE, 0, MR_ACE},
   {V_TYPEDATA, 9, 0, 0, LIST_ID, MR_ACE},
-  {V_CHAR, 1, LIST_TABLE, NAME},
   {V_LEN, 10, LIST_TABLE, DESC},
 };
 
 static struct validate ulis_validate = {
   ulis_valobj,
-  7,
+  13,
   NAME,
   "list_id = %d",
   1,
@@ -1491,12 +1542,11 @@ static struct valobj glom_valobj[] = {
    {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
    {V_TYPE, 0, 0, "rmember", 0, MR_TYPE},
    {V_TYPEDATA, 1, 0, 0, 0, MR_NO_MATCH},
-   {V_SORT, 0},
 };
 
 static struct validate glom_validate = {
   glom_valobj,
-  6,
+  5,
   0,
   0,
   0,
@@ -1582,10 +1632,12 @@ static struct valobj asin_valobj[] = {
   {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
   {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
   {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
-  {V_CHAR, 0, SERVERS_TABLE, SERVICE},
+  {V_CHAR, 0, SERVERS_TABLE, NAME},
+  {V_NUM, 1},
   {V_LEN, 2, SERVERS_TABLE, "target_file"},
   {V_LEN, 3, SERVERS_TABLE, "script"},
   {V_TYPE, 4, 0, "service", 0, MR_TYPE},
+  {V_NUM, 5},
   {V_TYPE, 6, 0, ACE_TYPE, 0, MR_ACE},
   {V_TYPEDATA, 7, 0, 0, 0, MR_ACE},
 };
@@ -1593,7 +1645,7 @@ static struct valobj asin_valobj[] = {
 static struct validate asin_validate = /* for asin, usin */
 {
   asin_valobj,
-  9,
+  11,
   NAME,
   "name = UPPER('%s')",
   1,
@@ -1623,12 +1675,16 @@ static struct valobj ssif_valobj[] = {
   {V_RLOCK, 0, USERS_TABLE, 0, USERS_ID, MR_DEADLOCK},
   {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
   {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
+  {V_NUM, 1},
+  {V_NUM, 2},
+  {V_NUM, 3},
+  {V_NUM, 4},
   {V_LEN, 5, SERVERS_TABLE, "errmsg"},
 };
 
 static struct validate ssif_validate = {
   ssif_valobj,
-  4,
+  8,
   NAME,
   "name = UPPER('%s')",
   1,
@@ -1711,15 +1767,18 @@ static struct valobj ashi_valobj[] = {
   {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
   {V_NAME, 0, SERVERS_TABLE, NAME, 0, MR_SERVICE},
   {V_LOCK, 0, SERVERHOSTS_TABLE,0, MACH_ID, MR_DEADLOCK},
-  {V_ID, 1, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
   {V_CHAR, 0, SERVERHOSTS_TABLE, NAME},
+  {V_ID, 1, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+  {V_NUM, 2},
+  {V_NUM, 3},
+  {V_NUM, 4},
   {V_LEN, 5, SERVERHOSTS_TABLE, "value3"},
 };
 
 static struct validate ashi_validate = /* ashi & ushi */
 {
   ashi_valobj,
-  6,
+  9,
   SERVICE,
   "service = UPPER('%s') AND mach_id = %d",
   2,
@@ -1732,7 +1791,7 @@ static struct validate ashi_validate = /* ashi & ushi */
 static struct validate rshe_validate = 
 {
   ashi_valobj,
-  4,
+  5,
   SERVICE,
   "service = UPPER('%s') AND mach_id = %d",
   2,
@@ -1745,7 +1804,7 @@ static struct validate rshe_validate =
 static struct validate ssho_validate = 
 {
   ashi_valobj,
-  4,
+  5,
   SERVICE,
   "service = UPPER('%s') AND mach_id = %d",
   2,
@@ -1763,14 +1822,20 @@ static char *sshi_fields[] = {
 static struct valobj sshi_valobj[] = {
   {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
   {V_NAME, 0, SERVERS_TABLE, NAME, 0, MR_SERVICE},
-  {V_ID, 1, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},  /** Was this ok to add? */
-  {V_LEN, 5, SERVERS_TABLE, "errmsg"},
+  {V_ID, 1, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+  {V_NUM, 2},
+  {V_NUM, 3},
+  {V_NUM, 4},
+  {V_NUM, 5},
+  {V_LEN, 6, SERVERS_TABLE, "errmsg"},
+  {V_NUM, 7},
+  {V_NUM, 8},
 };
 
 static struct validate sshi_validate = 
 {
   sshi_valobj,
-  4,
+  10,
   0,
   0,
   0,
@@ -1787,7 +1852,7 @@ static char *dshi_fields[] = {
 static struct validate dshi_validate = 
 {
   ashi_valobj,
-  4,
+  5,
   SERVICE,
   "service = UPPER('%s') AND mach_id = %d",
   2,
@@ -1900,15 +1965,17 @@ static struct valobj afil_valobj[] = {
   {V_ID, 2, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
   {V_CHAR, 3, FILESYS_TABLE, NAME},
   {V_LEN, 4, FILESYS_TABLE, "mount"},
+  {V_LEN, 5, FILESYS_TABLE, "rwaccess"},
   {V_LEN, 6, FILESYS_TABLE, COMMENTS},
   {V_ID, 7, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
   {V_ID, 8, LIST_TABLE, NAME, LIST_ID, MR_LIST},
+  {V_NUM, 9},
   {V_TYPE, 10, 0, "lockertype", 0, MR_TYPE},
 };
 
 static struct validate afil_validate = {
   afil_valobj,
-  13,
+  15,
   LABEL,
   "label = '%s'",
   1,
@@ -1935,15 +2002,17 @@ static struct valobj ufil_valobj[] = {
   {V_ID, 3, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
   {V_CHAR, 4, FILESYS_TABLE, NAME},
   {V_LEN, 5, FILESYS_TABLE, "mount"},
+  {V_LEN, 6, FILESYS_TABLE, "rwaccess"},
   {V_LEN, 7, FILESYS_TABLE, COMMENTS},
   {V_ID, 8, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
   {V_ID, 9, LIST_TABLE, NAME, LIST_ID, MR_LIST},
+  {V_NUM, 10},
   {V_TYPE, 11, 0, "lockertype", 0, MR_TYPE},
 };
 
 static struct validate ufil_validate = {
   ufil_valobj,
-  15,
+  17,
   LABEL,
   "filsys_id = %d",
   1,
@@ -1983,13 +2052,11 @@ static char *gfgm_fields[] = {
 
 static struct valobj gfgm_valobj[] = {
   {V_ID, 0, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
-  {V_SORT, 1},
-  {V_SORT, 0},
 };
 
 static struct validate gfgm_validate = {
   gfgm_valobj,
-  3,
+  1,
   0,
   0,
   0,
@@ -2051,11 +2118,14 @@ static struct valobj anfp_valobj[] = {
   {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
   {V_CHAR, 1, NFSPHYS_TABLE, "dir"},
   {V_LEN, 2, NFSPHYS_TABLE, "device"},
+  {V_NUM, 3},
+  {V_NUM, 4},
+  {V_NUM, 5},
 };
 
 static struct validate anfp_validate = {
   anfp_valobj,
-  5,
+  8,
   DIR,
   "mach_id = %d and dir = '%s'",
   2,
@@ -2067,7 +2137,7 @@ static struct validate anfp_validate = {
 
 static struct validate unfp_validate = {
   anfp_valobj,
-  5,
+  8,
   DIR,
   "mach_id = %d and dir = '%s'",
   2,
@@ -2081,6 +2151,26 @@ static char *ajnf_fields[] = {
   MACHINE, DIR, "adjustment",
 };
 
+static struct valobj ajnf_valobj[] = {
+  {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
+  {V_LOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
+  {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+  {V_CHAR, 1, NFSPHYS_TABLE, "dir"},
+  {V_NUM, 2},
+};
+
+static struct validate ajnf_validate = {
+  ajnf_valobj,
+  5,
+  DIR,
+  "mach_id = %d and dir = '%s'",
+  2,
+  "nfsphys_id",
+  0,
+  0,
+  set_nfsphys_modtime,
+};
+
 static char *dnfp_fields[] = {
   MACHINE, DIR,
 };
@@ -2090,7 +2180,6 @@ static struct valobj dnfp_valobj[] = {
   {V_LOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
   {V_LOCK, 0, NFSPHYS_TABLE, 0, "nfsphys_id", MR_DEADLOCK},
   {V_ID, 0, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
-
 };
 
 static struct validate dnfp_validate = {
@@ -2119,12 +2208,11 @@ static struct valobj gqot_valobj[] = {
   {V_WILD, 0},
   {V_TYPE, 1, 0, QUOTA_TYPE, 0, MR_TYPE},
   {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
-  {V_SORT, 0, 0, 0, 0, 0},
 };
 
 static struct validate gqot_validate = {
   gqot_valobj,
-  9,
+  8,
   0,
   0,
   0,
@@ -2140,8 +2228,8 @@ static char *gqbf_fields[] = {
 };
 
 static struct validate gqbf_validate = {
-  VOwild0sort,
-  2,
+  VOwild0,
+  1,
   0,
   0,
   0,
@@ -2164,11 +2252,12 @@ static struct valobj aqot_valobj[] = {
   {V_ID, 0, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
   {V_TYPE, 1, 0, QUOTA_TYPE, 0, MR_TYPE},
   {V_TYPEDATA, 2, 0, 0, 0, MR_ACE},
+  {V_NUM, 3},
 };
 
 static struct validate aqot_validate = {
   aqot_valobj,
-  8,
+  9,
   FILSYS_ID,
   "filsys_id = %d and type = '%s' and entity_id = %d",
   3,
@@ -2180,7 +2269,7 @@ static struct validate aqot_validate = {
 
 static struct validate uqot_validate = {
   aqot_valobj,
-  8,
+  9,
   FILSYS_ID,
   "filsys_id = %d AND type = '%s' AND entity_id = %d",
   3,
@@ -2208,8 +2297,8 @@ static char *gnfq_fields[] = {
 };
 
 static struct validate gnfq_validate = {
-  VOwild0sort,
-  2,
+  VOwild0,
+  1,
   0,
   0,
   0,
@@ -2235,9 +2324,16 @@ static char *anfq_fields[] = {
   FILESYS, LOGIN, QUOTA,
 };
 
+static struct valobj anfq_valobj[] = {
+  {V_LOCK, 0, FILESYS_TABLE, 0, FILSYS_ID, MR_DEADLOCK},
+  {V_ID, 0, FILESYS_TABLE, LABEL, FILSYS_ID, MR_FILESYS},
+  {V_ID, 1, USERS_TABLE, LOGIN, USERS_ID, MR_USER},
+  {V_NUM, 2},
+};
+
 static struct validate anfq_validate = {
-  VOfilsys0user1,
-  3,
+  anfq_valobj,
+  4,
   FILSYS_ID,
   "filsys_id = %d AND type = 'USER' AND entity_id = %d",
   2,
@@ -2248,8 +2344,8 @@ static struct validate anfq_validate = {
 };
 
 static struct validate unfq_validate = {
-  VOfilsys0user1,
-  3,
+  anfq_valobj,
+  4,
   FILSYS_ID,
   "filsys_id = %d AND type = 'USER' AND entity_id = %d",
   2,
@@ -2260,7 +2356,7 @@ static struct validate unfq_validate = {
 };
 
 static struct validate dnfq_validate = {
-  VOfilsys0user1,
+  anfq_valobj,
   3,
   FILSYS_ID,
   "filsys_id = %d AND entity_id = %d",
@@ -2282,11 +2378,10 @@ static struct valobj gzcl_valobj[] = {
   {V_RLOCK, 0, LIST_TABLE, 0, LIST_ID, MR_DEADLOCK},
   {V_RLOCK, 0, ZEPHYR_TABLE, 0, ZEPH_ID, MR_DEADLOCK},
   {V_WILD, 0},
-  {V_SORT, 0},
 };
 static struct validate gzcl_validate = {
   gzcl_valobj,
-  5,
+  4,
   0,
   0,
   0,
@@ -2427,12 +2522,13 @@ static char *asvc_fields[] = {
 static struct valobj asvc_valobj[] = {
   {V_CHAR, 0, SERVICES_TABLE, NAME},
   {V_CHAR, 1, SERVICES_TABLE, "protocol"},
+  {V_NUM, 2},
   {V_CHAR, 3, SERVICES_TABLE, DESC},
 };
 
 static struct validate asvc_validate = {
   asvc_valobj,
-  3,
+  4,
   NAME,
   "name = '%s'",
   1,
@@ -2454,12 +2550,11 @@ static struct valobj gpce_valobj[]={
   {V_RLOCK, 0, MACHINE_TABLE, 0, MACH_ID, MR_DEADLOCK},
   {V_RLOCK, 0, PRINTCAP_TABLE, 0, MACH_ID, MR_DEADLOCK},
   {V_WILD, 0},
-  {V_SORT, 0},
 };
 
 static struct validate gpce_validate = {
   gpce_valobj,
-  5,
+  4,
   0,
   0,
   0,
@@ -2481,12 +2576,14 @@ static struct valobj apce_valobj[] = {
   {V_LEN, 2, PRINTCAP_TABLE, "dir"},
   {V_LEN, 3, PRINTCAP_TABLE, "rp"},
   {V_ID, 4, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
+  {V_NUM, 5},
+  {V_NUM, 6},
   {V_CHAR, 7, PRINTCAP_TABLE, "comments"},
 };
 
 static struct validate apce_validate = {
   apce_valobj,
-  6,
+  8,
   NAME,
   "name = '%s'",
   1,
@@ -2525,12 +2622,13 @@ static char *apdm_fields[] = {
 
 static struct valobj apdm_valobj[] = {
   {V_CHAR, 0, PALLADIUM_TABLE, NAME},
+  {V_NUM, 1},
   {V_ID, 2, MACHINE_TABLE, NAME, MACH_ID, MR_MACHINE},
 };
 
 static struct validate apdm_validate = {
   apdm_valobj,
-  2,
+  3,
   NAME,
   "name = '%s'",
   1,
@@ -2618,12 +2716,13 @@ static char *aval_fields[] = {
 
 static struct valobj aval_valobj[] = {
   {V_CHAR, 0, NUMVALUES_TABLE, NAME},
+  {V_NUM, 1},
 };
 
 static struct validate aval_validate = /* for aval, uval, and dval */
 {
   aval_valobj,
-  1,
+  2,
   NAME,
   "name = '%s'",
   1,
@@ -2645,10 +2744,14 @@ static char *_sdl_fields[] = {
     "level",
 };
 
+static struct valobj _sdl_valobj[] = {
+  {V_NUM, 0},
+};
+
 static struct validate _sdl_validate = 
 {
-    0,
-    0,
+    _sdl_valobj,
+    1,
     (char *)0,
     (char *)0,
     0,
@@ -2679,7 +2782,8 @@ struct query Queries2[] = {
     6,
     "u.users_id != 0",
     0,
-    &VDsort0,
+    "u.login",
+    0,
   },
   
   {
@@ -2694,7 +2798,8 @@ struct query Queries2[] = {
     6,
     "u.status = 1",
     0,
-    &VDsort0,
+    "u.login",
+    0,
   },
   
   {
@@ -2709,6 +2814,7 @@ struct query Queries2[] = {
     15,
     "u.login LIKE '%s' ESCAPE '*' AND u.users_id != 0 AND u.comments = str.string_id",
     1,
+    "u.login",
     &gubl_validate,
   },
   
@@ -2724,6 +2830,7 @@ struct query Queries2[] = {
     15,
     "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
     1,
+    "u.login",
     &gubu_validate,
   },
   
@@ -2739,6 +2846,7 @@ struct query Queries2[] = {
     15,
     "u.first LIKE '%s' ESCAPE '*' AND u.last LIKE '%s' ESCAPE '*' AND u.users_id != 0 and u.comments = str.string_id",
     2,
+    "u.last, u.first",
     &guan_validate,
   },
   
@@ -2754,7 +2862,8 @@ struct query Queries2[] = {
     15,
     "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
     1,
-    &VDsortf,
+    "u.login",
+    &VDfixmodby,
   },
   
   {
@@ -2769,7 +2878,8 @@ struct query Queries2[] = {
     15,
     "u.clearid LIKE '%s' ESCAPE '*' AND u.users_id != 0 AND u.comments = str.string_id",
     1,
-    &VDwildsortf,
+    "u.login",
+    &VDwildfixmodby,
   },
   
   {
@@ -2784,6 +2894,7 @@ struct query Queries2[] = {
     12,
     "u.login LIKE '%s' ESCAPE '*' AND u.users_id != 0",
     1,
+    "u.login",
     &gubl_validate,
   },
   
@@ -2799,6 +2910,7 @@ struct query Queries2[] = {
     12,
     "u.unix_uid = %s AND u.users_id != 0",
     1,
+    "u.login",
     &gubu_validate,
   },
   
@@ -2814,6 +2926,7 @@ struct query Queries2[] = {
     12,
     "u.first LIKE '%s' ESCAPE '*' AND u.last LIKE '%s' ESCAPE '*' AND u.users_id != 0",
     2,
+    "u.last, u.first",
     &gubn_validate,
   },
   
@@ -2829,7 +2942,8 @@ struct query Queries2[] = {
     12,
     "u.type = UPPER('%s') AND u.users_id != 0",
     1,
-    &VDsortf,
+    "u.login",
+    &VDfixmodby,
   },
   
   {
@@ -2844,9 +2958,26 @@ struct query Queries2[] = {
     12,
     "u.clearid LIKE '%s' ESCAPE '*' AND u.users_id != 0",
     1,
-    &VDwildsortf,
+    "u.login",
+    &VDwildfixmodby,
   },
   
+  {
+    /* Q_GUDF - GET_USER_DIRECTORY_FLAGS */
+    "get_user_directory_flags",
+    "gudf",
+    RETRIEVE,
+    "u",
+    USERS_TABLE,
+    "u.dirsuppress, u.dirremote FROM users u",
+    gudf_fields,
+    2,
+    "u.users_id = %d",
+    1,
+    0,
+    &gudf_validate,
+  },
+
   {
     /* Q_AUAC - ADD_USER_ACCOUNT */  /* uses prefetch_value() for users_id */
     "add_user_account",
@@ -2859,6 +2990,7 @@ struct query Queries2[] = {
     12,
     (char *)0,
     0,
+    0,
     &auac_validate,
   },
   
@@ -2874,6 +3006,7 @@ struct query Queries2[] = {
     9,
     0,
     0,
+    0,
     &ausr_validate,
   },
   
@@ -2889,6 +3022,7 @@ struct query Queries2[] = {
     3,
     0,
     0,
+    0,
     &rusr_validate,
   },
   
@@ -2904,6 +3038,7 @@ struct query Queries2[] = {
     12,
     "users_id = %d",
     1,
+    0,
     &uuac_validate,
   },
  
@@ -2919,6 +3054,7 @@ struct query Queries2[] = {
     9,
     "users_id = %d",
     1,
+    0,
     &uusr_validate,
   },
 
@@ -2934,6 +3070,7 @@ struct query Queries2[] = {
     1,
     "users_id = %d",
     1,
+    0,
     &uush_validate,
   },
 
@@ -2949,6 +3086,7 @@ struct query Queries2[] = {
     1,
     "users_id = %d",
     1,
+    0,
     &uust_validate,
   },
 
@@ -2964,9 +3102,26 @@ struct query Queries2[] = {
     1,
     "users_id = %d",
     1,
+    0,
     &uust_validate,
   },
  
+  {
+    /* Q_UUDF - UPDATE_USER_DIRECTORY_FLAGS */
+    "update_user_directory_flags",
+    "uudf",
+    UPDATE,
+    "u",
+    USERS_TABLE,
+    "users SET dirsuppress = %s, dirremote = %s",
+    uudf_fields,
+    2,
+    "users_id = %d",
+    1,
+    0,
+    &uudf_validate,
+  },
+
   {
     /* Q_DUSR - DELETE_USER */ 
     "delete_user",
@@ -2979,6 +3134,7 @@ struct query Queries2[] = {
     0,
     "users_id = %d",
     1,
+    0,
     &dusr_validate,
   },
 
@@ -2994,6 +3150,7 @@ struct query Queries2[] = {
     0,
     "users_id = %d",
     1,
+    0,
     &dubu_validate,
   },
 
@@ -3009,7 +3166,8 @@ struct query Queries2[] = {
     2,
     "u.login LIKE '%s' ESCAPE '*' AND str.string LIKE '%s' ESCAPE '*' AND km.users_id = u.users_id AND km.string_id = str.string_id",
     2,
-    &VDwild2sort2,
+    "u.login",
+    &VDwild2,
   },
 
   {
@@ -3024,6 +3182,7 @@ struct query Queries2[] = {
     2,
     0,
     0,
+    0,
     &akum_validate,
   },
 
@@ -3039,6 +3198,7 @@ struct query Queries2[] = {
     0,
     "users_id = %d AND string_id = %d",
     2,
+    0,
     &dkum_validate,
   },
 
@@ -3054,6 +3214,7 @@ struct query Queries2[] = {
     12,
     "users_id = %d",
     1,
+    0,
     &gfbl_validate,
   },
 
@@ -3069,6 +3230,7 @@ struct query Queries2[] = {
     8,
     "users_id = %d",
     1,
+    0,
     &ufbl_validate,
   },
 
@@ -3084,6 +3246,7 @@ struct query Queries2[] = {
     6,
     "users_id = %d",
     1,
+    0,
     &gpob_validate,
   },
 
@@ -3099,6 +3262,7 @@ struct query Queries2[] = {
     3,
     "potype != 'NONE'",
     0,
+    "u.login",
     &gpox_validate,
   },
       
@@ -3114,6 +3278,7 @@ struct query Queries2[] = {
     3,
     "potype = 'POP'",
     0,
+    "u.login",
     &gpox_validate
   },
 
@@ -3129,6 +3294,7 @@ struct query Queries2[] = {
     3,
     "potype = 'SMTP'",
     0,
+    "u.login",
     &gpox_validate
   },
 
@@ -3144,6 +3310,7 @@ struct query Queries2[] = {
     3,
     (char *)0,
     0,
+    0,
     &spob_validate,
   },
 
@@ -3159,6 +3326,7 @@ struct query Queries2[] = {
     0,
     "users_id = %d",
     1,
+    0,
     &spop_validate,
   },
 
@@ -3174,6 +3342,7 @@ struct query Queries2[] = {
     0,
     "users_id = %d",
     1,
+    0,
     &dpob_validate,
   },
 
@@ -3189,6 +3358,7 @@ struct query Queries2[] = {
     21,
     "m.name LIKE '%s' ESCAPE '*' AND m.address LIKE '%s' ESCAPE '*' AND m.location LIKE '%s' ESCAPE '*' AND s.name LIKE '%s' ESCAPE '*' AND m.mach_id != 0 AND s.snet_id = m.snet_id", 
     4,
+    "m.name",
     &ghst_validate,
   },
 
@@ -3204,6 +3374,7 @@ struct query Queries2[] = {
     14,
     0,
     0,
+    0,
     &ahst_validate,
   },
 
@@ -3219,6 +3390,7 @@ struct query Queries2[] = {
     14,
     "mach_id = %d",
     1,
+    0,
     &uhst_validate,
   },
 
@@ -3234,6 +3406,7 @@ struct query Queries2[] = {
     0,
     "mach_id = %d",
     1,
+    0,
     &dhst_validate,
   },
 
@@ -3249,7 +3422,8 @@ struct query Queries2[] = {
     5,
     "name LIKE '%s' ESCAPE '*' AND mach_id != 0", 
     1,
-    &VDupwildsortf,
+    "m.name",
+    &VDupwildfixmodby,
   },
 
   {
@@ -3264,6 +3438,7 @@ struct query Queries2[] = {
     2,
     "m.mach_id = a.mach_id and a.name LIKE '%s' ESCAPE '*' AND m.name LIKE '%s' ESCAPE '*'",
     2,
+    "m.name, a.name",
     &ghal_validate,
   },
 
@@ -3279,6 +3454,7 @@ struct query Queries2[] = {
     2,
     0,
     0,
+    0,
     &ahal_validate,
   },
 
@@ -3294,6 +3470,7 @@ struct query Queries2[] = {
     0,
     "name = UPPER('%s') AND mach_id = %d",
     2,
+    0,
     &dhal_validate,
   },
 
@@ -3309,6 +3486,7 @@ struct query Queries2[] = {
     12,
     "name LIKE '%s' ESCAPE '*' and snet_id != 0",
     1,
+    "name",
     &gsnt_validate,
   },
 
@@ -3324,6 +3502,7 @@ struct query Queries2[] = {
     9,
     0,
     0,
+    0,
     &asnt_validate,
   },
 
@@ -3339,6 +3518,7 @@ struct query Queries2[] = {
     9,
     "snet_id = %d",
     1,
+    0,
     &usnt_validate,
   },
 
@@ -3354,6 +3534,7 @@ struct query Queries2[] = {
     0,
     "snet_id = %d",
     1,
+    0,
     &dsnt_validate,
   },
 
@@ -3369,7 +3550,8 @@ struct query Queries2[] = {
     6,
     "name LIKE '%s' ESCAPE '*' AND clu_id != 0",
     1,
-    &VDwildsortf,
+    "name",
+    &VDwildfixmodby,
   },
 
   {
@@ -3384,6 +3566,7 @@ struct query Queries2[] = {
     3,
     0,
     0,
+    0,
     &aclu_validate,
   },
 
@@ -3399,6 +3582,7 @@ struct query Queries2[] = {
     3,
     "clu_id = %d",
     1,
+    0,
     &uclu_validate,
   },
 
@@ -3414,6 +3598,7 @@ struct query Queries2[] = {
     0,
     "clu_id = %d",
     1,
+    0,
     &dclu_validate,
   },
 
@@ -3429,6 +3614,7 @@ struct query Queries2[] = {
     2,
     "m.name LIKE '%s' ESCAPE '*' AND c.name LIKE '%s' ESCAPE '*' AND mcm.clu_id = c.clu_id AND mcm.mach_id = m.mach_id",
     2,
+    "m.name, c.name",
     &gmcm_validate, 
   },
                                            
@@ -3444,6 +3630,7 @@ struct query Queries2[] = {
     2,
     0,
     0,
+    0,
     &amtc_validate,
   },
 
@@ -3459,6 +3646,7 @@ struct query Queries2[] = {
     0,
     "mach_id = %d AND clu_id = %d",
     2,
+    0,
     &amtc_validate,
   },
 
@@ -3474,7 +3662,8 @@ struct query Queries2[] = {
     3,
     "c.clu_id = svc.clu_id AND c.name LIKE '%s' ESCAPE '*' AND svc.serv_label LIKE '%s' ESCAPE '*'",
     2,
-    &VDwild2sort2,
+    "c.name, svc.serv_label, svc.serv_cluster",
+    &VDwild2,
   },
 
   {
@@ -3489,6 +3678,7 @@ struct query Queries2[] = {
     3,
     (char *)0,
     0,
+    0,
     &acld_validate,
   },
 
@@ -3504,6 +3694,7 @@ struct query Queries2[] = {
     0,
     "clu_id = %d AND serv_label = '%s' AND serv_cluster = '%s'",   
     3,
+    0,
     &dcld_validate,
   },
 
@@ -3519,6 +3710,7 @@ struct query Queries2[] = {
     13,
     0,
     1,              
+    0,
     &glin_validate, 
   },
     
@@ -3534,6 +3726,7 @@ struct query Queries2[] = {
     1,
     "name LIKE '%s' ESCAPE '*' AND list_id != 0",
     1,
+    "name",
     &VDwild0,
   },
     
@@ -3549,6 +3742,7 @@ struct query Queries2[] = {
     10,
     0,
     0,
+    0,
     &alis_validate,
   },
 
@@ -3564,6 +3758,7 @@ struct query Queries2[] = {
     10,
     "list_id = %d",
     1,
+    0,
     &ulis_validate,
   },
 
@@ -3579,6 +3774,7 @@ struct query Queries2[] = {
     0,
     "list_id = %d",
     1,
+    0,
     &dlis_validate,
   },
 
@@ -3594,6 +3790,7 @@ struct query Queries2[] = {
     3,
     (char *)0,
     0,
+    0,
     &amtl_validate,
   },
 
@@ -3609,6 +3806,7 @@ struct query Queries2[] = {
     0,
     0,
     3,
+    0,
     &dmfl_validate,
   },
 
@@ -3624,6 +3822,7 @@ struct query Queries2[] = {
     2,
     0,
     2,
+    0,
     &gaus_validate,
   },
 
@@ -3639,6 +3838,7 @@ struct query Queries2[] = {
     1,
     0,
     5,
+    0,
     &qgli_validate,
   },
 
@@ -3654,6 +3854,7 @@ struct query Queries2[] = {
     2,
     (char *)0,
     1,
+    0,
     &gmol_validate,
   },
 
@@ -3669,6 +3870,7 @@ struct query Queries2[] = {
     0,
     (char *)0,
     1,
+    0,
     &geml_validate,
   },
  
@@ -3684,6 +3886,7 @@ struct query Queries2[] = {
     6,
     0,
     2,
+    0,
     &glom_validate,
   },
 
@@ -3699,6 +3902,7 @@ struct query Queries2[] = {
     1,
     0,
     1,
+    0,
     &cmol_validate,
   },
 
@@ -3714,6 +3918,7 @@ struct query Queries2[] = {
     16,
     "name LIKE '%s' ESCAPE '*'",
     1,
+    "name",
     &gsin_validate,
   },
 
@@ -3729,6 +3934,7 @@ struct query Queries2[] = {
     1,
     0,
     3,
+    0,
     &qgsv_validate,
   },
 
@@ -3744,6 +3950,7 @@ struct query Queries2[] = {
     8,
     (char *)0,
     0,
+    0,
     &asin_validate,
   },
 
@@ -3759,6 +3966,7 @@ struct query Queries2[] = {
     7,
     "name = UPPER('%s')",
     1,
+    0,
     &asin_validate,
   },
 
@@ -3774,6 +3982,7 @@ struct query Queries2[] = {
     0,
     "name = UPPER('%s')",
     1,
+    0,
     &rsve_validate,
   },
 
@@ -3789,6 +3998,7 @@ struct query Queries2[] = {
     5,
     "name = UPPER('%s')",
     1,
+    0,
     &ssif_validate,
   },
 
@@ -3804,6 +4014,7 @@ struct query Queries2[] = {
     0,
     "name = UPPER('%s')",
     1,
+    0,
     &dsin_validate,
   },
 
@@ -3819,6 +4030,7 @@ struct query Queries2[] = {
     16,
     "sh.service LIKE '%s' ESCAPE '*' AND m.name LIKE '%s' ESCAPE '*' AND m.mach_id = sh.mach_id",
     2,
+    0,
     &gshi_validate,
   },
 
@@ -3834,6 +4046,7 @@ struct query Queries2[] = {
     2,
     0,
     6,
+    0,
     &qgsh_validate,
   },
 
@@ -3849,6 +4062,7 @@ struct query Queries2[] = {
     6,
     (char *)0,
     0,
+    0,
     &ashi_validate,
   },
 
@@ -3864,6 +4078,7 @@ struct query Queries2[] = {
     4,
     "service = UPPER('%s') AND mach_id = %d",
     2,
+    0,
     &ashi_validate,
   },
 
@@ -3879,6 +4094,7 @@ struct query Queries2[] = {
     0,
     "service = UPPER('%s') AND mach_id = %d",
     2,
+    0,
     &rshe_validate,
   },
 
@@ -3894,6 +4110,7 @@ struct query Queries2[] = {
     0,
     "service = UPPER('%s') AND mach_id = %d",
     2,
+    0,
     &ssho_validate,
   },
 
@@ -3909,6 +4126,7 @@ struct query Queries2[] = {
     7,
     "service = UPPER('%s') AND mach_id = %d", 
     2,
+    0,
     &sshi_validate,
   },
 
@@ -3924,6 +4142,7 @@ struct query Queries2[] = {
     0,
     "service = UPPER('%s') AND mach_id = %d",
     2,
+    0,
     &dshi_validate,
   },
 
@@ -3939,6 +4158,7 @@ struct query Queries2[] = {
     2,
     "sh.service LIKE '%s' ESCAPE '*' AND sh.mach_id = m.mach_id",
     1,
+    "sh.service, m.name",
     &VDupwild0,
   },
 
@@ -3954,7 +4174,8 @@ struct query Queries2[] = {
     14,
     "fs.label LIKE '%s' ESCAPE '*' AND fs.mach_id = m.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
     1,
-    &VDwildsortf,
+    "fs.label",
+    &VDwildfixmodby,
   },
 
   {
@@ -3969,6 +4190,7 @@ struct query Queries2[] = {
     14,
     "fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
     1,
+    "fs.label",
     &gfsm_validate,
   },
 
@@ -3984,6 +4206,7 @@ struct query Queries2[] = {
     14,
     "fs.mach_id = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id AND np.nfsphys_id = fs.phys_id AND np.dir LIKE '%s' ESCAPE '*' AND fs.type = 'NFS'", 
     2,
+    "fs.label",
     &gfsn_validate,
   },
 
@@ -3999,6 +4222,7 @@ struct query Queries2[] = {
     14,
     "fs.owners = %d AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = l.list_id",
     1,
+    "fs.label",
     &gfsg_validate,
   },
 
@@ -4014,7 +4238,8 @@ struct query Queries2[] = {
     14,
     "fs.name LIKE '%s' ESCAPE '*' AND m.mach_id = fs.mach_id AND fs.owner = u.users_id AND fs.owners = list_id",
     1,
-    &VDwildsortf,
+    "fs.label",
+    &VDwildfixmodby,
   },
  
   {
@@ -4029,6 +4254,7 @@ struct query Queries2[] = {
     11,
     0,
     0,
+    0,
     &afil_validate,
   },
 
@@ -4044,6 +4270,7 @@ struct query Queries2[] = {
     11,
     "filsys_id = %d",
     1,
+    0,
     &ufil_validate,      
   },
 
@@ -4059,6 +4286,7 @@ struct query Queries2[] = {
     0,
     "filsys_id = %d",
     1,
+    0,
     &dfil_validate,
   },
 
@@ -4074,6 +4302,7 @@ struct query Queries2[] = {
     2,
     "fg.group_id = %d AND fs.filsys_id = fg.filsys_id",
     1,
+    "fg.key, fs.label",
     &gfgm_validate,
   },
 
@@ -4089,6 +4318,7 @@ struct query Queries2[] = {
     3,
     (char *)0,
     0,
+    0,
     &aftg_validate,
   },
 
@@ -4104,6 +4334,7 @@ struct query Queries2[] = {
     0,
     "group_id = %d AND filsys_id = %d",
     2,
+    0,
     &aftg_validate,
   },
 
@@ -4119,7 +4350,8 @@ struct query Queries2[] = {
     9,
     "m.mach_id = np.mach_id",
     0,
-    &VDsortf,
+    "m.name, np.dir",
+    &VDfixmodby,
   },
 
   {
@@ -4134,6 +4366,7 @@ struct query Queries2[] = {
     9,
     "np.mach_id = %d AND np.dir LIKE '%s' ESCAPE '*' AND m.mach_id = np.mach_id", 
     2,
+    "m.name, np.dir",
     &gnfp_validate,
   },
 
@@ -4149,6 +4382,7 @@ struct query Queries2[] = {
     6,
     0,
     0,
+    0,
     &anfp_validate,
   },
 
@@ -4164,6 +4398,7 @@ struct query Queries2[] = {
     4,
     "mach_id = %d AND dir = '%s'", 
     2,
+    0,
     &unfp_validate,
   },
 
@@ -4179,7 +4414,8 @@ struct query Queries2[] = {
     1,
     "mach_id = %d AND dir = '%s'",
     2,
-    &unfp_validate,
+    0,
+    &ajnf_validate,
   },
 
   {
@@ -4194,6 +4430,7 @@ struct query Queries2[] = {
     0,
     "mach_id = %d AND dir = '%s'",
     2,
+    0,
     &dnfp_validate,
   },
 
@@ -4209,6 +4446,7 @@ struct query Queries2[] = {
     9,
     "fs.label LIKE '%s' ESCAPE '*' AND q.type = '%s' AND q.entity_id = %d AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
     3,
+    "fs.label",
     &gqot_validate,
   },
 
@@ -4224,6 +4462,7 @@ struct query Queries2[] = {
     9,
     "fs.label LIKE '%s' ESCAPE '*' AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id",
     1,
+    "fs.label, q.type",
     &gqbf_validate,
   },
 
@@ -4239,6 +4478,7 @@ struct query Queries2[] = {
     4,
     (char *)0,
     0,
+    0,
     &aqot_validate,
   },
 
@@ -4254,6 +4494,7 @@ struct query Queries2[] = {
     1,
     0,
     3,
+    0,
     &uqot_validate,
   },
 
@@ -4269,6 +4510,7 @@ struct query Queries2[] = {
     0,
     0,
     3,
+    0,
     &dqot_validate,
   },
 
@@ -4284,6 +4526,7 @@ struct query Queries2[] = {
     8,
     "fs.label LIKE '%s' ESCAPE '*' AND q.type = 'USER' AND q.entity_id = u.users_id AND fs.filsys_id = q.filsys_id AND m.mach_id = fs.mach_id AND u.login = '%s'",
     2,
+    "fs.label, u.login",
     &gnfq_validate,
   },
 
@@ -4299,6 +4542,7 @@ struct query Queries2[] = {
     5,
     "np.mach_id = %d AND np.dir LIKE '%s' ESCAPE '*' AND q.phys_id = np.nfsphys_id AND fs.filsys_id = q.filsys_id AND q.type = 'USER' AND u.users_id = q.entity_id AND m.mach_id = np.mach_id",
     2,
+    "fs.label, np.dir, u.login",
     &gnqp_validate,
   },
 
@@ -4314,6 +4558,7 @@ struct query Queries2[] = {
     3,
     (char *)0,
     0,
+    0,
     &anfq_validate,
   },
 
@@ -4329,6 +4574,7 @@ struct query Queries2[] = {
     1,
     0,
     2,
+    0,
     &unfq_validate,
   },
 
@@ -4344,6 +4590,7 @@ struct query Queries2[] = {
     0,
     0,
     2,
+    0,
     &dnfq_validate,
   },
 
@@ -4359,6 +4606,7 @@ struct query Queries2[] = {
     12,
     "class LIKE '%s' ESCAPE '*'",
     1,
+    "class",
     &gzcl_validate,
   },
 
@@ -4374,6 +4622,7 @@ struct query Queries2[] = {
     9,
     0,
     0,
+    0,
     &azcl_validate,
   },    
 
@@ -4389,6 +4638,7 @@ struct query Queries2[] = {
     9,
     "class = '%s'",
     1,
+    0,
     &uzcl_validate,
   },    
 
@@ -4404,6 +4654,7 @@ struct query Queries2[] = {
     0,
     "class = '%s'",
     1,
+    0,
     &dzcl_validate,
   },    
 
@@ -4419,6 +4670,7 @@ struct query Queries2[] = {
     6,
     "m.name LIKE '%s' ESCAPE '*' AND ha.mach_id = m.mach_id",
     1,
+    "m.name",
     &gsha_validate,
   },
 
@@ -4434,6 +4686,7 @@ struct query Queries2[] = {
     3,
     0,
     0,
+    0,
     &asha_validate,
   },
 
@@ -4449,6 +4702,7 @@ struct query Queries2[] = {
     2,
     "mach_id = %d",
     1,
+    0,
     &asha_validate,
   },
 
@@ -4464,6 +4718,7 @@ struct query Queries2[] = {
     0,
     "mach_id = %d",
     1,
+    0,
     &VDmach,
   },
 
@@ -4479,7 +4734,8 @@ struct query Queries2[] = {
     7,
     "name LIKE '%s' ESCAPE '*'",
     1,
-    &VDwildsortf,
+    "name, protocol",
+    &VDwildfixmodby,
   },
 
   {
@@ -4494,6 +4750,7 @@ struct query Queries2[] = {
     4,
     (char *)0,
     0,
+    0,
     &asvc_validate,
   },
 
@@ -4509,6 +4766,7 @@ struct query Queries2[] = {
     0,
     "name = '%s'",
     1,
+    0,
     &asvc_validate,
   },
 
@@ -4524,6 +4782,7 @@ struct query Queries2[] = {
     11,
     "pc.name LIKE '%s' ESCAPE '*' AND m.mach_id = pc.mach_id",
     1,
+    "pc.name",
     &gpce_validate,
   },
 
@@ -4539,6 +4798,7 @@ struct query Queries2[] = {
     8,
     0,
     0,
+    0,
     &apce_validate,
   },
 
@@ -4554,6 +4814,7 @@ struct query Queries2[] = {
     0,
     "name = '%s'",
     1,
+    0,
     &dpce_validate,
   },
 
@@ -4569,7 +4830,8 @@ struct query Queries2[] = {
     8,
     "pc.name LIKE '%s' ESCAPE '*' AND m.mach_id = pc.mach_id",
     1,
-    &VDwildsortf,
+    "pc.name",
+    &VDwildfixmodby,
   },
 
   {
@@ -4584,6 +4846,7 @@ struct query Queries2[] = {
     0,
     "name = '%s'",
     1,
+    0,
     &dpce_validate,
   },
 
@@ -4599,7 +4862,8 @@ struct query Queries2[] = {
     6,
     "pal.name LIKE '%s' ESCAPE '*' AND m.mach_id = pal.mach_id",
     1,
-    &VDwildsortf,
+    "pal.name",
+    &VDwildfixmodby,
   },
 
   {
@@ -4614,6 +4878,7 @@ struct query Queries2[] = {
     3,
     0,
     0,
+    0,
     &apdm_validate,
   },
 
@@ -4629,6 +4894,7 @@ struct query Queries2[] = {
     0,
     "name = '%s'",
     1,
+    0,
     &dpdm_validate,
   },
 
@@ -4644,7 +4910,8 @@ struct query Queries2[] = {
     3,
     "name LIKE '%s' ESCAPE '*' AND type LIKE '%s' ESCAPE '*' AND trans LIKE '%s' ESCAPE '*'",
     3,
-    &VDwild3sort1,
+    "name, type, trans",
+    &VDwild3,
   },
 
   {
@@ -4659,6 +4926,7 @@ struct query Queries2[] = {
     3,
     (char *)0,
     0,
+    0,
     &aali_validate,
   },
 
@@ -4674,6 +4942,7 @@ struct query Queries2[] = {
     0,
     "name = '%s' AND type = '%s' AND  trans = '%s'", 
     3,
+    0,
     &dali_validate,
   },
 
@@ -4689,6 +4958,7 @@ struct query Queries2[] = {
     1,
     "name = '%s'",
     1,
+    0,
     &gval_validate,
   },
 
@@ -4704,6 +4974,7 @@ struct query Queries2[] = {
     2,
     (char *)0,
     0,
+    0,
     &aval_validate,
   },
 
@@ -4719,6 +4990,7 @@ struct query Queries2[] = {
     1,
     "name = '%s'",
     1,
+    0,
     &aval_validate,
   },
 
@@ -4734,6 +5006,7 @@ struct query Queries2[] = {
     0,
     "name = '%s'",
     1,
+    0,
     &aval_validate,
   },
 
@@ -4749,6 +5022,7 @@ struct query Queries2[] = {
     5,
     (char *)0,
     0,
+    "table_name",
     0,
   },
 
@@ -4764,6 +5038,7 @@ struct query Queries2[] = {
     1,
     (char *)0,
     0,
+    0,
     &_sdl_validate,
   },
 
This page took 0.153832 seconds and 4 git commands to generate.