/* flags in cm_req structure */
#define CM_REQ_NORETRY 0x1
#define CM_REQ_NEW_CONN_FORCED 0x2
+#define CM_REQ_SOURCE_SMB 0x4
/*
* Vice2 error codes
/* Faux server GUID. This is never checked. */
GUID smb_ServerGUID = { 0x40015cb8, 0x058a, 0x44fc, { 0xae, 0x7e, 0xbb, 0x29, 0x52, 0xee, 0x7e, 0xff }};
+void smb_InitReq(cm_req_t *reqp)
+{
+ cm_InitReq(reqp);
+ reqp->flags |= CM_REQ_SOURCE_SMB;
+}
+
void smb_ResetServerPriority()
{
void * p = TlsGetValue(smb_TlsRequestSlot);
/* attempt to locate a partial match in root.afs. This is because
when using the ANSI RAP calls, the share name is limited to 13 chars
and hence is truncated. Of course we prefer exact matches. */
- cm_InitReq(&req);
+ smb_InitReq(&req);
thyper.HighPart = 0;
thyper.LowPart = 0;
scp = wlRequest->scp;
osi_Log2(smb_logp,"smb_WaitingLocksDaemon wlRequest 0x%p scp 0x%p", wlRequest, scp);
- cm_InitReq(&req);
+ smb_InitReq(&req);
lock_ObtainWrite(&scp->rw);
cm_fid_t fid;
int fileType;
- cm_InitReq(&req);
+ smb_InitReq(&req);
maxCount = smb_GetSMBParm(inp, 0);
cm_req_t req;
char * pdata;
- cm_InitReq(&req);
+ smb_InitReq(&req);
pdata = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(inp, pdata, NULL, SMB_STRF_ANSIPATH);
char * datap;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
/* decode basic attributes we're passed */
attribute = smb_GetSMBParm(inp, 0);
char * datap;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
datap = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(inp, datap, NULL, SMB_STRF_ANSIPATH);
char * datap;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
datap = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(inp, datap, NULL, SMB_STRF_ANSIPATH);
clientchar_t *tidPathp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
attribute = smb_GetSMBParm(inp, 0);
return CM_ERROR_NOSUCHPATH;
}
- cm_InitReq(&req);
+ smb_InitReq(&req);
spacep = inp->spacep;
smb_StripLastComponent(spacep->wdata, &oldLastNamep, oldPathp);
return CM_ERROR_NOSUCHPATH;
}
- cm_InitReq(&req);
+ smb_InitReq(&req);
caseFold = CM_FLAG_FOLLOW | CM_FLAG_CASEFOLD;
clientchar_t *tidPathp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
tp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(inp, tp, &tp, SMB_STRF_ANSIPATH);
long code = 0;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
fid = smb_GetSMBParm(inp, 0);
lock_ReleaseMutex(&fidp->mx);
}
- cm_InitReq(&req);
+ smb_InitReq(&req);
lock_ObtainWrite(&smb_rctLock);
if (fidp->deleteOk) {
goto done2;
}
- cm_InitReq(&req);
+ smb_InitReq(&req);
bufferp = NULL;
offset = *offsetp;
goto done2;
}
- cm_InitReq(&req);
+ smb_InitReq(&req);
scp = fidp->scp;
cm_HoldSCache(scp);
osi_Log1(smb_logp, "smb_ReceiveCoreWrite truncation to length 0x%x", offset.LowPart);
- cm_InitReq(&req);
+ smb_InitReq(&req);
truncAttr.mask = CM_ATTRMASK_LENGTH;
truncAttr.length.LowPart = offset.LowPart;
clientchar_t *tidPathp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
scp = NULL;
cm_req_t req;
int created = 0; /* the file was new */
- cm_InitReq(&req);
+ smb_InitReq(&req);
scp = NULL;
excl = (inp->inCom == 0x03)? 0 : 1;
cm_user_t *userp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
fd = smb_GetSMBParm(inp, 0);
whence = smb_GetSMBParm(inp, 1);
extern void smb_LanAdapterChange(int);
extern void smb_SetLanAdapterChangeDetected(void);
+extern void smb_InitReq(cm_req_t *reqp);
#define SMB_LISTENER_UNINITIALIZED -1
#define SMB_LISTENER_STOPPED 0
rootShares.cShare = 0;
rootShares.shares = malloc( sizeof(smb_rap_share_info_0_t) * SMB_RAP_MAX_SHARES );
- cm_InitReq(&req);
+ smb_InitReq(&req);
userp = smb_GetTran2User(vcp,p);
cm_user_t *userp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
tp = p->parmsp + 1; /* skip over function number (always 1) */
cm_req_t req;
int created = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
scp = NULL;
clientchar_t *lastComp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
infoLevel = p->parmsp[0];
if (infoLevel == SMB_INFO_IS_NAME_VALID)
clientchar_t *tidPathp;
clientchar_t *lastComp;
- cm_InitReq(&req);
+ smb_InitReq(&req);
infoLevel = p->parmsp[0];
osi_Log1(smb_logp,"ReceiveTran2SetPathInfo type 0x%x", infoLevel);
int readlock = 0;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
fid = p->parmsp[0];
fidp = smb_FindFID(vcp, fid, 0);
cm_scache_t *scp = NULL;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
fid = p->parmsp[0];
fidp = smb_FindFID(vcp, fid, 0);
int i, nbnLen, reqLen, refLen;
int idx;
- cm_InitReq(&req);
+ smb_InitReq(&req);
maxReferralLevel = p->parmsp[0];
void * attrp = NULL;
smb_tran2Find_t * fp;
- cm_InitReq(&req);
+ smb_InitReq(&req);
eos = 0;
osi_assertx(p->opcode == 1, "invalid opcode");
char * s;
smb_tran2Find_t * fp;
- cm_InitReq(&req);
+ smb_InitReq(&req);
eos = 0;
if (p->opcode == 1) {
cm_req_t req;
int created = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
scp = NULL;
cm_key_t key;
unsigned int pid;
- cm_InitReq(&req);
+ smb_InitReq(&req);
fid = smb_GetSMBParm(inp, 2);
fid = smb_ChainFID(fid, inp);
cm_req_t req;
int readlock = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
fid = smb_GetSMBParm(inp, 0);
fid = smb_ChainFID(fid, inp);
cm_attr_t attrs;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
fid = smb_GetSMBParm(inp, 0);
fid = smb_ChainFID(fid, inp);
int created = 0;
cm_lock_data_t *ldp = NULL;
- cm_InitReq(&req);
+ smb_InitReq(&req);
/* This code is very long and has a lot of if-then-else clauses
* scp and dscp get reused frequently and we need to ensure that
int created = 0;
cm_lock_data_t *ldp = NULL;
- cm_InitReq(&req);
+ smb_InitReq(&req);
foundscp = FALSE;
scp = NULL;
cm_ioctlQueryOptions_t *optionsp;
afs_uint32 flags = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
optionsp = cm_IoctlGetQueryOptions(&ioctlp->ioctl, userp);
if (optionsp && CM_IOCTL_QOPTS_HAVE_LITERAL(optionsp))
cm_ioctlQueryOptions_t *optionsp;
afs_uint32 flags = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
code = smb_ParseIoctlPath(ioctlp, userp, &req, &scp, flags);
if (code)
cm_ioctlQueryOptions_t *optionsp;
afs_uint32 flags = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
optionsp = cm_IoctlGetQueryOptions(&ioctlp->ioctl, userp);
if (optionsp && CM_IOCTL_QOPTS_HAVE_LITERAL(optionsp))
{
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
cm_SkipIoctlPath(&ioctlp->ioctl); /* we don't care about the path */
cm_ioctlQueryOptions_t *optionsp;
afs_uint32 flags = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
optionsp = cm_IoctlGetQueryOptions(&ioctlp->ioctl, userp);
if (optionsp && CM_IOCTL_QOPTS_HAVE_LITERAL(optionsp))
cm_ioctlQueryOptions_t *optionsp;
afs_uint32 flags = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
optionsp = cm_IoctlGetQueryOptions(&ioctlp->ioctl, userp);
if (optionsp && CM_IOCTL_QOPTS_HAVE_LITERAL(optionsp))
cm_scache_t *scp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
code = smb_ParseIoctlPath(ioctlp, userp, &req, &scp, 0);
if (code) return code;
afs_uint32 flags = 0;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
optionsp = cm_IoctlGetQueryOptions(&ioctlp->ioctl, userp);
if (optionsp && CM_IOCTL_QOPTS_HAVE_LITERAL(optionsp))
cm_ioctlQueryOptions_t * optionsp;
afs_uint32 flags = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
optionsp = cm_IoctlGetQueryOptions(&ioctlp->ioctl, userp);
if (optionsp && CM_IOCTL_QOPTS_HAVE_LITERAL(optionsp))
cm_ioctlQueryOptions_t * optionsp;
afs_uint32 flags = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
optionsp = cm_IoctlGetQueryOptions(&ioctlp->ioctl, userp);
if (optionsp && CM_IOCTL_QOPTS_HAVE_LITERAL(optionsp))
cm_ioctlQueryOptions_t *optionsp;
afs_uint32 flags = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
optionsp = cm_IoctlGetQueryOptions(&ioctlp->ioctl, userp);
if (optionsp && CM_IOCTL_QOPTS_HAVE_LITERAL(optionsp))
cm_ioctlQueryOptions_t *optionsp;
afs_uint32 flags = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
optionsp = cm_IoctlGetQueryOptions(&ioctlp->ioctl, userp);
if (optionsp && CM_IOCTL_QOPTS_HAVE_LITERAL(optionsp))
cm_scache_t *dscp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
code = smb_ParseIoctlPath(ioctlp, userp, &req, &dscp, 0);
if (code)
cm_scache_t *dscp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
code = smb_ParseIoctlPath(ioctlp, userp, &req, &dscp, 0);
if (code)
clientchar_t leaf[LEAF_SIZE];
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
code = smb_ParseIoctlParent(ioctlp, userp, &req, &dscp, leaf);
if (code)
clientchar_t leaf[LEAF_SIZE];
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
code = smb_ParseIoctlParent(ioctlp, userp, &req, &dscp, leaf);
if (code) return code;
cm_scache_t *dscp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
code = smb_ParseIoctlPath(ioctlp, userp, &req, &dscp, 0);
if (code) return code;
cm_scache_t *dscp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
code = smb_ParseIoctlPath(ioctlp, userp, &req, &dscp, 0);
if (code) return code;
cm_scache_t *dscp;
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
code = smb_ParseIoctlPath(ioctlp, userp, &req, &dscp, 0);
if (code) return code;
cm_ioctlQueryOptions_t *optionsp;
afs_uint32 flags = 0;
- cm_InitReq(&req);
+ smb_InitReq(&req);
optionsp = cm_IoctlGetQueryOptions(&ioctlp->ioctl, userp);
if (optionsp && CM_IOCTL_QOPTS_HAVE_LITERAL(optionsp))
{
cm_req_t req;
- cm_InitReq(&req);
+ smb_InitReq(&req);
cm_SkipIoctlPath(&ioctlp->ioctl);