devhawala / dodo

Xerox Network Services (XNS) implemented in Java
Other
13 stars 1 forks source link

XIPT.ECHO response packet does not include original data sent in XIPT.ECHO request #11

Open nbriggs opened 1 year ago

nbriggs commented 1 year ago

For example, tracing packets from NS.ECHOUSER to the example mail service:

PUT:  From 2032#145377.167022.32126#165372 to 2032#10000.135420.10401#2
Length = 34 bytes (header + 4)
Type = 2 (\XIPT.ECHO)
Contents: Operation: 1, Data: [0][1]

GET:  From 2032#10000.135420.10401#2 to 2032#145377.167022.32126#165372
Length = 32 bytes (header + 2)
Type = 2 (\XIPT.ECHO)
Contents: Operation: 2

PUT:  From 2032#145377.167022.32126#165372 to 2032#10000.135420.10401#2
Length = 34 bytes (header + 4)
Type = 2 (\XIPT.ECHO)
Contents: Operation: 1, Data: [0][2]

GET:  From 2032#10000.135420.10401#2 to 2032#145377.167022.32126#165372
Length = 32 bytes (header + 2)
Type = 2 (\XIPT.ECHO)
Contents: Operation: 2

PUT:  From 2032#145377.167022.32126#165372 to 2032#10000.135420.10401#2
Length = 34 bytes (header + 4)
Type = 2 (\XIPT.ECHO)
Contents: Operation: 1, Data: [0][3]

GET:  From 2032#10000.135420.10401#2 to 2032#145377.167022.32126#165372
Length = 32 bytes (header + 2)
Type = 2 (\XIPT.ECHO)
Contents: Operation: 2

Expected behavior is that the response packet should contain the same data sent in the request packet, with the operation changed from request (1) to response (2).

devhawala commented 1 year ago

dodoserver-and-nethub.zip

that was an embarassing error of mine (never confuse min and max :-()

the attached zip-file contains a new dodoserver-and-nethub.jar for replacing the one in the dodo-demo directory

devhawala commented 1 year ago

The new version of Dodo indeed fixes the failing Echo service: according to Netspy, the payload length of the response packet is now same as in the request packet (0x22 == 34 bytes or 17 words) and the additional 16-bit word has the same content as in the request.

Accordingly, the transcript of the NS.ECHOUSER execution in Medley improved from (old Dodo version):

image

to (new dodo Version):

image

So this fix will be in my next Dodo commit.