Git Product home page Git Product logo

inverse-inc / packetfence Goto Github PK

View Code? Open in Web Editor NEW
1.3K 88.0 274.0 370.02 MB

PacketFence is a fully supported, trusted, Free and Open Source network access control (NAC) solution. Boasting an impressive feature set including a captive-portal for registration and remediation, centralized wired and wireless management, powerful BYOD management options, 802.1X support, layer-2 isolation of problematic devices; PacketFence can be used to effectively secure networks small to very large heterogeneous networks.

Home Page: https://packetfence.org

License: GNU General Public License v2.0

PowerShell 0.05% Perl 61.54% Shell 1.78% NSIS 0.03% C++ 0.23% C 0.30% JavaScript 9.58% HTML 2.02% Makefile 0.33% Python 0.38% PHP 0.01% PLpgSQL 0.10% GDB 0.01% Go 10.91% Vue 12.07% HCL 0.03% SCSS 0.33% Jinja 0.01% Dockerfile 0.12% CSS 0.18%
nac packetfence network

packetfence's People

Contributors

abprasa avatar atran-inverse avatar bbs2web avatar cgx avatar cmammoli avatar dependabot[bot] avatar dwlfrth avatar elverde avatar ersitzt avatar extrafu avatar fdurand avatar garci66 avatar ieno77 avatar jegoi avatar jrouzierinverse avatar julsemaan avatar louismunro avatar lyubomirtraykov avatar lzammit avatar nqb avatar obilodeau avatar satkunas avatar simbazad avatar snyk-bot avatar stegar123 avatar stgmsa avatar tlaurion avatar tominverse avatar tribut avatar vakarisz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

packetfence's Issues

Nothing happening when floating device is connected

I've configured a floating device and started to change the ProCurve 2920 switch module to support floating devices, but i never got any messages in the log from the functions that should have been called when a floating devices mac was seen on a port.

I've then changes the switch capabilities back to not support floating devices in which case i expected to get a log entry that my device does not support floating devices, but that did not happen either...

I'm still on 4.5.1

DB password in configurator is not apply

Install devel version on centos6, try to use the configurator and when you reach 'Change the admin password' it won't work.

The database password of the user pf is set to his default 'packet', change pf password from configurator do not apply.

Centos7 Installation

When we install Packetfence from devel repo on centos, we must specify radius version else he is trying to install 3.0.1 and we need something < 3.0 for the installation. The install process is trying to install freeradius from base repo where we need it to install from pf repo.

Disable SSLv3 on web servers for POODLE

[This is a copy of issue 0001866 in mantis]
Ref: http://packetfence.org/bugs/view.php?id=1866

SSLv3 is enabled by default in Apache config files. Not a best common practice with POODLE on the loose.

SSLv3 is being deprecated by all vendors as it is unfixable.
We should remove support for it.
Our default install should strive for security by default when practical. If the PF admin wants SSLv2 he should enable it.

Missing copyright / pod

lib/pf/config/util.pm
lib/pfconfig/empty_string.pm
lib/pfconfig/log.pm
t/prepare-pfconfig.t
addons/dev-helpers/exported-subs.pl

Fingerbank integration

Integration with the new Fingerbank API and PacketFence for violations and OS detection.

Advanced search

While using saved search,

if you have a saved search and you removing the conditions of this one, all your saved search conditions are removed. Not saving anything.

Just remove the conditions of one saved search and select another saved search to recreate the bug.

Everything is back in order if you reload the page.
(Centos 6.6)

Updating role name "breaks" switches.conf configuration

When a role is created, and a VLAN value is assigned to that role for a switch, updating that node role will simply remove the field from the switch role list (but will keep it in switches.conf) and replace it with the new role with an empty value.

How to reproduce:

  • Create a role
  • Go into a switch and assign a VLAN for that role
  • Rename the role
  • Go back in the switch config.

Expected behavior:
The role name should be changed... Otherwise, you will have to go through all the config and replicate the change.

Multiple entries for the same mac address in 'node' tab

A same node (MAC address) will be displayed more than once in the 'node' tab if more than one iplog entry is opened for that same MAC.

