Issue 5526: SECIOP ContextId (sec-rev) Source: Adiron, LLC (Mr. Polar Humenn, polar(at)adiron.com) Nature: Uncategorized Issue Severity: Summary: CORBA Security SECIOP. In SECIOP, one RTF changed a field in the SECIOP Message Header from struct ulonglong { unsigned long low; unsigned long high; }; // This should be changed to unsigned long long typedef ulonglong ContextId; to typedef unsigned long long ContextId; because of the introduction of the long long type into CORBA. This modification changes the specification the CDR encoding of the structure, because what was compact 8 byte sequence aligned on a 4 byte boundary. now became an 8 byte sequence aligned on an 8 byte boundary. Each SECIOP message is preceded with a GIOP Message header, which is 12 bytes. Each SECIOP message, which is specified by a struct, starts with the ContextId. Strict interpretation of the encoding rules makes the SECIOP messages incompatiable, as the space between the header and the message must now contain 4 bytes padding. Proposed Resolution: revert back to the struct ulonglong definition. Resolution: Revised Text: Actions taken: July 19, 2002: received issue Discussion: End of Annotations:===== X-Authentication-Warning: marcy.adiron.com: polar owned process doing -bs Date: Fri, 19 Jul 2002 10:16:35 -0400 (EDT) From: Polar Humenn To: Subject: SECIOP ContextId CORBA Security SECIOP. In SECIOP, one RTF changed a field in the SECIOP Message Header from struct ulonglong { unsigned long low; unsigned long high; }; // This should be changed to unsigned long long typedef ulonglong ContextId; to typedef unsigned long long ContextId; because of the introduction of the long long type into CORBA. This modification changes the specification the CDR encoding of the structure, because what was compact 8 byte sequence aligned on a 4 byte boundary. now became an 8 byte sequence aligned on an 8 byte boundary. Each SECIOP message is preceded with a GIOP Message header, which is 12 bytes. Each SECIOP message, which is specified by a struct, starts with the ContextId. Strict interpretation of the encoding rules makes the SECIOP messages incompatiable, as the space between the header and the message must now contain 4 bytes padding. Proposed Resolution: revert back to the struct ulonglong definition. ------------------------------------------------------------------- Polar Humenn Adiron, LLC mailto:polar@adiron.com 2-212 CST Phone: 315-443-3171 Syracuse, NY 13244-4100 Fax: 315-443-4745 http://www.adiron.com