Ethereal-dev: [Ethereal-dev] Updates to the 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, 16 Dec 2005 16:01:25 +0100
|
This patch updates the ncp dissector
1. Changes Dir Handle Type from Boolean to val string
2. Changes Search Mode from Boolean to val string
3. Adds a number of additional attribute definitions
4. Adds file migration state values
5. Adds missing return values
6. Adds NCP 90,150 "File Migration Request"
Please apply,
Greg
|
Index: ncp2222.py
===================================================================
--- ncp2222.py (revision 16779)
+++ ncp2222.py (working copy)
@@ -1258,7 +1258,10 @@
AFPEntryID.Display("BASE_HEX")
AllocAvailByte = uint32("alloc_avail_byte", "Bytes Available for Allocation")
AllocateMode = bitfield16("alloc_mode", "Allocate Mode", [
- bf_boolean16(0x0001, "alloc_dir_hdl", "Temporary (True) or Permanent (False) Dir Handle"),
+ bf_val_str16(0x0001, "alloc_dir_hdl", "Dir Handle Type",[
+ [0x00, "Permanent"],
+ [0x01, "Temporary"],
+ ]),
bf_boolean16(0x0002, "alloc_spec_temp_dir_hdl","Special Temporary Directory Handle"),
bf_boolean16(0x4000, "alloc_reply_lvl2","Reply Level 2"),
bf_boolean16(0x8000, "alloc_dst_name_spc","Destination Name Space Input Parameter"),
@@ -1307,15 +1310,36 @@
bf_boolean32(0x00000020, "att_def32_archive", "Archive"),
bf_boolean32(0x00000040, "att_def32_execute_confirm", "Execute Confirm"),
bf_boolean32(0x00000080, "att_def32_shareable", "Shareable"),
+ bf_val_str32(0x00000700, "att_def32_search", "Search Mode",[
+ [0, "Search on all Read Only Opens"],
+ [1, "Search on Read Only Opens with no Path"],
+ [2, "Shell Default Search Mode"],
+ [3, "Search on all Opens with no Path"],
+ [4, "Do not Search"],
+ [5, "Reserved - Do not Use"],
+ [6, "Search on All Opens"],
+ [7, "Reserved - Do not Use"],
+ ]),
+ bf_boolean32(0x00000800, "att_def32_no_suballoc", "No Suballoc"),
bf_boolean32(0x00001000, "att_def32_transaction", "Transactional"),
bf_boolean32(0x00004000, "att_def32_read_audit", "Read Audit"),
bf_boolean32(0x00008000, "att_def32_write_audit", "Write Audit"),
- bf_boolean32(0x00010000, "att_def_purge", "Immediate Purge"),
- bf_boolean32(0x00020000, "att_def_reninhibit", "Rename Inhibit"),
- bf_boolean32(0x00040000, "att_def_delinhibit", "Delete Inhibit"),
- bf_boolean32(0x00080000, "att_def_cpyinhibit", "Copy Inhibit"),
- bf_boolean32(0x02000000, "att_def_im_comp", "Immediate Compress"),
- bf_boolean32(0x04000000, "att_def_comp", "Compressed"),
+ bf_boolean32(0x00010000, "att_def32_purge", "Immediate Purge"),
+ bf_boolean32(0x00020000, "att_def32_reninhibit", "Rename Inhibit"),
+ bf_boolean32(0x00040000, "att_def32_delinhibit", "Delete Inhibit"),
+ bf_boolean32(0x00080000, "att_def32_cpyinhibit", "Copy Inhibit"),
+ bf_boolean32(0x00100000, "att_def32_file_audit", "File Audit"),
+ bf_boolean32(0x00200000, "att_def32_reserved", "Reserved"),
+ bf_boolean32(0x00400000, "att_def32_data_migrate", "Data Migrated"),
+ bf_boolean32(0x00800000, "att_def32_inhibit_dm", "Inhibit Data Migration"),
+ bf_boolean32(0x01000000, "att_def32_dm_save_key", "Data Migration Save Key"),
+ bf_boolean32(0x02000000, "att_def32_im_comp", "Immediate Compress"),
+ bf_boolean32(0x04000000, "att_def32_comp", "Compressed"),
+ bf_boolean32(0x08000000, "att_def32_comp_inhibit", "Inhibit Compression"),
+ bf_boolean32(0x10000000, "att_def32_reserved2", "Reserved"),
+ bf_boolean32(0x20000000, "att_def32_cant_compress", "Can't Compress"),
+ bf_boolean32(0x40000000, "att_def32_attr_archive", "Archive Attributes"),
+ bf_boolean32(0x80000000, "att_def32_reserved3", "Reserved"),
])
AttributeValidFlag = uint32("attribute_valid_flag", "Attribute Valid Flag")
AuditFileVersionDate = uint16("audit_file_ver_date", "Audit File Version Date")
@@ -2168,6 +2192,13 @@
[ 0xff, "Unknown" ],
])
FileLockCount = uint16("file_lock_count", "File Lock Count")
+FileMigrationState = val_string8("file_mig_state", "File Migration State", [
+ [ 0x00, "Mark file ineligible for file migration" ],
+ [ 0x01, "Mark file eligible for file migration" ],
+ [ 0x02, "Mark file as migrated and delete fat chains" ],
+ [ 0x03, "Reset file status back to normal" ],
+ [ 0x04, "Get file data back and reset file status back to normal" ],
+])
FileMode = uint8("file_mode", "File Mode")
FileName = nstring8("file_name", "Filename")
FileName12 = fw_string("file_name_12", "Filename", 12)
@@ -3178,7 +3209,7 @@
bf_boolean8(0x40, "open_rights_write_thru", "File Write Through"),
])
OptionNumber = uint8("option_number", "Option Number")
-originalSize = uint32("original_size", "Original Size")
+originalSize = uint32("original_size", "Original Size")
OSLanguageID = uint8("os_language_id", "OS Language ID")
OSMajorVersion = uint8("os_major_version", "OS Major Version")
OSMinorVersion = uint8("os_minor_version", "OS Minor Version")
@@ -3225,7 +3256,7 @@
PrimaryEntry = uint32("primary_entry", "Primary Entry")
PrintFlags = bitfield8("print_flags", "Print Flags", [
bf_boolean8(0x08, "print_flags_ff", "Suppress Form Feeds"),
- bf_boolean8(0x10, "print_flags_cr", "Create"),
+ bf_boolean8(0x10, "print_flags_cr", "Create"),
bf_boolean8(0x20, "print_flags_del_spool", "Delete Spool File after Printing"),
bf_boolean8(0x40, "print_flags_exp_tabs", "Expand Tabs in the File"),
bf_boolean8(0x80, "print_flags_banner", "Print Banner Page"),
@@ -3276,7 +3307,7 @@
PurgeFlags = val_string16("purge_flags", "Purge Flags", [
[ 0x0000, "Do not Purge All" ],
[ 0x0001, "Purge All" ],
- [ 0xffff, "Do not Purge All" ],
+ [ 0xffff, "Do not Purge All" ],
])
PurgeList = uint32("purge_list", "Purge List")
PhysicalDiskChannel = uint8("physical_disk_channel", "Physical Disk Channel")
@@ -3364,15 +3395,15 @@
[ 0x01, "Change Temporary Authenticated to Logged in" ],
])
RequestData = nstring8("request_data", "Request Data")
-RequestsReprocessed = uint16("requests_reprocessed", "Requests Reprocessed")
+RequestsReprocessed = uint16("requests_reprocessed", "Requests Reprocessed")
Reserved = uint8( "reserved", "Reserved" )
Reserved2 = bytes("reserved2", "Reserved", 2)
Reserved3 = bytes("reserved3", "Reserved", 3)
Reserved4 = bytes("reserved4", "Reserved", 4)
Reserved5 = bytes("reserved5", "Reserved", 5)
-Reserved6 = bytes("reserved6", "Reserved", 6)
+Reserved6 = bytes("reserved6", "Reserved", 6)
Reserved8 = bytes("reserved8", "Reserved", 8)
-Reserved10 = bytes("reserved10", "Reserved", 10)
+Reserved10 = bytes("reserved10", "Reserved", 10)
Reserved12 = bytes("reserved12", "Reserved", 12)
Reserved16 = bytes("reserved16", "Reserved", 16)
Reserved20 = bytes("reserved20", "Reserved", 20)
@@ -3520,7 +3551,6 @@
SectorSize = uint32("sector_size", "Sector Size")
SemaphoreHandle = uint32("semaphore_handle", "Semaphore Handle")
SemaphoreName = nstring8("semaphore_name", "Semaphore Name")
-SemaphoreNameLen = uint8("semaphore_name_len", "Semaphore Name Len")
SemaphoreOpenCount = uint8("semaphore_open_count", "Semaphore Open Count")
SemaphoreShareCount = uint8("semaphore_share_count", "Semaphore Share Count")
SemaphoreTimeOut = uint16("semaphore_time_out", "Semaphore Time Out")
@@ -3540,7 +3570,6 @@
SequenceNumber.Display("BASE_HEX")
ServerAddress = bytes("server_address", "Server Address", 12)
ServerAppNumber = uint16("server_app_num", "Server App Number")
-#ServerIDList = uint32("server_id_list", "Server ID List")
ServerID = uint32("server_id_number", "Server ID", BE )
ServerID.Display("BASE_HEX")
ServerInfoFlags = val_string16("server_info_flags", "Server Information Flags", [
@@ -3733,7 +3762,7 @@
TimesyncStatus = bitfield32("timesync_status_flags", "Timesync Status", [
bf_boolean32(0x00000001, "timesync_status_sync", "Time is Synchronized"),
bf_boolean32(0x00000002, "timesync_status_net_sync", "Time is Synchronized to the Network"),
- bf_boolean32(0x00000004, "timesync_status_active", "Time Synchronization is Active"),
+ bf_boolean32(0x00000004, "timesync_status_active", "Time Synchronization is Active"),
bf_boolean32(0x00000008, "timesync_status_external", "External Time Synchronization Active"),
bf_val_str32(0x00000700, "timesync_status_server_type", "Time Server Type", [
[ 0x01, "Client Time Server" ],
@@ -8511,7 +8540,7 @@
rec( 8, 1, DirHandle ),
rec( 9, 1, AccessRightsMask ),
])
- pkt.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9900, 0x9c03, 0x9d00,
+ pkt.CompletionCodes([0x0000, 0x9600, 0x9804, 0x9900, 0x9b00, 0x9c03, 0x9d00,
0xa100, 0xfd00, 0xff00])
# 2222/1617, 22/23
pkt = NCP(0x1617, "Extract a Base Handle", 'fileserver')
@@ -8593,7 +8622,7 @@
rec( 120, 4, DeletedID, BE ),
rec( 124, 16, Reserved16 ),
])
- pkt.CompletionCodes([0x0000, 0xfb01, 0xff1d])
+ pkt.CompletionCodes([0x0000, 0xfb01, 0x9801, 0xff1d])
# 2222/161C, 22/28
pkt = NCP(0x161C, "Recover Salvageable File", 'fileserver')
pkt.Request((17,525), [
@@ -9165,8 +9194,8 @@
rec( 73, 1, VirtualConsoleVersion ),
rec( 74, 1, SecurityRestrictionVersion ),
rec( 75, 1, InternetBridgeVersion ),
- rec( 76, 1, MixedModePathFlag ),
- rec( 77, 1, LocalLoginInfoCcode ),
+ rec( 76, 1, MixedModePathFlag ),
+ rec( 77, 1, LocalLoginInfoCcode ),
rec( 78, 2, ProductMajorVersion, BE ),
rec( 80, 2, ProductMinorVersion, BE ),
rec( 82, 2, ProductRevisionVersion, BE ),
@@ -9785,7 +9814,7 @@
rec( 16, 1, NewPosition ),
])
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x9600, 0xd000, 0xd100, 0xd500,
+ pkt.CompletionCodes([0x0000, 0x9600, 0xd000, 0xd100, 0xd300, 0xd500,
0xd601, 0xfe07, 0xff1f])
# 2222/176F, 23/111
pkt = NCP(0x176F, "Attach Queue Server To Queue", 'qms')
@@ -9842,7 +9871,7 @@
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
- 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
+ 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff00])
# 2222/1773, 23/115
pkt = NCP(0x1773, "Abort Servicing Queue Job", 'qms')
pkt.Request(16, [
@@ -9852,7 +9881,7 @@
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
- 0xd800, 0xd902, 0xda01, 0xdb02, 0xff18])
+ 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff18])
# 2222/1774, 23/116
pkt = NCP(0x1774, "Change To Client Rights", 'qms')
pkt.Request(16, [
@@ -9906,7 +9935,7 @@
])
pkt.CompletionCodes([0x0000, 0x9900, 0xd000, 0xd100, 0xd200,
0xd300, 0xd400, 0xd500, 0xd601, 0xd703,
- 0xd800, 0xd902, 0xda01, 0xdb02, 0xff00])
+ 0xd800, 0xd902, 0xda01, 0xdb02, 0xfc07, 0xff00])
# 2222/1779, 23/121
pkt = NCP(0x1779, "Create Queue Job And File", 'qms')
pkt.Request(264, [
@@ -10881,10 +10910,10 @@
pkt.CompletionCodes([0x0000, 0x8800, 0x9600, 0xfd02, 0xfe04, 0xff03])
# 2222/2000, 32/00
pkt = NCP(0x2000, "Open Semaphore", 'file', has_length=0)
- pkt.Request(10, [
+ pkt.Request((10,264), [
rec( 8, 1, InitialSemaphoreValue ),
- rec( 9, 1, SemaphoreNameLen ),
- ])
+ rec( 9, (1,255), SemaphoreName ),
+ ], info_str=(SemaphoreName, "Open Semaphore: %s", ", %s"))
pkt.Reply(13, [
rec( 8, 4, SemaphoreHandle, BE ),
rec( 12, 1, SemaphoreOpenCount ),
@@ -11384,14 +11413,14 @@
rec( 14, 1, NCPextensionRevisionNumber ),
rec( 15, (1, 255), NCPextensionName ),
])
- pkt.CompletionCodes([0x0000, 0xfe00])
+ pkt.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
# 2222/2401, 36/01
pkt = NCP(0x2401, "Get NCP Extension Maximum Data Size", 'fileserver')
pkt.Request(10)
pkt.Reply(10, [
rec( 8, 2, NCPdataSize ),
])
- pkt.CompletionCodes([0x0000, 0xfe00])
+ pkt.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
# 2222/2402, 36/02
pkt = NCP(0x2402, "Get NCP Extension Information by Name", 'fileserver')
pkt.Request((11, 265), [
@@ -11404,14 +11433,14 @@
rec( 14, 1, NCPextensionRevisionNumber ),
rec( 15, (1, 255), NCPextensionName ),
])
- pkt.CompletionCodes([0x0000, 0xfe00, 0xff20])
+ pkt.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
# 2222/2403, 36/03
pkt = NCP(0x2403, "Get Number of Registered NCP Extensions", 'fileserver')
pkt.Request(10)
pkt.Reply(12, [
rec( 8, 4, NumberOfNCPExtensions ),
])
- pkt.CompletionCodes([0x0000, 0xfe00])
+ pkt.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
# 2222/2404, 36/04
pkt = NCP(0x2404, "Get NCP Extension Registered Verbs List", 'fileserver')
pkt.Request(14, [
@@ -11422,7 +11451,7 @@
rec( 12, 4, nextStartingNumber ),
rec( 16, 4, NCPExtensionNumbers, repeat="x" ),
])
- pkt.CompletionCodes([0x0000, 0xfe00])
+ pkt.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
# 2222/2405, 36/05
pkt = NCP(0x2405, "Return NCP Extension Information", 'fileserver')
pkt.Request(14, [
@@ -11435,14 +11464,14 @@
rec( 14, 1, NCPextensionRevisionNumber ),
rec( 15, (1, 255), NCPextensionName ),
])
- pkt.CompletionCodes([0x0000, 0xfe00])
+ pkt.CompletionCodes([0x0000, 0x7e01, 0xfe00, 0xff20])
# 2222/2406, 36/06
pkt = NCP(0x2406, "Return NCP Extension Maximum Data Size", 'fileserver')
pkt.Request(10)
pkt.Reply(12, [
rec( 8, 4, NCPdataSize ),
])
- pkt.CompletionCodes([0x0000, 0xfe00])
+ pkt.CompletionCodes([0x0000, 0xfe00, 0xff20])
# 2222/25, 37
pkt = NCP(0x25, "Execute NCP Extension", 'fileserver')
pkt.Request(11, [
@@ -11453,7 +11482,7 @@
pkt.Reply(8)
# The following value is Unicode
#[ 8, (1, 255), ReplyBuffer ],
- pkt.CompletionCodes([0x0000, 0x9c00, 0xd504, 0xee00, 0xfe00])
+ pkt.CompletionCodes([0x0000, 0x7e01, 0xf000, 0x9c00, 0xd504, 0xee00, 0xfe00, 0xff20])
# 2222/3B, 59
pkt = NCP(0x3B, "Commit File", 'file', has_length=0 )
pkt.Request(14, [
@@ -11774,7 +11803,7 @@
pkt = NCP(0x5602, "Write Extended Attribute", 'file', has_length=0 )
pkt.Request((35,97), [
rec( 8, 2, EAFlags ),
- rec( 10, 4, EAHandleOrNetWareHandleOrVolume ),
+ rec( 10, 4, EAHandleOrNetWareHandleOrVolume, BE ),
rec( 14, 4, ReservedOrDirectoryNumber ),
rec( 18, 4, TtlWriteDataSize ),
rec( 22, 4, FileOffset ),
@@ -12228,14 +12257,14 @@
rec( 18, 1, PathCount, var="x" ),
rec( 19, (1,255), Path, repeat="x" ),
], info_str=(Path, "Allocate Short Directory Handle to: %s", "/%s"))
- pkt.Reply(14, [
- rec( 8, 1, DirHandle ),
- rec( 9, 1, VolumeNumber ),
- rec( 10, 4, Reserved4 ),
+ pkt.Reply(NO_LENGTH_CHECK, [
+ srec( ReplyLevel2Struct, req_cond="ncp.alloc_reply_lvl2 == TRUE" ),
+ srec( ReplyLevel1Struct, req_cond="ncp.alloc_reply_lvl2 == FALSE" ),
])
+ pkt.ReqCondSizeVariable()
pkt.CompletionCodes([0x0000, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa901, 0xbf00, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0x9d00, 0xa901, 0xbf00, 0xfd00, 0xff16])
# 2222/5710, 87/16
pkt = NCP(0x5710, "Scan Salvageable Files", 'file', has_length=0)
pkt.Request((26,280), [
@@ -13085,7 +13114,7 @@
rec( 8, 4, FileHandle, BE ),
])
pkt.Reply(16, [
- rec( 8, 8, FileSize64bit, BE ),
+ rec( 8, 8, FileSize64bit),
])
pkt.CompletionCodes([0x0000, 0x7f00, 0x8800, 0x9600, 0xfd02, 0xff01])
# 2222/5743, 87/67
@@ -13129,9 +13158,9 @@
pkt.Reply(40, [
rec(8, 32, NWAuditStatus ),
])
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5802, 8802
pkt = NCP(0x5802, "Add User Audit Property", "auditing", has_length=0)
pkt.Request(25, [
@@ -13142,178 +13171,178 @@
rec(24, 1, AuditFlag ),
])
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5803, 8803
pkt = NCP(0x5803, "Add Auditor Access", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xde00, 0xfd00, 0xff16])
# 2222/5804, 8804
pkt = NCP(0x5804, "Change Auditor Volume Password", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5805, 8805
pkt = NCP(0x5805, "Check Auditor Access", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5806, 8806
pkt = NCP(0x5806, "Delete User Audit Property", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff21])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff21])
# 2222/5807, 8807
pkt = NCP(0x5807, "Disable Auditing On A Volume", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5808, 8808
pkt = NCP(0x5808, "Enable Auditing On A Volume", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xde00, 0xfd00, 0xff16])
# 2222/5809, 8809
pkt = NCP(0x5809, "Query User Being Audited", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/580A, 88,10
pkt = NCP(0x580A, "Read Audit Bit Map", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/580B, 88,11
pkt = NCP(0x580B, "Read Audit File Configuration Header", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/580D, 88,13
pkt = NCP(0x580D, "Remove Auditor Access", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/580E, 88,14
pkt = NCP(0x580E, "Reset Audit File", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/580F, 88,15
pkt = NCP(0x580F, "Auditing NCP", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfb00, 0xfd00, 0xff16])
# 2222/5810, 88,16
pkt = NCP(0x5810, "Write Audit Bit Map", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5811, 88,17
pkt = NCP(0x5811, "Write Audit File Configuration Header", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5812, 88,18
pkt = NCP(0x5812, "Change Auditor Volume Password2", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5813, 88,19
pkt = NCP(0x5813, "Return Audit Flags", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5814, 88,20
pkt = NCP(0x5814, "Close Old Audit File", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5816, 88,22
pkt = NCP(0x5816, "Check Level Two Access", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5817, 88,23
pkt = NCP(0x5817, "Return Old Audit File List", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5818, 88,24
pkt = NCP(0x5818, "Init Audit File Reads", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5819, 88,25
pkt = NCP(0x5819, "Read Auditing File", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/581A, 88,26
pkt = NCP(0x581A, "Delete Old Audit File", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/581E, 88,30
pkt = NCP(0x581E, "Restart Volume auditing", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/581F, 88,31
pkt = NCP(0x581F, "Set Volume Password", "auditing", has_length=0)
pkt.Request(8)
pkt.Reply(8)
- pkt.CompletionCodes([0x0000, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
+ pkt.CompletionCodes([0x0000, 0x0106, 0x7300, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa801, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa600, 0xa700, 0xa801, 0xbe00, 0xfd00, 0xff16])
# 2222/5901, 89,01
pkt = NCP(0x5901, "Enhanced Open/Create File or Subdirectory", "file", has_length=0)
pkt.Request((37,290), [
@@ -13388,7 +13417,7 @@
pkt.ReqCondSizeVariable()
pkt.CompletionCodes([0x0000, 0x0102, 0x7f00, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8d00, 0x8f00, 0x9001, 0x9600,
- 0x9804, 0x9b03, 0x9c03, 0xa901, 0xaa00, 0xbf00, 0xfd00, 0xff16])
+ 0x9804, 0x9b03, 0x9c03, 0xa901, 0xa500, 0xaa00, 0xbf00, 0xfd00, 0xff16])
# 2222/5902, 89/02
pkt = NCP(0x5902, "Enhanced Initialize Search", 'file', has_length=0)
pkt.Request( (25,278), [
@@ -14639,6 +14668,17 @@
pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
+ # 2222/5A96, 90/150
+ pkt = NCP(0x5A96, "File Migration Request", 'file')
+ pkt.Request(22, [
+ rec( 10, 4, VolumeNumberLong ),
+ rec( 14, 4, DirectoryBase ),
+ rec( 18, 4, FileMigrationState ),
+ ])
+ pkt.Reply(8)
+ pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
+ 0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600,
+ 0x9804, 0x9b03, 0x9c03, 0xa800, 0xfb00, 0xff16])
# 2222/5C, 91
pkt = NCP(0x5B, "NMAS Graded Authentication", 'nmas')
#Need info on this packet structure
@@ -14648,70 +14688,70 @@
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
# SecretStore data is dissected by packet-ncp-sss.c
- # 2222/5C00, 9201
+ # 2222/5C01, 9201
pkt = NCP(0x5C01, "SecretStore Services (Ping Server)", 'sss', 0)
pkt.Request(8)
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
- # 2222/5C01, 9202
+ # 2222/5C02, 9202
pkt = NCP(0x5C02, "SecretStore Services (Fragment)", 'sss', 0)
pkt.Request(8)
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
- # 2222/5C02, 9203
+ # 2222/5C03, 9203
pkt = NCP(0x5C03, "SecretStore Services (Write App Secrets)", 'sss', 0)
pkt.Request(8)
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
- # 2222/5C03, 9204
+ # 2222/5C04, 9204
pkt = NCP(0x5C04, "SecretStore Services (Add Secret ID)", 'sss', 0)
pkt.Request(8)
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
- # 2222/5C04, 9205
+ # 2222/5C05, 9205
pkt = NCP(0x5C05, "SecretStore Services (Remove Secret ID)", 'sss', 0)
pkt.Request(8)
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
- # 2222/5C05, 9206
+ # 2222/5C06, 9206
pkt = NCP(0x5C06, "SecretStore Services (Remove SecretStore)", 'sss', 0)
pkt.Request(8)
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
- # 2222/5C06, 9207
+ # 2222/5C07, 9207
pkt = NCP(0x5C07, "SecretStore Services (Enumerate Secret IDs)", 'sss', 0)
pkt.Request(8)
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
- # 2222/5C07, 9208
+ # 2222/5C08, 9208
pkt = NCP(0x5C08, "SecretStore Services (Unlock Store)", 'sss', 0)
pkt.Request(8)
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
- # 2222/5C08, 9209
+ # 2222/5C09, 9209
pkt = NCP(0x5C09, "SecretStore Services (Set Master Password)", 'sss', 0)
pkt.Request(8)
pkt.Reply(8)
pkt.CompletionCodes([0x0000, 0x7e01, 0x8000, 0x8101, 0x8401, 0x8501,
0x8701, 0x8800, 0x8d00, 0x8f00, 0x9001, 0x9600, 0xfb0b,
0x9804, 0x9b03, 0x9c03, 0xa800, 0xfd00, 0xff16])
- # 2222/5C09, 920a
+ # 2222/5C0a, 9210
pkt = NCP(0x5C0a, "SecretStore Services (Get Service Information)", 'sss', 0)
pkt.Request(8)
pkt.Reply(8)
@@ -15460,8 +15500,8 @@
rec(8, 4, CurrentServerTime ),
rec(12, 1, VConsoleVersion ),
rec(13, 1, VConsoleRevision ),
- rec(14, 2, Reserved2 ),
- rec(16, 3, BoardNameStruct ),
+ rec(14, 2, Reserved2 ),
+ rec(16, 3, BoardNameStruct ),
])
pkt.CompletionCodes([0x0000, 0x7900, 0x7e01, 0xfb06, 0xff00])
# 2222/7B19, 123/25
- Follow-Ups:
- SV: [Ethereal-dev] Updates to the NCP dissector
- From: Anders Broman
- SV: [Ethereal-dev] Updates to the NCP dissector
- Prev by Date: [Ethereal-dev] Fix for bug 476 [PATCH]
- Next by Date: [Ethereal-dev] New Dissector Novell Cluster Services
- Previous by thread: [Ethereal-dev] Fix for bug 476 [PATCH]
- Next by thread: SV: [Ethereal-dev] Updates to the NCP dissector
- Index(es):