With the new way iplog works, it may occurs and it is a 'normal' behavior to have 'more than one iplog entry for a same MAC'.

The only thing that is different in the listing is the 'current IP' which refers to each opened iplog entries.

Expected behavior:

  • We shouldn't have more than one entry in the 'Node' tab for a MAC, even if there's more than one iplog entry opened.

packetfence 4.4.0 with Mysql5.1 have very much slow query in a big environment have 2000 machine

packetfence 4.4.0 with Mysql5.1 have very much slow query in a big environment have 2000 machine

Count: 8 Time=176.57s (1412s) Lock=0.00s (0s) Rows=22.9 (183), pf[pf]@localhost
SELECT o.description, n.dhcp_fingerprint, COUNT(DISTINCT n.mac) AS count, ROUND(COUNT(DISTINCT n.mac)/(SELECT COUNT(_) FROM node)_N,N) AS percent
FROM (node n, iplog i)
LEFT JOIN dhcp_fingerprint d ON n.dhcp_fingerprint = d.fingerprint
LEFT JOIN os_type o ON o.os_id = d.os_id
WHERE n.mac = i.mac AND i.start_time BETWEEN 'S' AND 'S'
GROUP BY o.description
ORDER BY percent desc

Count: 204 Time=37.06s (7560s) Lock=0.00s (0s) Rows=0.0 (0), pf[pf]@localhost
update iplog set end_time = adddate(now(), interval 'S' second) where mac='S' and ip='S' and (end_time = N or end_time > now())

Count: 330 Time=35.32s (11654s) Lock=0.00s (0s) Rows=0.0 (0), pf[pf]@localhost
insert into iplog(mac,ip,start_time,end_time) values('S','S',now(),adddate(now(), interval 'S' second))

Count: 4 Time=25.07s (100s) Lock=0.00s (0s) Rows=1.5 (6), pf[pf]@localhost
SELECT ssid, COUNT(DISTINCT locationlog.mac) AS nodes, ROUND(COUNT(DISTINCT locationlog.mac)/
(SELECT COUNT(DISTINCT locationlog.mac)
FROM locationlog
INNER JOIN node ON node.mac = locationlog.mac AND locationlog.end_time IS NULL
INNER JOIN iplog ON node.mac = iplog.mac
WHERE ssid != "S" AND iplog.start_time BETWEEN 'S' AND 'S'
)*N,N) AS percent
FROM locationlog
INNER JOIN node ON node.mac = locationlog.mac AND locationlog.end_time IS NULL
INNER JOIN iplog ON node.mac = iplog.mac
WHERE ssid != "S" AND iplog.end_time BETWEEN 'S' AND 'S'
GROUP BY ssid
ORDER BY nodes

Count: 500211 Time=20.87s (10439818s) Lock=0.00s (15s) Rows=0.0 (0), pf[pf]@localhost
update iplog set end_time=now() where ip='S' and (end_time=N or end_time > now())

Count: 2 Time=20.32s (40s) Lock=0.00s (0s) Rows=0.0 (0), pf[pf]@localhost
update iplog set end_time=now() where ip='S' and end_time=N

Count: 83595 Time=19.97s (1669210s) Lock=0.00s (6s) Rows=0.0 (0), pf[pf]@localhost
delete from iplog where unix_timestamp(end_time) < (unix_timestamp(now()) - 'S') and end_time!=N

Count: 2 Time=18.55s (37s) Lock=0.00s (0s) Rows=0.0 (0), pf[pf]@localhost
UPDATE node SET
mac='S', pid='S', category_id='S', status='S', voip='S', bypass_vlan='S',
detect_date='S', regdate='S', unregdate='S', lastskip='S', time_balance=NULL, bandwidth_balance=NULL,
user_agent='S', computername='S', dhcp_fingerprint='S',
last_arp='S', last_dhcp='S',
notes=NULL, autoreg='S', sessionid='S'
WHERE mac='S'

