Error after ColdFusion Hotfix - Missing fusebox.xml

FuseBox : “Missing fusebox.xml”.


In a recent batch of ColdFusion hotfixes (ColdFusion 2016 Update 7 & ColdFusion 2018 Update 1) a new ColdFusion function was added called getCanonicalPath that has introduced some conflicts in the FuseBox CMS application. This is because FuseBox utilizes it’s own custom function called getCanonicalPath that is expecting a different path than what ColdFusion is returning in its version of the function.

An example of what the error output looks like can be seen below.

Fortunately, this issue is easily fixed by renaming the custom function getCanonicalPath being used in FuseBox to a different function name such as getCanonicalPath_FB. In a default installation of FuseBox the following files will need to be updated to utilize a different custom function name.

fuseboxApplication.cfc
fuseboxCircuit.cfc
fuseboxPlugin.cfc
PathUtil.cfc

Listed below is a code snippet from within the FuseBox source files that is causing this error to occur.

	<cffunction name="getCanonicalPath" returntype="string" access="public" output="false" 
				hint="I return a canonical file path (with all /../ sections resolved).">
		<cfargument name="path" type="string" required="true" 
					hint="I am the path to resolve." />
					
		<cfreturn pathUtil.getCanonicalPath(arguments.path) />
		
	</cffunction>

The solution in this case would be to update the “name” attribute within the <cffunction> tag to “getCanonicalPath_FB”. You would also need to update any code snippets that are referencing the old function name to utilize the new function name… Such as the following:

From:

<cfreturn pathUtil.getCanonicalPath(arguments.path) />

To:

<cfreturn pathUtil.getCanonicalPath_FB(arguments.path) />

In the end your changes should look similar to this:

	<cffunction name="getCanonicalPath_FB" returntype="string" access="public" output="false" 
				hint="I return a canonical file path (with all /../ sections resolved).">
		<cfargument name="path" type="string" required="true" 
					hint="I am the path to resolve." />
					
		<cfreturn pathUtil.getCanonicalPath_FB(arguments.path) />
		
	</cffunction>

If you have any issues with this process, then our world-class team of ColdFusion experts can help. Contact us for more information.