struct ViceIoctl blob;
char * parent;
+ memset(&info, 0, sizeof(info));
+
if (as->parms[2].items) /* cell name specified */
cellName = as->parms[2].items->data;
else
#else /* not WIN32 */
code = symlink(space, path);
#endif /* not WIN32 */
+
+ if (info.linkedCell)
+ free(info.linkedCell);
+
if (code) {
Die(errno, path);
return 1;
struct afsconf_cell info;
struct chservinfo checkserv;
+ memset(&info, 0, sizeof(info));
memset(&checkserv, 0, sizeof(struct chservinfo));
blob.in_size=sizeof(struct chservinfo);
blob.in=(caddr_t)&checkserv;
}
strcpy(checkserv.tbuffer,info.name);
checkserv.tsize=(int)strlen(info.name)+1;
+ if (info.linkedCell)
+ free(info.linkedCell);
} else {
strcpy(checkserv.tbuffer,"\0");
checkserv.tsize=0;
} args;
int error = 0;
+ memset(&info, 0, sizeof(info));
memset(&args, 0, sizeof(args)); /* avoid Purify UMR error */
for(ti=as->parms[0].items; ti; ti=ti->next) {
/* once per cell */
error = 1;
continue;
}
+ if (info.linkedCell)
+ free(info.linkedCell);
blob.in_size = 1+(long)strlen(info.name);
blob.in = info.name;
code = pioctl_utf8(0, VIOC_GETCELLSTATUS, &blob, 1);
} args;
int error = 0;
+ memset(&info, 0, sizeof(info));
+
/* Check arguments. */
if (as->parms[1].items && as->parms[2].items) {
fprintf(stderr, "Cannot specify both -suid and -nosuid.\n");
error = 1;
continue;
}
+ if (info.linkedCell)
+ free(info.linkedCell);
strcpy(args.cname, info.name);
blob.in_size = sizeof(args);
blob.in = (caddr_t) &args;
flag = 1;
else if (strcmp(tp, "off") == 0)
flag = 0;
+ else if (strcmp(tp, "auth") == 0)
+ flag = 2;
else {
- fprintf (stderr, "%s: %s must be \"on\" or \"off\".\n", pn, tp);
+ fprintf (stderr, "%s: %s must be \"on\", \"auth\", or \"off\".\n", pn, tp);
return EINVAL;
}
tp = space;
memcpy(&flag, tp, sizeof(afs_int32));
printf("Security level is currently ");
- if (flag == 1)
+ if (flag == 2)
+ printf("auth (data integrity).\n");
+ else if (flag == 1)
printf("crypt (data security).\n");
else
printf("clear.\n");