int smb_LogoffTokenTransfer;
time_t smb_LogoffTransferTimeout;
+int smb_StoreAnsiFilenames = 0;
+
DWORD last_msg_time = 0;
long ongoingOps = 0;
int i;
victimCount = 0; /* how many have we got so far */
- for(tp = smb_lastDirSearchp; tp; tp=prevp) {
+ for (tp = smb_lastDirSearchp; tp; tp=prevp) {
/* we'll move tp from queue, so
* do this early.
*/
/* parse input parameters */
tp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(tp, &tp);
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
passwordp = smb_ParseASCIIBlock(tp, &tp);
tp = strrchr(pathp, '\\');
if (!tp)
tp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(tp, (char **) &tp);
osi_assert(pathp != NULL);
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
statBlockp = smb_ParseVblBlock(tp, (char **) &tp, &statLen);
osi_assert(statBlockp != NULL);
if (statLen == 0) {
tp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(tp, &tp);
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
inCookiep = smb_ParseVblBlock(tp, &tp, &dataLength);
/* bail out if request looks bad */
* attributes */
/* no hidden files */
- if(smb_hideDotFiles && !(dsp->attribute & SMB_ATTR_HIDDEN) && smb_IsDotFile(actualName))
+ if (smb_hideDotFiles && !(dsp->attribute & SMB_ATTR_HIDDEN) && smb_IsDotFile(actualName))
goto nextEntry;
if (!(dsp->attribute & SMB_ATTR_DIRECTORY)) /* no directories */
* never hurts to be sure.
*/
strncpy(op, actualName, 13);
+ if (smb_StoreAnsiFilenames)
+ CharToOem(op, op);
/* Uppercase if requested by client */
if ((((smb_t *)inp)->flg2 & 1) == 0)
pathp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(pathp, NULL);
+ if (!pathp)
+ return CM_ERROR_BADFD;
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
osi_Log1(smb_logp, "SMB receive check path %s",
osi_LogSaveString(smb_logp, pathp));
-
- if (!pathp) {
- return CM_ERROR_BADFD;
- }
rootScp = cm_rootSCachep;
pathp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(pathp, NULL);
-
- if (!pathp) {
+ if (!pathp)
return CM_ERROR_BADSMB;
- }
-
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
+
osi_Log2(smb_logp, "SMB receive setfile attributes time %d, attr 0x%x",
dosTime, attribute);
pathp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(pathp, NULL);
-
- if (!pathp) {
+ if (!pathp)
return CM_ERROR_BADSMB;
- }
if (*pathp == 0) /* null path */
pathp = "\\";
+ else
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
osi_Log1(smb_logp, "SMB receive getfile attributes path %s",
osi_LogSaveString(smb_logp, pathp));
pathp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(pathp, NULL);
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
osi_Log1(smb_logp, "SMB receive open file [%s]", osi_LogSaveString(smb_logp, pathp));
tp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(tp, &tp);
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
osi_Log1(smb_logp, "SMB receive unlink %s",
osi_LogSaveString(smb_logp, pathp));
tp = smb_GetSMBData(inp, NULL);
oldPathp = smb_ParseASCIIBlock(tp, &tp);
+ if (smb_StoreAnsiFilenames)
+ OemToChar(oldPathp,oldPathp);
newPathp = smb_ParseASCIIBlock(tp, &tp);
+ if (smb_StoreAnsiFilenames)
+ OemToChar(newPathp,newPathp);
osi_Log2(smb_logp, "smb rename [%s] to [%s]",
osi_LogSaveString(smb_logp, oldPathp),
tp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(tp, &tp);
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
spacep = inp->spacep;
smb_StripLastComponent(spacep->data, &lastNamep, pathp);
tp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(tp, &tp);
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
if (strcmp(pathp, "\\") == 0)
return CM_ERROR_EXISTS;
tp = smb_GetSMBData(inp, NULL);
pathp = smb_ParseASCIIBlock(tp, &tp);
+ if (smb_StoreAnsiFilenames)
+ OemToChar(pathp,pathp);
spacep = inp->spacep;
smb_StripLastComponent(spacep->data, &lastNamep, pathp);
/* otherwise, scp points to the parent directory. Do a lookup, and
* truncate the file if we find it, otherwise we create the file.
*/
- if (!lastNamep) lastNamep = pathp;
- else lastNamep++;
+ if (!lastNamep)
+ lastNamep = pathp;
+ else
+ lastNamep++;
if (!smb_IsLegalFilename(lastNamep))
return CM_ERROR_BADNTFILENAME;