|
@@ -123,7 +123,7 @@ bool isFileKnownOnCluster(const char *logicalname, const char *target, IUserDesc
|
|
|
return isFileKnownOnCluster(logicalname, clusterInfo, userdesc);
|
|
|
}
|
|
|
|
|
|
-void cloneFileInfoToDali(StringArray ¬Found, IPropertyTree *packageMap, const char *lookupDaliIp, IConstWUClusterInfo *dstInfo, const char *srcCluster, const char *remotePrefix, bool overWrite, IUserDescriptor* userdesc)
|
|
|
+void cloneFileInfoToDali(StringArray ¬Found, IPropertyTree *packageMap, const char *lookupDaliIp, IConstWUClusterInfo *dstInfo, const char *srcCluster, const char *remotePrefix, bool overWrite, IUserDescriptor* userdesc, bool allowForeignFiles)
|
|
|
{
|
|
|
StringBuffer user;
|
|
|
StringBuffer password;
|
|
@@ -134,7 +134,7 @@ void cloneFileInfoToDali(StringArray ¬Found, IPropertyTree *packageMap, const
|
|
|
userdesc->getPassword(password);
|
|
|
}
|
|
|
|
|
|
- Owned<IReferencedFileList> wufiles = createReferencedFileList(user, password);
|
|
|
+ Owned<IReferencedFileList> wufiles = createReferencedFileList(user, password, allowForeignFiles);
|
|
|
wufiles->addFilesFromPackageMap(packageMap);
|
|
|
SCMStringBuffer processName;
|
|
|
dstInfo->getRoxieProcess(processName);
|
|
@@ -151,13 +151,13 @@ void cloneFileInfoToDali(StringArray ¬Found, IPropertyTree *packageMap, const
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void cloneFileInfoToDali(StringArray ¬Found, IPropertyTree *packageMap, const char *lookupDaliIp, const char *dstCluster, const char *srcCluster, const char *prefix, bool overWrite, IUserDescriptor* userdesc)
|
|
|
+void cloneFileInfoToDali(StringArray ¬Found, IPropertyTree *packageMap, const char *lookupDaliIp, const char *dstCluster, const char *srcCluster, const char *prefix, bool overWrite, IUserDescriptor* userdesc, bool allowForeignFiles)
|
|
|
{
|
|
|
Owned<IConstWUClusterInfo> clusterInfo = getTargetClusterInfo(dstCluster);
|
|
|
if (!clusterInfo)
|
|
|
throw MakeStringException(PKG_TARGET_NOT_DEFINED, "Could not find information about target cluster %s ", dstCluster);
|
|
|
|
|
|
- cloneFileInfoToDali(notFound, packageMap, lookupDaliIp, clusterInfo, srcCluster, prefix, overWrite, userdesc);
|
|
|
+ cloneFileInfoToDali(notFound, packageMap, lookupDaliIp, clusterInfo, srcCluster, prefix, overWrite, userdesc, allowForeignFiles);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -175,7 +175,7 @@ void makePackageActive(IPropertyTree *pkgSetRegistry, IPropertyTree *pkgSetTree,
|
|
|
|
|
|
//////////////////////////////////////////////////////////
|
|
|
|
|
|
-void addPackageMapInfo(StringArray &filesNotFound, IPropertyTree *pkgSetRegistry, const char *target, const char *pmid, const char *packageSetName, const char *lookupDaliIp, const char *srcCluster, const char *prefix, IPropertyTree *packageInfo, bool activate, bool overWrite, IUserDescriptor* userdesc)
|
|
|
+void addPackageMapInfo(StringArray &filesNotFound, IPropertyTree *pkgSetRegistry, const char *target, const char *pmid, const char *packageSetName, const char *lookupDaliIp, const char *srcCluster, const char *prefix, IPropertyTree *packageInfo, bool activate, bool overWrite, IUserDescriptor* userdesc, bool allowForeignFiles)
|
|
|
{
|
|
|
if (srcCluster && *srcCluster)
|
|
|
{
|
|
@@ -251,7 +251,7 @@ void addPackageMapInfo(StringArray &filesNotFound, IPropertyTree *pkgSetRegistry
|
|
|
}
|
|
|
|
|
|
mergePTree(mapTree, baseInfo);
|
|
|
- cloneFileInfoToDali(filesNotFound, mapTree, lookupDaliIp, clusterInfo, srcCluster, prefix, overWrite, userdesc);
|
|
|
+ cloneFileInfoToDali(filesNotFound, mapTree, lookupDaliIp, clusterInfo, srcCluster, prefix, overWrite, userdesc, allowForeignFiles);
|
|
|
|
|
|
globalLock->commit();
|
|
|
|
|
@@ -547,7 +547,7 @@ bool CWsPackageProcessEx::onAddPackage(IEspContext &context, IEspAddPackageReque
|
|
|
StringArray filesNotFound;
|
|
|
StringBuffer pkgSetId;
|
|
|
buildPkgSetId(pkgSetId, processName.get());
|
|
|
- addPackageMapInfo(filesNotFound, pkgSetRegistry, target.get(), pmid.str(), pkgSetId.str(), daliip.str(), srcCluster.str(), prefix.str(), LINK(packageTree), activate, overWrite, userdesc);
|
|
|
+ addPackageMapInfo(filesNotFound, pkgSetRegistry, target.get(), pmid.str(), pkgSetId.str(), daliip.str(), srcCluster.str(), prefix.str(), LINK(packageTree), activate, overWrite, userdesc, req.getAllowForeignFiles());
|
|
|
resp.setFilesNotFound(filesNotFound);
|
|
|
|
|
|
StringBuffer msg;
|
|
@@ -784,7 +784,7 @@ bool CWsPackageProcessEx::onValidatePackage(IEspContext &context, IEspValidatePa
|
|
|
|
|
|
if (req.getCheckDFS())
|
|
|
{
|
|
|
- Owned<IReferencedFileList> pmfiles = createReferencedFileList(context.queryUserId(), context.queryPassword());
|
|
|
+ Owned<IReferencedFileList> pmfiles = createReferencedFileList(context.queryUserId(), context.queryPassword(), true);
|
|
|
pmfiles->addFilesFromPackageMap(mapTree);
|
|
|
pmfiles->resolveFiles(process.str(), NULL, NULL, NULL, true, false);
|
|
|
Owned<IReferencedFileIterator> files = pmfiles->getFiles();
|