You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Daniel Kulp <dk...@apache.org> on 2012/11/20 03:21:41 UTC
Re: svn commit: r1411506 - /cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
Umm… don't use anything from sun.* packages. You can use org.apache.cxf.common.util.SystemPropertyAction if that works.
Dan
On Nov 19, 2012, at 8:56 PM, ffang@apache.org wrote:
> Author: ffang
> Date: Tue Nov 20 01:56:17 2012
> New Revision: 1411506
>
> URL: http://svn.apache.org/viewvc?rev=1411506&view=rev
> Log:
> [CXF-4482]get line.separator system property ensure CR/LF works across platforms
>
> Modified:
> cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>
> Modified: cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java?rev=1411506&r1=1411505&r2=1411506&view=diff
> ==============================================================================
> --- cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java (original)
> +++ cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java Tue Nov 20 01:56:17 2012
> @@ -153,7 +153,9 @@ public class AttachmentSerializer {
> encoding = "UTF-8";
> }
> StringWriter writer = new StringWriter();
> - writer.write("\n");
> + String lineSeparator = java.security.AccessController.doPrivileged(
> + new sun.security.action.GetPropertyAction("line.separator"));
> + writer.write(lineSeparator);
> writer.write("--");
> writer.write(bodyBoundary);
>
>
>
--
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com
Re: svn commit: r1411506 - /cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
Posted by Daniel Kulp <dk...@apache.org>.
On Nov 19, 2012, at 10:02 PM, Freeman Fang <fr...@gmail.com> wrote:
> Hi Dan,
>
> Did another commit using org.apache.cxf.common.util.SystemPropertyAction instead of sun.security.action.GetPropertyAction.
>
> And IMO different platform interpret CRLF with different way, on windows, it need "\r\n", and on unix/linux, it just need "\n", and system property line.separator exactly can do this job.
No, this is NOT ok. This is a generated message going TO a .NET service. But we don't know where this message is going. The current platform that CXF is running on has no impact on what the other side of the wire will accept. With this change, a windows client will work against a .NET service, but a Unix one won't… I'm certainly not OK with that.
Dan
>
> Please let me know if it's OK.
> Thanks
> -------------
> Freeman(Yue) Fang
>
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> Web: http://fusesource.com | http://www.redhat.com/
> Twitter: freemanfang
> Blog: http://freemanfang.blogspot.com
> http://blog.sina.com.cn/u/1473905042
> weibo: http://weibo.com/u/1473905042
>
> On 2012-11-20, at 上午10:40, Freeman Fang wrote:
>
>> Hi Dan,
>>
>> But if on unix/linux platform, if we have "\r\n", it interpret as two new line, which can cause some service providers can't handle the request, I think what we want should be a "new line" here, so use system property line.separator should be OK, please see the initial description from CXF-4482[1].
>>
>> Btw, seems any jira update can't send out mail notification now.
>>
>> [1]https://issues.apache.org/jira/browse/CXF-4482
>>
>>
>> Freeman
>> -------------
>> Freeman(Yue) Fang
>>
>> Red Hat, Inc.
>> FuseSource is now part of Red Hat
>> Web: http://fusesource.com | http://www.redhat.com/
>> Twitter: freemanfang
>> Blog: http://freemanfang.blogspot.com
>> http://blog.sina.com.cn/u/1473905042
>> weibo: http://weibo.com/u/1473905042
>>
>> On 2012-11-20, at 上午10:31, Daniel Kulp wrote:
>>
>>>
>>> Actually, more importantly, this makes the payload different depending on if its from Unix or Windows. According to the mid spec:
>>>
>>> http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
>>>
>>> (section 7.2.1)
>>>
>>> it should always be a CRLF, so the code would be updated to always use that for the attachment boundaries.
>>>
>>> Dan
>>>
>>>
>>>
>>> On Nov 19, 2012, at 9:21 PM, Daniel Kulp <dk...@apache.org> wrote:
>>>
>>>>
>>>> Umm… don't use anything from sun.* packages. You can use org.apache.cxf.common.util.SystemPropertyAction if that works.
>>>>
>>>>
>>>> Dan
>>>>
>>>>
>>>>
>>>> On Nov 19, 2012, at 8:56 PM, ffang@apache.org wrote:
>>>>
>>>>> Author: ffang
>>>>> Date: Tue Nov 20 01:56:17 2012
>>>>> New Revision: 1411506
>>>>>
>>>>> URL: http://svn.apache.org/viewvc?rev=1411506&view=rev
>>>>> Log:
>>>>> [CXF-4482]get line.separator system property ensure CR/LF works across platforms
>>>>>
>>>>> Modified:
>>>>> cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>>>
>>>>> Modified: cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java?rev=1411506&r1=1411505&r2=1411506&view=diff
>>>>> ==============================================================================
>>>>> --- cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java (original)
>>>>> +++ cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java Tue Nov 20 01:56:17 2012
>>>>> @@ -153,7 +153,9 @@ public class AttachmentSerializer {
>>>>> encoding = "UTF-8";
>>>>> }
>>>>> StringWriter writer = new StringWriter();
>>>>> - writer.write("\n");
>>>>> + String lineSeparator = java.security.AccessController.doPrivileged(
>>>>> + new sun.security.action.GetPropertyAction("line.separator"));
>>>>> + writer.write(lineSeparator);
>>>>> writer.write("--");
>>>>> writer.write(bodyBoundary);
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> Daniel Kulp
>>>> dkulp@apache.org - http://dankulp.com/blog
>>>> Talend Community Coder - http://coders.talend.com
>>>>
>>>
>>> --
>>> Daniel Kulp
>>> dkulp@apache.org - http://dankulp.com/blog
>>> Talend Community Coder - http://coders.talend.com
>>>
>>
>
--
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com
Re: svn commit: r1411506 - /cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
Posted by Freeman Fang <fr...@gmail.com>.
Hi Dan,
Did another commit using org.apache.cxf.common.util.SystemPropertyAction instead of sun.security.action.GetPropertyAction.
And IMO different platform interpret CRLF with different way, on windows, it need "\r\n", and on unix/linux, it just need "\n", and system property line.separator exactly can do this job.
Please let me know if it's OK.
Thanks
-------------
Freeman(Yue) Fang
Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://fusesource.com | http://www.redhat.com/
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: http://weibo.com/u/1473905042
On 2012-11-20, at 上午10:40, Freeman Fang wrote:
> Hi Dan,
>
> But if on unix/linux platform, if we have "\r\n", it interpret as two new line, which can cause some service providers can't handle the request, I think what we want should be a "new line" here, so use system property line.separator should be OK, please see the initial description from CXF-4482[1].
>
> Btw, seems any jira update can't send out mail notification now.
>
> [1]https://issues.apache.org/jira/browse/CXF-4482
>
>
> Freeman
> -------------
> Freeman(Yue) Fang
>
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> Web: http://fusesource.com | http://www.redhat.com/
> Twitter: freemanfang
> Blog: http://freemanfang.blogspot.com
> http://blog.sina.com.cn/u/1473905042
> weibo: http://weibo.com/u/1473905042
>
> On 2012-11-20, at 上午10:31, Daniel Kulp wrote:
>
>>
>> Actually, more importantly, this makes the payload different depending on if its from Unix or Windows. According to the mid spec:
>>
>> http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
>>
>> (section 7.2.1)
>>
>> it should always be a CRLF, so the code would be updated to always use that for the attachment boundaries.
>>
>> Dan
>>
>>
>>
>> On Nov 19, 2012, at 9:21 PM, Daniel Kulp <dk...@apache.org> wrote:
>>
>>>
>>> Umm… don't use anything from sun.* packages. You can use org.apache.cxf.common.util.SystemPropertyAction if that works.
>>>
>>>
>>> Dan
>>>
>>>
>>>
>>> On Nov 19, 2012, at 8:56 PM, ffang@apache.org wrote:
>>>
>>>> Author: ffang
>>>> Date: Tue Nov 20 01:56:17 2012
>>>> New Revision: 1411506
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=1411506&view=rev
>>>> Log:
>>>> [CXF-4482]get line.separator system property ensure CR/LF works across platforms
>>>>
>>>> Modified:
>>>> cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>>
>>>> Modified: cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java?rev=1411506&r1=1411505&r2=1411506&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java (original)
>>>> +++ cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java Tue Nov 20 01:56:17 2012
>>>> @@ -153,7 +153,9 @@ public class AttachmentSerializer {
>>>> encoding = "UTF-8";
>>>> }
>>>> StringWriter writer = new StringWriter();
>>>> - writer.write("\n");
>>>> + String lineSeparator = java.security.AccessController.doPrivileged(
>>>> + new sun.security.action.GetPropertyAction("line.separator"));
>>>> + writer.write(lineSeparator);
>>>> writer.write("--");
>>>> writer.write(bodyBoundary);
>>>>
>>>>
>>>>
>>>
>>> --
>>> Daniel Kulp
>>> dkulp@apache.org - http://dankulp.com/blog
>>> Talend Community Coder - http://coders.talend.com
>>>
>>
>> --
>> Daniel Kulp
>> dkulp@apache.org - http://dankulp.com/blog
>> Talend Community Coder - http://coders.talend.com
>>
>
Re: svn commit: r1411506 - /cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
Posted by Sergey Beryozkin <sb...@gmail.com>.
On 20/11/12 09:42, Freeman Fang wrote:
> Thanks Sergey.
>
> Dan pointed out we actually needn't CR/LF here at all, please see my last comment in CXF-4482.
thanks, I've just seen that too...I guess I'd then only consider the
addition property if we had a case of the consumer failing to read
without the extra CR/LF, etc, and it can no be fixed, may be in cases
like that...
Cheers, Sergey
>
> -------------
> Freeman(Yue) Fang
>
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> Web: http://fusesource.com | http://www.redhat.com/
> Twitter: freemanfang
> Blog: http://freemanfang.blogspot.com
> http://blog.sina.com.cn/u/1473905042
> weibo: http://weibo.com/u/1473905042
>
> On 2012-11-20, at 下午5:33, Sergey Beryozkin wrote:
>
>> Hi
>> On 20/11/12 02:40, Freeman Fang wrote:
>>> Hi Dan,
>>>
>>> But if on unix/linux platform, if we have "\r\n", it interpret as two new line, which can cause some service providers can't handle the request, I think what we want should be a "new line" here, so use system property line.separator should be OK, please see the initial description from CXF-4482[1].
>>>
>> IMHO it has to be 'attachment.line.separator' (to support the legacy providers or the ones which can not handle CR/LF) contextual property, using system property just won't work because we can have Unix on one end, Win on the other end, or vice versa
>>
>> Sergey
>>
>>
>>> Btw, seems any jira update can't send out mail notification now.
>>>
>>> [1]https://issues.apache.org/jira/browse/CXF-4482
>>>
>>>
>>> Freeman
>>> -------------
>>> Freeman(Yue) Fang
>>>
>>> Red Hat, Inc.
>>> FuseSource is now part of Red Hat
>>> Web: http://fusesource.com | http://www.redhat.com/
>>> Twitter: freemanfang
>>> Blog: http://freemanfang.blogspot.com
>>> http://blog.sina.com.cn/u/1473905042
>>> weibo: http://weibo.com/u/1473905042
>>>
>>> On 2012-11-20, at 上午10:31, Daniel Kulp wrote:
>>>
>>>>
>>>> Actually, more importantly, this makes the payload different depending on if its from Unix or Windows. According to the mid spec:
>>>>
>>>> http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
>>>>
>>>> (section 7.2.1)
>>>>
>>>> it should always be a CRLF, so the code would be updated to always use that for the attachment boundaries.
>>>>
>>>> Dan
>>>>
>>>>
>>>>
>>>> On Nov 19, 2012, at 9:21 PM, Daniel Kulp<dk...@apache.org> wrote:
>>>>
>>>>>
>>>>> Umm… don't use anything from sun.* packages. You can use org.apache.cxf.common.util.SystemPropertyAction if that works.
>>>>>
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>>
>>>>> On Nov 19, 2012, at 8:56 PM, ffang@apache.org wrote:
>>>>>
>>>>>> Author: ffang
>>>>>> Date: Tue Nov 20 01:56:17 2012
>>>>>> New Revision: 1411506
>>>>>>
>>>>>> URL: http://svn.apache.org/viewvc?rev=1411506&view=rev
>>>>>> Log:
>>>>>> [CXF-4482]get line.separator system property ensure CR/LF works across platforms
>>>>>>
>>>>>> Modified:
>>>>>> cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>>>>
>>>>>> Modified: cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java?rev=1411506&r1=1411505&r2=1411506&view=diff
>>>>>> ==============================================================================
>>>>>> --- cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java (original)
>>>>>> +++ cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java Tue Nov 20 01:56:17 2012
>>>>>> @@ -153,7 +153,9 @@ public class AttachmentSerializer {
>>>>>> encoding = "UTF-8";
>>>>>> }
>>>>>> StringWriter writer = new StringWriter();
>>>>>> - writer.write("\n");
>>>>>> + String lineSeparator = java.security.AccessController.doPrivileged(
>>>>>> + new sun.security.action.GetPropertyAction("line.separator"));
>>>>>> + writer.write(lineSeparator);
>>>>>> writer.write("--");
>>>>>> writer.write(bodyBoundary);
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Daniel Kulp
>>>>> dkulp@apache.org - http://dankulp.com/blog
>>>>> Talend Community Coder - http://coders.talend.com
>>>>>
>>>>
>>>> --
>>>> Daniel Kulp
>>>> dkulp@apache.org - http://dankulp.com/blog
>>>> Talend Community Coder - http://coders.talend.com
>>>>
>>>
>>>
>>
>>
>> --
>> Sergey Beryozkin
>>
>> Talend Community Coders
>> http://coders.talend.com/
>>
>> Blog: http://sberyozkin.blogspot.com
>
>
Re: svn commit: r1411506 - /cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
Posted by Freeman Fang <fr...@gmail.com>.
Thanks Sergey.
Dan pointed out we actually needn't CR/LF here at all, please see my last comment in CXF-4482.
-------------
Freeman(Yue) Fang
Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://fusesource.com | http://www.redhat.com/
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: http://weibo.com/u/1473905042
On 2012-11-20, at 下午5:33, Sergey Beryozkin wrote:
> Hi
> On 20/11/12 02:40, Freeman Fang wrote:
>> Hi Dan,
>>
>> But if on unix/linux platform, if we have "\r\n", it interpret as two new line, which can cause some service providers can't handle the request, I think what we want should be a "new line" here, so use system property line.separator should be OK, please see the initial description from CXF-4482[1].
>>
> IMHO it has to be 'attachment.line.separator' (to support the legacy providers or the ones which can not handle CR/LF) contextual property, using system property just won't work because we can have Unix on one end, Win on the other end, or vice versa
>
> Sergey
>
>
>> Btw, seems any jira update can't send out mail notification now.
>>
>> [1]https://issues.apache.org/jira/browse/CXF-4482
>>
>>
>> Freeman
>> -------------
>> Freeman(Yue) Fang
>>
>> Red Hat, Inc.
>> FuseSource is now part of Red Hat
>> Web: http://fusesource.com | http://www.redhat.com/
>> Twitter: freemanfang
>> Blog: http://freemanfang.blogspot.com
>> http://blog.sina.com.cn/u/1473905042
>> weibo: http://weibo.com/u/1473905042
>>
>> On 2012-11-20, at 上午10:31, Daniel Kulp wrote:
>>
>>>
>>> Actually, more importantly, this makes the payload different depending on if its from Unix or Windows. According to the mid spec:
>>>
>>> http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
>>>
>>> (section 7.2.1)
>>>
>>> it should always be a CRLF, so the code would be updated to always use that for the attachment boundaries.
>>>
>>> Dan
>>>
>>>
>>>
>>> On Nov 19, 2012, at 9:21 PM, Daniel Kulp<dk...@apache.org> wrote:
>>>
>>>>
>>>> Umm… don't use anything from sun.* packages. You can use org.apache.cxf.common.util.SystemPropertyAction if that works.
>>>>
>>>>
>>>> Dan
>>>>
>>>>
>>>>
>>>> On Nov 19, 2012, at 8:56 PM, ffang@apache.org wrote:
>>>>
>>>>> Author: ffang
>>>>> Date: Tue Nov 20 01:56:17 2012
>>>>> New Revision: 1411506
>>>>>
>>>>> URL: http://svn.apache.org/viewvc?rev=1411506&view=rev
>>>>> Log:
>>>>> [CXF-4482]get line.separator system property ensure CR/LF works across platforms
>>>>>
>>>>> Modified:
>>>>> cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>>>
>>>>> Modified: cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java?rev=1411506&r1=1411505&r2=1411506&view=diff
>>>>> ==============================================================================
>>>>> --- cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java (original)
>>>>> +++ cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java Tue Nov 20 01:56:17 2012
>>>>> @@ -153,7 +153,9 @@ public class AttachmentSerializer {
>>>>> encoding = "UTF-8";
>>>>> }
>>>>> StringWriter writer = new StringWriter();
>>>>> - writer.write("\n");
>>>>> + String lineSeparator = java.security.AccessController.doPrivileged(
>>>>> + new sun.security.action.GetPropertyAction("line.separator"));
>>>>> + writer.write(lineSeparator);
>>>>> writer.write("--");
>>>>> writer.write(bodyBoundary);
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> Daniel Kulp
>>>> dkulp@apache.org - http://dankulp.com/blog
>>>> Talend Community Coder - http://coders.talend.com
>>>>
>>>
>>> --
>>> Daniel Kulp
>>> dkulp@apache.org - http://dankulp.com/blog
>>> Talend Community Coder - http://coders.talend.com
>>>
>>
>>
>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com
Re: svn commit: r1411506 - /cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi
On 20/11/12 02:40, Freeman Fang wrote:
> Hi Dan,
>
> But if on unix/linux platform, if we have "\r\n", it interpret as two new line, which can cause some service providers can't handle the request, I think what we want should be a "new line" here, so use system property line.separator should be OK, please see the initial description from CXF-4482[1].
>
IMHO it has to be 'attachment.line.separator' (to support the legacy
providers or the ones which can not handle CR/LF) contextual property,
using system property just won't work because we can have Unix on one
end, Win on the other end, or vice versa
Sergey
> Btw, seems any jira update can't send out mail notification now.
>
> [1]https://issues.apache.org/jira/browse/CXF-4482
>
>
> Freeman
> -------------
> Freeman(Yue) Fang
>
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> Web: http://fusesource.com | http://www.redhat.com/
> Twitter: freemanfang
> Blog: http://freemanfang.blogspot.com
> http://blog.sina.com.cn/u/1473905042
> weibo: http://weibo.com/u/1473905042
>
> On 2012-11-20, at 上午10:31, Daniel Kulp wrote:
>
>>
>> Actually, more importantly, this makes the payload different depending on if its from Unix or Windows. According to the mid spec:
>>
>> http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
>>
>> (section 7.2.1)
>>
>> it should always be a CRLF, so the code would be updated to always use that for the attachment boundaries.
>>
>> Dan
>>
>>
>>
>> On Nov 19, 2012, at 9:21 PM, Daniel Kulp<dk...@apache.org> wrote:
>>
>>>
>>> Umm… don't use anything from sun.* packages. You can use org.apache.cxf.common.util.SystemPropertyAction if that works.
>>>
>>>
>>> Dan
>>>
>>>
>>>
>>> On Nov 19, 2012, at 8:56 PM, ffang@apache.org wrote:
>>>
>>>> Author: ffang
>>>> Date: Tue Nov 20 01:56:17 2012
>>>> New Revision: 1411506
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=1411506&view=rev
>>>> Log:
>>>> [CXF-4482]get line.separator system property ensure CR/LF works across platforms
>>>>
>>>> Modified:
>>>> cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>>
>>>> Modified: cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>> URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java?rev=1411506&r1=1411505&r2=1411506&view=diff
>>>> ==============================================================================
>>>> --- cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java (original)
>>>> +++ cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java Tue Nov 20 01:56:17 2012
>>>> @@ -153,7 +153,9 @@ public class AttachmentSerializer {
>>>> encoding = "UTF-8";
>>>> }
>>>> StringWriter writer = new StringWriter();
>>>> - writer.write("\n");
>>>> + String lineSeparator = java.security.AccessController.doPrivileged(
>>>> + new sun.security.action.GetPropertyAction("line.separator"));
>>>> + writer.write(lineSeparator);
>>>> writer.write("--");
>>>> writer.write(bodyBoundary);
>>>>
>>>>
>>>>
>>>
>>> --
>>> Daniel Kulp
>>> dkulp@apache.org - http://dankulp.com/blog
>>> Talend Community Coder - http://coders.talend.com
>>>
>>
>> --
>> Daniel Kulp
>> dkulp@apache.org - http://dankulp.com/blog
>> Talend Community Coder - http://coders.talend.com
>>
>
>
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
Blog: http://sberyozkin.blogspot.com
Re: svn commit: r1411506 - /cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
Posted by Freeman Fang <fr...@gmail.com>.
Hi Dan,
But if on unix/linux platform, if we have "\r\n", it interpret as two new line, which can cause some service providers can't handle the request, I think what we want should be a "new line" here, so use system property line.separator should be OK, please see the initial description from CXF-4482[1].
Btw, seems any jira update can't send out mail notification now.
[1]https://issues.apache.org/jira/browse/CXF-4482
Freeman
-------------
Freeman(Yue) Fang
Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://fusesource.com | http://www.redhat.com/
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: http://weibo.com/u/1473905042
On 2012-11-20, at 上午10:31, Daniel Kulp wrote:
>
> Actually, more importantly, this makes the payload different depending on if its from Unix or Windows. According to the mid spec:
>
> http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
>
> (section 7.2.1)
>
> it should always be a CRLF, so the code would be updated to always use that for the attachment boundaries.
>
> Dan
>
>
>
> On Nov 19, 2012, at 9:21 PM, Daniel Kulp <dk...@apache.org> wrote:
>
>>
>> Umm… don't use anything from sun.* packages. You can use org.apache.cxf.common.util.SystemPropertyAction if that works.
>>
>>
>> Dan
>>
>>
>>
>> On Nov 19, 2012, at 8:56 PM, ffang@apache.org wrote:
>>
>>> Author: ffang
>>> Date: Tue Nov 20 01:56:17 2012
>>> New Revision: 1411506
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1411506&view=rev
>>> Log:
>>> [CXF-4482]get line.separator system property ensure CR/LF works across platforms
>>>
>>> Modified:
>>> cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>>
>>> Modified: cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>> URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java?rev=1411506&r1=1411505&r2=1411506&view=diff
>>> ==============================================================================
>>> --- cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java (original)
>>> +++ cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java Tue Nov 20 01:56:17 2012
>>> @@ -153,7 +153,9 @@ public class AttachmentSerializer {
>>> encoding = "UTF-8";
>>> }
>>> StringWriter writer = new StringWriter();
>>> - writer.write("\n");
>>> + String lineSeparator = java.security.AccessController.doPrivileged(
>>> + new sun.security.action.GetPropertyAction("line.separator"));
>>> + writer.write(lineSeparator);
>>> writer.write("--");
>>> writer.write(bodyBoundary);
>>>
>>>
>>>
>>
>> --
>> Daniel Kulp
>> dkulp@apache.org - http://dankulp.com/blog
>> Talend Community Coder - http://coders.talend.com
>>
>
> --
> Daniel Kulp
> dkulp@apache.org - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
>
Re: svn commit: r1411506 - /cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
Posted by Daniel Kulp <dk...@apache.org>.
Actually, more importantly, this makes the payload different depending on if its from Unix or Windows. According to the mid spec:
http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
(section 7.2.1)
it should always be a CRLF, so the code would be updated to always use that for the attachment boundaries.
Dan
On Nov 19, 2012, at 9:21 PM, Daniel Kulp <dk...@apache.org> wrote:
>
> Umm… don't use anything from sun.* packages. You can use org.apache.cxf.common.util.SystemPropertyAction if that works.
>
>
> Dan
>
>
>
> On Nov 19, 2012, at 8:56 PM, ffang@apache.org wrote:
>
>> Author: ffang
>> Date: Tue Nov 20 01:56:17 2012
>> New Revision: 1411506
>>
>> URL: http://svn.apache.org/viewvc?rev=1411506&view=rev
>> Log:
>> [CXF-4482]get line.separator system property ensure CR/LF works across platforms
>>
>> Modified:
>> cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>>
>> Modified: cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java
>> URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java?rev=1411506&r1=1411505&r2=1411506&view=diff
>> ==============================================================================
>> --- cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java (original)
>> +++ cxf/trunk/api/src/main/java/org/apache/cxf/attachment/AttachmentSerializer.java Tue Nov 20 01:56:17 2012
>> @@ -153,7 +153,9 @@ public class AttachmentSerializer {
>> encoding = "UTF-8";
>> }
>> StringWriter writer = new StringWriter();
>> - writer.write("\n");
>> + String lineSeparator = java.security.AccessController.doPrivileged(
>> + new sun.security.action.GetPropertyAction("line.separator"));
>> + writer.write(lineSeparator);
>> writer.write("--");
>> writer.write(bodyBoundary);
>>
>>
>>
>
> --
> Daniel Kulp
> dkulp@apache.org - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
>
--
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com