rodel30
11/19/2023, 7:25 PM<cfset form.test = 'value'>
<cfwddx action='cfml2wddx' input="#form#" output="w">
<cfoutput><pre>#EncodeForHTML(w)#</pre></cfoutput>
<cfwddx action='wddx2cfml' input="#w#" output="test"> <!--- Throws: WDDX packet parse error at line 1, column 85. Invalid WDDX packet: root element in not wddxPacket. --->
<cfdump var="#w#">
Is this an expected change with the security update or accidental? If expected, is there a recommended workaround? (I tried doing a StructCopy around the form , which changed the "type" attr in the output xml, but still caused the error)Adam Cameron
rodel30
11/19/2023, 7:51 PMrodel30
11/19/2023, 7:52 PM<struct type='coldfusion.filter.FormScope'> , of which I believe the type there is causing the issueAdam Cameron
form.test and test.rodel30
11/19/2023, 7:54 PMAdam Cameron
rodel30
11/19/2023, 7:56 PMcfml2wddx input to StructCopy(form) the generated XML has <struct type='coldfusion.runtime.LocalScope'>, which seems a little odd. When I generate XML of a normal struct, there is no type attribute and no error.Adam Cameron
Adam Cameron
<cfdump var="#[
form.getClass().getName(),
duplicate(form).getClass().getName(),
structCopy(form).getClass().getName()
]#">
And marvelled at the three different resultant types.rodel30
11/19/2023, 7:59 PMwddx2cfml , and I could still set the form scope to that struct (AFAIK) without issues.
Though your test made me curious what Duplicate does. And apparently doing Duplicate(form) in the input for the cfml2wddx generates XML without a type attr, so that would work as well. Though seems like it shouldn't be necessary.Adam Cameron
duplicate instead of structCopy. The utility of structCopy is minimal as - as far as I recollect - all it does is make a new ref to the struct, it doesn't really copy anything,rodel30
11/19/2023, 8:00 PMAdam Cameron
Though seems like it shouldn't be necessary.Well of course. But... like... it's a bug. You need to work around it.
rodel30
11/19/2023, 8:00 PMAdam Cameron
Adam Cameron
rodel30
11/19/2023, 8:02 PMduplicate should get around the issue.gsr
11/19/2023, 8:12 PMgsr
11/19/2023, 8:12 PMAdam Cameron
gsr
11/19/2023, 8:25 PMAdam Cameron
kuro5
11/20/2023, 2:56 AMRochelle Hannah
11/20/2023, 5:33 AMgsr
11/20/2023, 2:54 PMAdam Cameron
coldfusion.runtime.Struct.
I also note that coldfusion.runtime.Struct is missing from the list on that URL you cited above.Satyam Mishra
11/20/2023, 5:49 PMDue to security reasons, coldfusion.filter.FormScope is blocked for deserialization. Add the class/package in the file cfusion/lib/cfserialfilter.txt to override the behavior and allow deserializationSatyam Mishra
11/20/2023, 5:53 PMgsr
11/20/2023, 5:59 PMAdam Cameron
The intention for not showing same in UI is very clear.This is a perennial problem with the CF Team. They don't get web development. Indeed they don't "get" CFML development. The public don't see the error. Hiding runtime code errors from the end user is a completely different thing, and irrelevant to throwing a good exception for the developer. The devs need to see the runtime error... same as any other exception message when robust exception handling is on. The devs need this info. Not presenting an error properly in the UI where ppl are expecting it is a) not helpful; b) really ignorant of how CFML development works. Also: where is the mention of wddx.log in the docs? https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-u-z/cfwddx.html
Satyam Mishra
11/20/2023, 8:05 PMSatyam Mishra
11/20/2023, 8:05 PMAdam Cameron
<cfwddx> in the hope that it'll explain why their code is suddenly crapping out with no clear explanation as to why.rodel30
11/20/2023, 8:18 PMSatyam Mishra
11/21/2023, 6:53 AMgsr
11/21/2023, 1:21 PMDave Merrill
11/21/2023, 2:14 PMgsr
11/21/2023, 2:30 PMDave Merrill
11/21/2023, 2:37 PMgsr
11/21/2023, 2:40 PMheh, yes it needs these attributes to be enabled: coldfusion.filter.FormScope;coldfusion.util.CaseInsensitiveHashtable;coldfusion.filter.UrlScope;
what a wastage by adobe patchgsr
11/21/2023, 2:40 PMgsr
11/21/2023, 2:58 PMDave Merrill
11/21/2023, 3:17 PMgsr
11/21/2023, 3:47 PMBrian Reilly
11/21/2023, 4:37 PMDave Merrill
11/21/2023, 4:55 PMSatyam Mishra
11/21/2023, 4:58 PMBrian Reilly
11/21/2023, 4:58 PMBrian Reilly
11/21/2023, 5:00 PMAdam Cameron
cfwddx.Satyam Mishra
11/21/2023, 5:14 PMgsr
11/21/2023, 6:17 PMAdam Cameron
Mark Takata (Adobe)
11/21/2023, 6:47 PMAdam Cameron
Adam Cameron
Mark Takata (Adobe)
11/21/2023, 6:53 PMMark Takata (Adobe)
11/21/2023, 6:54 PMAdam Cameron
Adam Cameron
<cfquery> and the code abominations it engendered is the worst)
#fightMark Takata (Adobe)
11/21/2023, 6:59 PMDave Merrill
11/21/2023, 7:00 PMMark Takata (Adobe)
11/21/2023, 7:01 PMAdam Cameron