Ethereal-dev: [Ethereal-dev] Update to NCP dissector
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: "Greg Morris" <gmorris@xxxxxxxxxx>
Date: Fri, 11 Nov 2005 17:55:45 +0100
The following diff (based on current SVN) fixes the following...
1. Adds additional return value 0xa901
"Invalid Data Type Flag (outdated return value - replaced in NSS as 0x89aa error)"
for 87/xx NCP's.
2. Fixes decode for NCP 87/20 reply packets
3. Fixes decode for NCP 89/53 request packets
Please check-in,
Greg
|
Index: ncp2222.py =================================================================== --- ncp2222.py (revision 16475) +++ ncp2222.py (working copy) @@ -2681,6 +2681,7 @@ MaxNumOfStacks = uint32("max_num_of_stacks", "Maximum Number Of Stacks") MaxNumOfUsers = uint32("max_num_of_users", "Maximum Number Of Users") MaxNumOfVol = uint32("max_num_of_vol", "Maximum Number of Volumes") +MaxReadDataReplySize = uint16("max_read_data_reply_size", "Max Read Data Reply Size") MaxSpace = uint32("maxspace", "Maximum Space") MaxUsedDynamicSpace = uint32("max_used_dynamic_space", "Max Used Dynamic Space") MediaList = uint32("media_list", "Media List") @@ -11914,7 +11915,7 @@ pkt.ReqCondSizeVariable() pkt.CompletionCodes([0x0000, 0x0102, 0x7f00, 0x8001, 0x8101, 0x8401, 0x8501, 0x8701, 0x8900, 0x8d00, 0x8f00, 0x9001, 0x9400, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xa500, 0xa802, 0xbf00, 0xfd00, 0xff16]) + 0x9804, 0x9b03, 0x9c03, 0xa500, 0xa802, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/5702, 87/02 pkt = NCP(0x5702, "Initialize Search", 'file', has_length=0) pkt.Request( (18,272), [ @@ -11933,7 +11934,7 @@ ]) pkt.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501, 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16]) + 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/5703, 87/03 pkt = NCP(0x5703, "Search for File or Subdirectory", 'file', has_length=0) pkt.Request((26, 280), [ @@ -11999,7 +12000,7 @@ pkt.ReqCondSizeVariable() pkt.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501, 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16]) + 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/5704, 87/04 pkt = NCP(0x5704, "Rename Or Move a File or Subdirectory", 'file', has_length=0) pkt.Request((28, 536), [ @@ -12020,7 +12021,7 @@ pkt.Reply(8) pkt.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501, 0x8701, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9200, 0x9600, - 0x9804, 0x9a00, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16]) + 0x9804, 0x9a00, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/5705, 87/05 pkt = NCP(0x5705, "Scan File or Subdirectory for Trustees", 'file', has_length=0) pkt.Request((24, 278), [ @@ -12041,7 +12042,7 @@ ]) pkt.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501, 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16]) + 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/5706, 87/06 pkt = NCP(0x5706, "Obtain File or SubDirectory Information", 'file', has_length=0) pkt.Request((24,278), [ @@ -12111,7 +12112,7 @@ pkt.ReqCondSizeVariable() pkt.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501, 0x8700, 0x8900, 0x8d00, 0x8f00, 0x9001, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xa802, 0xbf00, 0xfd00, 0xff16]) + 0x9802, 0x9b03, 0x9c03, 0xa802, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/5707, 87/07 pkt = NCP(0x5707, "Modify File or Subdirectory DOS Information", 'file', has_length=0) pkt.Request((62,316), [ @@ -12145,7 +12146,7 @@ pkt.Reply(8) pkt.CompletionCodes([0x0000, 0x0102, 0x8000, 0x8101, 0x8401, 0x8501, 0x8701, 0x8c01, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16]) + 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/5708, 87/08 pkt = NCP(0x5708, "Delete a File or Subdirectory", 'file', has_length=0) pkt.Request((20,274), [ @@ -12161,7 +12162,7 @@ pkt.Reply(8) pkt.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501, 0x8701, 0x8900, 0x8a00, 0x8d00, 0x8e00, 0x8f00, 0x9001, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16]) + 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/5709, 87/09 pkt = NCP(0x5709, "Set Short Directory Handle", 'file', has_length=0) pkt.Request((20,274), [ @@ -12178,7 +12179,7 @@ pkt.Reply(8) pkt.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501, 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16]) + 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/570A, 87/10 pkt = NCP(0x570A, "Add Trustee Set to File or Subdirectory", 'file', has_length=0) pkt.Request((31,285), [ @@ -12197,7 +12198,7 @@ pkt.Reply(8) pkt.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501, 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfc01, 0xfd00, 0xff16]) + 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfc01, 0xfd00, 0xff16]) # 2222/570B, 87/11 pkt = NCP(0x570B, "Delete Trustee Set from File or SubDirectory", 'file', has_length=0) pkt.Request((27,281), [ @@ -12234,7 +12235,7 @@ ]) pkt.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501, 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16]) + 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/5710, 87/16 pkt = NCP(0x5710, "Scan Salvageable Files", 'file', has_length=0) pkt.Request((26,280), [ @@ -12394,13 +12395,13 @@ srec( AttributesStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_attr == 1)" ), srec( DataStreamSizeStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_size == 1)" ), srec( TotalStreamSizeStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_tspace == 1)" ), + srec( EAInfoStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ), + srec( ArchiveInfoStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ), + srec( ModifyInfoStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ), srec( CreationInfoStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_create == 1)" ), - srec( ModifyInfoStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_mod == 1)" ), - srec( ArchiveInfoStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_arch == 1)" ), + srec( NSInfoStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ), + srec( DirEntryStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ), srec( RightsInfoStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_rights == 1)" ), - srec( DirEntryStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_dir == 1)" ), - srec( EAInfoStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_eattr == 1)" ), - srec( NSInfoStruct, req_cond="(ncp.ext_info_newstyle == 1) && (ncp.ret_info_mask_ns == 1)" ), srec( ReferenceIDStruct, req_cond="ncp.ret_info_mask_id == 1" ), srec( NSAttributeStruct, req_cond="ncp.ret_info_mask_ns_attr == 1" ), srec( DStreamActual, req_cond="ncp.ret_info_mask_actual == 1" ), @@ -12420,7 +12421,7 @@ pkt.ReqCondSizeVariable() pkt.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501, 0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600, - 0x9804, 0x9b03, 0x9c03, 0xbf00, 0xfd00, 0xff16]) + 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16]) # 2222/5715, 87/21 pkt = NCP(0x5715, "Get Path String from Short Directory Handle", 'file', has_length=0) pkt.Request(10, [ @@ -14395,14 +14396,15 @@ 0xd203, 0xa901, 0xaa00, 0xd301, 0xd402]) # 2222/5935, 89/53 pkt = NCP(0x5935, "Enhanced Read Extended Attribute", 'file', has_length=0 ) - pkt.Request((29,539), [ + pkt.Request((31,541), [ rec( 8, 2, EAFlags ), rec( 10, 4, EAHandleOrNetWareHandleOrVolume ), rec( 14, 4, ReservedOrDirectoryNumber ), rec( 18, 4, FileOffset ), rec( 22, 4, InspectSize ), rec( 26, 1, DataTypeFlag ), - rec( 27, (2,512), EAKey ), + rec( 27, 2, MaxReadDataReplySize ), + rec( 29, (2,512), EAKey ), ], info_str=(EAKey, "Enhanced Read Extended Attribute: %s", ", %s")) pkt.Reply((26,536), [ rec( 8, 4, EAErrorCodes ),
- Follow-Ups:
- SV: [Ethereal-dev] Update to NCP dissector
- From: Anders Broman
- SV: [Ethereal-dev] Update to NCP dissector
- Prev by Date: [Ethereal-dev] using MATE to detect SCTP retransmissions
- Next by Date: Re: [Ethereal-dev] using MATE to detect SCTP retransmissions
- Previous by thread: Re: [Ethereal-dev] using MATE to detect SCTP retransmissions
- Next by thread: SV: [Ethereal-dev] Update to NCP dissector
- Index(es):