#include <afsconfig.h>
#include <afs/param.h>
+#include <roken.h>
-#include <stdio.h>
-#include <string.h>
-#ifdef AFS_AIX32_ENV
-#include <signal.h>
-#endif
#include <ctype.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <afs/cmd.h>
+
#ifdef AFS_NT40_ENV
-#include <winsock2.h>
#include <WINNT/afsevent.h>
#include <WINNT/afsreg.h>
-#else
-#include <netinet/in.h>
#endif
+
#include <afs/cellconfig.h>
+#include <afs/afsutil.h>
+#include <afs/com_err.h>
+#include <afs/cmd.h>
#include <rx/rx.h>
#include <rx/xdr.h>
+
#include "ptclient.h"
#include "ptuser.h"
#include "pterror.h"
#include "ptprototypes.h"
-#include <afs/afsutil.h>
-#include <afs/com_err.h>
#undef FOREIGN
else
confdir = AFSDIR_CLIENT_ETC_DIRPATH;
}
+
+ if (as->parms[23].items) { /* -config */
+ changed = 1;
+ confdir = as->parms[23].items->data;
+ }
+
if (changed) {
CleanUp(as, arock);
code = pr_Initialize(sec, confdir, cell);
idi->data);
return code;
}
- if (id >= 0) {
+ if (id == 0) {
+ printf("0 isn't a valid group id; aborting\n");
+ return EINVAL;
+ }
+ if (id > 0) {
code = PRBADARG;
afs_com_err(whoami, code, "because group id %d was not negative",
id);
return code;
}
- if (id == 0) {
- printf("0 isn't a valid user id; aborting\n");
- return EINVAL;
- }
-
idi = idi->next;
} else
id = 0;
printf("0 isn't a valid user id; aborting\n");
return EINVAL;
}
+ if (id < 0) {
+ code = PRBADARG;
+ afs_com_err(whoami, code, "because user id %d was not positive",
+ id);
+ return code;
+ }
idi = idi->next;
} else
id = 0;
struct idlist ids, tids; /* local copy, if not ret. ids */
int goodCount = 0;
+ /* Initialise our outputs */
+ memset(lids, 0, sizeof(struct idlist));
+ if (lnames)
+ memset(lnames, 0, sizeof(struct namelist));
+
for (i = as->parms[0].items; i; i = i->next)
n++;
- lids->idlist_val = (afs_int32 *) malloc(n * sizeof(afs_int32));
+
+ /* Nothing to do, so bail */
+ if (n == 0)
+ return 0;
+
+ lids->idlist_val = malloc(n * sizeof(afs_int32));
lids->idlist_len = n;
- ids.idlist_val = (afs_int32 *) malloc(n * sizeof(afs_int32));
+ ids.idlist_val = malloc(n * sizeof(afs_int32));
ids.idlist_len = n;
- names.namelist_val = (prname *) malloc(n * PR_MAXNAMELEN);
+ names.namelist_val = malloc(n * PR_MAXNAMELEN);
names.namelist_len = n;
if (lnames) {
- lnames->namelist_val = (prname *) malloc(n * PR_MAXNAMELEN);
+ lnames->namelist_val = malloc(n * PR_MAXNAMELEN);
lnames->namelist_len = 0;
}
for (i = as->parms[0].items; i; i = i->next) {
afs_com_err(whoami, code, "so couldn't look up names");
else {
for (n = 0; n < tids.idlist_len; n++) {
- if ((tids.idlist_val[n] == ANONYMOUSID)) {
+ if (tids.idlist_val[n] == ANONYMOUSID) {
afs_com_err(whoami, PRNOENT, "so couldn't look up id for %s",
names.namelist_val[n]);
} else
"use user's authentication (default)");
cmd_AddParm(ts, "-encrypt", CMD_FLAG, CMD_OPTIONAL,
"encrypt commands");
+ cmd_AddParm(ts, "-config", CMD_SINGLE, CMD_OPTIONAL, "config location");
}
/*