{"action":"created","issue":{"url":"https://api.github.com/repos/SpiderLabs/ModSecurity-nginx/issues/139","repository_url":"https://api.github.com/repos/SpiderLabs/ModSecurity-nginx","labels_url":"https://api.github.com/repos/SpiderLabs/ModSecurity-nginx/issues/139/labels{/name}","comments_url":"https://api.github.com/repos/SpiderLabs/ModSecurity-nginx/issues/139/comments","events_url":"https://api.github.com/repos/SpiderLabs/ModSecurity-nginx/issues/139/events","html_url":"https://github.com/SpiderLabs/ModSecurity-nginx/pull/139","id":386256983,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM1MDQyNDcw","number":139,"title":"Module configuration refactoring","user":{"login":"defanator","id":1309027,"node_id":"MDQ6VXNlcjEzMDkwMjc=","avatar_url":"https://avatars0.githubusercontent.com/u/1309027?v=4","gravatar_id":"","url":"https://api.github.com/users/defanator","html_url":"https://github.com/defanator","followers_url":"https://api.github.com/users/defanator/followers","following_url":"https://api.github.com/users/defanator/following{/other_user}","gists_url":"https://api.github.com/users/defanator/gists{/gist_id}","starred_url":"https://api.github.com/users/defanator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defanator/subscriptions","organizations_url":"https://api.github.com/users/defanator/orgs","repos_url":"https://api.github.com/users/defanator/repos","events_url":"https://api.github.com/users/defanator/events{/privacy}","received_events_url":"https://api.github.com/users/defanator/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"zimmerle","id":428268,"node_id":"MDQ6VXNlcjQyODI2OA==","avatar_url":"https://avatars3.githubusercontent.com/u/428268?v=4","gravatar_id":"","url":"https://api.github.com/users/zimmerle","html_url":"https://github.com/zimmerle","followers_url":"https://api.github.com/users/zimmerle/followers","following_url":"https://api.github.com/users/zimmerle/following{/other_user}","gists_url":"https://api.github.com/users/zimmerle/gists{/gist_id}","starred_url":"https://api.github.com/users/zimmerle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zimmerle/subscriptions","organizations_url":"https://api.github.com/users/zimmerle/orgs","repos_url":"https://api.github.com/users/zimmerle/repos","events_url":"https://api.github.com/users/zimmerle/events{/privacy}","received_events_url":"https://api.github.com/users/zimmerle/received_events","type":"User","site_admin":false},"assignees":[{"login":"zimmerle","id":428268,"node_id":"MDQ6VXNlcjQyODI2OA==","avatar_url":"https://avatars3.githubusercontent.com/u/428268?v=4","gravatar_id":"","url":"https://api.github.com/users/zimmerle","html_url":"https://github.com/zimmerle","followers_url":"https://api.github.com/users/zimmerle/followers","following_url":"https://api.github.com/users/zimmerle/following{/other_user}","gists_url":"https://api.github.com/users/zimmerle/gists{/gist_id}","starred_url":"https://api.github.com/users/zimmerle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zimmerle/subscriptions","organizations_url":"https://api.github.com/users/zimmerle/orgs","repos_url":"https://api.github.com/users/zimmerle/repos","events_url":"https://api.github.com/users/zimmerle/events{/privacy}","received_events_url":"https://api.github.com/users/zimmerle/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2018-11-30T16:24:33Z","updated_at":"2018-12-03T05:42:11Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/SpiderLabs/ModSecurity-nginx/pulls/139","html_url":"https://github.com/SpiderLabs/ModSecurity-nginx/pull/139","diff_url":"https://github.com/SpiderLabs/ModSecurity-nginx/pull/139.diff","patch_url":"https://github.com/SpiderLabs/ModSecurity-nginx/pull/139.patch"},"body":"The proposed changes are mostly aimed to improve overall code readability.\r\n\r\nAs a bonus, 2ae2a10 introduces a little feature of extending connector banner message with a total number of loaded rules with breakdown by rule source, e.g.:\r\n\r\n```\r\n2018/11/30 08:20:22 [notice] 9116#9116: ModSecurity-nginx v1.0.0 (rules loaded inline/local/remote: 0/1634/0)\r\n```"},"comment":{"url":"https://api.github.com/repos/SpiderLabs/ModSecurity-nginx/issues/comments/443595282","html_url":"https://github.com/SpiderLabs/ModSecurity-nginx/pull/139#issuecomment-443595282","issue_url":"https://api.github.com/repos/SpiderLabs/ModSecurity-nginx/issues/139","id":443595282,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MzU5NTI4Mg==","user":{"login":"defanator","id":1309027,"node_id":"MDQ6VXNlcjEzMDkwMjc=","avatar_url":"https://avatars0.githubusercontent.com/u/1309027?v=4","gravatar_id":"","url":"https://api.github.com/users/defanator","html_url":"https://github.com/defanator","followers_url":"https://api.github.com/users/defanator/followers","following_url":"https://api.github.com/users/defanator/following{/other_user}","gists_url":"https://api.github.com/users/defanator/gists{/gist_id}","starred_url":"https://api.github.com/users/defanator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defanator/subscriptions","organizations_url":"https://api.github.com/users/defanator/orgs","repos_url":"https://api.github.com/users/defanator/repos","events_url":"https://api.github.com/users/defanator/events{/privacy}","received_events_url":"https://api.github.com/users/defanator/received_events","type":"User","site_admin":false},"created_at":"2018-12-03T05:42:11Z","updated_at":"2018-12-03T05:42:11Z","author_association":"COLLABORATOR","body":"@zimmerle in regards to memory footprint - yes, I'm pretty sure (lib)modsecurity (and/or connector modules) should be smart enough to detect whether the exactly same set of rules is being loaded for multiple entities (servers / locations / virtual hosts / you name it), and avoid any sort of duplicates.\r\n\r\nI can imagine how to achieve this with loading rules from file (e.g. you can store and check SHA sums / modification times of a conf and its includes). Using remote sources may require additional checks like passing \"If-Modified\" and checking response codes, etc. Anyway, there is a room for improvements."}}
{"actor":{"display_login":"defanator"}}