Skip to content

SimpleDeFence 0.1.6 beta

Pre-release
Pre-release

Choose a tag to compare

@fcoltro fcoltro released this 29 Aug 23:59
· 52 commits to main since this release

Fixes the regression in 0.1.4 that left the Blocked list empty.

What 0.1.4 broke

0.1.4 got the blocked events flowing, then lost them in transit.

It raised the firewall's event ring from 500 entries to 5000. But the whole ring is sent as one pipe message on every read, as indented JSON, and read back in 4 KB chunks with a one-second deadline on each chunk:

ring payload 4 KB reads
500 176 KB 42
5000 1.68 MB 429

A service busy blocking things is exactly the one that cannot service 429 timed reads, so the reply stopped arriving — and a reply that did not arrive was reported as "nothing blocked". The symptom was a Blocked list that worked for a second or two after the service started, while the ring was still nearly empty, and was empty ever after.

On a whitelist firewall that has just blocked everything on the machine, that leaves no way back.

Fixed

  • The ring is back to 500 and now holds only drops — the allowed events were discarded by every reader anyway, and were evicting the blocked entries worth seeing.
  • A log that could not be read is no longer reported as a quiet firewall. The section now says the list could not be read from the service, instead of claiming nothing was blocked.
  • The read deadline for continuing chunks of a reply already in flight is now ten seconds instead of one.
  • A failure while rebuilding the list could empty the section with no error shown. Now reported.
  • The empty-state no longer promises "the last 5 minutes" — that window is a setting, and defaults to an hour. All sixteen languages.

If you are installing for the first time

SimpleDeFence is a whitelist firewall: in Normal mode it blocks all outbound traffic except what you have allowed, so a fresh install will cut apps off until you allow them. Switch to Allow outgoing from the tray icon first if you would rather not lose connectivity while you set it up, then allow apps from Rules → Add exception, which has process, window and file pickers.