{
HANDLE handle;
int len;
- char buf[100];
+ char buf[256];
- if (!logReady) return;
+ if (!logReady)
+ return;
- len = GetTempPath(99, buf);
+ len = GetTempPath(sizeof(buf)-10, buf);
strcpy(&buf[len], "/afsd.log");
handle = CreateFile(buf, GENERIC_WRITE, FILE_SHARE_READ,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
osi_LongToUID(1000, &debugID);
code = osi_InitDebug(&debugID);
afsi_log("osi_InitDebug code %d", code);
-// osi_LockTypeSetDefault("stat"); /* comment this out for speed *
+
+ // osi_LockTypeSetDefault("stat"); /* comment this out for speed *
if (code != 0) {
*reasonP = "unknown error";
return -1;
osi_panic(buf, __FILE__, __LINE__);
}
+ dummyLen = sizeof(traceBufSize);
+ code = RegQueryValueEx(parmKey, "TraceBufferSize", NULL, NULL,
+ (BYTE *) &traceBufSize, &dummyLen);
+ if (code == ERROR_SUCCESS)
+ afsi_log("Trace Buffer size %d", traceBufSize);
+ else {
+ traceBufSize = CM_CONFIGDEFAULT_TRACEBUFSIZE;
+ afsi_log("Default trace buffer size %d", traceBufSize);
+ }
+
+ /* setup and enable debug log */
+ afsd_logp = osi_LogCreate("afsd", traceBufSize);
+ afsi_log("osi_LogCreate log addr %x", (int)afsd_logp);
+ osi_LogEnable(afsd_logp);
+ logReady = 1;
+
+ osi_Log0(afsd_logp, "Log init");
+
dummyLen = sizeof(cacheSize);
code = RegQueryValueEx(parmKey, "CacheSize", NULL, NULL,
(BYTE *) &cacheSize, &dummyLen);
/* Don't log */
}
- dummyLen = sizeof(traceBufSize);
- code = RegQueryValueEx(parmKey, "TraceBufferSize", NULL, NULL,
- (BYTE *) &traceBufSize, &dummyLen);
- if (code == ERROR_SUCCESS)
- afsi_log("Trace Buffer size %d", traceBufSize);
- else {
- traceBufSize = CM_CONFIGDEFAULT_TRACEBUFSIZE;
- afsi_log("Default trace buffer size %d", traceBufSize);
- }
-
dummyLen = sizeof(cm_sysName);
code = RegQueryValueEx(parmKey, "SysName", NULL, NULL,
cm_sysName, &dummyLen);
/* turn from 1024 byte units into memory blocks */
cacheBlocks = (cacheSize * 1024) / buf_bufferSize;
- /* setup and enable debug log */
- afsd_logp = osi_LogCreate("afsd", traceBufSize);
- afsi_log("osi_LogCreate log addr %x", (int)afsd_logp);
- osi_LogEnable(afsd_logp);
- logReady = 1;
-
- osi_Log0(afsd_logp, "Log init");
-
/* get network related info */
cm_noIPAddr = CM_MAXINTERFACE_ADDR;
code = syscfg_GetIFInfo(&cm_noIPAddr,
DWORD __stdcall afsdMain_thread(void* notUsed)
{
- afsd_Main(0, (LPTSTR*)NULL);
+ char * argv[2] = {AFS_DAEMON_SERVICE_NAME, NULL};
+ afsd_Main(1, (LPTSTR*)argv);
return(0);
}
#define AFS_CELLSERVDB AFS_CELLSERVDB_NT
#endif /* DJGPP || WIN95 */
+#ifdef DEBUG
DWORD TraceOption=1;
#define TRACE_OPTION_EVENT 1
DeregisterEventSource(h);
va_end(marker);
}
+#endif /* DEBUG */
static long cm_ParsePair(char *lineBufferp, char *leftp, char *rightp)
{
bestp = fopen(wdir, "r");
+#ifdef DEBUG
DebugEvent_local("AFS- cm_searchfile fopen", "Handle[%x], wdir[%s]", bestp, wdir);
+#endif
/* have we seen the cell line for the guy we're looking for? */
inRightCell = 0;
strcpy(newCellNamep, lineBuffer+1);
inRightCell = 1;
tracking = 0;
+#ifdef DEBUG
DebugEvent_local("AFS- cm_searchfile is cell", "inRightCell[%x], linebuffer[%s]",
inRightCell, lineBuffer);
+#endif
}
else if (strnicmp(lineBuffer+1, cellNamep,
strlen(cellNamep)) == 0) {
/* add the server to the VLDB list */
WSASetLastError(0);
thp = gethostbyname(valuep);
+#ifdef DEBUG
{
- int iErr = 0;
- iErr = WSAGetLastError();
+ int iErr = WSAGetLastError();
DebugEvent_local("AFS- cm_searchfile inRightCell",
"thp[%x], valuep[%s], WSAGetLastError[%d]",
thp, valuep, iErr);
}
+#endif
if (thp) {
memcpy(&vlSockAddr.sin_addr.s_addr, thp->h_addr,
sizeof(long));
int i;
struct sockaddr_in vlSockAddr;
+#ifdef DEBUG
DebugEvent_local("AFS SearchCellDNS-","Doing search for [%s]", cellNamep);
+#endif
rc = getAFSServer(cellNamep, cellHosts, &numServers, ttl);
if (rc == 0 && numServers > 0) { /* found the cell */
for (i = 0; i < numServers; i++) {
success = FALSE;
+#ifdef DEBUG
DebugEvent_local("AFS SearchCellDNS-","Doing search for [%s]", cellNamep);
+#endif
/* query the AFSDB records of cell */
if(DnsQuery_A(cellNamep, DNS_TYPE_AFSDB, DNS_QUERY_STANDARD, NULL, &pDnsCell, NULL) == ERROR_SUCCESS) {
}
else /* create \\<netbiosName>\<cellname> */
{
+ char * p = shareName;
+ int rw = 0;
+
+ if ( *p == '.' ) {
+ p++;
+ rw = 1;
+ }
/* Get the full name for this cell */
- code = cm_SearchCellFile(shareName, temp, 0, 0);
+ code = cm_SearchCellFile(p, temp, 0, 0);
#ifdef AFS_AFSDB_ENV
if (code && cm_dnsEnabled) {
int ttl;
- code = cm_SearchCellByDNS(shareName, temp, &ttl, 0, 0);
+ code = cm_SearchCellByDNS(p, temp, &ttl, 0, 0);
}
#endif
/* construct the path */
- if (code == 0) {
- sprintf(pathName,"/%s/",temp);
+ if (code == 0) {
+ sprintf(pathName,rw ? "/.%s/" : "/%s/",temp);
*pathNamep = strdup(strlwr(pathName));
return 1;
}
{
NCB *ncbp;
int extra;
- long code;
+ long code = 0;
unsigned char *tp;
int localNCB = 0;
#ifdef DJGPP
long count, minCount, finalCount;
unsigned short fd;
smb_fid_t *fidp;
- long code;
+ long code = 0;
cm_user_t *userp = NULL;
NCB *ncbp;
int rc;
smb_vc_t *vcp;
smb_packet_t *inp, *outp;
NCB *ncbp;
- long code;
+ long code = 0;
while(1) {
lock_ObtainWrite(&smb_globalLock);
long smb_ApplyDirListPatches(smb_dirListPatch_t **dirPatchespp,
cm_user_t *userp, cm_req_t *reqp)
{
- long code;
+ long code = 0;
cm_scache_t *scp;
char *dptr;
long dosTime;
int attribute;
long nextCookie;
char *tp;
- long code;
+ long code = 0;
char *pathp;
cm_dirEntry_t *dep;
int maxCount;
long smb_ReceiveCoreCheckPath(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
char *pathp;
- long code;
+ long code = 0;
cm_scache_t *rootScp;
cm_scache_t *newScp;
cm_user_t *userp;
long smb_ReceiveCoreSetFileAttributes(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
char *pathp;
- long code;
+ long code = 0;
cm_scache_t *rootScp;
unsigned short attribute;
cm_attr_t attr;
long smb_ReceiveCoreGetFileAttributes(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
char *pathp;
- long code;
+ long code = 0;
cm_scache_t *rootScp;
cm_scache_t *newScp, *dscp;
long dosTime;
char *lastNamep;
int share;
int attribute;
- long code;
+ long code = 0;
cm_user_t *userp;
cm_scache_t *scp;
long dosTime;
int smb_UnlinkProc(cm_scache_t *dscp, cm_dirEntry_t *dep, void *vrockp, osi_hyper_t *offp)
{
- long code;
+ long code = 0;
smb_unlinkRock_t *rockp;
int caseFold;
int match;
long smb_ReceiveCoreUnlink(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
int attribute;
- long code;
+ long code = 0;
char *pathp;
char *tp;
cm_space_t *spacep;
int smb_RenameProc(cm_scache_t *dscp, cm_dirEntry_t *dep, void *vrockp, osi_hyper_t *offp)
{
- long code;
+ long code = 0;
smb_renameRock_t *rockp;
int caseFold;
int match;
long smb_ReceiveCoreRename(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
- long code;
+ long code = 0;
char *oldPathp;
char *newPathp;
char *tp;
int smb_RmdirProc(cm_scache_t *dscp, cm_dirEntry_t *dep, void *vrockp, osi_hyper_t *offp)
{
- long code;
+ long code = 0;
smb_rmdirRock_t *rockp;
int match;
char shortName[13];
long smb_ReceiveCoreRemoveDir(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
- long code;
+ long code = 0;
char *pathp;
char *tp;
cm_space_t *spacep;
unsigned short fid;
smb_fid_t *fidp;
cm_user_t *userp;
- long code;
+ long code = 0;
cm_req_t req;
cm_InitReq(&req);
char **newPathp, cm_user_t *userp, cm_req_t *reqp)
{
struct smb_FullNameRock rock;
- long code;
+ long code = 0;
rock.name = pathp;
rock.vnode = scp;
smb_fid_t *fidp;
cm_user_t *userp;
long dosTime;
- long code;
+ long code = 0;
cm_req_t req;
cm_InitReq(&req);
#endif /* !DJGPP */
{
osi_hyper_t offset;
- long code;
+ long code = 0;
cm_scache_t *scp;
cm_buf_t *bufferp;
osi_hyper_t fileLength;
#endif /* !DJGPP */
{
osi_hyper_t offset;
- long code;
+ long code = 0;
long written = 0;
cm_scache_t *scp;
osi_hyper_t fileLength; /* file's length at start of write */
long count, written = 0;
unsigned short fd;
smb_fid_t *fidp;
- long code;
+ long code = 0;
cm_user_t *userp;
cm_attr_t truncAttr; /* attribute struct used for truncating file */
char *op;
dos_ptr rawBuf;
#endif /* !DJGPP */
long written = 0;
- long code;
+ long code = 0;
fd = smb_GetSMBParm(inp, 0);
fidp = smb_FindFID(vcp, fd, 0);
long totalCount;
unsigned short fd;
smb_fid_t *fidp;
- long code;
+ long code = 0;
cm_user_t *userp;
char *op;
unsigned short writeMode;
long count, finalCount;
unsigned short fd;
smb_fid_t *fidp;
- long code;
+ long code = 0;
cm_user_t *userp;
char *op;
long smb_ReceiveCoreMakeDir(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
char *pathp;
- long code;
+ long code = 0;
cm_space_t *spacep;
char *tp;
cm_user_t *userp;
long smb_ReceiveCoreCreate(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
char *pathp;
- long code;
+ long code = 0;
cm_space_t *spacep;
char *tp;
int excl;
long smb_ReceiveCoreSeek(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
- long code;
+ long code = 0;
long offset;
int whence;
unsigned short fd;
static showErrors = 0;
smb_dispatch_t *dp;
smb_t *smbp;
- unsigned long code;
+ unsigned long code = 0;
unsigned char *outWctp;
int nparms; /* # of bytes of parameters */
char tbuffer[200];
void smb_Listener(void *parmp)
{
NCB *ncbp;
- long code;
+ long code = 0;
long len;
long i, j;
smb_vc_t *vcp;
#ifdef DJGPP
dos_ptr dos_ncb;
#endif
- long code;
+ long code = 0;
int i;
/*fprintf(stderr, "Entering smb_Shutdown\n");*/
int parmCount;
int dataCount;
int firstPacket;
- long code;
+ long code = 0;
/* We sometimes see 0 word count. What to do? */
if (*inp->wctp == 0) {
{
char *pathp;
smb_tran2Packet_t *outp;
- long code;
+ long code = 0;
cm_space_t *spacep;
int excl;
cm_user_t *userp;
cm_space_t *spacep;
cm_scache_t *dscp;
int caseFold = CM_FLAG_FOLLOW | CM_FLAG_CASEFOLD;
- long code;
+ long code = 0;
osi_hyper_t thyper;
spacep = cm_GetSpace();
cm_user_t *userp;
cm_space_t *spacep;
cm_scache_t *scp, *dscp;
- long code;
+ long code = 0;
char *op;
char *tidPathp;
char *lastComp;
smb_fid_t *fidp;
cm_scache_t *scp;
char *op;
- long code;
+ long code = 0;
cm_req_t req;
cm_InitReq(&req);
long smb_ReceiveTran2SetFileInfo(smb_vc_t *vcp, smb_tran2Packet_t *p, smb_packet_t *op)
{
- long code;
+ long code = 0;
unsigned short fid;
smb_fid_t *fidp;
unsigned short infoLevel;
smb_dirListPatch_t **dirPatchespp, int infoLevel, cm_user_t *userp,
cm_req_t *reqp)
{
- long code;
+ long code = 0;
cm_scache_t *scp;
cm_scache_t *targetScp; /* target if scp is a symlink */
char *dptr;
int attribute;
long nextCookie;
char *tp;
- long code;
+ long code = 0;
char *pathp;
cm_dirEntry_t *dep;
int maxCount;
long smb_ReceiveV3OpenX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
char *pathp;
- long code;
+ long code = 0;
cm_space_t *spacep;
int excl;
cm_user_t *userp;
LARGE_INTEGER LOffset, LLength;
smb_waitingLock_t *waitingLock;
void *lockp;
- long code;
+ long code = 0;
int i;
cm_InitReq(&req);
unsigned short fid;
smb_fid_t *fidp;
cm_scache_t *scp;
- long code;
+ long code = 0;
long searchTime;
cm_user_t *userp;
cm_req_t req;
unsigned short fid;
smb_fid_t *fidp;
cm_scache_t *scp;
- long code;
+ long code = 0;
long searchTime;
long unixTime;
cm_user_t *userp;
long count, finalCount;
unsigned short fd;
smb_fid_t *fidp;
- long code;
+ long code = 0;
cm_user_t *userp;
char *op;
long smb_ReceiveNTCreateX(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
char *pathp, *realPathp;
- long code;
+ long code = 0;
cm_space_t *spacep;
cm_user_t *userp;
cm_scache_t *dscp; /* parent dir */
long smb_ReceiveNTTranCreate(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp)
{
char *pathp, *realPathp;
- long code;
+ long code = 0;
cm_space_t *spacep;
cm_user_t *userp;
cm_scache_t *dscp; /* parent dir */
if (!pkrb5_init_context)
return;
+#ifdef COMMENT
if ( !MSLSA_IsKerberosLogon() )
return;
+#endif
code = pkrb5_init_context(&ctx);
if (code) goto cleanup;