{"action":"created","issue":{"url":"https://api.github.com/repos/fail2ban/fail2ban/issues/1459","repository_url":"https://api.github.com/repos/fail2ban/fail2ban","labels_url":"https://api.github.com/repos/fail2ban/fail2ban/issues/1459/labels{/name}","comments_url":"https://api.github.com/repos/fail2ban/fail2ban/issues/1459/comments","events_url":"https://api.github.com/repos/fail2ban/fail2ban/issues/1459/events","html_url":"https://github.com/fail2ban/fail2ban/pull/1459","id":159526009,"number":1459,"title":"0.10 fid host ip tags","user":{"login":"sebres","id":3769657,"avatar_url":"https://avatars.githubusercontent.com/u/3769657?v=3","gravatar_id":"","url":"https://api.github.com/users/sebres","html_url":"https://github.com/sebres","followers_url":"https://api.github.com/users/sebres/followers","following_url":"https://api.github.com/users/sebres/following{/other_user}","gists_url":"https://api.github.com/users/sebres/gists{/gist_id}","starred_url":"https://api.github.com/users/sebres/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sebres/subscriptions","organizations_url":"https://api.github.com/users/sebres/orgs","repos_url":"https://api.github.com/users/sebres/repos","events_url":"https://api.github.com/users/sebres/events{/privacy}","received_events_url":"https://api.github.com/users/sebres/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/fail2ban/fail2ban/milestones/14","html_url":"https://github.com/fail2ban/fail2ban/milestones/0.10.0","labels_url":"https://api.github.com/repos/fail2ban/fail2ban/milestones/14/labels","id":1759181,"number":14,"title":"0.10.0","description":"Major functionality and performance boosts: semantic times, IPv6 support etc","creator":{"login":"yarikoptic","id":39889,"avatar_url":"https://avatars.githubusercontent.com/u/39889?v=3","gravatar_id":"","url":"https://api.github.com/users/yarikoptic","html_url":"https://github.com/yarikoptic","followers_url":"https://api.github.com/users/yarikoptic/followers","following_url":"https://api.github.com/users/yarikoptic/following{/other_user}","gists_url":"https://api.github.com/users/yarikoptic/gists{/gist_id}","starred_url":"https://api.github.com/users/yarikoptic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yarikoptic/subscriptions","organizations_url":"https://api.github.com/users/yarikoptic/orgs","repos_url":"https://api.github.com/users/yarikoptic/repos","events_url":"https://api.github.com/users/yarikoptic/events{/privacy}","received_events_url":"https://api.github.com/users/yarikoptic/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":13,"state":"open","created_at":"2016-05-11T01:19:51Z","updated_at":"2016-06-10T00:01:52Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2016-06-09T22:50:27Z","updated_at":"2016-06-10T00:21:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/fail2ban/fail2ban/pulls/1459","html_url":"https://github.com/fail2ban/fail2ban/pull/1459","diff_url":"https://github.com/fail2ban/fail2ban/pull/1459.diff","patch_url":"https://github.com/fail2ban/fail2ban/pull/1459.patch"},"body":"Here is a continuation of #1454, resp. extended version of it for 0.10 branch:\r\nPros:\r\n- possibility to differentiate between failure ID and failure IP on tag levels;\r\n- possibility to define a start/end tag for each group (failure id, ip4, ip6, host, etc.);\r\n- possibility to define different `failregex` for IPv4, IPv6 and for both (included dns host match);\r\n- more precise regular expressions for IPv4 and IPv6 (and host) - separated now;\r\n\r\nNew tags:\r\n- `<HOST>` - used new separated groups for `ip4`, `ip6`, `dns`;\r\n- `<IP4>` (+ alias `<F-IP4/>`) - matches IPv4 only;\r\n- `<IP6>` (+ alias `<F-IP6/>`) - matches IPv6 only;\r\n- `<DNS>` (+ alias `<F-DNS/>`) - matches host name (usedns should be enabled);\r\n- `<F-ID/>` - Failure ID, typically not IP-address (for example user name);\r\n- `<F-PORT/>` - port, will be wrapped into the group \"port\";\r\n\r\nNew start/end tags to use it together around any free configurable own regexp:\r\n- `<F-IP4>...</F-IP4>` - regexp between tags matches IPv4 only;\r\n- `<F-IP6>...</F-IP6>` - regexp between tags matches IPv6 only;\r\n- `<F-DNS>...</F-DNS>` - regexp between tags matches host name (usedns should be enabled);\r\n- `<F-ID>...</F-ID>` - regexp between tags corresponds to failure ID (for example user name);\r\n- `<F-PORT>...</F-PORT>` - regexp between tags corresponds to port, will be wrapped into the group \"port\";\r\n\r\nPlanned (TODO):\r\n- additionally to the \"solution\" from #1454 a new substitution tags `<fid>`, `<ip4>`, `<ip6>`, `<port>`, `<dns>` should be used in addition to tag `<host>` in action definitions."},"comment":{"url":"https://api.github.com/repos/fail2ban/fail2ban/issues/comments/225063945","html_url":"https://github.com/fail2ban/fail2ban/pull/1459#issuecomment-225063945","issue_url":"https://api.github.com/repos/fail2ban/fail2ban/issues/1459","id":225063945,"user":{"login":"sebres","id":3769657,"avatar_url":"https://avatars.githubusercontent.com/u/3769657?v=3","gravatar_id":"","url":"https://api.github.com/users/sebres","html_url":"https://github.com/sebres","followers_url":"https://api.github.com/users/sebres/followers","following_url":"https://api.github.com/users/sebres/following{/other_user}","gists_url":"https://api.github.com/users/sebres/gists{/gist_id}","starred_url":"https://api.github.com/users/sebres/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sebres/subscriptions","organizations_url":"https://api.github.com/users/sebres/orgs","repos_url":"https://api.github.com/users/sebres/repos","events_url":"https://api.github.com/users/sebres/events{/privacy}","received_events_url":"https://api.github.com/users/sebres/received_events","type":"User","site_admin":false},"created_at":"2016-06-10T00:21:14Z","updated_at":"2016-06-10T00:21:14Z","body":"It was merged"}}
{"actor":{"display_login":"sebres"}}