Hi Nicolas,
I think you are right. We should not map the response_flags to
sync_scope.
The sync_scope defined in packet-giop.c obviously came from the
following definition in Corba Messaging Quality of Service:
typedef short SyncScope;
const SyncScope SYNC_NONE = 0;
const SyncScope SYNC_WITH_TRANSPORT = 1;
const SyncScope SYNC_WITH_SERVER = 2;
const SyncScope SYNC_WITH_TARGET = 3;
We should leave the sync_scope value_string unchanged in case somebody
implements the Messaging module, although that would probably be another
plugin.
We should either just display the numeric value for the response_flags
or maybe display something more like a comment as in the spec, e.g.
static const value_string response_flags[] = {
{ 0x0, "SyncScope NONE or WITH_TRANSPORT" },
{ 0x1, "SyncScope WITH_SERVER"},
{ 0x3, "SyncScope WITH_TARGET"},
{ 0, NULL}
};
I can supply a patch if you (and maybe others) agree.
I don't really know if anybody has looked at the changes in the Corba 3.0
Spec to see what has to be added/changed in packet-giop.c. Some additions
were made regarding Service Contexts a short time ago.
It might be better to ask such questions on the developer list, as I suspect
that not many of the few giop developers check the users list. I will send
this to the developers list.
Regards,
Bernd
--On Monday, March 10, 2003 17:25:00 +0100 Nicolas.De_Montbel@xxxxxxxxxx
wrote:
Hello everybody,
I am new on this tool which seems to be very convenient and complete
but I have a problem on decoding one giop request header (response flags).
from CORBA3.0 specification :
"response_flags is set to 0x0 for a SyncScope of NONE and
WITH_TRANSPORT. The flag is set to 0x1 for a SyncScope of
WITH_SERVER. A non exception reply to a request message containing a
response_flags value of 0x1 should contain an empty body, i.e. the
equivalent of
a void operation with no out/inout parameters. The flag is set to 0x3 for
a SyncScope of WITH_TARGET. These values ensure interworking compatibility
between this and previous versions of GIOP."
In packet-giop.c :
static const value_string sync_scope[] = {
{ 0x0, "SYNC_NONE" },
{ 0x1, "SYNC_WITH_TRANSPORT"},
{ 0x2, "SYNC_WITH_SERVER"},
{ 0x3, "SYNC_WITH_TARGET"},
{ 0, NULL}};
This is quite different.
Can you confirm that
and say to me how can I correct that in Ethereal
sincerly
Nicolas de Montbel
Alcatel Lannion,France