+
+ if (sponsor)
+ {
+ qargv[U_SPONSOR_NAME] = sponsor->name;
+ switch (sponsor->type)
+ {
+ case M_ANY:
+ case M_USER:
+ qargv[U_SPONSOR_TYPE] = "USER";
+ status = mr_query("add_user_account", 18, qargv, NULL, NULL);
+ if (sponsor->type != M_ANY || status != MR_USER)
+ break;
+
+ case M_LIST:
+ qargv[U_SPONSOR_TYPE] = "LIST";
+ status = mr_query("add_user_account", 18, qargv, NULL, NULL);
+ break;
+
+ case M_KERBEROS:
+ qargv[U_SPONSOR_TYPE] = "KERBEROS";
+ status = mrcl_validate_kerberos_member(qargv[U_SPONSOR_NAME],
+ &qargv[U_SPONSOR_NAME]);
+ if (mrcl_get_message())
+ mrcl_com_err(whoami);
+ if (status == MRCL_REJECT)
+ exit(1);
+ status = mr_query("add_user_account", 18, qargv, NULL, NULL);
+ break;
+
+ case M_NONE:
+ qargv[U_SPONSOR_TYPE] = "NONE";
+ status = mr_query("add_user_account", 18, qargv, NULL, NULL);
+ break;
+ }
+ }
+ else
+ {
+ qargv[U_SPONSOR_TYPE] = "NONE";
+ qargv[U_SPONSOR_NAME] = "NONE";
+
+ status = mr_query("add_user_account", 18, qargv, NULL, NULL);
+ }
+