Activity
Mar 11, 2025
My guess is that you'll find it works if you change the code (perhaps in your application.cfm or cfc, that receives the request and forwards it based on that show variable in the url) so that instead of just using show, you use url.show.
There was an update to both cf2021 and 2023 last March that introduced an important change in behavior. There are also alternative workarounds you can enable at the application level or server (jvm config) level, to affect more than this one set of code. For more, see the technote for that March update, or my blog post from that day:
https://www.carehart.org/blog/2024/3/12/cf_updates_march_2024_possible_breaking_change
Let us know if that quick fix I offered works, or not.
... View more
‎Mar 10, 2025
10:57 AM
I appreciate the stress and frustration. I'll only leave it that my hope FOR YOU is that you'll get to try it at SOME point (SOME downtime). I've made my case above, about "why".
At this point, i leave it to you. No reply expected, though certainly if you ever try it and learn something either way, we will appreciate hearing news.
... View more
‎Mar 10, 2025
07:54 AM
Understood. Again just hoping you can try at some point. It could even be to your advantage to have added the least args needed. Sometimes there are unintended side effects for things that otherwise "work" but may not be needed after all. 🙂
... View more
‎Mar 10, 2025
07:31 AM
I understood that: I'm asking if you tried ONLY that new 3rd flag you'd found. You'd confirmed your original 3rd flag did not work on its own, but not this last one. Could be helpful to know.
... View more
‎Mar 10, 2025
07:13 AM
Thanks for the update, and glad to hear.
You should mark your reply as the answer. You can also mark mine as one for its added background, to help future readers.
One last thing, though: are you saying you did try JUST your -Djsch.cipher=aes128-cbc and that alone didn't work? It could be helpful for folks to know. All these are things we'd benefit understanding better, for sure. 🙂 Until then, we have these options.
... View more
‎Mar 09, 2025
10:38 PM
Seth, given the issue is cfftp and sftp--and since the failure arose on your update of cf--there was indeed a change in October regarding sftp, in cf2021 update 17 and cf2023 update 11.
You say you were on cf2021 update 11 (which is from Oct 2023, btw) and per the technote for update 17, there was mention in the bug fixes section of a change to sftp which called for some to need to add either or both of a pair of jvm args to the startup of cf, to maintain backward compatibility:
-Dcoldfusion.sftp.fingerprint=md5 -Dcoldfusion.sftp.enable-ssh-rsa=TRUE
I'd recommend you try at least the second. And I realize that your error message might make it seem this is NOT the solution. If you're game to give it a try, let us know how it goes.
Of course, changing the jvm args is something to be very careful about. You can use the cf admin "java and jvm" page and its java args box--but these are to be added to that long list of them (like at the end), but NOT ON A NEW LINE. If you get this wrong, cf won't start.
Indeed, as you may know, that page changes the underlying jvm.config file, in cfusion/bin (or [instancename]/bin. You should make a backup of that first. You can also just edit it directly, and its args line.
Finally, I was thrown by your original note saying you "have a scheduled task that uses certificate file to connect". I didn't see that being about sftp. Perhaps Dave felt the same, thus his suggestion about the cert for a cfhttp or similar calls: as you may know, scheduled tasks run like a cfhttp.
Again, though, since you feel this failed upon updating cf (alone, right?), that suggests this other matter. Let us know how it goes. It's something I've long been wanting to explore more to understand it better, but for now I wanted to propose at least this for you.
... View more
‎Mar 09, 2025
07:12 AM
Ok, but I thought your point was asserting there was no need to create a file. So where has that file come from in the process you're now referring to. I'm not arguing with you: I'm simply trying to take in what you're proposing as an alternative--for my sake and for other readers.
Or, again, am I missing something? That can happen especially on a phone as I am, though I try hard to avoid it.
... View more
‎Mar 09, 2025
06:53 AM
To be clear, you installed the lockdown TOOL, which is what caused your trouble. The lockdown GUIDE would walk you through doing the process manually.
Sadly, since the introduction of that tool with cf2018, the guide was modified to mostly presume you were also using the tool. Some content was removed as seeming therefore to be redundant. But not everyone wants to (or should) run the tool.
As bkbk noted, the docs for the TOOL may be better for solving problems using it. Honestly, I tell anyone running it to be sure to have a backup or VM snapshot before running the tool. It is so invasive that some even find the locked-down configuration too difficult to work with. (There's always a tension between security and convenience/familiarity.) Ande while the tool has an uninstall feature, sometimes it fails to revert things entirely.
Have you tried it yet? Or maybe you did such a manual reversion of a backup or snapshot (good for you anticipating that need), and now you just want to do lockdown by hand.
The lockdown guides bkbk pointed to will be your best current resource. You may want to also checkout the cf2016 version of the guide to supplement it. It and other versions are here:
https://cfdocs.org/security
... View more
‎Mar 09, 2025
06:36 AM
While we await his reply, I'll note that the error log does say it was NOT running the production profile, as Larry proposed. It will be interesting to hear which it was.
BTW, Larry, the "remote admin" referred to is not about "RDP" but about an option offered during the CF install process (on its "servlets" page, along with solr and pdfg), which if enabled get implemented in the cf add-on service (the "jetty" mentioned there). It's a feature which primarily allows start/stop of cf from CFBuilder, so not desired or needed in the prod profile. Not critical to know, but just thought you or future readers might appreciate the clarification.
... View more
‎Mar 09, 2025
06:18 AM
Bkbk, can you clarify your last comment? Your code fragments seem to show a before and after...but both show using a tempDataFile.cfm. That doesn't exist in any other code in this thread (that I can find). Where did that come from?
You're not saying he can "just do a cfoutput in a cfsavecontent to execute the cfml coming in as a variable", as his original examples tried to do, are you? Again that doesn't work, which started the whole discussion.
Or have I missed something? Again, if there's a solution that reliably runs such "cfml in a variable" without writing to a file, I welcome seeing it.
BTW, someone may want to recommend writing to a RAM:// path, using cf's virtual file system (vfs) feature instead. I didn't propose that because a) it can be disabled and b) you can't reference that ram:// protocol in a cfinclude just like you can't provide a physical drive path. But sure, one could create a mapping (admin or app level), defining a /map alias that maps to ram://. Again, I didn't want to presume Paul or future readers would or could do that, but it's certainly an option.
... View more
‎Mar 09, 2025
05:54 AM
Kazu, while Paul's "4 lines" didn't indicate deleting the file, my code he was responding to did. Perhaps he simply was focused on how little was needed to get to his resolution.
As for the "cost", I saw no way to avoid writing a file. (As for your alternative, while it was interesting it did not process the code that Paul's original post showed. You'd modified it to have escaped pound signs. I was just trying to offer a solution that would simply work with such code as-is.
I didn't know if there may be other facets of incoming cfml that might need special handling with your approach.. Do you? Have you had good luck with all code you've processed that way? And did you have something to also auto convert his incoming code to look like yours, or am I missing or misunderstanding something?
Since Paul accepted my approach as the solution for his need, I suspected he felt the same. Other workable solutions are welcomed, of course.
Amd while mine has the unfortunate side effect of having to write a file, the "cost" should be inconsequential in low-load scenarios. Testing or time will confirm for Paul.)
... View more
‎Mar 08, 2025
03:41 PM
Great to hear, and glad to have helped.
As bkbk said (and I hinted at in my original reply), this sort of dynamic code can seem compelling but comes at a cost. For now, I've helped you hitch your wagon to get back on the trail, and I do wish you well in the journey. But at some point you'll want to move up to some more reliable transportation. 🙂
Finally, thanks for marking the reply as an answer. That can really help future readers.
... View more
‎Mar 07, 2025
10:33 PM
Ah, ok. I understand your need now. You want to be able to dynamically execute the CFML which is held in the database column. Sorry, I didn't connect that dot (since your original post referred to cfsavecontent, and it used a "vdata" variable you'd not defined for us). I gather now that's the name of the variable holding the "cfml" that you obtained from the database record. Is that right?
So first, putting that inside a cfsavecontent and using cfoutput around it was not going to execute that CFML. And some people might propose that the CFML "evaluate" function could be used for this, but no: that doesn't evaluate CFML but rather only CFML expressions. It would fail on trying to render the cfoutput within the a href tag, etc. within your opening code fragment.
As i said originally, many will argue against trying to support such dynamic data--partly because it's hard to execute. But it can be done. One way is to write that CFML (that vdata variable of yours) to a file and then CFINCLUDE that file (and then delete it). I offer here an example that demonstrates it, with comments to address some subtleties about it. (and of course it could be done in cfscript for those who prefer that. I stuck with tags as Paul shows using them):
<!---
- First, simulate a query with a column that holds cfml to be executed later.
- Because that column's content is placed here, the pound signs must be escaped.
- That would not be needed for a real db record being read in via cfquery, etc.
--->
<cfset codeQ=querynew([{vdata:"<cfset name='bob'>This is formatted output:
<b><cfoutput>##name##</cfoutput></b>"}])>
<cfdump var="#codeQ#">
<!--- create a temp file name and its path (need them separate, for later)--->
<cfset tempfilename="savedcode#createuuid()#.cfm">
<cfset tempfile=expandpath(tempfilename)>
<!--- write the code from the query column into the temp file, using full path --->
<cffile action="write" output="#codeQ.vdata#" file="#tempfile#" >
<!--- include the file just written, noting that it does not allow full path--->
This shows the resulting evaluated CFML/HTML to be rendered on-screen:<br>
<cfinclude template="#tempfilename#">
<!--- this causes the resulting evaluated CFML/HTML to be sent in an email --->
<cfmail to="whoever" from="whoever" subject="whatever" server="wherever">
<cfinclude template="#tempfilename#">
</cfmail>
<!--- delete the temp file after use, after waiting a second for CF to release its hold--->
<cfset sleep(1000)>
<cffile action="delete" file="#tempfile#" >
Let us know if that might help get you going. Or perhaps my comment may spark ideas from others.
... View more
‎Mar 07, 2025
06:56 AM
@domeniko_86 can you please let us know how things turned out? Were you able to resolve things with either of the first two suggested solutions?
... View more
‎Mar 06, 2025
07:26 PM
To be clear, the variables SHOULD be resolved...and that's done WITHIN the cfsavecontent which is saved to the variable. So if you output that variable AFTER the the cfsavecontent and somehow do NOT see the variables having been resolved, there's something very unusual going on.
As for that (2010) SO post you shared, I don't see things happening as they propose. For instance, if you create another file with this code, calling it test.cfm:
<cfparam name="url.test" default="somevar">
<cfsavecontent variable="somevar">
<cfoutput>#now()# and #url.test#</cfoutput>
</cfsavecontent>
<cfoutput>#somevar#</cfoutput>
And you call it with test.cfm?test=someothervar, you should see it output the time then and that "othervar" value. It definitely does evaluate the variable at the time the cfsavecontent is run.
Whatever you're experiencing, it's going to have some explanation that we have yet to discern. But yep, keep trying the things I'm proposing as tests, to help us find if the issue is somehow about the setup on your end. Right now, I cna't fahom what it will be.
... View more
‎Mar 06, 2025
05:41 PM
Sorry, I was distracted when I wrote that last reply. So you're saying you output the emailbody variable right after the cfsavecontent, the values within are not resolved? They should be...and you're finding that they are not resolved? What if you run this simple example, in whatever cf template you want to:
<cfsavecontent variable="emailbody">
<cfoutput>#now()#</cfoutput>
</cfsavecontent>
<cfoutput>#emailbody#</cfoutput>
That should show the current date and time. Does it? If so, then slip it into that code you started with, replacing your cfsavecontent. Does it show the date/time then? And if it does, what if you do a cfmail sending that variable?
... View more
‎Mar 06, 2025
03:18 PM
I didn't suggest that. Please re-read carefully. And I offered a couple of suggestions.
... View more
‎Mar 06, 2025
11:35 AM
Update to my original comment, for future readers of this thread: skip to my new reply thread here a couple days later, where I came to better understand the problem. (I leave the rest here and the back and forth which follows, for the sake of context.) Or of course see other reply threads here, from others. I just am referring to the replies between Paul and me the first day about this first reply of mine.
Focus first on outputting the value right after the cfsavecontent. Is it correct then? If so, it would not become incorrect simply because the same variable result was put in a cfmail.
(And if you'd contend that you "can't output the variable there", log it instead with cflog.)
Some may propose also/instead that you put a cfoutput within the cfmail, but you have it already in the cfsavecontent. That's why I assert that if that same variable is passed to the cfmail, the cfml should already be evaluated. But if you try it and it works, something else was at play in your code.
Finally, some would want to discourage the approach of storing cfml code in a db, to then run dynamically. I'll leave that debate for them to contend with you. (That said, nothing in your code or the remaining discussion conveys where the db involvement is. It may or may not be significant.)
PS I'll change your title, as you said cfcontent when your clearly meant cfsavecontent.
... View more
‎Mar 05, 2025
10:00 PM
I've not worked with pm, but one thing to consider is that the docs indicate the case to be HtmlBody rather than your HTMLBody. It's worth a shot to change that. The docs mention recent tightening of the api.
Also, have you tried your vmailTxt variant? Besides the docs indicating how that's more forgiving than htmlbody, note also your code has its case correct (per the docs), as TextBody.
... View more
‎Mar 05, 2025
07:29 AM
Doug, that's certainly great news that you have resolved things. And I have marked your response as "the answer" for the thread.
That said, I am surprised to hear that you needed to do the steps of the offline manual install. That's addressed mainly to people whose CF server has no internet access. But the opening paragraph of your inital post here said, "I clicked on Download and Install, it looks like it downloaded the latest version to the server, according to the updates log, it downloaded Update 12, but the process didn't stop and restart the server."
And that is why we have focused ever since on what it was about the actual UPDATE process that was failing. Anyway, no need to relitigate/re-examine/appeal the case. 🙂 Your problem is solved. And perhaps your solution may help someone else in the future. I will just say that while anyone CAN do the manual steps outlined there, folks often prefer to do the update from the Admin...and the many things shared here addressed common reasons people find that not to work.
Now, on to your bigger fish to fry. 🙂
... View more
‎Mar 05, 2025
07:01 AM
First, I've seen it happen when someone had one of the cli tools open, like cfpm.
Second, I've seen it when someone had started cf from the command line.
Third, I've seen it when someone ran a previous cf update from the command line, where that update then started cf but NOT as a service.
There are still other possibilities.
So don't trust your observation of the services panel. Look instead at task manager, specifically the "details" tab, sorted by process name: are there any for coldfusion.exe? Are there any for java.exe? If you can't fathom what those could be (to stop them) , you could modify the list of columns in task manager to show the "command line". That might help you. Or of course you could just terminate the processes there (brute force, in desperation).
Finally, someone may want to add how it's possible to find what processes are holding a file or folder. The problem here is that what's held is not always obvious from the errors in the cf update log...or those are reporting the wrong info.
Let us know how things go.
... View more
‎Mar 04, 2025
06:36 AM
While you await a reply from @KARMA28699455uxq6, if their reply doesn't help you by itself then please clarify more about how your issue is the same. Theirs had some pretty specific implementation details that I'd be surprised were identical for you, and the differences may be important. 🙂
And it will almost certainly be different enough to warrant either a new topic in the forum or a new reply thread (reply to his original post, rather than this thread). Either could help readers feeling they must read every post to give proper context for this new one you'd add. Just a suggestion.
... View more
‎Mar 03, 2025
12:15 PM
Very glad to hear both that it's resolved and how you diagnosed/resolved it. Thanks.
What you've shared could help others here if they're running Linux, and specifically selinux.
FWIW, when I offered in Nov that it might have been instead that "known issue" of dsn verification failure from the Oct CF update's technote, sadly that doc didn't clarify if the connection failure would look like the "timed out" error you got, so it was just a guess if it might help you. Hope it may still help others, who may find this thread, if they don't share your specific issue.
Still for now I have marked your comment as "the answer", as it does address your specific issue. 🙂
... View more
‎Feb 28, 2025
02:40 PM
All I did was point out THAT he had already answered that, and kindly offered you the link. Since that's in another thread where you have NOT replied, I was in fact being polite in that response.
... View more
‎Feb 28, 2025
01:14 PM
Bkbk, would you PLEASE give attention to the other thread of replies in this post. Again, Doug has already addressed your question. I'll help you out by offering a link to right where he'd answered that. But I hope you'll please consider the rest of the thread (below and above that) to give context, and to save you making recommendation that have already been made. Of course, any different perspective on such things is welcomed.
https://community.adobe.com/t5/coldfusion-discussions/cf2023-package-manager/m-p/15183931#M200192
... View more
‎Feb 28, 2025
10:31 AM
1 Upvote
It would seem that despite your thinking you'd stopped cf, something still had a hold on files in that cf23 folder.
I'll say again, if you just want to get it done, I'm confident we could do that in as little as 15 mins. I've seen and solved pretty much every update problem people have had. It would be far more effective than constant back and forth over days here. Your call, of course. You or I could then report back here what the resolution was, for those curious.
Otherwise let us know if what I shared at the opening of this comment helps or if you learn something new.
... View more
‎Feb 28, 2025
08:10 AM
1 Upvote
"Give"? Or "find"?
Anyway, I've never heard of there being one. Is it that those exist for other certs, so you just want to know if one exists for the cf cert? Unless it's something new, I don't think there is one, but I could be wrong.
But note that the cf cert program includes extensive training (hours of videos) and is a open book exam. Don't stress about it. If one undertakes all the training they'll pass. It's not like exams where they're trying to trick you or test arcane/tedious matters.
... View more
‎Feb 28, 2025
08:02 AM
How did things go? Or did you push the attempt back for yet another night or the weekend?
... View more
‎Feb 28, 2025
08:00 AM
Bkbk, he'd said already (more than once) that he'd done that and it didn't work. See other discussions for attempts to solve the problem he's having.
... View more
‎Feb 27, 2025
10:39 PM
When you say, "I added myself to the service", do you mean you added your account (that you're logging in as) to the SSE tool, to control the cf service?
If so, i had said instead specifically, 'And as you may know it's not about what account YOU are running but the account running the service (you do imply you're running cf as a service)".
So, what user is listed as the "run as" user for the cf service? It's the last column in the display of services. Add THAT user, and try again.
Or punt and run the cfpm update all from the cli (as admin), found in the cfusion/bin folder.
... View more