From 161f89c03819860d002a2cb2566f20dba6d7fce8 Mon Sep 17 00:00:00 2001 From: Callum Fraser Date: Wed, 16 May 2018 21:50:48 +0100 Subject: [PATCH] Ported the TCPIPChecksum operation. Main content has been moved to the IP lib file, as it is used in multiple files. Changed the name, due to it originally containing a backslash, which caused issues with the script. --- src/core/operations/TCPIPChecksum.mjs | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/core/operations/TCPIPChecksum.mjs diff --git a/src/core/operations/TCPIPChecksum.mjs b/src/core/operations/TCPIPChecksum.mjs new file mode 100644 index 00000000..e31cb511 --- /dev/null +++ b/src/core/operations/TCPIPChecksum.mjs @@ -0,0 +1,40 @@ +/** + * @author n1474335 [n1474335@gmail.com] + * @copyright Crown Copyright 2016 + * @license Apache-2.0 + */ + +import Operation from "../Operation"; +import {calculateTCPIPChecksum} from "../lib/Ip"; + +/** + * TCP/IP Checksum operation + */ +class TCPIPChecksum extends Operation { + + /** + * TCP/IPChecksum constructor + */ + constructor() { + super(); + + this.name = "TCP/IP Checksum"; + this.module = "Hashing"; + this.description = "Calculates the checksum for a TCP (Transport Control Protocol) or IP (Internet Protocol) header from an input of raw bytes."; + this.inputType = "byteArray"; + this.outputType = "string"; + this.args = []; + } + + /** + * @param {byteArray} input + * @param {Object[]} args + * @returns {string} + */ + run(input, args) { + return calculateTCPIPChecksum(input); + } + +} + +export default TCPIPChecksum;