Count: 4 Time=17.89s (71s) Lock=0.00s (0s) Rows=1.0 (4), pf[pf]@localhost
SELECT COUNT(*) as count FROM node LEFT JOIN node_category on node_category.category_id = node.category_id LEFT JOIN dhcp_fingerprint on dhcp_fingerprint.fingerprint = node.dhcp_fingerprint LEFT JOIN iplog on iplog.mac = node.mac AND ( iplog.end_time = 'S' OR iplog.end_time > NOW() ) LEFT JOIN os_type using( os_id ) WHERE ( iplog.ip LIKE 'S' )

PF Config refactoring (readonly)

Refactor the access to the config hashes using the new tied interface. Will only cover the read portion of the configuration hashes and the ConfigStore should be left in place to handle the write on the ini files + for httpd.admin

Just getting started - no email or sms working.. phone providers in the UK are missing

Hi

New to packet fence
This looks awesome!
Loving the captive portal - just installing some strawberry perl to get me going.. hope i can change it so it looks a bit more simple..
I don't receive any sms's, is there any specific config for this? There are no UK mobile phone providers listed, can I update this?
for emails - do I need to start and SMTP service on the packetfence server? I'm using the zero effort 4.7.. the captive portal is working..

Date range breaks search in nodes.

Searching for nodes with a specific date range in nodes throws up an
“An error occured while contacting the server” in the admin.

The generated query is invalid because it refers to a table in the "where" that is not in the "from" clause.

E.g.
SELECT
COUNT(*) as count
FROM
node
LEFT JOIN
node_category ON node_category.category_id = node.category_id
LEFT JOIN
dhcp_fingerprint ON dhcp_fingerprint.fingerprint = node.dhcp_fingerprint
LEFT JOIN
iplog ON iplog.mac = node.mac
AND (iplog.end_time = '0000-00-00 00:00:00'
OR iplog.end_time > NOW ())
LEFT JOIN
os_type USING (os_id)
LEFT JOIN
(select DISTINCT
mac, switch
from
locationlog) as locationlog_distinct ON locationlog_distinct.mac = node.mac

WHERE
(node.mac LIKE '%95:f4')
and locationlog.start_time >= '2015-01-17'
and (locationlog.end_time <= '2015-02-16'
or locationlog.end_time IS NULL)

Will cause an error: "ERROR 1054 (42S22): Unknown column 'locationlog.start_time' in 'where clause'.

Persistent filters in search

When doing a search (in this case, for switches) then clicking on a result to modify it, search filter is cleared on "save" or "cancel" of the modification.

Search filters should be persistent until explicit clearing (or changing page) for at least, switches and nodes.

Add a database schema version check to the admin.

Write the current database schema version into the database after every schema update. When the
admin console logs in, have it display a big, red, flashing error box if
the �DB schema and current PF version are not compatible.

Cleanup spurious errors in logs.

Logs are often full of spurious messages such as undefined values errors, especially catalyst logs.
Let's clean this up.

This is a meta issue. We should ideally open an issue for each spurious message.

packetfence can't use non-English in USERS/ Source/AD's Base DN

I'm use packetfence in china, the version is packetfence 4.4.0;

1:I can't input non-Englishin create user dialog for firstname and lastname
etc. in chinese and can save correct, ;
2: I can't use non-English in USERS/ Source/AD's Base DN;
3: I can't use non-English in Rule's condition;

refactor getNormalVLAN

The code smells are so bad it makes me want to throw up.
Il will take care of it unless someone else feels as strongly about it.

LC_CTYPE breaks installation on debian/ubuntu

Seen with a client, LC_CTYPE=en_US.UTF-8 breaks installation because the post install script tries to access the following files:

/usr/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo
/usr/share/locale/en_US.utf8/LC_MESSAGES/coreutils.mo
/usr/share/locale/en_US/LC_MESSAGES/coreutils.m
/usr/share/locale/en.UTF-8/LC_MESSAGES/coreutils.mo
/usr/share/locale/en.utf8/LC_MESSAGES/coreutils.mo
/usr/share/locale/en/LC_MESSAGES/coreutils.mo
/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo
/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo
/usr/share/locale/en_US/LC_MESSAGES/libc.mo
/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo
/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo
/usr/share/locale/en/LC_MESSAGES/libc.mo

Perhaps we should temporarily override the LC_CTYPE in the post install script (i.e. LC_CTYPE=C)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.