Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nfstream/nfstream
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: drnpkr/nfstream
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: nDPI-5.0
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 3 commits
  • 63 files changed
  • 1 contributor

Commits on Nov 24, 2025

  1. Upgrade nDPI from 4.7.0 to 5.0 with backward compatibility

    - Upgrade nDPI submodule from 4.7.0 to 5.0
    - Fix all 9 nDPI 5.0 API breaking changes:
      * Protocol structure: .app_protocol -> .proto.app_protocol
      * Protocol structure: .master_protocol -> .proto.master_protocol
      * ndpi_protocol2name() signature change
      * ndpi_detection_giveup() signature change (removed enable_guess/guessed params)
      * ndpi_extra_dissection_possible() replaced with state check
      * ndpi_init_detection_module() now expects NULL
      * Protocol bitmask removed (all protocols enabled by default)
      * TCP/UDP struct size checks removed
      * Fingerprint extraction: ja3_client -> ja4_client
    
    - Maintain backward compatibility by keeping field names:
      * client_fingerprint: Now JA4 (TLS), HASSH client (SSH), DHCP fingerprint
      * server_fingerprint: Now JA3S (TLS), HASSH server (SSH)
    
    - Update build system for nDPI 5.0:
      * Add --with-only-libndpi flag to build.sh
      * Make CFFI marker extraction optional in engine_build.py
    
    - Update tests for nDPI 5.0:
      * Update fingerprint assertions (JA3 MD5 -> JA4 format)
      * Regenerate all 228 baseline test results
      * Remove invalid test file (memcached.cap)
    
    - All 29 tests passing
    drnpkr committed Nov 24, 2025
    Configuration menu
    Copy the full SHA
    e2a70d2 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2025

  1. Fix memcpy buffer overreads and enable DNS subclassification

    - Fix buffer overread in fingerprint memcpy calls by using source size
      instead of destination size:
      - HASSH client/server: 33 bytes (was reading 48)
      - JA4 client: 37 bytes (was reading 48)
      - JA3 server: 33 bytes (was reading 48)
      - DHCP: 48 bytes (consistent with others)
    
    - Enable DNS subclassification (disabled by default in nDPI 5.0)
      to restore detection of DNS.Apple, DNS.Google, etc.
    
    - Regenerate test baselines with fixes applied
    drnpkr committed Dec 1, 2025
    Configuration menu
    Copy the full SHA
    fb0e8de View commit details
    Browse the repository at this point in the history
  2. Replace outdated Steam test pcaps with nDPI 5.0 version

    - Remove steam.pcap and steam_datagram_relay_ping.pcapng (obsolete)
    - Add steam.pcapng from nDPI 5.0 test suite
    - nDPI 5.0 reworked Steam detection (ntop/nDPI#2264)
    drnpkr committed Dec 1, 2025
    Configuration menu
    Copy the full SHA
    5b19b2d View commit details
    Browse the repository at this point in the history
Loading