{"url":"https://api.github.com/repos/inverse-inc/packetfence/compare/566d2e3094e0c4375b53700ce47b67e5087de93f...c66335e05543b0849f9ebb8ee14102ab5873fdba","html_url":"https://github.com/inverse-inc/packetfence/compare/566d2e3094e0c4375b53700ce47b67e5087de93f...c66335e05543b0849f9ebb8ee14102ab5873fdba","permalink_url":"https://github.com/inverse-inc/packetfence/compare/inverse-inc:566d2e3...inverse-inc:c66335e","diff_url":"https://github.com/inverse-inc/packetfence/compare/566d2e3094e0c4375b53700ce47b67e5087de93f...c66335e05543b0849f9ebb8ee14102ab5873fdba.diff","patch_url":"https://github.com/inverse-inc/packetfence/compare/566d2e3094e0c4375b53700ce47b67e5087de93f...c66335e05543b0849f9ebb8ee14102ab5873fdba.patch","base_commit":{"sha":"566d2e3094e0c4375b53700ce47b67e5087de93f","node_id":"MDY6Q29tbWl0MzU5NTY1ODo1NjZkMmUzMDk0ZTBjNDM3NWI1MzcwMGNlNDdiNjdlNTA4N2RlOTNm","commit":{"author":{"name":"Durand Fabrice","email":"fdurand@inverse.ca","date":"2014-11-10T14:53:41Z"},"committer":{"name":"Durand Fabrice","email":"fdurand@inverse.ca","date":"2014-11-10T14:53:41Z"},"message":"Update pf-release file","tree":{"sha":"2e1904655f67f0a06fe73b3917349a59ea478b65","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/2e1904655f67f0a06fe73b3917349a59ea478b65"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/566d2e3094e0c4375b53700ce47b67e5087de93f","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/566d2e3094e0c4375b53700ce47b67e5087de93f","html_url":"https://github.com/inverse-inc/packetfence/commit/566d2e3094e0c4375b53700ce47b67e5087de93f","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/566d2e3094e0c4375b53700ce47b67e5087de93f/comments","author":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"024b11ef85ae382654df1503a5948e8fcff90539","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/024b11ef85ae382654df1503a5948e8fcff90539","html_url":"https://github.com/inverse-inc/packetfence/commit/024b11ef85ae382654df1503a5948e8fcff90539"}]},"merge_base_commit":{"sha":"8c756c5532aa8a7bb54635c8beffba59a9ba8510","node_id":"MDY6Q29tbWl0MzU5NTY1ODo4Yzc1NmM1NTMyYWE4YTdiYjU0NjM1YzhiZWZmYmE1OWE5YmE4NTEw","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-10-30T18:32:46Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-10-30T18:34:34Z"},"message":"Fix pagination for nodes when sorting","tree":{"sha":"8ad5829c80ef16885bc3ce56db8b156b9b28c589","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/8ad5829c80ef16885bc3ce56db8b156b9b28c589"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/8c756c5532aa8a7bb54635c8beffba59a9ba8510","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/8c756c5532aa8a7bb54635c8beffba59a9ba8510","html_url":"https://github.com/inverse-inc/packetfence/commit/8c756c5532aa8a7bb54635c8beffba59a9ba8510","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/8c756c5532aa8a7bb54635c8beffba59a9ba8510/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"364882d0d75b0191ab3e935db9d9592c11b03721","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/364882d0d75b0191ab3e935db9d9592c11b03721","html_url":"https://github.com/inverse-inc/packetfence/commit/364882d0d75b0191ab3e935db9d9592c11b03721"}]},"status":"diverged","ahead_by":79,"behind_by":7,"total_commits":79,"commits":[{"sha":"b08e598e646c14913f2ae72c1013a8a9000b9756","node_id":"MDY6Q29tbWl0MzU5NTY1ODpiMDhlNTk4ZTY0NmMxNDkxM2YyYWU3MmMxMDEzYThhOTAwMGI5NzU2","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-17T17:40:59Z"},"committer":{"name":"Durand Fabrice","email":"fdurand@inverse.ca","date":"2014-11-17T19:47:38Z"},"message":"Do not call request->param(username) in a list context","tree":{"sha":"2ef5c5695e512499144ae342636f0104aab86e54","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/2ef5c5695e512499144ae342636f0104aab86e54"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/b08e598e646c14913f2ae72c1013a8a9000b9756","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/b08e598e646c14913f2ae72c1013a8a9000b9756","html_url":"https://github.com/inverse-inc/packetfence/commit/b08e598e646c14913f2ae72c1013a8a9000b9756","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/b08e598e646c14913f2ae72c1013a8a9000b9756/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"8c756c5532aa8a7bb54635c8beffba59a9ba8510","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/8c756c5532aa8a7bb54635c8beffba59a9ba8510","html_url":"https://github.com/inverse-inc/packetfence/commit/8c756c5532aa8a7bb54635c8beffba59a9ba8510"}]},{"sha":"343c964dcc5642f5cc290213db0595cade2bdfab","node_id":"MDY6Q29tbWl0MzU5NTY1ODozNDNjOTY0ZGNjNTY0MmY1Y2MyOTAyMTNkYjA1OTVjYWRlMmJkZmFi","commit":{"author":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2014-11-18T15:47:41Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2014-11-18T15:49:04Z"},"message":"fix content encoding on portal and emails","tree":{"sha":"4ac31c481bcaf06f3d626398bb5af0cd6101146a","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/4ac31c481bcaf06f3d626398bb5af0cd6101146a"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/343c964dcc5642f5cc290213db0595cade2bdfab","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/343c964dcc5642f5cc290213db0595cade2bdfab","html_url":"https://github.com/inverse-inc/packetfence/commit/343c964dcc5642f5cc290213db0595cade2bdfab","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/343c964dcc5642f5cc290213db0595cade2bdfab/comments","author":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"b08e598e646c14913f2ae72c1013a8a9000b9756","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/b08e598e646c14913f2ae72c1013a8a9000b9756","html_url":"https://github.com/inverse-inc/packetfence/commit/b08e598e646c14913f2ae72c1013a8a9000b9756"}]},{"sha":"7680bc0b97fbb10313d1ea0cdde34c2cb20b67cb","node_id":"MDY6Q29tbWl0MzU5NTY1ODo3NjgwYmMwYjk3ZmJiMTAzMTNkMWVhMGNkZGUzNGMyY2IyMGI2N2Ni","commit":{"author":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2014-11-26T18:12:33Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2014-11-26T18:15:13Z"},"message":"fix setVlan locker ref for wired snmp deauth through webservices","tree":{"sha":"125e6c134cc1128c2b656a40149244937600dfed","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/125e6c134cc1128c2b656a40149244937600dfed"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/7680bc0b97fbb10313d1ea0cdde34c2cb20b67cb","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/7680bc0b97fbb10313d1ea0cdde34c2cb20b67cb","html_url":"https://github.com/inverse-inc/packetfence/commit/7680bc0b97fbb10313d1ea0cdde34c2cb20b67cb","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/7680bc0b97fbb10313d1ea0cdde34c2cb20b67cb/comments","author":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"343c964dcc5642f5cc290213db0595cade2bdfab","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/343c964dcc5642f5cc290213db0595cade2bdfab","html_url":"https://github.com/inverse-inc/packetfence/commit/343c964dcc5642f5cc290213db0595cade2bdfab"}]},{"sha":"d6ff3de13d97dde56a6f06886b2a7a829356233c","node_id":"MDY6Q29tbWl0MzU5NTY1ODpkNmZmM2RlMTNkOTdkZGU1NmE2ZjA2ODg2YjJhN2E4MjkzNTYyMzNj","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-06T20:17:32Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2014-11-26T18:17:16Z"},"message":"Fix called to violation_view_open_desc","tree":{"sha":"f5f8d830d21b9834577bc18500b1b9499f240f13","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/f5f8d830d21b9834577bc18500b1b9499f240f13"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/d6ff3de13d97dde56a6f06886b2a7a829356233c","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/d6ff3de13d97dde56a6f06886b2a7a829356233c","html_url":"https://github.com/inverse-inc/packetfence/commit/d6ff3de13d97dde56a6f06886b2a7a829356233c","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/d6ff3de13d97dde56a6f06886b2a7a829356233c/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"7680bc0b97fbb10313d1ea0cdde34c2cb20b67cb","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/7680bc0b97fbb10313d1ea0cdde34c2cb20b67cb","html_url":"https://github.com/inverse-inc/packetfence/commit/7680bc0b97fbb10313d1ea0cdde34c2cb20b67cb"}]},{"sha":"9debdbbbf1d4f919abce94e575b444093809fd5d","node_id":"MDY6Q29tbWl0MzU5NTY1ODo5ZGViZGJiYmYxZDRmOTE5YWJjZTk0ZTU3NWI0NDQwOTM4MDlmZDVk","commit":{"author":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2014-11-26T18:19:39Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2014-11-26T18:19:39Z"},"message":"correct typo","tree":{"sha":"1d615da6fc040535c56097e8db571ac813cb0677","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/1d615da6fc040535c56097e8db571ac813cb0677"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/9debdbbbf1d4f919abce94e575b444093809fd5d","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9debdbbbf1d4f919abce94e575b444093809fd5d","html_url":"https://github.com/inverse-inc/packetfence/commit/9debdbbbf1d4f919abce94e575b444093809fd5d","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9debdbbbf1d4f919abce94e575b444093809fd5d/comments","author":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"d6ff3de13d97dde56a6f06886b2a7a829356233c","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/d6ff3de13d97dde56a6f06886b2a7a829356233c","html_url":"https://github.com/inverse-inc/packetfence/commit/d6ff3de13d97dde56a6f06886b2a7a829356233c"}]},{"sha":"2e38d7151cca89c7e439f7a62d1d34a998fe0cbd","node_id":"MDY6Q29tbWl0MzU5NTY1ODoyZTM4ZDcxNTFjY2E4OWM3ZTQzOWY3YTYyZDFkMzRhOTk4ZmUwY2Jk","commit":{"author":{"name":"Durand Fabrice","email":"oeufdure@gmail.com","date":"2014-11-28T01:23:57Z"},"committer":{"name":"Durand Fabrice","email":"oeufdure@gmail.com","date":"2014-11-28T01:23:57Z"},"message":"Fix bulk apply of roles and violations in the admin GUI (pull request #286)","tree":{"sha":"b5bd4aeedb7f28de54c3a5de839cc9518d72e62c","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/b5bd4aeedb7f28de54c3a5de839cc9518d72e62c"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/2e38d7151cca89c7e439f7a62d1d34a998fe0cbd","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/2e38d7151cca89c7e439f7a62d1d34a998fe0cbd","html_url":"https://github.com/inverse-inc/packetfence/commit/2e38d7151cca89c7e439f7a62d1d34a998fe0cbd","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/2e38d7151cca89c7e439f7a62d1d34a998fe0cbd/comments","author":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"9debdbbbf1d4f919abce94e575b444093809fd5d","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9debdbbbf1d4f919abce94e575b444093809fd5d","html_url":"https://github.com/inverse-inc/packetfence/commit/9debdbbbf1d4f919abce94e575b444093809fd5d"}]},{"sha":"c1f3fdcd53d6c303c22ea139d3aa8f0818003b09","node_id":"MDY6Q29tbWl0MzU5NTY1ODpjMWYzZmRjZDUzZDZjMzAzYzIyZWExMzlkM2FhOGYwODE4MDAzYjA5","commit":{"author":{"name":"Durand Fabrice","email":"fdurand@inverse.ca","date":"2014-11-12T20:12:27Z"},"committer":{"name":"Durand Fabrice","email":"oeufdure@gmail.com","date":"2014-11-28T02:05:26Z"},"message":"Test if pfdhcplistener is enabled to run in the configuration","tree":{"sha":"263784cb06f2f592b5e1755acf236f4a974ea79d","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/263784cb06f2f592b5e1755acf236f4a974ea79d"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/c1f3fdcd53d6c303c22ea139d3aa8f0818003b09","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c1f3fdcd53d6c303c22ea139d3aa8f0818003b09","html_url":"https://github.com/inverse-inc/packetfence/commit/c1f3fdcd53d6c303c22ea139d3aa8f0818003b09","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c1f3fdcd53d6c303c22ea139d3aa8f0818003b09/comments","author":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"2e38d7151cca89c7e439f7a62d1d34a998fe0cbd","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/2e38d7151cca89c7e439f7a62d1d34a998fe0cbd","html_url":"https://github.com/inverse-inc/packetfence/commit/2e38d7151cca89c7e439f7a62d1d34a998fe0cbd"}]},{"sha":"7cec8bada0619c703576db3bea6934add242567c","node_id":"MDY6Q29tbWl0MzU5NTY1ODo3Y2VjOGJhZGEwNjE5YzcwMzU3NmRiM2JlYTY5MzRhZGQyNDI1Njdj","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-02T20:54:22Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-03T02:20:52Z"},"message":"Check if PID is in imported data before validating it","tree":{"sha":"891d9c478be6465dd7f1bbc7c537e118a17571e6","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/891d9c478be6465dd7f1bbc7c537e118a17571e6"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/7cec8bada0619c703576db3bea6934add242567c","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/7cec8bada0619c703576db3bea6934add242567c","html_url":"https://github.com/inverse-inc/packetfence/commit/7cec8bada0619c703576db3bea6934add242567c","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/7cec8bada0619c703576db3bea6934add242567c/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"c1f3fdcd53d6c303c22ea139d3aa8f0818003b09","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c1f3fdcd53d6c303c22ea139d3aa8f0818003b09","html_url":"https://github.com/inverse-inc/packetfence/commit/c1f3fdcd53d6c303c22ea139d3aa8f0818003b09"}]},{"sha":"8ecc0481cfe34cf2bc818a45e23d3ddbec640ec0","node_id":"MDY6Q29tbWl0MzU5NTY1ODo4ZWNjMDQ4MWNmZTM0Y2YyYmM4MThhNDVlMjNkM2RkYmVjNjQwZWMw","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-05T01:08:05Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-05T03:05:11Z"},"message":"Added telephone to the session to so it can available for the sponsor email template","tree":{"sha":"1e117a0389df13ffbad4c5e3b032430d14656aa2","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/1e117a0389df13ffbad4c5e3b032430d14656aa2"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/8ecc0481cfe34cf2bc818a45e23d3ddbec640ec0","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/8ecc0481cfe34cf2bc818a45e23d3ddbec640ec0","html_url":"https://github.com/inverse-inc/packetfence/commit/8ecc0481cfe34cf2bc818a45e23d3ddbec640ec0","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/8ecc0481cfe34cf2bc818a45e23d3ddbec640ec0/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"7cec8bada0619c703576db3bea6934add242567c","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/7cec8bada0619c703576db3bea6934add242567c","html_url":"https://github.com/inverse-inc/packetfence/commit/7cec8bada0619c703576db3bea6934add242567c"}]},{"sha":"73cdddadef111ca477db44fc3d07a63646b1c4fa","node_id":"MDY6Q29tbWl0MzU5NTY1ODo3M2NkZGRhZGVmMTExY2E0NzdkYjQ0ZmMzZDA3YTYzNjQ2YjFjNGZh","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-05T01:14:59Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-05T03:05:19Z"},"message":"Remove passing email as username for getting sponsered email user","tree":{"sha":"851914b9e5612c69c8fd7cf8d0522bfed898c8e5","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/851914b9e5612c69c8fd7cf8d0522bfed898c8e5"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/73cdddadef111ca477db44fc3d07a63646b1c4fa","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/73cdddadef111ca477db44fc3d07a63646b1c4fa","html_url":"https://github.com/inverse-inc/packetfence/commit/73cdddadef111ca477db44fc3d07a63646b1c4fa","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/73cdddadef111ca477db44fc3d07a63646b1c4fa/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"8ecc0481cfe34cf2bc818a45e23d3ddbec640ec0","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/8ecc0481cfe34cf2bc818a45e23d3ddbec640ec0","html_url":"https://github.com/inverse-inc/packetfence/commit/8ecc0481cfe34cf2bc818a45e23d3ddbec640ec0"}]},{"sha":"2e65518ac8d5fc92659fd6792f96d7fd7c4640ab","node_id":"MDY6Q29tbWl0MzU5NTY1ODoyZTY1NTE4YWM4ZDVmYzkyNjU5ZmQ2NzkyZjk2ZDdmZDdjNDY0MGFi","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T15:37:46Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:36Z"},"message":"Remove debug being always on","tree":{"sha":"04ffeafe276b7900a997e0d76bf483eb4a8139ca","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/04ffeafe276b7900a997e0d76bf483eb4a8139ca"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/2e65518ac8d5fc92659fd6792f96d7fd7c4640ab","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/2e65518ac8d5fc92659fd6792f96d7fd7c4640ab","html_url":"https://github.com/inverse-inc/packetfence/commit/2e65518ac8d5fc92659fd6792f96d7fd7c4640ab","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/2e65518ac8d5fc92659fd6792f96d7fd7c4640ab/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"73cdddadef111ca477db44fc3d07a63646b1c4fa","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/73cdddadef111ca477db44fc3d07a63646b1c4fa","html_url":"https://github.com/inverse-inc/packetfence/commit/73cdddadef111ca477db44fc3d07a63646b1c4fa"}]},{"sha":"69eba2b57b714a9044d93141faf98d1cbae6ec8a","node_id":"MDY6Q29tbWl0MzU5NTY1ODo2OWViYTJiNTdiNzE0YTkwNDRkOTMxNDFmYWY5OGQxY2JhZTZlYzhh","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T20:34:26Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:37Z"},"message":"Role for Catalyst::Request to override default behavior","tree":{"sha":"b92a07de0fc056bb14f6fa33f22d412a1e11e831","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/b92a07de0fc056bb14f6fa33f22d412a1e11e831"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/69eba2b57b714a9044d93141faf98d1cbae6ec8a","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/69eba2b57b714a9044d93141faf98d1cbae6ec8a","html_url":"https://github.com/inverse-inc/packetfence/commit/69eba2b57b714a9044d93141faf98d1cbae6ec8a","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/69eba2b57b714a9044d93141faf98d1cbae6ec8a/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"2e65518ac8d5fc92659fd6792f96d7fd7c4640ab","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/2e65518ac8d5fc92659fd6792f96d7fd7c4640ab","html_url":"https://github.com/inverse-inc/packetfence/commit/2e65518ac8d5fc92659fd6792f96d7fd7c4640ab"}]},{"sha":"45438f4ef7b9db56f10a05efb21d4f6231000161","node_id":"MDY6Q29tbWl0MzU5NTY1ODo0NTQzOGY0ZWY3YjlkYjU2ZjEwYTA1ZWZiMjFkNGY2MjMxMDAwMTYx","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T20:35:30Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:38Z"},"message":"Apply the captiveportal::Role::Request to Catalyst::Request","tree":{"sha":"0783e9387b3d481b0cd0bf4c85cd1e196880af05","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/0783e9387b3d481b0cd0bf4c85cd1e196880af05"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/45438f4ef7b9db56f10a05efb21d4f6231000161","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/45438f4ef7b9db56f10a05efb21d4f6231000161","html_url":"https://github.com/inverse-inc/packetfence/commit/45438f4ef7b9db56f10a05efb21d4f6231000161","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/45438f4ef7b9db56f10a05efb21d4f6231000161/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"69eba2b57b714a9044d93141faf98d1cbae6ec8a","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/69eba2b57b714a9044d93141faf98d1cbae6ec8a","html_url":"https://github.com/inverse-inc/packetfence/commit/69eba2b57b714a9044d93141faf98d1cbae6ec8a"}]},{"sha":"de6782468fd2ce1082b601cf6d5972c4f5d80ef1","node_id":"MDY6Q29tbWl0MzU5NTY1ODpkZTY3ODI0NjhmZDJjZTEwODJiNjAxY2Y2ZDU5NzJjNGY1ZDgwZWYx","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T20:36:38Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:38Z"},"message":"Use param_encoded instead of param","tree":{"sha":"45319334e3314aaf24ea06c5bc845d2e08bf6885","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/45319334e3314aaf24ea06c5bc845d2e08bf6885"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/de6782468fd2ce1082b601cf6d5972c4f5d80ef1","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/de6782468fd2ce1082b601cf6d5972c4f5d80ef1","html_url":"https://github.com/inverse-inc/packetfence/commit/de6782468fd2ce1082b601cf6d5972c4f5d80ef1","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/de6782468fd2ce1082b601cf6d5972c4f5d80ef1/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"45438f4ef7b9db56f10a05efb21d4f6231000161","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/45438f4ef7b9db56f10a05efb21d4f6231000161","html_url":"https://github.com/inverse-inc/packetfence/commit/45438f4ef7b9db56f10a05efb21d4f6231000161"}]},{"sha":"bd9f742561a33d0e5f07f01bc9ffe60d2c8c354e","node_id":"MDY6Q29tbWl0MzU5NTY1ODpiZDlmNzQyNTYxYTMzZDBlNWYwN2YwMWJjOWZmZTYwZDJjOGMzNTRl","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T20:36:38Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:39Z"},"message":"Use param_encoded instead of param","tree":{"sha":"6e1a62df509c6ceadd3b21b7d7e481740219004c","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/6e1a62df509c6ceadd3b21b7d7e481740219004c"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/bd9f742561a33d0e5f07f01bc9ffe60d2c8c354e","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/bd9f742561a33d0e5f07f01bc9ffe60d2c8c354e","html_url":"https://github.com/inverse-inc/packetfence/commit/bd9f742561a33d0e5f07f01bc9ffe60d2c8c354e","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/bd9f742561a33d0e5f07f01bc9ffe60d2c8c354e/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"de6782468fd2ce1082b601cf6d5972c4f5d80ef1","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/de6782468fd2ce1082b601cf6d5972c4f5d80ef1","html_url":"https://github.com/inverse-inc/packetfence/commit/de6782468fd2ce1082b601cf6d5972c4f5d80ef1"}]},{"sha":"b200dcd10793183a6eeb136f60091dcb29a25f47","node_id":"MDY6Q29tbWl0MzU5NTY1ODpiMjAwZGNkMTA3OTMxODNhNmVlYjEzNmY2MDA5MWRjYjI5YTI1ZjQ3","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T20:39:00Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:40Z"},"message":"Encoded the destination_url before placing it in the stash","tree":{"sha":"4688462adb602e5279394da5276d1a958ee64cec","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/4688462adb602e5279394da5276d1a958ee64cec"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/b200dcd10793183a6eeb136f60091dcb29a25f47","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/b200dcd10793183a6eeb136f60091dcb29a25f47","html_url":"https://github.com/inverse-inc/packetfence/commit/b200dcd10793183a6eeb136f60091dcb29a25f47","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/b200dcd10793183a6eeb136f60091dcb29a25f47/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"bd9f742561a33d0e5f07f01bc9ffe60d2c8c354e","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/bd9f742561a33d0e5f07f01bc9ffe60d2c8c354e","html_url":"https://github.com/inverse-inc/packetfence/commit/bd9f742561a33d0e5f07f01bc9ffe60d2c8c354e"}]},{"sha":"0ddec55b55bf72c93b06922676af5082f11b8c40","node_id":"MDY6Q29tbWl0MzU5NTY1ODowZGRlYzU1YjU1YmY3MmM5M2IwNjkyMjY3NmFmNTA4MmYxMWI4YzQw","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T20:39:49Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:40Z"},"message":"Use param_encoded instead of param","tree":{"sha":"ed75e5b5ab3b11c60b558e581cf1083012639938","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/ed75e5b5ab3b11c60b558e581cf1083012639938"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/0ddec55b55bf72c93b06922676af5082f11b8c40","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/0ddec55b55bf72c93b06922676af5082f11b8c40","html_url":"https://github.com/inverse-inc/packetfence/commit/0ddec55b55bf72c93b06922676af5082f11b8c40","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/0ddec55b55bf72c93b06922676af5082f11b8c40/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"b200dcd10793183a6eeb136f60091dcb29a25f47","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/b200dcd10793183a6eeb136f60091dcb29a25f47","html_url":"https://github.com/inverse-inc/packetfence/commit/b200dcd10793183a6eeb136f60091dcb29a25f47"}]},{"sha":"99441b978c8c4b6601b9a784841569e528e2c000","node_id":"MDY6Q29tbWl0MzU5NTY1ODo5OTQ0MWI5NzhjOGM0YjY2MDFiOWE3ODQ4NDE1NjllNTI4ZTJjMDAw","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T20:40:22Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:41Z"},"message":"Use param_encoded instead of param","tree":{"sha":"19d95042ccd7db73723298f645db18e47f5e4593","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/19d95042ccd7db73723298f645db18e47f5e4593"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/99441b978c8c4b6601b9a784841569e528e2c000","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/99441b978c8c4b6601b9a784841569e528e2c000","html_url":"https://github.com/inverse-inc/packetfence/commit/99441b978c8c4b6601b9a784841569e528e2c000","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/99441b978c8c4b6601b9a784841569e528e2c000/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"0ddec55b55bf72c93b06922676af5082f11b8c40","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/0ddec55b55bf72c93b06922676af5082f11b8c40","html_url":"https://github.com/inverse-inc/packetfence/commit/0ddec55b55bf72c93b06922676af5082f11b8c40"}]},{"sha":"ee5b29017dc407ec58479217b6f97e85a63b3c49","node_id":"MDY6Q29tbWl0MzU5NTY1ODplZTViMjkwMTdkYzQwN2VjNTg0NzkyMTdiNmY5N2U4NWE2M2IzYzQ5","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T20:41:12Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:42Z"},"message":"Refactor the destination_url handling","tree":{"sha":"32bcc135caffb692ad79cf47b3d86f697ce207ae","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/32bcc135caffb692ad79cf47b3d86f697ce207ae"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/ee5b29017dc407ec58479217b6f97e85a63b3c49","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ee5b29017dc407ec58479217b6f97e85a63b3c49","html_url":"https://github.com/inverse-inc/packetfence/commit/ee5b29017dc407ec58479217b6f97e85a63b3c49","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ee5b29017dc407ec58479217b6f97e85a63b3c49/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"99441b978c8c4b6601b9a784841569e528e2c000","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/99441b978c8c4b6601b9a784841569e528e2c000","html_url":"https://github.com/inverse-inc/packetfence/commit/99441b978c8c4b6601b9a784841569e528e2c000"}]},{"sha":"9c4125a1aaf5c64bd2f532e742e1ac2637830761","node_id":"MDY6Q29tbWl0MzU5NTY1ODo5YzQxMjVhMWFhZjVjNjRiZDJmNTMyZTc0MmUxYWMyNjM3ODMwNzYx","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T20:42:25Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:42Z"},"message":"Use the refactored destination_url handling in Model::Portal::Session","tree":{"sha":"67006df2f28de7f99f9812a5786d64b1ef837d3a","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/67006df2f28de7f99f9812a5786d64b1ef837d3a"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/9c4125a1aaf5c64bd2f532e742e1ac2637830761","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9c4125a1aaf5c64bd2f532e742e1ac2637830761","html_url":"https://github.com/inverse-inc/packetfence/commit/9c4125a1aaf5c64bd2f532e742e1ac2637830761","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9c4125a1aaf5c64bd2f532e742e1ac2637830761/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"ee5b29017dc407ec58479217b6f97e85a63b3c49","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ee5b29017dc407ec58479217b6f97e85a63b3c49","html_url":"https://github.com/inverse-inc/packetfence/commit/ee5b29017dc407ec58479217b6f97e85a63b3c49"}]},{"sha":"d6f4ccd16e860c0cc31bb940d6c52cf4887951f7","node_id":"MDY6Q29tbWl0MzU5NTY1ODpkNmY0Y2NkMTZlODYwYzBjYzMxYmI5NDBkNmM1MmNmNDg4Nzk1MWY3","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-12T20:42:53Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-10T15:27:43Z"},"message":"Use param_encoded instead of param","tree":{"sha":"e31e0d5e9e75a266ff4bc50bf036f0da36dc855c","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/e31e0d5e9e75a266ff4bc50bf036f0da36dc855c"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/d6f4ccd16e860c0cc31bb940d6c52cf4887951f7","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/d6f4ccd16e860c0cc31bb940d6c52cf4887951f7","html_url":"https://github.com/inverse-inc/packetfence/commit/d6f4ccd16e860c0cc31bb940d6c52cf4887951f7","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/d6f4ccd16e860c0cc31bb940d6c52cf4887951f7/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"9c4125a1aaf5c64bd2f532e742e1ac2637830761","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9c4125a1aaf5c64bd2f532e742e1ac2637830761","html_url":"https://github.com/inverse-inc/packetfence/commit/9c4125a1aaf5c64bd2f532e742e1ac2637830761"}]},{"sha":"9116c1ecfc3d7f6c472be70af4e1d20af8b3099d","node_id":"MDY6Q29tbWl0MzU5NTY1ODo5MTE2YzFlY2ZjM2Q3ZjZjNDcyYmU3MGFmNGUxZDIwYWY4YjMwOTlk","commit":{"author":{"name":"Durand Fabrice","email":"fdurand@inverse.ca","date":"2014-12-11T13:39:53Z"},"committer":{"name":"Durand Fabrice","email":"fdurand@inverse.ca","date":"2014-12-11T13:44:21Z"},"message":"Fix wrong regex to detect ifindex in Cisco switches\n\nConflicts:\n\tNEWS.asciidoc","tree":{"sha":"4ba5eebcd2934058bb2904b32cab9f7867f67248","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/4ba5eebcd2934058bb2904b32cab9f7867f67248"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/9116c1ecfc3d7f6c472be70af4e1d20af8b3099d","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9116c1ecfc3d7f6c472be70af4e1d20af8b3099d","html_url":"https://github.com/inverse-inc/packetfence/commit/9116c1ecfc3d7f6c472be70af4e1d20af8b3099d","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9116c1ecfc3d7f6c472be70af4e1d20af8b3099d/comments","author":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"d6f4ccd16e860c0cc31bb940d6c52cf4887951f7","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/d6f4ccd16e860c0cc31bb940d6c52cf4887951f7","html_url":"https://github.com/inverse-inc/packetfence/commit/d6f4ccd16e860c0cc31bb940d6c52cf4887951f7"}]},{"sha":"de499e46b0d8a4b32564b17e67f85e7e0eb91e95","node_id":"MDY6Q29tbWl0MzU5NTY1ODpkZTQ5OWU0NmIwZDhhNGIzMjU2NGIxN2U2N2Y4NWU3ZTBlYjkxZTk1","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-10-17T18:01:56Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:16Z"},"message":"New class pf::FileLocker","tree":{"sha":"929714a0a5af1f4533fc0d50266af41523246667","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/929714a0a5af1f4533fc0d50266af41523246667"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/de499e46b0d8a4b32564b17e67f85e7e0eb91e95","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/de499e46b0d8a4b32564b17e67f85e7e0eb91e95","html_url":"https://github.com/inverse-inc/packetfence/commit/de499e46b0d8a4b32564b17e67f85e7e0eb91e95","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/de499e46b0d8a4b32564b17e67f85e7e0eb91e95/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"9116c1ecfc3d7f6c472be70af4e1d20af8b3099d","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9116c1ecfc3d7f6c472be70af4e1d20af8b3099d","html_url":"https://github.com/inverse-inc/packetfence/commit/9116c1ecfc3d7f6c472be70af4e1d20af8b3099d"}]},{"sha":"799f8223bea19d444ecb6c75f36cc0e146c998f3","node_id":"MDY6Q29tbWl0MzU5NTY1ODo3OTlmODIyM2JlYTE5ZDQ0NGVjYjZjNzVmMzZjYzBlMTQ2Yzk5OGYz","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-10-17T20:24:42Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:17Z"},"message":"Use a per config file expiration lock","tree":{"sha":"b71f6d2f53f1ff553c7fade0997e1343a1edde9a","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/b71f6d2f53f1ff553c7fade0997e1343a1edde9a"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/799f8223bea19d444ecb6c75f36cc0e146c998f3","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/799f8223bea19d444ecb6c75f36cc0e146c998f3","html_url":"https://github.com/inverse-inc/packetfence/commit/799f8223bea19d444ecb6c75f36cc0e146c998f3","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/799f8223bea19d444ecb6c75f36cc0e146c998f3/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"de499e46b0d8a4b32564b17e67f85e7e0eb91e95","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/de499e46b0d8a4b32564b17e67f85e7e0eb91e95","html_url":"https://github.com/inverse-inc/packetfence/commit/de499e46b0d8a4b32564b17e67f85e7e0eb91e95"}]},{"sha":"c2146948da7cf209bf00ea691e49df9d129c9909","node_id":"MDY6Q29tbWl0MzU5NTY1ODpjMjE0Njk0OGRhN2NmMjA5YmYwMGVhNjkxZTQ5ZGY5ZDEyOWM5OTA5","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-10-18T12:34:41Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:18Z"},"message":"Removed unused function","tree":{"sha":"ece402375b33006dc8d73fc56ff567fd029b2378","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/ece402375b33006dc8d73fc56ff567fd029b2378"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/c2146948da7cf209bf00ea691e49df9d129c9909","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c2146948da7cf209bf00ea691e49df9d129c9909","html_url":"https://github.com/inverse-inc/packetfence/commit/c2146948da7cf209bf00ea691e49df9d129c9909","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c2146948da7cf209bf00ea691e49df9d129c9909/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"799f8223bea19d444ecb6c75f36cc0e146c998f3","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/799f8223bea19d444ecb6c75f36cc0e146c998f3","html_url":"https://github.com/inverse-inc/packetfence/commit/799f8223bea19d444ecb6c75f36cc0e146c998f3"}]},{"sha":"f41b7d70d0c17e91b0a54653b567e30294181fab","node_id":"MDY6Q29tbWl0MzU5NTY1ODpmNDFiN2Q3MGQwYzE3ZTkxYjBhNTQ2NTNiNTY3ZTMwMjk0MTgxZmFi","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-10-20T17:04:45Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:18Z"},"message":"Unlock call directly _doRealLock","tree":{"sha":"63ef293117571bda9799578d234fa8d004a03de5","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/63ef293117571bda9799578d234fa8d004a03de5"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/f41b7d70d0c17e91b0a54653b567e30294181fab","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f41b7d70d0c17e91b0a54653b567e30294181fab","html_url":"https://github.com/inverse-inc/packetfence/commit/f41b7d70d0c17e91b0a54653b567e30294181fab","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f41b7d70d0c17e91b0a54653b567e30294181fab/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"c2146948da7cf209bf00ea691e49df9d129c9909","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c2146948da7cf209bf00ea691e49df9d129c9909","html_url":"https://github.com/inverse-inc/packetfence/commit/c2146948da7cf209bf00ea691e49df9d129c9909"}]},{"sha":"aaec3b9768e88003f327f83cca79d3218aef0181","node_id":"MDY6Q29tbWl0MzU5NTY1ODphYWVjM2I5NzY4ZTg4MDAzZjMyN2Y4M2NjYTc5ZDMyMThhZWYwMTgx","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-10-20T19:47:46Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:19Z"},"message":"Remove unused fuction","tree":{"sha":"84f15d2c9d373aca9370a76b2002cc6eeafe454c","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/84f15d2c9d373aca9370a76b2002cc6eeafe454c"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/aaec3b9768e88003f327f83cca79d3218aef0181","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/aaec3b9768e88003f327f83cca79d3218aef0181","html_url":"https://github.com/inverse-inc/packetfence/commit/aaec3b9768e88003f327f83cca79d3218aef0181","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/aaec3b9768e88003f327f83cca79d3218aef0181/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"f41b7d70d0c17e91b0a54653b567e30294181fab","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f41b7d70d0c17e91b0a54653b567e30294181fab","html_url":"https://github.com/inverse-inc/packetfence/commit/f41b7d70d0c17e91b0a54653b567e30294181fab"}]},{"sha":"ba87d109f443d87ac45a19caf165693aed8f1244","node_id":"MDY6Q29tbWl0MzU5NTY1ODpiYTg3ZDEwOWY0NDNkODdhYzQ1YTE5Y2FmMTY1NjkzYWVkOGYxMjQ0","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-18T15:58:50Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:20Z"},"message":"Remove the onfilereloadonce option","tree":{"sha":"9d5fd485c36a3cb40e44a8c8fb4b2c8187212d4b","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/9d5fd485c36a3cb40e44a8c8fb4b2c8187212d4b"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/ba87d109f443d87ac45a19caf165693aed8f1244","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ba87d109f443d87ac45a19caf165693aed8f1244","html_url":"https://github.com/inverse-inc/packetfence/commit/ba87d109f443d87ac45a19caf165693aed8f1244","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ba87d109f443d87ac45a19caf165693aed8f1244/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"aaec3b9768e88003f327f83cca79d3218aef0181","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/aaec3b9768e88003f327f83cca79d3218aef0181","html_url":"https://github.com/inverse-inc/packetfence/commit/aaec3b9768e88003f327f83cca79d3218aef0181"}]},{"sha":"cccf05e0ed32963782951ac23b6d2e15c9caaf0b","node_id":"MDY6Q29tbWl0MzU5NTY1ODpjY2NmMDVlMGVkMzI5NjM3ODI5NTFhYzIzYjZkMmUxNWM5Y2FhZjBi","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-18T16:28:19Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:20Z"},"message":"Remove cached_pf_default_config as a global variable","tree":{"sha":"31f7bad4361b0a36ef0ee217c0c94b04b1aea3b6","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/31f7bad4361b0a36ef0ee217c0c94b04b1aea3b6"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/cccf05e0ed32963782951ac23b6d2e15c9caaf0b","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/cccf05e0ed32963782951ac23b6d2e15c9caaf0b","html_url":"https://github.com/inverse-inc/packetfence/commit/cccf05e0ed32963782951ac23b6d2e15c9caaf0b","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/cccf05e0ed32963782951ac23b6d2e15c9caaf0b/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"ba87d109f443d87ac45a19caf165693aed8f1244","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ba87d109f443d87ac45a19caf165693aed8f1244","html_url":"https://github.com/inverse-inc/packetfence/commit/ba87d109f443d87ac45a19caf165693aed8f1244"}]},{"sha":"d9fabafd776f8b7a7c5f6458ea490570d2888aea","node_id":"MDY6Q29tbWl0MzU5NTY1ODpkOWZhYmFmZDc3NmY4YjdhN2M1ZjY0NThlYTQ5MDU3MGQyODg4YWVh","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-18T16:33:31Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:21Z"},"message":"Update the control files before reload attempting to reload the config file","tree":{"sha":"0d94d79f3bc9001ede9e8c3ea75fa739ac20cf46","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/0d94d79f3bc9001ede9e8c3ea75fa739ac20cf46"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/d9fabafd776f8b7a7c5f6458ea490570d2888aea","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/d9fabafd776f8b7a7c5f6458ea490570d2888aea","html_url":"https://github.com/inverse-inc/packetfence/commit/d9fabafd776f8b7a7c5f6458ea490570d2888aea","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/d9fabafd776f8b7a7c5f6458ea490570d2888aea/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"cccf05e0ed32963782951ac23b6d2e15c9caaf0b","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/cccf05e0ed32963782951ac23b6d2e15c9caaf0b","html_url":"https://github.com/inverse-inc/packetfence/commit/cccf05e0ed32963782951ac23b6d2e15c9caaf0b"}]},{"sha":"36dc5f041fcaa003e8c8284cf9f365c78e2ad14e","node_id":"MDY6Q29tbWl0MzU5NTY1ODozNmRjNWYwNDFmY2FhMDAzZThjODI4NGNmOWYzNjVjNzhlMmFkMTRl","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-18T16:33:56Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:22Z"},"message":"Remove onfilereloadonce","tree":{"sha":"9dab385965b084512cd86788f6480c73aaafd35c","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/9dab385965b084512cd86788f6480c73aaafd35c"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/36dc5f041fcaa003e8c8284cf9f365c78e2ad14e","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/36dc5f041fcaa003e8c8284cf9f365c78e2ad14e","html_url":"https://github.com/inverse-inc/packetfence/commit/36dc5f041fcaa003e8c8284cf9f365c78e2ad14e","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/36dc5f041fcaa003e8c8284cf9f365c78e2ad14e/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"d9fabafd776f8b7a7c5f6458ea490570d2888aea","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/d9fabafd776f8b7a7c5f6458ea490570d2888aea","html_url":"https://github.com/inverse-inc/packetfence/commit/d9fabafd776f8b7a7c5f6458ea490570d2888aea"}]},{"sha":"6bb6519d25ffb597eadaf1019ffa708379c0f552","node_id":"MDY6Q29tbWl0MzU5NTY1ODo2YmI2NTE5ZDI1ZmZiNTk3ZWFkYWYxMDE5ZmZhNzA4Mzc5YzBmNTUy","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-18T16:34:24Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:23Z"},"message":"Remove onfilereloadonce","tree":{"sha":"6c8169c51d6451af9d65b525b30c9206e7ec0c79","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/6c8169c51d6451af9d65b525b30c9206e7ec0c79"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/6bb6519d25ffb597eadaf1019ffa708379c0f552","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/6bb6519d25ffb597eadaf1019ffa708379c0f552","html_url":"https://github.com/inverse-inc/packetfence/commit/6bb6519d25ffb597eadaf1019ffa708379c0f552","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/6bb6519d25ffb597eadaf1019ffa708379c0f552/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"36dc5f041fcaa003e8c8284cf9f365c78e2ad14e","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/36dc5f041fcaa003e8c8284cf9f365c78e2ad14e","html_url":"https://github.com/inverse-inc/packetfence/commit/36dc5f041fcaa003e8c8284cf9f365c78e2ad14e"}]},{"sha":"f99f9027b8deedc1178535d519a222ff76c33a90","node_id":"MDY6Q29tbWl0MzU5NTY1ODpmOTlmOTAyN2I4ZGVlZGMxMTc4NTM1ZDUxOWEyMjJmZjc2YzMzYTkw","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-20T20:59:01Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:23Z"},"message":"Ensure permissions are correct for lock files","tree":{"sha":"84fca4dc4df233fca5247f2ab1d7be9fd5e0739d","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/84fca4dc4df233fca5247f2ab1d7be9fd5e0739d"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/f99f9027b8deedc1178535d519a222ff76c33a90","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f99f9027b8deedc1178535d519a222ff76c33a90","html_url":"https://github.com/inverse-inc/packetfence/commit/f99f9027b8deedc1178535d519a222ff76c33a90","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f99f9027b8deedc1178535d519a222ff76c33a90/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"6bb6519d25ffb597eadaf1019ffa708379c0f552","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/6bb6519d25ffb597eadaf1019ffa708379c0f552","html_url":"https://github.com/inverse-inc/packetfence/commit/6bb6519d25ffb597eadaf1019ffa708379c0f552"}]},{"sha":"e0741c173cff54c194e5a0b19cc55dc5916d8f8b","node_id":"MDY6Q29tbWl0MzU5NTY1ODplMDc0MWMxNzNjZmY1NGMxOTRlNWEwYjE5Y2M1NWRjNTkxNmQ4Zjhi","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-20T22:17:54Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:24Z"},"message":"Remove unused functions","tree":{"sha":"8ebf8d94cc490f95c0ddfc70b891514832ffc7b0","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/8ebf8d94cc490f95c0ddfc70b891514832ffc7b0"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/e0741c173cff54c194e5a0b19cc55dc5916d8f8b","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/e0741c173cff54c194e5a0b19cc55dc5916d8f8b","html_url":"https://github.com/inverse-inc/packetfence/commit/e0741c173cff54c194e5a0b19cc55dc5916d8f8b","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/e0741c173cff54c194e5a0b19cc55dc5916d8f8b/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"f99f9027b8deedc1178535d519a222ff76c33a90","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f99f9027b8deedc1178535d519a222ff76c33a90","html_url":"https://github.com/inverse-inc/packetfence/commit/f99f9027b8deedc1178535d519a222ff76c33a90"}]},{"sha":"8e09358e9d7d3835e10536f5adb2aae79ef0e491","node_id":"MDY6Q29tbWl0MzU5NTY1ODo4ZTA5MzU4ZTlkN2QzODM1ZTEwNTM2ZjVhZGIyYWFlNzllZjBlNDkx","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-21T19:32:36Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:25Z"},"message":"Do not remove callbacks during expire_if","tree":{"sha":"52b33d781c135cdf5922e4d1e88fbbd586172b53","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/52b33d781c135cdf5922e4d1e88fbbd586172b53"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/8e09358e9d7d3835e10536f5adb2aae79ef0e491","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/8e09358e9d7d3835e10536f5adb2aae79ef0e491","html_url":"https://github.com/inverse-inc/packetfence/commit/8e09358e9d7d3835e10536f5adb2aae79ef0e491","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/8e09358e9d7d3835e10536f5adb2aae79ef0e491/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"e0741c173cff54c194e5a0b19cc55dc5916d8f8b","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/e0741c173cff54c194e5a0b19cc55dc5916d8f8b","html_url":"https://github.com/inverse-inc/packetfence/commit/e0741c173cff54c194e5a0b19cc55dc5916d8f8b"}]},{"sha":"37cc9cc43e69e2bb0317eb01e19a7a7290175e8d","node_id":"MDY6Q29tbWl0MzU5NTY1ODozN2NjOWNjNDNlNjllMmJiMDMxN2ViMDFlMTlhN2E3MjkwMTc1ZThk","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-24T20:45:36Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:26Z"},"message":"Deal with the case of an non existent file","tree":{"sha":"5e8f6c137157b74d20180a6cd8419ca24b54f621","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/5e8f6c137157b74d20180a6cd8419ca24b54f621"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/37cc9cc43e69e2bb0317eb01e19a7a7290175e8d","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/37cc9cc43e69e2bb0317eb01e19a7a7290175e8d","html_url":"https://github.com/inverse-inc/packetfence/commit/37cc9cc43e69e2bb0317eb01e19a7a7290175e8d","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/37cc9cc43e69e2bb0317eb01e19a7a7290175e8d/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"8e09358e9d7d3835e10536f5adb2aae79ef0e491","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/8e09358e9d7d3835e10536f5adb2aae79ef0e491","html_url":"https://github.com/inverse-inc/packetfence/commit/8e09358e9d7d3835e10536f5adb2aae79ef0e491"}]},{"sha":"0f6cda431341c720333e5dbd0e1b921dbb8c6468","node_id":"MDY6Q29tbWl0MzU5NTY1ODowZjZjZGE0MzEzNDFjNzIwMzMzZTVkYmQwZTFiOTIxZGJiOGM2NDY4","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-24T20:59:33Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:26Z"},"message":"Rename ReadConfig to ReloadConfig to avoid calling callbacks twice","tree":{"sha":"ffd7fb700ddb84c0785b587934334c21c8a7c3ae","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/ffd7fb700ddb84c0785b587934334c21c8a7c3ae"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/0f6cda431341c720333e5dbd0e1b921dbb8c6468","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/0f6cda431341c720333e5dbd0e1b921dbb8c6468","html_url":"https://github.com/inverse-inc/packetfence/commit/0f6cda431341c720333e5dbd0e1b921dbb8c6468","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/0f6cda431341c720333e5dbd0e1b921dbb8c6468/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"37cc9cc43e69e2bb0317eb01e19a7a7290175e8d","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/37cc9cc43e69e2bb0317eb01e19a7a7290175e8d","html_url":"https://github.com/inverse-inc/packetfence/commit/37cc9cc43e69e2bb0317eb01e19a7a7290175e8d"}]},{"sha":"cb64794a046761d157a0e75258e7710c5aed9282","node_id":"MDY6Q29tbWl0MzU5NTY1ODpjYjY0Nzk0YTA0Njc2MWQxNTdhMGU3NTI1OGU3NzEwYzVhZWQ5Mjgy","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-24T21:27:01Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:27Z"},"message":"Remove duplicated use statement","tree":{"sha":"0796abbbbfc0da4d868218bb36d8c3c65ff1f288","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/0796abbbbfc0da4d868218bb36d8c3c65ff1f288"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/cb64794a046761d157a0e75258e7710c5aed9282","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/cb64794a046761d157a0e75258e7710c5aed9282","html_url":"https://github.com/inverse-inc/packetfence/commit/cb64794a046761d157a0e75258e7710c5aed9282","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/cb64794a046761d157a0e75258e7710c5aed9282/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"0f6cda431341c720333e5dbd0e1b921dbb8c6468","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/0f6cda431341c720333e5dbd0e1b921dbb8c6468","html_url":"https://github.com/inverse-inc/packetfence/commit/0f6cda431341c720333e5dbd0e1b921dbb8c6468"}]},{"sha":"f28574e3f12d696f67349230349b11ff575f2c4e","node_id":"MDY6Q29tbWl0MzU5NTY1ODpmMjg1NzRlM2YxMmQ2OTZmNjczNDkyMzAzNDliMTFmZjU3NWYyYzRl","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-24T21:30:04Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:28Z"},"message":"Added new option -nocache","tree":{"sha":"14e5f0b643f37ce65ea80e1384c5c282f44537a8","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/14e5f0b643f37ce65ea80e1384c5c282f44537a8"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/f28574e3f12d696f67349230349b11ff575f2c4e","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f28574e3f12d696f67349230349b11ff575f2c4e","html_url":"https://github.com/inverse-inc/packetfence/commit/f28574e3f12d696f67349230349b11ff575f2c4e","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f28574e3f12d696f67349230349b11ff575f2c4e/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"cb64794a046761d157a0e75258e7710c5aed9282","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/cb64794a046761d157a0e75258e7710c5aed9282","html_url":"https://github.com/inverse-inc/packetfence/commit/cb64794a046761d157a0e75258e7710c5aed9282"}]},{"sha":"1fa04fa3e7a935302150673ee6518e2f7e7d9298","node_id":"MDY6Q29tbWl0MzU5NTY1ODoxZmEwNGZhM2U3YTkzNTMwMjE1MDY3M2VlNjUxOGUyZjdlN2Q5Mjk4","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-26T03:06:25Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:29Z"},"message":"New method isWriteLocked","tree":{"sha":"a57b9634e5b5c525b36840092da90c71ad51cfcf","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/a57b9634e5b5c525b36840092da90c71ad51cfcf"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/1fa04fa3e7a935302150673ee6518e2f7e7d9298","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/1fa04fa3e7a935302150673ee6518e2f7e7d9298","html_url":"https://github.com/inverse-inc/packetfence/commit/1fa04fa3e7a935302150673ee6518e2f7e7d9298","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/1fa04fa3e7a935302150673ee6518e2f7e7d9298/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"f28574e3f12d696f67349230349b11ff575f2c4e","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f28574e3f12d696f67349230349b11ff575f2c4e","html_url":"https://github.com/inverse-inc/packetfence/commit/f28574e3f12d696f67349230349b11ff575f2c4e"}]},{"sha":"821b3a1524e7f7ef0f25dcc2ee7614d1d6e7dd25","node_id":"MDY6Q29tbWl0MzU5NTY1ODo4MjFiM2ExNTI0ZTdmN2VmMGYyNWRjYzJlZTc2MTRkMWQ2ZTdkZDI1","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-26T15:29:07Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:29Z"},"message":"New attribute lockAcquired to keep track if the lock was acquired","tree":{"sha":"69492d34321a258be66ac5007e9ed8fdadc26a45","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/69492d34321a258be66ac5007e9ed8fdadc26a45"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/821b3a1524e7f7ef0f25dcc2ee7614d1d6e7dd25","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/821b3a1524e7f7ef0f25dcc2ee7614d1d6e7dd25","html_url":"https://github.com/inverse-inc/packetfence/commit/821b3a1524e7f7ef0f25dcc2ee7614d1d6e7dd25","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/821b3a1524e7f7ef0f25dcc2ee7614d1d6e7dd25/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"1fa04fa3e7a935302150673ee6518e2f7e7d9298","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/1fa04fa3e7a935302150673ee6518e2f7e7d9298","html_url":"https://github.com/inverse-inc/packetfence/commit/1fa04fa3e7a935302150673ee6518e2f7e7d9298"}]},{"sha":"7af04e82c90d62cb2b547938bb7caf1abe7a1cb1","node_id":"MDY6Q29tbWl0MzU5NTY1ODo3YWYwNGU4MmM5MGQ2MmNiMmI1NDc5MzhiYjdjYWYxYWJlN2ExY2Ix","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-27T16:04:17Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:30Z"},"message":"Disconnect all cached connections","tree":{"sha":"c5d38439fbd3d9c7594d278154d6215fec02eba9","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/c5d38439fbd3d9c7594d278154d6215fec02eba9"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/7af04e82c90d62cb2b547938bb7caf1abe7a1cb1","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/7af04e82c90d62cb2b547938bb7caf1abe7a1cb1","html_url":"https://github.com/inverse-inc/packetfence/commit/7af04e82c90d62cb2b547938bb7caf1abe7a1cb1","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/7af04e82c90d62cb2b547938bb7caf1abe7a1cb1/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"821b3a1524e7f7ef0f25dcc2ee7614d1d6e7dd25","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/821b3a1524e7f7ef0f25dcc2ee7614d1d6e7dd25","html_url":"https://github.com/inverse-inc/packetfence/commit/821b3a1524e7f7ef0f25dcc2ee7614d1d6e7dd25"}]},{"sha":"3f092776e38d80cc1809e8a81c1b36d92b656a12","node_id":"MDY6Q29tbWl0MzU5NTY1ODozZjA5Mjc3NmUzOGQ4MGNjMTgwOWU4YTgxYzFiMzZkOTJiNjU2YTEy","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-28T18:35:44Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:31Z"},"message":"Reworked HasExpired so it will not expire if a reload is happening","tree":{"sha":"5e522fa85681376bd6df220b69cd69c95013a25e","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/5e522fa85681376bd6df220b69cd69c95013a25e"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/3f092776e38d80cc1809e8a81c1b36d92b656a12","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/3f092776e38d80cc1809e8a81c1b36d92b656a12","html_url":"https://github.com/inverse-inc/packetfence/commit/3f092776e38d80cc1809e8a81c1b36d92b656a12","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/3f092776e38d80cc1809e8a81c1b36d92b656a12/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"7af04e82c90d62cb2b547938bb7caf1abe7a1cb1","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/7af04e82c90d62cb2b547938bb7caf1abe7a1cb1","html_url":"https://github.com/inverse-inc/packetfence/commit/7af04e82c90d62cb2b547938bb7caf1abe7a1cb1"}]},{"sha":"96e54e6c76e3c32ea2bb776f5a4f2772c01be3d5","node_id":"MDY6Q29tbWl0MzU5NTY1ODo5NmU1NGU2Yzc2ZTNjMzJlYTJiYjc3NmY1YTRmMjc3MmMwMWJlM2Q1","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-28T22:23:10Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:31Z"},"message":"Fix blocking of processes","tree":{"sha":"0a40b80223b7e18ca08d2c15cef7b8f8a55e358f","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/0a40b80223b7e18ca08d2c15cef7b8f8a55e358f"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/96e54e6c76e3c32ea2bb776f5a4f2772c01be3d5","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/96e54e6c76e3c32ea2bb776f5a4f2772c01be3d5","html_url":"https://github.com/inverse-inc/packetfence/commit/96e54e6c76e3c32ea2bb776f5a4f2772c01be3d5","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/96e54e6c76e3c32ea2bb776f5a4f2772c01be3d5/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"3f092776e38d80cc1809e8a81c1b36d92b656a12","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/3f092776e38d80cc1809e8a81c1b36d92b656a12","html_url":"https://github.com/inverse-inc/packetfence/commit/3f092776e38d80cc1809e8a81c1b36d92b656a12"}]},{"sha":"a599c9a0ce00aef09c2e8f2b47d159fdc34991bd","node_id":"MDY6Q29tbWl0MzU5NTY1ODphNTk5YzlhMGNlMDBhZWYwOWMyZThmMmI0N2QxNTlmZGMzNDk5MWJk","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-01T14:57:25Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:32Z"},"message":"Refactor compare to make it more clear","tree":{"sha":"225876fc05f74ea8854ee0a04867e613bfe13abc","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/225876fc05f74ea8854ee0a04867e613bfe13abc"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/a599c9a0ce00aef09c2e8f2b47d159fdc34991bd","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/a599c9a0ce00aef09c2e8f2b47d159fdc34991bd","html_url":"https://github.com/inverse-inc/packetfence/commit/a599c9a0ce00aef09c2e8f2b47d159fdc34991bd","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/a599c9a0ce00aef09c2e8f2b47d159fdc34991bd/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"96e54e6c76e3c32ea2bb776f5a4f2772c01be3d5","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/96e54e6c76e3c32ea2bb776f5a4f2772c01be3d5","html_url":"https://github.com/inverse-inc/packetfence/commit/96e54e6c76e3c32ea2bb776f5a4f2772c01be3d5"}]},{"sha":"b7335d093c7aae9707f062a57738315b64b4044c","node_id":"MDY6Q29tbWl0MzU5NTY1ODpiNzMzNWQwOTNjN2FhZTk3MDdmMDYyYTU3NzM4MzE1YjY0YjQwNDRj","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-01T17:26:37Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:33Z"},"message":"Expiration of config cache cannot happen during a reload of the cache\n\nRemoved UpdateControlConfigs\nAdded new function RefreshConfigs","tree":{"sha":"127913ee48d6b9a2adcb691be901daa5c7edab63","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/127913ee48d6b9a2adcb691be901daa5c7edab63"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/b7335d093c7aae9707f062a57738315b64b4044c","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/b7335d093c7aae9707f062a57738315b64b4044c","html_url":"https://github.com/inverse-inc/packetfence/commit/b7335d093c7aae9707f062a57738315b64b4044c","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/b7335d093c7aae9707f062a57738315b64b4044c/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"a599c9a0ce00aef09c2e8f2b47d159fdc34991bd","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/a599c9a0ce00aef09c2e8f2b47d159fdc34991bd","html_url":"https://github.com/inverse-inc/packetfence/commit/a599c9a0ce00aef09c2e8f2b47d159fdc34991bd"}]},{"sha":"63aef42d66bf0736dd3a9fc5f472b51579bd6c4b","node_id":"MDY6Q29tbWl0MzU5NTY1ODo2M2FlZjQyZDY2YmYwNzM2ZGQzYTlmYzVmNDcyYjUxNTc5YmQ2YzRi","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-01T17:35:55Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:33Z"},"message":"Will refresh from the cache instead of reload","tree":{"sha":"cc99fdd5b843486c40422f076dedcfb89fe6c08f","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/cc99fdd5b843486c40422f076dedcfb89fe6c08f"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/63aef42d66bf0736dd3a9fc5f472b51579bd6c4b","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/63aef42d66bf0736dd3a9fc5f472b51579bd6c4b","html_url":"https://github.com/inverse-inc/packetfence/commit/63aef42d66bf0736dd3a9fc5f472b51579bd6c4b","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/63aef42d66bf0736dd3a9fc5f472b51579bd6c4b/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"b7335d093c7aae9707f062a57738315b64b4044c","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/b7335d093c7aae9707f062a57738315b64b4044c","html_url":"https://github.com/inverse-inc/packetfence/commit/b7335d093c7aae9707f062a57738315b64b4044c"}]},{"sha":"1a33936d42f604da780d5e0536ae7ba9b0f93a40","node_id":"MDY6Q29tbWl0MzU5NTY1ODoxYTMzOTM2ZDQyZjYwNGRhNzgwZDVlMDUzNmFlN2JhOWIwZjkzYTQw","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-01T18:20:38Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:34Z"},"message":"Rename method isWriteLocked to isWriteLockedByAnother and added a check if another process has the lock","tree":{"sha":"6e3e07259585f52a8a18d3b7e58deb152008a36d","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/6e3e07259585f52a8a18d3b7e58deb152008a36d"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/1a33936d42f604da780d5e0536ae7ba9b0f93a40","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/1a33936d42f604da780d5e0536ae7ba9b0f93a40","html_url":"https://github.com/inverse-inc/packetfence/commit/1a33936d42f604da780d5e0536ae7ba9b0f93a40","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/1a33936d42f604da780d5e0536ae7ba9b0f93a40/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"63aef42d66bf0736dd3a9fc5f472b51579bd6c4b","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/63aef42d66bf0736dd3a9fc5f472b51579bd6c4b","html_url":"https://github.com/inverse-inc/packetfence/commit/63aef42d66bf0736dd3a9fc5f472b51579bd6c4b"}]},{"sha":"c1e25d227b2190f73e7c366554c23b5447478e0a","node_id":"MDY6Q29tbWl0MzU5NTY1ODpjMWUyNWQyMjdiMjE5MGY3M2U3YzM2NjU1NGMyM2I1NDQ3NDc4ZTBh","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-01T18:21:48Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:34Z"},"message":"Added a global lock","tree":{"sha":"cd9ed7d7c3e60b4f077e26165b5764ed67b9860e","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/cd9ed7d7c3e60b4f077e26165b5764ed67b9860e"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/c1e25d227b2190f73e7c366554c23b5447478e0a","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c1e25d227b2190f73e7c366554c23b5447478e0a","html_url":"https://github.com/inverse-inc/packetfence/commit/c1e25d227b2190f73e7c366554c23b5447478e0a","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c1e25d227b2190f73e7c366554c23b5447478e0a/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"1a33936d42f604da780d5e0536ae7ba9b0f93a40","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/1a33936d42f604da780d5e0536ae7ba9b0f93a40","html_url":"https://github.com/inverse-inc/packetfence/commit/1a33936d42f604da780d5e0536ae7ba9b0f93a40"}]},{"sha":"426ddc985b67cacc612868d098f86cecc9f14c77","node_id":"MDY6Q29tbWl0MzU5NTY1ODo0MjZkZGM5ODViNjdjYWNjNjEyODY4ZDA5OGY4NmNlY2M5ZjE0Yzc3","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-01T18:23:11Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:35Z"},"message":"New test script for testing the refreshing of the config cache","tree":{"sha":"973a15535b4175bb78549693b2e9f4e0529d8ca9","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/973a15535b4175bb78549693b2e9f4e0529d8ca9"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/426ddc985b67cacc612868d098f86cecc9f14c77","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/426ddc985b67cacc612868d098f86cecc9f14c77","html_url":"https://github.com/inverse-inc/packetfence/commit/426ddc985b67cacc612868d098f86cecc9f14c77","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/426ddc985b67cacc612868d098f86cecc9f14c77/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"c1e25d227b2190f73e7c366554c23b5447478e0a","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c1e25d227b2190f73e7c366554c23b5447478e0a","html_url":"https://github.com/inverse-inc/packetfence/commit/c1e25d227b2190f73e7c366554c23b5447478e0a"}]},{"sha":"424bba4f2d62dcd0e4e213653db085c5b583ece8","node_id":"MDY6Q29tbWl0MzU5NTY1ODo0MjRiYmE0ZjJkNjJkY2QwZTRlMjEzNjUzZGIwODVjNWI1ODNlY2U4","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-01T19:24:41Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:36Z"},"message":"Fixed typo","tree":{"sha":"02b56e0ddbc1097e81735aae6b1afbdb94b58756","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/02b56e0ddbc1097e81735aae6b1afbdb94b58756"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/424bba4f2d62dcd0e4e213653db085c5b583ece8","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/424bba4f2d62dcd0e4e213653db085c5b583ece8","html_url":"https://github.com/inverse-inc/packetfence/commit/424bba4f2d62dcd0e4e213653db085c5b583ece8","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/424bba4f2d62dcd0e4e213653db085c5b583ece8/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"426ddc985b67cacc612868d098f86cecc9f14c77","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/426ddc985b67cacc612868d098f86cecc9f14c77","html_url":"https://github.com/inverse-inc/packetfence/commit/426ddc985b67cacc612868d098f86cecc9f14c77"}]},{"sha":"aab2d6ad33f948e33c2bca932729b5c04ec27a8f","node_id":"MDY6Q29tbWl0MzU5NTY1ODphYWIyZDZhZDMzZjk0OGUzM2MyYmNhOTMyNzI5YjVjMDRlYzI3YThm","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-01T20:36:33Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:36Z"},"message":"Use the pf::CHI for variable for the datastore","tree":{"sha":"a751111038201814e8680e4b4fbd7c8927d82dd4","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/a751111038201814e8680e4b4fbd7c8927d82dd4"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/aab2d6ad33f948e33c2bca932729b5c04ec27a8f","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/aab2d6ad33f948e33c2bca932729b5c04ec27a8f","html_url":"https://github.com/inverse-inc/packetfence/commit/aab2d6ad33f948e33c2bca932729b5c04ec27a8f","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/aab2d6ad33f948e33c2bca932729b5c04ec27a8f/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"424bba4f2d62dcd0e4e213653db085c5b583ece8","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/424bba4f2d62dcd0e4e213653db085c5b583ece8","html_url":"https://github.com/inverse-inc/packetfence/commit/424bba4f2d62dcd0e4e213653db085c5b583ece8"}]},{"sha":"e1e6ea03532fa1dafc5145a831e1d194daad136b","node_id":"MDY6Q29tbWl0MzU5NTY1ODplMWU2ZWEwMzUzMmZhMWRhZmM1MTQ1YTgzMWUxZDE5NGRhYWQxMzZi","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-02T16:01:15Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:37Z"},"message":"commit Will result an error message on failure","tree":{"sha":"671c8ce8f65eab25a681affd9496d6c7df894bb0","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/671c8ce8f65eab25a681affd9496d6c7df894bb0"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/e1e6ea03532fa1dafc5145a831e1d194daad136b","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/e1e6ea03532fa1dafc5145a831e1d194daad136b","html_url":"https://github.com/inverse-inc/packetfence/commit/e1e6ea03532fa1dafc5145a831e1d194daad136b","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/e1e6ea03532fa1dafc5145a831e1d194daad136b/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"aab2d6ad33f948e33c2bca932729b5c04ec27a8f","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/aab2d6ad33f948e33c2bca932729b5c04ec27a8f","html_url":"https://github.com/inverse-inc/packetfence/commit/aab2d6ad33f948e33c2bca932729b5c04ec27a8f"}]},{"sha":"84b8abc8509d242243f6d59705c7521ac870fb0b","node_id":"MDY6Q29tbWl0MzU5NTY1ODo4NGI4YWJjODUwOWQyNDIyNDNmNmQ1OTcwNWM3NTIxYWM4NzBmYjBi","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-02T16:04:30Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:38Z"},"message":"Cannot rewrite file while a reload is happening","tree":{"sha":"53ebceea0c8ddb5fa2717a15f642d8d860d7a5de","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/53ebceea0c8ddb5fa2717a15f642d8d860d7a5de"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/84b8abc8509d242243f6d59705c7521ac870fb0b","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/84b8abc8509d242243f6d59705c7521ac870fb0b","html_url":"https://github.com/inverse-inc/packetfence/commit/84b8abc8509d242243f6d59705c7521ac870fb0b","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/84b8abc8509d242243f6d59705c7521ac870fb0b/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"e1e6ea03532fa1dafc5145a831e1d194daad136b","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/e1e6ea03532fa1dafc5145a831e1d194daad136b","html_url":"https://github.com/inverse-inc/packetfence/commit/e1e6ea03532fa1dafc5145a831e1d194daad136b"}]},{"sha":"4abc31756682da8bab425b0c1ddfa2702f4d04a0","node_id":"MDY6Q29tbWl0MzU5NTY1ODo0YWJjMzE3NTY2ODJkYThiYWI0MjViMGMxZGRmYTI3MDJmNGQwNGEw","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-02T16:05:21Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:00:38Z"},"message":"Will display error message from ConfigStore::commit on error","tree":{"sha":"08c7964c57b1cd3b770d460256d45fa43befad4b","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/08c7964c57b1cd3b770d460256d45fa43befad4b"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/4abc31756682da8bab425b0c1ddfa2702f4d04a0","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/4abc31756682da8bab425b0c1ddfa2702f4d04a0","html_url":"https://github.com/inverse-inc/packetfence/commit/4abc31756682da8bab425b0c1ddfa2702f4d04a0","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/4abc31756682da8bab425b0c1ddfa2702f4d04a0/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"84b8abc8509d242243f6d59705c7521ac870fb0b","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/84b8abc8509d242243f6d59705c7521ac870fb0b","html_url":"https://github.com/inverse-inc/packetfence/commit/84b8abc8509d242243f6d59705c7521ac870fb0b"}]},{"sha":"9d3d2061065351f36618818e8b54d1c30fb814d2","node_id":"MDY6Q29tbWl0MzU5NTY1ODo5ZDNkMjA2MTA2NTM1MWYzNjYxODgxOGU4YjU0ZDFjMzBmYjgxNGQy","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-18T18:04:53Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:07:43Z"},"message":"Added new cache namespace for caching ldap role match","tree":{"sha":"23dcbd3d8592bbb360fe2cda0767e9744f61034f","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/23dcbd3d8592bbb360fe2cda0767e9744f61034f"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/9d3d2061065351f36618818e8b54d1c30fb814d2","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9d3d2061065351f36618818e8b54d1c30fb814d2","html_url":"https://github.com/inverse-inc/packetfence/commit/9d3d2061065351f36618818e8b54d1c30fb814d2","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9d3d2061065351f36618818e8b54d1c30fb814d2/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"4abc31756682da8bab425b0c1ddfa2702f4d04a0","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/4abc31756682da8bab425b0c1ddfa2702f4d04a0","html_url":"https://github.com/inverse-inc/packetfence/commit/4abc31756682da8bab425b0c1ddfa2702f4d04a0"}]},{"sha":"3712066781d97318fa22659497f48076c4f7c68c","node_id":"MDY6Q29tbWl0MzU5NTY1ODozNzEyMDY2NzgxZDk3MzE4ZmEyMjY1OTQ5N2Y0ODA3NmM0ZjdjNjhj","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-18T18:29:02Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:07:44Z"},"message":"Cache results of the match","tree":{"sha":"f4e7e1e7c95b3c38dd70ef8e8998f7a7005f86eb","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/f4e7e1e7c95b3c38dd70ef8e8998f7a7005f86eb"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/3712066781d97318fa22659497f48076c4f7c68c","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/3712066781d97318fa22659497f48076c4f7c68c","html_url":"https://github.com/inverse-inc/packetfence/commit/3712066781d97318fa22659497f48076c4f7c68c","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/3712066781d97318fa22659497f48076c4f7c68c/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"9d3d2061065351f36618818e8b54d1c30fb814d2","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9d3d2061065351f36618818e8b54d1c30fb814d2","html_url":"https://github.com/inverse-inc/packetfence/commit/9d3d2061065351f36618818e8b54d1c30fb814d2"}]},{"sha":"690dc81e107e5cf29a0db03201dc54fa8d52ce74","node_id":"MDY6Q29tbWl0MzU5NTY1ODo2OTBkYzgxZTEwN2U1Y2YyOWEwZGIwMzIwMWRjNTRmYThkNTJjZTc0","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-18T19:28:22Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:11:21Z"},"message":"Add an additional check to make sure caching is configured for source","tree":{"sha":"0e26c82dc3dc8442d146486e1dc0339e1945860c","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/0e26c82dc3dc8442d146486e1dc0339e1945860c"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/690dc81e107e5cf29a0db03201dc54fa8d52ce74","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/690dc81e107e5cf29a0db03201dc54fa8d52ce74","html_url":"https://github.com/inverse-inc/packetfence/commit/690dc81e107e5cf29a0db03201dc54fa8d52ce74","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/690dc81e107e5cf29a0db03201dc54fa8d52ce74/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"3712066781d97318fa22659497f48076c4f7c68c","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/3712066781d97318fa22659497f48076c4f7c68c","html_url":"https://github.com/inverse-inc/packetfence/commit/3712066781d97318fa22659497f48076c4f7c68c"}]},{"sha":"4afa12b520493135cc5318a8b79e9e3281214097","node_id":"MDY6Q29tbWl0MzU5NTY1ODo0YWZhMTJiNTIwNDkzMTM1Y2M1MzE4YThiNzllOWUzMjgxMjE0MDk3","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-11-18T19:29:04Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:11:28Z"},"message":"Made caching configurable","tree":{"sha":"27ffda992836603b1eb954527d10ef6d7a139188","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/27ffda992836603b1eb954527d10ef6d7a139188"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/4afa12b520493135cc5318a8b79e9e3281214097","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/4afa12b520493135cc5318a8b79e9e3281214097","html_url":"https://github.com/inverse-inc/packetfence/commit/4afa12b520493135cc5318a8b79e9e3281214097","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/4afa12b520493135cc5318a8b79e9e3281214097/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"690dc81e107e5cf29a0db03201dc54fa8d52ce74","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/690dc81e107e5cf29a0db03201dc54fa8d52ce74","html_url":"https://github.com/inverse-inc/packetfence/commit/690dc81e107e5cf29a0db03201dc54fa8d52ce74"}]},{"sha":"ad86a667db72bc01daac1c80c9b4b1d149691bb9","node_id":"MDY6Q29tbWl0MzU5NTY1ODphZDg2YTY2N2RiNzJiYzAxZGFhYzFjODBjOWI0YjFkMTQ5NjkxYmI5","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-02T20:41:49Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:11:29Z"},"message":"Give rules a default value","tree":{"sha":"9142bd188cf745db7c81bcb35fd8dbaafed9a2f8","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/9142bd188cf745db7c81bcb35fd8dbaafed9a2f8"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/ad86a667db72bc01daac1c80c9b4b1d149691bb9","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ad86a667db72bc01daac1c80c9b4b1d149691bb9","html_url":"https://github.com/inverse-inc/packetfence/commit/ad86a667db72bc01daac1c80c9b4b1d149691bb9","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ad86a667db72bc01daac1c80c9b4b1d149691bb9/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"4afa12b520493135cc5318a8b79e9e3281214097","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/4afa12b520493135cc5318a8b79e9e3281214097","html_url":"https://github.com/inverse-inc/packetfence/commit/4afa12b520493135cc5318a8b79e9e3281214097"}]},{"sha":"44e1cd2b947515c2156bdfa10864d256046b17bc","node_id":"MDY6Q29tbWl0MzU5NTY1ODo0NGUxY2QyYjk0NzUxNWMyMTU2YmRmYTEwODY0ZDI1NjA0NmIxN2Jj","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T18:52:36Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:11:30Z"},"message":"Fixed undef array error","tree":{"sha":"5f2db6ce5252657eaada6e60e69d0d643053e975","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/5f2db6ce5252657eaada6e60e69d0d643053e975"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/44e1cd2b947515c2156bdfa10864d256046b17bc","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/44e1cd2b947515c2156bdfa10864d256046b17bc","html_url":"https://github.com/inverse-inc/packetfence/commit/44e1cd2b947515c2156bdfa10864d256046b17bc","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/44e1cd2b947515c2156bdfa10864d256046b17bc/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"ad86a667db72bc01daac1c80c9b4b1d149691bb9","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ad86a667db72bc01daac1c80c9b4b1d149691bb9","html_url":"https://github.com/inverse-inc/packetfence/commit/ad86a667db72bc01daac1c80c9b4b1d149691bb9"}]},{"sha":"c6636ad710e32a76df276b5c3cdf0a8fd64d26bd","node_id":"MDY6Q29tbWl0MzU5NTY1ODpjNjYzNmFkNzEwZTMyYTc2ZGYyNzZiNWMzY2RmMGE4ZmQ2NGQyNmJk","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T18:54:24Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:11:31Z"},"message":"Added a test LDAP source","tree":{"sha":"00a958289d96f881014eaa9ba128bafcac776390","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/00a958289d96f881014eaa9ba128bafcac776390"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/c6636ad710e32a76df276b5c3cdf0a8fd64d26bd","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c6636ad710e32a76df276b5c3cdf0a8fd64d26bd","html_url":"https://github.com/inverse-inc/packetfence/commit/c6636ad710e32a76df276b5c3cdf0a8fd64d26bd","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c6636ad710e32a76df276b5c3cdf0a8fd64d26bd/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"44e1cd2b947515c2156bdfa10864d256046b17bc","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/44e1cd2b947515c2156bdfa10864d256046b17bc","html_url":"https://github.com/inverse-inc/packetfence/commit/44e1cd2b947515c2156bdfa10864d256046b17bc"}]},{"sha":"1607e9eb54362f0f7a215e07ef9f2d12bb2cae2f","node_id":"MDY6Q29tbWl0MzU5NTY1ODoxNjA3ZTllYjU0MzYyZjBmN2EyMTVlMDdlZjlmMmQxMmJiMmNhZTJm","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T18:56:42Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:11:32Z"},"message":"Added test for ldap role caching","tree":{"sha":"c0bf3e8fb682656717645bc761b9b8d357b6b5ef","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/c0bf3e8fb682656717645bc761b9b8d357b6b5ef"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/1607e9eb54362f0f7a215e07ef9f2d12bb2cae2f","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/1607e9eb54362f0f7a215e07ef9f2d12bb2cae2f","html_url":"https://github.com/inverse-inc/packetfence/commit/1607e9eb54362f0f7a215e07ef9f2d12bb2cae2f","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/1607e9eb54362f0f7a215e07ef9f2d12bb2cae2f/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"c6636ad710e32a76df276b5c3cdf0a8fd64d26bd","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c6636ad710e32a76df276b5c3cdf0a8fd64d26bd","html_url":"https://github.com/inverse-inc/packetfence/commit/c6636ad710e32a76df276b5c3cdf0a8fd64d26bd"}]},{"sha":"f7a1a4cda6859c1d4f0dd968c94b6f52839b18dd","node_id":"MDY6Q29tbWl0MzU5NTY1ODpmN2ExYTRjZGE2ODU5YzFkNGYwZGQ5NjhjOTRiNmY1MjgzOWIxOGRk","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:14:45Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-11T19:14:45Z"},"message":"Check to see if the chi driver is passed","tree":{"sha":"4d002ffb5cb4b6c218d104b00d84504158f06bb0","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/4d002ffb5cb4b6c218d104b00d84504158f06bb0"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/f7a1a4cda6859c1d4f0dd968c94b6f52839b18dd","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f7a1a4cda6859c1d4f0dd968c94b6f52839b18dd","html_url":"https://github.com/inverse-inc/packetfence/commit/f7a1a4cda6859c1d4f0dd968c94b6f52839b18dd","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f7a1a4cda6859c1d4f0dd968c94b6f52839b18dd/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"1607e9eb54362f0f7a215e07ef9f2d12bb2cae2f","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/1607e9eb54362f0f7a215e07ef9f2d12bb2cae2f","html_url":"https://github.com/inverse-inc/packetfence/commit/1607e9eb54362f0f7a215e07ef9f2d12bb2cae2f"}]},{"sha":"49c45a45f47736e7e2c7493dc42aea639ddb9f29","node_id":"MDY6Q29tbWl0MzU5NTY1ODo0OWM0NWE0NWY0NzczNmU3ZTJjNzQ5M2RjNDJhZWE2MzlkZGI5ZjI5","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-16T15:15:23Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-16T15:15:23Z"},"message":"Updated CHI package version","tree":{"sha":"9c202ef25baf6dce6e1c1c9925dea3363ab02c9a","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/9c202ef25baf6dce6e1c1c9925dea3363ab02c9a"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/49c45a45f47736e7e2c7493dc42aea639ddb9f29","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/49c45a45f47736e7e2c7493dc42aea639ddb9f29","html_url":"https://github.com/inverse-inc/packetfence/commit/49c45a45f47736e7e2c7493dc42aea639ddb9f29","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/49c45a45f47736e7e2c7493dc42aea639ddb9f29/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"f7a1a4cda6859c1d4f0dd968c94b6f52839b18dd","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f7a1a4cda6859c1d4f0dd968c94b6f52839b18dd","html_url":"https://github.com/inverse-inc/packetfence/commit/f7a1a4cda6859c1d4f0dd968c94b6f52839b18dd"}]},{"sha":"708c1091207dcf57219575291b1cf950cb9b26d8","node_id":"MDY6Q29tbWl0MzU5NTY1ODo3MDhjMTA5MTIwN2RjZjU3MjE5NTc1MjkxYjFjZjk1MGNiOWIyNmQ4","commit":{"author":{"name":"Derek Wuelfrath","email":"dwuelfrath@inverse.ca","date":"2014-12-17T21:14:54Z"},"committer":{"name":"Derek Wuelfrath","email":"dwuelfrath@inverse.ca","date":"2014-12-17T21:25:27Z"},"message":"100 seconds is way to short for an iplog record to live in the case of webauth. Pass this timeframe, PacketFence will not be able to fetch the MAC and won't be able to achieve anything else.","tree":{"sha":"276545e472f7ea93c252a2cef10cf93c457f5e3c","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/276545e472f7ea93c252a2cef10cf93c457f5e3c"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/708c1091207dcf57219575291b1cf950cb9b26d8","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/708c1091207dcf57219575291b1cf950cb9b26d8","html_url":"https://github.com/inverse-inc/packetfence/commit/708c1091207dcf57219575291b1cf950cb9b26d8","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/708c1091207dcf57219575291b1cf950cb9b26d8/comments","author":null,"committer":null,"parents":[{"sha":"49c45a45f47736e7e2c7493dc42aea639ddb9f29","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/49c45a45f47736e7e2c7493dc42aea639ddb9f29","html_url":"https://github.com/inverse-inc/packetfence/commit/49c45a45f47736e7e2c7493dc42aea639ddb9f29"}]},{"sha":"eff1ccacec94d45647590b3e4e314d45d2825645","node_id":"MDY6Q29tbWl0MzU5NTY1ODplZmYxY2NhY2VjOTRkNDU2NDc1OTBiM2U0ZTMxNGQ0NWQyODI1NjQ1","commit":{"author":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2014-12-18T19:21:54Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2014-12-18T19:27:40Z"},"message":"fix port sec table corruption when deauthorizing voip","tree":{"sha":"2060bac5895b8d52e8c7e4f1b1a187ed6cf04dab","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/2060bac5895b8d52e8c7e4f1b1a187ed6cf04dab"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/eff1ccacec94d45647590b3e4e314d45d2825645","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/eff1ccacec94d45647590b3e4e314d45d2825645","html_url":"https://github.com/inverse-inc/packetfence/commit/eff1ccacec94d45647590b3e4e314d45d2825645","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/eff1ccacec94d45647590b3e4e314d45d2825645/comments","author":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"708c1091207dcf57219575291b1cf950cb9b26d8","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/708c1091207dcf57219575291b1cf950cb9b26d8","html_url":"https://github.com/inverse-inc/packetfence/commit/708c1091207dcf57219575291b1cf950cb9b26d8"}]},{"sha":"9a5f5a20edee55955bda925bc84fed13fd4c6e35","node_id":"MDY6Q29tbWl0MzU5NTY1ODo5YTVmNWEyMGVkZWU1NTk1NWJkYTkyNWJjODRmZWQxM2ZkNGM2ZTM1","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-19T20:31:55Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2014-12-19T20:39:43Z"},"message":"Revert commits for reload locking\n\nThis reverts commit de499e46b0d8a4b32564b17e67f85e7e0eb91e95.","tree":{"sha":"72db28677db7f14d0bc19aafb42e01d61f55619f","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/72db28677db7f14d0bc19aafb42e01d61f55619f"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/9a5f5a20edee55955bda925bc84fed13fd4c6e35","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9a5f5a20edee55955bda925bc84fed13fd4c6e35","html_url":"https://github.com/inverse-inc/packetfence/commit/9a5f5a20edee55955bda925bc84fed13fd4c6e35","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9a5f5a20edee55955bda925bc84fed13fd4c6e35/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"eff1ccacec94d45647590b3e4e314d45d2825645","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/eff1ccacec94d45647590b3e4e314d45d2825645","html_url":"https://github.com/inverse-inc/packetfence/commit/eff1ccacec94d45647590b3e4e314d45d2825645"}]},{"sha":"03216549e7a19438ad60b283ee252b5a722f7866","node_id":"MDY6Q29tbWl0MzU5NTY1ODowMzIxNjU0OWU3YTE5NDM4YWQ2MGIyODNlZTI1MmI1YTcyMmY3ODY2","commit":{"author":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-01-08T20:28:17Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-01-08T20:29:50Z"},"message":"compute dynamic unreg date when doing 802.1x","tree":{"sha":"6c6e1bd9e8acb5a81879729ddf036e5120fc0288","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/6c6e1bd9e8acb5a81879729ddf036e5120fc0288"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/03216549e7a19438ad60b283ee252b5a722f7866","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/03216549e7a19438ad60b283ee252b5a722f7866","html_url":"https://github.com/inverse-inc/packetfence/commit/03216549e7a19438ad60b283ee252b5a722f7866","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/03216549e7a19438ad60b283ee252b5a722f7866/comments","author":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"9a5f5a20edee55955bda925bc84fed13fd4c6e35","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/9a5f5a20edee55955bda925bc84fed13fd4c6e35","html_url":"https://github.com/inverse-inc/packetfence/commit/9a5f5a20edee55955bda925bc84fed13fd4c6e35"}]},{"sha":"bc60968c497f879f9f137b8e6364273e325cc716","node_id":"MDY6Q29tbWl0MzU5NTY1ODpiYzYwOTY4YzQ5N2Y4NzlmOWYxMzdiOGU2MzY0MjczZTMyNWNjNzE2","commit":{"author":{"name":"Derek Wuelfrath","email":"dwuelfrath@inverse.ca","date":"2015-01-09T14:26:25Z"},"committer":{"name":"Derek Wuelfrath","email":"dwuelfrath@inverse.ca","date":"2015-01-09T14:27:43Z"},"message":"MIssing reference in the case of customization","tree":{"sha":"7253836e8e1865485ac944a31e1ba11a7277af31","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/7253836e8e1865485ac944a31e1ba11a7277af31"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/bc60968c497f879f9f137b8e6364273e325cc716","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/bc60968c497f879f9f137b8e6364273e325cc716","html_url":"https://github.com/inverse-inc/packetfence/commit/bc60968c497f879f9f137b8e6364273e325cc716","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/bc60968c497f879f9f137b8e6364273e325cc716/comments","author":null,"committer":null,"parents":[{"sha":"03216549e7a19438ad60b283ee252b5a722f7866","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/03216549e7a19438ad60b283ee252b5a722f7866","html_url":"https://github.com/inverse-inc/packetfence/commit/03216549e7a19438ad60b283ee252b5a722f7866"}]},{"sha":"95bc0956fa64cf5d9bf009668eaa71bbb7865e3c","node_id":"MDY6Q29tbWl0MzU5NTY1ODo5NWJjMDk1NmZhNjRjZjVkOWJmMDA5NjY4ZWFhNzFiYmI3ODY1ZTNj","commit":{"author":{"name":"Durand Fabrice","email":"fdurand@inverse.ca","date":"2015-01-09T14:37:20Z"},"committer":{"name":"Durand Fabrice","email":"fdurand@inverse.ca","date":"2015-01-09T14:38:13Z"},"message":"Fixed incorect scan vid","tree":{"sha":"3abd6d0e5d5a820f3449b62b0d267c72e2f9d345","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/3abd6d0e5d5a820f3449b62b0d267c72e2f9d345"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/95bc0956fa64cf5d9bf009668eaa71bbb7865e3c","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/95bc0956fa64cf5d9bf009668eaa71bbb7865e3c","html_url":"https://github.com/inverse-inc/packetfence/commit/95bc0956fa64cf5d9bf009668eaa71bbb7865e3c","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/95bc0956fa64cf5d9bf009668eaa71bbb7865e3c/comments","author":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"bc60968c497f879f9f137b8e6364273e325cc716","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/bc60968c497f879f9f137b8e6364273e325cc716","html_url":"https://github.com/inverse-inc/packetfence/commit/bc60968c497f879f9f137b8e6364273e325cc716"}]},{"sha":"a426e5daa130377c7546b532d796e0522acaf407","node_id":"MDY6Q29tbWl0MzU5NTY1ODphNDI2ZTVkYWExMzAzNzdjNzU0NmI1MzJkNzk2ZTA1MjJhY2FmNDA3","commit":{"author":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-01-09T18:52:37Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-01-09T18:56:02Z"},"message":"Put max clients to max 256","tree":{"sha":"7413903ab644d87c8740ff1857c663be1eee021a","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/7413903ab644d87c8740ff1857c663be1eee021a"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/a426e5daa130377c7546b532d796e0522acaf407","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/a426e5daa130377c7546b532d796e0522acaf407","html_url":"https://github.com/inverse-inc/packetfence/commit/a426e5daa130377c7546b532d796e0522acaf407","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/a426e5daa130377c7546b532d796e0522acaf407/comments","author":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"95bc0956fa64cf5d9bf009668eaa71bbb7865e3c","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/95bc0956fa64cf5d9bf009668eaa71bbb7865e3c","html_url":"https://github.com/inverse-inc/packetfence/commit/95bc0956fa64cf5d9bf009668eaa71bbb7865e3c"}]},{"sha":"ea954ae6aa5be9073b7c84b00bad682bf70aed5e","node_id":"MDY6Q29tbWl0MzU5NTY1ODplYTk1NGFlNmFhNWJlOTA3M2I3Yzg0YjAwYmFkNjgyYmY3MGFlZDVl","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2015-01-09T19:49:27Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2015-01-09T19:53:37Z"},"message":"Honor order of profiles when matching profile filter","tree":{"sha":"790530b317e698f11b67657b4fe059b708c1428e","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/790530b317e698f11b67657b4fe059b708c1428e"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/ea954ae6aa5be9073b7c84b00bad682bf70aed5e","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ea954ae6aa5be9073b7c84b00bad682bf70aed5e","html_url":"https://github.com/inverse-inc/packetfence/commit/ea954ae6aa5be9073b7c84b00bad682bf70aed5e","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ea954ae6aa5be9073b7c84b00bad682bf70aed5e/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"a426e5daa130377c7546b532d796e0522acaf407","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/a426e5daa130377c7546b532d796e0522acaf407","html_url":"https://github.com/inverse-inc/packetfence/commit/a426e5daa130377c7546b532d796e0522acaf407"}]},{"sha":"bfc5842f47145218b5d4786d96842ffa41dfbf4d","node_id":"MDY6Q29tbWl0MzU5NTY1ODpiZmM1ODQyZjQ3MTQ1MjE4YjVkNDc4NmQ5Njg0MmZmYTQxZGZiZjRk","commit":{"author":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-01-12T13:28:57Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-01-12T13:29:05Z"},"message":"fix portal uri profiles","tree":{"sha":"6db4ab4779f28199b74ec3507fe9d7243358855b","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/6db4ab4779f28199b74ec3507fe9d7243358855b"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/bfc5842f47145218b5d4786d96842ffa41dfbf4d","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/bfc5842f47145218b5d4786d96842ffa41dfbf4d","html_url":"https://github.com/inverse-inc/packetfence/commit/bfc5842f47145218b5d4786d96842ffa41dfbf4d","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/bfc5842f47145218b5d4786d96842ffa41dfbf4d/comments","author":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"ea954ae6aa5be9073b7c84b00bad682bf70aed5e","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/ea954ae6aa5be9073b7c84b00bad682bf70aed5e","html_url":"https://github.com/inverse-inc/packetfence/commit/ea954ae6aa5be9073b7c84b00bad682bf70aed5e"}]},{"sha":"76dacfb21b73a63db8362a17d99e4ac2babc37a8","node_id":"MDY6Q29tbWl0MzU5NTY1ODo3NmRhY2ZiMjFiNzNhNjNkYjgzNjJhMTdkOTllNGFjMmJhYmMzN2E4","commit":{"author":{"name":"Durand Fabrice","email":"fdurand@inverse.ca","date":"2015-01-12T16:49:38Z"},"committer":{"name":"Durand Fabrice","email":"fdurand@inverse.ca","date":"2015-01-12T16:51:13Z"},"message":"Fix sql request for eap local account","tree":{"sha":"968b3cfe0dc639e5ec2a427cda247fdec019d42a","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/968b3cfe0dc639e5ec2a427cda247fdec019d42a"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/76dacfb21b73a63db8362a17d99e4ac2babc37a8","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/76dacfb21b73a63db8362a17d99e4ac2babc37a8","html_url":"https://github.com/inverse-inc/packetfence/commit/76dacfb21b73a63db8362a17d99e4ac2babc37a8","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/76dacfb21b73a63db8362a17d99e4ac2babc37a8/comments","author":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"fdurand","id":1553962,"node_id":"MDQ6VXNlcjE1NTM5NjI=","avatar_url":"https://avatars.githubusercontent.com/u/1553962?v=4","gravatar_id":"","url":"https://api.github.com/users/fdurand","html_url":"https://github.com/fdurand","followers_url":"https://api.github.com/users/fdurand/followers","following_url":"https://api.github.com/users/fdurand/following{/other_user}","gists_url":"https://api.github.com/users/fdurand/gists{/gist_id}","starred_url":"https://api.github.com/users/fdurand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fdurand/subscriptions","organizations_url":"https://api.github.com/users/fdurand/orgs","repos_url":"https://api.github.com/users/fdurand/repos","events_url":"https://api.github.com/users/fdurand/events{/privacy}","received_events_url":"https://api.github.com/users/fdurand/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"bfc5842f47145218b5d4786d96842ffa41dfbf4d","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/bfc5842f47145218b5d4786d96842ffa41dfbf4d","html_url":"https://github.com/inverse-inc/packetfence/commit/bfc5842f47145218b5d4786d96842ffa41dfbf4d"}]},{"sha":"40243c6a471847f8f0a825b0166ee5b24d3f8910","node_id":"MDY6Q29tbWl0MzU5NTY1ODo0MDI0M2M2YTQ3MTg0N2Y4ZjBhODI1YjAxNjZlZTViMjRkM2Y4OTEw","commit":{"author":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-01-19T15:05:43Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-01-19T15:07:43Z"},"message":"Fixed facebook email lookup in oauth","tree":{"sha":"aaa75d42ccab8082be49fd4c4a138252bcdd8920","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/aaa75d42ccab8082be49fd4c4a138252bcdd8920"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/40243c6a471847f8f0a825b0166ee5b24d3f8910","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/40243c6a471847f8f0a825b0166ee5b24d3f8910","html_url":"https://github.com/inverse-inc/packetfence/commit/40243c6a471847f8f0a825b0166ee5b24d3f8910","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/40243c6a471847f8f0a825b0166ee5b24d3f8910/comments","author":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"76dacfb21b73a63db8362a17d99e4ac2babc37a8","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/76dacfb21b73a63db8362a17d99e4ac2babc37a8","html_url":"https://github.com/inverse-inc/packetfence/commit/76dacfb21b73a63db8362a17d99e4ac2babc37a8"}]},{"sha":"f283119263f009750d550e853d2b98e6a461c3c5","node_id":"MDY6Q29tbWl0MzU5NTY1ODpmMjgzMTE5MjYzZjAwOTc1MGQ1NTBlODUzZDJiOThlNmE0NjFjM2M1","commit":{"author":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2015-01-21T21:05:24Z"},"committer":{"name":"James Rouzier","email":"jrouzier@inverse.ca","date":"2015-01-21T21:29:22Z"},"message":"Fixed issue where adding a time range will break the search results","tree":{"sha":"c952360676d959df6554690e4759680204d4e452","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/c952360676d959df6554690e4759680204d4e452"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/f283119263f009750d550e853d2b98e6a461c3c5","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f283119263f009750d550e853d2b98e6a461c3c5","html_url":"https://github.com/inverse-inc/packetfence/commit/f283119263f009750d550e853d2b98e6a461c3c5","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f283119263f009750d550e853d2b98e6a461c3c5/comments","author":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"jrouzierinverse","id":2727473,"node_id":"MDQ6VXNlcjI3Mjc0NzM=","avatar_url":"https://avatars.githubusercontent.com/u/2727473?v=4","gravatar_id":"","url":"https://api.github.com/users/jrouzierinverse","html_url":"https://github.com/jrouzierinverse","followers_url":"https://api.github.com/users/jrouzierinverse/followers","following_url":"https://api.github.com/users/jrouzierinverse/following{/other_user}","gists_url":"https://api.github.com/users/jrouzierinverse/gists{/gist_id}","starred_url":"https://api.github.com/users/jrouzierinverse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrouzierinverse/subscriptions","organizations_url":"https://api.github.com/users/jrouzierinverse/orgs","repos_url":"https://api.github.com/users/jrouzierinverse/repos","events_url":"https://api.github.com/users/jrouzierinverse/events{/privacy}","received_events_url":"https://api.github.com/users/jrouzierinverse/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"40243c6a471847f8f0a825b0166ee5b24d3f8910","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/40243c6a471847f8f0a825b0166ee5b24d3f8910","html_url":"https://github.com/inverse-inc/packetfence/commit/40243c6a471847f8f0a825b0166ee5b24d3f8910"}]},{"sha":"393f607450235e5d5fec4493f1e0d097ff8373ff","node_id":"MDY6Q29tbWl0MzU5NTY1ODozOTNmNjA3NDUwMjM1ZTVkNWZlYzQ0OTNmMWUwZDA5N2ZmODM3M2Zm","commit":{"author":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-01-28T15:19:25Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-01-28T15:19:25Z"},"message":"Fix iplog table explosions\n- Reverts back to the old behavior that reuses the existing entries.","tree":{"sha":"6007b13d999ceaa41f2fbd11ee48fcf98b9db1bd","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/6007b13d999ceaa41f2fbd11ee48fcf98b9db1bd"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/393f607450235e5d5fec4493f1e0d097ff8373ff","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/393f607450235e5d5fec4493f1e0d097ff8373ff","html_url":"https://github.com/inverse-inc/packetfence/commit/393f607450235e5d5fec4493f1e0d097ff8373ff","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/393f607450235e5d5fec4493f1e0d097ff8373ff/comments","author":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"f283119263f009750d550e853d2b98e6a461c3c5","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/f283119263f009750d550e853d2b98e6a461c3c5","html_url":"https://github.com/inverse-inc/packetfence/commit/f283119263f009750d550e853d2b98e6a461c3c5"}]},{"sha":"c66335e05543b0849f9ebb8ee14102ab5873fdba","node_id":"MDY6Q29tbWl0MzU5NTY1ODpjNjYzMzVlMDU1NDNiMDg0OWY5ZWJiOGVlMTQxMDJhYjU4NzNmZGJh","commit":{"author":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-02-03T13:43:40Z"},"committer":{"name":"Julien Semaan","email":"jul.semaan@gmail.com","date":"2015-02-03T13:43:40Z"},"message":"fix missing import in admin fingerprint module","tree":{"sha":"986029bd9be3659408c4e783320de5f88774ddb4","url":"https://api.github.com/repos/inverse-inc/packetfence/git/trees/986029bd9be3659408c4e783320de5f88774ddb4"},"url":"https://api.github.com/repos/inverse-inc/packetfence/git/commits/c66335e05543b0849f9ebb8ee14102ab5873fdba","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c66335e05543b0849f9ebb8ee14102ab5873fdba","html_url":"https://github.com/inverse-inc/packetfence/commit/c66335e05543b0849f9ebb8ee14102ab5873fdba","comments_url":"https://api.github.com/repos/inverse-inc/packetfence/commits/c66335e05543b0849f9ebb8ee14102ab5873fdba/comments","author":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"julsemaan","id":3857942,"node_id":"MDQ6VXNlcjM4NTc5NDI=","avatar_url":"https://avatars.githubusercontent.com/u/3857942?v=4","gravatar_id":"","url":"https://api.github.com/users/julsemaan","html_url":"https://github.com/julsemaan","followers_url":"https://api.github.com/users/julsemaan/followers","following_url":"https://api.github.com/users/julsemaan/following{/other_user}","gists_url":"https://api.github.com/users/julsemaan/gists{/gist_id}","starred_url":"https://api.github.com/users/julsemaan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julsemaan/subscriptions","organizations_url":"https://api.github.com/users/julsemaan/orgs","repos_url":"https://api.github.com/users/julsemaan/repos","events_url":"https://api.github.com/users/julsemaan/events{/privacy}","received_events_url":"https://api.github.com/users/julsemaan/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"393f607450235e5d5fec4493f1e0d097ff8373ff","url":"https://api.github.com/repos/inverse-inc/packetfence/commits/393f607450235e5d5fec4493f1e0d097ff8373ff","html_url":"https://github.com/inverse-inc/packetfence/commit/393f607450235e5d5fec4493f1e0d097ff8373ff"}]}],"files":[{"sha":"3402972f0ae5455e1322afbc508d50292b08ec1e","filename":"conf/chi.conf.example","status":"modified","additions":6,"deletions":0,"changes":6,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/conf%2Fchi.conf.example","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/conf%2Fchi.conf.example","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/conf%2Fchi.conf.example?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -4,6 +4,12 @@ storage=file\n [storage DEFAULT l1_cache]\n storage=memcached\n \n+[storage ldap_auth]\n+expires_in=10m\n+\n+[storage ldap_auth l1_cache]\n+expires_on_backend=1\n+\n [storage httpd.admin]\n expires_in=1d\n "},{"sha":"93692085585bf20cc78cbf688ab4bb609bfa42fd","filename":"conf/radiusd/sql.conf.example","status":"modified","additions":3,"deletions":3,"changes":6,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/conf%2Fradiusd%2Fsql.conf.example","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/conf%2Fradiusd%2Fsql.conf.example","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/conf%2Fradiusd%2Fsql.conf.example?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -102,7 +102,7 @@ sql pfsponsor {\n         sql_user_name = \"%{User-Name}\"\n         authorize_check_query = \"SELECT 1, pid, \\\"Cleartext-Password\\\", password, \\\":=\\\" \\\n           FROM ${authcheck_table} \\\n-          JOIN temporary_password using (pid) \\\n+          JOIN activation using (pid) \\\n           WHERE pid = '%{SQL-User-Name}' \\\n             AND (SELECT type from activation WHERE pid='%{SQL-User-Name}' ORDER BY code_id DESC LIMIT 1) = \\\"sponsor\\\" \\\n             AND now() <= temporary_password.unregdate \\\n@@ -129,7 +129,7 @@ sql pfsms {\n         acct_table1 = \"radacct\"\n         acct_table2 = \"radacct\"\n         postauth_table = \"radpostauth\"\n-\tauthcheck_table = \"activation\"\n+\tauthcheck_table = \"temporary_password\"\n \n         authreply_table = \"radreply\"\n         groupcheck_table = \"radgroupcheck\"\n@@ -145,7 +145,7 @@ sql pfsms {\n         sql_user_name = \"%{User-Name}\"\n         authorize_check_query = \"SELECT 1, pid, \\\"Cleartext-Password\\\", password, \\\":=\\\" \\\n           FROM ${authcheck_table} \\\n-          JOIN temporary_password using (pid) \\\n+          JOIN activation using (pid) \\\n           WHERE pid = '%{SQL-User-Name}' \\\n             AND (SELECT type from activation WHERE pid='%{SQL-User-Name}' ORDER BY code_id DESC LIMIT 1) = \\\"sms\\\" \\\n             AND now() <= temporary_password.unregdate \\"},{"sha":"ef6b1302301979802a946eebadd3b024f8a7e40f","filename":"html/captive-portal/lib/captiveportal.pm","status":"modified","additions":10,"deletions":1,"changes":11,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -1,5 +1,6 @@\n package captiveportal;\n use Moose;\n+use Moose::Util qw(apply_all_roles);\n use namespace::autoclean;\n use Log::Log4perl::Catalyst;\n \n@@ -18,7 +19,6 @@ use Catalyst::Runtime 5.80;\n #                 directory\n \n use Catalyst qw/\n-  -Debug\n   ConfigLoader\n   Static::Simple\n   I18N\n@@ -39,12 +39,20 @@ BEGIN {\n     use pf::log service => 'httpd.portal', reinit => 1;\n }\n \n+use captiveportal::Role::Request;\n use pf::config::cached;\n use pf::file_paths;\n use pf::CHI;\n \n extends 'Catalyst';\n \n+Catalyst::Request->meta->make_mutable;\n+\n+#Apply a role for the Catalyst::Request object\n+apply_all_roles('Catalyst::Request','captiveportal::Role::Request');\n+\n+Catalyst::Request->meta->make_immutable;\n+\n our $VERSION = '0.01';\n \n # Configure the application.\n@@ -163,6 +171,7 @@ $SIG{__WARN__} = sub { __PACKAGE__->log->error(@_); };\n # Start the application\n __PACKAGE__->setup();\n \n+\n =head1 NAME\n \n captiveportal - Catalyst based application"},{"sha":"f3b79f97d39f80f485cb5350f10625911043ff2f","filename":"html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Email.pm","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FActivate%2FEmail.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FActivate%2FEmail.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FActivate%2FEmail.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -106,7 +106,7 @@ sub login : Private {\n     my ( $self, $c ) = @_;\n     $c->stash(\n         template => $pf::web::guest::SPONSOR_LOGIN_TEMPLATE,\n-        username => encode_entities( $c->request->param(\"username\") )\n+        username => $c->request->param_encoded(\"username\"),\n     );\n }\n "},{"sha":"a56a94755f0017277b0c644c3042b7a11c75d93c","filename":"html/captive-portal/lib/captiveportal/PacketFence/Controller/Activate/Sms.pm","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FActivate%2FSms.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FActivate%2FSms.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FActivate%2FSms.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -80,7 +80,7 @@ sub index : Path : Args(0) {\n             $c->session->{\"username\"} = $pid;\n             $c->session->{source_id} = $source->{id};\n             $c->stash->{info}=\\%info; \n-            $c->stash->{sms_pin} = $request->param(\"pin\");  # We are putting the SMS PIN in stash to use it as a password in case we create a local account\n+            $c->stash->{sms_pin} = $request->param_encoded(\"pin\");  # We are putting the SMS PIN in stash to use it as a password in case we create a local account\n             $c->forward('Authenticate' => 'postAuthentication');\n             $c->forward('Authenticate' => 'createLocalAccount', [$auth_params]) if ( isenabled($source->{create_local_account}) );\n             $c->forward('CaptivePortal' => 'webNodeRegister', [$pid, %{$c->stash->{info}}]);"},{"sha":"f5354685a2c0eda6d23d39d01ba0b1dddad24119","filename":"html/captive-portal/lib/captiveportal/PacketFence/Controller/Authenticate.pm","status":"modified","additions":2,"deletions":2,"changes":4,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FAuthenticate.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FAuthenticate.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FAuthenticate.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -431,7 +431,7 @@ sub authenticationLogin : Private {\n         if ( defined($return) && $return == 1 ) {\n             # save login into session\n             $c->session(\n-                \"username\"  => $request->param(\"username\"),\n+                \"username\"  => $username,\n                 \"source_id\" => $source_id,\n                 \"source_match\" => $source_id,\n             );\n@@ -456,7 +456,7 @@ sub showLogin : Private {\n     }\n     $c->stash(\n         template        => 'login.html',\n-        username        => encode_entities( $request->param(\"username\") ),\n+        username        => $request->param_encoded(\"username\") ,\n         null_source     => is_in_list( $SELFREG_MODE_NULL, $guestModes ),\n         oauth2_github   => is_in_list( $SELFREG_MODE_GITHUB, $guestModes ),\n         oauth2_google   => is_in_list( $SELFREG_MODE_GOOGLE, $guestModes ),"},{"sha":"6e9f8d5caa49f0962ac89e3524f30d2ad562131f","filename":"html/captive-portal/lib/captiveportal/PacketFence/Controller/CaptivePortal.pm","status":"modified","additions":2,"deletions":2,"changes":4,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FCaptivePortal.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FCaptivePortal.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FCaptivePortal.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -135,7 +135,7 @@ sub checkForViolation : Private {\n         # There is a violation, redirect the user\n         # FIXME: there is not enough validation below\n         my $vid      = $violation->{'vid'};\n-        my $SCAN_VID = 12003;\n+        my $SCAN_VID = 1200001;\n \n         # detect if a system scan is in progress, if so redirect to scan in progress page\n         if (   $vid == $SCAN_VID\n@@ -273,7 +273,7 @@ sub checkIfPending : Private {\n                   . $Config{'general'}{'hostname'} . \".\"\n                   . $Config{'general'}{'domain'}\n                   . '/captive-portal?destination_url='\n-                  . uri_escape( $portalSession->_build_destinationUrl ) );\n+                  . uri_escape( $portalSession->destinationUrl ) );\n         } else {\n             $c->stash(\n                 template => 'pending.html',"},{"sha":"4033eae5e2f92ef4173ed299ca4418b3512f1647","filename":"html/captive-portal/lib/captiveportal/PacketFence/Controller/Oauth2.pm","status":"modified","additions":1,"deletions":3,"changes":4,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FOauth2.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FOauth2.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FOauth2.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -193,10 +193,8 @@ sub oauth2Result : Path : Args(1) {\n                 # Grab JSON content\n                 my $json      = new JSON;\n                 my $json_text = $json->decode($response->content());\n-                if ($provider eq 'google' || $provider eq 'github') {\n+                if ($provider eq 'google' || $provider eq 'github' || $provider eq 'facebook') {\n                     $pid = $json_text->{email};\n-                } elsif ($provider eq 'facebook') {\n-                    $pid = $json_text->{username} . '@facebook.com';\n                 } elsif ($provider eq 'windowslive'){\n                     $pid = $json_text->{emails}->{account};\n                 }"},{"sha":"90047586700e12086593aecf0bd2e16c6dae2780","filename":"html/captive-portal/lib/captiveportal/PacketFence/Controller/Pay.pm","status":"modified","additions":7,"deletions":7,"changes":14,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FPay.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FPay.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FPay.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -243,13 +243,13 @@ sub showBilling : Private {\n \n     $c->stash({\n         'tiers' => \\%tiers,\n-        'selected_tier' => $request->param(\"tier\") || '',\n-        'firstname' => $request->param(\"firstname\") || '',\n-        'lastname' => $request->param(\"lastname\") || '',\n-        'email' => $request->param(\"email\") || '',\n-        'ccnumber' => $request->param(\"ccnumber\") || '',\n-        'ccexpiration' => $request->param(\"ccexpiration\") || '',\n-        'ccverification' => $request->param(\"ccverification\") || '',\n+        'selected_tier' => $request->param_encoded(\"tier\") || '',\n+        'firstname' => $request->param_encoded(\"firstname\") || '',\n+        'lastname' => $request->param_encoded(\"lastname\") || '',\n+        'email' => $request->param_encoded(\"email\") || '',\n+        'ccnumber' => $request->param_encoded(\"ccnumber\") || '',\n+        'ccexpiration' => $request->param_encoded(\"ccexpiration\") || '',\n+        'ccverification' => $request->param_encoded(\"ccverification\") || '',\n         'template' => 'billing/billing.html',\n     });\n "},{"sha":"91e30935bd8c8d0226f448d90f7979e7139eb1f7","filename":"html/captive-portal/lib/captiveportal/PacketFence/Controller/Root.pm","status":"modified","additions":2,"deletions":11,"changes":13,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FRoot.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FRoot.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FRoot.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -81,16 +81,7 @@ sub setupCommonStash : Private {\n     my ( $self, $c ) = @_;\n     my $logger = get_logger;\n     my $portalSession   = $c->portalSession;\n-    my $destination_url = $c->request->param('destination_url');\n-    if (isenabled($c->profile->forceRedirectURL)){\n-        $destination_url = $c->profile->getRedirectURL;\n-    }\n-    elsif (defined $destination_url && !($destination_url eq \"\")) { \n-        $destination_url = decode_entities( uri_unescape($destination_url) );\n-    } \n-    else {\n-        $destination_url = $c->profile->getRedirectURL;\n-    }\n+    my $destination_url = $portalSession->destinationUrl;\n \n     my @list_help_info;\n     push @list_help_info,\n@@ -101,7 +92,7 @@ sub setupCommonStash : Private {\n       if ( defined( $portalSession->clientMac ) );\n     $c->stash(\n         pf::web::constants::to_hash(),\n-        destination_url => $destination_url,\n+        destination_url => encode_entities($destination_url),\n         logo            => $c->profile->getLogo,\n         list_help_info  => \\@list_help_info,\n     );"},{"sha":"f8e5d5ec779a5f89fd434a59f34da7a1b9cb9a4c","filename":"html/captive-portal/lib/captiveportal/PacketFence/Controller/Signup.pm","status":"modified","additions":11,"deletions":8,"changes":19,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FSignup.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FSignup.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FController%2FSignup.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -467,11 +467,14 @@ TODO: documention\n sub setupSelfRegistrationSession : Private {\n     my ( $self, $c ) = @_;\n     my $request = $c->request;\n+    my $phone = $request->param(\"phone\");\n     $c->session->{firstname} = $request->param(\"firstname\");\n     $c->session->{lastname}  = $request->param(\"lastname\");\n     $c->session->{company}   = $request->param(\"organization\");\n+    $c->session->{telephone} =\n+      pf::web::util::validate_phone_number( $phone );\n     $c->session->{phone} =\n-      pf::web::util::validate_phone_number( $request->param(\"phone\") );\n+      pf::web::util::validate_phone_number( $phone );\n     $c->session->{email}   = lc( $request->param(\"email\") );\n     $c->session->{sponsor} = lc( $request->param(\"sponsor_email\") );\n \n@@ -616,13 +619,13 @@ sub showSelfRegistrationPage : Private {\n \n     $c->stash(\n         post_uri            => \"$WEB::URL_SIGNUP?mode=guest-register\",\n-        firstname           => $request->param(\"firstname\") || '',\n-        lastname            => $request->param(\"lastname\") || '',\n-        organization        => $request->param(\"organization\") || '',\n-        phone               => $request->param(\"phone\") || '',\n-        mobileprovider      => $request->param(\"mobileprovider\") || '',\n-        email               => lc( $request->param(\"email\") || '' ),\n-        sponsor_email       => lc( $request->param(\"sponsor_email\") || '' ),\n+        firstname           => $request->param_encoded(\"firstname\") || '',\n+        lastname            => $request->param_encoded(\"lastname\") || '',\n+        organization        => $request->param_encoded(\"organization\") || '',\n+        phone               => $request->param_encoded(\"phone\") || '',\n+        mobileprovider      => $request->param_encoded(\"mobileprovider\") || '',\n+        email               => lc( $request->param_encoded(\"email\") || '' ),\n+        sponsor_email       => lc( $request->param_encoded(\"sponsor_email\") || '' ),\n         sms_carriers        => sms_carrier_view_all($source),\n         is_preregistration  => $c->session->{'preregistration'},\n         sms_guest_allowed   => is_in_list( $SELFREG_MODE_SMS, $guestModes ),"},{"sha":"aeb0b9ff95e6a164d6cae8605e47c63c64929390","filename":"html/captive-portal/lib/captiveportal/PacketFence/Model/Portal/Session.pm","status":"modified","additions":17,"deletions":8,"changes":25,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FModel%2FPortal%2FSession.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FModel%2FPortal%2FSession.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FModel%2FPortal%2FSession.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -83,15 +83,23 @@ has redirectURL => (\n     is       => 'rw',\n );\n \n-has destination_url => (\n+has _destination_url => (\n     is       => 'rw',\n );\n \n+has destinationUrl => (\n+    is      => 'ro',\n+    builder => '_build_destinationUrl',\n+    lazy => 1,\n+);\n+\n has [qw(forwardedFor guestNodeMac)] => ( is => 'rw', );\n \n sub ACCEPT_CONTEXT {\n     my ( $self, $c, @args ) = @_;\n     my $class = ref $self || $self;\n+    my $previous_model = $c->session->{$class};\n+    return $previous_model if(defined($previous_model) && $previous_model->{options}->{in_uri_portal});\n     my $model;\n     my $request       = $c->request;\n     my $r = $request->{'env'}->{'psgi.input'};\n@@ -100,13 +108,13 @@ sub ACCEPT_CONTEXT {\n     my $redirectURL;\n     my $uri = $request->uri;\n     my $options;\n-    my $destination_url;\n     my $mgmt_ip = $management_network->{'Tvip'} || $management_network->{'Tip'} if $management_network;\n-    $destination_url = $request->param('destination_url') if defined($request->param('destination_url'));\n+    my $destination_url = $request->param('destination_url');\n \n-    if( $r->isa('Apache2::Request') &&  defined ( my $last_uri = $r->pnotes('last_uri') )) {\n+    if( defined ( my $last_uri = $r->pnotes('last_uri') )) {\n         $options = {\n             'last_uri' => $last_uri,\n+            'in_uri_portal' => 1,\n         };\n     } elsif ( $c->controller->isa('captiveportal::Controller::Activate::Email') && $c->action->name eq 'code' ) {\n         my $code = $c->request->arguments->[0];\n@@ -124,22 +132,23 @@ sub ACCEPT_CONTEXT {\n         remoteAddress => $remoteAddress,\n         forwardedFor  => $forwardedFor,\n         options       => $options,\n-        destination_url => $destination_url,\n+        _destination_url => $destination_url,\n         @args,\n     );\n+    $c->session->{$class} = $model;\n     return $model;\n }\n \n sub _build_destinationUrl {\n     my ($self) = @_;\n-\n+    my $url = $self->_destination_url;\n     # Return portal profile's redirection URL if destination_url is not set or if redirection URL is forced\n-    if (!defined($self->destination_url) || isenabled($self->profile->forceRedirectURL)) {\n+    if (!defined($url) || isenabled($self->profile->forceRedirectURL)) {\n         return $self->profile->getRedirectURL;\n     }\n \n     # Respect the user's initial destination URL\n-    return decode_entities(uri_unescape($self->destination_url));\n+    return decode_entities(uri_unescape($url));\n }\n \n sub _build_clientIp {"},{"sha":"695e0072363d8ff474e99637ed90b18fc4d3b280","filename":"html/captive-portal/lib/captiveportal/PacketFence/View/HTML.pm","status":"modified","additions":7,"deletions":2,"changes":9,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FView%2FHTML.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FView%2FHTML.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FPacketFence%2FView%2FHTML.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -32,7 +32,10 @@ sub i18n {\n sub ni18n {\n     my ( $self, $c, $singular, $plural, $category ) = @_;\n \n-    return ngettext( $singular, $plural, $category );\n+    my $msg = ngettext( $singular, $plural, $category );\n+    utf8::decode($msg);\n+\n+    return $msg;\n }\n \n =head2 i18n_format\n@@ -45,7 +48,9 @@ Meant to be called from the TT templates.\n \n sub i18n_format {\n     my ( $self, $c, $msgid, @args ) = @_;\n-    return sprintf( gettext($msgid), @args );\n+    my $msg = sprintf( gettext($msgid), @args );\n+    utf8::decode($msg);\n+    return $msg;\n }\n \n =head1 NAME"},{"sha":"7a7c13733959f0b10acc459c5cdb1d46dfb651d2","filename":"html/captive-portal/lib/captiveportal/Role/Request.pm","status":"added","additions":89,"deletions":0,"changes":89,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FRole%2FRequest.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FRole%2FRequest.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fcaptive-portal%2Flib%2Fcaptiveportal%2FRole%2FRequest.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -0,0 +1,89 @@\n+package captiveportal::Role::Request;\n+=head1 NAME\n+\n+captiveportal::Role::Request - html encode query parameters\n+\n+=cut\n+\n+=head1 DESCRIPTION\n+\n+captiveportal::Role::Request\n+\n+=cut\n+\n+use strict;\n+use warnings;\n+use Moose::Role;\n+use HTML::Entities qw(encode_entities);\n+\n+sub param_encoded {\n+    my ($self,$param) = @_;\n+    return encode_entities($self->param($param));\n+}\n+\n+around param => sub {\n+    my ($orig,$self,@args) = @_;\n+    return @args ? scalar $self->$orig(@args) : undef;\n+};\n+\n+sub param_old {\n+    my $self = shift;\n+\n+    if ( @_ == 0 ) {\n+        return keys %{ $self->parameters };\n+    }\n+\n+    if ( @_ == 1 ) {\n+\n+        my $param = shift;\n+\n+        unless ( exists $self->parameters->{$param} ) {\n+            return wantarray ? () : undef;\n+        }\n+\n+        if ( ref $self->parameters->{$param} eq 'ARRAY' ) {\n+            return (wantarray)\n+              ? @{ $self->parameters->{$param} }\n+              : $self->parameters->{$param}->[0];\n+        }\n+        else {\n+            return (wantarray)\n+              ? ( $self->parameters->{$param} )\n+              : $self->parameters->{$param};\n+        }\n+    }\n+    elsif ( @_ > 1 ) {\n+        my $field = shift;\n+        $self->parameters->{$field} = [@_];\n+    }\n+}\n+ \n+=head1 AUTHOR\n+\n+Inverse inc. <info@inverse.ca>\n+\n+=head1 COPYRIGHT\n+\n+Copyright (C) 2005-2014 Inverse inc.\n+\n+=head1 LICENSE\n+\n+This program is free software; you can redistribute it and::or\n+modify it under the terms of the GNU General Public License\n+as published by the Free Software Foundation; either version 2\n+of the License, or (at your option) any later version.\n+\n+This program is distributed in the hope that it will be useful,\n+but WITHOUT ANY WARRANTY; without even the implied warranty of\n+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+GNU General Public License for more details.\n+\n+You should have received a copy of the GNU General Public License\n+along with this program; if not, write to the Free Software\n+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,\n+USA.\n+\n+=cut\n+\n+1;\n+"},{"sha":"5e668062c09c8a657e773bc1f36f3e07c73f6f9e","filename":"html/pfappserver/lib/pfappserver/Controller/Configuration/Fingerprints.pm","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fpfappserver%2Flib%2Fpfappserver%2FController%2FConfiguration%2FFingerprints.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fpfappserver%2Flib%2Fpfappserver%2FController%2FConfiguration%2FFingerprints.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fpfappserver%2Flib%2Fpfappserver%2FController%2FConfiguration%2FFingerprints.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -17,6 +17,7 @@ use HTTP::Status qw(:constants is_error is_success);\n use Moose;\n use namespace::autoclean;\n use URI::Escape::XS;\n+use URI::Escape;\n \n use pf::config;\n use pf::os;"},{"sha":"947566998d7029c0285708bbdfb8c0ba419f7089","filename":"html/pfappserver/lib/pfappserver/Form/Authentication/Source/LDAP.pm","status":"modified","additions":11,"deletions":0,"changes":11,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fpfappserver%2Flib%2Fpfappserver%2FForm%2FAuthentication%2FSource%2FLDAP.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fpfappserver%2Flib%2Fpfappserver%2FForm%2FAuthentication%2FSource%2FLDAP.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fpfappserver%2Flib%2Fpfappserver%2FForm%2FAuthentication%2FSource%2FLDAP.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -93,6 +93,17 @@ has_field 'password' =>\n    password => 0,\n   );\n \n+has_field 'cache_match',\n+  (\n+   type => 'Toggle',\n+   label => 'Cache match',\n+   checkbox_value => '1',\n+   unchecked_value => '0',\n+   default => 0,\n+   tags => { after_element => \\&help,\n+             help => 'Will cache results of matching a rule' },\n+  );\n+\n =head2 validate\n \n Make sure a password is specified when a bind DN is specified."},{"sha":"c2d9fcb7ec7be0f38d59969f73190c627f96d983","filename":"html/pfappserver/lib/pfappserver/Model/Node.pm","status":"modified","additions":12,"deletions":7,"changes":19,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fpfappserver%2Flib%2Fpfappserver%2FModel%2FNode.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fpfappserver%2Flib%2Fpfappserver%2FModel%2FNode.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fpfappserver%2Flib%2Fpfappserver%2FModel%2FNode.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -341,17 +341,21 @@ sub importCSV {\n \n     # Read CSV file\n     $count = 0;\n+    my $has_pid = exists $index{'pid'};\n     if (open (my $import_fh, \"<\", $tmpfilename)) {\n         my $csv = Text::CSV->new({ binary => 1, sep_char => $delimiter });\n         while (my $row = $csv->getline($import_fh)) {\n             my ($pid, $mac, $node, %data, $result);\n \n-            $pid = $row->[$index{'pid'}] || undef if exists $index{'pid'};\n-            if ($pid && ($pid !~ /$pf::person::PID_RE/ || !person_exist($pid))) {\n-                $logger->debug(\"Ignored unknown PID ($pid)\");\n-                $skipped++;\n-                next;\n+            if($has_pid) {\n+                $pid = $row->[$index{'pid'}] || undef;\n+                if ( $pid && ($pid !~ /$pf::person::PID_RE/ || !person_exist($pid))) {\n+                    $logger->debug(\"Ignored unknown PID ($pid)\");\n+                    $skipped++;\n+                    next;\n+                }\n             }\n+\n             $mac = $row->[$index{'mac'}] || undef;\n             if (!$mac || !valid_mac($mac)) {\n                 $logger->debug(\"Ignored invalid MAC ($mac)\");\n@@ -765,7 +769,8 @@ sub bulkApplyRole {\n     my $count = 0;\n     foreach my $mac (@macs) {\n         my $node = node_view($mac);\n-        if ($node->{category_id} != $role) {\n+        my $old_category_id = $node->{category_id};\n+        if (!defined($old_category_id) || $old_category_id != $role) {\n             # Role has changed\n             $node->{category_id} = $role;\n             if (node_modify($mac, %{$node})) {\n@@ -785,7 +790,7 @@ sub bulkApplyRole {\n =cut\n \n sub bulkReevaluateAccess {\n-    my ($self, $role, @macs) = @_;\n+    my ($self, @macs) = @_;\n     my $count = 0;\n     foreach my $mac (@macs) {\n         if (reevaluate_access($mac, \"node_modify\")){"},{"sha":"99e4efee4ef59051714cad9dec21ce27233ec180","filename":"html/pfappserver/lib/pfappserver/Model/Search/Node.pm","status":"modified","additions":4,"deletions":4,"changes":8,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fpfappserver%2Flib%2Fpfappserver%2FModel%2FSearch%2FNode.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fpfappserver%2Flib%2Fpfappserver%2FModel%2FSearch%2FNode.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fpfappserver%2Flib%2Fpfappserver%2FModel%2FSearch%2FNode.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -69,7 +69,7 @@ sub do_query {\n sub add_searches {\n     my ($self,$builder,$params) = @_;\n     my @searches = map {$self->process_query($_)} @{$params->{searches}};\n-    my $all_or_any = $params->{all_or_any};\n+    my $all_or_any = $params->{all_or_any} || 'all';\n     if ($all_or_any eq 'any' ) {\n         $all_or_any = 'or';\n     } else {\n@@ -286,14 +286,14 @@ sub add_date_range {\n             $builder->from(@{$COLUMN_MAP{switch_ip}{'joins'}})\n         }\n         if ($start) {\n-            $builder->where({ table =>'locationlog', name => 'start_time' }, '>=', $start);\n+            $builder->where({ table =>'locationlog_distinct', name => 'start_time' }, '>=', $start);\n         }\n         if ($end) {\n             $builder\n                 ->where('(')\n-                ->where({ table =>'locationlog', name => 'end_time' }, '<=' , $end)\n+                ->where({ table =>'locationlog_distinct', name => 'end_time' }, '<=' , $end)\n                 ->or()\n-                ->where({ table =>'locationlog', name => 'end_time' }, 'IS NULL')\n+                ->where({ table =>'locationlog_distinct', name => 'end_time' }, 'IS NULL')\n                 ->where(')');\n         }\n     }"},{"sha":"c68f962a2779b69741b76c83fdb530c83a0a9eef","filename":"html/pfappserver/lib/pfappserver/Role/Controller/BulkActions.pm","status":"modified","additions":2,"deletions":2,"changes":4,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fpfappserver%2Flib%2Fpfappserver%2FRole%2FController%2FBulkActions.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/html%2Fpfappserver%2Flib%2Fpfappserver%2FRole%2FController%2FBulkActions.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/html%2Fpfappserver%2Flib%2Fpfappserver%2FRole%2FController%2FBulkActions.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -91,7 +91,7 @@ sub bulk_apply_role : Local : Args(1) {\n     my $request = $c->request;\n     if ($request->method eq 'POST') {\n         my @ids = $request->param('items');\n-        ($status, $status_msg) = $self->getModel($c)->bulkApplyRole(@ids);\n+        ($status, $status_msg) = $self->getModel($c)->bulkApplyRole($role,@ids);\n     }\n     else {\n         $status = HTTP_BAD_REQUEST;\n@@ -112,7 +112,7 @@ sub bulk_apply_violation : Local : Args(1) {\n     my $request = $c->request;\n     if ($request->method eq 'POST') {\n         my @ids = $request->param('items');\n-        ($status, $status_msg) = $self->getModel($c)->bulkApplyViolation(@ids);\n+        ($status, $status_msg) = $self->getModel($c)->bulkApplyViolation($violation,@ids);\n     }\n     else {\n         $status = HTTP_BAD_REQUEST;"},{"sha":"b608e83c2d999ee4a8fd222359c079f3e5a9bcbe","filename":"lib/pf/Authentication/Source.pm","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2FAuthentication%2FSource.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2FAuthentication%2FSource.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2FAuthentication%2FSource.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -19,7 +19,7 @@ has 'unique' => (isa => 'Bool', is => 'ro', default => 0);\n has 'class' => (isa => 'Str', is => 'ro', default => 'internal');\n has 'type' => (isa => 'Str', is => 'ro', default => 'generic', required => 1);\n has 'description' => (isa => 'Str', is => 'rw', required => 0);\n-has 'rules' => (isa => 'ArrayRef', is => 'rw', required => 0);\n+has 'rules' => (isa => 'ArrayRef', is => 'rw', required => 0, default => sub { [] });\n \n =head2 add_rule\n "},{"sha":"f3083ae90f6606c3f10aabfe31e6e4bcb5d1941c","filename":"lib/pf/Authentication/Source/LDAPSource.pm","status":"modified","additions":47,"deletions":0,"changes":47,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2FAuthentication%2FSource%2FLDAPSource.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2FAuthentication%2FSource%2FLDAPSource.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2FAuthentication%2FSource%2FLDAPSource.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -11,6 +11,7 @@ pf::Authentication::Source::LDAPSource\n use pf::config qw($TRUE $FALSE);\n use pf::Authentication::constants;\n use pf::Authentication::Condition;\n+use pf::CHI;\n \n use Net::LDAP;\n use Net::LDAPS;\n@@ -37,6 +38,7 @@ has 'password'          => ( isa => 'Maybe[Str]', is => 'rw' );\n has 'encryption'        => ( isa => 'Str',        is => 'rw', required => 1 );\n has 'scope'             => ( isa => 'Str',        is => 'rw', required => 1 );\n has 'usernameattribute' => ( isa => 'Str',        is => 'rw', required => 1 );\n+has 'cache_match' => ( isa => 'Bool',       is => 'rw', default => 0 );\n \n =head1 METHODS\n \n@@ -167,6 +169,51 @@ sub _connect {\n }\n \n \n+=head2 match\n+\n+    Overrided to add caching to avoid a hit to the database\n+\n+=cut\n+\n+sub match {\n+    my ($self, $params) = @_;\n+    if($self->is_match_cacheable) {\n+        return $self->cache->compute([$self->id, $params], sub { return $self->SUPER::match($params)});\n+    }\n+    return $self->SUPER::match($params);\n+}\n+\n+=head2 cache\n+\n+    get the cache object\n+\n+=cut\n+\n+sub cache {\n+    return pf::CHI->new( namespace => 'ldap_auth');\n+}\n+\n+=head2 is_match_cacheable\n+\n+Checks to see if the match can be cached\n+\n+=cut\n+\n+sub is_match_cacheable {\n+    my ($self) = @_;\n+    #First check to see caching is disabled to see if we can exit quickly\n+    return 0 unless $self->cache_match; \n+    #Check rules for timed based operations return false first one found\n+    foreach my $rule (@{$self->{rules}}) {\n+        foreach my $condition (@{$rule->{conditions}}) {\n+            my $op = $condition->{operator};\n+            return 0 if $op eq $Conditions::IS_BEFORE || $op eq $Conditions::IS_AFTER;\n+        }\n+    }\n+    return $self->cache_match;\n+}\n+\n+\n =head2 match_in_subclass\n \n C<$params> are the parameters gathered at authentication (username, SSID, connection type, etc)."},{"sha":"bc3c9eb5bd3e9e1232ae823c7a93bb9fc7e10cfb","filename":"lib/pf/CHI.pm","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2FCHI.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2FCHI.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2FCHI.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -60,7 +60,7 @@ Hash::Merge::specify_behavior(\n     'PF_CHI_MERGE'\n );\n \n-our @CACHE_NAMESPACES = qw(configfilesdata configfiles httpd.admin httpd.portal pfdns switch.overlay);\n+our @CACHE_NAMESPACES = qw(configfilesdata configfiles httpd.admin httpd.portal pfdns switch.overlay ldap_auth);\n \n our $chi_config = pf::IniFiles->new( -file => $chi_config_file, -allowempty => 1) or die;\n our %DEFAULT_CONFIG = ("},{"sha":"4015c17dd6b9824443879585f840b25c679950e0","filename":"lib/pf/Switch/Cisco/Catalyst_2950.pm","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2FSwitch%2FCisco%2FCatalyst_2950.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2FSwitch%2FCisco%2FCatalyst_2950.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2FSwitch%2FCisco%2FCatalyst_2950.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -1178,7 +1178,7 @@ sub getIfIndexByNasPortId {\n     my $result = $this->{_sessionRead}->get_table( -baseoid => $OID_ifDesc );\n     foreach my $key ( keys %{$result} ) {\n         my $ifDesc = $result->{$key};\n-        if ( $ifDesc =~ /$ifDesc_param$/i ) {\n+        if ( $ifDesc =~ /^$ifDesc_param$/i ) {\n             $key =~ /^$OID_ifDesc\\.(\\d+)$/;\n             return $1;\n         }"},{"sha":"67194ba523171e013b571b2c210b87398c157c99","filename":"lib/pf/activation.pm","status":"modified","additions":2,"deletions":0,"changes":2,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Factivation.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Factivation.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2Factivation.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -418,6 +418,7 @@ sub send_email {\n \n     my %options; \n     $options{INCLUDE_PATH} = \"$conf_dir/templates/\";\n+    $options{ENCODING} = \"utf8\";\n \n     my $import_succesfull = try { require MIME::Lite::TT; };\n     if (!$import_succesfull) {\n@@ -433,6 +434,7 @@ sub send_email {\n         Cc          =>  $info{'cc'},\n         Subject     =>  $info{'subject'},\n         Template    =>  \"emails-$template.txt.tt\",\n+        'Content-Type' => 'text/plain; charset=\"utf-8\"',\n         TmplOptions =>  \\%options, \n         TmplParams  =>  \\%info, \n     ); "},{"sha":"348622725e6f0039b1127ca13b812e120141206e","filename":"lib/pf/api.pm","status":"modified","additions":53,"deletions":4,"changes":57,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fapi.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fapi.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2Fapi.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -14,6 +14,7 @@ pf::api\n use strict;\n use warnings;\n \n+use threads::shared;\n use pf::config();\n use pf::iplog();\n use pf::log();\n@@ -95,11 +96,56 @@ sub soh_authorize {\n }\n \n sub update_iplog {\n-    my ( $class, $srcmac, $srcip, $lease_length ) = @_;\n+    my ($class, %postdata) = @_;\n+    my @require = qw(mac ip lease_length oldmac oldip);\n+    my @found = grep {exists $postdata{$_}} @require;\n+    return unless validate_argv(\\@require,  \\@found);\n+\n+    my $logger = pf::log::get_logger();\n+\n+    if ( $postdata{'oldmac'} && $postdata{'oldmac'} ne $postdata{'mac'} ) {\n+        $logger->info(\n+            \"oldmac ($postdata{'oldmac'}) and newmac ($postdata{'mac'}) are different for $postdata{'ip'} - closing iplog entry\"\n+        );\n+        pf::iplog::iplog_close_now($postdata{'ip'});\n+    } elsif ($postdata{'oldip'} && $postdata{'oldip'} ne $postdata{'ip'}) {\n+        $logger->info(\n+            \"oldip ($postdata{'oldip'}) and newip ($postdata{'ip'}) are different for $postdata{'mac'} - closing iplog entry\"\n+        );\n+        pf::iplog::iplog_close_now($postdata{'oldip'});\n+    }\n+\n+    return (pf::iplog::iplog_open($postdata{'mac'}, $postdata{'ip'}, $postdata{'lease_length'}));\n+}\n+\n+=head2 validate_arg\n+\n+Test if the required arguments are provided\n+\n+=cut\n+\n+sub validate_argv {\n+    my ($require, $found) = @_;\n     my $logger = pf::log::get_logger();\n \n-    return (pf::iplog::iplog_update($srcmac, $srcip, $lease_length));\n+    if (!(@{$require} == @{$found})) {\n+        my %diff;\n+        @diff{ @{$require} } = @{$require};\n+        delete @diff{ @{$found} };\n+        $logger->error(\"Missing argument \". join(',',keys %diff) .\" for the function \".whowasi());\n+        return 0;\n+    }\n+    return 1;\n }\n+\n+=head2 whowasi\n+\n+Return the parent function name\n+\n+=cut\n+\n+sub whowasi { ( caller(2) )[3] }\n+\n  \n sub unreg_node_for_pid {\n     my ($class, $pid) = @_;\n@@ -266,7 +312,7 @@ sub _reassignSNMPConnections {\n         # We treat phones differently. We never bounce their ports except if there is an outstanding\n         # violation. \n         if ( $switch->hasPhoneAtIfIndex($ifIndex)  ) {\n-            my @violations = violation_view_open_desc($mac);\n+            my @violations = pf::violation::violation_view_open_desc($mac);\n             if ( scalar(@violations) == 0 ) {\n                 $logger->warn(\"[$mac] VLAN changed and is behind VoIP phone. Not bouncing the port!\");\n                 return;\n@@ -292,10 +338,13 @@ sub _node_determine_and_set_into_VLAN {\n \n     my ($vlan,$wasInline) = $vlan_obj->fetchVlanForNode($mac, $switch, $ifIndex, $connection_type);\n \n+    my %locker_ref;\n+    $locker_ref{$switch->{_ip}} = &share({});\n+\n     $switch->setVlan(\n         $ifIndex,\n         $vlan,\n-        undef,\n+        \\%locker_ref,\n         $mac\n     );\n }"},{"sha":"fef88f9adcb10a63cdb3e1be4d1f1844f6095fd1","filename":"lib/pf/config.pm","status":"modified","additions":7,"deletions":4,"changes":11,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fconfig.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fconfig.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2Fconfig.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -679,14 +679,17 @@ sub readProfileConfigFile {\n                 #Clearing the Profile filters\n                 @Profile_Filters = ();\n                 my $default_description = $Profiles_Config{'default'}{'description'};\n-                while (my ($profile_id, $profile) = each %Profiles_Config) {\n+                foreach my $profile_id ($config->Sections()) {\n+                    my $profile = $Profiles_Config{$profile_id};\n                     $profile->{'description'} = '' if $profile_id ne 'default' && $profile->{'description'} eq $default_description;\n                     foreach my $field (qw(locale mandatory_fields sources filter provisioners) ) {\n                         $profile->{$field} = [split(/\\s*,\\s*/, $profile->{$field} || '')];\n                     }\n-                    #Adding filters in profile order\n-                    foreach my $filter (@{$profile->{'filter'}}) {\n-                        push @Profile_Filters, pf::factory::profile::filter->instantiate($profile_id,$filter);\n+                    if ($profile_id ne 'default') {\n+                        #Adding filters in profile order\n+                        foreach my $filter (@{$profile->{'filter'}}) {\n+                            push @Profile_Filters, pf::factory::profile::filter->instantiate($profile_id,$filter);\n+                        }\n                     }\n                 }\n                 #Add the default filter so it always matches if no other filter matches"},{"sha":"f735bb687d6617994ebc89d63e58bbaf2194f7d1","filename":"lib/pf/radius.pm","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fradius.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fradius.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2Fradius.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -278,7 +278,7 @@ Takes FreeRADIUS' RAD_REQUEST hash and process it to return\n \n sub _parseRequest {\n     my ($this, $radius_request) = @_;\n-    my $ap_mac = extractApMacFromRadiusRequest($radius_request);\n+    my $ap_mac = $this->extractApMacFromRadiusRequest($radius_request);\n     # freeradius 2 provides the client IP in NAS-IP-Address not Client-IP-Address (non-standard freeradius1 attribute)\n     my $networkdevice_ip = $radius_request->{'NAS-IP-Address'} || $radius_request->{'Client-IP-Address'};\n     my $source_ip = $radius_request->{'FreeRADIUS-Client-IP-Address'};"},{"sha":"c1ae0ab2ceb204c35c2e173cd6342961406d1877","filename":"lib/pf/services/manager/httpd.pm","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fservices%2Fmanager%2Fhttpd.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fservices%2Fmanager%2Fhttpd.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2Fservices%2Fmanager%2Fhttpd.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -144,7 +144,7 @@ sub calculate_max_clients {\n     my $max_clients = ceil(($total_ram - ( $total_ram * 0.25 + (300 * 1024) )) / (50 * 1024));\n \n     # hard ceiling of MaxClients at 256\n-    $max_clients = 512 if ($max_clients > 512);\n+    $max_clients = 256 if ($max_clients > 256);\n \n     return $max_clients;\n }"},{"sha":"716ffb0ddb24a60870f53d9c6ec8e0d541caeabc","filename":"lib/pf/services/manager/pfdhcplistener.pm","status":"modified","additions":2,"deletions":1,"changes":3,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fservices%2Fmanager%2Fpfdhcplistener.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fservices%2Fmanager%2Fpfdhcplistener.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2Fservices%2Fmanager%2Fpfdhcplistener.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -87,7 +87,8 @@ sub managers {\n }\n \n sub isManaged {\n-    isenabled($Config{'network'}{'dhcpdetector'})\n+    my ($self) = @_;\n+    return (isenabled($Config{'network'}{'dhcpdetector'}) && isenabled($Config{'services'}{$self->name}));\n }\n \n =head1 AUTHOR"},{"sha":"b888be20d2015613c42565e0c31ae3716bffbbf7","filename":"lib/pf/vlan.pm","status":"modified","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fvlan.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fvlan.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2Fvlan.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -392,6 +392,7 @@ sub getNormalVlan {\n                 $value = &pf::authentication::match([@sources], $params, $Actions::SET_UNREG_DATE);\n             }\n             if (defined $value) {\n+                $value = pf::config::dynamic_unreg_date($value);\n                 my %info = (\n                     'unregdate' => $value,\n                     'category' => $role,"},{"sha":"6dbb4d3bb958143ac219a423dc0c9f4311a7c505","filename":"lib/pf/web/externalportal.pm","status":"modified","additions":2,"deletions":2,"changes":4,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fweb%2Fexternalportal.pm","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/lib%2Fpf%2Fweb%2Fexternalportal.pm","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/lib%2Fpf%2Fweb%2Fexternalportal.pm?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -78,7 +78,7 @@ sub external_captive_portal {\n                 $logger->debug(\"Adding additionnal session parameter for url detected : $key : \".$req->param($key));\n                 $portalSession->session->param(\"ecwp-original-param-$key\", $req->param($key));\n             }\n-            iplog_update($client_mac,$client_ip,100) if (defined ($client_ip) && defined ($client_mac));\n+            iplog_update($client_mac,$client_ip,3600) if (defined ($client_ip) && defined ($client_mac));\n             return ($portalSession->session->id(), $redirect_url);\n         } else {\n             return 0;\n@@ -98,7 +98,7 @@ sub external_captive_portal {\n             my $portalSession = pf::Portal::Session->new(%session_id);\n             $portalSession->setClientMac($session_id{client_mac}) if (defined($session_id{client_mac}));\n             $portalSession->setDestinationUrl($r->headers_in->{'Referer'}) if (defined($r->headers_in->{'Referer'}));\n-            iplog_update($session_id{client_mac},$r->connection->remote_ip,100) if (defined ($r->connection->remote_ip) && defined ($session_id{client_mac}));\n+            iplog_update($session_id{client_mac},$r->connection->remote_ip,3600) if (defined ($r->connection->remote_ip) && defined ($session_id{client_mac}));\n             return $portalSession->session->id();\n         } else {\n             return 0;"},{"sha":"2ebe40c1b6545830cac8d82ec29e33c5e1b76217","filename":"sbin/pfdhcplistener","status":"modified","additions":9,"deletions":3,"changes":12,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/sbin%2Fpfdhcplistener","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/sbin%2Fpfdhcplistener","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/sbin%2Fpfdhcplistener?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -518,9 +518,8 @@ sub update_iplog {\n     }\n \n     my $oldip  = mac2ip($srcmac);\n-\n+    my $oldmac = ip2mac($srcip);\n     if ( $oldip && $oldip ne $srcip ) {\n-        my $oldmac = ip2mac($srcip);\n         my $view_mac = node_view($srcmac);\n         # if there is at least a firewall sso defined in the config\n         if(%ConfigFirewallSSO){\n@@ -531,7 +530,14 @@ sub update_iplog {\n             $apiclient->notify('ipset_node_update',$oldip, $srcip, $srcmac);\n         }\n     }\n-    $apiclient->notify('update_iplog', $srcmac, $srcip, $lease_length );\n+    my %data = (\n+        'mac' => $srcmac,\n+        'ip' => $srcip,\n+        'lease_length' => $lease_length,\n+        'oldip' => $oldip,\n+        'oldmac' => $oldmac,\n+    );\n+    $apiclient->notify('update_iplog', %data );\n }\n \n =item process_fingerprint"},{"sha":"92d9e058a021c35fd0942249ce08f897d6eb394d","filename":"sbin/pfsetvlan","status":"modified","additions":3,"deletions":2,"changes":5,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/sbin%2Fpfsetvlan","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/sbin%2Fpfsetvlan","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/sbin%2Fpfsetvlan?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -1226,8 +1226,9 @@ sub handleTrap {\n                     $logger->info(\n                         \"de-authorizing VoIP $oldVoIPPhone at old location $switch_id ifIndex $switch_port VLAN $voiceVlan\"\n                     );\n-                    $switch->authorizeMAC( $switch_port, $oldVoIPPhone, 0,\n-                        $voiceVlan, 0 );\n+                    my $fakeMac = $switch->generateFakeMac(1, $switch_port );\n+                    $switch->authorizeMAC( $switch_port, $oldVoIPPhone, $fakeMac,\n+                        $voiceVlan, $voiceVlan );\n                 }\n                 $logger->debug(\n                     \"closing VoIP $oldVoIPPhone locationlog entry at $switch_id ifIndex $switch_port VLAN $voiceVlan\""},{"sha":"5c83364b44de477ff0e32817d9f7b6b79a6f997c","filename":"t/data/authentication.conf","status":"modified","additions":53,"deletions":0,"changes":53,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/t%2Fdata%2Fauthentication.conf","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/t%2Fdata%2Fauthentication.conf","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/t%2Fdata%2Fauthentication.conf?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -47,3 +47,56 @@ description=\n match=all\n action0=set_role=guest\n action1=set_access_duration=1D\n+\n+[LDAP]\n+description=pf-test\n+password=\n+scope=sub\n+binddn=CN=test,DC=inverse,DC=ca\n+basedn=DC=ldap,DC=inverse,DC=ca\n+usernameattribute=user\n+connection_timeout=5\n+encryption=none\n+port=33389\n+type=AD\n+host=localhost\n+cache_match=1\n+\n+[LDAP rule Network_Team]\n+description=Full Access\n+match=any\n+action0=set_role=default\n+action1=set_access_level=ALL\n+action2=set_unreg_date=2022-02-02\n+condition0=memberOf,equals,CN=NOC Users,DC=ldap,DC=inverse,DC=ca\n+\n+[LDAP rule Barb_Iannucci-Web_Designer]\n+description=Full Access\n+match=all\n+action0=set_role=default\n+action1=set_access_level=ALL\n+action2=set_unreg_date=2022-02-02\n+condition0=cn,matches regexp,u0071193\n+\n+[LDAP rule Helpdesk_Team]\n+description=Violation / Node Manager Access\n+match=any\n+action0=set_role=default\n+action1=set_access_level=User Manager,Violation Manager,Node Manager\n+action2=set_access_duration=1D\n+condition0=memberOf,equals,CN=helpdeskWCS,DC=ldap,DC=inverse,DC=ca\n+\n+[LDAP rule Security_Assurance]\n+description=Violation Manager Access\n+match=any\n+action0=set_role=default\n+action1=set_access_level=Violation Manager\n+action2=set_unreg_date=2022-02-02\n+condition0=memberOf,equals,CN=IS_Assurance,DC=ldap,DC=inverse,DC=ca\n+\n+[LDAP rule catchall]\n+description=apply default role\n+match=all\n+action0=set_role=default\n+action1=set_access_duration=1D\n+"},{"sha":"3f1d9b3da92adce82e3a757668759e519ca7a907","filename":"t/ldap-auth-cache.t","status":"added","additions":216,"deletions":0,"changes":216,"blob_url":"https://github.com/inverse-inc/packetfence/blob/c66335e05543b0849f9ebb8ee14102ab5873fdba/t%2Fldap-auth-cache.t","raw_url":"https://github.com/inverse-inc/packetfence/raw/c66335e05543b0849f9ebb8ee14102ab5873fdba/t%2Fldap-auth-cache.t","contents_url":"https://api.github.com/repos/inverse-inc/packetfence/contents/t%2Fldap-auth-cache.t?ref=c66335e05543b0849f9ebb8ee14102ab5873fdba","patch":"@@ -0,0 +1,216 @@\n+\n+=head1 NAME\n+\n+ldap-auth\n+\n+=cut\n+\n+=head1 DESCRIPTION\n+\n+ldap-auth\n+\n+=cut\n+\n+#!/usr/bin/perl\n+package SHM;\n+use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR);\n+use IPC::SharedMem;\n+\n+our $SHM = IPC::SharedMem->new(IPC_PRIVATE, 8, S_IRWXU);\n+\n+$SHM->write(pack(\"S\", 0), 0, 2);\n+\n+sub getCount {\n+    my $count_packed = $SHM->read(0, 2);\n+    return unpack(\"S\",$count_packed);\n+}\n+\n+sub incCount {\n+    my $count = getCount();\n+    $count++;\n+    $SHM->write(pack(\"S\", $count),0, 2);\n+}\n+\n+\n+package TestLdapServer;\n+\n+use strict;\n+use warnings;\n+use Net::LDAP::Constant qw(LDAP_SUCCESS);\n+use Net::LDAP::Server;\n+use base 'Net::LDAP::Server';\n+use fields qw();\n+\n+use constant RESULT_OK => {\n+    'matchedDN'    => '',\n+    'errorMessage' => '',\n+    'resultCode'   => LDAP_SUCCESS\n+};\n+\n+# constructor\n+sub new {\n+    my $class = shift;\n+    my $self  = $class->SUPER::new(@_);\n+    return $self;\n+}\n+\n+# the bind operation\n+sub bind {\n+    my $self    = shift;\n+    my $reqData = shift;\n+    return RESULT_OK;\n+}\n+\n+# the search operation\n+sub search {\n+    my $self    = shift;\n+    my $reqData = shift;\n+    my $base = $reqData->{'baseObject'};\n+    my @entries;\n+    if ($reqData->{'scope'}) {\n+        SHM::incCount();\n+\n+        my $entry1 = Net::LDAP::Entry->new;\n+        $entry1->dn(\"cn=bob,$base\");\n+        $entry1->add(\n+            cn          => 'bob',\n+            memberOf => ['CN=IS_Assurance,DC=ldap,DC=inverse,DC=ca'],\n+        );\n+        push @entries, $entry1;\n+    }\n+    else {\n+        # base\n+        my $entry = Net::LDAP::Entry->new;\n+        $entry->dn($base);\n+        $entry->add(\n+            dn => $base,\n+            sn => 'value1',\n+            cn => [qw(value1 value2)]\n+        );\n+        push @entries, $entry;\n+    }\n+    return RESULT_OK, @entries;\n+}\n+\n+package Listener;\n+use Net::Daemon;\n+use base 'Net::Daemon';\n+\n+sub Run {\n+    my $self = shift;\n+\n+    my $handler = TestLdapServer->new($self->{socket});\n+    while (1) {\n+        my $finished = $handler->handle;\n+        if ($finished) {\n+\n+            # we have finished with the socket\n+            $self->{socket}->close;\n+            return;\n+        }\n+    }\n+}\n+\n+package main;\n+use strict;\n+use warnings;\n+\n+use IO::Handle;\n+\n+pipe(my $reader, my $writer);\n+my $pid = fork();\n+\n+exit 1 unless defined $pid;\n+\n+unless ($pid) {\n+    close($reader);\n+    $writer->autoflush(1);\n+    my $listener = Listener->new(\n+        {   localport => 33389,\n+            logfile   => 'STDERR',\n+            pidfile   => '/tmp/pf-ldap.pid',\n+            mode      => 'single'\n+        }\n+    );\n+    close($reader);\n+    $writer->write(\"\\n\");\n+    close($writer);\n+    $listener->Bind;\n+    exit 0;\n+}\n+\n+\n+close($writer);\n+my $line = <$reader>;\n+close($reader);\n+sleep(1);\n+\n+BEGIN {\n+    use lib qw(/usr/local/pf/lib);\n+    use lib qw(/usr/local/pf/t);\n+    use PfFilePaths;\n+}\n+\n+use Test::More tests => 6;    # last test to print\n+\n+use Test::NoWarnings;\n+use pf::authentication;\n+use DDP;\n+\n+my $source = getAuthenticationSource('LDAP');\n+\n+#my $ldap = Net::LDAP->new( 'localhost', port => 33389 ) or die \"$@\";\n+\n+isa_ok($source,'pf::Authentication::Source::LDAPSource');\n+\n+my $params = { username => 'bob'};\n+\n+is(0,SHM::getCount(),\"No search was done\");\n+\n+my @action = pf::authentication::match([$source],$params,$Actions::SET_ROLE);\n+is(SHM::getCount(),1,\"The search was done the first time\");\n+\n+@action = pf::authentication::match([$source],$params,$Actions::SET_ROLE);\n+\n+is(SHM::getCount(),1,\"The search was done only once\");\n+\n+$source->cache_match(0);\n+\n+@action = pf::authentication::match([$source],$params,$Actions::SET_ROLE);\n+\n+is(SHM::getCount(),2,\"The search was done a second time\");\n+\n+END {\n+    local $?;\n+    `kill \\$(cat /tmp/pf-ldap.pid)`\n+}\n+\n+=head1 AUTHOR\n+\n+Inverse inc. <info@inverse.ca>\n+\n+=head1 COPYRIGHT\n+\n+Copyright (C) 2005-2014 Inverse inc.\n+\n+=head1 LICENSE\n+\n+This program is free software; you can redistribute it and/or\n+modify it under the terms of the GNU General Public License\n+as published by the Free Software Foundation; either version 2\n+of the License, or (at your option) any later version.\n+\n+This program is distributed in the hope that it will be useful,\n+but WITHOUT ANY WARRANTY; without even the implied warranty of\n+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+GNU General Public License for more details.\n+\n+You should have received a copy of the GNU General Public License\n+along with this program; if not, write to the Free Software\n+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,\n+USA.\n+\n+=cut\n+\n+1;\n+"}]}