Main repository for pfSense
Go to file
stilez 4557e3fba6 data sanitising: ip2long32, ip2ulong, long2ip32 (FIXED RESUBMIT of #2152)
Self explanatory. If these functions find themselves trying to convert non-int data (or an x64 int with non-zeros in any bits >32) to dotted IPv4, or non-dotted IPv4 to integer IPv4 values, something's wrong and they shouldn't return a value that looks like they succeeded.

The original PR caused issues with VPN. This was because, to check the presence of any bits beyond #32 were zero (if INT was 64 bits or larger), the operator >>32 was used. Unfortunately this was undefined on x32 platforms. (See https://forum.pfsense.org/index.php?topic=104175 ). 

The fix below was tested on x32, on the same thread.

TEST PR'ed IN #2152 (FAILS ON x32): 
return ((is_int($ip) && ($ip >> 32) == 0) ? long2ip($ip & 0xFFFFFFFF) : '');

TEST NOW USED (SEEMS RELIABLE ON ALL SYSTEM INT SIZES):
return ((is_int($ip) && ($ip & ~0xFFFFFFFF) == 0) ? long2ip($ip & 0xFFFFFFFF) : ''); 

Other than this line and a comment, this code is identical to PR #2152
2015-12-23 10:34:24 -05:00
src data sanitising: ip2long32, ip2ulong, long2ip32 (FIXED RESUBMIT of #2152) 2015-12-23 10:34:24 -05:00
tools Implement necessary code to be able to sign pkg(8) repo 2015-12-23 12:00:46 -02:00
.editorconfig Add .inc files to editorconfig 2015-05-22 10:30:23 -03:00
.gitattributes include gettext locales in line encoding list 2014-01-13 22:05:10 -05:00
.gitignore Merge branch 'master' into bootstrap 2015-08-26 15:12:02 -03:00
BOOTSTRAP.md Rename this to BOOSTRAP.md so it's not presented as the general repo info now that it's back in master 2015-09-14 13:42:57 -04:00
build.conf.sample Add more options to builder.conf.sample and also add missing export 2015-08-25 14:49:58 -03:00
build.sh Teach build_snapshots to deal with poudriere builds 2015-11-25 09:39:23 -02:00
license.txt Convert license.txt to UTF-8 2015-08-28 17:54:46 -03:00
README.md link to proper license information location 2015-12-11 14:36:21 -06:00

pfSense

Overview

The pfSense project is a free network firewall distribution, based on the FreeBSD operating system with a custom kernel and including third party free software packages for additional functionality. pfSense software, with the help of the package system, is able to provide the same functionality or more of common commercial firewalls, without any of the artificial limitations. It has successfully replaced every big name commercial firewall you can imagine in numerous installations around the world, including Check Point, Cisco PIX, Cisco ASA, Juniper, Sonicwall, Netgear, Watchguard, Astaro, and more.

pfSense software includes a web interface for the configuration of all included components. There is no need for any UNIX knowledge, no need to use the command line for anything, and no need to ever manually edit any rule sets. Users familiar with commercial firewalls catch on to the web interface quickly, though there can be a learning curve for users not familiar with commercial-grade firewalls.

pfSense started in 2004 as a fork of the m0n0wall Project (which ended 2015/02/15), though has diverged significantly since.

pfSense is Copyright 2004-2015 Electric Sheep Fencing LLC and published under an open source license. Read more at https://pfsense.org/ and support the team by buying a Gold Membership Subscription, bundled hardware appliances or commercial support.

Contribute

Contact coreteam@pfsense.org to get involved.

Once you have the LA and CLA complete, you can submit changes as pull requests on github: https://help.github.com/articles/using-pull-requests/

Our developers will review the submissions, offer feedback, and merge the changes if they are acceptable.