{"action":"created","issue":{"url":"https://api.github.com/repos/firehol/firehol/issues/99","labels_url":"https://api.github.com/repos/firehol/firehol/issues/99/labels{/name}","comments_url":"https://api.github.com/repos/firehol/firehol/issues/99/comments","events_url":"https://api.github.com/repos/firehol/firehol/issues/99/events","html_url":"https://github.com/firehol/firehol/issues/99","id":113522734,"number":99,"title":"Use common command detection routines","user":{"login":"philwhineray","id":1271051,"avatar_url":"https://avatars.githubusercontent.com/u/1271051?v=3","gravatar_id":"","url":"https://api.github.com/users/philwhineray","html_url":"https://github.com/philwhineray","followers_url":"https://api.github.com/users/philwhineray/followers","following_url":"https://api.github.com/users/philwhineray/following{/other_user}","gists_url":"https://api.github.com/users/philwhineray/gists{/gist_id}","starred_url":"https://api.github.com/users/philwhineray/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philwhineray/subscriptions","organizations_url":"https://api.github.com/users/philwhineray/orgs","repos_url":"https://api.github.com/users/philwhineray/repos","events_url":"https://api.github.com/users/philwhineray/events{/privacy}","received_events_url":"https://api.github.com/users/philwhineray/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-10-27T07:26:15Z","updated_at":"2015-10-30T20:51:57Z","closed_at":null,"body":"I have made what I think are the final updates to the firehol script to only use bash builtins or detected commands. I updated the unit test to help enforce it.\r\n\r\nThe user is able to specify commands to use by setting variables in `/etc/firehol/firehol-defaults.conf`. @ktsaou , when I update the other scripts, should they also read this file? I think this would be better than having many files.\r\n\r\nIt does mean they will need to understand or ignore the mark definitions. In the case of fireqos it could either keep using the generated values or it could do the same calculations as firehol (so the order of running would no longer matter but the fireqos values would reflect the config not necessarily the running firewall).\r\n"},"comment":{"url":"https://api.github.com/repos/firehol/firehol/issues/comments/152648376","html_url":"https://github.com/firehol/firehol/issues/99#issuecomment-152648376","issue_url":"https://api.github.com/repos/firehol/firehol/issues/99","id":152648376,"user":{"login":"philwhineray","id":1271051,"avatar_url":"https://avatars.githubusercontent.com/u/1271051?v=3","gravatar_id":"","url":"https://api.github.com/users/philwhineray","html_url":"https://github.com/philwhineray","followers_url":"https://api.github.com/users/philwhineray/followers","following_url":"https://api.github.com/users/philwhineray/following{/other_user}","gists_url":"https://api.github.com/users/philwhineray/gists{/gist_id}","starred_url":"https://api.github.com/users/philwhineray/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philwhineray/subscriptions","organizations_url":"https://api.github.com/users/philwhineray/orgs","repos_url":"https://api.github.com/users/philwhineray/repos","events_url":"https://api.github.com/users/philwhineray/events{/privacy}","received_events_url":"https://api.github.com/users/philwhineray/received_events","type":"User","site_admin":false},"created_at":"2015-10-30T20:51:57Z","updated_at":"2015-10-30T20:51:57Z","body":"I doubt you are too old :) more likely my powers of documentation are not as good as they should be.\r\n\r\nWe can try a webinar sometime but maybe not for a few weeks if you can wait? Meantime I am happy to try to explain whatever you would like to know more about.\r\n\r\nAnyhow, I have just pushed some more commits.\r\n\r\nThe key change is that link-balancer now uses the same functions as firehol and fireqos (well, in addition it exports the variables it autodetects so that it does not re-detect them when it runs itself). So this could do with some more testing, I have done only a basic run which I added to the unit tests.\r\n\r\nI also made a couple of fixes for other programs I noticed.\r\n\r\nFinally, I have made the unit tests run without needing root at all; instead they rely on having user namespaces enabled for regular users. On some systems this is disabled by default so you will get prompted. It was much harder than it should have been due to this:\r\n\r\n* http://lists.linuxfoundation.org/pipermail/containers/2014-June/034682.html\r\n* https://lists.linuxcontainers.org/pipermail/lxc-users/2014-November/008099.html\r\n\r\nAdding the fact one cannot bind mount over something under `/proc/net/` from shell commands - it always affects the running pid (of the mount command...) and I had to rebuild a fake `/proc` to get it to work. Maybe I will try my hand at kernel development next..."}}