RE: issue with cfhttp and client certificates
Russ, Would changing the sys property for unsafe renegotiation allow the JVM to proceed if this was this issue? -Mark (I'm thinking of this arg -Dsun.security.ssl.allowUnsafeRenegotiation=true ) -Original Message- From: Russ Michaels [mailto:r...@michaels.me.uk] Sent: Thursday, July 25, 2013 6:25 PM To: cf-talk Subject: Re: issue with cfhttp and client certificates it should be noted that the minimum requirement for certs now is 2048bit, it is not even possible to generate a cert with less than this with most CSA's, so perhaps this is the issue, maybe 1024 is not even supported by java now. On Thu, Jul 25, 2013 at 11:52 PM, Jeff Garza j...@garzasixpack.com wrote: The .pfx is a RSA 1024 bit key. Nothing out of the usual. And this exact key worked just fine in a default install of CF9. -- Jeff Original Message From: Jon Clausen jon_clau...@silowebworks.com Sent: Thursday, July 25, 2013 3:29 PM To: cf-talk cf-talk@houseoffusion.com Subject: Re: issue with cfhttp and client certificates Long shot, but what is the key length on the encryption? Could it be an issue with the encryption capabilities currently set on the new JVM for CF10? Explanation: http://www.petefreitag.com/item/803.cfm On Jul 25, 2013, at 4:44 PM, Jeff Garza j...@garzasixpack.com wrote: Mark, On the CF9 Server we're at Java version 1.6.0_17 and the arguments from the CFAdmin look like the following: -server -Dsun.io.useCanonCaches=false -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.rootDir={application.home}/../ -Dcoldfusion.libPath={application.home}/../lib -Dcoldfusion.spooltimeout=120. On the CF10 server it's at Java version 1.7.0_15 and the args are: -server -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.home={application.home} -Dcoldfusion.rootDir={application.home} -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random -Dcoldfusion.spooltimeout=120 Though, based on the error, I don't think this is a handshake issue. It looks like an issue where the JVM can't even open the certificate file to pass the public key on to the server. Which is why this is so strange that CF9 with the older JVM would be able to do it, but the new one can't. --Jeff Original Message From: Mark A Kruger mkru...@cfwebtools.com Sent: Thursday, July 25, 2013 1:25 PM To: cf-talk cf-talk@houseoffusion.com Subject: RE: issue with cfhttp and client certificates Jeff, What JVM version are you using on CF9 and what do the args look like? Sometimes it's a matter of the handshake and levels of TLS/SSL - the error may be not specific enough to tell. You can enable logging to get a grip on it though. That would tell you more. -Mark -Original Message- From: Jeff Garza [mailto:j...@garzasixpack.com] Sent: Thursday, July 25, 2013 12:25 PM To: cf-talk Subject: issue with cfhttp and client certificates Ok, so here's the issue. A process that was working just fine on CF9 is now broken on CF10. We have a service that we call that requires us to submit a client certificate to the server. In CF9, this worked just fine. Use the clientcert and clientcertpass attributes of CFHTTP and you're good to go. It reads the .pfx file fine and everything runs... This is not a cacerts issue as you do not have to have the key in the keystore to use it. Forward to CF10, the exact same code and certificates now gives the error: Error while trying to get the SSL client certificate: java.security.UnrecoverableKeyException: Could not decrypt key: Could not decode key from BER. (Invalid encoding: expected tag not there. ). It's like it's unable to open the .pfx certificate file. I know this is a long shot since there are not many folks out there using client certs, but has anyone else run across this issue? Thanks, Jeff Garza ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:356326 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: issue with cfhttp and client certificates
sorry no idea never tried, you would have to try it and see :-) On Fri, Jul 26, 2013 at 3:16 PM, Mark A Kruger mkru...@cfwebtools.comwrote: Russ, Would changing the sys property for unsafe renegotiation allow the JVM to proceed if this was this issue? -Mark (I'm thinking of this arg -Dsun.security.ssl.allowUnsafeRenegotiation=true ) -Original Message- From: Russ Michaels [mailto:r...@michaels.me.uk] Sent: Thursday, July 25, 2013 6:25 PM To: cf-talk Subject: Re: issue with cfhttp and client certificates it should be noted that the minimum requirement for certs now is 2048bit, it is not even possible to generate a cert with less than this with most CSA's, so perhaps this is the issue, maybe 1024 is not even supported by java now. On Thu, Jul 25, 2013 at 11:52 PM, Jeff Garza j...@garzasixpack.com wrote: The .pfx is a RSA 1024 bit key. Nothing out of the usual. And this exact key worked just fine in a default install of CF9. -- Jeff Original Message From: Jon Clausen jon_clau...@silowebworks.com Sent: Thursday, July 25, 2013 3:29 PM To: cf-talk cf-talk@houseoffusion.com Subject: Re: issue with cfhttp and client certificates Long shot, but what is the key length on the encryption? Could it be an issue with the encryption capabilities currently set on the new JVM for CF10? Explanation: http://www.petefreitag.com/item/803.cfm On Jul 25, 2013, at 4:44 PM, Jeff Garza j...@garzasixpack.com wrote: Mark, On the CF9 Server we're at Java version 1.6.0_17 and the arguments from the CFAdmin look like the following: -server -Dsun.io.useCanonCaches=false -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.rootDir={application.home}/../ -Dcoldfusion.libPath={application.home}/../lib -Dcoldfusion.spooltimeout=120. On the CF10 server it's at Java version 1.7.0_15 and the args are: -server -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.home={application.home} -Dcoldfusion.rootDir={application.home} -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random -Dcoldfusion.spooltimeout=120 Though, based on the error, I don't think this is a handshake issue. It looks like an issue where the JVM can't even open the certificate file to pass the public key on to the server. Which is why this is so strange that CF9 with the older JVM would be able to do it, but the new one can't. --Jeff Original Message From: Mark A Kruger mkru...@cfwebtools.com Sent: Thursday, July 25, 2013 1:25 PM To: cf-talk cf-talk@houseoffusion.com Subject: RE: issue with cfhttp and client certificates Jeff, What JVM version are you using on CF9 and what do the args look like? Sometimes it's a matter of the handshake and levels of TLS/SSL - the error may be not specific enough to tell. You can enable logging to get a grip on it though. That would tell you more. -Mark -Original Message- From: Jeff Garza [mailto:j...@garzasixpack.com] Sent: Thursday, July 25, 2013 12:25 PM To: cf-talk Subject: issue with cfhttp and client certificates Ok, so here's the issue. A process that was working just fine on CF9 is now broken on CF10. We have a service that we call that requires us to submit a client certificate to the server. In CF9, this worked just fine. Use the clientcert and clientcertpass attributes of CFHTTP and you're good to go. It reads the .pfx file fine and everything runs... This is not a cacerts issue as you do not have to have the key in the keystore to use it. Forward to CF10, the exact same code and certificates now gives the error: Error while trying to get the SSL client certificate: java.security.UnrecoverableKeyException: Could not decrypt key: Could not decode key from BER. (Invalid encoding: expected tag not there. ). It's like it's unable to open the .pfx certificate file. I know this is a long shot since there are not many folks out there using client certs, but has anyone else run across this issue? Thanks, Jeff Garza ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:356327 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: issue with cfhttp and client certificates
Well, I've hinted at it as a possible solution a couple times but I lack confidence (ha). Jeff - give it a shot. It's easy and you never know. -Mark -Original Message- From: Russ Michaels [mailto:r...@michaels.me.uk] Sent: Friday, July 26, 2013 9:18 AM To: cf-talk Subject: Re: issue with cfhttp and client certificates sorry no idea never tried, you would have to try it and see :-) On Fri, Jul 26, 2013 at 3:16 PM, Mark A Kruger mkru...@cfwebtools.comwrote: Russ, Would changing the sys property for unsafe renegotiation allow the JVM to proceed if this was this issue? -Mark (I'm thinking of this arg -Dsun.security.ssl.allowUnsafeRenegotiation=true ) -Original Message- From: Russ Michaels [mailto:r...@michaels.me.uk] Sent: Thursday, July 25, 2013 6:25 PM To: cf-talk Subject: Re: issue with cfhttp and client certificates it should be noted that the minimum requirement for certs now is 2048bit, it is not even possible to generate a cert with less than this with most CSA's, so perhaps this is the issue, maybe 1024 is not even supported by java now. On Thu, Jul 25, 2013 at 11:52 PM, Jeff Garza j...@garzasixpack.com wrote: The .pfx is a RSA 1024 bit key. Nothing out of the usual. And this exact key worked just fine in a default install of CF9. -- Jeff Original Message From: Jon Clausen jon_clau...@silowebworks.com Sent: Thursday, July 25, 2013 3:29 PM To: cf-talk cf-talk@houseoffusion.com Subject: Re: issue with cfhttp and client certificates Long shot, but what is the key length on the encryption? Could it be an issue with the encryption capabilities currently set on the new JVM for CF10? Explanation: http://www.petefreitag.com/item/803.cfm On Jul 25, 2013, at 4:44 PM, Jeff Garza j...@garzasixpack.com wrote: Mark, On the CF9 Server we're at Java version 1.6.0_17 and the arguments from the CFAdmin look like the following: -server -Dsun.io.useCanonCaches=false -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.rootDir={application.home}/../ -Dcoldfusion.libPath={application.home}/../lib -Dcoldfusion.spooltimeout=120. On the CF10 server it's at Java version 1.7.0_15 and the args are: -server -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.home={application.home} -Dcoldfusion.rootDir={application.home} -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random -Dcoldfusion.spooltimeout=120 Though, based on the error, I don't think this is a handshake issue. It looks like an issue where the JVM can't even open the certificate file to pass the public key on to the server. Which is why this is so strange that CF9 with the older JVM would be able to do it, but the new one can't. --Jeff Original Message From: Mark A Kruger mkru...@cfwebtools.com Sent: Thursday, July 25, 2013 1:25 PM To: cf-talk cf-talk@houseoffusion.com Subject: RE: issue with cfhttp and client certificates Jeff, What JVM version are you using on CF9 and what do the args look like? Sometimes it's a matter of the handshake and levels of TLS/SSL - the error may be not specific enough to tell. You can enable logging to get a grip on it though. That would tell you more. -Mark -Original Message- From: Jeff Garza [mailto:j...@garzasixpack.com] Sent: Thursday, July 25, 2013 12:25 PM To: cf-talk Subject: issue with cfhttp and client certificates Ok, so here's the issue. A process that was working just fine on CF9 is now broken on CF10. We have a service that we call that requires us to submit a client certificate to the server. In CF9, this worked just fine. Use the clientcert and clientcertpass attributes of CFHTTP and you're good to go. It reads the .pfx file fine and everything runs... This is not a cacerts issue as you do not have to have the key in the keystore to use it. Forward to CF10, the exact same code and certificates now gives the error: Error while trying to get the SSL client certificate: java.security.UnrecoverableKeyException: Could not decrypt key: Could not decode key from BER. (Invalid encoding: expected tag not there. ). It's like it's unable to open the .pfx certificate file. I know this is a long shot since there are not many folks out there using client certs, but has anyone else run across this issue? Thanks, Jeff Garza ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive:
cfthread execution slowdown
I need another set of eyeballs on this. I can't see what I'm doing wrong. I'm building many thousands of static pages. I turned to cfthread to speed things up. Each thread can output one page or more than one depending on info retrieved. I use an array to manage the number of threads in use at any one time. It works great, but I am seeing CF slow down - in fixed stages - throughout the life of the process. Take a look at this image taken from FusionReactor to see what I mean: http://205.210.189.205/images/screenshot081.jpg Its not a curve but rather three distinct stages of output. Stage 1 is about 2900 pages per minute, Stage 2 is around 2400 and Stage 3 - where the routine stabilizes - is about 1200. On a second server building differently-composed pages, I see exactly the same thing. CF isn't bogging down from load... its flat out not working as hard. Its as if it decided it didn't want to work as hard, so it eases off. Never seen anything like it. Here's the code in a nutshell. Can anyone see something I am doing that is causing this work slowdown? cfset variables.threadArray=arrayNew(1) cfset variables.threadCount=4 cfquery name=getData datasource=#variables.dsn# [sql goes here] /cfquery cfset variables.loopCounter=0 cfloop condition=variables.loopCounter LT getData.recordCount cfset variables.threadsLive=arrayLen(variables.threadArray) cfif variables.threadsLive lt variables.threadCount cfset variables.loopCounter=variables.loopCounter+1 cfset variables.thisThreadID=createUUID() cfset temp=arrayAppend(variables.threadArray,variables.thisThreadID) cfthread name=#variables.thisThreadID# action=run !--- cfhttp pulls local CF pages and stores as html, queries determine if child pages need building etc. --- cfset temp=arrayDeleteAt(variables.threadArray,arrayFindNoCase(variables.threadArray,variables.thisThreadID)) /cfthread !--- may or may not do a cfthread join if I want to retrieve variables from inside of the thread --- /cfif /cfloop -- --m@Robertson-- Janitor, The Robertson Team mysecretbase.com ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:356329 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: cfthread execution slowdown
are the requests taking any longer to run during the slowdown ? If so, I would look at your database as a possible culprit. Maybe you have exceeded the max number of database threads and that is causing queues on the database, or there may be some other bottleneck because the database is busy with some other activity for some other apps. I am guessing you are probably using MySQL, in which case take a look at JetProfiler. On Fri, Jul 26, 2013 at 5:40 PM, Money Pit websitema...@gmail.com wrote: I need another set of eyeballs on this. I can't see what I'm doing wrong. I'm building many thousands of static pages. I turned to cfthread to speed things up. Each thread can output one page or more than one depending on info retrieved. I use an array to manage the number of threads in use at any one time. It works great, but I am seeing CF slow down - in fixed stages - throughout the life of the process. Take a look at this image taken from FusionReactor to see what I mean: http://205.210.189.205/images/screenshot081.jpg Its not a curve but rather three distinct stages of output. Stage 1 is about 2900 pages per minute, Stage 2 is around 2400 and Stage 3 - where the routine stabilizes - is about 1200. On a second server building differently-composed pages, I see exactly the same thing. CF isn't bogging down from load... its flat out not working as hard. Its as if it decided it didn't want to work as hard, so it eases off. Never seen anything like it. Here's the code in a nutshell. Can anyone see something I am doing that is causing this work slowdown? cfset variables.threadArray=arrayNew(1) cfset variables.threadCount=4 cfquery name=getData datasource=#variables.dsn# [sql goes here] /cfquery cfset variables.loopCounter=0 cfloop condition=variables.loopCounter LT getData.recordCount cfset variables.threadsLive=arrayLen(variables.threadArray) cfif variables.threadsLive lt variables.threadCount cfset variables.loopCounter=variables.loopCounter+1 cfset variables.thisThreadID=createUUID() cfset temp=arrayAppend(variables.threadArray,variables.thisThreadID) cfthread name=#variables.thisThreadID# action=run !--- cfhttp pulls local CF pages and stores as html, queries determine if child pages need building etc. --- cfset temp=arrayDeleteAt(variables.threadArray,arrayFindNoCase(variables.threadArray,variables.thisThreadID)) /cfthread !--- may or may not do a cfthread join if I want to retrieve variables from inside of the thread --- /cfif /cfloop -- --m@Robertson-- Janitor, The Robertson Team mysecretbase.com ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:356330 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: cfthread execution slowdown
What I see is that the server load remains pretty consistent, it's the number of requests completed that is dropping. This could be an indication that the pages become more complex as the process continues, or it may indicate that the faster running threads are all completed leaving the longer running threads at the end. My suggestion would be to do some time monitoring on the loops. I think you'll find that the average completion time for each thread increases as the number of completed requests decreases. David Phelan Web Developer IT Security Web Technologies Emerging Health Montefiore Information Technology 3 Odell Plaza, Yonkers, NY 10701 914-457-6465 Office 862-234-9109 Cell dphe...@emerginghealthit.com www.emerginghealthit.com www.montefiore.org -Original Message- From: Money Pit [mailto:websitema...@gmail.com] Sent: Friday, July 26, 2013 12:41 PM To: cf-talk Subject: cfthread execution slowdown I need another set of eyeballs on this. I can't see what I'm doing wrong. I'm building many thousands of static pages. I turned to cfthread to speed things up. Each thread can output one page or more than one depending on info retrieved. I use an array to manage the number of threads in use at any one time. It works great, but I am seeing CF slow down - in fixed stages - throughout the life of the process. Take a look at this image taken from FusionReactor to see what I mean: http://205.210.189.205/images/screenshot081.jpg Its not a curve but rather three distinct stages of output. Stage 1 is about 2900 pages per minute, Stage 2 is around 2400 and Stage 3 - where the routine stabilizes - is about 1200. On a second server building differently-composed pages, I see exactly the same thing. CF isn't bogging down from load... its flat out not working as hard. Its as if it decided it didn't want to work as hard, so it eases off. Never seen anything like it. Here's the code in a nutshell. Can anyone see something I am doing that is causing this work slowdown? cfset variables.threadArray=arrayNew(1) cfset variables.threadCount=4 cfquery name=getData datasource=#variables.dsn# [sql goes here] /cfquery cfset variables.loopCounter=0 cfloop condition=variables.loopCounter LT getData.recordCount cfset variables.threadsLive=arrayLen(variables.threadArray) cfif variables.threadsLive lt variables.threadCount cfset variables.loopCounter=variables.loopCounter+1 cfset variables.thisThreadID=createUUID() cfset temp=arrayAppend(variables.threadArray,variables.thisThreadID) cfthread name=#variables.thisThreadID# action=run !--- cfhttp pulls local CF pages and stores as html, queries determine if child pages need building etc. --- cfset temp=arrayDeleteAt(variables.threadArray,arrayFindNoCase(variables.threadArray,variables.thisThreadID)) /cfthread !--- may or may not do a cfthread join if I want to retrieve variables from inside of the thread --- /cfif /cfloop -- --m@Robertson-- Janitor, The Robertson Team mysecretbase.com ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:356333 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: cfthread execution slowdown
Is this apache or IIS? -Original Message- From: Money Pit [mailto:websitema...@gmail.com] Sent: Friday, July 26, 2013 11:41 AM To: cf-talk Subject: cfthread execution slowdown I need another set of eyeballs on this. I can't see what I'm doing wrong. I'm building many thousands of static pages. I turned to cfthread to speed things up. Each thread can output one page or more than one depending on info retrieved. I use an array to manage the number of threads in use at any one time. It works great, but I am seeing CF slow down - in fixed stages - throughout the life of the process. Take a look at this image taken from FusionReactor to see what I mean: http://205.210.189.205/images/screenshot081.jpg Its not a curve but rather three distinct stages of output. Stage 1 is about 2900 pages per minute, Stage 2 is around 2400 and Stage 3 - where the routine stabilizes - is about 1200. On a second server building differently-composed pages, I see exactly the same thing. CF isn't bogging down from load... its flat out not working as hard. Its as if it decided it didn't want to work as hard, so it eases off. Never seen anything like it. Here's the code in a nutshell. Can anyone see something I am doing that is causing this work slowdown? cfset variables.threadArray=arrayNew(1) cfset variables.threadCount=4 cfquery name=getData datasource=#variables.dsn# [sql goes here] /cfquery cfset variables.loopCounter=0 cfloop condition=variables.loopCounter LT getData.recordCount cfset variables.threadsLive=arrayLen(variables.threadArray) cfif variables.threadsLive lt variables.threadCount cfset variables.loopCounter=variables.loopCounter+1 cfset variables.thisThreadID=createUUID() cfset temp=arrayAppend(variables.threadArray,variables.thisThreadID) cfthread name=#variables.thisThreadID# action=run !--- cfhttp pulls local CF pages and stores as html, queries determine if child pages need building etc. --- cfset temp=arrayDeleteAt(variables.threadArray,arrayFindNoCase(variables.threadArr ay,variables.thisThreadID)) /cfthread !--- may or may not do a cfthread join if I want to retrieve variables from inside of the thread --- /cfif /cfloop -- --m@Robertson-- Janitor, The Robertson Team mysecretbase.com ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:356334 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
FusionReactor log archive stopped working
We have MANY servers all running the exact same setup All with fusion reactor installed. All of the FR logging and log archive settings are identical but one of them stopped archiving the logs for some reason. Instead of archiving, it just grows the active log file forever. Since it only purges archived logs, drive space is an issue. I tried to trigger the archival manually in FR Log Archive UI. It claimed success but showed 0mb for the archive sizes and the archive directory remains empty. I then set the log rotation to every 1 minute and watched the Log Archive UI do the same thing automatically every 1 minute Archives aren't created and live log files continue to grow. Anyone else seen this? ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:356335 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm