Seeing "Update limit exceeded" or "Error contacting URL: 429" errors while updating lists?   Read here for more info!

Here are all the changes that have gone into PeerBlock 1.1 (r518) since 1.0 (r181) was released.

 

Major Changes

These changes are deemed "major", either because they change the way you'd expect PeerBlock to operate based on previous versions, or because they're fixing an exceptionally nasty bug.  If you've already reviewed the list of changes from the 1.1 Download page, then this section will be redundant for you - feel free to skip ahead to the Minor Changes section.

  • Display Yellow Icon if HTTP is Allowed - While HTTP Blocking is disabled, the PeerBlock tray icon will turn yellow to warn you that your system isn't as safe as it could be.
  • Fixed "PeerBlock doesn't block unless update at startup" - Thanks to a code contribution by one of our users, "wopeg", we now have a fix for this problem.  Many thanks wopeg!!
  • Limit Max Size of History.db - In the Settings panel, there will be a new option "History Size", defaulting to 100MB.  Setting this to a non-zero value should cause the history.db to be pruned/archived once it reaches this size.  This should help prevent problems with history.db becoming corrupted and/or growing to an absurd size.
  • Systray "Allow HTTP" instead of "Block HTTP" - In the menu that appears when you right-click on the PeerBlock systray icon, the "Block HTTP" item has been renamed to "Allow HTTP".
  • Warn if Exit While Blocking Recently - When you attempt to exit PeerBlock, if we've blocked some non-HTTP packet recently (i.e. within the past 60 seconds), we will pop up a warning message.
  • Force PeerBlock to Start Enabled - If PeerBlock was disabled when you last exited it, it will now start as Enabled the next time you restart it.
  • Allow HTTP for X minutes - The systray right-click menu has two new options: "Allow HTTP for 15 minutes" and "...for 60 minutes".  After the specified amount of time has passed, PeerBlock will revert to Blocking HTTP again.
  • Click on tray icon to minimize window - Previously, left-clicking on the systray icon would merely display the PeerBlock window . . . even if it was previously displayed. Now, if the window is currently displayed left-clicking on the tray-icon will minimize it; and if the window is currently minimized, it will restore it.
  • "Friendly" URLs - PeerBlock is now using "Friendly" URLs for most lists, instead of the URLs you can find at iblocklist.com.  These new URLs should actually be meaningful, instead of something like ".../?list=kpjsadfkljawjefklajwef".
  • List-Add Sanity-Checking - After you've added a new URL-based list in the List Manager, PeerBlock will now perform a "sanity-check" of that URL.  It checks to make sure you haven't added the iblocklist.com "Description URL" instead of the "Update URL", lets you know if you're adding one of the Default Lists, checks for duplicates, recommends iblocklist.com URLs instead of other sites' URLs, etc.  PeerBlock will also offer to fix these URLs for you when possible.
  • List "Optimization" - When you first upgrade to r277, PeerBlock will ask if you will allow it to "optimize" your lists.  If you let it, it will change bluetack.co.uk-hosted URLs over to iblocklist.com-hosted ones, rename list URLs to the new "Friendly" URL-names, and remove duplicated list entries.
  • Saves "Last Known Good" Config - Each time PeerBlock successfully starts up, it will save aside a copy of your configuration as peerblock.conf.bak.  This way if your regular config file, peerblock.conf, ever gets corrupted (or you end up with some bad settings in there) and that prevents PeerBlock from starting, it will be able to load this saved copy instead.
  • Multiple-select of Rows - You can now Ctrl+Click multiple lines in the main window as well as on history (and in the List Manager), to allow/block/copy multiple IP addresses at once.

 

Minor Changes

