# Firewall Builder 5.2.0 Release Notes

SourceForge: Tickets

## Summary

In addition to bug fixes and minor enhancements, v 5.2 includes the following new features:

- Search for objects by port number or ip address
- Graphical diff viewer
- Diff on generated output, autocompiling firewall when loading file
- Support for Cisco NXOS Access lists
- Support for dummy objects in rules
- Port to Qt5
- New buildscript and instructions for OSX
- Added build instructions for Windows

### Search for objects by port number or ip address

In the library tree viewer it is possible to search for objects by port number or ip address. To search by port number you prefix with keyword 'port:', and to search by ip address, 'ip:'. This will display all matching objects, including groups. Some examples:

      Find single service
    port: 80

      Find several services
    port: 110,995

      Range based search
    port: 25-143

      Search with limits
    port: <443
    port: >5900

      Composed search
    port: <24, 53, 80-110

      Find a single IPv4 address, and networks it belongs to
    ip: 192.0.2.1

      Search using netmask
    ip: 198.51.100.0/255.255.255.0
      CIDR notation
    ip: 198.51.100.0/24

      Find a single IPv6 address, and networks it belongs to
    ip: 2001:db8::1

      Search using netmask
    ip: 2001:db8::/64

      Composed search
    ip: 203.0.113.0/24,2001:db8::/32

### Graphical diff viewer

A new graphical diff viewer will show all the changes done since loading of file. Selection of rules are synced in the side-by-side view and double clicking a rule will center the rule in both the original and curent view. The diff viewer is activated by a new button in the upper right corner of the rule set view.

### Diff on generated output, autocompiling firewall when loading file

The user may choose an external diff utility to compare generated firewall output with a previously stored version. Optionally Firewall Builder can compile all firewalls in a project when the file is loaded. When modifying and compiling the user may compare newly generated firewall output with output generated from when the file was loaded. This feature is added to the "Inspect generated files" window.

### Support for Cisco NXOS Access lists

Firewall Builder now supports generating output for the Cisco NXOS platform. This is based on the Cisco IOS code with only minor adjustments and more testing is needed.

### Support for dummy objects in rules

The dummy object-feature enables the user to choose if newly inserted rules are added with any as the default target for source, destination, service or interface; or now: dummy. A rule with a dummy target will let the firewall compile but will not be evaluated. The user is shown a warning when compiling a firewall that contains one or more dummy rules. The default target is set both when you create a rule and when you delete the last remaining target. A dummy target may be "converted" to an any target. This option becomes available when right clicking on a dummy target.

### Port to Qt5

Firewall Builder may now be compiled with Qt4 or Qt5, with the same codebase. This is tested on Linux and on OSX. Note: macdeployqt 5.0 and 5.1 is broken on OSX, please see QTBUG-32379.

### New buildscript and instructions for OSX

A new build script and instructions are added for OSX. See doc/README.osx in the source code.

### Added build instructions for Windows

Build instructions for Windows are added. See doc/README.windows in the source code.

## GUI Updates

- Fixed bug in the undo stack system when adding a new rule, undoing and redoing. The rule is now placed back in the correct group, if any, and is not corrupting the undo stack.

## Common changes that affect policy compilers for all platforms

- There are now two valid return values for the compilers. In addition to the success return code, the compilers now return a fixed value when compiling a firewall with one or more dummy rules. This value signalizes the result "success with warning".

  The libcommon static library, and all the compiler executables, are not using QApplication but QCoreApplication. This removes their dependency on QtGui and gives faster startup on some platforms.

## Other changes

- Fixed compile warning on 64 bit arch and some compile errors.

- Fixed libpng warnings: "iCCP: known incorrect sRGB profile".