Hi Experts,
My scenario:
A new device plugged in to the switch and the port was assigned to
Registration vlan, which is vlan 2.
Then on the client device sign in successfully with a domain user account.
After that the page was directed to scanning page. After clicking on the
scan button Nessus scan started. At this moment I could see the switch port
is still on Registration vlan - vlan 2. However after about 10 seconds the
port was then changed to Isolation vlan, in my case vlan 3. Because the
vlan has been changed Nessus scan was forced to stop.
My question is: How come the vlan was changed during the scanning? Why it
won't stay at vlan 2 until the scanning finished?
Thank you!
Below are the logs from packetfence.log
Mar 06 20:01:07 pfdhcplistener(2492) INFO: dc:0e:a1:8a:d4:8f requested an
IP. DHCP Fingerprint: OS::107 (Microsoft Windows Vista/7 or Server 2008).
Modified node with last_dhcp = 2014-03-06 20:01:07,computername =
Operations-PC,dhcp_fingerprint = 1,15,3,6,44,46,47,31,33,121,249,43
(main::listen_dhcp)
Mar 06 20:01:07 pfdhcplistener(2492) INFO: DHCPACK from 192.168.22.1
(00:0c:29:04:c5:74) to host dc:0e:a1:8a:d4:8f (192.168.22.12) for 30
seconds (main::parse_dhcp_ack)
Mar 06 20:01:10 pfdhcplistener(2492) INFO: DHCPACK CIADDR from 192.168.22.1
(00:0c:29:04:c5:74) to host dc:0e:a1:8a:d4:8f (192.168.22.12)
(main::parse_dhcp_ack)
Mar 06 20:01:12 redir.cgi(0) INFO: dc:0e:a1:8a:d4:8f being redirected
(default profile)
(ModPerl::ROOT::ModPerl::PerlRun::usr_local_pf_html_captive_2dportal_redir_2ecgi::handler)
Mar 06 20:01:12 redir.cgi(0) INFO: dc:0e:a1:8a:d4:8f redirected to
authentication page
(ModPerl::ROOT::ModPerl::PerlRun::usr_local_pf_html_captive_2dportal_redir_2ecgi::handler)
Mar 06 20:01:22 pfdhcplistener(2492) INFO: dc:0e:a1:8a:d4:8f requested an
IP. DHCP Fingerprint: OS::107 (Microsoft Windows Vista/7 or Server 2008).
Modified node with last_dhcp = 2014-03-06 20:01:22,computername =
Operations-PC,dhcp_fingerprint = 1,15,3,6,44,46,47,31,33,121,249,43
(main::listen_dhcp)
Mar 06 20:01:22 pfdhcplistener(2492) INFO: DHCPACK from 192.168.22.1
(00:0c:29:04:c5:74) to host dc:0e:a1:8a:d4:8f (192.168.22.12) for 30
seconds (main::parse_dhcp_ack)
Mar 06 20:01:24 register.cgi(0) INFO: 192.168.22.12 - dc:0e:a1:8a:d4:8f on
registration page
(ModPerl::ROOT::ModPerl::PerlRun::usr_local_pf_html_captive_2dportal_register_2ecgi::handler)
Mar 06 20:01:24 register.cgi(0) WARN: No entries found (0) with filter
(sAMAccountName=testpf4) from OU=teete Users,DC=teete,DC=com on
10.0.0.44:389 for source qlad_1
(pf::Authentication::Source::LDAPSource::authenticate)
Mar 06 20:01:24 register.cgi(0) WARN: User cannot CN=test
pf4,CN=Users,DC=teete,DC=com cannot bind from CN=Users,DC=teete,DC=com on
10.0.0.44:389 for source qlad_2
(pf::Authentication::Source::LDAPSource::authenticate)
Mar 06 20:01:32 register.cgi(0) INFO: 192.168.22.12 - dc:0e:a1:8a:d4:8f on
registration page
(ModPerl::ROOT::ModPerl::PerlRun::usr_local_pf_html_captive_2dportal_register_2ecgi::handler)
Mar 06 20:01:32 register.cgi(0) WARN: No entries found (0) with filter
(sAMAccountName=testpf4) from OU=teete Users,DC=teete,DC=com on
10.0.0.44:389 for source qlad_1
(pf::Authentication::Source::LDAPSource::authenticate)
Mar 06 20:01:32 register.cgi(0) INFO: Authentication successful for testpf4
in source qlad_2 (AD) (pf::authentication::authenticate)
Mar 06 20:01:32 register.cgi(0) INFO: Found a match (CN=test
pf4,CN=Users,DC=teete,DC=com)
(pf::Authentication::Source::LDAPSource::match_in_subclass)
Mar 06 20:01:32 register.cgi(0) INFO: Matched rule (qlad_2_rule) in source
qlad_2, returning actions. (pf::Authentication::Source::match)
Mar 06 20:01:32 register.cgi(0) INFO: Found a match (CN=test
pf4,CN=Users,DC=teete,DC=com)
(pf::Authentication::Source::LDAPSource::match_in_subclass)
Mar 06 20:01:32 register.cgi(0) INFO: Matched rule (qlad_2_rule) in source
qlad_2, returning actions. (pf::Authentication::Source::match)
Mar 06 20:01:32 register.cgi(0) INFO: Found a match (CN=test
pf4,CN=Users,DC=teete,DC=com)
(pf::Authentication::Source::LDAPSource::match_in_subclass)
Mar 06 20:01:32 register.cgi(0) INFO: Matched rule (qlad_2_rule) in source
qlad_2, returning actions. (pf::Authentication::Source::match)
Mar 06 20:01:32 register.cgi(0) INFO: performing node registration MAC:
dc:0e:a1:8a:d4:8f pid: testpf4 (pf::web::_sanitize_and_register)
Mar 06 20:01:32 register.cgi(0) WARN: grace expired on violation 1200001
for node dc:0e:a1:8a:d4:8f (pf::violation::violation_add)
Mar 06 20:01:32 register.cgi(0) INFO: grace expired on violation 1200001
for node dc:0e:a1:8a:d4:8f (pf::violation::violation_add)
Mar 06 20:01:32 register.cgi(0) INFO: violation 1200001 added for
dc:0e:a1:8a:d4:8f (pf::violation::violation_add)
Mar 06 20:01:32 register.cgi(0) INFO: executing action 'winpopup' on class
1200001 (pf::action::action_execute)
Mar 06 20:01:32 register.cgi(0) INFO: executing action 'trap' on class
1200001 (pf::action::action_execute)
Mar 06 20:01:32 register.cgi(0) INFO: re-evaluating access for node
dc:0e:a1:8a:d4:8f (manage_vopen called) (pf::enforcement::reevaluate_access)
Mar 06 20:01:32 register.cgi(0) INFO: dc:0e:a1:8a:d4:8f is currentlog
connected at 172.16.123.22 ifIndex 10101 in VLAN 2
(pf::enforcement::_should_we_reassign_vlan)
Mar 06 20:01:32 register.cgi(0) INFO: highest priority violation for
dc:0e:a1:8a:d4:8f is 1200001. Target VLAN for violation: isolation (3)
(pf::vlan::getViolationVlan)
Mar 06 20:01:32 register.cgi(0) INFO: VLAN reassignment required for
dc:0e:a1:8a:d4:8f (current VLAN = 2 but should be in VLAN 3)
(pf::enforcement::_should_we_reassign_vlan)
Mar 06 20:01:32 register.cgi(0) INFO: switch port for dc:0e:a1:8a:d4:8f is
172.16.123.22 ifIndex 10101 connection type: Wired MAC Auth
(pf::enforcement::_vlan_reevaluation)
Mar 06 20:01:32 register.cgi(0) INFO: executing action 'log' on class
1200001 (pf::action::action_execute)
Mar 06 20:01:32 register.cgi(0) INFO: /usr/local/pf/logs/violation.log
2014-03-06 20:01:32: System Scan (1200001) detected on node
dc:0e:a1:8a:d4:8f (192.168.22.12) (pf::action::action_log)
Mar 06 20:01:32 register.cgi(0) INFO: executing action 'email' on class
1200001 (pf::action::action_execute)
Mar 06 20:01:32 register.cgi(0) INFO: email regarding 'PF Alert-NN: System
Scan detection on dc:0e:a1:8a:d4:8f' sent to
[email protected](pf::util::pfmailer)
Mar 06 20:01:32 register.cgi(0) INFO: re-evaluating access for node
dc:0e:a1:8a:d4:8f (manage_register called)
(pf::enforcement::reevaluate_access)
Mar 06 20:01:32 register.cgi(0) INFO: dc:0e:a1:8a:d4:8f is currentlog
connected at 172.16.123.22 ifIndex 10101 in VLAN 2
(pf::enforcement::_should_we_reassign_vlan)
Mar 06 20:01:32 register.cgi(0) INFO: highest priority violation for
dc:0e:a1:8a:d4:8f is 1200001. Target VLAN for violation: isolation (3)
(pf::vlan::getViolationVlan)
Mar 06 20:01:32 register.cgi(0) INFO: VLAN reassignment required for
dc:0e:a1:8a:d4:8f (current VLAN = 2 but should be in VLAN 3)
(pf::enforcement::_should_we_reassign_vlan)
Mar 06 20:01:32 register.cgi(0) INFO: switch port for dc:0e:a1:8a:d4:8f is
172.16.123.22 ifIndex 10101 connection type: Wired MAC Auth
(pf::enforcement::_vlan_reevaluation)
Mar 06 20:01:32 register.cgi(0) INFO: more violations yet to come for
dc:0e:a1:8a:d4:8f (pf::web::end_portal_session)
Mar 06 20:01:32 redir.cgi(0) INFO: dc:0e:a1:8a:d4:8f being redirected
(default profile)
(ModPerl::ROOT::ModPerl::PerlRun::usr_local_pf_html_captive_2dportal_redir_2ecgi::handler)
Mar 06 20:01:32 redir.cgi(0) INFO: captive portal redirect on violation
vid: 1200001, redirect template: system_scan
(ModPerl::ROOT::ModPerl::PerlRun::usr_local_pf_html_captive_2dportal_redir_2ecgi::handler)
Mar 06 20:01:32 remediation.cgi(0) INFO: 192.168.22.12 - dc:0e:a1:8a:d4:8f
on remediation page
(ModPerl::ROOT::ModPerl::PerlRun::usr_local_pf_html_captive_2dportal_remediation_2ecgi::handler)
Mar 06 20:01:32 remediation.cgi(0) INFO: Showing the
violations/system_scan.html remediation page.
(ModPerl::ROOT::ModPerl::PerlRun::usr_local_pf_html_captive_2dportal_remediation_2ecgi::handler)
Mar 06 20:01:32 redir.cgi(0) INFO: dc:0e:a1:8a:d4:8f being redirected
(default profile)
(ModPerl::ROOT::ModPerl::PerlRun::usr_local_pf_html_captive_2dportal_redir_2ecgi::handler)
Mar 06 20:01:32 redir.cgi(0) INFO: captive portal redirect on violation
vid: 1200001, redirect template: system_scan
(ModPerl::ROOT::ModPerl::PerlRun::usr_local_pf_html_captive_2dportal_redir_2ecgi::handler)
Mar 06 20:01:34 release.pm(0) INFO: scanning 192.168.22.12 by calling
/usr/local/pf/bin/pfcmd schedule now 192.168.22.12 1>/dev/null 2>&1
(pf::web::release::handler)
Mar 06 20:01:34 release.pm(0) INFO: violation for mac dc:0e:a1:8a:d4:8f vid
1200001 modified (pf::violation::violation_modify)
Mar 06 20:01:35 pfcmd.pl(27038) INFO: New ID generated: 139415409559d48f
(pf::util::generate_id)
Mar 06 20:01:35 pfcmd.pl(27038) INFO: Instantiate a new vulnerability
scanning engine object of type pf::scan::nessus.
(pf::scan::instantiate_scan_engine)
Mar 06 20:01:35 pfsetvlan(24) INFO: local (127.0.0.1) trap for switch
172.16.123.22 (main::parseTrap)
Mar 06 20:01:35 pfsetvlan(9) INFO: nb of items in queue: 1; nb of threads
running: 0 (main::startTrapHandlers)
Mar 06 20:01:35 pfsetvlan(22) INFO: local (127.0.0.1) trap for switch
172.16.123.22 (main::parseTrap)
Mar 06 20:01:35 pfsetvlan(8) INFO: nb of items in queue: 1; nb of threads
running: 1 (main::startTrapHandlers)
Mar 06 20:01:35 pfsetvlan(9) INFO: reAssignVlan trap received on
172.16.123.22 ifIndex 10101 (main::handleTrap)
Mar 06 20:01:35 pfsetvlan(9) WARN: Until CoA is implemented we will bounce
the port on VLAN re-assignment traps for MAC-Auth
(pf::SNMP::handleReAssignVlanTrapForWiredMacAuth)
Mar 06 20:01:37 pfmon(0) INFO: running expire check (main::cleanup)
Mar 06 20:01:37 pfmon(0) INFO: checking registered nodes for expiration
(main::cleanup)
Mar 06 20:01:37 pfmon(0) INFO: checking violations for expiration
(main::cleanup)
Mar 06 20:01:37 pfmon(0) INFO: checking accounting data for potential
bandwidth abuse (main::cleanup)
Mar 06 20:01:37 pfmon(0) INFO: getting violations triggers for accounting
cleanup (pf::accounting::acct_maintenance)
Mar 06 20:01:37 pfmon(0) INFO: Calling node acct maintenance total with
monthly and 1 for 21474836480 (pf::accounting::acct_maintenance)
Mar 06 20:01:37 pfcmd.pl(27038) INFO: executing Nessus scan with this
policy Policy_AllHost (pf::scan::nessus::startScan)
Mar 06 20:01:37 pfcmd.pl(27038) INFO: Nessus is scanning 192.168.22.12
(pf::scan::nessus::startScan)
Mar 06 20:01:39 pfsetvlan(12) INFO: nb of items in queue: 1; nb of threads
running: 0 (main::startTrapHandlers)
Mar 06 20:01:39 pfsetvlan(9) INFO: finished (main::cleanupAfterThread)
Mar 06 20:01:39 pfsetvlan(12) INFO: reAssignVlan trap received on
172.16.123.22 ifIndex 10101 (main::handleTrap)
Mar 06 20:01:39 pfsetvlan(12) WARN: Until CoA is implemented we will bounce
the port on VLAN re-assignment traps for MAC-Auth
(pf::SNMP::handleReAssignVlanTrapForWiredMacAuth)
Mar 06 20:01:43 pfsetvlan(12) INFO: finished (main::cleanupAfterThread)
Mar 06 20:01:47 pf::WebAPI(2359) INFO: handling radius autz request: from
switch_ip => 172.16.123.22, connection_type => WIRED_MAC_AUTH mac =>
dc:0e:a1:8a:d4:8f, port => 50001, username => dc0ea18ad48f
(pf::radius::authorize)
Mar 06 20:01:47 pf::WebAPI(2359) INFO: highest priority violation for
dc:0e:a1:8a:d4:8f is 1200001. Target VLAN for violation: isolation (3)
(pf::vlan::getViolationVlan)
Mar 06 20:01:47 pf::WebAPI(2359) WARN: Role-based Network Access Control is
not supported on network device type pf::SNMP::Cisco::Catalyst_3560G.
(pf::SNMP::supportsRoleBasedEnforcement)
Mar 06 20:01:50 pfdhcplistener(2491) INFO: DHCPREQUEST from
dc:0e:a1:8a:d4:8f (192.168.22.12) (main::parse_dhcp_request)
Mar 06 20:01:50 pfdhcplistener(2491) INFO: dc:0e:a1:8a:d4:8f requested an
IP. DHCP Fingerprint: OS::107 (Microsoft Windows Vista/7 or Server 2008).
Modified node with last_dhcp = 2014-03-06 20:01:50,computername =
Operations-PC,dhcp_fingerprint = 1,15,3,6,44,46,47,31,33,121,249,43
(main::listen_dhcp)
Mar 06 20:01:51 pfdhcplistener(2491) INFO: DHCPOFFER from 192.168.23.1
(00:0c:29:04:c5:74) to host dc:0e:a1:8a:d4:8f (192.168.23.10)
(main::parse_dhcp_offer)
Mar 06 20:01:51 pfdhcplistener(2491) INFO: DHCPREQUEST from
dc:0e:a1:8a:d4:8f (192.168.23.10) (main::parse_dhcp_request)
Mar 06 20:01:51 pfdhcplistener(2491) INFO: resolved 192.168.23.10 to mac
(dc:0e:a1:8a:d4:8f) in ARP table (pf::iplog::ip2macinarp)
Mar 06 20:01:51 pfdhcplistener(2491) INFO: oldip (192.168.22.12) and newip
(192.168.23.10) are different for dc:0e:a1:8a:d4:8f - closing iplog entry
(main::update_iplog)
Mar 06 20:01:51 pfdhcplistener(2491) INFO: dc:0e:a1:8a:d4:8f requested an
IP. DHCP Fingerprint: OS::107 (Microsoft Windows Vista/7 or Server 2008).
Modified node with last_dhcp = 2014-03-06 20:01:51,computername =
Operations-PC,dhcp_fingerprint = 1,15,3,6,44,46,47,31,33,121,249,43
(main::listen_dhcp)
Mar 06 20:01:51 pfdhcplistener(2491) INFO: DHCPACK from 192.168.23.1
(00:0c:29:04:c5:74) to host dc:0e:a1:8a:d4:8f (192.168.23.10) for 30
seconds (main::parse_dhcp_ack)
Mar 06 20:02:02 pfcmd.pl(27038) INFO: Calling /usr/local/pf/bin/pfcmd
manage vclose dc:0e:a1:8a:d4:8f 1200001 (pf::scan::parse_scan_report)
Mar 06 20:02:03 pfcmd.pl(27328) INFO: violation 1200001 closed for
dc:0e:a1:8a:d4:8f (pf::violation::violation_close)
Mar 06 20:02:03 pfcmd.pl(27328) INFO: re-evaluating access for node
dc:0e:a1:8a:d4:8f (manage_vclose called)
(pf::enforcement::reevaluate_access)
Mar 06 20:02:03 pfcmd.pl(27328) INFO: dc:0e:a1:8a:d4:8f is currentlog
connected at 172.16.123.22 ifIndex 10101 in VLAN 3
(pf::enforcement::_should_we_reassign_vlan)
Mar 06 20:02:03 pfcmd.pl(27328) INFO: Connection type is WIRED_MAC_AUTH.
Getting role from node_info (pf::vlan::getNormalVlan)
Mar 06 20:02:03 pfcmd.pl(27328) INFO: Username was defined 'dc0ea18ad48f' -
returning user based role 'ql_employee_role' (pf::vlan::getNormalVlan)
Mar 06 20:02:03 pfcmd.pl(27328) INFO: MAC: dc:0e:a1:8a:d4:8f, PID: testpf4,
Status: reg. Returned VLAN: 10 (pf::vlan::fetchVlanForNode)
Mar 06 20:02:03 pfcmd.pl(27328) INFO: VLAN reassignment required for
dc:0e:a1:8a:d4:8f (current VLAN = 3 but should be in VLAN 10)
(pf::enforcement::_should_we_reassign_vlan)
Mar 06 20:02:03 pfcmd.pl(27328) INFO: switch port for dc:0e:a1:8a:d4:8f is
172.16.123.22 ifIndex 10101 connection type: Wired MAC Auth
(pf::enforcement::_vlan_reevaluation)
Mar 06 20:02:03 pfcmd.pl(27038) INFO: Calling /usr/local/pf/bin/pfcmd
manage vclose dc:0e:a1:8a:d4:8f 1200001 (pf::scan::run_scan)
Mar 06 20:02:04 pfcmd.pl(27335) INFO: violation 1200001 closed for
dc:0e:a1:8a:d4:8f (pf::violation::violation_close)
Mar 06 20:02:04 pfcmd.pl(27335) INFO: re-evaluating access for node
dc:0e:a1:8a:d4:8f (manage_vclose called)
(pf::enforcement::reevaluate_access)
Mar 06 20:02:04 pfcmd.pl(27335) INFO: dc:0e:a1:8a:d4:8f is currentlog
connected at 172.16.123.22 ifIndex 10101 in VLAN 3
(pf::enforcement::_should_we_reassign_vlan)
Mar 06 20:02:04 pfcmd.pl(27335) INFO: Connection type is WIRED_MAC_AUTH.
Getting role from node_info (pf::vlan::getNormalVlan)
Mar 06 20:02:04 pfcmd.pl(27335) INFO: Username was defined 'dc0ea18ad48f' -
returning user based role 'ql_employee_role' (pf::vlan::getNormalVlan)
Mar 06 20:02:04 pfcmd.pl(27335) INFO: MAC: dc:0e:a1:8a:d4:8f, PID: testpf4,
Status: reg. Returned VLAN: 10 (pf::vlan::fetchVlanForNode)
Mar 06 20:02:04 pfcmd.pl(27335) INFO: VLAN reassignment required for
dc:0e:a1:8a:d4:8f (current VLAN = 3 but should be in VLAN 10)
(pf::enforcement::_should_we_reassign_vlan)
Mar 06 20:02:04 pfcmd.pl(27335) INFO: switch port for dc:0e:a1:8a:d4:8f is
172.16.123.22 ifIndex 10101 connection type: Wired MAC Auth
(pf::enforcement::_vlan_reevaluation)
Mar 06 20:02:05 pfdhcplistener(2491) INFO: dc:0e:a1:8a:d4:8f requested an
IP. DHCP Fingerprint: OS::107 (Microsoft Windows Vista/7 or Server 2008).
Modified node with last_dhcp = 2014-03-06 20:02:05,computername =
Operations-PC,dhcp_fingerprint = 1,15,3,6,44,46,47,31,33,121,249,43
(main::listen_dhcp)
Mar 06 20:02:05 pfdhcplistener(2491) INFO: DHCPACK from 192.168.23.1
(00:0c:29:04:c5:74) to host dc:0e:a1:8a:d4:8f (192.168.23.10) for 30
seconds (main::parse_dhcp_ack)
Mar 06 20:02:07 pfsetvlan(25) INFO: local (127.0.0.1) trap for switch
172.16.123.22 (main::parseTrap)
Mar 06 20:02:07 pfsetvlan(14) INFO: nb of items in queue: 1; nb of threads
running: 0 (main::startTrapHandlers)
Mar 06 20:02:07 pfsetvlan(21) INFO: local (127.0.0.1) trap for switch
172.16.123.22 (main::parseTrap)
Mar 06 20:02:07 pfsetvlan(13) INFO: nb of items in queue: 1; nb of threads
running: 1 (main::startTrapHandlers)
Mar 06 20:02:07 pfsetvlan(14) INFO: reAssignVlan trap received on
172.16.123.22 ifIndex 10101 (main::handleTrap)
Mar 06 20:02:07 pfsetvlan(14) WARN: Until CoA is implemented we will bounce
the port on VLAN re-assignment traps for MAC-Auth
(pf::SNMP::handleReAssignVlanTrapForWiredMacAuth)
Mar 06 20:02:11 pfsetvlan(14) INFO: finished (main::cleanupAfterThread)
Mar 06 20:02:11 pfsetvlan(16) INFO: nb of items in queue: 1; nb of threads
running: 0 (main::startTrapHandlers)
Mar 06 20:02:11 pfsetvlan(16) INFO: reAssignVlan trap received on
172.16.123.22 ifIndex 10101 (main::handleTrap)
Mar 06 20:02:11 pfsetvlan(16) WARN: Until CoA is implemented we will bounce
the port on VLAN re-assignment traps for MAC-Auth
(pf::SNMP::handleReAssignVlanTrapForWiredMacAuth)
Mar 06 20:02:15 pfsetvlan(16) INFO: finished (main::cleanupAfterThread)
Mar 06 20:02:19 pf::WebAPI(2360) INFO: handling radius autz request: from
switch_ip => 172.16.123.22, connection_type => WIRED_MAC_AUTH mac =>
dc:0e:a1:8a:d4:8f, port => 50001, username => dc0ea18ad48f
(pf::radius::authorize)
Mar 06 20:02:19 pf::WebAPI(2360) INFO: Connection type is WIRED_MAC_AUTH.
Getting role from node_info (pf::vlan::getNormalVlan)
Mar 06 20:02:19 pf::WebAPI(2360) INFO: Username was defined 'dc0ea18ad48f'
- returning user based role 'ql_employee_role' (pf::vlan::getNormalVlan)
Mar 06 20:02:19 pf::WebAPI(2360) INFO: MAC: dc:0e:a1:8a:d4:8f, PID:
testpf4, Status: reg. Returned VLAN: 10 (pf::vlan::fetchVlanForNode)
Mar 06 20:02:19 pf::WebAPI(2360) WARN: Role-based Network Access Control is
not supported on network device type pf::SNMP::Cisco::Catalyst_3560G.
(pf::SNMP::supportsRoleBasedEnforcement)
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
PacketFence-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/packetfence-users