/** * Step 1: If the path has only one path component (for example, \abc), go to step 12; otherwise, go to step 2. */ private DFSPath step1(Session session, ResolveState state) throws DFSException { logger.trace("DFS[1]: {}", state); if (state.path.hasOnlyOnePathComponent() || state.path.isIpc()) { // Also shortcircuit IPC$ connects. return step12(state); } return step2(session, state); }
/** * Step 1: If the path has only one path component (for example, \abc), go to step 12; otherwise, go to step 2. */ private DFSPath step1(Session session, ResolveState state) throws DFSException { logger.trace("DFS[1]: {}", state); if (state.path.hasOnlyOnePathComponent() || state.path.isIpc()) { // Also shortcircuit IPC$ connects. return step12(state); } return step2(session, state); }
/** * Step 11: [interlink] Replace the portion of the path that matches the DFSPathPrefix of * the ReferralCache entry with TargetHint. For example, if the path is \MyDomain\MyDfs\MyLink\MyDir * and the referral entry contains \MyDomain\MyDfs\MyLink with a DFS target path of * \someserver\someshare\somepath, the effective path becomes * \someserver\someshare\somepath\MyDir. Go to step 2. */ private DFSPath step11(Session session, ResolveState state, ReferralCache.ReferralCacheEntry lookup) throws DFSException { logger.trace("DFS[11]: {}", state); state.path = state.path.replacePrefix(lookup.getDfsPathPrefix(), lookup.getTargetHint().getTargetPath()); state.isDFSPath = true; return step2(session, state); }
/** * Step 11: [interlink] Replace the portion of the path that matches the DFSPathPrefix of * the ReferralCache entry with TargetHint. For example, if the path is \MyDomain\MyDfs\MyLink\MyDir * and the referral entry contains \MyDomain\MyDfs\MyLink with a DFS target path of * \someserver\someshare\somepath, the effective path becomes * \someserver\someshare\somepath\MyDir. Go to step 2. */ private DFSPath step11(Session session, ResolveState state, ReferralCache.ReferralCacheEntry lookup) throws DFSException { logger.trace("DFS[11]: {}", state); state.path = state.path.replacePrefix(lookup.getDfsPathPrefix(), lookup.getTargetHint().getTargetPath()); state.isDFSPath = true; return step2(session, state); }