{"action":"created","issue":{"url":"https://api.github.com/repos/SpiderLabs/owasp-modsecurity-crs/issues/262","labels_url":"https://api.github.com/repos/SpiderLabs/owasp-modsecurity-crs/issues/262/labels{/name}","comments_url":"https://api.github.com/repos/SpiderLabs/owasp-modsecurity-crs/issues/262/comments","events_url":"https://api.github.com/repos/SpiderLabs/owasp-modsecurity-crs/issues/262/events","html_url":"https://github.com/SpiderLabs/owasp-modsecurity-crs/issues/262","id":111933473,"number":262,"title":"Experimental rules should standardise on a consistent path for external files","user":{"login":"jstangroome","id":148754,"avatar_url":"https://avatars.githubusercontent.com/u/148754?v=3","gravatar_id":"","url":"https://api.github.com/users/jstangroome","html_url":"https://github.com/jstangroome","followers_url":"https://api.github.com/users/jstangroome/followers","following_url":"https://api.github.com/users/jstangroome/following{/other_user}","gists_url":"https://api.github.com/users/jstangroome/gists{/gist_id}","starred_url":"https://api.github.com/users/jstangroome/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jstangroome/subscriptions","organizations_url":"https://api.github.com/users/jstangroome/orgs","repos_url":"https://api.github.com/users/jstangroome/repos","events_url":"https://api.github.com/users/jstangroome/events{/privacy}","received_events_url":"https://api.github.com/users/jstangroome/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-10-17T00:26:14Z","updated_at":"2015-11-04T02:26:18Z","closed_at":null,"body":"There are three experimental rule files which use three different paths to their lua scripts:\r\n\r\n1. https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/c63affc9dfa6294ecf8782ae4d1f1fb2c9fd5a18/experimental_rules/modsecurity_crs_48_bayes_analysis.conf#L15\r\n1. https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/c63affc9dfa6294ecf8782ae4d1f1fb2c9fd5a18/experimental_rules/modsecurity_crs_16_scanner_integration.conf#L32\r\n1. https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/c63affc9dfa6294ecf8782ae4d1f1fb2c9fd5a18/experimental_rules/modsecurity_crs_55_response_profiling.conf#L11\r\n\r\nAnd there is another experimental rule file which uses two different paths to lua scripts in the same file:\r\n\r\n* https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/c63affc9dfa6294ecf8782ae4d1f1fb2c9fd5a18/experimental_rules/modsecurity_crs_48_bayes_analysis.conf#L13-L15\r\n\r\nThere are also two experimental rule files which use two different paths to reference the GeoIP database:\r\n\r\n1. https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/c63affc9dfa6294ecf8782ae4d1f1fb2c9fd5a18/experimental_rules/modsecurity_crs_11_proxy_abuse.conf#L24\r\n1. https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/c63affc9dfa6294ecf8782ae4d1f1fb2c9fd5a18/experimental_rules/modsecurity_crs_61_ip_forensics.conf#L34\r\n\r\nAnd neither of these GeoIP database paths match the setup.conf example path:\r\n\r\n* https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/c63affc9dfa6294ecf8782ae4d1f1fb2c9fd5a18/modsecurity_crs_10_setup.conf.example#L175\r\n\r\nWhile these are experimental rules, and some have comments suggesting that the user should adjust the paths to suit their environment, can we have a default path that is consistent and then easy to bulk find and replace?"},"comment":{"url":"https://api.github.com/repos/SpiderLabs/owasp-modsecurity-crs/issues/comments/153551346","html_url":"https://github.com/SpiderLabs/owasp-modsecurity-crs/issues/262#issuecomment-153551346","issue_url":"https://api.github.com/repos/SpiderLabs/owasp-modsecurity-crs/issues/262","id":153551346,"user":{"login":"csanders-git","id":4632287,"avatar_url":"https://avatars.githubusercontent.com/u/4632287?v=3","gravatar_id":"","url":"https://api.github.com/users/csanders-git","html_url":"https://github.com/csanders-git","followers_url":"https://api.github.com/users/csanders-git/followers","following_url":"https://api.github.com/users/csanders-git/following{/other_user}","gists_url":"https://api.github.com/users/csanders-git/gists{/gist_id}","starred_url":"https://api.github.com/users/csanders-git/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/csanders-git/subscriptions","organizations_url":"https://api.github.com/users/csanders-git/orgs","repos_url":"https://api.github.com/users/csanders-git/repos","events_url":"https://api.github.com/users/csanders-git/events{/privacy}","received_events_url":"https://api.github.com/users/csanders-git/received_events","type":"User","site_admin":false},"created_at":"2015-11-04T02:26:18Z","updated_at":"2015-11-04T02:26:18Z","body":"So after a lot of research it seems that 'exec' has to have a full path (on some OS's)... but i'm fine with changing the LUA stuff to match the stuff we have to be under the /opt/modsecurity/owasp-modsecurity-crs/lua/[data] where relative paths are not possible this seems to be the best solution. Otherwise we should use relative paths to allow things to work out of the box... i'm going to make sure in 3.x that relative paths will work for exec and scripts. How does this sound?"}}