srdusr
aboutsummaryrefslogtreecommitdiffstats
path: root/include/wireframe/l7/dissector.hpp
diff options
context:
space:
mode:
authorsrdusr <[email protected]>2024-05-27 22:00:00 +0200
committersrdusr <[email protected]>2024-05-27 22:00:00 +0200
commitb565d7d9c47ca1ec5af0effd828431ee96027d60 (patch)
treefbe0c9c897e78f507443507354d5b1d8fb851099 /include/wireframe/l7/dissector.hpp
parentfbedc55d5aa861c381701c9f913b34ee7ab57ec4 (diff)
downloadpacketeer-b565d7d9c47ca1ec5af0effd828431ee96027d60.tar.gz
packeteer-b565d7d9c47ca1ec5af0effd828431ee96027d60.zip
Rename project from wireframe to packeteer
Decided on the name after weighing alternatives in NAMES.md: packeteer (packet + -eer, "one who wields packets") fit the project's actual scope better than the wire/frame pun once it had grown into full L2-L7 dissection, reassembly, checksums, privilege dropping, and dual TUI/GUI frontends. No existing packet-capture project uses the name; the one real-world collision (Packeteer, Inc., a networking company acquired and folded into Blue Coat/Symantec by 2008) is long defunct. Mechanical rename throughout: CMake project/target names, the wireframe:: namespace and include/wireframe/ directory (git mv, history preserved), every #include path, CLI/GUI help text, and the project's own working directory. NAMES.md rewritten to record the decision instead of leaving stale self-referential etymology behind from the blind rename pass. Verified after every step: full rebuild (all four targets, no warnings) and the full test suite (128/128 cases, 366/366 assertions) both from a fresh reconfigure and again after the directory move.
Diffstat (limited to 'include/wireframe/l7/dissector.hpp')
-rw-r--r--include/wireframe/l7/dissector.hpp45
1 files changed, 0 insertions, 45 deletions
diff --git a/include/wireframe/l7/dissector.hpp b/include/wireframe/l7/dissector.hpp
deleted file mode 100644
index 9b2cc32..0000000
--- a/include/wireframe/l7/dissector.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#pragma once
-
-#include <cstdint>
-#include <optional>
-#include <span>
-#include <string>
-#include <vector>
-
-// Small interface/vtable for L7 dissectors (PLAN.md's architecture
-// sketch), so protocols can be registered and added incrementally
-// without touching the L2-L4 decode path or main.cpp's dispatch logic.
-namespace wireframe::net {
-
-class L7Dissector {
-public:
- virtual ~L7Dissector() = default;
-
- // The transport port this dissector claims (e.g. 53 for DNS). A
- // single fixed port is enough for the protocols in scope so far;
- // dissectors needing a port range or heuristic sniffing can widen
- // this later without changing the registry's shape.
- virtual std::uint16_t port() const = 0;
-
- // A one-line summary of the payload, or nullopt if it doesn't look
- // like this protocol (e.g. truncated/malformed).
- virtual std::optional<std::string> summarize(std::span<const unsigned char> payload) const = 0;
-};
-
-class L7Registry {
-public:
- void add(const L7Dissector* dissector) { dissectors_.push_back(dissector); }
-
- std::optional<std::string> dissect(std::uint16_t port,
- std::span<const unsigned char> payload) const {
- for (const auto* dissector : dissectors_) {
- if (dissector->port() == port) return dissector->summarize(payload);
- }
- return std::nullopt;
- }
-
-private:
- std::vector<const L7Dissector*> dissectors_;
-};
-
-} // namespace wireframe::net