These changes should impact you less than the previously-mentioned ones, but are still things that have gone in recently in case you're interested.

  • List Manager UI Tweak - Changed the "Open List" button and the "Open..." right-click menu entry to be "View" instead, to match what we've got up in the top section.
  • No Duplicate Lists - We now should be correctly handling list entries, so that you don't end up with duplicate lists.  This was mostly a problem if you added a list via checkbox and also via the dropdown list.
  • Sorted Lists - Dynamic lists should now be sorted (by description) whenever opening/closing the List Manager.
  • New Tray-menu Items - Added "Help" and "Support" entries to the right-click menu for the system-tray icon, taking you to our online User Manual and Forums sites, respectively.
  • About Window Tweak - The "Launch Homepage" button on the "About" window now takes you to www.peerblock.com, instead of our old sites.google.com hosted page.
  • Installer Tweaks - The installer now has a PeerBlock icon!  Also, removed the "License" shortcut from the Start Menu.
  • Save Window Positions - If you move around windows after opening them, their positions should now be saved.
  • Save Column Positions - We now save the placement of the columns in e.g. our Blocked/Allowed Connections list on the main UI window.
  • Default to "Delete History every 2 Days" on Fresh Install - On new installations, we now default to deleting your history every two days. This should strike a nice balance between not wasting disk space and keeping around enough information that we can troubleshoot your problems if/when they arise.
  • Sort History Window with Most Recent First - The "View History" window should now show the most recent entries at the top of the list.
  • Installer Tweaks - The installer should now have a PeerBlock icon.  Also, the license shortcut has been removed from Start Menu.
  • Fix for "StartService, 2, file not found" Error - Some XP users have experienced problems getting PeerBlock to start, in which PeerBlock would complain that it can't load the packet filtering driver, with the aforementioned error information.  This should be resolved now.  If not, please let us know!
  • Fix for History Search by Protocol - Previously, PeerBlock would crash if you searched the History for e.g. TCP protocol packets.
  • Updated Exception Handling - If PeerBlock crashes, it should be more likely to take a dump. Previously, there were some classes of crash that it wouldn't catch.
  • Cleanly Terminates upon Windows Shutdown - Previously, we still weren't shutting down cleanly if we were running when the user logged off or shutdown/restarted Windows.  This was possibly implicated in one or two rare problems reported.
  • Fixed "PeerBlock doesn't block unless update at startup" - Thanks to a code contribution by one of our users, "wopeg", we now have a fix for this problem.  Many thanks wopeg!!
  • Enabled "Update at Startup" - We've re-enabled that as an option, so you can now select or deselect that option at will (in the second settings panel).  This setting had been hardcoded to True due to the above bug.
  • Fixed XP "Only Works on First Start" Problem - This fixes one of the most annoying recent problems, the one in which on some XP systems PeerBlock would fail to load the driver after the first start of a boot.
  • Limit Max Size of History.db - In the Settings panel, there will be a new option "History Size", defaulting to 0.  Setting this to a non-zero value should cause the history.db to be pruned/archived once it reaches this size.
  • Systray "Allow HTTP" instead of "Block HTTP" - In the menu that appears when you right-click on the PeerBlock systray icon, the "Block HTTP" item has been renamed to "Allow HTTP".  The thinking behind this is that blocking HTTP should be the default state, with Allow HTTP being the exception.  So this should simply make more sense.
  • New Splashscreen! - I know, everybody hates the Splashscreens.  And no, we're not re-enabling them by default.  However, one user (Mourad) sent in a new splashscreen for us that I think is too good to let fall completely by the wayside, so we're including it as our sole splashscreen pic . . . if you choose to manually enable it.
  • Changed Error Text - The messages that show up for Exceptions have been changed to not say "This information has been automatically sent to Phoenix Labs, thanks for helping improve PeerGuardian!".  Also, changed the "unable to load packet filtering driver" message, to something more meaningful.
  • Installer Changes: "Reset PeerBlock settings" should always be deselected - "Reset PeerBlock Settings" should always start deselected even if you'd previously selected it.  Same thing with the "Uninstall PG2" task.  Archived files are only removed if you tell it to remove PeerBlock settings.
  • Fix for List-Download Crash - This should resolve the "PeerBlock randomly crashes / disappears overnight" problems.  It had been crashing occasionally, on some people's computers, while checking for updated lists.
  • Save Failed Lists - If a newly downloaded list fails verification, we'll now save that file as "...\lists\numnumnum.list.failed".
  • Warn if Exit While Blocking Recently - When you attempt to exit PeerBlock, if we've blocked some non-HTTP packet recently (i.e. within the past 60 seconds), we will pop up a warning message.  This 60 second value is configurable by hand-editing peerblock.conf via Notepad - change the RecentBlockWarntime setting from 60 to however many seconds you'd like; 0 disables this feature.
  • Force PeerBlock to Start Enabled - If PeerBlock was disabled when you last exited it, it will now start as Enabled the next time you restart it.
  • Allow HTTP for X minutes - The systray right-click menu has two new options: "Allow HTTP for 15 minutes" and "...for 60 minutes".  After the specified amount of time has passed, PeerBlock will revert to Blocking HTTP again.
  • Click on tray icon to minimize window - Previously, left-clicking on the systray icon would merely display the PeerBlock window . . . even if it was previously displayed. Now, if the window is currently displayed left-clicking on the tray-icon will minimize it; and if the window is currently minimized, it will restore it.
  • Switched "Additional Lists" to iBlocklist - The "additional lists" listed in the dropdown box when you add a new list used to all be www.bluetack.co.uk based ones. These are now iblocklist.com based URLs instead.
  • "Friendly" URLs - PeerBlock is now using "Friendly" URLs for most lists, instead of the URLs you can find at iblocklist.com.  These new URLs should actually be meaningful, instead of something like ".../?list=kpjsadfkljawjefklajwef".
  • List-Add Sanity-Checking - After you've added a new URL-based list in the List Manager, PeerBlock will now perform a "sanity-check" of that URL.  It checks to make sure you haven't added the iblocklist.com "Description URL" instead of the "Update URL", lets you know if you're adding one of the Default Lists, checks for duplicates, recommends iblocklist.com URLs instead of bluetack.co.uk URLs, etc.  PeerBlock will also offer to fix these URLs for you when possible.
  • List "Optimization" - When you first upgrade to r277, PeerBlock will ask if you will allow it to "optimize" your lists.  If you let it, it will change bluetack.co.uk-hosted URLs over to iblocklist.com-hosted ones, rename list URLs to the new "Friendly" URL-names, and remove duplicated list entries.
  • Saves "Last Known Good" Config - Each time PeerBlock successfully starts up, it will save aside a copy of your configuration as peerblock.conf.bak.  This way if your regular config file, peerblock.conf, ever gets corrupted (or you end up with some bad settings in there) and that prevents PeerBlock from starting, it will be able to load this saved copy instead.
  • Fix for "Volume externally altered" App-Crash - There was a problem in which peerblock.conf would get corrupted - this would cause PeerBlock to "crash" every time it was started.  This has been fixed.
  • Fixed Crash-causing Vulnerability - A malicious program running on the local machine could send an malformed IOCTL to our driver, causing the machine to crash.  This is not much of a security hole - all it can do is cause the machine to crash, and it requires that a "bad" program already be running on your local machine - but it is good to defend against this condition all the same.  Many thanks to Luka Milkovic (Aelthegrin) for the report!
  • Multiple-select of Rows - You can now Ctrl+Click multiple lines in the main window as well as on history (and in the List Manager), to allow/block/copy multiple IP addresses at once.
  • Remove pbfilter driver-service - We'd been leaving the pbfilter driver-service "wrapper" existent after we exited, which was unclean at best, especially for people wanting to run it in "Portable Mode" off a USB stick.
  • Changed Setup Wording - Changed the wording of the "Always Allow HTTP" option in the Setup Wizard from "While these ports are usually used for web browsing, programs oftentimes use them too" to "...other programs often use them too"
  • Added Driver Tracing - A whole bunch of driver trace messages were added, though they're not easily showing up except on XP (where you can run DebugView to see them).
  • Code Cleanup - Removed some old unused code, in various locations.
  • Third-party Libs Updated - SQLite --> 3.6.22, 7zip (used for creating "portable" .zip versions --> 9.10, InnoSetup (used for building installer) --> 5.3.7.
  • Installer: New Custom Task Backend - Changed the way the installer handles previously-selected tasks.
  • Updated Copyright Notices for 2010 - Now that we're a new year, the program copyright notices have been updated to reflect this. Should say "Copyright (c) 2009-2010 PeerBlock, LLC" in all publicly visible locations.
  • Cleanup Tabs in Readme - The readme.rtf file should be layed out just a wee bit better, regardless of whether you use MS Word or Wordpad to view the file.
  • Added Security Build-Flags - A number of security-oriented build-flags have been applied, things that should e.g. help prevent third-party code-injection attacks.
  • Added Icons to All Windows - None of our windows should now display a "broken" icon, although some of them still have no icon at all (as is expected, for that window style). These icons should also change colors as per your current Enabled/Disabled/Allow HTTP settings.
  • Installer: Ensure 'Start with Windows' reg key deleted during uninstall - Previously, the uninstaller was apparently not removing the registry-key we put in there to get us to Start with Windows. It should be, now.
  • Fixed "Edit List" dropdown list problem on XP - Just a minor tweak. The dropdown list on the "Edit List" window (in the List Manager) should now display more than one line on XP.
  • AddList window now defaults to Add URL - It seemed silly to have the File-based list option selected by default, when most times someone's adding a list I think they're probably adding a URL
  • Updated Libs - Updated libcurl and boost to new versions.
  • Added additional Atma list URLs for dupe-checking - Some of the additional URLs from which the Atma list could be downloaded weren't present in our duplicates-checking code, so we wouldn't previously have added these URLs.
  • Installer Changes - Increased decompression speed, added copyrights to files.
  • Correctly handle \??\C:\WINDOWS\System32\DRIVERS type paths - Previously, we'd had some issues in which on some peoples' machines the path to ipfltdrv.sys (XP/2000 only) was showing up as the above.
  • Prevent "Double Updates" - Previously, PeerBlock could pop up the Checking for Updates window twice when you start it.  This could happen if you'd not run PeerBlock for a few days, and had the Update at Startup option selected.
  • Compare URLs Against Entire String - Previously we were only checking against partial string matches, so that we were incorrectly matching URLs for certain country-codes (like Bhutan).
  • Signed Uninstaller - Our uninstaller is now signed.  Not that you'd ever want to uninstall PeerBlock of course, right...?
  • Additional Tracing Code for Issue #183 - Added some additional tracelogging code to help chase down Issue #183, in which PeerBlock hangs while "deleting tray icons" during exit.  If you are one of the "lucky few" who have encountered this issue in the past (I don't believe anyone on the Test Team has however), please attempt to repro this problem and post your logs!
  • Don't blink on UDP port 80/443 blocks - Previously, some people had noticed that the systray icon would start blocking as if it had blocked an HTTP packet . . . except that HTTP was allowed.  Turns out the problem was that Allow HTTP only allows TCP connections on ports 80 or 443, while the Blink code was also being triggered by UDP connections on ports 80 or 443.
  • Don't display Update Window if neither Update Lists nor Update PeerBlock is selected - Previously, if you had both Update Lists and Update PeerBlock deselected, when you clicked "Check Updates" an empty window would appear for a split second.
  • Added TBG list URLs to list-add sanity-check - The URLs from the main TBG site had not previously been added to PeerBlock, so we wouldn't have caught e.g. duplicate list additions had those URLs been used.  If you add these URLs, they will now be flagged as "Not iblocklist.com URLs". (We had to pick something, and this seemed to make the most sense...)
  • Better "Last Updated" handling for list-update checking - Many users have been experiencing problems with updated lists not being detected, after iblocklist.com's change to start reporting actual last-modified timestamps. We should now be correctly catching updated lists.
  • Updated History Setting Defaults - Changed the defaults for History settings to "Remove every 7 days" and Max Size = 100 MB.  If your settings have these left at the old defaults, PeerBlock will pop up a window during your first run that advises you that it's making these changes.  This should help prevent problems with history.db becoming corrupted and/or growing to an absurd size.
  • Changed Systray-icon Left-click Handling - New behavior:  If the window is minimized, restore it.  If the window is at all hidden by other windows, bring it to top.  If window is already at top, minimize it.
  • Changed "Allow HTTP for X min" Visible Handling - If you select the "Allow HTTP for X min" option in the right-click menu, that option will now be highlighted.  Previously, it would highlight the "Allow HTTP" button.   Also note that transitioning from one Allow HTTP state to another will not start Blocking HTTP, only clicking a currently-selected Allow HTTP option will restart HTTP Blocking.
  • New Manually-settable Options - Added two options to the peerblock.conf config-file, for people who don't like some of the new features we've added during our Beta period.  "ListSanityChecking" lets you disable the List-add Sanity-checking (for dupes, non-iblocklist URLs, etc.) by setting it to "no"; "WarningIconForHttpAllow" lets you make it so that we will not change to a yellow "warning" icon if you're Allowing HTTP, if you set it to "no".
  • New Splashscreen and Installer Pic - These have been updated with some new images sent in by the new Graphics Guy on our team, Mourad.
  • Edu View button now works - Fixed a problem in which clicking the View button for the Education Default List wasn't working.
  • "Blocking X IPs" now uses locale-specific number-grouping - No more "Blocking 1234982309423 IPs" text! It should now use whatever thousands-separator (etc.) is expected for your locale.  This means comma-separated for the US, and space- or period-separated for some other countries.
  • Added some Bluetack URLs for list-add sanity-check - We were missing a few bluetack.co.uk-hosted list URL variants in our "sanity-checking" code.  They should all be working now.
  • Third-party Lib Updates - Some of the third-party code has been updated to a newer rev.  No major changes here, should just be some minor speed/bugfix issues.
  • Additional Light Cleanup - Updated the 7-zip tool we use to create "portable" .zip file versions, build- and installer-script tweaks, and some other minor code cleanup.
  • Delete gargantuan history.db - If your history.db file is larger than 1.5 times the configured MaxHistorySize value, we'll delete the history.db file instead of attempting to truncate it down to size. This we believe is the cause of some people's issues with PeerBlock "hanging" after first upgrading to e.g. r404; it can take awhile to cut a multi-gigabyte history.db down to size.
  • Migrate from discontinued lists - The Bluetack Webexploit/Forumspam list has been split into two separate lists, with the original "merged" list no longer being updated; also the CompleteWhois Bogon list was abandoned about a year ago. For each of these lists, if you have one of them configured you'll get a "notification message" on your first run after installing the new version, telling you that we're updating your config to the two new Bluetack Webexploit & Forumspam lists, or from the cw_bogon list to the cidr_bogon list (the most-frequently updated Bogon list, and the one that Bluetack's appears to be based upon).
  • Better handling of list downloads - We now trap more errors, log more information, change visible status from "Downloading" to "Verifying" when we're checking to make sure a valid list was downloaded, and make a copy of failed-to-load-file type lists to .failed.
  • Improved error tracing - We now have better tracing of errors in our driver, and added additional code to log info about errors loading them. Hopefully this should mean better debugging output, particularly for XP/2000 driver issues.
  • Better top-level window checking - Previously we were just checking the four corners of our window to see if it's topmost, when you left-click the systray icon. This led to problems in that if smaller windows were positioned on top of the PeerBlock window we'd incorrectly think that it was topmost when it really wasn't. This new version is checking a 10x10 grid of points, so should be much better at correctly determining this.
  • Ensure that Default Lists are all of type: Block - One user experienced a problem - he had apparently upgraded to PeerBlock from PG2, except that all his lists were originally (but presumably incorrectly) set to Allow.  Since we have no way of changing our Default Lists block-types within the List Manager, this is impossible to correct without hand-editing the config-file.  Soooo, if you're upgrading from a pre-r411 release we'll now check to make sure that all our Default Lists are of type Block.
  • Removed close-button from "Generating List Cache" window - No little X close-button should be in the corner of the Generating List Cache window anymore.
  • Make "Find next" the default button on View List window - Typing some text into the "View List" window and pressing enter should perform that Find Next operation.
  • Check less frequently if history.db size > max_size - We used to check for the size of history.db every time 100 messages were logged to it, which was happening FAR too frequently (and the file should only have grown ~8k since the last time we checked). For performance reasons, we're now checking once every 10,000 messages logged, which should result in history.db growing only ~500KB - 1MB. Also added a manually-editable configuration field for this (in peerblock.conf), called HistoryCheckInterval - the number you enter here is the number of logged-entries after which we'll check for filesize.
  • Installer cleanup - A few minor tweaks here: Add/Remove Programs "Update information" URL changed from peerblock.com to peerblock.com/releases; don't display license-page if this is an upgrade-install; some services-related code.
  • Special-case handling for ZeuS list - Added the new "ZeuS" list to our list-add sanity-checking code, as well as a new galinux.myftp.org/atma.p2p URL for the Atma list.
  • Better peerblock.conf sanity-checking during load - Previously, if we had problems accessing the .conf file we'd throw an exception but continue as if it had loaded successfully. We'll now better catch errors, tracelog more information about load failures, mark the .conf as failed, try the .conf.bak file, and copy the failed file to .failed for later debug (and these .conf.failed files should be deleted on uninstall).
  • Don't write Block settings to peerblock.conf - We no longer care about saving the "Block" setting to the .conf file, since we're hardcoding PeerBlock to start up as Enabled.

You can also find our complete changelog - with diffs for each change - over on Google Code.  Some trivial changes, stuff like updates to our Credits text, we didn't feel are worth calling attention to here.  Note that after r343, only changes prefixed with "1.1.x branch" will be present in this Stable Release.