{"action":"created","comment":{"url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments/26516545","id":26516545,"diff_hunk":"@@ -17,6 +17,35 @@ class SNMP\n         PRIVATE_TYPES        = [ :password ]\n         REALM_KEY            = nil\n \n+        # @!attribute retries","path":"lib/metasploit/framework/login_scanner/snmp.rb","position":4,"original_position":4,"commit_id":"0debbbb948ac55685c2e2096081d5fe6c2771cdf","original_commit_id":"0debbbb948ac55685c2e2096081d5fe6c2771cdf","user":{"login":"limhoff-r7","id":2230482,"avatar_url":"https://avatars.githubusercontent.com/u/2230482?v=3","gravatar_id":"","url":"https://api.github.com/users/limhoff-r7","html_url":"https://github.com/limhoff-r7","followers_url":"https://api.github.com/users/limhoff-r7/followers","following_url":"https://api.github.com/users/limhoff-r7/following{/other_user}","gists_url":"https://api.github.com/users/limhoff-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/limhoff-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/limhoff-r7/subscriptions","organizations_url":"https://api.github.com/users/limhoff-r7/orgs","repos_url":"https://api.github.com/users/limhoff-r7/repos","events_url":"https://api.github.com/users/limhoff-r7/events{/privacy}","received_events_url":"https://api.github.com/users/limhoff-r7/received_events","type":"User","site_admin":false},"body":"You should separate your attributes from your validations, so that all attributes are first, then all validations as the patten shown [here](https://github.com/rapid7/metasploit-cache/blob/866e3b7f2d48000df0a41df86fb6be3efbe7a4d9/lib/metasploit/cache/direct/class/load.rb#L3-L53)","created_at":"2015-03-16T18:59:09Z","updated_at":"2015-03-16T18:59:09Z","html_url":"https://github.com/rapid7/metasploit-framework/pull/4722#discussion_r26516545","pull_request_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4722","_links":{"self":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments/26516545"},"html":{"href":"https://github.com/rapid7/metasploit-framework/pull/4722#discussion_r26516545"},"pull_request":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4722"}}},"pull_request":{"url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4722","id":28828133,"html_url":"https://github.com/rapid7/metasploit-framework/pull/4722","diff_url":"https://github.com/rapid7/metasploit-framework/pull/4722.diff","patch_url":"https://github.com/rapid7/metasploit-framework/pull/4722.patch","issue_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/4722","number":4722,"state":"open","locked":false,"title":"Add additional timing options to snmp_login scanner","user":{"login":"Meatballs1","id":1854557,"avatar_url":"https://avatars.githubusercontent.com/u/1854557?v=3","gravatar_id":"","url":"https://api.github.com/users/Meatballs1","html_url":"https://github.com/Meatballs1","followers_url":"https://api.github.com/users/Meatballs1/followers","following_url":"https://api.github.com/users/Meatballs1/following{/other_user}","gists_url":"https://api.github.com/users/Meatballs1/gists{/gist_id}","starred_url":"https://api.github.com/users/Meatballs1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Meatballs1/subscriptions","organizations_url":"https://api.github.com/users/Meatballs1/orgs","repos_url":"https://api.github.com/users/Meatballs1/repos","events_url":"https://api.github.com/users/Meatballs1/events{/privacy}","received_events_url":"https://api.github.com/users/Meatballs1/received_events","type":"User","site_admin":false},"body":"#4718\r\n\r\nSet the default retries to 0.\r\nReduce the timeout to 2s.\r\nStill scan both v1 and v2c, but give the option to scan only one.","created_at":"2015-02-06T17:53:54Z","updated_at":"2015-03-16T18:59:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"cf8387cbc3566ea5384052ef63e572779bd350b2","assignee":{"login":"bcook-r7","id":10031469,"avatar_url":"https://avatars.githubusercontent.com/u/10031469?v=3","gravatar_id":"","url":"https://api.github.com/users/bcook-r7","html_url":"https://github.com/bcook-r7","followers_url":"https://api.github.com/users/bcook-r7/followers","following_url":"https://api.github.com/users/bcook-r7/following{/other_user}","gists_url":"https://api.github.com/users/bcook-r7/gists{/gist_id}","starred_url":"https://api.github.com/users/bcook-r7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcook-r7/subscriptions","organizations_url":"https://api.github.com/users/bcook-r7/orgs","repos_url":"https://api.github.com/users/bcook-r7/repos","events_url":"https://api.github.com/users/bcook-r7/events{/privacy}","received_events_url":"https://api.github.com/users/bcook-r7/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4722/commits","review_comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4722/comments","review_comment_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/4722/comments","statuses_url":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/0debbbb948ac55685c2e2096081d5fe6c2771cdf","head":{"label":"Meatballs1:snmp_speed","ref":"snmp_speed","sha":"0debbbb948ac55685c2e2096081d5fe6c2771cdf","user":{"login":"Meatballs1","id":1854557,"avatar_url":"https://avatars.githubusercontent.com/u/1854557?v=3","gravatar_id":"","url":"https://api.github.com/users/Meatballs1","html_url":"https://github.com/Meatballs1","followers_url":"https://api.github.com/users/Meatballs1/followers","following_url":"https://api.github.com/users/Meatballs1/following{/other_user}","gists_url":"https://api.github.com/users/Meatballs1/gists{/gist_id}","starred_url":"https://api.github.com/users/Meatballs1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Meatballs1/subscriptions","organizations_url":"https://api.github.com/users/Meatballs1/orgs","repos_url":"https://api.github.com/users/Meatballs1/repos","events_url":"https://api.github.com/users/Meatballs1/events{/privacy}","received_events_url":"https://api.github.com/users/Meatballs1/received_events","type":"User","site_admin":false},"repo":{"id":4677558,"name":"metasploit-framework","full_name":"Meatballs1/metasploit-framework","owner":{"login":"Meatballs1","id":1854557,"avatar_url":"https://avatars.githubusercontent.com/u/1854557?v=3","gravatar_id":"","url":"https://api.github.com/users/Meatballs1","html_url":"https://github.com/Meatballs1","followers_url":"https://api.github.com/users/Meatballs1/followers","following_url":"https://api.github.com/users/Meatballs1/following{/other_user}","gists_url":"https://api.github.com/users/Meatballs1/gists{/gist_id}","starred_url":"https://api.github.com/users/Meatballs1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Meatballs1/subscriptions","organizations_url":"https://api.github.com/users/Meatballs1/orgs","repos_url":"https://api.github.com/users/Meatballs1/repos","events_url":"https://api.github.com/users/Meatballs1/events{/privacy}","received_events_url":"https://api.github.com/users/Meatballs1/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Meatballs1/metasploit-framework","description":"Metasploit Framework","fork":true,"url":"https://api.github.com/repos/Meatballs1/metasploit-framework","forks_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/forks","keys_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/teams","hooks_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/hooks","issue_events_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/issues/events{/number}","events_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/events","assignees_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/assignees{/user}","branches_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/branches{/branch}","tags_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/tags","blobs_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/languages","stargazers_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/stargazers","contributors_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/contributors","subscribers_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/subscribers","subscription_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/subscription","commits_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/contents/{+path}","compare_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/merges","archive_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/downloads","issues_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/issues{/number}","pulls_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/labels{/name}","releases_url":"https://api.github.com/repos/Meatballs1/metasploit-framework/releases{/id}","created_at":"2012-06-15T16:40:18Z","updated_at":"2015-01-09T10:10:28Z","pushed_at":"2015-03-06T18:56:42Z","git_url":"git://github.com/Meatballs1/metasploit-framework.git","ssh_url":"git@github.com:Meatballs1/metasploit-framework.git","clone_url":"https://github.com/Meatballs1/metasploit-framework.git","svn_url":"https://github.com/Meatballs1/metasploit-framework","homepage":"http://www.metasploit.com/","size":264682,"stargazers_count":5,"watchers_count":5,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":2,"forks":2,"open_issues":2,"watchers":5,"default_branch":"master"}},"base":{"label":"rapid7:master","ref":"master","sha":"ce688f42477d30f16dac9f92a58775403a976aba","user":{"login":"rapid7","id":1013671,"avatar_url":"https://avatars.githubusercontent.com/u/1013671?v=3","gravatar_id":"","url":"https://api.github.com/users/rapid7","html_url":"https://github.com/rapid7","followers_url":"https://api.github.com/users/rapid7/followers","following_url":"https://api.github.com/users/rapid7/following{/other_user}","gists_url":"https://api.github.com/users/rapid7/gists{/gist_id}","starred_url":"https://api.github.com/users/rapid7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rapid7/subscriptions","organizations_url":"https://api.github.com/users/rapid7/orgs","repos_url":"https://api.github.com/users/rapid7/repos","events_url":"https://api.github.com/users/rapid7/events{/privacy}","received_events_url":"https://api.github.com/users/rapid7/received_events","type":"Organization","site_admin":false},"repo":{"id":2293158,"name":"metasploit-framework","full_name":"rapid7/metasploit-framework","owner":{"login":"rapid7","id":1013671,"avatar_url":"https://avatars.githubusercontent.com/u/1013671?v=3","gravatar_id":"","url":"https://api.github.com/users/rapid7","html_url":"https://github.com/rapid7","followers_url":"https://api.github.com/users/rapid7/followers","following_url":"https://api.github.com/users/rapid7/following{/other_user}","gists_url":"https://api.github.com/users/rapid7/gists{/gist_id}","starred_url":"https://api.github.com/users/rapid7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rapid7/subscriptions","organizations_url":"https://api.github.com/users/rapid7/orgs","repos_url":"https://api.github.com/users/rapid7/repos","events_url":"https://api.github.com/users/rapid7/events{/privacy}","received_events_url":"https://api.github.com/users/rapid7/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rapid7/metasploit-framework","description":"Metasploit Framework","fork":false,"url":"https://api.github.com/repos/rapid7/metasploit-framework","forks_url":"https://api.github.com/repos/rapid7/metasploit-framework/forks","keys_url":"https://api.github.com/repos/rapid7/metasploit-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rapid7/metasploit-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rapid7/metasploit-framework/teams","hooks_url":"https://api.github.com/repos/rapid7/metasploit-framework/hooks","issue_events_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/events{/number}","events_url":"https://api.github.com/repos/rapid7/metasploit-framework/events","assignees_url":"https://api.github.com/repos/rapid7/metasploit-framework/assignees{/user}","branches_url":"https://api.github.com/repos/rapid7/metasploit-framework/branches{/branch}","tags_url":"https://api.github.com/repos/rapid7/metasploit-framework/tags","blobs_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/rapid7/metasploit-framework/languages","stargazers_url":"https://api.github.com/repos/rapid7/metasploit-framework/stargazers","contributors_url":"https://api.github.com/repos/rapid7/metasploit-framework/contributors","subscribers_url":"https://api.github.com/repos/rapid7/metasploit-framework/subscribers","subscription_url":"https://api.github.com/repos/rapid7/metasploit-framework/subscription","commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/rapid7/metasploit-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/rapid7/metasploit-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/rapid7/metasploit-framework/contents/{+path}","compare_url":"https://api.github.com/repos/rapid7/metasploit-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rapid7/metasploit-framework/merges","archive_url":"https://api.github.com/repos/rapid7/metasploit-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rapid7/metasploit-framework/downloads","issues_url":"https://api.github.com/repos/rapid7/metasploit-framework/issues{/number}","pulls_url":"https://api.github.com/repos/rapid7/metasploit-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/rapid7/metasploit-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/rapid7/metasploit-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rapid7/metasploit-framework/labels{/name}","releases_url":"https://api.github.com/repos/rapid7/metasploit-framework/releases{/id}","created_at":"2011-08-30T06:13:20Z","updated_at":"2015-03-16T10:11:11Z","pushed_at":"2015-03-16T06:47:03Z","git_url":"git://github.com/rapid7/metasploit-framework.git","ssh_url":"git@github.com:rapid7/metasploit-framework.git","clone_url":"https://github.com/rapid7/metasploit-framework.git","svn_url":"https://github.com/rapid7/metasploit-framework","homepage":"http://www.metasploit.com/","size":1037745,"stargazers_count":3468,"watchers_count":3468,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2881,"mirror_url":null,"open_issues_count":185,"forks":2881,"open_issues":185,"watchers":3468,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4722"},"html":{"href":"https://github.com/rapid7/metasploit-framework/pull/4722"},"issue":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/issues/4722"},"comments":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/issues/4722/comments"},"review_comments":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4722/comments"},"review_comment":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/pulls/4722/commits"},"statuses":{"href":"https://api.github.com/repos/rapid7/metasploit-framework/statuses/0debbbb948ac55685c2e2096081d5fe6c2771cdf"}}}}