r/delphi • • 17h ago

Delphi Forever - Why the Return to Native Desktop Apps Is the Only Answer to AI Cyber Threats and Modern Regulation

Post image
14 Upvotes

The recent wave of high-profile supply chain exploits and PHP vulnerabilities is a warning shot for the entire software industry. As AI-driven vulnerability discovery accelerates, interpreted web stacks and cloud-native services face an unprecedented crisis of trust.

When cloud exposure becomes a liability, the pendulum will inevitably swing back toward sovereign, lightning-fast local native applications operating over truly secured channels. In that space, Delphi remains the undisputed King.

However, security through obscurity is eroding fast.

For 30 years, Delphi’s power lay in RAD - wrapping complex third-party libraries, legacy DLLs, and OS APIs into convenient components. But AI models don't care about shiny controls; they scan binaries for decades-old memory safety flaws and hidden buffer overflows hidden inside third-party dependencies.

Compounding this threat is the new wave of global cyber-security regulations (such as Europe's Cyber Resilience Act and expanding SEC disclosure rules). Regulators now demand total supply-chain transparency, mandatory SBOMs (Software Bill of Materials), and strict liability for unpatched legacy code. Saying "it won't happen to us" or relying on unmaintained controls is no longer just a technical risk - it’s a regulatory compliance violation.

To ensure Delphi applications serve as the ultimate secure fortresses of tomorrow, we must act:

Audit and modernize dependencies: Stop blindly wrapping legacy DLLs. Know exactly what code is executing underneath your components.

Integrate deep binary security: Implement strict memory checks, continuous audits, and zero-trust principles at the local architectural level.

Harden the infrastructure: Prepare your stack to meet modern regulatory compliance before the mandates force your hand.

The web era promised total connectivity, but native architecture delivers total resilience. Let's harden our ecosystem, eliminate the hidden vulnerabilities, and show the world why Delphi is built to last.


r/delphi • • 11h ago

We wrote our own QUIC/HTTP/3 stack in Object Pascal for Delphi, and found an OpenSSL QUIC bug along the way

7 Upvotes

Disclosure: I develop StreamSec Tools, a commercial security library for Delphi (TLS, SSH, X.509/PKIX, CMS, HTTP). Version 4.1.5.362 came out on 26 October and adds QUIC and HTTP/3. The QUIC part is written from scratch in Object Pascal, not wrapped around MsQuic or OpenSSL.

What's in it

  • An RFC 9000 transport: packet protection, loss recovery, NewReno with pacing, connection migration, ECN, key updates, resumption and opt-in 0-RTT, on the library's own TLS 1.3 and crypto.
  • Cross-platform: Win32/Win64, macOS, Linux64, iOS and Android, Delphi XE3 to 13 Florence (Linux from 10.3 Rio, mobile from 10.4 Sydney). IOCP, epoll and kqueue underneath.
  • An HTTP/3 server on the same request router as the HTTP/1.1 and HTTP/2 servers, so existing handlers answer HTTP/3 unchanged, and an HTTP/3 client that finds a server's endpoint through Alt-Svc.

How fast is it?

Two Windows PCs over Wi-Fi, each library sending bulk data to each, 8 interleaved rounds per combination, medians. These are the runs sending to a StreamSec or MsQuic receiver:

Sender Throughput (MiB/s) Sender CPU (CPU-s per GiB)
MsQuic 2.6.3 41.0 - 46.0 about 3
StreamSec 35.3 - 41.0 11 - 16
OpenSSL 3.5.9 22.5 - 31.8 9 - 15

So ahead of OpenSSL on throughput and at 82-95% of MsQuic, with CPU cost in OpenSSL's range. MsQuic is still far more CPU-efficient than either.

The OpenSSL bug

During interop testing, OpenSSL's QUIC client stalled against our server in every run. The cause: when the packet carrying an OpenSSL receiver's latest MAX_STREAM_DATA is lost, OpenSSL doesn't send the update again unless that packet also carried data for the stream. RFC 9000 section 13.3 says it must. With a short request and a long response, the download can stall for good.

We reproduced it with 3.5.7 and 3.5.9, with OpenSSL at both ends through a relay dropping 5% of the client's packets: 6 of 13 runs stalled unpatched, and 13 of 13 completed with a two-place patch. It's reported with the reproducer and the patch, and OpenSSL has triaged it as a bug on 3.5 through 4.1 and master: https://github.com/openssl/openssl/issues/33373 (the OpenSSL numbers above are with that patch applied).

Happy to answer questions about the implementation.


r/delphi • • 12h ago

Looking for Mac beta testers for a Delphi FMX app

4 Upvotes

I’m looking for a small group of Delphi developers who use Macs and would be willing to beta test Debt Blaster, my Delphi FireMonkey application for macOS.

I’ve been developing Windows software for about 35 years, but this is my first serious macOS release, so I’ve been learning quite a bit along the way.

The current build is a notarized Universal app supporting both Intel and Apple Silicon. I recently moved the macOS build to Metal, which resolved the Retina/HiDPI rendering problems I had been chasing.

At this point I’d like to test it on a wider variety of Macs, macOS versions, Retina displays, and external monitors before submitting the final build to the Mac App Store.

I’m looking for perhaps 10 to 20 testers. If you’re interested, please DM me with your Mac model, processor, and macOS version.

Debt Blaster: https://debtblaster.com

Thanks.