{"action":"created","issue":{"url":"https://api.github.com/repos/zmap/zmap/issues/236","labels_url":"https://api.github.com/repos/zmap/zmap/issues/236/labels{/name}","comments_url":"https://api.github.com/repos/zmap/zmap/issues/236/comments","events_url":"https://api.github.com/repos/zmap/zmap/issues/236/events","html_url":"https://github.com/zmap/zmap/pull/236","id":53976043,"number":236,"title":"Probe module refactor","user":{"login":"scarito","id":6598452,"avatar_url":"https://avatars.githubusercontent.com/u/6598452?v=3","gravatar_id":"","url":"https://api.github.com/users/scarito","html_url":"https://github.com/scarito","followers_url":"https://api.github.com/users/scarito/followers","following_url":"https://api.github.com/users/scarito/following{/other_user}","gists_url":"https://api.github.com/users/scarito/gists{/gist_id}","starred_url":"https://api.github.com/users/scarito/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scarito/subscriptions","organizations_url":"https://api.github.com/users/scarito/orgs","repos_url":"https://api.github.com/users/scarito/repos","events_url":"https://api.github.com/users/scarito/events{/privacy}","received_events_url":"https://api.github.com/users/scarito/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-01-10T23:54:47Z","updated_at":"2015-06-12T19:04:12Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/zmap/zmap/pulls/236","html_url":"https://github.com/zmap/zmap/pull/236","diff_url":"https://github.com/zmap/zmap/pull/236.diff","patch_url":"https://github.com/zmap/zmap/pull/236.patch"},"body":"This is a first step towards moving the IP related code inside the probe modules.  I also tried to make the various probe module related functions (print, validate, and process) use the same form of the packet.  Let me know if this looks like it's going in the right direction.\r\n\r\nThe one issue I see is that the list of available output fields is going to be incorrect because it will always include the IP fields (in zmap.c:492).  If we don't want to special case things, one resolution I was thinking of is to have a reference to a \"base\" module in the probe module definition.  This might be excessively modular but for example I could see the tcp_synscan module referring to an IP module which would refer to an ethernet module.  This may be too complex for the goals of the probe module framework.  Otherwise there just needs to be a way of figuring out whether or not to include the IP fields."},"comment":{"url":"https://api.github.com/repos/zmap/zmap/issues/comments/111589980","html_url":"https://github.com/zmap/zmap/pull/236#issuecomment-111589980","issue_url":"https://api.github.com/repos/zmap/zmap/issues/236","id":111589980,"user":{"login":"dadrian","id":1158264,"avatar_url":"https://avatars.githubusercontent.com/u/1158264?v=3","gravatar_id":"","url":"https://api.github.com/users/dadrian","html_url":"https://github.com/dadrian","followers_url":"https://api.github.com/users/dadrian/followers","following_url":"https://api.github.com/users/dadrian/following{/other_user}","gists_url":"https://api.github.com/users/dadrian/gists{/gist_id}","starred_url":"https://api.github.com/users/dadrian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dadrian/subscriptions","organizations_url":"https://api.github.com/users/dadrian/orgs","repos_url":"https://api.github.com/users/dadrian/repos","events_url":"https://api.github.com/users/dadrian/events{/privacy}","received_events_url":"https://api.github.com/users/dadrian/received_events","type":"User","site_admin":false},"created_at":"2015-06-12T19:04:12Z","updated_at":"2015-06-12T19:04:12Z","body":"Unfortunately, we don't have a comprehensive test suite. Most of the testing we do is manual. I think what we'll likely do is merge this in after we release 2.1 final (which should be within the next week or two), and then test it along the way to a version 2.2 release."}}