RDR_ioctlProcsp[VIOCNEWCELL2] = RDR_IoctlNewCell2;
RDR_ioctlProcsp[VIOC_GETUNIXMODE] = RDR_IoctlGetUnixMode;
RDR_ioctlProcsp[VIOC_SETUNIXMODE] = RDR_IoctlSetUnixMode;
+ RDR_ioctlProcsp[VIOC_GETVERIFYDATA] = RDR_IoctlGetVerifyData;
+ RDR_ioctlProcsp[VIOC_SETVERIFYDATA] = RDR_IoctlSetVerifyData;
+}
+
+void
+RDR_ShutdownIoctl(void)
+{
+ lock_FinalizeRWLock(&RDR_globalIoctlLock);
}
/* called to make a fid structure into an IOCTL fid structure */
cm_ReleaseSCache(iop->parentScp);
iop->parentScp = NULL;
}
- cm_GetSCache(parentFid, &iop->parentScp, userp, &req);
+ cm_GetSCache(parentFid, NULL, &iop->parentScp, userp, &req);
iop->rootFid = *rootFid;
}
} else {
cm_HoldSCache(iop->parentScp);
} else {
iop->parentFid = *parentFid;
- cm_GetSCache(parentFid, &iop->parentScp, userp, &req);
+ cm_GetSCache(parentFid, NULL, &iop->parentScp, userp, &req);
}
if (rootFid->cell == 0) {
iop->rootFid = cm_data.rootFid;
}
}
} else {
- code = cm_GetSCache(&ioctlp->parentFid, &substRootp, userp, reqp);
+ code = cm_GetSCache(&ioctlp->parentFid, NULL, &substRootp, userp, reqp);
if (code) {
osi_Log1(afsd_logp,"RDR_ParseIoctlPath [6] code 0x%x", code);
if (free_path)
}
}
} else {
- code = cm_GetSCache(&ioctlp->rootFid, &substRootp, userp, reqp);
+ code = cm_GetSCache(&ioctlp->rootFid, NULL, &substRootp, userp, reqp);
if (code) {
osi_Log1(afsd_logp,"RDR_ParseIoctlParent [5] code 0x%x", code);
return code;
#if defined(NO_AUTH_GROUPS)
if ((pflags & AFSCALL_FLAG_LOCAL_SYSTEM) && (flags & PIOCTL_LOGON)) {
- wchar_t cname[MAX_COMPUTERNAME_LENGTH+1];
- int cnamelen = MAX_COMPUTERNAME_LENGTH+1;
PSID pSid = NULL;
DWORD dwSize1, dwSize2;
wchar_t *pszRefDomain = NULL;
SID_NAME_USE snu = SidTypeGroup;
clientchar_t * secSidString = NULL;
DWORD gle;
+ static wchar_t cname[MAX_COMPUTERNAME_LENGTH+1] = L"";
- GetComputerNameW(cname, &cnamelen);
- wcsupr(cname);
+ if ( cname[0] == '\0') {
+ int len = MAX_COMPUTERNAME_LENGTH+1;
+ GetComputerNameW(cname, &len);
+ _wcsupr(cname);
+ }
/*
* The input name is probably not a SID for the user which is how
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
cm_SkipIoctlPath(&ioctlp->ioctl);
cm_SetFid(&fid, optionsp->fid.cell, optionsp->fid.volume,
optionsp->fid.vnode, optionsp->fid.unique);
- code = cm_GetSCache(&fid, &scp, userp, &req);
+ code = cm_GetSCache(&fid, NULL, &scp, userp, &req);
} else {
code = RDR_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
}
return code;
}
+
+afs_int32
+RDR_IoctlGetVerifyData(struct RDR_ioctl *ioctlp, struct cm_user *userp, afs_uint32 pflags)
+{
+ cm_SkipIoctlPath(&ioctlp->ioctl);
+
+ return cm_IoctlGetVerifyData(&ioctlp->ioctl);
+}
+
+afs_int32
+RDR_IoctlSetVerifyData(struct RDR_ioctl *ioctlp, struct cm_user *userp, afs_uint32 pflags)
+{
+ cm_SkipIoctlPath(&ioctlp->ioctl);
+
+ return cm_IoctlSetVerifyData(&ioctlp->ioctl);
+}