diff --git a/.gitignore b/.gitignore index 660240333931..6ace4eb6058f 100644 --- a/.gitignore +++ b/.gitignore @@ -25,7 +25,6 @@ db/pf-schema.sql raddb/eap.conf raddb/radiusd.conf raddb/sql.conf -conf/templates/* conf/adminroles.conf conf/authentication.conf conf/floating_network_device.conf @@ -63,6 +62,17 @@ html/captive-portal/captive_portal.conf conf/pfdetect_remote.conf conf/pfarp_remote.conf conf/allowed-gaming-oui.txt +conf/templates/emails-billing_confirmation.txt.tt +conf/templates/emails-guest_admin_pregistration.txt.tt +conf/templates/emails-guest_email_activation.txt.tt +conf/templates/emails-guest_email_preregistration.txt.tt +conf/templates/emails-guest_email_preregistration_confirmed.txt.tt +conf/templates/emails-guest_local_account_creation.txt.tt +conf/templates/emails-guest_registered.txt.tt +conf/templates/emails-guest_sponsor_activation.txt.tt +conf/templates/emails-guest_sponsor_confirmed.txt.tt +conf/templates/emails-guest_sponsor_preregistration.txt.tt +html/pfappserver/pfappserver.conf # translations diff --git a/ChangeLog b/ChangeLog index e5218f6babd7..5e35983b3bdf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,2160 @@ +commit 3fe8e590b41add82012d0bcac60a17f56599f944 +Author: James Rouzier +Date: Fri Mar 6 15:05:45 2015 -0500 + + Make the id field readonly when viewing a profile + +M html/pfappserver/root/config/profile/tab-content.tt + +commit 5cdd5558235fa64cdc93a5ed5728b10896489ede +Author: Louis Munro +Date: Fri Mar 6 14:40:19 2015 -0500 + + Fixed typos and updated UPGRADE.asciidoc to reflect schema change. + +M NEWS.asciidoc +M UPGRADE.asciidoc + +commit 096117218874209f61c82ca01f6d725b408c84af +Author: Derek Wuelfrath +Date: Fri Mar 6 14:35:38 2015 -0500 + + Missing entry + +M UPGRADE.asciidoc + +commit cef6e30597cf5083864b61756e89ead72ba198e8 +Author: Louis Munro +Date: Fri Mar 6 14:13:25 2015 -0500 + + Reverted last update on this library. + It breaks the build. + This should not be the last step before a release but the first one + after... + +M lib/HTTP/BrowserDetect.pm + +commit 6b5c4fea2935956dad9b571f66dc0ba33a7acba9 +Author: Louis Munro +Date: Fri Mar 6 13:40:43 2015 -0500 + + Last commit before release. + Updated versions numbers and HTTP::BrowserDetect. + +M NEWS.asciidoc +M addons/packages/packetfence.spec +M conf/pf-release +A db/pf-schema-4.7.0.sql +D db/pf-schema-X-Y-Z.sql +A db/upgrade-4.6.0-4.7.0.sql +D db/upgrade-X.X.X-X.Y.Z.sql +M debian/changelog +M docs/docinfo.xml +M docs/includes/global-attributes.asciidoc +M lib/HTTP/BrowserDetect.pm + +commit f94f9e0bf983d30ed4745d70a3f76ed2971002c2 +Author: Durand Fabrice +Date: Fri Mar 6 13:36:39 2015 -0500 + + Updated translation + +M conf/locale/de/LC_MESSAGES/packetfence.po +M conf/locale/es/LC_MESSAGES/packetfence.po +M conf/locale/fr/LC_MESSAGES/packetfence.po +M conf/locale/he_IL/LC_MESSAGES/packetfence.po +M conf/locale/it/LC_MESSAGES/packetfence.po +M conf/locale/nl/LC_MESSAGES/packetfence.po +M conf/locale/pl_PL/LC_MESSAGES/packetfence.po +M conf/locale/pt_BR/LC_MESSAGES/packetfence.po +M html/pfappserver/lib/pfappserver/I18N/fr.po + +commit 768ee5abf70c040761dbc087aeda93e52bed9395 +Author: Francis Lachapelle +Date: Fri Mar 6 13:23:33 2015 -0500 + + Localization + +M html/pfappserver/lib/pfappserver/I18N/i_default.po + +commit 43dcf90147342b187b96b8edec0033718fa4d790 +Author: Durand Fabrice +Date: Fri Mar 6 13:18:50 2015 -0500 + + Updated extract_i18n_strings.pl + +M addons/extract_i18n_strings.pl + +commit 348a913d112715140955e0a321cfdc6a6ac224ff +Author: Louis Munro +Date: Fri Mar 6 12:26:58 2015 -0500 + + Updated NEWS file to reflect SSL changes for FREAK attack. + +M NEWS.asciidoc + +commit 91d78631dfdcf0a238b9f9701ac8974040b8ebf6 +Author: Louis Munro +Date: Fri Mar 6 12:22:30 2015 -0500 + + Fixed missing comma in admin, aaa and webservices configuration. + +M conf/httpd.conf.d/httpd.aaa +M conf/httpd.conf.d/httpd.admin +M conf/httpd.conf.d/httpd.webservices + +commit db4e08b76ae05520556337c2a2ac242c62acaaf7 +Author: Louis Munro +Date: Thu Mar 5 10:35:20 2015 -0500 + + Restricts the allowed ciphers to prevent FREAK SSL attack. + Turns on HSTS. + +M conf/httpd.conf.d/httpd.aaa +M conf/httpd.conf.d/httpd.admin +M conf/httpd.conf.d/httpd.portal +M conf/httpd.conf.d/httpd.proxy +M conf/httpd.conf.d/httpd.webservices + +commit 5efcbfb0f6c7a8f395398016530f456a7b621fc7 +Author: Durand Fabrice +Date: Fri Mar 6 12:01:40 2015 -0500 + + Missing a string to localize "Detected Between" + +M html/pfappserver/root/admin/nodes.tt + +commit 7c5e61aaffd69e3354d05eabf5c03f0c40c9f134 +Author: Louis Munro +Date: Fri Mar 6 11:56:57 2015 -0500 + + Added Aerohive roaming and PacketFence-config items to NEWS. + Reworded a few items for legibility. + +M NEWS.asciidoc + +commit ba80cbd7aab5083c13783648a4c522f41ea1362d +Author: Durand Fabrice +Date: Fri Mar 6 11:40:54 2015 -0500 + + Standardize log + +M lib/pf/activation.pm + +commit 8bc77286e443dfdf6191083e624e99afbb223ceb +Author: Durand Fabrice +Date: Fri Mar 6 11:18:04 2015 -0500 + + Standardize log + +M lib/pf/Switch.pm + +commit b84c7ffd51c446faeec550e3b729a0c01fa39efa +Author: Durand Fabrice +Date: Fri Mar 6 09:08:36 2015 -0500 + + Re-order trapping options + +M conf/pf.conf.defaults + +commit 5c6e10aebccae161cb8af3ad053a62674ba0a562 +Author: Durand Fabrice +Date: Thu Mar 5 16:09:55 2015 -0500 + + remove var/cache/pfconfig on upgrade + +M debian/packetfence-config.preinst +M debian/packetfence.init + +commit 1371a9ee91ddd52f89b15e5d835db9a56ed13da9 +Author: Durand Fabrice +Date: Thu Mar 5 15:54:17 2015 -0500 + + Fixed syntax in po file + +M conf/locale/en/LC_MESSAGES/packetfence.po + +commit 9dd691caca467d393d02a3cb4c99c158c2f738e4 +Author: Durand Fabrice +Date: Thu Mar 5 15:37:04 2015 -0500 + + Updated portal string + +M conf/locale/en/LC_MESSAGES/packetfence.po + +commit cf3e993bf514bbef56a08f58951a51d2d1bf69b5 +Author: Durand Fabrice +Date: Thu Mar 5 14:56:08 2015 -0500 + + Added extract_i18n for the captive portal + +A addons/extract_i18n_strings_portal.pl + +commit 8f113f49aaae75affc82f7d2072a5e12357083a5 +Author: Durand Fabrice +Date: Thu Mar 5 14:50:00 2015 -0500 + + Revert "Added html parser in extract_i18n_strings.pl script" + + This reverts commit 67c2bc73ec5b5626e2b02a81c82b2912250fb898. + +M addons/extract_i18n_strings.pl + +commit 67c2bc73ec5b5626e2b02a81c82b2912250fb898 +Author: Durand Fabrice +Date: Thu Mar 5 14:39:36 2015 -0500 + + Added html parser in extract_i18n_strings.pl script + +M addons/extract_i18n_strings.pl + +commit 6faf213890ad4e53c1abec556a2c588408358c0f +Author: James Rouzier +Date: Thu Mar 5 14:01:59 2015 -0500 + + Fixed the number of parameters return + +M lib/pf/ConfigStore/Switch.pm + +commit 719a5e7f7a0196e1f5c993773f898fcaa16f87a4 +Author: Durand Fabrice +Date: Thu Mar 5 11:27:22 2015 -0500 + + Change path for debian packaging + +M debian/rules + +commit 334c24c50a8649fb3257dabe9e73b50140e54733 +Author: Julien Semaan +Date: Thu Mar 5 11:07:16 2015 -0500 + + Add pfconfig cache dir to fixpermissions + +M bin/pfcmd.pl +M lib/pf/file_paths.pm +M lib/pfconfig/backend/bdb.pm + +commit 6b26bbc23cc2416c5cc2e6007668e8502cd75b87 +Author: Durand Fabrice +Date: Thu Mar 5 11:01:06 2015 -0500 + + Added new directory in var/ with the correct permissions in debian/ubuntu packaging + +M debian/rules + +commit 3043322cde93b58480464a056f5dcc2e321f7e2b +Author: Durand Fabrice +Date: Thu Mar 5 10:36:46 2015 -0500 + + Removed useless log + +M lib/pf/person.pm + +commit 71a218300a9c20ec544566197c821c2b80ce2512 +Author: Julien Semaan +Date: Thu Mar 5 10:11:10 2015 -0500 + + Rework dynamic_unreg_date to handle undef dates + + - Will actually return the undef value when being given one + - Will now return undef if the date generation fails (like giving it the month 13) + +M lib/pf/config.pm + +commit 85e0614476d29fd36a3af2df33151cc0f60f36c9 +Author: Derek Wuelfrath +Date: Thu Mar 5 09:49:08 2015 -0500 + + Fixing wrong comment + +M db/upgrade-X.X.X-X.Y.Z.sql + +commit 711f5e06bc18e5b82eefa84a4d16e3a984453896 +Author: James Rouzier +Date: Thu Mar 5 09:43:13 2015 -0500 + + There is no showError + +M html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Pf.pm + +commit db9433829b1134d67bd06efabdc083c8398a1a6e +Author: Durand Fabrice +Date: Thu Mar 5 08:48:19 2015 -0500 + + Changed $c->error to $self->showError + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Authenticate.pm +M html/captive-portal/lib/captiveportal/PacketFence/Controller/DeviceRegistration.pm +M html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Pf.pm + +commit 876d24666c7c8c00d9a84ae8f34d6af382bb6164 +Author: Julien Semaan +Date: Thu Mar 5 08:43:38 2015 -0500 + + add pfconfig startup in debian pf init script + +M debian/packetfence.init + +commit 987c289d8c6957e0eb5521b2d13ff8875e517fa4 +Author: Durand Fabrice +Date: Wed Mar 4 18:28:05 2015 -0500 + + Removed var/control from debian packaging + +M debian/rules + +commit 22a69155278f49691bdb989aeb7f4a2b1010aae5 +Author: Durand Fabrice +Date: Wed Mar 4 18:26:11 2015 -0500 + + Removed DEBHELPER in packetfence.prerm + +M debian/packetfence.prerm + +commit 3d51c7876618dfd90d54b94c281519cbcd22887a +Author: Durand Fabrice +Date: Wed Mar 4 18:18:41 2015 -0500 + + Removed DEBHELPER section + +M debian/packetfence-config.postinst +M debian/packetfence-config.prerm + +commit ce0070c90185fb544c68948a7ad63d95e50c400d +Author: Durand Fabrice +Date: Wed Mar 4 17:57:05 2015 -0500 + + Stop packetfence-config on remove + +M debian/packetfence-config.postrm + +commit 1b676918913c94a03f0c5d78a8c093c901223632 +Author: James Rouzier +Date: Wed Mar 4 17:13:54 2015 -0500 + + Update error message when saving a file + +M lib/pf/ConfigStore.pm +M lib/pf/config/cached.pm + +commit 2beb83a656b1834325ec07940dc1dc498775def3 +Author: James Rouzier +Date: Tue Dec 2 11:05:21 2014 -0500 + + Will display error message from ConfigStore::commit on error + +M html/pfappserver/lib/pfappserver/Base/Model/Config.pm + +commit 75172efc2fb38c4e7325221556195367a9a33eec +Author: James Rouzier +Date: Tue Dec 2 11:01:15 2014 -0500 + + commit Will result an error message on failure + +M lib/pf/ConfigStore.pm + +commit 79d935d1b0be867ee67f49cade8c6e8676d6655d +Author: Durand Fabrice +Date: Wed Mar 4 16:30:07 2015 -0500 + + fix syntax from last commit + +M debian/packetfence.postrm + +commit e9d94a637f08824e6ca4dd8a26bcfcb3f8d88632 +Author: Durand Fabrice +Date: Wed Mar 4 16:27:45 2015 -0500 + + Updated packetfence.postrm script to test if the user pf can be removed + +M debian/packetfence.postrm + +commit 1e86a57b1d0359e5b789e3bf3f804a74478f37d8 +Author: Durand Fabrice +Date: Wed Mar 4 16:04:58 2015 -0500 + + Updated packetfence-config init script + +M debian/packetfence-config.init + +commit bd4e6359b44571fe88808ebad4887baf8f4c9a58 +Author: Durand Fabrice +Date: Wed Mar 4 15:40:26 2015 -0500 + + Updated Provides name in packetfence-config init script + +M debian/packetfence-config.init + +commit 75b337b60a0e07454cff9dce100598bab3fa844c +Author: Durand Fabrice +Date: Wed Mar 4 15:27:43 2015 -0500 + + Updated debian packaging + +M debian/packetfence-config.postrm +M debian/packetfence.postinst +M debian/packetfence.postrm + +commit ebc152f20e2605e54d7506d344d3a529029f86ea +Author: Francis Lachapelle +Date: Wed Mar 4 13:31:20 2015 -0500 + + Fix typo in administration guide + +M docs/PacketFence_Administration_Guide.asciidoc + +commit b41bcf4a5e203d8d48d12b6ae7b485a3a4d95fbe +Author: Durand Fabrice +Date: Wed Mar 4 12:58:34 2015 -0500 + + Fix error in log if undef value + +M lib/pf/Switch.pm + +commit a54f8ffd6ccf201a615a3c57f4a4b97d1f917fa8 +Author: Durand Fabrice +Date: Wed Mar 4 11:48:40 2015 -0500 + + Changed log message when a device hit the portal + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/CaptivePortal.pm + +commit cf24a245f43fae332457f79c1ead99aedf0dff43 +Author: Durand Fabrice +Date: Wed Mar 4 11:44:42 2015 -0500 + + Fixed pfarp_remote for the new api function + +M addons/pfarp_remote/sbin/pfarp_remote +M lib/pf/api.pm + +commit d3d4585643998920a9b19a2c3f2b73d6948267ab +Author: James Rouzier +Date: Wed Mar 4 11:42:13 2015 -0500 + + Used the renamed path pfappserver::PacketFence::Controller instead of pfappserver::Controller + +M addons/extract_i18n_strings.pl +M html/pfappserver/lib/pfappserver/I18N/i_default.po + +commit 9f40cf66963991d7bc4c0bda85afebc15cd4f238 +Author: Julien Semaan +Date: Wed Mar 4 11:18:25 2015 -0500 + + update news for #373 + +M NEWS.asciidoc + +commit 2426f7125cf77974e6ee200a19a26e1ce322890b +Author: Zammit Ludovic +Date: Wed Mar 4 11:13:42 2015 -0500 + + remove lib/pf/profile/filter/category.pm + +D lib/pf/profile/filter/category.pm + +commit 784860d36de374d1fcbce38b6caa9ef4f7cdef9c +Author: Zammit Ludovic +Date: Wed Mar 4 11:05:24 2015 -0500 + + fix category key + +M lib/pf/profile/filter/node_role.pm + +commit ca30c03014144adae147adc86030f7a58a0373ba +Author: James Rouzier +Date: Wed Mar 4 10:51:43 2015 -0500 + + Add empty directory var/control + +A var/control/.gitignore + +commit 0c38243590383ba34462b685b71c4ddfcb3a3dce +Author: Julien Semaan +Date: Wed Mar 4 10:50:31 2015 -0500 + + rework the touch of a pfconfig control file + +M lib/pfconfig/manager.pm + +commit f912d2cbf79598a3fe9cbcf80202e04b65553b94 +Author: Julien Semaan +Date: Wed Mar 4 10:05:30 2015 -0500 + + rework pfconfig handling in packetfence init + +M packetfence.init + +commit 318b1cccfd660bb3d0ab5924c7f432e72cf3a48b +Author: Durand Fabrice +Date: Wed Mar 4 09:19:43 2015 -0500 + + Added new search attributes for LDAP auth source: description and groupMembership + +M lib/pf/Authentication/Source/LDAPSource.pm + +commit d187d5eec1a683c2900fa1efaf7df377ca460d46 +Author: James Rouzier +Date: Tue Mar 3 16:15:12 2015 -0500 + + Fixed license + +M html/captive-portal/lib/captiveportal/Role/Request.pm +M lib/pf/constants/Portal/Profile.pm + +commit 6c42ea14a98ef8be17bd850ce1b9eb28f4fd7889 +Author: Durand Fabrice +Date: Tue Mar 3 15:43:33 2015 -0500 + + Changed error to showError in sponsor portal to be able to have the message translated + +M conf/locale/en/LC_MESSAGES/packetfence.po +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm + +commit 2d69bd05e768be1bb0faa2e4cf5edf924dbc0f5c +Author: Durand Fabrice +Date: Tue Mar 3 14:07:51 2015 -0500 + + Modify postrm script + +M debian/packetfence.postrm + +commit aa118b6eff5abb3e1951cf00dbb64519c21f89ee +Author: Durand Fabrice +Date: Tue Mar 3 13:47:57 2015 -0500 + + Removed purge instruction in packetfence-config.postrm + +M debian/packetfence-config.postrm + +commit 8a313f7f8c5eebc84c86ecb737c83d50e07345ec +Author: Durand Fabrice +Date: Tue Mar 3 13:38:17 2015 -0500 + + Exception in packetfence.postrm for bin/pfcmd + +M debian/packetfence.postrm + +commit 34c9e326e911593d846f3d2c024d5f83ad75fd43 +Author: Durand Fabrice +Date: Tue Mar 3 13:29:09 2015 -0500 + + Be sure that packetfence-config canĀ“t start without packetfence installed + +M addons/packages/packetfence.spec +M debian/control +M debian/packetfence-config.init +M packetfence.init + +commit 35b7e4d8f65626600b18fe0d41a293811a89d744 +Author: Durand Fabrice +Date: Tue Mar 3 12:43:49 2015 -0500 + + Fixed syntax in debian/control + +M debian/control + +commit a7713d4f044bcbb68871cd4bba22cd6b2276b6b6 +Author: Durand Fabrice +Date: Tue Mar 3 12:40:43 2015 -0500 + + Change in debian control (for packetfence-pfcmd-suid) + +M debian/control + +commit eb0e2cc639a8a6b9e07d1af58f273dd5e54e9c53 +Author: Durand Fabrice +Date: Tue Mar 3 12:33:34 2015 -0500 + + Change control file for debian/ubuntu + +M debian/control + +commit ea664eca6752b0aa36c23a718c2127261cfc25d5 +Author: Durand Fabrice +Date: Tue Mar 3 11:56:54 2015 -0500 + + Predepend change for packetfence-pfcmd + +M debian/control +M debian/packetfence.postrm + +commit 2d3bbf76461726938da0a1afb5ef200831a5fa44 +Author: James Rouzier +Date: Tue Mar 3 11:42:07 2015 -0500 + + Fix issue where if there are no conditions the saved search is not being restored properly + + Fixes #399 + +M html/pfappserver/root/static/admin/searches.js + +commit f2e1502462949f609e59b7f226cc2cf4a984ecda +Author: Durand Fabrice +Date: Tue Mar 3 11:39:44 2015 -0500 + + Modifed debian packaging (dependencie) + +M debian/control + +commit c2fd1adcf934914f296ef37fb0f0c7129688acad +Author: Durand Fabrice +Date: Tue Mar 3 11:30:06 2015 -0500 + + Change in debian packaging + +M debian/packetfence-config.postrm +M debian/packetfence.postrm + +commit 9a5e9fdb34894482138289541c562ff9769515ad +Author: Durand Fabrice +Date: Tue Mar 3 11:05:55 2015 -0500 + + Added Predepends in packetfence-config packaging + +M debian/control + +commit 8bbf4ef871d1e2bcd15043b2d61d30b7f5fb9db9 +Author: Durand Fabrice +Date: Tue Mar 3 10:16:59 2015 -0500 + + removed set_unreg_date function in api.pm and copy the code in modify_node function + +M lib/pf/api.pm + +commit 281bd3e0ed5a4cc05e801b2fffb3a98a8553db58 +Author: Durand Fabrice +Date: Tue Mar 3 10:12:22 2015 -0500 + + Updated postrm for packetfence and packetfence-config + +M debian/packetfence-config.postrm +M debian/packetfence.postrm + +commit 1928cdd9b698b9bbf508cb4c9d85f61c33faba27 +Author: Durand Fabrice +Date: Tue Mar 3 09:29:58 2015 -0500 + + Removed snort and suricata as depencencies + +M debian/control + +commit 32fa101fc41289697b288223cc00ae0ad909ee6a +Author: Julien Semaan +Date: Tue Mar 3 09:22:36 2015 -0500 + + Make MSM controller inherit from Switch instead of HP + +M lib/pf/Switch/HP/Controller_MSM710.pm + +commit 78c708930177f5f7afac8cafd40310fe32c50a0c +Author: Durand Fabrice +Date: Tue Mar 3 09:03:16 2015 -0500 + + Fix for debian packaging + +M debian/packetfence-config.postrm +M debian/packetfence.postrm +M debian/rules + +commit e9180e8613e552b9853a26e2f38ebab5d98fe793 +Author: Julien Semaan +Date: Tue Mar 3 08:22:39 2015 -0500 + + Add excluded files to addons/pfconfig + +M addons/packages/packetfence.spec + +commit 3d75821597aed09ec5c96d60b1c510c9aa81434f +Author: Julien Semaan +Date: Tue Mar 3 07:51:08 2015 -0500 + + Added addons/pfconfig/ to install section + +M addons/packages/packetfence.spec + +commit 8f597b271652dd29d80a3c89115abe2df77f04c9 +Author: Durand Fabrice +Date: Mon Mar 2 18:26:38 2015 -0500 + + Added new function in api.pm (set_unreg_date) + +M lib/pf/api.pm +M lib/pf/util.pm + +commit 49df77148dcb11a848b886080403d4378335b2c7 +Author: Durand Fabrice +Date: Mon Mar 2 17:55:42 2015 -0500 + + Evaluate role in vlan filter + +M lib/pf/vlan/filter.pm + +commit 98af62d1f658eb99521cc5af9301904ce6a728fe +Author: Julien Semaan +Date: Mon Mar 2 16:51:56 2015 -0500 + + Added /usr/local/pf/addons/pfconfig/cmd.pl to packaging + +M addons/packages/packetfence.spec + +commit 0c00928e9b0ec2600fe138892c30e3ea249436e3 +Author: Durand Fabrice +Date: Mon Mar 2 16:23:59 2015 -0500 + + Added libphp-serialization-perl as a dependencie in debian/ubuntu + +M debian/control + +commit ac78cc926c3e634ff3a8fe507f78cbc666712317 +Author: Durand Fabrice +Date: Mon Mar 2 16:20:29 2015 -0500 + + Revert "Added libphp-session-perl as a dependencie" + + This reverts commit 374f19b3aaa9231e6ee05a33041ffdc0c3c1fcdc. + +M debian/control + +commit f502df671004cb0c848298cc0c7047e13fc83d3c +Author: Durand Fabrice +Date: Mon Mar 2 16:18:03 2015 -0500 + + Added libphp-session-perl as a dependencie + +M debian/control + +commit 0b47512c0dadaf20c5c748cc25005f49d4fe934a +Author: Durand Fabrice +Date: Mon Mar 2 16:15:31 2015 -0500 + + Fix debian rules file + +M debian/rules + +commit 5689360b4fef1b261be9369d028fc8c7fd9cbe57 +Author: James Rouzier +Date: Mon Mar 2 16:14:56 2015 -0500 + + Added pfconfig.t to the compile tests + +M t/TestUtils.pm + +commit 90e2a6189855502baa3303b4a43fbcdce1a90bc9 +Author: James Rouzier +Date: Mon Mar 2 16:09:22 2015 -0500 + + Add test script to test pfconfig libs + +A t/pfconfig.t + +commit 2e0bcf756f97143ae66755865ff6a6b1e6ec4eee +Author: James Rouzier +Date: Mon Mar 2 16:08:49 2015 -0500 + + Do not test pfconfig libs + +M t/pf.t + +commit eacab5fd7c6dd7ccb124d85a6747e8a6ee34a54e +Author: Durand Fabrice +Date: Mon Mar 2 15:48:00 2015 -0500 + + Removed useless dependencie in debian packaging + +M debian/control + +commit 2163ad9676bb12fcdbecc6b3ced53f29c17f1ead +Author: Durand Fabrice +Date: Mon Mar 2 15:14:10 2015 -0500 + + Fixed debian rules file + +M debian/rules + +commit 17682e6e073cdfef7eab3b850baf34eed9a9dca8 +Author: Durand Fabrice +Date: Mon Mar 2 15:02:00 2015 -0500 + + Removed dependencie + +M addons/packages/packetfence.spec + +commit a1f0d6fc16275f87267bba330c3923ba19520b15 +Author: Durand Fabrice +Date: Mon Mar 2 15:00:54 2015 -0500 + + Set noarch for packetfence-config + +M addons/packages/packetfence.spec + +commit 130f2ce88ceb82a63329c1de94a4e92c6893e5ef +Author: Durand Fabrice +Date: Mon Mar 2 14:23:54 2015 -0500 + + Test if pf user exist before trying to remove it + +M addons/packages/packetfence.spec + +commit 37d4cf1008ff53f7dd781ad65e47d293beb40adc +Author: Durand Fabrice +Date: Mon Mar 2 14:01:02 2015 -0500 + + replace space by tab in debian/rules + +M debian/rules + +commit 030d304597cf3bff3e71470bd786751d70ea979b +Author: Julien Semaan +Date: Mon Mar 2 13:45:42 2015 -0500 + + fix chkconfig on pfconfig init script + +M addons/pfconfig/pfconfig.init + +commit d6befe9abd3dea68e5622302018793fa45306b4c +Author: Julien Semaan +Date: Mon Mar 2 13:03:59 2015 -0500 + + missing supportsRoamingAccounting in MockedSwitch + +M lib/pf/Switch/MockedSwitch.pm + +commit a85bc0d8920d2720956a88ba661dbff9d99ed4bb +Author: Durand Fabrice +Date: Mon Mar 2 11:49:06 2015 -0500 + + Fix missing attribute in locationlog + +M lib/pf/locationlog.pm + +commit 11282c5198561b06795277745b9db70708201389 +Author: Zammit Ludovic +Date: Mon Mar 2 11:36:58 2015 -0500 + + Fix label module name + +M html/pfappserver/lib/pfappserver/I18N/i_default.po +A lib/pf/profile/filter/node_role.pm + +commit 988c76555b000c7b95a54e2162c0163ee59699bf +Author: Durand Fabrice +Date: Mon Mar 2 11:04:25 2015 -0500 + + Added old roaming snmp trap code as comment for AeroHIVE AP + +M lib/pf/Switch/AeroHIVE.pm + +commit ec9a054965603cf34dba00e58c65b30f903844dd +Author: Durand Fabrice +Date: Mon Mar 2 11:01:11 2015 -0500 + + Fix wrong portal instantiate on 802.1x autoreg + +M lib/pf/Portal/ProfileFactory.pm +M lib/pf/vlan.pm + +commit 9efaf07d02543d4700e44e8371c5ecec17eba302 +Author: Derek Wuelfrath +Date: Mon Mar 2 10:54:46 2015 -0500 + + Fixing previous commit (wrong version) + +M UPGRADE.asciidoc + +commit 1a6e7ef78981844a7ec4fea41e91deacd74f8623 +Author: Derek Wuelfrath +Date: Mon Mar 2 10:53:31 2015 -0500 + + Missing upgrade procedure + +M UPGRADE.asciidoc + +commit 2da8e815d678e18db117b1642d7642fe9ba039ce +Author: James Rouzier +Date: Mon Mar 2 10:18:57 2015 -0500 + + Update .gitignore file + +M .gitignore + +commit 7be803c19d98cda7f6f87eab2fae8ea9e3337e86 +Author: Julien Semaan +Date: Mon Mar 2 09:05:11 2015 -0500 + + various fixes to setRole flow + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Authenticate.pm +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm + +commit 5904de1d92774e71e69b0f64c795e7037c299eed +Author: Julien Semaan +Date: Fri Feb 27 16:05:17 2015 -0500 + + pass source id in guest + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm + +commit 10538002500633c0af21c098ef7625e00e757509 +Author: Antoine Amacher +Date: Fri Feb 27 15:50:48 2015 -0500 + + fix refs + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm + +commit ada718d90f9d03f7ab4d2ffa449310f2f3b81e87 +Author: Julien Semaan +Date: Fri Feb 27 15:41:48 2015 -0500 + + gix syntax + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm + +commit a698597a3595febda1984217a02a2f552f66e577 +Author: Julien Semaan +Date: Fri Feb 27 15:29:37 2015 -0500 + + use setrole in guest registration + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm + +commit 28ce0990d4900795b8776daf8dc88eafdc2f2694 +Author: Julien Semaan +Date: Fri Feb 27 15:22:05 2015 -0500 + + made error message better + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Authenticate.pm + +commit 142200a25753aaf8eeb56e2e8002cf7aa53b072c +Author: Julien Semaan +Date: Thu Feb 26 14:36:56 2015 -0500 + + Show better error messages when auth doesn't give proper role or unregdate + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Authenticate.pm + +commit 5475c1b63f3486658c17a29ecb7a7cd5057d5a9c +Author: Durand Fabrice +Date: Sat Feb 28 17:30:20 2015 -0500 + + Normalize log + +M lib/pf/node.pm + +commit 253288b497fae729f2f50c4b0d85e8298ac04aa0 +Author: Durand Fabrice +Date: Sat Feb 28 17:09:50 2015 -0500 + + Standardize log + +M lib/pf/vlan.pm +M lib/pf/vlan/filter.pm + +commit ab87c5582e0dacd6127597745ebdaf1fef73a8e0 +Author: Durand Fabrice +Date: Sat Feb 28 17:05:58 2015 -0500 + + Removed : Use of uninitialized value $switch_mac in httpd.aaa.error log file + +M lib/pf/radius.pm + +commit 48ccebe8cc82e1877455c66a89326f6a2371a642 +Author: Julien Semaan +Date: Fri Feb 27 13:55:39 2015 -0500 + + add limit to connect to pfconfig + +M lib/pfconfig/cached.pm + +commit 6e3725f76f42c8a8c261bc99825cad9c1ec9075b +Author: Julien Semaan +Date: Fri Feb 27 11:59:50 2015 -0500 + + missing file in spec + +M addons/packages/packetfence.spec + +commit 062c4b16d4b877262367ed9c9de6ce001bfe63fb +Author: Durand Fabrice +Date: Fri Feb 27 11:56:09 2015 -0500 + + Fixed perl library name + +M debian/control + +commit 3ae8fb57321e199ec56a071d9bcf5050037a45f9 +Author: Julien Semaan +Date: Fri Feb 27 11:38:21 2015 -0500 + + Revert "comment out doc generation temporarly" + + This reverts commit 8ad7ead0067656b93cc4c1aea386fb5bf2934d50. + +M addons/packages/packetfence.spec + +commit 84e1fd7099cc726ec701c5949f31277d1dfe76ed +Author: Julien Semaan +Date: Fri Feb 27 11:35:03 2015 -0500 + + comment out doc generation temporarly + +M addons/packages/packetfence.spec + +commit c63fd0a17722119131802cdf126b8822abed5454 +Author: Durand Fabrice +Date: Fri Feb 27 11:32:46 2015 -0500 + + Fixed path for pfconfig + +M addons/packages/packetfence.spec + +commit 4298a17e5c1a9f654931b544a8a869be08dfa1af +Author: Julien Semaan +Date: Fri Feb 27 11:05:23 2015 -0500 + + fix builds + +M addons/packages/packetfence.spec + +commit 01ef7e242863b5d3a9c51478b0e2b10d724333af +Author: Julien Semaan +Date: Fri Feb 27 10:52:10 2015 -0500 + + fix forgotten renaming + +M addons/packages/packetfence.spec + +commit dac5be4cbd91b338f2a28ff9f865f0c236c76790 +Author: Julien Semaan +Date: Fri Feb 27 10:50:12 2015 -0500 + + rename packetfence-pfconfig packetfence-config + +M addons/packages/packetfence.spec +M debian/control +A debian/packetfence-config.init +A debian/packetfence-config.postinst +A debian/packetfence-config.postrm +A debian/packetfence-config.preinst +A debian/packetfence-config.prerm +D debian/packetfence-pfconfig.init +D debian/packetfence-pfconfig.postinst +D debian/packetfence-pfconfig.postrm +D debian/packetfence-pfconfig.preinst +D debian/packetfence-pfconfig.prerm +M debian/packetfence.init +M debian/rules + +commit 9c6db9f7bd59c5dcac42647a0d361416747c8aab +Author: Julien Semaan +Date: Fri Feb 27 10:39:37 2015 -0500 + + fix init script start order + +M addons/pfconfig/pfconfig.init +M debian/packetfence-pfconfig.init +M debian/packetfence.init + +commit 22ee9aca97fe512a4830974d113f035a15a3f65a +Author: Julien Semaan +Date: Fri Feb 27 10:18:03 2015 -0500 + + ameliorations to pfconfig cmd + +M addons/pfconfig/cmd.pl + +commit 38c5b1b50f7f6508bae03981506276d8b0eafcdb +Author: Durand Fabrice +Date: Fri Feb 27 10:32:33 2015 -0500 + + PacketFence depend of packetfence-pfconfig + +M addons/packages/packetfence.spec +M debian/control + +commit 1966429269cf45b67251938784555104dfe49b4e +Author: Durand Fabrice +Date: Fri Feb 27 10:23:36 2015 -0500 + + Renamed packetfence-config to packetfence-pfconfig + +M addons/packages/packetfence.spec + +commit c2dbeb0d38cb267f87774423efa7fc96facbd4ab +Author: Durand Fabrice +Date: Fri Feb 27 10:18:43 2015 -0500 + + Moved dependencies in packetfence-pfconfig + +M addons/packages/packetfence.spec + +commit 042f8dbbf4e8bc850ee9522139afc7089740aaf1 +Author: Durand Fabrice +Date: Fri Feb 27 10:13:04 2015 -0500 + + Added packetfence-pfconfig package for debian + +M debian/control +A debian/packetfence-pfconfig.postinst +A debian/packetfence-pfconfig.postrm +A debian/packetfence-pfconfig.preinst +A debian/packetfence-pfconfig.prerm +M debian/rules + +commit c9c49190989c4baad27660945d9f1e57351b2cae +Author: Durand Fabrice +Date: Fri Feb 27 09:39:43 2015 -0500 + + Added packetfence-config package in spec file + +M addons/packages/packetfence.spec + +commit 506218ab74840c66a5c5cb3eddc7d811235a69b0 +Author: Julien Semaan +Date: Fri Feb 27 10:11:31 2015 -0500 + + move the pfconfig socket (again) + +M lib/pfconfig/util.pm + +commit c838dd2e20f80eefab17fb8147a69629216aec7e +Author: Louis Munro +Date: Fri Feb 27 15:40:40 2015 -0500 + + Updated NEWS file for PR 394. + +M NEWS.asciidoc + +commit f8fd304e754a9870765383bfaae3fee31c53236d +Author: James Rouzier +Date: Fri Feb 27 15:30:09 2015 -0500 + + Added label for date range + +M html/pfappserver/root/admin/nodes.tt + +commit 2eaa51ecd86677b21479ade31f159d89ad6869ef +Author: Julien Semaan +Date: Fri Feb 27 14:38:19 2015 -0500 + + news entry for #356 + +M NEWS.asciidoc + +commit 4c2e114a96dd4607d1fd87496af5087b9a2b6839 +Author: James Rouzier +Date: Fri Feb 27 13:58:20 2015 -0500 + + Update copyright + +M conf/locale/de/LC_MESSAGES/packetfence.po +M conf/locale/es/LC_MESSAGES/packetfence.po +M conf/locale/fr/LC_MESSAGES/packetfence.po +M conf/locale/he_IL/LC_MESSAGES/packetfence.po +M conf/locale/it/LC_MESSAGES/packetfence.po +M conf/locale/nl/LC_MESSAGES/packetfence.po +M conf/locale/pl_PL/LC_MESSAGES/packetfence.po +M conf/locale/pt_BR/LC_MESSAGES/packetfence.po +M html/pfappserver/lib/pfappserver/I18N/fr.po + +commit de1449177c7c5bac934e06007ed783c5ff876f35 +Author: Louis Munro +Date: Fri Feb 27 11:43:14 2015 -0500 + + Updated NEWS file for PR 318 (made admin GUI customizable). + +M NEWS.asciidoc + +commit 47f7779afa0380ff915200bc7ae62324e6f54d28 +Author: Durand Fabrice +Date: Fri Feb 27 11:37:23 2015 -0500 + + Updated NEWS.asciidoc file + +M NEWS.asciidoc + +commit a59c63af588695cd310ef8cf04894a2e63630641 +Author: Louis Munro +Date: Fri Feb 27 11:27:54 2015 -0500 + + Added NEWS entry for PR 343. + +M NEWS.asciidoc + +commit 0650c9905617afc8b06756e16ee1eaf8e4ba81c0 +Author: Louis Munro +Date: Fri Feb 27 11:22:43 2015 -0500 + + Reworded previous NEWS entry. + Now contains more better message. + +M NEWS.asciidoc + +commit 80afea6e368495061d4ceee6ccaeef14bad7e03b +Author: Louis Munro +Date: Fri Feb 27 11:20:55 2015 -0500 + + Updated NEWS file to include PR 360. + +M NEWS.asciidoc + +commit a4912af3d6fcf547a21f90b0ef14c427e1fd5cf1 +Author: Louis Munro +Date: Fri Feb 27 11:18:38 2015 -0500 + + Updated NEWS file for PR 361. + +M NEWS.asciidoc + +commit 3e74a66b1ce3beb98adea3b2bcc05f0122c8bba8 +Author: Louis Munro +Date: Fri Feb 27 11:15:09 2015 -0500 + + Updated NEWS file for PR 341. + +M NEWS.asciidoc + +commit d4f221a96d78f6e5ee1a392a467bfc0cc20112aa +Author: Louis Munro +Date: Fri Feb 27 11:11:55 2015 -0500 + + Added NEWS entry for PR 362. + +M NEWS.asciidoc + +commit d03f7c3a36f5293f89c5438ee0949efb1b43e4ea +Author: Julien Semaan +Date: Thu Feb 26 14:15:36 2015 -0500 + + add control file dir creation + +M addons/packages/packetfence.spec + +commit 4e3b9447cb7dfa08de11fb4d3884ccae38aabc95 +Author: Julien Semaan +Date: Thu Feb 26 14:03:57 2015 -0500 + + create control files dir in builds + +M addons/packages/packetfence.spec + +commit a9109788d6d1610fd18e2472e3dcfd7079554f81 +Author: Julien Semaan +Date: Thu Feb 26 13:30:16 2015 -0500 + + change socket path + +M lib/pfconfig/util.pm + +commit 53fddb3f8c4bbaeb03e175925c8669ca2d7622db +Author: Julien Semaan +Date: Thu Feb 26 12:40:11 2015 -0500 + + move pfconfig socket + +M lib/pfconfig/util.pm + +commit 81863559900a6e520026e416d2b6b4cd71fc8d75 +Author: Julien Semaan +Date: Thu Feb 26 10:28:11 2015 -0500 + + Add sbin/pfconfig to spec file + +M addons/packages/packetfence.spec + +commit 4be6ef753f5dd28c6d9342132e64df08e24d7db5 +Author: Julien Semaan +Date: Thu Feb 26 10:08:27 2015 -0500 + + missing program in prepare config + +M t/prepare-pfconfig.t + +commit a2db525237b30362a547c8875dc68ff93755ce8a +Author: Julien Semaan +Date: Thu Feb 26 10:05:22 2015 -0500 + + make prepare pfconfig executable + +M t/prepare-pfconfig.t + +commit 08737515b7a6e0def37473467092797bd432b8b2 +Author: Julien Semaan +Date: Thu Feb 26 09:58:43 2015 -0500 + + add test preparation for pfconfig + +A t/prepare-pfconfig.t + +commit 40fb992cc7d3f3e3afa7658642115e4a085e8c0b +Author: Zammit Ludovic +Date: Fri Feb 20 13:12:32 2015 -0500 + + fix label Node role + +M html/pfappserver/lib/pfappserver/I18N/i_default.po + +commit e2f9984f1e95e2902da3ea9fdc22ebe33095f63e +Author: Zammit Ludovic +Date: Fri Feb 20 12:57:47 2015 -0500 + + Add filter category on portal profile + +M html/pfappserver/lib/pfappserver/I18N/i_default.po +A lib/pf/profile/filter/category.pm + +commit 0fe712ed7cdbd8d549b33ee9e9e7043749b5feb0 +Author: Durand Fabrice +Date: Thu Feb 19 09:45:05 2015 -0500 + + Fixed syntax + +M html/pfappserver/lib/pfappserver/Form/Config/ProfileCommon.pm +M lib/pf/vlan.pm + +commit 6e65596a327204046a372923ad9cea6eb1c06b04 +Author: Durand Fabrice +Date: Tue Feb 17 09:45:50 2015 -0500 + + Dynamic_unregdate is only after we call SET_UNREG_DATE + +M lib/pf/vlan.pm + +commit fbbb885e970d1f8c7201ba4faa6d05fedd526c94 +Author: Durand Fabrice +Date: Mon Feb 16 16:11:29 2015 -0500 + + Added field dot1x_recompute_role_from_portal + +M html/pfappserver/lib/pfappserver/Form/Config/ProfileCommon.pm + +commit 1d11ed600032fde1d6c1911365ce0edba9133ca1 +Author: Durand Fabrice +Date: Tue Feb 10 10:12:32 2015 -0500 + + Added $autoreg variable to be sure of the current status of the node + +M lib/pf/radius.pm +M lib/pf/vlan.pm + +commit bcb9891c7e8f12a982030d946df819778419543a +Author: Durand Fabrice +Date: Tue Feb 10 08:47:46 2015 -0500 + + Fixed syntax and add configuration parameter in checkup.pm + +M lib/pf/pfcmd/checkup.pm +M lib/pf/vlan.pm + +commit ffbee43001b0ae75c134620c26720ef82065b9b5 +Author: Durand Fabrice +Date: Mon Feb 9 16:29:38 2015 -0500 + + return 1 as vlan id if autoregister vlan filter rule match + +M lib/pf/vlan.pm +M lib/pf/vlan/filter.pm + +commit 2c40828e634bb2cf2360b1549766a45f2469338d +Author: Durand Fabrice +Date: Mon Feb 9 15:42:58 2015 -0500 + + Added dot1x_recompute_role_from_portal on the portal profile to recompute or not the role when we do a dot1x connection + +M html/pfappserver/lib/pfappserver/Form/Config/ProfileCommon.pm +M lib/pf/Portal/Profile.pm +M lib/pf/vlan.pm + +commit b455db4eeec9aed48d2ef32257a26e494ad51639 +Author: Durand Fabrice +Date: Mon Feb 9 15:30:50 2015 -0500 + + Moved the call to vlan filter in getRegistrationVlan to be sure that the status of the node is unreg or in pending mode + +M lib/pf/vlan.pm + +commit a2da2e34496e479b132e20b7f79910938ad68d7e +Author: Durand Fabrice +Date: Wed Feb 4 15:31:36 2015 -0500 + + If 802.1x without autoreg then we compute the role + +M lib/pf/vlan.pm + +commit ee822af24c911b8d1b97097288470b93381120a5 +Author: Durand Fabrice +Date: Wed Feb 4 13:49:48 2015 -0500 + + Remove call to person and lookup_person in vlan.pm (done in node_register) + +M lib/pf/node.pm +M lib/pf/vlan.pm + +commit 1216e4a2f8a37ca17644a3eee45300f7dc1f035a +Author: Durand Fabrice +Date: Wed Feb 4 10:41:06 2015 -0500 + + Moved code from getNormalVlan to getNodeInfoForAutoReg + +M lib/pf/vlan.pm + +commit b99fd0f17c5732cc21c103ddbb69cc2888269ea8 +Author: James Rouzier +Date: Thu Feb 26 18:00:11 2015 -0500 + + Make Start date begin at 00:00 and end date end at 23:59 + +M html/pfappserver/lib/pfappserver/Model/Search/Node.pm + +commit a70917d42b9e01d7e3ca76b54a789f4d90c39ce9 +Author: James Rouzier +Date: Thu Feb 26 12:57:12 2015 -0500 + + Allow advanced search conditions to be optional + +M html/pfappserver/root/admin/nodes.tt +M html/pfappserver/root/static/js/node.js + +commit d63e83f749e7ebdf86fe73add422183109535031 +Author: James Rouzier +Date: Thu Feb 26 12:53:58 2015 -0500 + + Date range now searches detect_date + +M html/pfappserver/lib/pfappserver/Model/Search/Node.pm + +commit c9ea799184bb10ad8453b2982cdb7f1afc8b4bea +Author: Durand Fabrice +Date: Thu Feb 26 15:25:26 2015 -0500 + + Removed snmp roaming support for AeroHIVE + +M lib/pf/Switch/AeroHIVE.pm + +commit cdb0fd4cdf8f9a7bbb5fc3e91a5af9a9d5384cd3 +Author: Durand Fabrice +Date: Thu Feb 26 15:18:19 2015 -0500 + + Fixed charset in portal pages + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Sms.pm +M lib/pf/web/guest.pm + +commit 74e71241af6f6a8461d936eb7adaa4d73dc5124b +Author: Durand Fabrice +Date: Thu Feb 26 14:45:57 2015 -0500 + + Fix charset in signup + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm + +commit 19d8d94653b178848dc675312a0da97b6f9288b2 +Author: Durand Fabrice +Date: Thu Feb 26 14:22:53 2015 -0500 + + Only provides the real locales of the portal + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Root.pm + +commit 877a930651ce21583bd51c84fcfdf2329c22bc23 +Author: Durand Fabrice +Date: Thu Feb 26 14:12:50 2015 -0500 + + Fixed charset on error messages on the portal + +M html/captive-portal/lib/captiveportal/Base/Controller.pm + +commit 0a2c1608efb191265555d6591a46f8c33956c9e2 +Author: James Rouzier +Date: Tue Feb 24 15:34:34 2015 -0500 + + Consider customizable files as configurations + +M addons/packages/packetfence.spec +M debian/packetfence.conffiles + +commit 77bac7a675416e6204670b707564904b7b9d6982 +Author: James Rouzier +Date: Tue Feb 24 14:48:19 2015 -0500 + + Made Controller::User customizable + +M html/pfappserver/lib/pfappserver/Controller/User.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/User.pm + +commit f9e72fdfcffe31d0b3bfe0354cf11e7d727becc3 +Author: James Rouzier +Date: Tue Feb 24 14:48:14 2015 -0500 + + Made Controller::Interface customizable + +M html/pfappserver/lib/pfappserver/Controller/Interface.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Interface.pm + +commit 57a970f79cf126dcc88edce3e5c912b288670bec +Author: James Rouzier +Date: Tue Feb 24 14:48:10 2015 -0500 + + Made Controller::Graph customizable + +M html/pfappserver/lib/pfappserver/Controller/Graph.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Graph.pm + +commit edb554097c491d86a6ccaebfd4c7f7e92795e740 +Author: James Rouzier +Date: Tue Feb 24 14:48:07 2015 -0500 + + Made Controller::DB customizable + +M html/pfappserver/lib/pfappserver/Controller/DB.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/DB.pm + +commit c492e0f084e5cc636eaca74370c7229a5de08059 +Author: James Rouzier +Date: Tue Feb 24 14:48:01 2015 -0500 + + Made Controller::Configuration customizable + +M html/pfappserver/lib/pfappserver/Controller/Configuration.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Configuration.pm + +commit 13658aa458b1b2424ef324902108d28251f707ff +Author: James Rouzier +Date: Tue Feb 24 14:46:53 2015 -0500 + + Made Controller::Roles customizable + +M html/pfappserver/lib/pfappserver/Controller/Roles.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Roles.pm + +commit 6adc9b69cf35911a127f144032a1db958729036b +Author: James Rouzier +Date: Tue Feb 24 14:46:49 2015 -0500 + + Made Controller::Admin customizable + +M html/pfappserver/lib/pfappserver/Controller/Admin.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Admin.pm + +commit 3702a88bde366c2838f2d84d6db2a28239b9e453 +Author: James Rouzier +Date: Tue Feb 24 14:46:45 2015 -0500 + + Made Controller::Configurator customizable + +M html/pfappserver/lib/pfappserver/Controller/Configurator.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Configurator.pm + +commit ba9957089affa314a6bc78e0bf7fc84096cec55f +Author: James Rouzier +Date: Tue Feb 24 14:46:38 2015 -0500 + + Made Controller::Violation customizable + +M html/pfappserver/lib/pfappserver/Controller/Violation.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Violation.pm + +commit 2235bceacaa8cd19941bf21cffdf62f5c37a9c69 +Author: James Rouzier +Date: Tue Feb 24 14:46:34 2015 -0500 + + Made Controller::Root customizable + +M html/pfappserver/lib/pfappserver/Controller/Root.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Root.pm + +commit b54928e878603c525601b0671e5bbe519b197792 +Author: James Rouzier +Date: Tue Feb 24 14:46:28 2015 -0500 + + Made Controller::Service customizable + +M html/pfappserver/lib/pfappserver/Controller/Service.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Service.pm + +commit 8a82bcd824735c2dc739fa6a8f78dbfdd48f63a2 +Author: James Rouzier +Date: Tue Feb 24 14:46:23 2015 -0500 + + Made Controller::Node customizable + +M html/pfappserver/lib/pfappserver/Controller/Node.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Node.pm + +commit 2feb7d84df279f3b2ed39b57a17fb09106783514 +Author: James Rouzier +Date: Tue Feb 24 14:46:18 2015 -0500 + + Made Controller::SoH customizable + +M html/pfappserver/lib/pfappserver/Controller/SoH.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/SoH.pm + +commit e8155cfd9d0bb0a0cafa2ee056f6f0dcb2e2569c +Author: James Rouzier +Date: Tue Feb 24 14:46:13 2015 -0500 + + Made Controller::Config::Firewall_SSO customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Firewall_SSO.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Firewall_SSO.pm + +commit 9fb5add4ab44fb33566cce96d577171437158124 +Author: James Rouzier +Date: Tue Feb 24 14:46:09 2015 -0500 + + Made Controller::Config::System customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/System.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/System.pm + +commit f6c4f58ab31a8b04e072c9ba5f7e3e5f1c19f082 +Author: James Rouzier +Date: Tue Feb 24 14:46:05 2015 -0500 + + Made Controller::Config::Wrix customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Wrix.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Wrix.pm + +commit 9061268ee140e4e4e8ef074bc42ba4ee89c60e8f +Author: James Rouzier +Date: Tue Feb 24 14:44:59 2015 -0500 + + Made Controller::Config::Authentication::Source customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Authentication/Source.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Authentication/Source.pm + +commit 0c35c544c94658b7c487c8cbc58c140514ba9cfe +Author: James Rouzier +Date: Tue Feb 24 14:44:53 2015 -0500 + + Made Controller::Config::FloatingDevice customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/FloatingDevice.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/FloatingDevice.pm + +commit 0d5828abb11e772e35d6a1b213be898a0ab0bbce +Author: James Rouzier +Date: Tue Feb 24 14:44:47 2015 -0500 + + Made Controller::Config::Authentication customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Authentication.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Authentication.pm + +commit e74c2927955dffcd5d051784e789e843bbbbab85 +Author: James Rouzier +Date: Tue Feb 24 14:44:40 2015 -0500 + + Made Controller::Config::Provisioning customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Provisioning.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Provisioning.pm + +commit 71b4db05439a0ccb1e178f859fb26c65681b35d0 +Author: James Rouzier +Date: Tue Feb 24 14:44:35 2015 -0500 + + Made Controller::Config::MacAddress customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/MacAddress.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/MacAddress.pm + +commit 5f9fb26191f3dede987740a0c4095d6b9b40a74a +Author: James Rouzier +Date: Tue Feb 24 14:44:28 2015 -0500 + + Made Controller::Config::AdminRoles customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/AdminRoles.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/AdminRoles.pm + +commit 97a0ea55a04fcdd009cb79d06ff5f2ce83cdb843 +Author: James Rouzier +Date: Tue Feb 24 14:44:23 2015 -0500 + + Made Controller::Config::Realm customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Realm.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Realm.pm + +commit 46457444e6ef4dcf61e7fddab00e8de001de0037 +Author: James Rouzier +Date: Tue Feb 24 14:44:19 2015 -0500 + + Made Controller::Config::Profile customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Profile.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Profile.pm + +commit 699d990053e90f5f9e63b2d565b4362782213337 +Author: James Rouzier +Date: Tue Feb 24 14:44:15 2015 -0500 + + Made Controller::Config::Switch customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Switch.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Switch.pm + +commit f60fda4f8c564e602515dfc3d753359d7a768647 +Author: James Rouzier +Date: Tue Feb 24 14:44:11 2015 -0500 + + Made Controller::Config::Fingerprints customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Fingerprints.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Fingerprints.pm + +commit 1d0be370cd513835cdcf1e8294ef12615b2082bc +Author: James Rouzier +Date: Tue Feb 24 14:44:07 2015 -0500 + + Made Controller::Config::Pf customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Pf.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Pf.pm + +commit eca76aba8615b7cd1511bb94b97902324d281984 +Author: James Rouzier +Date: Tue Feb 24 14:44:01 2015 -0500 + + Made Controller::Config::Networks customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Networks.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Networks.pm + +commit 88c6a1e7a6b7c1850a5397e5c68ac6023512b357 +Author: James Rouzier +Date: Tue Feb 24 14:43:56 2015 -0500 + + Made Controller::Config::Profile::Default customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/Profile/Default.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/Profile/Default.pm + +commit 3e1f3b31bce96dff328cbee66cd8792d4798a0e5 +Author: James Rouzier +Date: Tue Feb 24 14:43:51 2015 -0500 + + Made Controller::Config::UserAgents customizable + +M html/pfappserver/lib/pfappserver/Controller/Config/UserAgents.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/Config/UserAgents.pm + +commit 5033ef5c357d3190acdd7559e0ea6385ec946773 +Author: James Rouzier +Date: Tue Feb 24 14:43:48 2015 -0500 + + Made Controller::SavedSearch::User customizable + +M html/pfappserver/lib/pfappserver/Controller/SavedSearch/User.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/SavedSearch/User.pm + +commit 4ce6dc5fd85048eb1fd352bd7a96010e59ded570 +Author: James Rouzier +Date: Tue Feb 24 14:43:44 2015 -0500 + + Made Controller::SavedSearch::Node customizable + +M html/pfappserver/lib/pfappserver/Controller/SavedSearch/Node.pm +A html/pfappserver/lib/pfappserver/PacketFence/Controller/SavedSearch/Node.pm + +commit ea82ba494cb3dd9896b735183d9c8de1d232d4d8 +Author: James Rouzier +Date: Tue Feb 24 13:45:39 2015 -0500 + + Rename pfappserver.conf to pfappserver.conf.example + +D html/pfappserver/pfappserver.conf +A html/pfappserver/pfappserver.conf.example + +commit 2eeb7e90756f7a6e6f7c9daef18f7499bb994240 +Author: Durand Fabrice +Date: Thu Feb 26 13:03:14 2015 -0500 + + Fixed wrong syntax for status only on production network + +M conf/httpd.conf.d/httpd.portal + +commit fd19ba99eba70a5db331c751358756a6bffb31ad +Author: Julien Semaan +Date: Thu Feb 26 10:37:41 2015 -0500 + + fix string escaping in profile file explorer template + +M html/pfappserver/root/config/profile/files.tt + +commit 8afe3f66121ac771dd2623100b22f0008ba6597e +Author: Durand Fabrice +Date: Wed Feb 25 19:09:06 2015 -0500 + + Added .example extension + +D conf/templates/emails-guest_sponsor_confirmed.txt.tt +A conf/templates/emails-guest_sponsor_confirmed.txt.tt.example + +commit dab5ff4b81b6a72b1fdc86631bd00cdab7457edb +Author: Durand Fabrice +Date: Wed Feb 25 15:33:26 2015 -0500 + + Added explanation on the 4th step + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Root.pm + +commit 63bf992d7ed00bbc4b257e4afb007b366b710692 +Author: Julien Semaan +Date: Wed Feb 25 13:26:09 2015 -0500 + + added debian init script + +A debian/packetfence-pfconfig.init + +commit acd8869387fc682a31f1bad2dab0eb0cdf9477a4 +Author: Julien Semaan +Date: Wed Feb 25 13:22:06 2015 -0500 + + adjustements to pfconfig + +D addons/pfconfig/memcached.init +D lib/pf/factory/config.pm +M lib/pfconfig/log.pm +M sbin/pfconfig + +commit 86bf0c04414ad5e6e0dddc9ffb407cdcbaf696d6 +Author: Durand Fabrice +Date: Wed Feb 25 13:12:46 2015 -0500 + + Fix status page only on prod network + +M conf/httpd.conf.d/httpd.portal + +commit 854398e0d2a70a2330c619af9fe7aa056709339a +Author: Julien Semaan +Date: Wed Feb 25 13:08:38 2015 -0500 + + add bdb install to pfconfig readme + +M addons/pfconfig/README.asciidoc + +commit 7c5d9e6a18255826ebee7072b1940f95cd2771db +Author: Julien Semaan +Date: Wed Feb 25 13:00:46 2015 -0500 + + fix error in switch ConfigStore commit + +M lib/pfconfig/namespaces/config/Switch.pm + +commit 2c23af17797305c73e11771bac9b2e1558f08767 +Author: Julien Semaan +Date: Wed Feb 25 11:19:54 2015 -0500 + + put pfconfig log into err + +M lib/pfconfig/log.pm + +commit f6749a05d9621b242a4ca4da2301410fa82cd0f4 +Author: Durand Fabrice +Date: Wed Feb 25 09:54:24 2015 -0500 + + Fixed wrong email subject char encoding + +M lib/pf/activation.pm +M lib/pf/web/guest.pm + +commit 0fcf7752b454a5cf9f06be85730d7caa5e56ebf0 +Author: Julien Semaan +Date: Wed Feb 25 07:47:57 2015 -0500 + + add Cache::BDB to dependencies + +M addons/packages/packetfence.spec + +commit 5a040dac62a552ff667e1bbac5f4f3017e961242 +Author: Julien Semaan +Date: Tue Feb 24 16:50:40 2015 -0500 + + adjust pfconfig readme for bdb + +M addons/pfconfig/README.asciidoc + +commit 53914f54492122da4e1c95b37cabc490190c61f2 +Author: James Rouzier +Date: Tue Feb 24 18:13:12 2015 -0500 + + Verify if a user has sponsor rights before allowing them to sponsor a user + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm + +commit 1bd218849a511b4d53b76c2fe57f5696c284e677 +Author: Durand Fabrice +Date: Tue Feb 24 17:23:05 2015 -0500 + + Added pod to explain memberOf:1.2.840.113556.1.4.1941: attribute + +M lib/pf/Authentication/Source/ADSource.pm + +commit fdcda52bc9b32d3139fd673a74719812c411753c +Author: Julien Semaan +Date: Tue Feb 24 14:43:26 2015 -0500 + + missing import in memcached backend + +M lib/pfconfig/backend/memcached.pm + +commit 9f3df3ca6b8151f4135a2e367b8c97fc10d7dd28 +Author: Julien Semaan +Date: Tue Feb 24 14:43:11 2015 -0500 + + use BDB as a L2 backend + +A lib/pfconfig/backend/bdb.pm +M lib/pfconfig/manager.pm + +commit 5419e9a00b7d1f77818f1c2bc3571bdc08010e38 +Author: Durand Fabrice +Date: Tue Feb 24 16:31:09 2015 -0500 + + Added emails-guest_sponsor_confirmed template + +M .gitignore +A conf/templates/emails-guest_sponsor_confirmed.txt.tt +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm +M lib/pf/web/guest.pm + +commit d946a150e8d8accff62e5cfd812bb97919b7095a +Author: Julien Semaan +Date: Tue Feb 24 14:26:16 2015 -0500 + + Update NEWS.asciidoc + +M NEWS.asciidoc + +commit 3aa20a94e6caed7824235f55021e6bfc51368534 +Author: Julien Semaan +Date: Tue Feb 24 14:18:00 2015 -0500 + + stop using factory + +M lib/pf/SwitchFactory.pm + +commit 9097aae45fb10b3f77ee30ad24985c19fd681d54 +Author: Julien Semaan +Date: Tue Feb 24 14:15:40 2015 -0500 + + Fix issue between Sereal and perl threads (thanks james) + +M lib/pfconfig/cached.pm + +commit 6e0c6ba2f0f2679cb52e1d3a3c60a9037de2ddf1 +Author: Julien Semaan +Date: Tue Feb 24 11:52:40 2015 -0500 + + Fix missing variable for web notifications + +M html/captive-portal/templates/pending.html + +commit ea7a525eb20023fd9383d594c01211b3d4501359 +Author: Durand Fabrice +Date: Tue Feb 24 10:09:25 2015 -0500 + + Matched closest language if the specific language has not been enabled on the portal + +M html/captive-portal/lib/captiveportal/PacketFence/Controller/Root.pm + +commit 9b7ab90c82d4b6d02e5a1f9e4faaf2e62d046078 +Author: Julien Semaan +Date: Tue Feb 24 08:51:05 2015 -0500 + + Fluffied up the pfconfig service + +A addons/pfconfig/README.asciidoc +A addons/pfconfig/memcached.init +A addons/pfconfig/pfconfig.init +D pfconfig.init + +commit e49b56edbc20ad8149e757bee45a928b28afe9ac +Author: Julien Semaan +Date: Tue Feb 24 08:39:12 2015 -0500 + + added pfconfig runner + +A sbin/pfconfig + +commit 73b5788ad061726ed9d2218f847603dded7a4c9d +Author: Julien Semaan +Date: Tue Feb 24 08:35:56 2015 -0500 + + added init script + +A pfconfig.init + +commit aa3317f3e5a1d9a048ff230ec767c7f1183f7487 +Author: Julien Semaan +Date: Tue Feb 24 08:29:24 2015 -0500 + + add factory + +A lib/pf/factory/config.pm + +commit db95c437d1722afe926a9593e5b140af62d2c67e +Author: Julien Semaan +Date: Tue Feb 24 08:27:36 2015 -0500 + + add cmd.pl for pfconfig + +A addons/pfconfig/cmd.pl + +commit 8c0dd6d476af632e8e8a53b59b2758ff9dce4523 +Author: Julien Semaan +Date: Mon Feb 23 15:39:50 2015 -0500 + + remove bad import + +M bin/pfcmd.pl + +commit aed3bbc859e1020ea16c84cc2c0a691b8614cd41 +Author: Julien Semaan +Date: Mon Feb 23 15:28:16 2015 -0500 + + pfconfig for SwitchFactory + +M addons/packages/packetfence.spec +M bin/pfcmd.pl +M lib/pf/ConfigStore/Switch.pm +M lib/pf/SwitchFactory.pm +M lib/pf/services/manager.pm +A lib/pfconfig/backend.pm +A lib/pfconfig/backend/memcached.pm +A lib/pfconfig/backend/mysql.pm +A lib/pfconfig/cached.pm +A lib/pfconfig/cached_array.pm +A lib/pfconfig/cached_hash.pm +A lib/pfconfig/cached_scalar.pm +A lib/pfconfig/log.pm +A lib/pfconfig/manager.pm +A lib/pfconfig/namespaces/config.pm +A lib/pfconfig/namespaces/config/Switch.pm +A lib/pfconfig/namespaces/config/template.pm +A lib/pfconfig/namespaces/resource.pm +A lib/pfconfig/timeme.pm +A lib/pfconfig/util.pm + +commit 78469b6d45ba8970c14402b1f951f14d2397d3f0 +Author: Louis Munro +Date: Mon Feb 23 16:24:06 2015 -0500 + + Made NEWS entry more explicit. + +M NEWS.asciidoc + +commit 13ba2258dc05586139786091699d4d9bb2234611 +Author: Louis Munro +Date: Mon Feb 23 16:21:56 2015 -0500 + + Added NEWS entry for PR 360. + +M NEWS.asciidoc + +commit 9c27e528eae26b5cf31cfb964c5fa959656bd438 +Author: Louis Munro +Date: Mon Feb 23 16:19:07 2015 -0500 + + Corrects previous commit to news file and adds missing entry for PR 344. + +M NEWS.asciidoc + +commit b37182c5d673ab15303aed243aa3b1406bfa7dec +Author: Louis Munro +Date: Mon Feb 23 16:14:38 2015 -0500 + + Added NEWS entry for PR 372. + +M NEWS.asciidoc + +commit 9689f26b54e4aa4643599a0a1902082448b0cedd +Author: Durand Fabrice +Date: Mon Feb 23 10:49:53 2015 -0500 + + Translate memberOf:1.2.840.113556.1.4.1941: to nested group + +M html/pfappserver/lib/pfappserver/I18N/en.po + +commit 8f645c428ab7b4a1110aa228c2227397852a4488 +Author: Derek Wuelfrath +Date: Fri Feb 20 15:09:10 2015 -0500 + + Adjusted DOCTYPE for PR #361 + +M html/captive-portal/templates/header.html + +commit 50955afd5c435c35336ba240ae34c79a03eccf3e +Author: Derek Wuelfrath +Date: Tue Feb 17 13:20:20 2015 -0500 + + Improved REGEX + +M lib/pf/radius.pm + +commit 775df97f2f2eaa401fda8cb2ec614c7bb53c1844 +Author: Derek Wuelfrath +Date: Sun Feb 15 23:54:06 2015 -0500 + + Post rebase + +M db/pf-schema-X-Y-Z.sql +M db/upgrade-X.X.X-X.Y.Z.sql + +commit 46ab1260672db8764a58c7cdf942152e4952e70f +Author: Derek Wuelfrath +Date: Fri Dec 5 15:31:55 2014 -0500 + + Debugging stuff shouldn't be there ;) + +M lib/pf/radius.pm + +commit 8cba77089fc7d3ed5cbd8aff9ea5a46c1dadf18e +Author: Derek Wuelfrath +Date: Fri Dec 5 15:07:24 2014 -0500 + + Keep track of machine account in case of machine auth + +M lib/pf/node.pm +M lib/pf/radius.pm + +commit 4d29962c0fb07e8525e38ce1547afd25af516340 +Author: James Rouzier +Date: Fri Feb 13 12:19:06 2015 -0500 + + Add search by status + +M html/pfappserver/root/admin/nodes.tt + +commit 1ce5e3c20005cce88981450a12fb8e3ad087d529 +Author: Durand Fabrice +Date: Fri Feb 20 07:25:45 2015 -0500 + + Post-release codebase maintenance + +M NEWS.asciidoc +M conf/pf-release +A db/pf-schema-X-Y-Z.sql +A db/upgrade-X.X.X-X.Y.Z.sql + +commit d3829eed270d48af019180cfa6f424a61a8b833f +Author: Durand Fabrice +Date: Thu Feb 19 14:05:17 2015 -0500 + + Prepare for 4.6.1 + +M ChangeLog + commit f64aa63acc896fbe1d94170d04fbc53a331e974c Author: Durand Fabrice Date: Thu Feb 19 14:02:26 2015 -0500 @@ -59,6 +2216,54 @@ Date: Thu Feb 19 09:38:35 2015 -0500 M lib/pf/accounting.pm +commit 1731b1a437460dac82d98b01794e8a0c342eca76 +Author: Julien Semaan +Date: Thu Feb 19 07:41:03 2015 -0500 + + make default parseTrap return unknown type + +M lib/pf/Switch.pm + +commit 69e7fd9fdec8c1395fb15904cd0704c526984b8b +Author: Derek Wuelfrath +Date: Wed Feb 18 15:36:19 2015 -0500 + + We should tell the device (iPad per example) to avoid autocorrecting or uppercasing first character on login field + +M html/captive-portal/templates/device-login.html +M html/captive-portal/templates/gaming-login.html +M html/captive-portal/templates/guest/sponsor_login.html +M html/captive-portal/templates/login.html + +commit 8b11421d728e8f3513b1ba9736dfecfaf20724c4 +Author: James Rouzier +Date: Wed Feb 18 14:40:45 2015 -0500 + + Make Bypass VLAN editable + +M html/pfappserver/lib/pfappserver/Form/Node.pm + +commit a8ebe00be5cc00ceebb7cb3b86d945a16ffd6c4c +Author: James Rouzier +Date: Wed Feb 18 14:35:02 2015 -0500 + + Added the bypass_vlan column to the main search page + +M html/pfappserver/root/node/search.tt + +commit 5b6d1462d31dc15567730e696f7e19db59c112cc +Author: James Rouzier +Date: Wed Feb 18 14:00:10 2015 -0500 + + Display bypass_vlan from a node + +M html/pfappserver/lib/pfappserver/Form/Node.pm +M html/pfappserver/lib/pfappserver/I18N/i_default.po +M html/pfappserver/root/admin/nodes.tt +M html/pfappserver/root/node/advanced_search.tt +M html/pfappserver/root/node/simple_search.tt +M html/pfappserver/root/node/view.tt + commit 07456ebba3e442397821a138e3d3713a7978d395 Author: Durand Fabrice Date: Wed Feb 18 10:02:49 2015 -0500 @@ -67,6 +2272,24 @@ Date: Wed Feb 18 10:02:49 2015 -0500 M NEWS.asciidoc +commit 68b2bd137d49b1f7a26b9e6c928d60dcc3fe1735 +Author: Julien Semaan +Date: Tue Feb 17 14:31:49 2015 -0500 + + Revert "add microsecond time to apache logs" + + This reverts commit fd556d0e37473a16115149839a4a814ef9d6e001. + +M conf/httpd.conf.d/log.conf + +commit 1907a6770603e7ab4d93eb24dc1297103417cd57 +Author: Julien Semaan +Date: Tue Feb 17 14:30:22 2015 -0500 + + clean mac when modifying a floating device + +M html/pfappserver/lib/pfappserver/Form/Field/MACAddress.pm + commit 8fd780c05f3e7f748a98d3baf41917f40ef64053 Author: Louis Munro Date: Tue Feb 17 11:06:48 2015 -0500 @@ -92,6 +2315,14 @@ Date: Mon Feb 16 15:00:10 2015 -0500 M NEWS.asciidoc +commit fd556d0e37473a16115149839a4a814ef9d6e001 +Author: Julien Semaan +Date: Mon Feb 16 11:24:16 2015 -0500 + + add microsecond time to apache logs + +M conf/httpd.conf.d/log.conf + commit cedfa283c863efdda7756af4dcb5ab2bda1a8ca2 Author: James Rouzier Date: Sat Feb 14 14:05:56 2015 -0500 @@ -865,6 +3096,14 @@ M t/vlan.t M t/web-auth.t M t/web.t +commit 6f89bb0724d4fd38c75015fc33cd5b48b5534fc2 +Author: Durand Fabrice +Date: Fri Feb 13 08:59:55 2015 -0500 + + Added nested groups support for Active Directory Authentication Source + +M lib/pf/Authentication/Source/ADSource.pm + commit 9069a307ff5b64e6f589231c1bc8f43ad5b6b466 Author: Durand Fabrice Date: Thu Feb 12 13:31:15 2015 -0500 @@ -901,6 +3140,28 @@ M conf/pf-release A db/pf-schema-X.Y.Z.sql A db/upgrade-X.X.X-X.Y.Z.sql +commit 043beda09e6948bfd7418147c9444ccd7335e6ad +Author: Durand Fabrice +Date: Wed Feb 11 15:37:55 2015 -0500 + + Changed loglevel + +M lib/pf/api.pm + +commit 871406274dd12c25643470d8b207bca91f1cfa8a +Author: Durand Fabrice +Date: Wed Feb 11 15:04:45 2015 -0500 + + update locationlog based on accounting data (Only Start) + +M lib/pf/Switch.pm +M lib/pf/Switch/AeroHIVE.pm +M lib/pf/api.pm +M lib/pf/locationlog.pm +M lib/pf/radius.pm +M raddb/packetfence.pm +M raddb/sites-available/packetfence + commit f865f6f92f95a0bed0a05e6d4ac9bf0f344c11ef Author: James Rouzier Date: Wed Feb 11 14:45:29 2015 -0500 @@ -1008,6 +3269,15 @@ M debian/changelog M docs/docinfo.xml M docs/includes/global-attributes.asciidoc +commit d79497e092e238670ea2f2933a9386884a8ce4a0 +Author: James Rouzier +Date: Thu Feb 5 09:57:27 2015 -0500 + + Moved provisioner_compliance_poll to sbin/pfmon to avoid circular dependency between pf::factory::provisioner and pf::provisioner + +M lib/pf/provisioner.pm +M sbin/pfmon + commit 252be42d688833ee4e6d069d4119001b41d1f7fc Author: Durand Fabrice Date: Wed Feb 4 16:50:08 2015 -0500 diff --git a/NEWS.asciidoc b/NEWS.asciidoc index 57ce934a53f8..795b961b1de6 100644 --- a/NEWS.asciidoc +++ b/NEWS.asciidoc @@ -11,6 +11,38 @@ This is a list of noteworthy changes across releases. For more details and developer visible changes see the ChangeLog file. For a list of compatibility related changes see the UPGRADE.asciidoc file. +Version 4.7.0 released on 2015-03-06 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +New Features +++++++++++++ + +* The admin GUI is now customizable. +* New category filter on portal profile allows to select a portal based on existing role of a device. +* New PacketFence-config service allows effortless scaling to thousands of switches and reduces memory use. + +Enhancements +++++++++++++ + +* Nodes are now searchable by status +* Removed SSLv3 and legacy ciper suites support from default httpd configuration to prevent POODLE exploit and FREAK attack. +* Added an option to display Bypass VLAN of a node in the Admin GUI. +* Added nested groups support for Active Directory. +* It is now possible to check if a device has already authenticated as member of an Active-Directory domain prior to user authentication. +* Improved portal language detection. +* Devices will now avoid autocorrect / uppercasing the login field in the captive portal. +* Now supports roaming without SNMP on Aerohive APs. + +Bug Fixes ++++++++++ + +* Fixed broken default behaviour when receiving an SNMP trap. +* Fixed email confirmation template for sponsor. +* Fixed email subject encoding. +* Fixes allowing a non-sponsored user to verify a sponsored email address. +* Fixed invalid floating device creation where the MAC address was not normalized. +* Fixed the date range search in node advanced search. + Version 4.6.1 released on 2015-02-19 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -28,6 +60,7 @@ Bug Fixes * Assigned LC_CTYPE to C during postinstall script on debian to prevent i18n issues during installation. * Fixed dynamic_unreg_dated called from the wrong place * Fix searching for switches in the admin gui +* Fixed broken default behavior when receiving an SNMP trap. Version 4.6.0 released on 2015-02-04 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/UPGRADE.asciidoc b/UPGRADE.asciidoc index c03d4b0db506..0e9b3d891d14 100644 --- a/UPGRADE.asciidoc +++ b/UPGRADE.asciidoc @@ -11,6 +11,20 @@ For RedHat-based systems, run the following command: PacketFence should now be upgraded. However, there may be extra steps required depending on the version you are upgrading from. Please review the following notes about upgrading from an older release. +Upgrading from a version prior to 4.7.0 +--------------------------------------- + +Database schema update +^^^^^^^^^^^^^^^^^^^^^^ + +The 'node' table has a new column (machine_account). + +Make sure you run the following to update your schema: + + mysql -u root -p pf -v < /usr/local/pf/db/upgrade-4.6.0-4.7.0.sql + +Once completed, update the file /usr/local/pf/conf/currently-at to match the new release number (PacketFence 4.7.0). + Upgrading from a version prior to 4.6.0 --------------------------------------- @@ -48,6 +62,13 @@ Make sure you run the following to update your schema: mysql -u root -p pf -v < /usr/local/pf/db/upgrade-4.4.0-4.5.0.sql +Violation configuration +^^^^^^^^^^^^^^^^^^^^^^^ + +A new parameter 'delay_by' has been introduced in the violation configuration. Make sure to add the following to the 'defaults' section of 'conf/violations.conf' to avoid any problem. + +delay_by=0s + Upgrading from a version prior to 4.4.0 --------------------------------------- diff --git a/addons/extract_i18n_strings.pl b/addons/extract_i18n_strings.pl index bf48ce24c9ce..6fb52620f20b 100644 --- a/addons/extract_i18n_strings.pl +++ b/addons/extract_i18n_strings.pl @@ -23,7 +23,7 @@ =head1 DESCRIPTION use pf::factory::firewallsso; use pf::factory::profile::filter; use pf::Switch::constants; -use pfappserver::Controller::Graph; +use pfappserver::PacketFence::Controller::Graph; use pfappserver::Model::Node; use pfappserver::Form::Config::Wrix; use pfappserver::Form::Config::ProfileCommon; @@ -167,7 +167,7 @@ =head2 parse_mc sub parse_mc { my $base = APP.'/lib/pfappserver/'; - my @dir = qw/Base Controller Model Form/; + my @dir = qw(Base PacketFence/Controller Model Form); my @modules = (); my $pm = sub { @@ -216,8 +216,8 @@ sub parse_forms { open(PM, $form); while (defined($line = )) { chomp $line; - if ($line =~ m/(?:label|required|help) => "(.+?[^\\])["]/ || - $line =~ m/(?:label|required|help) => '(.+?[^\\])[']/) { + if ($line =~ m/(?:label|required|help)\s+=>\s+"(.+?[^\\])["]/ || + $line =~ m/(?:label|required|help)\s+=>\s+'(.+?[^\\])[']/) { my $string = $1; $string =~ s/\\'/'/g; add_string($string, $form); @@ -243,7 +243,7 @@ sub parse_conf { $description =~ s/(\S*(<|>)\S*)(?=[\s,\.])/$1<\/code>/g; # enclose strings that contain < or > $description =~ s/(\S+\.(html|tt|pm|pl|txt))\b(?!<\/code>)/$1<\/code>/g; # enclose strings that ends with .html, .tt, etc $description =~ s/^ \* (.+?)$/
  • $1<\/li>/mg; # create list elements for lines beginning with " * " - $description =~ s/(
  • .*<\/li>)/
      $1<\/ul>/s; # create lists from preceding substitution + $description =~ s/(
    • .*<\/li>)/
        $1<\/ul>/s; # create lists from preceding substitution $description =~ s/\"([^\"]+)\"/$1<\/i>/mg; # enclose strings surrounded by double quotes $description =~ s/\[(\S+)\]/$1<\/strong>/mg; # enclose strings surrounded by brakets $description =~ s/(https?:\/\/\S+)/$1<\/a>/g; # make links clickable @@ -381,13 +381,13 @@ sub extract_modules { $attributes = pfappserver::Model::Node->availableStatus(); const('pfappserver::Model::Node', 'availableStatus', $attributes); - const('pfappserver::Controller::Graph', 'graph type', \@pfappserver::Controller::Graph::GRAPHS); + const('pfappserver::PacketFence::Controller::Graph', 'graph type', \@pfappserver::PacketFence::Controller::Graph::GRAPHS); - const('pfappserver::Controller::Graph', 'os fields', [qw/description count/]); - const('pfappserver::Controller::Graph', 'connectiontype fields', [qw/connection_type connections/]); - const('pfappserver::Controller::Graph', 'ssid fields', [qw/ssid nodes/]); - const('pfappserver::Controller::Graph', 'nodebandwidth fields', [qw/callingstationid/]); - const('pfappserver::Controller::Graph', 'osclassbandwidth fields', [qw/dhcp_fingerprint/]); + const('pfappserver::PacketFence::Controller::Graph', 'os fields', [qw/description count/]); + const('pfappserver::PacketFence::Controller::Graph', 'connectiontype fields', [qw/connection_type connections/]); + const('pfappserver::PacketFence::Controller::Graph', 'ssid fields', [qw/ssid nodes/]); + const('pfappserver::PacketFence::Controller::Graph', 'nodebandwidth fields', [qw/callingstationid/]); + const('pfappserver::PacketFence::Controller::Graph', 'osclassbandwidth fields', [qw/dhcp_fingerprint/]); const('pfappserver::Form::Config::Wrix', 'open hours', \@pfappserver::Form::Config::Wrix::HOURS); diff --git a/addons/extract_i18n_strings_portal.pl b/addons/extract_i18n_strings_portal.pl new file mode 100644 index 000000000000..219ce4e744ba --- /dev/null +++ b/addons/extract_i18n_strings_portal.pl @@ -0,0 +1,199 @@ +#!/usr/bin/perl -w + +=head1 NAME + +extract_i18n_strings.pl - extract localizable strings + +=head1 SYNOPSIS + +=head1 DESCRIPTION + +The script extracts the strings from the source code and the HTML templates that +can be localized. + +=cut + +use File::Find; +use lib qw(/usr/local/pf/lib /usr/local/pf/html/pfappserver/lib); + +use constant { + CONF => 'conf', + PORTAL => 'html/captive-portal/templates' +}; + +my %strings = (); +my %translations = (); + +=head1 SUBROUTINES + +=head2 add_string + +Add a localizable sring to the list. + +=cut + +sub add_string { + my ($string, $source) = @_; + + unless ($strings{$string}) { + $strings{$string} = []; + } + unless (grep(/\Q$source\E/, @{$strings{$string}})) { + push(@{$strings{$string}}, $source); + } +} + +=head2 add_translation + +Add an existing English translation. + +=cut + +sub add_translation { + my ($key, $value) = @_; + + $translations{$key} = $value; +} + +=head2 parse_html + +Extract localizable strings from HTML templates. + +=cut + +sub parse_html { + my $dir = PORTAL; + my @templates = (); + + my $tt = sub { + return unless -f && m/\.(html)$/; + push(@templates, $File::Find::name); + }; + + find($tt, $dir); + + my $line; + foreach my $template (@templates) { + open(TT, $template); + while (defined($line = )) { + chomp $line; + while ($line =~ m/i18n\(['"](.+?(?!\\))['"](,.*)?\)/g) { + add_string($1, $template) unless ($1 =~ m/\${/); + } + } + close(TT); + } +} + +=head2 print_po + +Print the PO file constructed from the extracted localizable strings. + +=cut + +sub print_po { + my ($sec,$min,$hour,$mday,$mon,$year) = localtime(time); + my $now = sprintf("%d-%02d-%02d %02d:%02d-0400", $year+1900, $mon+1, $mday, $hour, $min); + + open(RELEASE, CONF.'/pf-release'); + my $content = ; + chomp $content; + my ($package, $version) = $content =~ m/(\S+) ([\d\.]+)/; + close(RELEASE); + + print <\\n" +"Language-Team: English\\n" +"Language: en\\n" +"MIME-Version: 1.0\\n" +"Content-Type: text/plain; charset=ASCII\\n" +"Content-Transfer-Encoding: 8bit\\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\\n" + +EOT + + foreach my $string (sort keys %strings) { + foreach my $file (sort @{$strings{$string}}) { + print "# $file\n"; + } + my @lines = split("\n", $string); + if (@lines > 1) { + print "msgid \"\"\n"; + print join("\n", map { " \"$_\"" } @lines), "\n"; + } + else { + print "msgid \"$string\"\n"; + } + print "msgstr \"" . ($translations{$string} || '') . "\"\n\n"; + } +} + +=head2 verify + +Check if any translated string was not extracted. In this case, we need to +manually check if the string is still used. + +=cut + +sub verify { + my @translated_keys = keys %translations; + my @extracted_keys = keys %strings; + + my %seen; + @seen {@translated_keys} = ( ); + delete @seen {@extracted_keys}; + + my @translated_not_extracted = keys %seen; + if (scalar @translated_not_extracted) { + warn "The following keys were not extracted:\n\t" . + join("\n\t", sort @translated_not_extracted) . + "\n"; + } +} + +#### MAIN #### + +&parse_html; +&print_po; +&verify; + +=head1 AUTHOR + +Inverse inc. + +=head1 COPYRIGHT + +Copyright (C) 2005-2015 Inverse inc. + +=head1 LICENSE + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +USA. + +=cut + +# vim: set shiftwidth=4: +# vim: set expandtab: +# vim: set backspace=indent,eol,start: + diff --git a/addons/packages/packetfence.spec b/addons/packages/packetfence.spec index c67e26e074bb..497d508acd5d 100644 --- a/addons/packages/packetfence.spec +++ b/addons/packages/packetfence.spec @@ -264,6 +264,7 @@ Requires: perl(Test::NoWarnings) Requires: perl(Net::UDP) # For managing the number of connections per device Requires: mod_qos +Requires: %{real_name}-config %description -n %{real_name} @@ -318,6 +319,17 @@ Summary: Replace pfcmd by a C wrapper for suid The %{real_name}-pfcmd-suid is a C wrapper to replace perl-suidperl dependency. See https://bugzilla.redhat.com/show_bug.cgi?id=611009 +%package -n %{real_name}-config +Group: System Environment/Daemons +Requires: perl(Cache::BDB) +Requires: perl(Log::Fast) +AutoReqProv: 0 +Summary: Manage PacketFence Configuration +BuildArch: noarch + +%description -n %{real_name}-config +The %{real_name}-config is a daemon that manage PacketFence configuration. + %prep %setup -q -n %{real_name}-%{version} @@ -381,9 +393,11 @@ done %{__install} -d $RPM_BUILD_ROOT/usr/local/pf/var/rrd %{__install} -d $RPM_BUILD_ROOT/usr/local/pf/var/session %{__install} -d $RPM_BUILD_ROOT/usr/local/pf/var/webadmin_cache +%{__install} -d $RPM_BUILD_ROOT/usr/local/pf/var/control touch $RPM_BUILD_ROOT/usr/local/pf/var/cache_control cp Makefile $RPM_BUILD_ROOT/usr/local/pf/ cp -r bin $RPM_BUILD_ROOT/usr/local/pf/ +cp -r addons/pfconfig/ $RPM_BUILD_ROOT/usr/local/pf/addons/ cp -r addons/captive-portal/ $RPM_BUILD_ROOT/usr/local/pf/addons/ cp -r addons/dev-helpers/ $RPM_BUILD_ROOT/usr/local/pf/addons/ cp -r addons/high-availability/ $RPM_BUILD_ROOT/usr/local/pf/addons/ @@ -434,6 +448,9 @@ cp -r README $RPM_BUILD_ROOT/usr/local/pf/ cp -r README.network-devices $RPM_BUILD_ROOT/usr/local/pf/ cp -r UPGRADE.asciidoc $RPM_BUILD_ROOT/usr/local/pf/ cp -r UPGRADE.old $RPM_BUILD_ROOT/usr/local/pf/ +#pfconfig +%{__install} -D -m0755 addons/pfconfig/pfconfig.init $RPM_BUILD_ROOT%{_initrddir}/packetfence-config +#end pfconfig # logfiles for LOG in %logfiles; do touch $RPM_BUILD_ROOT%logdir/$LOG @@ -517,6 +534,14 @@ if ! /usr/bin/id pf &>/dev/null; then echo Unexpected error adding user "pf" && exit fi +%pre -n %{real_name}-config + +if ! /usr/bin/id pf &>/dev/null; then + /usr/sbin/useradd -r -d "/usr/local/pf" -s /bin/sh -c "PacketFence" -M pf || \ + echo Unexpected error adding user "pf" && exit +fi + + %post -n %{real_name} echo "Adding PacketFence startup script" /sbin/chkconfig --add packetfence @@ -608,6 +633,10 @@ echo "Adding PacketFence remote Snort Sensor startup script" echo "Adding PacketFence remote ARP Sensor startup script" /sbin/chkconfig --add pfarp +%post -n %{real_name}-config +echo "Adding PacketFence config startup script" +/sbin/chkconfig --add packetfence-config + %preun -n %{real_name} if [ $1 -eq 0 ] ; then /sbin/service packetfence stop &>/dev/null || : @@ -626,22 +655,41 @@ if [ $1 -eq 0 ] ; then /sbin/chkconfig --del pfarp fi +%preun -n %{real_name}-config +if [ $1 -eq 0 ] ; then + /sbin/service packetfence-config stop &>/dev/null || : + /sbin/chkconfig --del packetfence-config +fi + %postun -n %{real_name} if [ $1 -eq 0 ]; then - /usr/sbin/userdel pf || %logmsg "User \"pf\" could not be deleted." -# /usr/sbin/groupdel pf || %logmsg "Group \"pf\" could not be deleted." -#else -# /sbin/service pf condrestart &>/dev/null || : + if /usr/bin/id pf &>/dev/null; then + /usr/sbin/userdel pf || %logmsg "User \"pf\" could not be deleted." +# /usr/sbin/groupdel pf || %logmsg "Group \"pf\" could not be deleted." +# else +# /sbin/service pf condrestart &>/dev/null || : + fi fi %postun -n %{real_name}-remote-snort-sensor if [ $1 -eq 0 ]; then - /usr/sbin/userdel pf || %logmsg "User \"pf\" could not be deleted." + if /usr/bin/id pf &>/dev/null; then + /usr/sbin/userdel pf || %logmsg "User \"pf\" could not be deleted." + fi fi %postun -n %{real_name}-remote-arp-sensor if [ $1 -eq 0 ]; then - /usr/sbin/userdel pf || %logmsg "User \"pf\" could not be deleted." + if /usr/bin/id pf &>/dev/null; then + /usr/sbin/userdel pf || %logmsg "User \"pf\" could not be deleted." + fi +fi + +%postun -n %{real_name}-config +if [ $1 -eq 0 ]; then + if /usr/bin/id pf &>/dev/null; then + /usr/sbin/userdel pf || %logmsg "User \"pf\" could not be deleted." + fi fi # TODO we should simplify this file manifest to the maximum keeping treating @@ -874,7 +922,41 @@ fi %dir /usr/local/pf/html/common /usr/local/pf/html/common/* /usr/local/pf/html/pfappserver/ +%config(noreplace) /usr/local/pf/html/pfappserver/pfappserver.conf +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Admin.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/AdminRoles.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Authentication.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Authentication/Source.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Fingerprints.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Firewall_SSO.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/FloatingDevice.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/MacAddress.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Networks.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Pf.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Profile/Default.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Profile.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Provisioning.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Realm.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Switch.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/System.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Configuration.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Configurator.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/UserAgents.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Wrix.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/DB.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Graph.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Interface.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Node.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Roles.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Root.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/SavedSearch/Node.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/SavedSearch/User.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Service.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/SoH.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/User.pm +%config(noreplace) /usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Violation.pm /usr/local/pf/lib +%exclude /usr/local/pf/lib/pfconfig* %config(noreplace) /usr/local/pf/lib/pf/billing/custom.pm %config(noreplace) /usr/local/pf/lib/pf/floatingdevice/custom.pm %config(noreplace) /usr/local/pf/lib/pf/inline/custom.pm @@ -953,6 +1035,7 @@ fi %dir /usr/local/pf/var/rrd %dir /usr/local/pf/var/session %dir /usr/local/pf/var/webadmin_cache +%dir /usr/local/pf/var/control %config(noreplace) /usr/local/pf/var/cache_control # Remote snort sensor file list @@ -982,7 +1065,22 @@ fi %files -n %{real_name}-pfcmd-suid %attr(6755, root, root) /usr/local/pf/bin/pfcmd +%files -n %{real_name}-config +%attr(0755, root, root) %{_initrddir}/packetfence-config +%dir /usr/local/pf +%dir /usr/local/pf/lib +%dir /usr/local/pf/lib/pfconfig + /usr/local/pf/lib/pfconfig/* +%attr(0755, pf, pf) /usr/local/pf/sbin/pfconfig +%dir /usr/local/pf/addons/pfconfig +%attr(0755, pf, pf) /usr/local/pf/addons/pfconfig/cmd.pl +%exclude /usr/local/pf/addons/pfconfig/README.asciidoc +%exclude /usr/local/pf/addons/pfconfig/pfconfig.init + %changelog +* Fri Mar 06 2015 Inverse - 4.7.0-1 +- New release 4.7.0 + * Thu Feb 19 2015 Inverse - 4.6.1-1 - New release 4.6.1 diff --git a/addons/pfarp_remote/sbin/pfarp_remote b/addons/pfarp_remote/sbin/pfarp_remote index a7455c17f336..25a5a623e2a5 100644 --- a/addons/pfarp_remote/sbin/pfarp_remote +++ b/addons/pfarp_remote/sbin/pfarp_remote @@ -200,7 +200,12 @@ sub soap_send { uri => 'http://www.packetfence.org/PFAPI', proxy => 'https://' . $ADMIN_USER . ':' . $ADMIN_PWD . '@' . $PF_HOST ); - my $result = $soap->update_iplog($srcmac,$srcip); + my %data = ( + 'mac' => $srcmac, + 'ip' => $srcip, + ); + + my $result = $soap->update_iplog(%data); if ($result->fault) { syslog("warning", "arp could not be added"); } else { diff --git a/addons/pfconfig/README.asciidoc b/addons/pfconfig/README.asciidoc new file mode 100644 index 000000000000..e501c8b575f0 --- /dev/null +++ b/addons/pfconfig/README.asciidoc @@ -0,0 +1,36 @@ + +This guide summarizes the installation of the pfconfig service. +--------------------------------------------------------------- + +Before installing the patch, you need to stop all the pf services +# service packetfence stop + +Then, make sure pfconfig has the executable bit on. +# ll /usr/local/pf/sbin/pfconfig + +Now go in the pf directory +# cd /usr/local/pf + +Next install the init file on the system (only for RHEL based systems). +# cp addons/pfconfig/pfconfig.init /etc/init.d/pfconfig +# chmod +x /etc/init.d/pfconfig + +Install BerkeleyDB (from epel) +yum install perl-BerkeleyDB --enablerepo=epel + +Install Log::Fast (only on CPAN for now) +# cpan Log::Fast + +Install Cache::BDB +# cpan Cache::BDB + +Start pfconfig and set it on for boot +# service pfconfig start +# chkconfig pfconfig on + +Test the pfconfig service +addons/pfconfig/cmd.pl get config::Switch + +Start PacketFence +# service packetfence start + diff --git a/addons/pfconfig/cmd.pl b/addons/pfconfig/cmd.pl new file mode 100755 index 000000000000..1c5cdbe5caa6 --- /dev/null +++ b/addons/pfconfig/cmd.pl @@ -0,0 +1,126 @@ +#!/usr/bin/perl + +=head1 NAME + +Basic command line to interact with pfconfig + +=head1 SYNOPSIS + +cmd.pl reload|list|show|get + +=head1 DESCRIPTION + +cmd.pl gives basic commands to interact with pfconfig + +=item1 reload + +Reloads the configuration in pfconfig and sends the expiration signal + +=item1 list + +Lists the managed namespaces in pfconfig + +=item1 show + +Shows a namespace as viewed by pfconfig::manager + +=item1 get + +Shows a namespace as viewed by pfconfig::cached (does the get on the socket) + +=cut + +use lib '/usr/local/pf/lib'; + +use Switch; +use pfconfig::manager; + +my $cmd = $ARGV[0]; + +my $manager = pfconfig::manager->new; + +switch($cmd) { + case 'reload' { + $manager->expire_all(); + } + case 'list' { + my @namespaces = $manager->list_namespaces(); + foreach my $namespace (@namespaces){ + print "$namespace\n"; + } + } + case 'show' { + my $namespace = $ARGV[1]; + if(defined($namespace)){ + my @namespaces = $manager->list_namespaces(); + if ( grep {$_ eq $namespace} @namespaces){ + use Data::Dumper; + print Dumper($manager->get_cache($namespace)); + } + else{ + print STDERR "ERROR ! Unknown namespace.\n"; + exit; + } + } + else{ + print STDERR "ERROR ! No namespace specified.\n"; + exit; + } + } + case 'get' { + my $namespace = $ARGV[1]; + if(defined($namespace)){ + use pfconfig::cached; + use Data::Dumper; + my $obj = pfconfig::cached->new; + my $response = $obj->_get_from_socket($namespace, "element"); + print Dumper($response); + } + else{ + print STDERR "ERROR ! No namespace specified.\n"; + exit; + } + } + else { + print STDERR "ERROR ! Unknown command.\n"; + print STDERR "Commands : \n"; + print STDERR "reload|list|show |get \n"; + exit; + } +}; + +=back + +=head1 AUTHOR + +Inverse inc. + +=head1 COPYRIGHT + +Copyright (C) 2005-2015 Inverse inc. + +=head1 LICENSE + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +USA. + +=cut + +1; + +# vim: set shiftwidth=4: +# vim: set expandtab: +# vim: set backspace=indent,eol,start: + diff --git a/addons/pfconfig/pfconfig.init b/addons/pfconfig/pfconfig.init new file mode 100644 index 000000000000..ca561d1be8f3 --- /dev/null +++ b/addons/pfconfig/pfconfig.init @@ -0,0 +1,77 @@ +#!/bin/bash +# +# Init script for PacketFence pfconfig +# +# Written by Inverse inc. +# +# chkconfig: 345 85 5 +# description: PacketFence pfconfig +# +# processname: +# config: /usr/local/pf/conf/pfconfig.conf + +. /etc/rc.d/init.d/functions + +control_files_dir="/usr/local/pf/var/control" +socket_path="/dev/shm/pfconfig.sock" + +prog="/usr/local/pf/sbin/pfconfig" +prog_base="$(basename ${prog})" + +RETVAL=0 +User="pf" +Group="pf" + +start() { + echo -n $"Starting ${prog_base}: " + if [ -f /usr/local/pf/var/run/pfconfig.pid ] && ps -p $(cat /usr/local/pf/var/run/pfconfig.pid) > /dev/null; then + echo -n $"${prog_base}: already running" + echo + return 0 + fi + # create directory, fix rights and remove previous socket + mkdir -p $control_files_dir + chown -R $User.$User $control_files_dir + rm -f $socket_path + daemon --user=$User ${prog} -d + RETVAL=$? + echo + return $RETVAL +} + +stop() { + echo -n $"Shutting down ${prog_base}:" + killproc ${prog_base} + RETVAL=$? + echo + return $RETVAL +} + +restart() { + stop + start +} + +case "$1" in + start) + start + RETVAL=$? + ;; + stop) + stop + RETVAL=$? + ;; + status) + status ${prog_base} + RETVAL=$? + ;; + restart) + restart + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|restart|status}" + RETVAL=1 +esac + +exit $RETVAL diff --git a/bin/pfcmd.pl b/bin/pfcmd.pl index 6bc340fecb2a..7fbeb0259eab 100755 --- a/bin/pfcmd.pl +++ b/bin/pfcmd.pl @@ -2437,11 +2437,12 @@ sub field_order { sub fixpermissions { my $pfcmd = "${bin_dir}/pfcmd"; my @extra_var_dirs = map { catfile($var_dir,$_) } qw(run cache conf sessions); - _changeFilesToOwner('pf',@log_files, @stored_config_files, $install_dir, $bin_dir, $conf_dir, $var_dir, $lib_dir, $log_dir, $generated_conf_dir, $tt_compile_cache_dir, @extra_var_dirs); + _changeFilesToOwner('pf',@log_files, @stored_config_files, $install_dir, $bin_dir, $conf_dir, $var_dir, $lib_dir, $log_dir, $generated_conf_dir, $tt_compile_cache_dir, $pfconfig_cache_dir, @extra_var_dirs); _changeFilesToOwner('root',$pfcmd); chmod(06755,$pfcmd); chmod(0664, @stored_config_files); - chmod(02775, $conf_dir, $var_dir, $log_dir, $generated_conf_dir,$install_dir, @extra_var_dirs); + chmod(02775, $conf_dir, $var_dir, $log_dir, $generated_conf_dir,$install_dir, $pfconfig_cache_dir, @extra_var_dirs); + chmod(02770, $pfconfig_cache_dir); return 0; } @@ -2474,6 +2475,9 @@ sub configreload { require pf::vlan::filter; pf::config::cached::updateCacheControl(); pf::config::cached::ReloadConfigs($force); + require pfconfig::manager; + my $manager = pfconfig::manager->new; + $manager->expire_all; return 0; } diff --git a/conf/httpd.conf.d/httpd.aaa b/conf/httpd.conf.d/httpd.aaa index 3b3d55948cee..a97d95cdc246 100644 --- a/conf/httpd.conf.d/httpd.aaa +++ b/conf/httpd.conf.d/httpd.aaa @@ -29,6 +29,9 @@ LoadModule status_module /usr/lib/apache2/modules/mod_status.so + + LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so + #RHEL Specific @@ -60,6 +63,9 @@ LoadModule status_module modules/mod_status.so + + LoadModule headers_module modules/mod_headers.so + @@ -115,8 +121,8 @@ $SSLRandomSeed = "startup builtin"; $SSLRandomSeed = "startup file:/dev/urandom 1024"; $SSLRandomSeed = "connect builtin"; $SSLRandomSeed = "connect file:/dev/urandom 1024"; -$SSLProtocol = "All -SSLv2"; -$SSLCipherSuite = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:AES128:AES256:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK"; +$SSLProtocol = "All -SSLv2 -SSLv3"; +$SSLCipherSuite = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"; $SSLHonorCipherOrder = "on"; $ErrorLog = $install_dir.'/logs/httpd.aaa.error'; @@ -143,6 +149,8 @@ if (defined($management_network->{'Tip'}) && $management_network->{'Tip'} ne '') CustomLog => $install_dir.'/logs/httpd.aaa.access combined', SSLEngine => 'on', Include => $var_dir.'/conf/ssl-certificates.conf', + # HSTS (mod_headers is required) (15768000 seconds = 6 months) + Header => 'always add Strict-Transport-Security "max-age=15768000"', Location => { "/" => { SetHandler => 'modperl', diff --git a/conf/httpd.conf.d/httpd.admin b/conf/httpd.conf.d/httpd.admin index d46512dd5b99..3d1b6e7c41c9 100644 --- a/conf/httpd.conf.d/httpd.admin +++ b/conf/httpd.conf.d/httpd.admin @@ -26,6 +26,9 @@ LoadModule apreq_module /usr/lib/apache2/modules/mod_apreq2.so + + LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so + #RHEL specific @@ -54,6 +57,9 @@ LoadModule apreq_module modules/mod_apreq2.so + + LoadModule headers_module modules/mod_headers.so + AcceptMutex posixsem @@ -125,8 +131,8 @@ $SSLRandomSeed = "startup builtin"; $SSLRandomSeed = "startup file:/dev/urandom 1024"; $SSLRandomSeed = "connect builtin"; $SSLRandomSeed = "connect file:/dev/urandom 1024"; -$SSLProtocol = "All -SSLv2"; -$SSLCipherSuite = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:AES128:AES256:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK"; +$SSLProtocol = "All -SSLv2 -SSLv3"; +$SSLCipherSuite = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"; $SSLHonorCipherOrder = "on"; $ErrorLog = $install_dir.'/logs/httpd.admin.error'; @@ -142,6 +148,8 @@ push @{ $VirtualHost{$vhost} }, SSLEngine => 'on', Include => $var_dir.'/conf/ssl-certificates.conf', SSLProxyEngine => 'on', + # HSTS (mod_headers is required) (15768000 seconds = 6 months) + Header => 'always add Strict-Transport-Security "max-age=15768000"', PerlModule => 'pf::web::admin', PerlTransHandler => 'pf::web::admin->proxy_portal', ProxyRequests => 'off', diff --git a/conf/httpd.conf.d/httpd.portal b/conf/httpd.conf.d/httpd.portal index f7d96a67db04..c8dd051c80cd 100644 --- a/conf/httpd.conf.d/httpd.portal +++ b/conf/httpd.conf.d/httpd.portal @@ -212,8 +212,8 @@ $SSLRandomSeed = "startup builtin"; $SSLRandomSeed = "startup file:/dev/urandom 1024"; $SSLRandomSeed = "connect builtin"; $SSLRandomSeed = "connect file:/dev/urandom 1024"; -$SSLProtocol = "All -SSLv2"; -$SSLCipherSuite = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:AES128:AES256:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK"; +$SSLProtocol = "All -SSLv2 -SSLv3"; +$SSLCipherSuite = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"; $SSLHonorCipherOrder = "on"; $ErrorLog = $install_dir.'/logs/portal_error_log'; @@ -225,7 +225,7 @@ my $allowed_from_all_urls = ''; my @status_options; if($status_only_on_production) { @status_options = ( - "/status" => { + '~ "/status"' => { "Order" => "allow,deny", "Deny" => "from $routedNets $loadbalancersIp 127.0.0.1 ", "Allow" => "from all", @@ -284,7 +284,7 @@ foreach my $interface (@internal_nets) { Alias => "/common ${install_dir}/html/common", PerlModule => 'captiveportal', PerlTransHandler => 'pf::web::dispatcher::custom', - Location => { + Location => gen_conf( "/" => { "Order" => "deny,allow", "Deny" => "from all", @@ -315,7 +315,7 @@ foreach my $interface (@internal_nets) { }, @status_options, @allowed_from_all_options, - }, + ), )); push (@{ $VirtualHost{$vhost.":443"} }, gen_conf( ServerName => $PfConfig->{'general'}{'hostname'}.".".$PfConfig->{'general'}{'domain'}, @@ -328,7 +328,7 @@ foreach my $interface (@internal_nets) { Alias => "/common ${install_dir}/html/common", PerlModule => 'captiveportal', PerlTransHandler => 'pf::web::dispatcher::custom', - Location => { + Location => gen_conf( "/" => { "Order" => "deny,allow", "Deny" => "from all", @@ -359,10 +359,12 @@ foreach my $interface (@internal_nets) { }, @status_options, @allowed_from_all_options, - }, - SSLEngine => 'on', + ), + SSLEngine => 'on', SSLProxyEngine => 'on', - Include => "${var_dir}/conf/ssl-certificates.conf", + Include => "${var_dir}/conf/ssl-certificates.conf", + # HSTS (mod_headers is required) (15768000 seconds = 6 months) + Header => 'always add Strict-Transport-Security "max-age=15768000"' )); } @@ -389,7 +391,7 @@ if (defined($management_network->{'Tip'}) && $management_network->{'Tip'} ne '') Alias => "/common ${install_dir}/html/common", PerlModule => 'captiveportal', PerlTransHandler => 'pf::web::dispatcher::custom', - Location => { + Location => gen_conf( "/" => { "Order" => "deny,allow", "Deny" => "from all", @@ -418,12 +420,16 @@ if (defined($management_network->{'Tip'}) && $management_network->{'Tip'} ne '') "/content" => { "Allow" => "from all", }, - @status_options, + '~ "/|/status"' => { + "Allow" => "from all", + SetHandler => 'modperl', + PerlResponseHandler => 'captiveportal', + }, @allowed_from_all_options, "/apache_status/" => { SetHandler => 'server-status', }, - }, + ), ); push @{ $VirtualHost{$host.":443"} }, gen_conf( ServerName => $PfConfig->{'general'}{'hostname'}.".".$PfConfig->{'general'}{'domain'}, @@ -436,7 +442,7 @@ if (defined($management_network->{'Tip'}) && $management_network->{'Tip'} ne '') Alias => "/common ${install_dir}/html/common", PerlModule => 'captiveportal', PerlTransHandler => 'pf::web::dispatcher::custom', - Location => { + Location => gen_conf( "/" => { "Order" => "deny,allow", "Deny" => "from all", @@ -465,15 +471,20 @@ if (defined($management_network->{'Tip'}) && $management_network->{'Tip'} ne '') "/content" => { "Allow" => "from all", }, - @status_options, + '~ "/|/status"' => { + "Allow" => "from all", + SetHandler => 'modperl', + PerlResponseHandler => 'captiveportal', + }, @allowed_from_all_options, - }, - SSLEngine => 'on', + ), + SSLEngine => 'on', SSLProxyEngine => 'on', - Include => "${var_dir}/conf/ssl-certificates.conf", + Include => "${var_dir}/conf/ssl-certificates.conf", + # HSTS (mod_headers is required) (15768000 seconds = 6 months) + Header => 'always add Strict-Transport-Security "max-age=15768000"' ); } - diff --git a/conf/httpd.conf.d/httpd.proxy b/conf/httpd.conf.d/httpd.proxy index 7990ea73c44b..cfc80440f5e7 100644 --- a/conf/httpd.conf.d/httpd.proxy +++ b/conf/httpd.conf.d/httpd.proxy @@ -156,6 +156,17 @@ foreach my $port (split(',',$PfConfig->{'trapping'}{'interception_proxy_port'})) push (@NameVirtualHost,"*:".$port); } +$SSLPassPhraseDialog = "builtin"; +$SSLSessionCache = "shm:".$install_dir."/var/ssl_wcache(512000)"; +$SSLSessionCacheTimeout = "300"; +$SSLRandomSeed = "startup builtin"; +$SSLRandomSeed = "startup file:/dev/urandom 1024"; +$SSLRandomSeed = "connect builtin"; +$SSLRandomSeed = "connect file:/dev/urandom 1024"; +$SSLProtocol = "All -SSLv2 -SSLv3"; +$SSLCipherSuite = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"; +$SSLHonorCipherOrder = "on"; + push (@NameVirtualHost,"*:444"); push (@Listen,"127.0.0.1:444"); push @{ $VirtualHost{'*:444'} }, gen_conf( diff --git a/conf/httpd.conf.d/httpd.webservices b/conf/httpd.conf.d/httpd.webservices index 829839bfc2b0..8b07216aeb16 100644 --- a/conf/httpd.conf.d/httpd.webservices +++ b/conf/httpd.conf.d/httpd.webservices @@ -29,6 +29,9 @@ LoadModule status_module /usr/lib/apache2/modules/mod_status.so + + LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so + #RHEL Specific @@ -60,6 +63,9 @@ LoadModule status_module modules/mod_status.so + + LoadModule headers_module modules/mod_headers.so + @@ -115,8 +121,8 @@ $SSLRandomSeed = "startup builtin"; $SSLRandomSeed = "startup file:/dev/urandom 1024"; $SSLRandomSeed = "connect builtin"; $SSLRandomSeed = "connect file:/dev/urandom 1024"; -$SSLProtocol = "All -SSLv2"; -$SSLCipherSuite = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:AES128:AES256:RC4-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK"; +$SSLProtocol = "All -SSLv2 -SSLv3"; +$SSLCipherSuite = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"; $SSLHonorCipherOrder = "on"; $ErrorLog = $install_dir.'/logs/httpd.webservices.error'; @@ -143,6 +149,8 @@ if (defined($management_network->{'Tip'}) && $management_network->{'Tip'} ne '') CustomLog => $install_dir.'/logs/httpd.webservices.access combined', SSLEngine => 'on', Include => $var_dir.'/conf/ssl-certificates.conf', + # HSTS (mod_headers is required) (15768000 seconds = 6 months) + Header => 'always add Strict-Transport-Security "max-age=15768000"', Location => { "/" => { SetHandler => 'modperl', diff --git a/conf/locale/de/LC_MESSAGES/packetfence.po b/conf/locale/de/LC_MESSAGES/packetfence.po index b5ba47ab2f37..298f24352708 100644 --- a/conf/locale/de/LC_MESSAGES/packetfence.po +++ b/conf/locale/de/LC_MESSAGES/packetfence.po @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2013 Inverse inc. +# Copyright (C) 2005-2015 Inverse inc. # This file is distributed under the same license as the PacketFence project. # # Translators: @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: PacketFence\n" -"PO-Revision-Date: 2014-10-22 16:31+0000\n" -"Last-Translator: Ettore Atalan \n" +"PO-Revision-Date: 2015-03-05 20:55+0000\n" +"Last-Translator: inverse \n" "Language-Team: German (http://www.transifex.com/projects/p/packetfence/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -937,6 +937,9 @@ msgid "" " been logged." msgstr "Es gab ein Problem beim Versuch den zu registrierenden Computer zu finden. Das Problem wurde geloggt." +msgid "does not have permission to sponsor a user" +msgstr "" + msgid "" "The device with MAC address %s has already been authorized to your network." msgstr "Das GerƤt mit der MAC-Adresse %s wurde bereits fĆ¼r Ihr Netzwerk autorisiert." @@ -950,6 +953,9 @@ msgstr "%s: Gastzugangsanfrage angenommen" msgid "Guest pre-registration is not allowed by policy" msgstr "Gast Vorabregistrierung ist per Richtlinie nicht erlaubt" +msgid "Maximum amount of retries attempted" +msgstr "" + msgid "" "If you choose to have your access sponsored, we will send " "an email to the Sponsor email you provided with an activation link. The " @@ -1077,3 +1083,283 @@ msgid "" " route traffic rather than natting it. Make sure to add the routes on the " "system." msgstr "Da der NAT Modus abgeschaltet ist, wird PacketFence die iptables-Regeln so abƤndern, dass der Verkehr geroutet wird, statt genattet. FĆ¼gen Sie unbedingt diese Routen auf dem System hinzu." + +# html/captive-portal/templates/activated.html +msgid "" +"A local account has been created to allow access to node status features. " +"Here are the information associated with that account" +msgstr "" + +# html/captive-portal/templates/provisioner/deny.html +msgid "" +"According to the provisioner configuration, this device cannot access the " +"network." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "Alternate installer" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "Click here to download" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "Click here to go to the download website" +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "Click to download the agent." +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Device MAC address" +msgstr "" + +# html/captive-portal/templates/device-landing.html +msgid "Device Registration Landing" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Device Type" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Extend Access" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/time_expiration.html +msgid "Expiration" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Gaming Device Type" +msgstr "" + +# html/captive-portal/templates/gaming-landing.html +msgid "Gaming Landing" +msgstr "" + +# html/captive-portal/templates/guest/sms_confirmation.html +msgid "I don't have a PIN" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "If you are using an Android phone or tablet," +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "" +"In order to complete your connection to the secure SSID, you will need to " +"run the agent available below." +msgstr "" + +# html/captive-portal/templates/activated.html +msgid "Local account creation" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Login to manage registered devices" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Facebook account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with GitHub account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Google account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with LinkedIn account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with Windows Live account" +msgstr "" + +# html/captive-portal/templates/pending.html +# html/captive-portal/templates/release.html +msgid "Network access has been granted" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "OS Type" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"Once the application is installed, click 'Continue' to activate your network" +" connection" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"Once the application is installed, click next to activate your network " +"connection" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Open in new popup window" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/bandwidth_limit.fr.html +# html/captive-portal/templates/violations/bandwidth_limit.html +# html/captive-portal/templates/violations/banned_devices.fr.html +# html/captive-portal/templates/violations/banned_devices.html +# html/captive-portal/templates/violations/banned_os.fr.html +# html/captive-portal/templates/violations/banned_os.html +# html/captive-portal/templates/violations/darknet.fr.html +# html/captive-portal/templates/violations/darknet.html +# html/captive-portal/templates/violations/failed_scan.es_ES.html +# html/captive-portal/templates/violations/failed_scan.fr.html +# html/captive-portal/templates/violations/failed_scan.html +# html/captive-portal/templates/violations/generic.fr.html +# html/captive-portal/templates/violations/generic.html +# html/captive-portal/templates/violations/lsass.es_ES.html +# html/captive-portal/templates/violations/lsass.fr.html +# html/captive-portal/templates/violations/lsass.html +# html/captive-portal/templates/violations/malware.es_ES.html +# html/captive-portal/templates/violations/malware.fr.html +# html/captive-portal/templates/violations/malware.html +# html/captive-portal/templates/violations/nat.fr.html +# html/captive-portal/templates/violations/nat.html +# html/captive-portal/templates/violations/p2p.fr.html +# html/captive-portal/templates/violations/p2p.html +# html/captive-portal/templates/violations/roguedhcp.fr.html +# html/captive-portal/templates/violations/roguedhcp.html +# html/captive-portal/templates/violations/sample.fr.html +# html/captive-portal/templates/violations/sample.html +# html/captive-portal/templates/violations/scanning.fr.html +# html/captive-portal/templates/violations/scanning.html +# html/captive-portal/templates/violations/spam.fr.html +# html/captive-portal/templates/violations/spam.html +# html/captive-portal/templates/violations/system_scan.fr.html +# html/captive-portal/templates/violations/system_scan.html +# html/captive-portal/templates/violations/time_expiration.html +# html/captive-portal/templates/violations/trojan.fr.html +# html/captive-portal/templates/violations/trojan.html +# html/captive-portal/templates/violations/zotob.fr.html +# html/captive-portal/templates/violations/zotob.html +msgid "Quarantine" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Register" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Registration" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Registration Date" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Select Console" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Select Gaming Console" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "State - Network Access" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "To complete your network activation you need to install MobileIron" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +msgid "" +"To complete your network activation you need to install the IBM client." +msgstr "" + +# html/captive-portal/templates/provisioner/opswat.html +msgid "" +"To complete your network activation you need to install the OPSWAT GEARS " +"client." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"To complete your network activation you need to install the Symantec " +"Endpoint Manager" +msgstr "" + +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"To complete your network activation you need to install the Symantec client." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "" +"To the administrator : you should probably file a bug report on the " +"PacketFence website" +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "To the user : try clicking Continue to see if it fixes the problem" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Unregister" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "You have no registered devices." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "You should not seeing this page, something went wrong." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your Network Access Status" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your current device is not registered on our network." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access ends in " +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access has expired." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access is paused" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your registered devices" +msgstr "" diff --git a/conf/locale/en/LC_MESSAGES/packetfence.po b/conf/locale/en/LC_MESSAGES/packetfence.po index b1adcbf00f2e..dc3112d936ac 100644 --- a/conf/locale/en/LC_MESSAGES/packetfence.po +++ b/conf/locale/en/LC_MESSAGES/packetfence.po @@ -823,6 +823,9 @@ msgstr "" msgid "There was a problem trying to find the computer to register. The problem has been logged." msgstr "" +msgid "does not have permission to sponsor a user" +msgstr "" + msgid "The device with MAC address %s has already been authorized to your network." msgstr "" @@ -954,3 +957,265 @@ msgstr "" msgid "Since NATting mode is disabled, PacketFence will adjust iptables to rules to route traffic rather than natting it. Make sure to add the routes on the system." msgstr "" + +# html/captive-portal/templates/activated.html +msgid "A local account has been created to allow access to node status features. Here are the information associated with that account" +msgstr "" + +# html/captive-portal/templates/provisioner/deny.html +msgid "According to the provisioner configuration, this device cannot access the network." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "Alternate installer" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "Click here to download" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "Click here to go to the download website" +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "Click to download the agent." +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Device MAC address" +msgstr "" + +# html/captive-portal/templates/device-landing.html +msgid "Device Registration Landing" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Device Type" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Extend Access" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/time_expiration.html +msgid "Expiration" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Gaming Device Type" +msgstr "" + +# html/captive-portal/templates/gaming-landing.html +msgid "Gaming Landing" +msgstr "" + +# html/captive-portal/templates/guest/sms_confirmation.html +msgid "I don't have a PIN" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "If you are using an Android phone or tablet," +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "In order to complete your connection to the secure SSID, you will need to run the agent available below." +msgstr "" + +# html/captive-portal/templates/activated.html +msgid "Local account creation" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Login to manage registered devices" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Facebook account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with GitHub account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Google account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with LinkedIn account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with Windows Live account" +msgstr "" + +# html/captive-portal/templates/pending.html +# html/captive-portal/templates/release.html +msgid "Network access has been granted" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "OS Type" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "Once the application is installed, click 'Continue' to activate your network connection" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "Once the application is installed, click next to activate your network connection" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Open in new popup window" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/bandwidth_limit.fr.html +# html/captive-portal/templates/violations/bandwidth_limit.html +# html/captive-portal/templates/violations/banned_devices.fr.html +# html/captive-portal/templates/violations/banned_devices.html +# html/captive-portal/templates/violations/banned_os.fr.html +# html/captive-portal/templates/violations/banned_os.html +# html/captive-portal/templates/violations/darknet.fr.html +# html/captive-portal/templates/violations/darknet.html +# html/captive-portal/templates/violations/failed_scan.es_ES.html +# html/captive-portal/templates/violations/failed_scan.fr.html +# html/captive-portal/templates/violations/failed_scan.html +# html/captive-portal/templates/violations/generic.fr.html +# html/captive-portal/templates/violations/generic.html +# html/captive-portal/templates/violations/lsass.es_ES.html +# html/captive-portal/templates/violations/lsass.fr.html +# html/captive-portal/templates/violations/lsass.html +# html/captive-portal/templates/violations/malware.es_ES.html +# html/captive-portal/templates/violations/malware.fr.html +# html/captive-portal/templates/violations/malware.html +# html/captive-portal/templates/violations/nat.fr.html +# html/captive-portal/templates/violations/nat.html +# html/captive-portal/templates/violations/p2p.fr.html +# html/captive-portal/templates/violations/p2p.html +# html/captive-portal/templates/violations/roguedhcp.fr.html +# html/captive-portal/templates/violations/roguedhcp.html +# html/captive-portal/templates/violations/sample.fr.html +# html/captive-portal/templates/violations/sample.html +# html/captive-portal/templates/violations/scanning.fr.html +# html/captive-portal/templates/violations/scanning.html +# html/captive-portal/templates/violations/spam.fr.html +# html/captive-portal/templates/violations/spam.html +# html/captive-portal/templates/violations/system_scan.fr.html +# html/captive-portal/templates/violations/system_scan.html +# html/captive-portal/templates/violations/time_expiration.html +# html/captive-portal/templates/violations/trojan.fr.html +# html/captive-portal/templates/violations/trojan.html +# html/captive-portal/templates/violations/zotob.fr.html +# html/captive-portal/templates/violations/zotob.html +msgid "Quarantine" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Register" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Registration" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Registration Date" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Select Console" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Select Gaming Console" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "State - Network Access" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "To complete your network activation you need to install MobileIron" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +msgid "To complete your network activation you need to install the IBM client." +msgstr "" + +# html/captive-portal/templates/provisioner/opswat.html +msgid "To complete your network activation you need to install the OPSWAT GEARS client." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "To complete your network activation you need to install the Symantec Endpoint Manager" +msgstr "" + +# html/captive-portal/templates/provisioner/symantec.html +msgid "To complete your network activation you need to install the Symantec client." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "To the administrator : you should probably file a bug report on the PacketFence website" +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "To the user : try clicking Continue to see if it fixes the problem" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Unregister" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "You have no registered devices." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "You should not seeing this page, something went wrong." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your Network Access Status" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your current device is not registered on our network." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access ends in " +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access has expired." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access is paused" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your registered devices" +msgstr "" diff --git a/conf/locale/es/LC_MESSAGES/packetfence.po b/conf/locale/es/LC_MESSAGES/packetfence.po index a815a39e7b81..71df272219d4 100644 --- a/conf/locale/es/LC_MESSAGES/packetfence.po +++ b/conf/locale/es/LC_MESSAGES/packetfence.po @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2013 Inverse inc. +# Copyright (C) 2005-2015 Inverse inc. # This file is distributed under the same license as the PacketFence project. # # Translators: @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PacketFence\n" -"PO-Revision-Date: 2014-08-12 00:24+0000\n" +"PO-Revision-Date: 2015-03-05 20:55+0000\n" "Last-Translator: inverse \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/packetfence/language/es/)\n" "MIME-Version: 1.0\n" @@ -937,6 +937,9 @@ msgid "" " been logged." msgstr "Hubo un problema al intentar encontrar el equipo a registrar. El problema ha sido registrado." +msgid "does not have permission to sponsor a user" +msgstr "" + msgid "" "The device with MAC address %s has already been authorized to your network." msgstr "El dispositivo con la direcciĆ³n %s MAC ya ha sido autorizado en la red" @@ -950,6 +953,9 @@ msgstr "%s: Solicitud de acceso de invitados aceptada" msgid "Guest pre-registration is not allowed by policy" msgstr "Pre-registro de invitado no estĆ” permitido por polĆ­tica" +msgid "Maximum amount of retries attempted" +msgstr "" + msgid "" "If you choose to have your access sponsored, we will send " "an email to the Sponsor email you provided with an activation link. The " @@ -1077,3 +1083,283 @@ msgid "" " route traffic rather than natting it. Make sure to add the routes on the " "system." msgstr "" + +# html/captive-portal/templates/activated.html +msgid "" +"A local account has been created to allow access to node status features. " +"Here are the information associated with that account" +msgstr "" + +# html/captive-portal/templates/provisioner/deny.html +msgid "" +"According to the provisioner configuration, this device cannot access the " +"network." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "Alternate installer" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "Click here to download" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "Click here to go to the download website" +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "Click to download the agent." +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Device MAC address" +msgstr "" + +# html/captive-portal/templates/device-landing.html +msgid "Device Registration Landing" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Device Type" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Extend Access" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/time_expiration.html +msgid "Expiration" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Gaming Device Type" +msgstr "" + +# html/captive-portal/templates/gaming-landing.html +msgid "Gaming Landing" +msgstr "" + +# html/captive-portal/templates/guest/sms_confirmation.html +msgid "I don't have a PIN" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "If you are using an Android phone or tablet," +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "" +"In order to complete your connection to the secure SSID, you will need to " +"run the agent available below." +msgstr "" + +# html/captive-portal/templates/activated.html +msgid "Local account creation" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Login to manage registered devices" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Facebook account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with GitHub account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Google account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with LinkedIn account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with Windows Live account" +msgstr "" + +# html/captive-portal/templates/pending.html +# html/captive-portal/templates/release.html +msgid "Network access has been granted" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "OS Type" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"Once the application is installed, click 'Continue' to activate your network" +" connection" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"Once the application is installed, click next to activate your network " +"connection" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Open in new popup window" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/bandwidth_limit.fr.html +# html/captive-portal/templates/violations/bandwidth_limit.html +# html/captive-portal/templates/violations/banned_devices.fr.html +# html/captive-portal/templates/violations/banned_devices.html +# html/captive-portal/templates/violations/banned_os.fr.html +# html/captive-portal/templates/violations/banned_os.html +# html/captive-portal/templates/violations/darknet.fr.html +# html/captive-portal/templates/violations/darknet.html +# html/captive-portal/templates/violations/failed_scan.es_ES.html +# html/captive-portal/templates/violations/failed_scan.fr.html +# html/captive-portal/templates/violations/failed_scan.html +# html/captive-portal/templates/violations/generic.fr.html +# html/captive-portal/templates/violations/generic.html +# html/captive-portal/templates/violations/lsass.es_ES.html +# html/captive-portal/templates/violations/lsass.fr.html +# html/captive-portal/templates/violations/lsass.html +# html/captive-portal/templates/violations/malware.es_ES.html +# html/captive-portal/templates/violations/malware.fr.html +# html/captive-portal/templates/violations/malware.html +# html/captive-portal/templates/violations/nat.fr.html +# html/captive-portal/templates/violations/nat.html +# html/captive-portal/templates/violations/p2p.fr.html +# html/captive-portal/templates/violations/p2p.html +# html/captive-portal/templates/violations/roguedhcp.fr.html +# html/captive-portal/templates/violations/roguedhcp.html +# html/captive-portal/templates/violations/sample.fr.html +# html/captive-portal/templates/violations/sample.html +# html/captive-portal/templates/violations/scanning.fr.html +# html/captive-portal/templates/violations/scanning.html +# html/captive-portal/templates/violations/spam.fr.html +# html/captive-portal/templates/violations/spam.html +# html/captive-portal/templates/violations/system_scan.fr.html +# html/captive-portal/templates/violations/system_scan.html +# html/captive-portal/templates/violations/time_expiration.html +# html/captive-portal/templates/violations/trojan.fr.html +# html/captive-portal/templates/violations/trojan.html +# html/captive-portal/templates/violations/zotob.fr.html +# html/captive-portal/templates/violations/zotob.html +msgid "Quarantine" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Register" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Registration" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Registration Date" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Select Console" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Select Gaming Console" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "State - Network Access" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "To complete your network activation you need to install MobileIron" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +msgid "" +"To complete your network activation you need to install the IBM client." +msgstr "" + +# html/captive-portal/templates/provisioner/opswat.html +msgid "" +"To complete your network activation you need to install the OPSWAT GEARS " +"client." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"To complete your network activation you need to install the Symantec " +"Endpoint Manager" +msgstr "" + +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"To complete your network activation you need to install the Symantec client." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "" +"To the administrator : you should probably file a bug report on the " +"PacketFence website" +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "To the user : try clicking Continue to see if it fixes the problem" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Unregister" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "You have no registered devices." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "You should not seeing this page, something went wrong." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your Network Access Status" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your current device is not registered on our network." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access ends in " +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access has expired." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access is paused" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your registered devices" +msgstr "" diff --git a/conf/locale/fr/LC_MESSAGES/packetfence.po b/conf/locale/fr/LC_MESSAGES/packetfence.po index 3272900b1d93..c3e4d53e69cc 100644 --- a/conf/locale/fr/LC_MESSAGES/packetfence.po +++ b/conf/locale/fr/LC_MESSAGES/packetfence.po @@ -1,13 +1,14 @@ -# Copyright (C) 2006-2013 Inverse inc. +# Copyright (C) 2005-2015 Inverse inc. # This file is distributed under the same license as the PacketFence project. # # Translators: # Olivier Bilodeau , 2009-2012. # # Translators: +# Antoine Amacher , 2015 # Derek Wuelfrath , 2012 # Dominique Couot , 2012 -# oeufdure , 2014 +# oeufdure , 2014-2015 # inverse , 2013-2014 # inverse , 2012-2013 # lzammit , 2014 @@ -15,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: PacketFence\n" -"PO-Revision-Date: 2014-09-10 19:56+0000\n" -"Last-Translator: inverse \n" +"PO-Revision-Date: 2015-03-06 16:13+0000\n" +"Last-Translator: oeufdure \n" "Language-Team: French (http://www.transifex.com/projects/p/packetfence/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -49,7 +50,7 @@ msgid "pt_BR" msgstr "PortuguĆŖs" msgid "error: access denied not owner" -msgstr "AccĆØs refusĆ© : vous n'ĆŖtes pas le propriĆ©taire de ce noeud !" +msgstr "AccĆØs refusĆ©: vous n'ĆŖtes pas le propriĆ©taire de cet appareil !" msgid "error: incorrect mode" msgstr "Mode incorrect !" @@ -65,16 +66,16 @@ msgid "error: invalid page number" msgstr "NumĆ©ro de page invalide" msgid "error: max re-enables reached" -msgstr "Nombre maximum de rĆ©activations atteint !" +msgstr "RĆ©activation maximale atteinte !" msgid "error: not found in the database" -msgstr "Votre ordinateur n'a pas pu ĆŖtre trouvĆ© dans la base de donnĆ©es de PacketFence. Veuillez redĆ©marrer afin de rĆ©soudre ce problĆØme." +msgstr "Votre ordinateur nĀ“a pas Ć©tĆ© trouvĆ© dans la base de donnĆ©e de PacketFence. Veuillez redĆ©marrer pour rĆ©soudre ce problĆØme." msgid "error: not trappable IP" -msgstr "AccĆØs refusĆ© : IP ne peut pas ĆŖtre isolĆ© !" +msgstr "AccĆØs refusĆ©: LĀ“adresse IP ne peut pas ĆŖtre isolĆ©e !" msgid "error: only register max nodes" -msgstr "Vous pouvez seulement vous enregistrer pour un maximum de %s nœuds!" +msgstr "Vous pouvez seulement enregistrer un maximum de %s appareils !" # deprecated but kept for a couple of versions (until at least early 2013) msgid "error: unable to validate credentials at the moment" @@ -84,7 +85,7 @@ msgid "Unable to validate credentials at the moment" msgstr "Impossible de valider votre login et mot de passe en ce moment" msgid "error: something went wrong creating the guest" -msgstr "Il y a eu un problĆØme pour crĆ©er l'invitĆ©" +msgstr "Il y a eu un problĆØme Ć  la crĆ©ation du compte de InvitĆ©." msgid "help: provide info" msgstr "Si vous avez des questions par rapport Ć  cette page, veuillez contacter votre Ć©quipe informatique et leur fournir les informations suivantes : " @@ -132,7 +133,7 @@ msgid "Acceptable Use Policy" msgstr "Politique d'utilisation du rĆ©seau" msgid "Addresses" -msgstr "Adresses" +msgstr "Addresses" msgid "De-register node" msgstr "DĆ©senregistrer le noeud" @@ -144,7 +145,7 @@ msgid "Gateway" msgstr "Passerelle" msgid "grace" -msgstr "grĆ¢ce" +msgstr "Periode de grace " msgid "Hostname" msgstr "Nom d'hĆ“te" @@ -159,7 +160,7 @@ msgid "MAC" msgstr "MAC" msgid "network access is being enabled" -msgstr "Votre accĆØs au rĆ©seau est en cours d'activation. Une fois la connectivitĆ© Ć©tablie vous serez automatiquement redirigĆ©." +msgstr "Votre accĆØs rĆ©seau est actuellement en activation. Une fois la connectivitĆ© rĆ©seau Ć©tablie, vous serez automatiquement redirigĆ©." msgid "system scan in progress" msgstr "Analyse de votre systĆØme en cours - ce processus prendra approximativement %s secondes." @@ -174,7 +175,7 @@ msgid "Guest Registration" msgstr "Inscription" msgid "guest network disclaimer" -msgstr "Ce rĆ©seau public est fourni exclusivement pour faciliter l'accĆØs aux invitĆ©s et aux visiteurs. L'accĆØs n'implique aucune garantie de fiabilitĆ©, de vitesse ou de confidentialitĆ©. Ce rĆ©seau est strictement fourni pour donner un accĆØs Ć  l'Internet. Son utilisation implique l'acceptation de tous les termes et conditions contenus dans notre Politique d'accĆØs rĆ©seau." +msgstr "Ce rĆ©seau public est fournis exclusivement pour la convenence des invitĆ©s et des visiteurs. L'accĆØs n'implique aucune garantie de fiabilitĆ©, de vitesse ou de confidentialitĆ©. Ce rĆ©seau est strictement fournis pour donner un accĆ©s a Internet. Son utilisation implique l'acceptation de tous les termes et conditions contenus dans notre Politique d'accĆØs rĆ©seau." msgid "" "In the fields below please enter your name, phone number and a valid email " @@ -311,12 +312,12 @@ msgid "Please contact your support staff for more information." msgstr "Veuillez contacter votre Ć©quipe de soutien technique." msgid "Hub Detection" -msgstr "PĆ©riphĆ©rique rĆ©seau problĆ©matique" +msgstr "DĆ©tection dĀ“un HUB" msgid "" "You have been detected using a hub. Such device is not permitted on the " "network. Please remove it." -msgstr "Il se peut qu'un (que des) Ć©quipement(s) de connectivitĆ©(s) rĆ©seau de votre appareil fasse dĆ©faut ou que vous ayez branchĆ© un appareil de type commutateur/routeur/\"hub\". Pour une mise Ć  jour, contactez votre technicien(ne) ou dĆ©branchez l'appareil fautif." +msgstr "Nous avons dĆ©tecter que vous utilisez un Ā“HUB. Ce type dĀ“Ć©quipement nĀ“est pas autorisĆ© dur le rĆ©seau. Veuillez dĆ©brancher lĀ“Ć©quipement." msgid "Peer-to-Peer" msgstr "Poste-Ć -Poste" @@ -344,7 +345,7 @@ msgid "" "or \"spam\") to other systems. Due to the threat this poses for other " "systems on the network, network connectivity has been disabled until " "corrective action is taken." -msgstr "Votre systĆØme semble envoyer des courriels indĆ©sirables (spam), Du au danger de cette problĆ©matique pour tous les autres ordinateurs du rĆ©seau, votre accĆØ a Ć©tĆ© dĆ©sactivĆ©" +msgstr "Votre systĆØme semble envoyer des courriels indĆ©sirables (spam), Du au danger de cette problĆ©matique pour tous les autres ordinateurs du rĆ©seau, votre accĆØs a Ć©tĆ© dĆ©sactivĆ©" msgid "" "Your system may need to be rebuilt. Please contact your local support staff " @@ -358,7 +359,7 @@ msgid "guest registration form" msgstr "Formulaire d'enregistrement d'invitĆ©s" msgid "guest registration instructions" -msgstr "Instructions d'enregistrement d'invitĆ©s" +msgstr "Veuillez remplir tous les champs ci-dessous pour que lĀ“accĆØs invitĆ© soit crĆ©e. Les invitĆ©s ne pourront sĀ“enregistrer avant la date dĀ“arrivĆ©e ou aprĆØs la date dĀ“arrivĆ©e plus la durĆ©e dĀ“accĆØs avec une journĆ©e de tolĆ©rance. La durĆ©e dĀ“accĆØs commencera une fois que lĀ“invitĆ© se sera enregistrĆ© sur le portail captif. " msgid "Firstname" msgstr "PrĆ©nom" @@ -434,8 +435,8 @@ msgstr "Retour" msgid "second" msgid_plural "seconds" -msgstr[0] "seconde" -msgstr[1] "secondes" +msgstr[0] "second" +msgstr[1] "seconds" msgid "minute" msgid_plural "minutes" @@ -449,22 +450,22 @@ msgstr[1] "heures" msgid "day" msgid_plural "days" -msgstr[0] "jour" +msgstr[0] "day" msgstr[1] "jours" msgid "week" msgid_plural "weeks" -msgstr[0] "semaine" +msgstr[0] "week" msgstr[1] "semaines" msgid "month" msgid_plural "months" -msgstr[0] "mois" +msgstr[0] "month" msgstr[1] "mois" msgid "year" msgid_plural "years" -msgstr[0] "an" +msgstr[0] "year" msgstr[1] "ans" msgid "Invalid access duration provided" @@ -591,7 +592,7 @@ msgid "I accept the terms" msgstr "J'accepte les termes" msgid "I have read and accept the terms" -msgstr "J'ai lu et j'accepte les termes" +msgstr "JĀ“ai lu et acceptĆ© les termes" msgid "You need to accept the terms before proceeding any further." msgstr "Vous devez accepter les termes afin de vous connecter au rĆ©seau." @@ -939,6 +940,9 @@ msgid "" " been logged." msgstr "Il y a eu un problĆØme en tentant de trouver le serveur pour s'enregistrer. Le problĆØme a Ć©tĆ© notifiĆ©." +msgid "does not have permission to sponsor a user" +msgstr "n'a pas le droit de sponsoriser un utilistateur" + msgid "" "The device with MAC address %s has already been authorized to your network." msgstr "Le dispositif avec l'adresse MAC %s a dĆ©jĆ  Ć©tĆ© autorisĆ© sur le rĆ©seau." @@ -952,12 +956,15 @@ msgstr "%s: Demande d'accĆØs rĆ©seau invitĆ© acceptĆ©" msgid "Guest pre-registration is not allowed by policy" msgstr "Le prĆ© enregistrement des invitĆ©s n'est pas autorisĆ©" +msgid "Maximum amount of retries attempted" +msgstr "Trop de tentatives " + msgid "" "If you choose to have your access sponsored, we will send " "an email to the Sponsor email you provided with an activation link. The " "sponsor will need to click on that link and authenticate in order to approve" " you in." -msgstr "Si vous choisissez d'avoir votre accĆØs sponsorisĆ©, nous enverrons un courriel au courriel du sponsor que vous avez fourni avec un lien d'activation. Le sponsor devra suivre ce lien et sā€™authentifier afin d'approuvĆ© votre accĆØs." +msgstr "Si vous choisissez d'avoir votre accĆØs sponsorisĆ©, nous enverrons un courriel au courriel du sponsor que vous avez fourni avec un lien d'activation. Le sponsor devra suivre ce lien et sā€™authentifier afin d'approuver votre accĆØs." msgid "You will receive guest credentials by email once approved." msgstr "Vous recevrez vos identifiants d'invitĆ© par courriel une fois approuvĆ©." @@ -1052,7 +1059,7 @@ msgid "cell_phone" msgstr "Cellulaire" msgid "work_phone" -msgstr "TĆ©lĆ©phone au travail" +msgstr "TĆ©lĆ©phone de bureau" msgid "title" msgstr "Titre" @@ -1079,3 +1086,283 @@ msgid "" " route traffic rather than natting it. Make sure to add the routes on the " "system." msgstr "Si le mode NATting est dĆ©sactivĆ©, PacketFence utilisera les rĆØgles iptables plutĆ“t que celles du natting. Assurez-vous d'ajouter les routes sur le systĆØme." + +# html/captive-portal/templates/activated.html +msgid "" +"A local account has been created to allow access to node status features. " +"Here are the information associated with that account" +msgstr "Un compte local Ć  Ć©tĆ© crĆ©er pour autoriser l'accĆØs aux status des noeuds. Voici les informations relatives Ć  ce compte" + +# html/captive-portal/templates/provisioner/deny.html +msgid "" +"According to the provisioner configuration, this device cannot access the " +"network." +msgstr "Selon lĀ“approvisionneur (MDM) cet appareil nĀ“est pas autorisĆ© sur le rĆ©seau. " + +# html/captive-portal/templates/provisioner/sepm.html +msgid "Alternate installer" +msgstr "Installateur alternatif" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "Click here to download" +msgstr "Cliquez ici pour tĆ©lĆ©charger" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "Click here to go to the download website" +msgstr "Cliquez ici pour accĆ©der au site du tĆ©lĆ©chargmeent" + +# html/captive-portal/templates/provisioner/windows.html +msgid "Click to download the agent." +msgstr "Cliquez ici pour tĆ©lĆ©charger l'agent" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Device MAC address" +msgstr "Adresse MAC de l'appareil" + +# html/captive-portal/templates/device-landing.html +msgid "Device Registration Landing" +msgstr "Page d'enregistrement du device" + +# html/captive-portal/templates/device-registration.html +msgid "Device Type" +msgstr "Type d'appareil" + +# html/captive-portal/templates/status.html +msgid "Extend Access" +msgstr "Ɖtendre lĀ“accĆØs" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/time_expiration.html +msgid "Expiration" +msgstr "Expiration" + +# html/captive-portal/templates/gaming-registration.html +msgid "Gaming Device Type" +msgstr "Type de console de jeux" + +# html/captive-portal/templates/gaming-landing.html +msgid "Gaming Landing" +msgstr "Page dĀ“enregistrement de console de jeux" + +# html/captive-portal/templates/guest/sms_confirmation.html +msgid "I don't have a PIN" +msgstr "Je n'ai pas de NIP" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "If you are using an Android phone or tablet," +msgstr "Si vous utilisez un tĆ©lĆ©phone Android ou une tablette," + +# html/captive-portal/templates/provisioner/windows.html +msgid "" +"In order to complete your connection to the secure SSID, you will need to " +"run the agent available below." +msgstr "Pour terminer votre connexion au SSID sĆ©curisĆ©, vous allez devoir lancer l'agent disponible ci-dessous." + +# html/captive-portal/templates/activated.html +msgid "Local account creation" +msgstr "CrĆ©ation de compte local" + +# html/captive-portal/templates/status.html +msgid "Login to manage registered devices" +msgstr "Connectez vous pour administrer les appareils enregistrĆ©s" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Facebook account" +msgstr "Connectez vous avec votre compte Facebook" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with GitHub account" +msgstr "Connectez vous avec votre compte GitHub" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Google account" +msgstr "Connectez vous avec votre compte Google" + +# html/captive-portal/templates/login.html +msgid "Login with LinkedIn account" +msgstr "Connectez vous avec votre compte LinkedIn" + +# html/captive-portal/templates/login.html +msgid "Login with Windows Live account" +msgstr "Connectez vous avec votre compte Windows Live" + +# html/captive-portal/templates/pending.html +# html/captive-portal/templates/release.html +msgid "Network access has been granted" +msgstr "AccĆØs au rĆ©seau accordĆ©" + +# html/captive-portal/templates/status.html +msgid "OS Type" +msgstr "Type d'OS" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"Once the application is installed, click 'Continue' to activate your network" +" connection" +msgstr "Lorsque l'application est installĆ©e, cliquez 'Continue' pour activez votre accĆØs rĆ©seau" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"Once the application is installed, click next to activate your network " +"connection" +msgstr "Lorsque l'application est installĆ©e, cliquez 'Next' pour activez votre accĆØs rĆ©seau" + +# html/captive-portal/templates/status.html +msgid "Open in new popup window" +msgstr "Ouvrir dans une nouvelle fenĆŖtre popup" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/bandwidth_limit.fr.html +# html/captive-portal/templates/violations/bandwidth_limit.html +# html/captive-portal/templates/violations/banned_devices.fr.html +# html/captive-portal/templates/violations/banned_devices.html +# html/captive-portal/templates/violations/banned_os.fr.html +# html/captive-portal/templates/violations/banned_os.html +# html/captive-portal/templates/violations/darknet.fr.html +# html/captive-portal/templates/violations/darknet.html +# html/captive-portal/templates/violations/failed_scan.es_ES.html +# html/captive-portal/templates/violations/failed_scan.fr.html +# html/captive-portal/templates/violations/failed_scan.html +# html/captive-portal/templates/violations/generic.fr.html +# html/captive-portal/templates/violations/generic.html +# html/captive-portal/templates/violations/lsass.es_ES.html +# html/captive-portal/templates/violations/lsass.fr.html +# html/captive-portal/templates/violations/lsass.html +# html/captive-portal/templates/violations/malware.es_ES.html +# html/captive-portal/templates/violations/malware.fr.html +# html/captive-portal/templates/violations/malware.html +# html/captive-portal/templates/violations/nat.fr.html +# html/captive-portal/templates/violations/nat.html +# html/captive-portal/templates/violations/p2p.fr.html +# html/captive-portal/templates/violations/p2p.html +# html/captive-portal/templates/violations/roguedhcp.fr.html +# html/captive-portal/templates/violations/roguedhcp.html +# html/captive-portal/templates/violations/sample.fr.html +# html/captive-portal/templates/violations/sample.html +# html/captive-portal/templates/violations/scanning.fr.html +# html/captive-portal/templates/violations/scanning.html +# html/captive-portal/templates/violations/spam.fr.html +# html/captive-portal/templates/violations/spam.html +# html/captive-portal/templates/violations/system_scan.fr.html +# html/captive-portal/templates/violations/system_scan.html +# html/captive-portal/templates/violations/time_expiration.html +# html/captive-portal/templates/violations/trojan.fr.html +# html/captive-portal/templates/violations/trojan.html +# html/captive-portal/templates/violations/zotob.fr.html +# html/captive-portal/templates/violations/zotob.html +msgid "Quarantine" +msgstr "Quarantaine" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Register" +msgstr "Enregistrement" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Registration" +msgstr "Enregistrement" + +# html/captive-portal/templates/status.html +msgid "Registration Date" +msgstr "Date d'enregistrement" + +# html/captive-portal/templates/device-registration.html +msgid "Select Console" +msgstr "Choisissez votre console" + +# html/captive-portal/templates/gaming-registration.html +msgid "Select Gaming Console" +msgstr "Choisissez votre console de jeux" + +# html/captive-portal/templates/status.html +msgid "State - Network Access" +msgstr "Etat - AccĆØs rĆ©seau" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "To complete your network activation you need to install MobileIron" +msgstr "Pour finaliser votre accĆØs au rĆ©seau vous devez installer le client MobileIron." + +# html/captive-portal/templates/provisioner/ibm.html +msgid "" +"To complete your network activation you need to install the IBM client." +msgstr "Pour finaliser votre accĆØs au rĆ©seau vous devez installer le client IBM." + +# html/captive-portal/templates/provisioner/opswat.html +msgid "" +"To complete your network activation you need to install the OPSWAT GEARS " +"client." +msgstr "Pour finaliser votre accĆØs au rĆ©seau vous devez installer le client OPSWAT GEARS." + +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"To complete your network activation you need to install the Symantec " +"Endpoint Manager" +msgstr "Pour finaliser votre accĆØs au rĆ©seau vous devez installer le client Symantec Endpoint Manager" + +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"To complete your network activation you need to install the Symantec client." +msgstr "Pour finaliser votre accĆØs au rĆ©seau vous devez installer le client Symantec." + +# html/captive-portal/templates/provisioner/accept.html +msgid "" +"To the administrator : you should probably file a bug report on the " +"PacketFence website" +msgstr "Vous devez probablement reporter un bug sur le site web de PacketFence" + +# html/captive-portal/templates/provisioner/accept.html +msgid "To the user : try clicking Continue to see if it fixes the problem" +msgstr "Cliquez sur continue pour vĆ©rifier si cela corrige le problĆØme" + +# html/captive-portal/templates/status.html +msgid "Unregister" +msgstr "DĆ©senregistrer" + +# html/captive-portal/templates/status.html +msgid "You have no registered devices." +msgstr "Vous n'avez pas d'appareil enregistrĆ©" + +# html/captive-portal/templates/provisioner/accept.html +msgid "You should not seeing this page, something went wrong." +msgstr "Vous ne devriez pas voir cette page, quelque chose dĀ“incorrect est arrivĆ©." + +# html/captive-portal/templates/status.html +msgid "Your Network Access Status" +msgstr "Ɖtat de vos accĆØs au rĆ©seau" + +# html/captive-portal/templates/status.html +msgid "Your current device is not registered on our network." +msgstr "Votre appareil nĀ“est actuellement pas enregistrĆ© sur le rĆ©seau." + +# html/captive-portal/templates/status.html +msgid "Your network access ends in " +msgstr "Votre accĆØs au rĆ©seau se termine dans " + +# html/captive-portal/templates/status.html +msgid "Your network access has expired." +msgstr "Votre accĆØs au rĆ©seau a expirĆ©." + +# html/captive-portal/templates/status.html +msgid "Your network access is paused" +msgstr "Votre accĆØs au rĆ©seau est en pause" + +# html/captive-portal/templates/status.html +msgid "Your registered devices" +msgstr "Vos appareils enregistrĆ©s" diff --git a/conf/locale/he_IL/LC_MESSAGES/packetfence.po b/conf/locale/he_IL/LC_MESSAGES/packetfence.po index 448f2504cc24..d04992e4659e 100644 --- a/conf/locale/he_IL/LC_MESSAGES/packetfence.po +++ b/conf/locale/he_IL/LC_MESSAGES/packetfence.po @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2013 Inverse inc. +# Copyright (C) 2005-2015 Inverse inc. # This file is distributed under the same license as the PacketFence project. # # Translators: @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: PacketFence\n" -"PO-Revision-Date: 2014-08-12 00:24+0000\n" +"PO-Revision-Date: 2015-03-05 20:55+0000\n" "Last-Translator: inverse \n" "Language-Team: Hebrew (Israel) (http://www.transifex.com/projects/p/packetfence/language/he_IL/)\n" "MIME-Version: 1.0\n" @@ -934,6 +934,9 @@ msgid "" " been logged." msgstr "" +msgid "does not have permission to sponsor a user" +msgstr "" + msgid "" "The device with MAC address %s has already been authorized to your network." msgstr "" @@ -947,6 +950,9 @@ msgstr "" msgid "Guest pre-registration is not allowed by policy" msgstr "" +msgid "Maximum amount of retries attempted" +msgstr "" + msgid "" "If you choose to have your access sponsored, we will send " "an email to the Sponsor email you provided with an activation link. The " @@ -1074,3 +1080,283 @@ msgid "" " route traffic rather than natting it. Make sure to add the routes on the " "system." msgstr "" + +# html/captive-portal/templates/activated.html +msgid "" +"A local account has been created to allow access to node status features. " +"Here are the information associated with that account" +msgstr "" + +# html/captive-portal/templates/provisioner/deny.html +msgid "" +"According to the provisioner configuration, this device cannot access the " +"network." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "Alternate installer" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "Click here to download" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "Click here to go to the download website" +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "Click to download the agent." +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Device MAC address" +msgstr "" + +# html/captive-portal/templates/device-landing.html +msgid "Device Registration Landing" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Device Type" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Extend Access" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/time_expiration.html +msgid "Expiration" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Gaming Device Type" +msgstr "" + +# html/captive-portal/templates/gaming-landing.html +msgid "Gaming Landing" +msgstr "" + +# html/captive-portal/templates/guest/sms_confirmation.html +msgid "I don't have a PIN" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "If you are using an Android phone or tablet," +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "" +"In order to complete your connection to the secure SSID, you will need to " +"run the agent available below." +msgstr "" + +# html/captive-portal/templates/activated.html +msgid "Local account creation" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Login to manage registered devices" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Facebook account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with GitHub account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Google account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with LinkedIn account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with Windows Live account" +msgstr "" + +# html/captive-portal/templates/pending.html +# html/captive-portal/templates/release.html +msgid "Network access has been granted" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "OS Type" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"Once the application is installed, click 'Continue' to activate your network" +" connection" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"Once the application is installed, click next to activate your network " +"connection" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Open in new popup window" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/bandwidth_limit.fr.html +# html/captive-portal/templates/violations/bandwidth_limit.html +# html/captive-portal/templates/violations/banned_devices.fr.html +# html/captive-portal/templates/violations/banned_devices.html +# html/captive-portal/templates/violations/banned_os.fr.html +# html/captive-portal/templates/violations/banned_os.html +# html/captive-portal/templates/violations/darknet.fr.html +# html/captive-portal/templates/violations/darknet.html +# html/captive-portal/templates/violations/failed_scan.es_ES.html +# html/captive-portal/templates/violations/failed_scan.fr.html +# html/captive-portal/templates/violations/failed_scan.html +# html/captive-portal/templates/violations/generic.fr.html +# html/captive-portal/templates/violations/generic.html +# html/captive-portal/templates/violations/lsass.es_ES.html +# html/captive-portal/templates/violations/lsass.fr.html +# html/captive-portal/templates/violations/lsass.html +# html/captive-portal/templates/violations/malware.es_ES.html +# html/captive-portal/templates/violations/malware.fr.html +# html/captive-portal/templates/violations/malware.html +# html/captive-portal/templates/violations/nat.fr.html +# html/captive-portal/templates/violations/nat.html +# html/captive-portal/templates/violations/p2p.fr.html +# html/captive-portal/templates/violations/p2p.html +# html/captive-portal/templates/violations/roguedhcp.fr.html +# html/captive-portal/templates/violations/roguedhcp.html +# html/captive-portal/templates/violations/sample.fr.html +# html/captive-portal/templates/violations/sample.html +# html/captive-portal/templates/violations/scanning.fr.html +# html/captive-portal/templates/violations/scanning.html +# html/captive-portal/templates/violations/spam.fr.html +# html/captive-portal/templates/violations/spam.html +# html/captive-portal/templates/violations/system_scan.fr.html +# html/captive-portal/templates/violations/system_scan.html +# html/captive-portal/templates/violations/time_expiration.html +# html/captive-portal/templates/violations/trojan.fr.html +# html/captive-portal/templates/violations/trojan.html +# html/captive-portal/templates/violations/zotob.fr.html +# html/captive-portal/templates/violations/zotob.html +msgid "Quarantine" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Register" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Registration" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Registration Date" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Select Console" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Select Gaming Console" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "State - Network Access" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "To complete your network activation you need to install MobileIron" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +msgid "" +"To complete your network activation you need to install the IBM client." +msgstr "" + +# html/captive-portal/templates/provisioner/opswat.html +msgid "" +"To complete your network activation you need to install the OPSWAT GEARS " +"client." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"To complete your network activation you need to install the Symantec " +"Endpoint Manager" +msgstr "" + +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"To complete your network activation you need to install the Symantec client." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "" +"To the administrator : you should probably file a bug report on the " +"PacketFence website" +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "To the user : try clicking Continue to see if it fixes the problem" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Unregister" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "You have no registered devices." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "You should not seeing this page, something went wrong." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your Network Access Status" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your current device is not registered on our network." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access ends in " +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access has expired." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access is paused" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your registered devices" +msgstr "" diff --git a/conf/locale/it/LC_MESSAGES/packetfence.po b/conf/locale/it/LC_MESSAGES/packetfence.po index 67a5483b6fc4..42f898ee5dc5 100644 --- a/conf/locale/it/LC_MESSAGES/packetfence.po +++ b/conf/locale/it/LC_MESSAGES/packetfence.po @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2013 Inverse inc. +# Copyright (C) 2005-2015 Inverse inc. # This file is distributed under the same license as the PacketFence project. # # Translators: @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PacketFence\n" -"PO-Revision-Date: 2014-08-12 00:24+0000\n" +"PO-Revision-Date: 2015-03-05 20:55+0000\n" "Last-Translator: inverse \n" "Language-Team: Italian (http://www.transifex.com/projects/p/packetfence/language/it/)\n" "MIME-Version: 1.0\n" @@ -936,6 +936,9 @@ msgid "" " been logged." msgstr "" +msgid "does not have permission to sponsor a user" +msgstr "" + msgid "" "The device with MAC address %s has already been authorized to your network." msgstr "" @@ -949,6 +952,9 @@ msgstr "" msgid "Guest pre-registration is not allowed by policy" msgstr "" +msgid "Maximum amount of retries attempted" +msgstr "" + msgid "" "If you choose to have your access sponsored, we will send " "an email to the Sponsor email you provided with an activation link. The " @@ -1076,3 +1082,283 @@ msgid "" " route traffic rather than natting it. Make sure to add the routes on the " "system." msgstr "" + +# html/captive-portal/templates/activated.html +msgid "" +"A local account has been created to allow access to node status features. " +"Here are the information associated with that account" +msgstr "" + +# html/captive-portal/templates/provisioner/deny.html +msgid "" +"According to the provisioner configuration, this device cannot access the " +"network." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "Alternate installer" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "Click here to download" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "Click here to go to the download website" +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "Click to download the agent." +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Device MAC address" +msgstr "" + +# html/captive-portal/templates/device-landing.html +msgid "Device Registration Landing" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Device Type" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Extend Access" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/time_expiration.html +msgid "Expiration" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Gaming Device Type" +msgstr "" + +# html/captive-portal/templates/gaming-landing.html +msgid "Gaming Landing" +msgstr "" + +# html/captive-portal/templates/guest/sms_confirmation.html +msgid "I don't have a PIN" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "If you are using an Android phone or tablet," +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "" +"In order to complete your connection to the secure SSID, you will need to " +"run the agent available below." +msgstr "" + +# html/captive-portal/templates/activated.html +msgid "Local account creation" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Login to manage registered devices" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Facebook account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with GitHub account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Google account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with LinkedIn account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with Windows Live account" +msgstr "" + +# html/captive-portal/templates/pending.html +# html/captive-portal/templates/release.html +msgid "Network access has been granted" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "OS Type" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"Once the application is installed, click 'Continue' to activate your network" +" connection" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"Once the application is installed, click next to activate your network " +"connection" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Open in new popup window" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/bandwidth_limit.fr.html +# html/captive-portal/templates/violations/bandwidth_limit.html +# html/captive-portal/templates/violations/banned_devices.fr.html +# html/captive-portal/templates/violations/banned_devices.html +# html/captive-portal/templates/violations/banned_os.fr.html +# html/captive-portal/templates/violations/banned_os.html +# html/captive-portal/templates/violations/darknet.fr.html +# html/captive-portal/templates/violations/darknet.html +# html/captive-portal/templates/violations/failed_scan.es_ES.html +# html/captive-portal/templates/violations/failed_scan.fr.html +# html/captive-portal/templates/violations/failed_scan.html +# html/captive-portal/templates/violations/generic.fr.html +# html/captive-portal/templates/violations/generic.html +# html/captive-portal/templates/violations/lsass.es_ES.html +# html/captive-portal/templates/violations/lsass.fr.html +# html/captive-portal/templates/violations/lsass.html +# html/captive-portal/templates/violations/malware.es_ES.html +# html/captive-portal/templates/violations/malware.fr.html +# html/captive-portal/templates/violations/malware.html +# html/captive-portal/templates/violations/nat.fr.html +# html/captive-portal/templates/violations/nat.html +# html/captive-portal/templates/violations/p2p.fr.html +# html/captive-portal/templates/violations/p2p.html +# html/captive-portal/templates/violations/roguedhcp.fr.html +# html/captive-portal/templates/violations/roguedhcp.html +# html/captive-portal/templates/violations/sample.fr.html +# html/captive-portal/templates/violations/sample.html +# html/captive-portal/templates/violations/scanning.fr.html +# html/captive-portal/templates/violations/scanning.html +# html/captive-portal/templates/violations/spam.fr.html +# html/captive-portal/templates/violations/spam.html +# html/captive-portal/templates/violations/system_scan.fr.html +# html/captive-portal/templates/violations/system_scan.html +# html/captive-portal/templates/violations/time_expiration.html +# html/captive-portal/templates/violations/trojan.fr.html +# html/captive-portal/templates/violations/trojan.html +# html/captive-portal/templates/violations/zotob.fr.html +# html/captive-portal/templates/violations/zotob.html +msgid "Quarantine" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Register" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Registration" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Registration Date" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Select Console" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Select Gaming Console" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "State - Network Access" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "To complete your network activation you need to install MobileIron" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +msgid "" +"To complete your network activation you need to install the IBM client." +msgstr "" + +# html/captive-portal/templates/provisioner/opswat.html +msgid "" +"To complete your network activation you need to install the OPSWAT GEARS " +"client." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"To complete your network activation you need to install the Symantec " +"Endpoint Manager" +msgstr "" + +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"To complete your network activation you need to install the Symantec client." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "" +"To the administrator : you should probably file a bug report on the " +"PacketFence website" +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "To the user : try clicking Continue to see if it fixes the problem" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Unregister" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "You have no registered devices." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "You should not seeing this page, something went wrong." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your Network Access Status" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your current device is not registered on our network." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access ends in " +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access has expired." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access is paused" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your registered devices" +msgstr "" diff --git a/conf/locale/nl/LC_MESSAGES/packetfence.po b/conf/locale/nl/LC_MESSAGES/packetfence.po index 9b49da2c1b4c..c05f7b824cdf 100644 --- a/conf/locale/nl/LC_MESSAGES/packetfence.po +++ b/conf/locale/nl/LC_MESSAGES/packetfence.po @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2013 Inverse inc. +# Copyright (C) 2005-2015 Inverse inc. # This file is distributed under the same license as the PacketFence project. # # Translators: @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PacketFence\n" -"PO-Revision-Date: 2014-08-12 00:24+0000\n" +"PO-Revision-Date: 2015-03-05 20:55+0000\n" "Last-Translator: inverse \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/packetfence/language/nl/)\n" "MIME-Version: 1.0\n" @@ -936,6 +936,9 @@ msgid "" " been logged." msgstr "Er is een probleem met het opzoeken van de computer die geregistreerd moet worden. Dit probleem is doorgegeven aan de beheerder." +msgid "does not have permission to sponsor a user" +msgstr "" + msgid "" "The device with MAC address %s has already been authorized to your network." msgstr "Het apparaat met MAC adres %s heeft al toegang tot ons netwerk. " @@ -949,6 +952,9 @@ msgstr "%s: Gasten toegang aanvraag geaccepteerd" msgid "Guest pre-registration is not allowed by policy" msgstr "Voor registratie van gasten is niet toegestaan door de beheerder" +msgid "Maximum amount of retries attempted" +msgstr "" + msgid "" "If you choose to have your access sponsored, we will send " "an email to the Sponsor email you provided with an activation link. The " @@ -1076,3 +1082,283 @@ msgid "" " route traffic rather than natting it. Make sure to add the routes on the " "system." msgstr "" + +# html/captive-portal/templates/activated.html +msgid "" +"A local account has been created to allow access to node status features. " +"Here are the information associated with that account" +msgstr "" + +# html/captive-portal/templates/provisioner/deny.html +msgid "" +"According to the provisioner configuration, this device cannot access the " +"network." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "Alternate installer" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "Click here to download" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "Click here to go to the download website" +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "Click to download the agent." +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Device MAC address" +msgstr "" + +# html/captive-portal/templates/device-landing.html +msgid "Device Registration Landing" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Device Type" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Extend Access" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/time_expiration.html +msgid "Expiration" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Gaming Device Type" +msgstr "" + +# html/captive-portal/templates/gaming-landing.html +msgid "Gaming Landing" +msgstr "" + +# html/captive-portal/templates/guest/sms_confirmation.html +msgid "I don't have a PIN" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "If you are using an Android phone or tablet," +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "" +"In order to complete your connection to the secure SSID, you will need to " +"run the agent available below." +msgstr "" + +# html/captive-portal/templates/activated.html +msgid "Local account creation" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Login to manage registered devices" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Facebook account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with GitHub account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Google account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with LinkedIn account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with Windows Live account" +msgstr "" + +# html/captive-portal/templates/pending.html +# html/captive-portal/templates/release.html +msgid "Network access has been granted" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "OS Type" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"Once the application is installed, click 'Continue' to activate your network" +" connection" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"Once the application is installed, click next to activate your network " +"connection" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Open in new popup window" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/bandwidth_limit.fr.html +# html/captive-portal/templates/violations/bandwidth_limit.html +# html/captive-portal/templates/violations/banned_devices.fr.html +# html/captive-portal/templates/violations/banned_devices.html +# html/captive-portal/templates/violations/banned_os.fr.html +# html/captive-portal/templates/violations/banned_os.html +# html/captive-portal/templates/violations/darknet.fr.html +# html/captive-portal/templates/violations/darknet.html +# html/captive-portal/templates/violations/failed_scan.es_ES.html +# html/captive-portal/templates/violations/failed_scan.fr.html +# html/captive-portal/templates/violations/failed_scan.html +# html/captive-portal/templates/violations/generic.fr.html +# html/captive-portal/templates/violations/generic.html +# html/captive-portal/templates/violations/lsass.es_ES.html +# html/captive-portal/templates/violations/lsass.fr.html +# html/captive-portal/templates/violations/lsass.html +# html/captive-portal/templates/violations/malware.es_ES.html +# html/captive-portal/templates/violations/malware.fr.html +# html/captive-portal/templates/violations/malware.html +# html/captive-portal/templates/violations/nat.fr.html +# html/captive-portal/templates/violations/nat.html +# html/captive-portal/templates/violations/p2p.fr.html +# html/captive-portal/templates/violations/p2p.html +# html/captive-portal/templates/violations/roguedhcp.fr.html +# html/captive-portal/templates/violations/roguedhcp.html +# html/captive-portal/templates/violations/sample.fr.html +# html/captive-portal/templates/violations/sample.html +# html/captive-portal/templates/violations/scanning.fr.html +# html/captive-portal/templates/violations/scanning.html +# html/captive-portal/templates/violations/spam.fr.html +# html/captive-portal/templates/violations/spam.html +# html/captive-portal/templates/violations/system_scan.fr.html +# html/captive-portal/templates/violations/system_scan.html +# html/captive-portal/templates/violations/time_expiration.html +# html/captive-portal/templates/violations/trojan.fr.html +# html/captive-portal/templates/violations/trojan.html +# html/captive-portal/templates/violations/zotob.fr.html +# html/captive-portal/templates/violations/zotob.html +msgid "Quarantine" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Register" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Registration" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Registration Date" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Select Console" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Select Gaming Console" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "State - Network Access" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "To complete your network activation you need to install MobileIron" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +msgid "" +"To complete your network activation you need to install the IBM client." +msgstr "" + +# html/captive-portal/templates/provisioner/opswat.html +msgid "" +"To complete your network activation you need to install the OPSWAT GEARS " +"client." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"To complete your network activation you need to install the Symantec " +"Endpoint Manager" +msgstr "" + +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"To complete your network activation you need to install the Symantec client." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "" +"To the administrator : you should probably file a bug report on the " +"PacketFence website" +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "To the user : try clicking Continue to see if it fixes the problem" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Unregister" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "You have no registered devices." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "You should not seeing this page, something went wrong." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your Network Access Status" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your current device is not registered on our network." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access ends in " +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access has expired." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access is paused" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your registered devices" +msgstr "" diff --git a/conf/locale/pl_PL/LC_MESSAGES/packetfence.po b/conf/locale/pl_PL/LC_MESSAGES/packetfence.po index da62fcc76a39..ac420f248025 100644 --- a/conf/locale/pl_PL/LC_MESSAGES/packetfence.po +++ b/conf/locale/pl_PL/LC_MESSAGES/packetfence.po @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2013 Inverse inc. +# Copyright (C) 2005-2015 Inverse inc. # This file is distributed under the same license as the PacketFence project. # # Translators: @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PacketFence\n" -"PO-Revision-Date: 2014-08-12 00:24+0000\n" +"PO-Revision-Date: 2015-03-05 20:55+0000\n" "Last-Translator: inverse \n" "Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/packetfence/language/pl_PL/)\n" "MIME-Version: 1.0\n" @@ -945,6 +945,9 @@ msgid "" " been logged." msgstr "Wystąpił problem podczas prĆ³by znalezienia komputera do zarejestrowania. Problem został zapisany do dziennika." +msgid "does not have permission to sponsor a user" +msgstr "" + msgid "" "The device with MAC address %s has already been authorized to your network." msgstr "Urządzenie o adresie MAC %s zostało iuż autoryzowane w Twojej sieci." @@ -958,6 +961,9 @@ msgstr "%s: Zaakceptowano żądanie dostepu gościnnego" msgid "Guest pre-registration is not allowed by policy" msgstr "Pre-rejestracja gości nie jest dozwolona przez zasady" +msgid "Maximum amount of retries attempted" +msgstr "" + msgid "" "If you choose to have your access sponsored, we will send " "an email to the Sponsor email you provided with an activation link. The " @@ -1085,3 +1091,283 @@ msgid "" " route traffic rather than natting it. Make sure to add the routes on the " "system." msgstr "" + +# html/captive-portal/templates/activated.html +msgid "" +"A local account has been created to allow access to node status features. " +"Here are the information associated with that account" +msgstr "" + +# html/captive-portal/templates/provisioner/deny.html +msgid "" +"According to the provisioner configuration, this device cannot access the " +"network." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "Alternate installer" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "Click here to download" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "Click here to go to the download website" +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "Click to download the agent." +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Device MAC address" +msgstr "" + +# html/captive-portal/templates/device-landing.html +msgid "Device Registration Landing" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Device Type" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Extend Access" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/time_expiration.html +msgid "Expiration" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Gaming Device Type" +msgstr "" + +# html/captive-portal/templates/gaming-landing.html +msgid "Gaming Landing" +msgstr "" + +# html/captive-portal/templates/guest/sms_confirmation.html +msgid "I don't have a PIN" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "If you are using an Android phone or tablet," +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "" +"In order to complete your connection to the secure SSID, you will need to " +"run the agent available below." +msgstr "" + +# html/captive-portal/templates/activated.html +msgid "Local account creation" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Login to manage registered devices" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Facebook account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with GitHub account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Google account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with LinkedIn account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with Windows Live account" +msgstr "" + +# html/captive-portal/templates/pending.html +# html/captive-portal/templates/release.html +msgid "Network access has been granted" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "OS Type" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"Once the application is installed, click 'Continue' to activate your network" +" connection" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"Once the application is installed, click next to activate your network " +"connection" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Open in new popup window" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/bandwidth_limit.fr.html +# html/captive-portal/templates/violations/bandwidth_limit.html +# html/captive-portal/templates/violations/banned_devices.fr.html +# html/captive-portal/templates/violations/banned_devices.html +# html/captive-portal/templates/violations/banned_os.fr.html +# html/captive-portal/templates/violations/banned_os.html +# html/captive-portal/templates/violations/darknet.fr.html +# html/captive-portal/templates/violations/darknet.html +# html/captive-portal/templates/violations/failed_scan.es_ES.html +# html/captive-portal/templates/violations/failed_scan.fr.html +# html/captive-portal/templates/violations/failed_scan.html +# html/captive-portal/templates/violations/generic.fr.html +# html/captive-portal/templates/violations/generic.html +# html/captive-portal/templates/violations/lsass.es_ES.html +# html/captive-portal/templates/violations/lsass.fr.html +# html/captive-portal/templates/violations/lsass.html +# html/captive-portal/templates/violations/malware.es_ES.html +# html/captive-portal/templates/violations/malware.fr.html +# html/captive-portal/templates/violations/malware.html +# html/captive-portal/templates/violations/nat.fr.html +# html/captive-portal/templates/violations/nat.html +# html/captive-portal/templates/violations/p2p.fr.html +# html/captive-portal/templates/violations/p2p.html +# html/captive-portal/templates/violations/roguedhcp.fr.html +# html/captive-portal/templates/violations/roguedhcp.html +# html/captive-portal/templates/violations/sample.fr.html +# html/captive-portal/templates/violations/sample.html +# html/captive-portal/templates/violations/scanning.fr.html +# html/captive-portal/templates/violations/scanning.html +# html/captive-portal/templates/violations/spam.fr.html +# html/captive-portal/templates/violations/spam.html +# html/captive-portal/templates/violations/system_scan.fr.html +# html/captive-portal/templates/violations/system_scan.html +# html/captive-portal/templates/violations/time_expiration.html +# html/captive-portal/templates/violations/trojan.fr.html +# html/captive-portal/templates/violations/trojan.html +# html/captive-portal/templates/violations/zotob.fr.html +# html/captive-portal/templates/violations/zotob.html +msgid "Quarantine" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Register" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Registration" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Registration Date" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Select Console" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Select Gaming Console" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "State - Network Access" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "To complete your network activation you need to install MobileIron" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +msgid "" +"To complete your network activation you need to install the IBM client." +msgstr "" + +# html/captive-portal/templates/provisioner/opswat.html +msgid "" +"To complete your network activation you need to install the OPSWAT GEARS " +"client." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"To complete your network activation you need to install the Symantec " +"Endpoint Manager" +msgstr "" + +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"To complete your network activation you need to install the Symantec client." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "" +"To the administrator : you should probably file a bug report on the " +"PacketFence website" +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "To the user : try clicking Continue to see if it fixes the problem" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Unregister" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "You have no registered devices." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "You should not seeing this page, something went wrong." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your Network Access Status" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your current device is not registered on our network." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access ends in " +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access has expired." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access is paused" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your registered devices" +msgstr "" diff --git a/conf/locale/pt_BR/LC_MESSAGES/packetfence.po b/conf/locale/pt_BR/LC_MESSAGES/packetfence.po index 90c35d0f7020..2bd46e9174cc 100644 --- a/conf/locale/pt_BR/LC_MESSAGES/packetfence.po +++ b/conf/locale/pt_BR/LC_MESSAGES/packetfence.po @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2013 Inverse inc. +# Copyright (C) 2005-2015 Inverse inc. # This file is distributed under the same license as the PacketFence project. # # Translators: @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: PacketFence\n" -"PO-Revision-Date: 2014-10-18 00:58+0000\n" -"Last-Translator: Diego de Souza Lopes \n" +"PO-Revision-Date: 2015-03-05 20:55+0000\n" +"Last-Translator: inverse \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/packetfence/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -937,6 +937,9 @@ msgid "" " been logged." msgstr "Houve um problema ao tentar localizar o computador para registrar. O problema foi registrado." +msgid "does not have permission to sponsor a user" +msgstr "" + msgid "" "The device with MAC address %s has already been authorized to your network." msgstr "O dispositivo com endereƧo MAC %s jĆ” foi autorizado Ć  sua rede." @@ -950,6 +953,9 @@ msgstr "%s: Pedido de Acesso de Convidado aceitado" msgid "Guest pre-registration is not allowed by policy" msgstr "PrĆ©-registro de Convidado nĆ£o Ć© permitido pela polĆ­tica." +msgid "Maximum amount of retries attempted" +msgstr "" + msgid "" "If you choose to have your access sponsored, we will send " "an email to the Sponsor email you provided with an activation link. The " @@ -1077,3 +1083,283 @@ msgid "" " route traffic rather than natting it. Make sure to add the routes on the " "system." msgstr "Desde que o modo NAT Ć© desativado, o PacketFence irĆ” ajustar Ć s regras do iptables para rotear o trĆ”fego em vez de NAT. Certifique-se de adicionar as rotas no sistema." + +# html/captive-portal/templates/activated.html +msgid "" +"A local account has been created to allow access to node status features. " +"Here are the information associated with that account" +msgstr "" + +# html/captive-portal/templates/provisioner/deny.html +msgid "" +"According to the provisioner configuration, this device cannot access the " +"network." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "Alternate installer" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "Click here to download" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "Click here to go to the download website" +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "Click to download the agent." +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Device MAC address" +msgstr "" + +# html/captive-portal/templates/device-landing.html +msgid "Device Registration Landing" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Device Type" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Extend Access" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/time_expiration.html +msgid "Expiration" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Gaming Device Type" +msgstr "" + +# html/captive-portal/templates/gaming-landing.html +msgid "Gaming Landing" +msgstr "" + +# html/captive-portal/templates/guest/sms_confirmation.html +msgid "I don't have a PIN" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "If you are using an Android phone or tablet," +msgstr "" + +# html/captive-portal/templates/provisioner/windows.html +msgid "" +"In order to complete your connection to the secure SSID, you will need to " +"run the agent available below." +msgstr "" + +# html/captive-portal/templates/activated.html +msgid "Local account creation" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Login to manage registered devices" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Facebook account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with GitHub account" +msgstr "" + +# html/captive-portal/templates/device-login.html +# html/captive-portal/templates/gaming-login.html +# html/captive-portal/templates/login.html +# html/captive-portal/templates/status.html +msgid "Login with Google account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with LinkedIn account" +msgstr "" + +# html/captive-portal/templates/login.html +msgid "Login with Windows Live account" +msgstr "" + +# html/captive-portal/templates/pending.html +# html/captive-portal/templates/release.html +msgid "Network access has been granted" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "OS Type" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +# html/captive-portal/templates/provisioner/opswat.html +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"Once the application is installed, click 'Continue' to activate your network" +" connection" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"Once the application is installed, click next to activate your network " +"connection" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Open in new popup window" +msgstr "" + +# html/captive-portal/templates/violations/bandwidth_expiration.html +# html/captive-portal/templates/violations/bandwidth_limit.fr.html +# html/captive-portal/templates/violations/bandwidth_limit.html +# html/captive-portal/templates/violations/banned_devices.fr.html +# html/captive-portal/templates/violations/banned_devices.html +# html/captive-portal/templates/violations/banned_os.fr.html +# html/captive-portal/templates/violations/banned_os.html +# html/captive-portal/templates/violations/darknet.fr.html +# html/captive-portal/templates/violations/darknet.html +# html/captive-portal/templates/violations/failed_scan.es_ES.html +# html/captive-portal/templates/violations/failed_scan.fr.html +# html/captive-portal/templates/violations/failed_scan.html +# html/captive-portal/templates/violations/generic.fr.html +# html/captive-portal/templates/violations/generic.html +# html/captive-portal/templates/violations/lsass.es_ES.html +# html/captive-portal/templates/violations/lsass.fr.html +# html/captive-portal/templates/violations/lsass.html +# html/captive-portal/templates/violations/malware.es_ES.html +# html/captive-portal/templates/violations/malware.fr.html +# html/captive-portal/templates/violations/malware.html +# html/captive-portal/templates/violations/nat.fr.html +# html/captive-portal/templates/violations/nat.html +# html/captive-portal/templates/violations/p2p.fr.html +# html/captive-portal/templates/violations/p2p.html +# html/captive-portal/templates/violations/roguedhcp.fr.html +# html/captive-portal/templates/violations/roguedhcp.html +# html/captive-portal/templates/violations/sample.fr.html +# html/captive-portal/templates/violations/sample.html +# html/captive-portal/templates/violations/scanning.fr.html +# html/captive-portal/templates/violations/scanning.html +# html/captive-portal/templates/violations/spam.fr.html +# html/captive-portal/templates/violations/spam.html +# html/captive-portal/templates/violations/system_scan.fr.html +# html/captive-portal/templates/violations/system_scan.html +# html/captive-portal/templates/violations/time_expiration.html +# html/captive-portal/templates/violations/trojan.fr.html +# html/captive-portal/templates/violations/trojan.html +# html/captive-portal/templates/violations/zotob.fr.html +# html/captive-portal/templates/violations/zotob.html +msgid "Quarantine" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Register" +msgstr "" + +# html/captive-portal/templates/device-registration.html +# html/captive-portal/templates/gaming-registration.html +msgid "Registration" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Registration Date" +msgstr "" + +# html/captive-portal/templates/device-registration.html +msgid "Select Console" +msgstr "" + +# html/captive-portal/templates/gaming-registration.html +msgid "Select Gaming Console" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "State - Network Access" +msgstr "" + +# html/captive-portal/templates/provisioner/mobileiron.html +msgid "To complete your network activation you need to install MobileIron" +msgstr "" + +# html/captive-portal/templates/provisioner/ibm.html +msgid "" +"To complete your network activation you need to install the IBM client." +msgstr "" + +# html/captive-portal/templates/provisioner/opswat.html +msgid "" +"To complete your network activation you need to install the OPSWAT GEARS " +"client." +msgstr "" + +# html/captive-portal/templates/provisioner/sepm.html +msgid "" +"To complete your network activation you need to install the Symantec " +"Endpoint Manager" +msgstr "" + +# html/captive-portal/templates/provisioner/symantec.html +msgid "" +"To complete your network activation you need to install the Symantec client." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "" +"To the administrator : you should probably file a bug report on the " +"PacketFence website" +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "To the user : try clicking Continue to see if it fixes the problem" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Unregister" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "You have no registered devices." +msgstr "" + +# html/captive-portal/templates/provisioner/accept.html +msgid "You should not seeing this page, something went wrong." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your Network Access Status" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your current device is not registered on our network." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access ends in " +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access has expired." +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your network access is paused" +msgstr "" + +# html/captive-portal/templates/status.html +msgid "Your registered devices" +msgstr "" diff --git a/conf/pf-release b/conf/pf-release index 259b2ec675fe..7fe35055ca1c 100644 --- a/conf/pf-release +++ b/conf/pf-release @@ -1 +1 @@ -PacketFence 4.6.1 +PacketFence 4.7.0 diff --git a/conf/pf.conf.defaults b/conf/pf.conf.defaults index 16146e591782..fa698f592365 100644 --- a/conf/pf.conf.defaults +++ b/conf/pf.conf.defaults @@ -80,12 +80,6 @@ tools/stinger.exe=http://download.nai.com/products/mcafee-avert/stng260.exe [trapping] # -# trapping.range -# -# Comma-delimited list of address ranges/CIDR blocks that PacketFence will monitor/detect/trap on. Gateway, network, and -# broadcast addresses are ignored. -range=192.168.0.0/24 -# # trapping.registration # # If enabled, nodes will be required to register on first network access. Further registration options are configured in the @@ -125,6 +119,12 @@ detection=disabled # Let you choose from our supported IDS: snort or suricata # detection_engine=snort +# +# trapping.range +# +# Comma-delimited list of address ranges/CIDR blocks that Snort/Suricata will monitor/detect/trap on. Gateway, network, and +# broadcast addresses are ignored. +range=192.168.0.0/24 # # trapping.wireless_ips diff --git a/conf/templates/emails-guest_sponsor_confirmed.txt.tt.example b/conf/templates/emails-guest_sponsor_confirmed.txt.tt.example new file mode 100644 index 000000000000..72ac9020f387 --- /dev/null +++ b/conf/templates/emails-guest_sponsor_confirmed.txt.tt.example @@ -0,0 +1,8 @@ +Hi, + +Your guest access to the network was authorized. + +If you have any questions regarding the registration process please contact support. + +-- +This is a post only E-mail, please do not reply. diff --git a/db/pf-schema-4.7.0.sql b/db/pf-schema-4.7.0.sql new file mode 100644 index 000000000000..fb59ac7a0e12 --- /dev/null +++ b/db/pf-schema-4.7.0.sql @@ -0,0 +1,894 @@ +-- +-- Table structure for table `class` +-- + +CREATE TABLE class ( + vid int(11) NOT NULL, + description varchar(255) NOT NULL default "none", + auto_enable char(1) NOT NULL default "Y", + max_enables int(11) NOT NULL default 0, + grace_period int(11) NOT NULL, + window varchar(255) NOT NULL default 0, + vclose int(11), + priority int(11) NOT NULL, + template varchar(255), + max_enable_url varchar(255), + redirect_url varchar(255), + button_text varchar(255), + enabled char(1) NOT NULL default "N", + vlan varchar(255), + target_category varchar(255), + delay_by int(11) NOT NULL default 0, + PRIMARY KEY (vid) +) ENGINE=InnoDB; + +-- +-- Table structure for table `trigger` +-- +CREATE TABLE `trigger` ( + vid int(11) default NULL, + tid_start varchar(255) NOT NULL, + tid_end varchar(255) NOT NULL, + type varchar(255) default NULL, + whitelisted_categories varchar(255) NOT NULL default '', + PRIMARY KEY (vid,tid_start,tid_end,type), + KEY `trigger` (tid_start,tid_end,type), + CONSTRAINT `0_64` FOREIGN KEY (`vid`) REFERENCES `class` (`vid`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +-- +-- Table structure for table `person` +-- + +CREATE TABLE person ( + pid varchar(255) NOT NULL, + `firstname` varchar(255) default NULL, + `lastname` varchar(255) default NULL, + `email` varchar(255) default NULL, + `telephone` varchar(255) default NULL, + `company` varchar(255) default NULL, + `address` varchar(255) default NULL, + `notes` varchar(255), + `sponsor` varchar(255) default NULL, + `anniversary` varchar(255) default NULL, + `birthday` varchar(255) default NULL, + `gender` char(1) default NULL, + `lang` varchar(255) default NULL, + `nickname` varchar(255) default NULL, + `cell_phone` varchar(255) default NULL, + `work_phone` varchar(255) default NULL, + `title` varchar(255) default NULL, + `building_number` varchar(255) default NULL, + `apartment_number` varchar(255) default NULL, + `room_number` varchar(255) default NULL, + `custom_field_1` varchar(255) default NULL, + `custom_field_2` varchar(255) default NULL, + `custom_field_3` varchar(255) default NULL, + `custom_field_4` varchar(255) default NULL, + `custom_field_5` varchar(255) default NULL, + `custom_field_6` varchar(255) default NULL, + `custom_field_7` varchar(255) default NULL, + `custom_field_8` varchar(255) default NULL, + `custom_field_9` varchar(255) default NULL, + `portal` varchar(255) default NULL, + `source` varchar(255) default NULL, + PRIMARY KEY (pid) +) ENGINE=InnoDB; + + +-- +-- Table structure for table `node_category` +-- + +CREATE TABLE `node_category` ( + `category_id` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `max_nodes_per_pid` int default 0, + `notes` varchar(255) default NULL, + PRIMARY KEY (`category_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- +-- Insert 'default' category +-- + +INSERT INTO `node_category` (category_id,name,notes) VALUES ("1","default","Placeholder role/category, feel free to edit"); + +-- +-- Insert 'guest' category +-- + +INSERT INTO `node_category` (category_id,name,notes) VALUES ("2","guest","Guests"); + +-- +-- Insert 'gaming' category +-- + +INSERT INTO `node_category` (category_id,name,notes) VALUES ("3","gaming","Gaming devices"); + +-- +-- Table structure for table `node` +-- + +CREATE TABLE node ( + mac varchar(17) NOT NULL, + pid varchar(255) NOT NULL default "admin", + category_id int default NULL, + detect_date datetime NOT NULL default "0000-00-00 00:00:00", + regdate datetime NOT NULL default "0000-00-00 00:00:00", + unregdate datetime NOT NULL default "0000-00-00 00:00:00", + lastskip datetime NOT NULL default "0000-00-00 00:00:00", + time_balance int(10) unsigned DEFAULT NULL, + bandwidth_balance int(10) unsigned DEFAULT NULL, + status varchar(15) NOT NULL default "unreg", + user_agent varchar(255) default NULL, + computername varchar(255) default NULL, + notes varchar(255) default NULL, + last_arp datetime NOT NULL default "0000-00-00 00:00:00", + last_dhcp datetime NOT NULL default "0000-00-00 00:00:00", + dhcp_fingerprint varchar(255) default NULL, + bypass_vlan varchar(50) default NULL, + voip enum('no','yes') NOT NULL DEFAULT 'no', + autoreg enum('no','yes') NOT NULL DEFAULT 'no', + sessionid varchar(30) default NULL, + machine_account varchar(255) default NULL, + PRIMARY KEY (mac), + KEY pid (pid), + KEY category_id (category_id), + KEY `node_status` (`status`, `unregdate`), + KEY `node_dhcpfingerprint` (`dhcp_fingerprint`), + CONSTRAINT `0_57` FOREIGN KEY (`pid`) REFERENCES `person` (`pid`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `node_category_key` FOREIGN KEY (`category_id`) REFERENCES `node_category` (`category_id`) +) ENGINE=InnoDB; + +-- +-- Table structure for table `node_useragent` +-- + +CREATE TABLE `node_useragent` ( + mac varchar(17) NOT NULL, + os varchar(255) DEFAULT NULL, + browser varchar(255) DEFAULT NULL, + device enum('no','yes') NOT NULL DEFAULT 'no', + device_name varchar(255) DEFAULT NULL, + mobile enum('no','yes') NOT NULL DEFAULT 'no', + PRIMARY KEY (mac) +) ENGINE=InnoDB; + +-- +-- Trigger to delete the node_useragent associated with a mac when deleting this mac from the node table +-- + +DROP TRIGGER IF EXISTS node_useragent_delete_trigger; +DELIMITER / +CREATE TRIGGER node_useragent_delete_trigger AFTER DELETE ON node +FOR EACH ROW +BEGIN + DELETE FROM node_useragent WHERE mac = OLD.mac; +END / +DELIMITER ; + +-- +-- Table structure for table `action` +-- + +CREATE TABLE action ( + vid int(11) NOT NULL, + action varchar(255) NOT NULL, + PRIMARY KEY (vid,action), + CONSTRAINT `FOREIGN` FOREIGN KEY (`vid`) REFERENCES `class` (`vid`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +-- +-- Table structure for table `violation` +-- + +CREATE TABLE violation ( + id int NOT NULL AUTO_INCREMENT, + mac varchar(17) NOT NULL, + vid int(11) NOT NULL, + start_date datetime NOT NULL, + release_date datetime default "0000-00-00 00:00:00", + status varchar(10) default "open", + ticket_ref varchar(255) default NULL, + notes text, + KEY mac (mac), + KEY vid (vid), + KEY status (status), + KEY ind1 (mac,status,vid), + KEY violation_release_date (release_date), + CONSTRAINT `0_60` FOREIGN KEY (`mac`) REFERENCES `node` (`mac`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `0_61` FOREIGN KEY (`vid`) REFERENCES `class` (`vid`) ON DELETE CASCADE ON UPDATE CASCADE, + PRIMARY KEY (id) +) ENGINE=InnoDB; + +-- +-- Table structure for table `iplog` +-- + +CREATE TABLE iplog ( + mac varchar(17) NOT NULL, + ip varchar(15) NOT NULL, + start_time datetime NOT NULL, + end_time datetime default "0000-00-00 00:00:00", + KEY `ip_view_open` (`ip`, `end_time`), + KEY `mac_view_open` (`mac`, `end_time`), + KEY `iplog_end_time` ( `end_time`), + CONSTRAINT `0_63` FOREIGN KEY (`mac`) REFERENCES `node` (`mac`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +-- +-- Table structure for table `iplog_history` +-- + +CREATE TABLE iplog_history ( + mac varchar(17) NOT NULL, + ip varchar(15) NOT NULL, + start_time datetime NOT NULL, + end_time datetime default "0000-00-00 00:00:00" +) ENGINE=InnoDB; + +CREATE TABLE os_type ( + os_id int(11) NOT NULL, + description varchar(255) NOT NULL, + PRIMARY KEY os_id (os_id) +) ENGINE=InnoDB; + +CREATE TABLE dhcp_fingerprint ( + fingerprint varchar(255) NOT NULL, + os_id int(11) NOT NULL, + PRIMARY KEY fingerprint (fingerprint), + KEY os_id_key (os_id), + CONSTRAINT `0_65` FOREIGN KEY (`os_id`) REFERENCES `os_type` (`os_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +CREATE TABLE os_class ( + class_id int(11) NOT NULL, + description varchar(255) NOT NULL, + PRIMARY KEY class_id (class_id) +) ENGINE=InnoDB; + +CREATE TABLE os_mapping ( + os_type int(11) NOT NULL, + os_class int(11) NOT NULL, + PRIMARY KEY (os_type,os_class), + KEY os_type_key (os_type), + KEY os_class_key (os_class), + CONSTRAINT `0_66` FOREIGN KEY (`os_type`) REFERENCES `os_type` (`os_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `0_67` FOREIGN KEY (`os_class`) REFERENCES `os_class` (`class_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +CREATE TABLE `locationlog` ( + `mac` varchar(17) default NULL, + `switch` varchar(17) NOT NULL default '', + `port` varchar(8) NOT NULL default '', + `vlan` varchar(50) default NULL, + `connection_type` varchar(50) NOT NULL default '', + `dot1x_username` varchar(255) NOT NULL default '', + `ssid` varchar(32) NOT NULL default '', + `start_time` datetime NOT NULL default '0000-00-00 00:00:00', + `end_time` datetime default NULL, + `switch_ip` varchar(17) DEFAULT NULL, + `switch_mac` varchar(17) DEFAULT NULL, + `stripped_user_name` varchar (255) DEFAULT NULL, + `realm` varchar (255) DEFAULT NULL, + KEY `locationlog_view_mac` (`mac`, `end_time`), + KEY `locationlog_end_time` ( `end_time`), + KEY `locationlog_view_switchport` (`switch`,`port`,`end_time`,`vlan`) +) ENGINE=InnoDB; + +CREATE TABLE `locationlog_history` ( + `mac` varchar(17) default NULL, + `switch` varchar(17) NOT NULL default '', + `port` varchar(8) NOT NULL default '', + `vlan` varchar(50) default NULL, + `connection_type` varchar(50) NOT NULL default '', + `dot1x_username` varchar(255) NOT NULL default '', + `ssid` varchar(32) NOT NULL default '', + `start_time` datetime NOT NULL default '0000-00-00 00:00:00', + `end_time` datetime default NULL, + `switch_ip` varchar(17) DEFAULT NULL, + `switch_mac` varchar(17) DEFAULT NULL, + `stripped_user_name` varchar (255) DEFAULT NULL, + `realm` varchar (255) DEFAULT NULL, + KEY `locationlog_history_view_mac` (`mac`, `end_time`), + KEY `locationlog_end_time` ( `end_time`), + KEY `locationlog_view_switchport` (`switch`,`port`,`end_time`,`vlan`) +) ENGINE=InnoDB; + +CREATE TABLE `userlog` ( + `mac` varchar(17) NOT NULL default '', + `pid` varchar(255) default NULL, + `start_time` datetime NOT NULL default '0000-00-00 00:00:00', + `end_time` datetime default NULL, + PRIMARY KEY (`mac`,`start_time`), + KEY `pid` (`pid`), + CONSTRAINT `userlog_ibfk_1` FOREIGN KEY (`mac`) REFERENCES `node` (`mac`) ON DELETE CASCADE +) ENGINE=InnoDB; + +CREATE TABLE `ifoctetslog` ( + `switch` varchar(17) NOT NULL default '', + `port` varchar(8) NOT NULL default '', + `read_time` datetime NOT NULL default '0000-00-00 00:00:00', + `mac` varchar(17) default NULL, + `ifInOctets` bigint(20) unsigned NOT NULL default '0', + `ifOutOctets` bigint(20) unsigned NOT NULL default '0', + PRIMARY KEY (`switch`,`port`,`read_time`) +) ENGINE=InnoDB; + +CREATE TABLE `traplog` ( + `switch` varchar(30) NOT NULL default '', + `ifIndex` smallint(6) NOT NULL default '0', + `parseTime` datetime NOT NULL default '0000-00-00 00:00:00', + `type` varchar(30) NOT NULL default '', + KEY `switch` (`switch`,`ifIndex`), + KEY `parseTime` (`parseTime`) +) ENGINE=InnoDB; + +CREATE TABLE `configfile` ( + `filename` varchar(255) NOT NULL, + `filecontent` text NOT NULL, + `lastmodified` datetime NOT NULL +) ENGINE=InnoDB default CHARSET=latin1; + +-- +-- Table structure for table `temporary_password` +-- + +CREATE TABLE temporary_password ( + `pid` varchar(255) NOT NULL, + `password` varchar(255) NOT NULL, + `valid_from` datetime default NULL, + `expiration` datetime NOT NULL, + `access_duration` varchar(255) default NULL, + `access_level` varchar(255) DEFAULT 'NONE', + `category` int DEFAULT NULL, + `sponsor` tinyint(1) NOT NULL default 0, + `unregdate` datetime NOT NULL default "0000-00-00 00:00:00", + PRIMARY KEY (pid) +) ENGINE=InnoDB; + +-- +-- Insert 'default' admin user +-- + +INSERT INTO `person` (pid,notes) VALUES ("admin","Default Admin User - do not delete"); +INSERT INTO temporary_password (pid, password, valid_from, expiration, access_duration, access_level, category) VALUES ('admin', 'admin', NOW(), '2038-01-01', NULL, 'ALL', NULL); + +-- +-- Trigger to delete the temp password from 'temporary_password' when deleting the pid associated with +-- + +DROP TRIGGER IF EXISTS temporary_password_delete_trigger; +DELIMITER / +CREATE TRIGGER temporary_password_delete_trigger AFTER DELETE ON person +FOR EACH ROW +BEGIN + DELETE FROM temporary_password WHERE pid = OLD.pid; +END / +DELIMITER ; + +-- +-- Table structure for table `sms_carrier` +-- +-- Source: StatusNet +-- Schema fetched on 2010-10-15 from: +-- http://gitorious.org/statusnet/mainline/blobs/raw/master/db/statusnet.sql +-- + +CREATE TABLE sms_carrier ( + id integer primary key comment 'primary key for SMS carrier', + name varchar(64) unique key comment 'name of the carrier', + email_pattern varchar(255) not null comment 'sprintf pattern for making an email address from a phone number', + created datetime not null comment 'date this record was created', + modified timestamp comment 'date this record was modified' +) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; + +-- +-- Insert data for table `sms_carrier` +-- +-- Source: StatusNet +-- Data fetched on 2011-07-20 from: +-- http://gitorious.org/statusnet/mainline/blobs/raw/master/db/sms_carrier.sql +-- + +INSERT INTO sms_carrier + (id, name, email_pattern, created) +VALUES + (100056, '3 River Wireless', '%s@sms.3rivers.net', now()), + (100057, '7-11 Speakout', '%s@cingularme.com', now()), + (100058, 'Airtel (Karnataka, India)', '%s@airtelkk.com', now()), + (100059, 'Alaska Communications Systems', '%s@msg.acsalaska.com', now()), + (100060, 'Alltel Wireless', '%s@message.alltel.com', now()), + (100061, 'AT&T Wireless', '%s@txt.att.net', now()), + (100062, 'Bell Mobility (Canada)', '%s@txt.bell.ca', now()), + (100063, 'Boost Mobile', '%s@myboostmobile.com', now()), + (100064, 'Cellular One (Dobson)', '%s@mobile.celloneusa.com', now()), + (100065, 'Cingular (Postpaid)', '%s@cingularme.com', now()), + (100066, 'Centennial Wireless', '%s@cwemail.com', now()), + (100067, 'Cingular (GoPhone prepaid)', '%s@cingularme.com', now()), + (100068, 'Claro (Nicaragua)', '%s@ideasclaro-ca.com', now()), + (100069, 'Comcel', '%s@comcel.com.co', now()), + (100070, 'Cricket', '%s@sms.mycricket.com', now()), + (100071, 'CTI', '%s@sms.ctimovil.com.ar', now()), + (100072, 'Emtel (Mauritius)', '%s@emtelworld.net', now()), + (100073, 'Fido (Canada)', '%s@fido.ca', now()), + (100074, 'General Communications Inc.', '%s@msg.gci.net', now()), + (100075, 'Globalstar', '%s@msg.globalstarusa.com', now()), + (100076, 'Helio', '%s@myhelio.com', now()), + (100077, 'Illinois Valley Cellular', '%s@ivctext.com', now()), + (100078, 'i wireless', '%s.iws@iwspcs.net', now()), + (100079, 'Meteor (Ireland)', '%s@sms.mymeteor.ie', now()), + (100080, 'Mero Mobile (Nepal)', '%s@sms.spicenepal.com', now()), + (100081, 'MetroPCS', '%s@mymetropcs.com', now()), + (100082, 'Movicom', '%s@movimensaje.com.ar', now()), + (100083, 'Mobitel (Sri Lanka)', '%s@sms.mobitel.lk', now()), + (100084, 'Movistar (Colombia)', '%s@movistar.com.co', now()), + (100085, 'MTN (South Africa)', '%s@sms.co.za', now()), + (100086, 'MTS (Canada)', '%s@text.mtsmobility.com', now()), + (100087, 'Nextel (Argentina)', '%s@nextel.net.ar', now()), + (100088, 'Orange (Poland)', '%s@orange.pl', now()), + (100089, 'Personal (Argentina)', '%s@personal-net.com.ar', now()), + (100090, 'Plus GSM (Poland)', '%s@text.plusgsm.pl', now()), + (100091, 'President\'s Choice (Canada)', '%s@txt.bell.ca', now()), + (100092, 'Qwest', '%s@qwestmp.com', now()), + (100093, 'Rogers (Canada)', '%s@pcs.rogers.com', now()), + (100094, 'Sasktel (Canada)', '%s@sms.sasktel.com', now()), + (100095, 'Setar Mobile email (Aruba)', '%s@mas.aw', now()), + (100096, 'Solo Mobile', '%s@txt.bell.ca', now()), + (100097, 'Sprint (PCS)', '%s@messaging.sprintpcs.com', now()), + (100098, 'Sprint (Nextel)', '%s@page.nextel.com', now()), + (100099, 'Suncom', '%s@tms.suncom.com', now()), + (100100, 'T-Mobile', '%s@tmomail.net', now()), + (100101, 'T-Mobile (Austria)', '%s@sms.t-mobile.at', now()), + (100102, 'Telus Mobility (Canada)', '%s@msg.telus.com', now()), + (100103, 'Thumb Cellular', '%s@sms.thumbcellular.com', now()), + (100104, 'Tigo (Formerly Ola)', '%s@sms.tigo.com.co', now()), + (100105, 'Unicel', '%s@utext.com', now()), + (100106, 'US Cellular', '%s@email.uscc.net', now()), + (100107, 'Verizon', '%s@vtext.com', now()), + (100108, 'Virgin Mobile (Canada)', '%s@vmobile.ca', now()), + (100109, 'Virgin Mobile (USA)', '%s@vmobl.com', now()), + (100110, 'YCC', '%s@sms.ycc.ru', now()), + (100111, 'Orange (UK)', '%s@orange.net', now()), + (100112, 'Cincinnati Bell Wireless', '%s@gocbw.com', now()), + (100113, 'T-Mobile Germany', '%s@t-mobile-sms.de', now()), + (100114, 'Vodafone Germany', '%s@vodafone-sms.de', now()), + (100115, 'E-Plus', '%s@smsmail.eplus.de', now()), + (100116, 'Cellular South', '%s@csouth1.com', now()), + (100117, 'ChinaMobile (139)', '%s@139.com', now()), + (100118, 'Dialog Axiata', '%s@dialog.lk', now()); + +-- Adding RADIUS nas client table + +CREATE TABLE radius_nas ( + nasname varchar(128) NOT NULL, + shortname varchar(32), + type varchar(30) default 'other', + ports int(5), + secret varchar(60) default 'secret' NOT NULL, + community varchar(50), + description varchar(200) default 'RADIUS Client', + config_timestamp BIGINT, + PRIMARY KEY nasname (nasname) +) ENGINE=InnoDB; + +-- Adding RADIUS accounting table + +CREATE TABLE radacct ( + radacctid bigint(21) NOT NULL AUTO_INCREMENT, + acctsessionid varchar(64) NOT NULL default '', + acctuniqueid varchar(32) NOT NULL default '', + username varchar(64) NOT NULL default '', + groupname varchar(64) NOT NULL default '', + realm varchar(64) default '', + nasipaddress varchar(15) NOT NULL default '', + nasportid varchar(15) default NULL, + nasporttype varchar(32) default NULL, + acctstarttime datetime NULL default NULL, + acctstoptime datetime NULL default NULL, + acctsessiontime int(12) default NULL, + acctauthentic varchar(32) default NULL, + connectinfo_start varchar(50) default NULL, + connectinfo_stop varchar(50) default NULL, + acctinputoctets bigint(20) default NULL, + acctoutputoctets bigint(20) default NULL, + calledstationid varchar(50) NOT NULL default '', + callingstationid varchar(50) NOT NULL default '', + acctterminatecause varchar(32) NOT NULL default '', + servicetype varchar(32) default NULL, + framedprotocol varchar(32) default NULL, + framedipaddress varchar(15) NOT NULL default '', + acctstartdelay int(12) default NULL, + acctstopdelay int(12) default NULL, + xascendsessionsvrkey varchar(10) default NULL, + PRIMARY KEY (radacctid), + KEY username (username), + KEY framedipaddress (framedipaddress), + KEY acctsessionid (acctsessionid), + KEY acctsessiontime (acctsessiontime), + KEY acctuniqueid (acctuniqueid), + KEY acctstarttime (acctstarttime), + KEY acctstoptime (acctstoptime), + KEY nasipaddress (nasipaddress), + KEY callingstationid (callingstationid) +) ENGINE=InnoDB; + +-- Adding RADIUS update log table + +CREATE TABLE radacct_log ( + acctsessionid varchar(64) NOT NULL default '', + username varchar(64) NOT NULL default '', + nasipaddress varchar(15) NOT NULL default '', + acctstatustype varchar(25) NOT NULL default '', + timestamp datetime NULL default NULL, + acctinputoctets bigint(20) default NULL, + acctoutputoctets bigint(20) default NULL, + acctsessiontime int(12) default NULL, + KEY acctsessionid (acctsessionid), + KEY username (username), + KEY nasipaddress (nasipaddress), + KEY timestamp (timestamp) +) ENGINE=InnoDB; + +-- Adding RADIUS Updates Stored Procedure + +DROP PROCEDURE IF EXISTS acct_update; +DELIMITER / +CREATE PROCEDURE acct_update( + IN p_timestamp datetime, + IN p_acctsessiontime int(12), + IN p_acctinputoctets bigint(20), + IN p_acctoutputoctets bigint(20), + IN p_acctsessionid varchar(64), + IN p_username varchar(64), + IN p_nasipaddress varchar(15), + IN p_framedipaddress varchar(15), + IN p_acctstatustype varchar(25) +) +BEGIN + DECLARE Previous_Input_Octets bigint(20); + DECLARE Previous_Output_Octets bigint(20); + DECLARE Previous_Session_Time int(12); + + # Collect traffic previous values in the update table + SELECT SUM(acctinputoctets), SUM(acctoutputoctets), SUM(acctsessiontime) + INTO Previous_Input_Octets, Previous_Output_Octets, Previous_Session_Time + FROM radacct_log + WHERE acctsessionid = p_acctsessionid + AND username = p_username + AND nasipaddress = p_nasipaddress; + + # Set values to 0 when no previous records + IF (Previous_Session_Time IS NULL) THEN + SET Previous_Session_Time = 0; + SET Previous_Input_Octets = 0; + SET Previous_Output_Octets = 0; + END IF; + + # Update record with new traffic + UPDATE radacct SET + framedipaddress = p_framedipaddress, + acctsessiontime = p_acctsessiontime, + acctinputoctets = p_acctinputoctets, + acctoutputoctets = p_acctoutputoctets + WHERE acctsessionid = p_acctsessionid + AND username = p_username + AND nasipaddress = p_nasipaddress + AND (acctstoptime IS NULL OR acctstoptime = 0); + + # Create new record in the log table + INSERT INTO radacct_log + (acctsessionid, username, nasipaddress, + timestamp, acctstatustype, acctinputoctets, acctoutputoctets, acctsessiontime) + VALUES + (p_acctsessionid, p_username, p_nasipaddress, + p_timestamp, p_acctstatustype, (p_acctinputoctets - Previous_Input_Octets), (p_acctoutputoctets - Previous_Output_Octets), + (p_acctsessiontime - Previous_Session_Time)); +END / +DELIMITER ; + +-- Adding RADIUS Start Stored Procedure + +DROP PROCEDURE IF EXISTS acct_start; +DELIMITER / +CREATE PROCEDURE acct_start ( + IN p_acctsessionid varchar(64), + IN p_acctuniqueid varchar(32), + IN p_username varchar(64), + IN p_realm varchar(64), + IN p_nasipaddress varchar(15), + IN p_nasportid varchar(15), + IN p_nasporttype varchar(32), + IN p_acctstarttime datetime, + IN p_acctstoptime datetime, + IN p_acctsessiontime int(12), + IN p_acctauthentic varchar(32), + IN p_connectioninfo_start varchar(50), + IN p_connectioninfo_stop varchar(50), + IN p_acctinputoctets bigint(20), + IN p_acctoutputoctets bigint(20), + IN p_calledstationid varchar(50), + IN p_callingstationid varchar(50), + IN p_acctterminatecause varchar(32), + IN p_servicetype varchar(32), + IN p_framedprotocol varchar(32), + IN p_framedipaddress varchar(15), + IN p_acctstartdelay varchar(12), + IN p_acctstopdelay varchar(12), + IN p_xascendsessionsvrkey varchar(10), + IN p_acctstatustype varchar(25) +) +BEGIN + # Insert new record with new traffic + INSERT INTO radacct + (acctsessionid, acctuniqueid, username, + realm, nasipaddress, nasportid, + nasporttype, acctstarttime, acctstoptime, + acctsessiontime, acctauthentic, connectinfo_start, + connectinfo_stop, acctinputoctets, acctoutputoctets, + calledstationid, callingstationid, acctterminatecause, + servicetype, framedprotocol, framedipaddress, + acctstartdelay, acctstopdelay, xascendsessionsvrkey) + VALUES + (p_acctsessionid, p_acctuniqueid, p_username, + p_realm, p_nasipaddress, p_nasportid, + p_nasporttype, p_acctstarttime, p_acctstoptime, + p_acctsessiontime, p_acctauthentic, p_connectioninfo_start, + p_connectioninfo_stop, p_acctinputoctets, p_acctoutputoctets, + p_calledstationid, p_callingstationid, p_acctterminatecause, + p_servicetype, p_framedprotocol, p_framedipaddress, + p_acctstartdelay, p_acctstopdelay, p_xascendsessionsvrkey); + + # Create new record in the log table + INSERT INTO radacct_log + (acctsessionid, username, nasipaddress, + timestamp, acctstatustype, acctinputoctets, acctoutputoctets, acctsessiontime) + VALUES + (p_acctsessionid, p_username, p_nasipaddress, + p_acctstarttime, p_acctstatustype,p_acctinputoctets,p_acctoutputoctets,p_acctsessiontime); +END / +DELIMITER ; + +-- Adding RADIUS Stop Stored Procedure + +DROP PROCEDURE IF EXISTS acct_stop; +DELIMITER / +CREATE PROCEDURE acct_stop( + IN p_timestamp datetime, + IN p_acctsessiontime int(12), + IN p_acctinputoctets bigint(20), + IN p_acctoutputoctets bigint(20), + IN p_acctterminatecause varchar(12), + IN p_acctdelaystop varchar(32), + IN p_connectinfo_stop varchar(50), + IN p_acctsessionid varchar(64), + IN p_username varchar(64), + IN p_nasipaddress varchar(15), + IN p_acctstatustype varchar(25) +) +BEGIN + DECLARE Previous_Input_Octets bigint(20); + DECLARE Previous_Output_Octets bigint(20); + DECLARE Previous_Session_Time int(12); + + # Collect traffic previous values in the update table + SELECT SUM(acctinputoctets), SUM(acctoutputoctets), SUM(acctsessiontime) + INTO Previous_Input_Octets, Previous_Output_Octets, Previous_Session_Time + FROM radacct_log + WHERE acctsessionid = p_acctsessionid + AND username = p_username + AND nasipaddress = p_nasipaddress; + + # Set values to 0 when no previous records + IF (Previous_Session_Time IS NULL) THEN + SET Previous_Session_Time = 0; + SET Previous_Input_Octets = 0; + SET Previous_Output_Octets = 0; + END IF; + + # Update record with new traffic + UPDATE radacct SET + acctstoptime = p_timestamp, + acctsessiontime = p_acctsessiontime, + acctinputoctets = p_acctinputoctets, + acctoutputoctets = p_acctoutputoctets, + acctterminatecause = p_acctterminatecause, + connectinfo_stop = p_connectinfo_stop + WHERE acctsessionid = p_acctsessionid + AND username = p_username + AND nasipaddress = p_nasipaddress + AND (acctstoptime IS NULL OR acctstoptime = 0); + + # Create new record in the log table + INSERT INTO radacct_log + (acctsessionid, username, nasipaddress, + timestamp, acctstatustype, acctinputoctets, acctoutputoctets, acctsessiontime) + VALUES + (p_acctsessionid, p_username, p_nasipaddress, + p_timestamp, p_acctstatustype, (p_acctinputoctets - Previous_Input_Octets), (p_acctoutputoctets - Previous_Output_Octets), + (p_acctsessiontime - Previous_Session_Time)); +END / +DELIMITER ; + +-- +-- Statement of Health (SoH) related +-- +-- The web interface allows you to create any number of named filters, +-- which are a collection of rules. A rule is a specific condition that +-- must be satisfied by the statement of health, e.g. "anti-virus is not +-- installed". The rules in a filter are ANDed together to determine if +-- the specified action is to be executed. + +-- +-- One entry per filter. +-- + +CREATE TABLE soh_filters ( + filter_id int NOT NULL PRIMARY KEY AUTO_INCREMENT, + name varchar(32) NOT NULL UNIQUE, + + -- If action is null, this filter won't do anything. Otherwise this + -- column may have any value; "accept" and "violation" are currently + -- recognised and acted upon. + action varchar(32), + + -- If action = 'violation', then this column contains the vid of a + -- violation to trigger. (I wish I could write a constraint to + -- express this.) + vid int +) ENGINE=InnoDB; + +INSERT INTO soh_filters (name) VALUES ('Default'); + +-- +-- One entry for each rule in a filter. +-- + +CREATE TABLE soh_filter_rules ( + rule_id int NOT NULL PRIMARY KEY AUTO_INCREMENT, + + filter_id int NOT NULL, + FOREIGN KEY (filter_id) REFERENCES soh_filters (filter_id) + ON DELETE CASCADE, + + -- Any valid health class, e.g. "antivirus" + class varchar(32) NOT NULL, + + -- Must be 'is' or 'is not' + op varchar(16) NOT NULL, + + -- May be 'ok', 'installed', 'enabled', 'disabled', 'uptodate', + -- 'microsoft' for now; more values may be used in future. + status varchar(16) NOT NULL +) ENGINE=InnoDB; + +-- +-- Table structure for table `scan` +-- + +CREATE TABLE scan ( + id varchar(20) NOT NULL, + ip varchar(255) NOT NULL, + mac varchar(17) NOT NULL, + type varchar(255) NOT NULL, + start_date datetime NOT NULL, + update_date timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP, + status varchar(255) NOT NULL, + report_id varchar(255) NOT NULL, + PRIMARY KEY (id) +) ENGINE=InnoDB; + +-- +-- Table structure for table `billing` +-- + +CREATE TABLE billing ( + id varchar(20) NOT NULL, + ip varchar(255) NOT NULL, + mac varchar(17) NOT NULL, + type varchar(255) NOT NULL, + start_date datetime NOT NULL, + update_date timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP, + status varchar(255) NOT NULL, + item varchar(255) NOT NULL, + price varchar(255) NOT NULL, + person varchar(255) NOT NULL, + PRIMARY KEY (id) +) ENGINE=InnoDB; + +-- +-- Table structure for table `savedsearch` +-- + +CREATE TABLE savedsearch ( + id int NOT NULL AUTO_INCREMENT, + pid varchar(255) NOT NULL, + namespace varchar(255) NOT NULL, + name varchar(255) NOT NULL, + query text, + in_dashboard tinyint, + PRIMARY KEY (id) +) ENGINE=InnoDB; + +-- +-- Table structure for table +-- + +CREATE TABLE inline_accounting ( + outbytes bigint unsigned NOT NULL DEFAULT '0' COMMENT 'orig_raw_pktlen', + inbytes bigint unsigned NOT NULL DEFAULT '0' COMMENT 'reply_raw_pktlen', + ip varchar(16) NOT NULL, + firstseen DATETIME NOT NULL, + lastmodified DATETIME NOT NULL, + status int unsigned NOT NULL default 0, + PRIMARY KEY (ip, firstseen), + INDEX (ip) + ) ENGINE=InnoDB; + +-- +-- Table structure for wrix +-- + +CREATE TABLE wrix ( + id varchar(255) NOT NULL, + `Provider_Identifier` varchar(255) NULL DEFAULT NULL, + `Location_Identifier` varchar(255) NULL DEFAULT NULL, + `Service_Provider_Brand` varchar(255) NULL DEFAULT NULL, + `Location_Type` varchar(255) NULL DEFAULT NULL, + `Sub_Location_Type` varchar(255) NULL DEFAULT NULL, + `English_Location_Name` varchar(255) NULL DEFAULT NULL, + `Location_Address1` varchar(255) NULL DEFAULT NULL, + `Location_Address2` varchar(255) NULL DEFAULT NULL, + `English_Location_City` varchar(255) NULL DEFAULT NULL, + `Location_Zip_Postal_Code` varchar(255) NULL DEFAULT NULL, + `Location_State_Province_Name` varchar(255) NULL DEFAULT NULL, + `Location_Country_Name` varchar(255) NULL DEFAULT NULL, + `Location_Phone_Number` varchar(255) NULL DEFAULT NULL, + `SSID_Open_Auth` varchar(255) NULL DEFAULT NULL, + `SSID_Broadcasted` varchar(255) NULL DEFAULT NULL, + `WEP_Key` varchar(255) NULL DEFAULT NULL, + `WEP_Key_Entry_Method` varchar(255) NULL DEFAULT NULL, + `WEP_Key_Size` varchar(255) NULL DEFAULT NULL, + `SSID_1X` varchar(255) NULL DEFAULT NULL, + `SSID_1X_Broadcasted` varchar(255) NULL DEFAULT NULL, + `Security_Protocol_1X` varchar(255) NULL DEFAULT NULL, + `Client_Support` varchar(255) NULL DEFAULT NULL, + `Restricted_Access` varchar(255) NULL DEFAULT NULL, + `Location_URL` varchar(255) NULL DEFAULT NULL, + `Coverage_Area` varchar(255) NULL DEFAULT NULL, + `Open_Monday` varchar(255) NULL DEFAULT NULL, + `Open_Tuesday` varchar(255) NULL DEFAULT NULL, + `Open_Wednesday` varchar(255) NULL DEFAULT NULL, + `Open_Thursday` varchar(255) NULL DEFAULT NULL, + `Open_Friday` varchar(255) NULL DEFAULT NULL, + `Open_Saturday` varchar(255) NULL DEFAULT NULL, + `Open_Sunday` varchar(255) NULL DEFAULT NULL, + `Longitude` varchar(255) NULL DEFAULT NULL, + `Latitude` varchar(255) NULL DEFAULT NULL, + `UTC_Timezone` varchar(255) NULL DEFAULT NULL, + `MAC_Address` varchar(255) NULL DEFAULT NULL, + PRIMARY KEY (id) +) ENGINE=InnoDB; + +-- +-- Table structure for table `activation` +-- + +CREATE TABLE activation ( + `code_id` int NOT NULL AUTO_INCREMENT, + `pid` varchar(255) default NULL, + `mac` varchar(17) default NULL, + `contact_info` varchar(255) NOT NULL, -- email or phone number were approbation request is sent + `carrier_id` int(11) NULL, + `activation_code` varchar(255) NOT NULL, + `expiration` datetime NOT NULL, + `status` varchar(60) default NULL, + `type` varchar(60) NOT NULL, + `portal` varchar(255) default NULL, + PRIMARY KEY (code_id), + KEY `mac` (mac), + KEY `identifier` (pid, mac), + KEY `activation` (activation_code, status) +) ENGINE=InnoDB; + diff --git a/db/upgrade-4.6.0-4.7.0.sql b/db/upgrade-4.6.0-4.7.0.sql new file mode 100644 index 000000000000..5e2023585331 --- /dev/null +++ b/db/upgrade-4.6.0-4.7.0.sql @@ -0,0 +1,10 @@ +-- +-- PacketFence SQL schema upgrade from X.X.X to X.Y.Z +-- + +-- +-- Alter for machine_account +-- + +ALTER TABLE node + ADD `machine_account` varchar(255) DEFAULT NULL; diff --git a/debian/changelog b/debian/changelog index 3e2fe08a40b7..24a0af9755be 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +packetfence (4.7.0) unstable; urgency=low + + * Version 4.7.0 + + -- Inverse Fri, 06 Mar 2015 12:00:00 -0400 + packetfence (4.6.1) unstable; urgency=low * Version 4.6.1 diff --git a/debian/control b/debian/control index 71f2ce72d477..d114d7d675e2 100644 --- a/debian/control +++ b/debian/control @@ -12,7 +12,7 @@ Package: packetfence Architecture: all # TODO: We can probably move these in Depends since 3.5.0 (managed RADIUS feature) Pre-Depends: ca-certificates, freeradius (>= 2.2.5), freeradius-ldap, freeradius-postgresql, - freeradius-mysql, freeradius-krb5, dhcp3-server, ca-certificates + freeradius-mysql, freeradius-krb5, dhcp3-server, ca-certificates, packetfence-pfcmd-suid, packetfence-config Breaks: libdata-alias-perl Depends: ${misc:Depends}, vlan, make, openssl, openssl-blacklist, openssl-blacklist-extra, @@ -57,7 +57,7 @@ Depends: ${misc:Depends}, vlan, make, perl-modules,libdata-swap-perl,libdata-structure-util-perl, liblinux-fd-perl, liblinux-inotify2-perl, libfile-touch-perl, libhash-merge-perl, libcrypt-openssl-x509-perl,libconst-fast-perl, - libtime-period-perl, libsereal-encoder-perl, libsereal-decoder-perl, libdata-serializer-sereal-perl (>= 1.04), + libtime-period-perl, libsereal-encoder-perl, libsereal-decoder-perl, libdata-serializer-sereal-perl (>= 1.04), libphp-serialization-perl, # hard-coded to specific version because v3 broke the API and we haven't ported to it yet # see #1313: Port our Net-Appliance-Session to the version 3 API # http://packetfence.org/bugs/view.php?id=1313 @@ -100,9 +100,7 @@ Depends: ${misc:Depends}, vlan, make, libauthen-radius-perl, libauthen-krb5-simple-perl, # used by bin/pftest libio-interactive-perl, -# required for perl 5.12+ (made perl setuid optional) and most distros went without it - packetfence-pfcmd-suid -Recommends: freeradius (>= 2.2.5), freeradius-ldap, freeradius-postgresql, freeradius-mysql, freeradius-krb5, isc-dhcp-server | dhcp3-server, snort | suricata +Recommends: freeradius (>= 2.2.5), freeradius-ldap, freeradius-postgresql, freeradius-mysql, freeradius-krb5, isc-dhcp-server | dhcp3-server Description: PacketFence network registration / worm mitigation system PacketFence is an open source network access control (NAC) system. It can be used to effectively secure networks, from small to very large @@ -142,7 +140,7 @@ Description: Test suite for packetfence Package: packetfence-pfcmd-suid Architecture: any -Depends: ${misc:Depends}, ${shlibs:Depends}, packetfence (>= 3.6.0) +Depends: ${misc:Depends}, ${shlibs:Depends} Replaces: packetfence (<< 3.6.0) Breaks: packetfence (<< 3.6.0) Description: C wrapper that replace perl-suid dependence @@ -158,3 +156,8 @@ Depends: ${misc:Depends}, libfile-tail-perl, libconfig-inifiles-perl (>= 2.4.0), Conflicts: packetfence Description: Files needed for sending MAC and IP from ARP requeststo PacketFence server. + +Package: packetfence-config +Architecture: all +Depends: ${misc:Depends}, libcache-bdb-perl, liblog-fast-perl +Description: Service use to manage PacketFence configuration. diff --git a/debian/packetfence-config.init b/debian/packetfence-config.init new file mode 100644 index 000000000000..37a2796078ba --- /dev/null +++ b/debian/packetfence-config.init @@ -0,0 +1,139 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: packetfence-config +# Required-Start: $network $local_fs +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: +# Description: +# <...> +# <...> +### END INIT INFO + +# Author: Inverse inc. + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC=packetfence-config # Introduce a short description here +NAME=packetfence-config # Introduce the short server's name here +DAEMON=/usr/local/pf/sbin/pfconfig # Introduce the server's location here +SCRIPTNAME=/etc/init.d/$NAME +PROGBASE="$(basename ${DAEMON})" +DAEMON_ARGS="-d" +PIDDIR=/usr/local/pf/var/run/ +PIDFILE=$PIDDIR/pfconfig.pid +USER=pf +GROUP=pf + +# Exit if the package is not installed +[ -x $DAEMON ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + if [ ! -d $PIDDIR ] + then + mkdir $PIDDIR + fi + chown $USER:$GROUP $PIDDIR + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test --chuid $USER > /dev/null || return 1 + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --chuid $USER -- $DAEMON_ARGS > /dev/null || return 2 + # || return 0 + # Add code here, if necessary, that waits for the process to be ready + # to handle requests from services started subsequently which depend + # on this one. As a last resort, sleep for some time. + return 0 +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + killproc -p "$PIDFILE" "$DAEMON" + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return 0 +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME" + if [ -e /usr/local/pf/conf/pf-release ]; then + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + else + log_end_msg 1 + fi + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/debian/packetfence-config.postinst b/debian/packetfence-config.postinst new file mode 100644 index 000000000000..27bd453f4f44 --- /dev/null +++ b/debian/packetfence-config.postinst @@ -0,0 +1,35 @@ +#!/bin/sh +# postinst script for packetfence-config +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + update-rc.d packetfence-config defaults 60 || exit 0 + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/packetfence-config.postrm b/debian/packetfence-config.postrm new file mode 100644 index 000000000000..cf5f10b54e0f --- /dev/null +++ b/debian/packetfence-config.postrm @@ -0,0 +1,51 @@ +#!/bin/sh +# postrm script for packetfence-config +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + remove) + #Stop packetfence-config + if [ -x /etc/init.d/packetfence-config ]; then + invoke-rc.d packetfence-config stop + fi + # removing init scripts + if [ -e /etc/lsb-release ]; then + update-rc.d -f packetfence-config remove > /dev/null 2>&1 + else + update-rc.d packetfence-config remove > /dev/null 2>&1 + fi + ;; + purge) + ;; + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/packetfence-config.preinst b/debian/packetfence-config.preinst new file mode 100644 index 000000000000..aed410c86704 --- /dev/null +++ b/debian/packetfence-config.preinst @@ -0,0 +1,48 @@ +#!/bin/sh +# preinst script for packetfence-config +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install) + if grep -E "^pf:" /etc/passwd > /dev/null ; then + echo "pf user already exist" + else + useradd -r -d "/usr/local/pf" -s /bin/sh -c "PacketFence" -M pf + echo "create pf user" + fi + exit 0 + ;; + upgrade) + stop_service_if_exists packetfence-config + if [ -d "/usr/local/pf/var/cache/pfconfig" ] ; then + rm -fr /usr/local/pf/var/cache/pfconfig/ + fi + exit 0 + ;; + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/packetfence-config.prerm b/debian/packetfence-config.prerm new file mode 100644 index 000000000000..1c65fc70e77f --- /dev/null +++ b/debian/packetfence-config.prerm @@ -0,0 +1,44 @@ +#!/bin/sh +# prerm script for packetfence-config +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + upgrade|deconfigure) + ;; + + remove) + if [ -x "/etc/init.d/packetfence-config" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d packetfence-config stop || exit $? + else + /etc/init.d/packetfence-config stop || exit $? + fi + fi + ;; + +# End automatically added sectio + failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/packetfence.conffiles b/debian/packetfence.conffiles index 20457a17233b..240047773a83 100644 --- a/debian/packetfence.conffiles +++ b/debian/packetfence.conffiles @@ -108,6 +108,39 @@ /usr/local/pf/html/captive-portal/templates/guest.html /usr/local/pf/html/captive-portal/templates/register.html /usr/local/pf/html/captive-portal/templates/aup.html +/usr/local/pf/html/pfappserver/pfappserver.conf +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Admin.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/AdminRoles.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Authentication.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Authentication/Source.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Fingerprints.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Firewall_SSO.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/FloatingDevice.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/MacAddress.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Networks.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Pf.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Profile/Default.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Profile.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Provisioning.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Realm.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Switch.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/System.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Configuration.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Configurator.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/UserAgents.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Config/Wrix.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/DB.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Graph.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Interface.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Node.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Roles.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Root.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/SavedSearch/Node.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/SavedSearch/User.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Service.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/SoH.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/User.pm +/usr/local/pf/html/pfappserver/lib/pfappserver/Controller/Violation.pm /usr/local/pf/lib/pf/billing/custom.pm /usr/local/pf/lib/pf/floatingdevice/custom.pm /usr/local/pf/lib/pf/inline/custom.pm diff --git a/debian/packetfence.init b/debian/packetfence.init index 954e3064059d..eae737054fb0 100644 --- a/debian/packetfence.init +++ b/debian/packetfence.init @@ -1,7 +1,7 @@ #!/bin/sh ### BEGIN INIT INFO # Provides: packetfence -# Required-Start: mysql $network $local_fs +# Required-Start: packetfence-config mysql $network $local_fs # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 @@ -48,6 +48,7 @@ do_start() # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started + pfconfig if [ `find /lib/modules/$UNAME/ -name ip_set.ko` ] then modprobe ip_set @@ -70,6 +71,7 @@ do_stop() # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred + pfconfig $DAEMON service pf stop # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. @@ -91,10 +93,20 @@ do_reload() { # restarting (for example, when it is sent a SIGHUP), # then implement that here. # + pfconfig $DAEMON service pf restart > /dev/null return 0 } +pfconfig() { + # Check if packetfence-config is started + if [ ! -f /usr/local/pf/var/run/pfconfig.pid ] || ! ps -p $(cat /usr/local/pf/var/run/pfconfig.pid) > /dev/null; then + if [ -f /etc/init.d/packetfence-config ]; then + /etc/init.d/packetfence-config start + fi + fi +} + case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $NAME" @@ -113,6 +125,7 @@ case "$1" in esac ;; status) + pfconfig /usr/local/pf/bin/pfcmd service pf status if [ ! -f /usr/local/pf/var/run/pfmon.pid ]; then exit 3 diff --git a/debian/packetfence.postinst b/debian/packetfence.postinst index 074e8367005d..15693707c6e6 100644 --- a/debian/packetfence.postinst +++ b/debian/packetfence.postinst @@ -108,6 +108,7 @@ case "$1" in echo 'Defaults:pf !requiretty' >> /etc/sudoers fi /usr/local/pf/bin/pfcmd configreload + service packetfence-config restart update-rc.d packetfence defaults 60 || exit 0 echo "* Please fire up your Web browser and go to https://@ip_packetfence:1443/configurator to complete your PacketFence configuration." echo "* Please stop your iptables service if you don't have access to configurator." diff --git a/debian/packetfence.postrm b/debian/packetfence.postrm index 35a985a4b3bb..f9ae72c7728b 100644 --- a/debian/packetfence.postrm +++ b/debian/packetfence.postrm @@ -28,16 +28,30 @@ case "$1" in if [ -x /etc/init.d/packetfence ]; then invoke-rc.d packetfence stop fi + set +e userdel pf + if [ $? -ne 0 ]; then + echo "Unable to remove pf user" + fi if [ -e /etc/lsb-release ]; then groupdel pf + if [ $? -ne 0 ]; then + echo "Unable to remove pf group" + fi + fi + set -e + # removing init scripts + if [ -e /etc/lsb-release ]; then + update-rc.d -f packetfence remove > /dev/null 2>&1 + else + update-rc.d packetfence remove > /dev/null 2>&1 fi + # removing init scripts ;; purge) - # removing init scripts - update-rc.d -f packetfence remove >/dev/null || exit 0 # purging all files - rm -fr /usr/local/pf + # /usr/bin/find /usr/local/pf ! -path "*pfconfig*" ! -type d|sort|xargs rm + /usr/bin/find /usr/local/pf ! -path "*pfconfig*" ! -path "/usr/local/pf" ! -path "usr/local/pf/lib" ! -path "/usr/local/pf/bin" ! -path "/usr/local/pf/bin/pfcmd" -type d|sort -r|xargs rm -r ;; *) echo "postrm called with unknown argument \`$1'" >&2 diff --git a/debian/packetfence.prerm b/debian/packetfence.prerm index 179375a3e075..32873c1c3e0b 100644 --- a/debian/packetfence.prerm +++ b/debian/packetfence.prerm @@ -41,9 +41,4 @@ case "$1" in ;; esac -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - exit 0 diff --git a/debian/rules b/debian/rules index deed905cc62c..8159ae2b0845 100755 --- a/debian/rules +++ b/debian/rules @@ -48,10 +48,10 @@ install: build done # Install all except debian and t directory - for i in `find * ! -path 'debian/*' ! -path 'debian' ! -path 't/*' ! -path 't' -type d`; do \ + for i in `find * ! -path 'debian/*' ! -path 'debian' ! -path 't/*' ! -path 't' ! -path 'lib/pfconfig/*' ! -path 'lib/pfconfig' ! -path 'sbin/pfconfig' -type d`; do \ install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/$$i; \ done - for i in `find * ! -path 'debian/*' ! -path 'debian' ! -path 't/*' ! -path 't' ! -type d`; do \ + for i in `find * ! -path 'debian/*' ! -path 'debian' ! -path 't/*' ! -path 't' ! -path 'lib/pfconfig/*' ! -path 'lib/pfconfig' ! -path 'sbin/pfconfig' ! -type d`; do \ $(INSTALL) $$i $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/$$i; \ done for i in `find * -path 't*' -type d`; do \ @@ -60,7 +60,12 @@ install: build for i in `find * -path 't*' ! -type d`; do \ $(INSTALL) $$i $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/$$i; \ done - + for i in `find * -path 'lib/pfconfig*' -type d`; do \ + install -d -m0700 $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/$$i; \ + done + for i in `find * -path 'lib/pfconfig/*' ! -type d`; do \ + $(INSTALL) $$i $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/$$i; \ + done # generate translations # TODO this is duplicated in our RPM spec, we should aim to consolidate in a 'make' style step for TRANSLATION in de en es fr he_IL it nl pl_PL pt_BR; do \ @@ -84,6 +89,8 @@ install: build install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/rrd install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/session install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/webadmin_cache + install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/cache/configfiles + install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/cache/configfilesdata touch $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/cache_control #Configurator integration install -d -m0700 $(CURDIR)/debian/packetfence/etc/init.d @@ -105,6 +112,9 @@ install: build #PacketFence pfcmd suid install -d -m0755 $(CURDIR)/debian/packetfence-pfcmd-suid$(PREFIX)/$(NAME)/bin gcc src/pfcmd.c -o $(CURDIR)/debian/packetfence-pfcmd-suid$(PREFIX)/$(NAME)/bin/pfcmd + install -d $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/sbin + install -d -m2770 $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/var/cache/pfconfig + install -m0755 sbin/pfconfig $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/sbin echo $(C_ID) > $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/conf/git_commit_id # Install our logrotate file into debian/ so dh_installlogrotate will be able to do it's magic install addons/logrotate $(CURDIR)/debian/packetfence.logrotate @@ -164,6 +174,8 @@ binary-arch: build install #chown dhcpd:dhcpd $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/dhcpd/dhcpd.leases chown root:root $(CURDIR)/debian/packetfence-pfcmd-suid$(PREFIX)/$(NAME)/bin/pfcmd chmod ug+s $(CURDIR)/debian/packetfence-pfcmd-suid$(PREFIX)/$(NAME)/bin/pfcmd + #pfconfig + chmod 0755 $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/sbin/* # dh_perl dh_makeshlibs dh_installdeb diff --git a/docs/PacketFence_Administration_Guide.asciidoc b/docs/PacketFence_Administration_Guide.asciidoc index 791491d5782f..53703463edd7 100644 --- a/docs/PacketFence_Administration_Guide.asciidoc +++ b/docs/PacketFence_Administration_Guide.asciidoc @@ -354,7 +354,7 @@ Important parameters to configure regarding the captive portal are the following * Redirect URL under *Configuration -> Portal Profile -> Portal Name* -For some browsers, is it preferable to redirect the user to a specific URL instead of the URL the user originally intended to visit. For these browsers, the URL defined in `redirecturl` will be the one where the user will be redirected. Affected browsers are Firefox 3 and later. +For some browsers, it is preferable to redirect the user to a specific URL instead of the URL the user originally intended to visit. For these browsers, the URL defined in `redirecturl` will be the one where the user will be redirected. Affected browsers are Firefox 3 and later. * IP under *Configuration -> Captive portal* diff --git a/docs/docinfo.xml b/docs/docinfo.xml index b67e232058d1..63771bbcee34 100644 --- a/docs/docinfo.xml +++ b/docs/docinfo.xml @@ -1,7 +1,7 @@ -Version 4.6.1 - Feb 2015 -for PacketFence version 4.6.1 -2015-02-19 +Version 4.7.0 - Mar 2015 +for PacketFence version 4.7.0 +2015-03-06 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". diff --git a/docs/includes/global-attributes.asciidoc b/docs/includes/global-attributes.asciidoc index f6ff67880474..0ee7afee8a26 100644 --- a/docs/includes/global-attributes.asciidoc +++ b/docs/includes/global-attributes.asciidoc @@ -13,6 +13,6 @@ // TODO have the build system take care of this -:release_version: 4.6.1 +:release_version: 4.7.0 // vim: set syntax=asciidoc tabstop=2 shiftwidth=2 expandtab: diff --git a/html/captive-portal/lib/captiveportal/Base/Controller.pm b/html/captive-portal/lib/captiveportal/Base/Controller.pm index 5a995b233743..fa4039e83849 100644 --- a/html/captive-portal/lib/captiveportal/Base/Controller.pm +++ b/html/captive-portal/lib/captiveportal/Base/Controller.pm @@ -37,6 +37,7 @@ sub showError { } else { $text_message = i18n($error); } + utf8::decode($text_message); $c->stash( template => 'error.html', txt_message => $text_message, diff --git a/html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm b/html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm index caa01975ece1..f19dc47e7716 100644 --- a/html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm +++ b/html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm @@ -63,7 +63,7 @@ sub code : Path : Args(1) { || ref($activation_record) ne 'HASH' || !defined( $activation_record->{'type'} ) ) { - $c->error( + $self->showError($c, "The activation code provided is invalid." . " Reasons could be: it never existed, it was already used or has expired." ); @@ -104,6 +104,10 @@ TODO: documention sub login : Private { my ( $self, $c ) = @_; + if ( $c->has_errors ) { + $c->stash->{txt_auth_error} = join(' ', grep { ref ($_) eq '' } @{$c->error}); + $c->clear_errors; + } $c->stash( template => $pf::web::guest::SPONSOR_LOGIN_TEMPLATE, username => $c->request->param_encoded("username"), @@ -141,7 +145,7 @@ sub doEmailRegistration : Private { my %info; $c->session->{"username"} = $pid; $c->session->{source_id} = $source->{id}; - $c->stash->{info}=\%info; + $c->stash->{info}=\%info; $c->forward('Authenticate' => 'postAuthentication'); $c->forward('Authenticate' => 'createLocalAccount', [$auth_params]) if ( isenabled($source->{create_local_account}) ); @@ -157,21 +161,21 @@ sub doEmailRegistration : Private { $c->stash( template => $pf::web::guest::EMAIL_CONFIRMED_TEMPLATE, - expiration => $c->stash->{info}{unregdate} + expiration => $c->stash->{info}{unregdate} ); - } + } # Pre-registration email guests self-registration - # if we don't have the MAC it means it's a preregister guest generate a password and send + # if we don't have the MAC it means it's a preregister guest generate a password and send # an email with an access code else { my %info = ( 'pid' => $pid, 'email' => $email, - 'subject' => i18n_format( + 'subject' => utf8::decode(i18n_format( "%s: Guest access confirmed!", $Config{'general'}{'domain'} - ), + )), 'currentdate' => POSIX::strftime( "%m/%d/%y %H:%M:%S", localtime ) ); @@ -251,6 +255,18 @@ sub doSponsorRegistration : Private { $c->forward(Authenticate => 'authenticationLogin'); $c->detach('login') if $c->has_errors; } + # Verify if the user has the role mark as sponsor + my $source_match = $c->session->{source_match} || $c->session->{source_id}; + my $value = &pf::authentication::match($source_match, {username => $c->session->{"username"}}, + $Actions::MARK_AS_SPONSOR); + unless (defined $value) { + $c->log->error( $c->session->{"username"} . " does not have permission to sponsor a user" ); + $c->session->{username} = undef; + $self->showError($c,"does not have permission to sponsor a user"); + $c->detach('login'); + } + + # handling log out (not exposed to the UI at this point) # TODO: if we ever expose it, we'll need to alter the form action to make sure to trim it @@ -277,7 +293,7 @@ sub doSponsorRegistration : Private { $logger->warn( "Problem finding more information about a MAC address ($node_mac) to enable guest access" ); - $self->showError( + $self->showError($c, "There was a problem trying to find the computer to register. The problem has been logged." ); } @@ -285,9 +301,9 @@ sub doSponsorRegistration : Private { $logger->warn( "node mac: $node_mac has already been registered."); - $self->showError( - "The device with MAC address %s has already been authorized to your network.", - $node_mac + $self->showError($c, + ["The device with MAC address %s has already been authorized to your network.", + $node_mac] ); } @@ -296,13 +312,14 @@ sub doSponsorRegistration : Private { $c->session->{"username"} = $pid; $c->session->{source_id} = $source->{id}; + $c->session->{source_match} = undef; $c->stash->{info}=\%info; $c->forward('Authenticate' => 'postAuthentication'); $c->forward('Authenticate' => 'createLocalAccount', [$auth_params]) if ( isenabled($source->{create_local_account}) ); $c->forward('CaptivePortal' => 'webNodeRegister', [$pid, %{$c->stash->{info}}]); # We send email to the guest confirming that network access has been enabled - $template = $pf::web::guest::TEMPLATE_EMAIL_GUEST_ON_REGISTRATION; + $template = $pf::web::guest::TEMPLATE_EMAIL_SPONSOR_CONFIRMED; $info{'email'} = $info{'pid'}; $info{'subject'} = i18n_format("%s: Guest network access enabled", $Config{'general'}{'domain'}); pf::web::guest::send_template_email($template, $info{'subject'}, \%info); diff --git a/html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Sms.pm b/html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Sms.pm index f64cc11c90e3..672b9f5948e1 100644 --- a/html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Sms.pm +++ b/html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Sms.pm @@ -50,6 +50,7 @@ sub index : Path : Args(0) { if ( $auth_return != 1 ) { $c->stash( txt_auth_error => i18n_format( $GUEST::ERRORS{$err} ) ); + utf8::decode($c->stash->{'txt_auth_error'}); $c->detach('showSmsConfirmation'); } my $profile = $c->profile; @@ -132,6 +133,7 @@ sub sms_validation { $logger->info("Max tries reached invalidating code for $mac"); pf::activation::invalidate_codes_for_mac($mac,'sms'); $c->stash(txt_validation_error => i18n_format($GUEST::ERRORS{$GUEST::ERROR_MAX_RETRIES})); + utf8::decode($c->stash->{'txt_auth_error'}); $c->detach(Signup => 'index'); } if (pf::activation::validate_code($pin)) { diff --git a/html/captive-portal/lib/captiveportal/PacketFence/Controller/Authenticate.pm b/html/captive-portal/lib/captiveportal/PacketFence/Controller/Authenticate.pm index 02518b77fde6..b013708e2fdf 100644 --- a/html/captive-portal/lib/captiveportal/PacketFence/Controller/Authenticate.pm +++ b/html/captive-portal/lib/captiveportal/PacketFence/Controller/Authenticate.pm @@ -78,7 +78,7 @@ sub modeToPath { sub default : Path { my ( $self, $c ) = @_; - $c->error("error: incorrect mode"); + $self->showError($c,"error: incorrect mode"); } sub next_page : Local : Args(0) { @@ -125,7 +125,7 @@ sub next_page : Local : Args(0) { $c->stash->{template} = 'register.html'; } else { - $c->error( "error: invalid page number" ); + $self->showError($c,"error: invalid page number" ); } } @@ -140,7 +140,7 @@ sub deregister : Local : Args(0) { if ( $c->session->{username} eq $pid ) { pf::node::node_deregister($mac); } else { - $c->error( "error: access denied not owner" ); + $self->showError($c,"error: access denied not owner" ); } } else { $c->forward('login'); @@ -309,6 +309,7 @@ sub setRole : Private { my $info = $c->stash->{info}; my $pid = $info->{pid}; my $source_match = $session->{source_match} || $session->{source_id}; + # obtain node information provided by authentication module. We need to get the role (category here) # as web_node_register() might not work if we've reached the limit my $value = @@ -319,7 +320,8 @@ sub setRole : Private { $logger->debug("Got role '$value' for username \"$pid\""); $info->{category} = $value; } else { - $logger->debug("Got no role for username \"$pid\""); + $logger->info("Got no role for username \"$pid\""); + $self->showError($c, "You do not have the permission to register a device with this username."); } } @@ -353,6 +355,10 @@ sub setUnRegDate : Private { $logger->debug("Got unregdate $value for username \"$pid\""); $info->{unregdate} = $value; } + else { + $logger->info("Got no unregdate for username \"$pid\""); + $self->showError($c, "The username you have used does not match any configured unregistration date."); + } # We put the unregistration date in session since we may want to use it later in the flow $c->session->{unregdate} = $info->{unregdate}; @@ -437,7 +443,7 @@ sub validateLogin : Private { my $aup_signed = $request->param("aup_signed"); if ( !defined($aup_signed) || !$aup_signed ) { - $c->error('You need to accept the terms before proceeding any further.'); + $self->showError($c,'You need to accept the terms before proceeding any further.'); $c->detach('showLogin'); } } else { diff --git a/html/captive-portal/lib/captiveportal/PacketFence/Controller/CaptivePortal.pm b/html/captive-portal/lib/captiveportal/PacketFence/Controller/CaptivePortal.pm index 77232d56163c..b0072e88f5a2 100644 --- a/html/captive-portal/lib/captiveportal/PacketFence/Controller/CaptivePortal.pm +++ b/html/captive-portal/lib/captiveportal/PacketFence/Controller/CaptivePortal.pm @@ -210,22 +210,21 @@ sub checkIfNeedsToRegister : Private { $c->stash(unreg => $unreg,); if ($unreg && isenabled($Config{'trapping'}{'registration'})) { - $logger->info("[$mac] redirected to ".$profile->name); # Redirect to the billing engine if enabled if (isenabled($portalSession->profile->getBillingEngine)) { - $logger->info("[$mac] redirected to billing page"); + $logger->info("[$mac] redirected to billing page on ".$profile->name." portal"); $c->detach('Pay' => 'index'); } elsif ( $profile->nbregpages > 0 ) { $logger->info( - "[$mac] redirected to multi-page registration process"); + "[$mac] redirected to multi-page registration process on ".$profile->name." portal"); $c->detach('Authenticate', 'next_page'); } elsif ($portalSession->profile->guestRegistrationOnly) { # Redirect to the guests self registration page if configured to do so - $logger->info("[$mac] redirected to guests self registration page"); + $logger->info("[$mac] redirected to guests self registration page on ".$profile->name." portal"); $c->detach('Signup' => 'index'); } else { - $logger->info("[$mac] redirected to authentication page"); + $logger->info("[$mac] redirected to authentication page on ".$profile->name." portal"); $c->detach('Authenticate', 'index'); } } diff --git a/html/captive-portal/lib/captiveportal/PacketFence/Controller/DeviceRegistration.pm b/html/captive-portal/lib/captiveportal/PacketFence/Controller/DeviceRegistration.pm index a1923e7f6e34..2926d5e489af 100644 --- a/html/captive-portal/lib/captiveportal/PacketFence/Controller/DeviceRegistration.pm +++ b/html/captive-portal/lib/captiveportal/PacketFence/Controller/DeviceRegistration.pm @@ -28,7 +28,7 @@ sub begin : Private { my ( $self, $c ) = @_; if (isdisabled( $Config{'registration'}{'device_registration'} ) ) { - $c->error( "Device registration module is not enabled" ); + $self->showError($c,"Device registration module is not enabled" ); $c->detach; } $c->stash->{console_types} = \@pf::web::device_registration::DEVICE_TYPES; @@ -49,7 +49,7 @@ sub index : Path : Args(0) { # Verify if user is authenticated $c->forward('userNotLoggedIn'); } elsif ( $request->param('cancel') ) { - $c->error('Registration canceled. Please try again.'); + $self->showError($c,"Registration canceled. Please try again."); $c->delete_session; $c->detach('login'); } elsif ( $request->param('device_mac') ) { @@ -65,7 +65,7 @@ sub index : Path : Args(0) { $c->detach('landing'); } } else { - $c->stash(txt_auth_error => "Please verify the provided MAC address."); + $c->stash(txt_auth_error => i18n_format("Please verify the provided MAC address.")); } } # User is authenticated so display registration page @@ -133,7 +133,7 @@ sub registerNode : Private { if ( pf::web::device_registration::is_allowed($mac) ) { my ($node) = node_view($mac); if( $node && $node->{status} ne $pf::node::STATUS_UNREGISTERED ) { - $c->error("$mac is already registered or pending to be registered. Please verify MAC address if correct contact your network administrator"); + $self->showError($c,"$mac is already registered or pending to be registered. Please verify MAC address if correct contact your network administrator"); } else { my $session = $c->session; my $source_id = $session->{source_id}; @@ -174,7 +174,7 @@ sub registerNode : Private { $c->forward( 'CaptivePortal' => 'webNodeRegister', [ $pid, %info ] ); } } else { - $c->error("Please verify the provided MAC address."); + $self->showError($c,"Please verify the provided MAC address."); } } diff --git a/html/captive-portal/lib/captiveportal/PacketFence/Controller/Root.pm b/html/captive-portal/lib/captiveportal/PacketFence/Controller/Root.pm index 52e7009791d4..dd16e2b72a11 100644 --- a/html/captive-portal/lib/captiveportal/PacketFence/Controller/Root.pm +++ b/html/captive-portal/lib/captiveportal/PacketFence/Controller/Root.pm @@ -18,6 +18,8 @@ use Cache::FileCache; use List::Util qw(first); use POSIX; use Locale::gettext qw(bindtextdomain textdomain bind_textdomain_codeset); +use List::Util 'first'; +use List::MoreUtils qw(uniq); BEGIN { extends 'captiveportal::Base::Controller'; } @@ -153,7 +155,6 @@ sub getLanguages :Private { unless (scalar @authorized_locales > 0) { @authorized_locales = @WEB::LOCALES; } - @authorized_locales = map { $_ =~ m/^(\w{2})_\w+/ ? ( $_, $1 ) : $_ } @authorized_locales; $logger->debug("Authorized locale(s) are " . join(', ', @authorized_locales)); # 1. Check if a language is specified in the URL @@ -192,14 +193,30 @@ sub getLanguages :Private { } } + # 4. Check the closest language that match the browser + # Browser = fr_FR and portal is en_US and fr_CA then fr_CA will be used + foreach my $browser_language (@$browser_languages) { + $browser_language =~ s/^(\w{2})(_\w{2})?/lc($1) . uc($2)/e; + my $language = $1; + if (grep(/^$language$/, @authorized_locales)) { + $lang = $browser_language; + my $match = first { /$language(.*)/ } @authorized_locales; + push(@languages, $match) unless (grep/^$language$/, @languages); + $logger->debug("Language locale from the browser is $lang"); + } + else { + $logger->debug("Language locale from the browser $browser_language is not supported"); + } + } + if (scalar @languages > 0) { $logger->debug("prefered user languages are " . join(", ", @languages)); } else { push(@languages, $authorized_locales[0]); } - - return \@languages; + my @returned_languages = uniq(@languages); + return \@returned_languages; } =head2 getRequestLanguages diff --git a/html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm b/html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm index b97855026397..338fc0476a4c 100644 --- a/html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm +++ b/html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm @@ -167,9 +167,12 @@ sub doEmailSelfRegistration : Private { 'username' => $pid, 'user_email' => $email }; - $info{'category'} = - &pf::authentication::match( $source->{id}, $auth_params, - $Actions::SET_ROLE ); + $c->stash->{matchParams} = $auth_params; + + $c->stash->{pid} = $pid; + $c->stash->{info} = \%info; + $session->{source_id} = $source->{id}; + $c->forward(Authenticate => 'setRole'); # form valid, adding person (using modify in case person already exists) person_modify( @@ -241,6 +244,7 @@ sub prepareEmailGuestActivationInfo : Private { $info{'telephone'} = $session->{"phone"}; $info{'company'} = $session->{"company"}; $info{'subject'} = i18n_format("%s: Email activation required", $Config{'general'}{'domain'}); + utf8::decode($info{'subject'}); return %info; } @@ -256,6 +260,7 @@ sub doSponsorSelfRegistration : Private { my $logger = get_logger; my $profile = $c->profile; my $request = $c->request; + my $session = $c->session; my $portalSession = $c->portalSession; my %info; $logger->info( @@ -280,6 +285,7 @@ sub doSponsorSelfRegistration : Private { my $auth_params = $c->stash->{matchParams}; $auth_params->{username} = $pid; $auth_params->{user_email} = $email; + $c->stash->{matchParams} = $auth_params; # form valid, adding person (using modify in case person already exists) person_modify( @@ -299,9 +305,10 @@ sub doSponsorSelfRegistration : Private { $logger->info( "Adding guest person " . $c->session->{'guest_pid'} ); # fetch role for this user - $info{'category'} = - &pf::authentication::match( $source->{id}, $auth_params, - $Actions::SET_ROLE ); + $c->stash->{pid} = $pid; + $c->stash->{info} = \%info; + $session->{source_id} = $source->{id}; + $c->forward('Authenticate' => 'setRole'); # Setting access timeout and role (category) dynamically $info{'unregdate'} = @@ -335,7 +342,7 @@ sub doSponsorSelfRegistration : Private { $info{is_preregistration} = $c->session->{preregistration}; $info{'subject'} = i18n_format( "%s: Guest access request", $Config{'general'}{'domain'} ); - + utf8::decode($info{'subject'}); # TODO this portion of the code should be throttled to prevent malicious intents (spamming) my ( $auth_return, $err, $errargs_ref ) = pf::activation::create_and_send_activation_code( @@ -389,54 +396,57 @@ sub doSmsSelfRegistration : Private { if ($self->reached_retry_limit($c, 'sms_request_limit', $portalSession->profile->{_sms_request_limit})) { $logger->info("Maximum number of SMS signup requests reached for $mac"); $c->stash(txt_validation_error => i18n_format($GUEST::ERRORS{$GUEST::ERROR_MAX_RETRIES})); + utf8::decode($c->stash->{'txt_validation_error'}); $c->detach('showSelfRegistrationPage'); } # User chose to register by SMS $logger->info("registering $mac guest by SMS $phone @ $mobileprovider"); - my ( $auth_return, $err, $errargs_ref ) = - pf::activation::sms_activation_create_send( $mac, $pid, $phone, $profile->getName, $mobileprovider ); - if ($auth_return) { - - $info{'pid'} = $pid; - $logger->info("redirecting to mobile confirmation page"); + $info{'pid'} = $pid; - # fetch role for this user - my $sms_type = - pf::Authentication::Source::SMSSource->getDefaultOfType; - my $source = $profile->getSourceByType($sms_type) || $profile->getSourceByTypeForChained($sms_type); - my $auth_params = { - 'username' => $pid, - 'phonenumber' => $phone - }; + $logger->info("redirecting to mobile confirmation page"); + my $sms_type = + pf::Authentication::Source::SMSSource->getDefaultOfType; + my $source = $profile->getSourceByType($sms_type) || $profile->getSourceByTypeForChained($sms_type); + my $auth_params = { + 'username' => $pid, + 'phonenumber' => $phone + }; + $c->stash->{matchParams} = $auth_params; - # form valid, adding person (using modify in case person already exists) - $logger->info("Adding guest person $pid ($phone)"); - person_modify( - $pid, - ( map { $_ => $c->session->{$_} } - qw(firstname lastname company email) - ), - ( 'telephone' => $phone, - 'notes' => 'sms confirmation. Date of arrival: ' - . time2str( "%Y-%m-%d %H:%M:%S", time ), - 'portal' => $profile->getName, - 'source' => $source->{id}, - ) - ); + # form valid, adding person (using modify in case person already exists) + $logger->info("Adding guest person $pid ($phone)"); + person_modify( + $pid, + ( map { $_ => $c->session->{$_} } + qw(firstname lastname company email) + ), + ( 'telephone' => $phone, + 'notes' => 'sms confirmation. Date of arrival: ' + . time2str( "%Y-%m-%d %H:%M:%S", time ), + 'portal' => $profile->getName, + 'source' => $source->{id}, + ) + ); - $info{'category'} = - &pf::authentication::match( $source->{id}, $auth_params, - $Actions::SET_ROLE ); + # fetch role for this user + $c->stash->{pid} = $pid; + $c->stash->{info} = \%info; + $session->{source_id} = $source->{id}; + $c->forward(Authenticate => 'setRole'); - # set node in pending mode with the appropriate role - $info{'status'} = $pf::node::STATUS_PENDING; - node_modify( $portalSession->clientMac(), %info ); - $c->detach( 'Activate::Sms' => 'showSmsConfirmation' ); + my ( $auth_return, $err, $errargs_ref ) = + pf::activation::sms_activation_create_send( $mac, $pid, $phone, $profile->getName, $mobileprovider ); - } else { + unless ($auth_return) { $self->validationError( $c, $err ); - } + } + + # set node in pending mode with the appropriate role + $info{'status'} = $pf::node::STATUS_PENDING; + node_modify( $portalSession->clientMac(), %info ); + $c->detach( 'Activate::Sms' => 'showSmsConfirmation' ); + } # SMS sub checkGuestModes : Private { @@ -560,6 +570,7 @@ sub validationError { my ( $self, $c, $error_code, @error_args ) = @_; $c->stash->{'txt_validation_error'} = i18n_format( $GUEST::ERRORS{$error_code}, @error_args ); + utf8::decode($c->stash->{'txt_validation_error'}); $c->detach('showSelfRegistrationPage'); } diff --git a/html/captive-portal/lib/captiveportal/Role/Request.pm b/html/captive-portal/lib/captiveportal/Role/Request.pm index 6096d8f8bb2c..94d7bb33961c 100644 --- a/html/captive-portal/lib/captiveportal/Role/Request.pm +++ b/html/captive-portal/lib/captiveportal/Role/Request.pm @@ -75,7 +75,7 @@ Copyright (C) 2005-2015 Inverse inc. =head1 LICENSE -This program is free software; you can redistribute it and::or +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. diff --git a/html/captive-portal/templates/device-login.html b/html/captive-portal/templates/device-login.html index 156deb24d62d..ea4ea3ee0f09 100644 --- a/html/captive-portal/templates/device-login.html +++ b/html/captive-portal/templates/device-login.html @@ -61,7 +61,7 @@ [%# User / Pass %]
        [% i18n("Username") %] - +
        [% i18n("Password") %] diff --git a/html/captive-portal/templates/gaming-login.html b/html/captive-portal/templates/gaming-login.html index 777eeed5d013..027a8c8d0163 100644 --- a/html/captive-portal/templates/gaming-login.html +++ b/html/captive-portal/templates/gaming-login.html @@ -61,7 +61,7 @@ [%# User / Pass %]
        [% i18n("Username") %] - +
        [% i18n("Password") %] diff --git a/html/captive-portal/templates/guest/sponsor_login.html b/html/captive-portal/templates/guest/sponsor_login.html index f62d87d4bd6c..4a97972c3f24 100644 --- a/html/captive-portal/templates/guest/sponsor_login.html +++ b/html/captive-portal/templates/guest/sponsor_login.html @@ -18,7 +18,7 @@

        [% title %]

        [%# User / Pass %]
        [% i18n("Username") %] - +
        [% i18n("Password") %] diff --git a/html/captive-portal/templates/header.html b/html/captive-portal/templates/header.html index 504e67dcff1c..8ab6386b59c4 100644 --- a/html/captive-portal/templates/header.html +++ b/html/captive-portal/templates/header.html @@ -1,7 +1,5 @@ - + diff --git a/html/captive-portal/templates/login.html b/html/captive-portal/templates/login.html index 3c83a8035d55..7b01c1cbcba1 100644 --- a/html/captive-portal/templates/login.html +++ b/html/captive-portal/templates/login.html @@ -63,7 +63,7 @@ [% UNLESS no_username %]
        [% IF null_source %][% i18n("Email") %] [% ELSE %] [% i18n("Username") %][% END %] - +
        [% END %] [% UNLESS null_source || no_password %] diff --git a/html/captive-portal/templates/pending.html b/html/captive-portal/templates/pending.html index f9458e135e92..1fe42852b4a7 100644 --- a/html/captive-portal/templates/pending.html +++ b/html/captive-portal/templates/pending.html @@ -2,6 +2,7 @@ [% INCLUDE header.html %]