Read only archive ; use https://github.com/JacORB/JacORB/issues for new issues
Bug 1021 - Incomplete handling of jacorb.interop.indirection_encoding_disable property
Summary: Incomplete handling of jacorb.interop.indirection_encoding_disable property
Status: NEW
Alias: None
Product: JacORB
Classification: Unclassified
Component: ORB (show other bugs)
Version: 3.6.1
Hardware: PC All
: P5 normal
Assignee: Mailinglist to track bugs
URL:
Depends on:
Blocks:
 
Reported: 2015-09-04 15:27 CEST by Amadeu A. Barbosa Jr
Modified: 2016-01-28 03:16 CET (History)
1 user (show)

See Also:


Attachments
Patch to workaround the problem disabling indirection tag on CDROutputStream (4.51 KB, patch)
2015-09-04 15:27 CEST, Amadeu A. Barbosa Jr
Details
Including missing test of the disabling indirection property (2.37 KB, patch)
2015-10-09 15:24 CEST, Amadeu A. Barbosa Jr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Amadeu A. Barbosa Jr 2015-09-04 15:27:56 CEST
Created attachment 470 [details]
Patch to workaround the problem disabling indirection tag on CDROutputStream

TAO 6.3.0 is still not working properly with indirection tags on CDR unmarshaling. I was working on an interop test between TAO and JacORB and the property jacorb.interop.indirection_encoding_disable isn't working as argued to.

When I setted up jacorb.interop.indirection_encoding_disable=on the CDR output still uses indirection flag (0xffffffff) and proper offsets about last position of that typecode on stream. I found (in the JacORB master github code) some points missing CDROutputStream.isIndirectionEnabled test before writing 0xffffffff on the stream. 

I attached a diff below to demonstrate where it is missing and another simple refactoring in ComplexTypeCodeWriter. I don't know the code, so it's just a guess. It worked for me but sorry, it isn't an good solution for the problem.
Comment 1 Amadeu A. Barbosa Jr 2015-10-09 15:16:18 CEST
(In reply to Amadeu A. Barbosa Jr from comment #0)
> Created attachment 470 [details]
> Patch to workaround the problem disabling indirection tag on CDROutputStream

> I attached a diff below to demonstrate where it is missing and another
> simple refactoring in ComplexTypeCodeWriter. I don't know the code, so it's
> just a guess. It worked for me but sorry, it isn't an good solution for the
> problem.

I was wrong in that refactoring, I've miss understood some portion of ComplexTypeCodeWriter code. Sorry for my mistake. I'll attach an updated diff with the missing checks about indirection tag only.
Comment 2 Amadeu A. Barbosa Jr 2015-10-09 15:24:55 CEST
Created attachment 471 [details]
Including missing test of the disabling indirection property
Comment 3 Nick Cross 2016-01-28 03:16:45 CET
Do you have any test cases for this? (ideally pure java)

Can you add a pull request at https://github.com/JacORB/JacORB/ ?