{"action":"closed","issue":{"url":"https://api.github.com/repos/secdev/scapy/issues/1616","repository_url":"https://api.github.com/repos/secdev/scapy","labels_url":"https://api.github.com/repos/secdev/scapy/issues/1616/labels{/name}","comments_url":"https://api.github.com/repos/secdev/scapy/issues/1616/comments","events_url":"https://api.github.com/repos/secdev/scapy/issues/1616/events","html_url":"https://github.com/secdev/scapy/issues/1616","id":365050968,"node_id":"MDU6SXNzdWUzNjUwNTA5Njg=","number":1616,"title":"Inconsisten hash value","user":{"login":"bsloane1650","id":1839120,"node_id":"MDQ6VXNlcjE4MzkxMjA=","avatar_url":"https://avatars2.githubusercontent.com/u/1839120?v=4","gravatar_id":"","url":"https://api.github.com/users/bsloane1650","html_url":"https://github.com/bsloane1650","followers_url":"https://api.github.com/users/bsloane1650/followers","following_url":"https://api.github.com/users/bsloane1650/following{/other_user}","gists_url":"https://api.github.com/users/bsloane1650/gists{/gist_id}","starred_url":"https://api.github.com/users/bsloane1650/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bsloane1650/subscriptions","organizations_url":"https://api.github.com/users/bsloane1650/orgs","repos_url":"https://api.github.com/users/bsloane1650/repos","events_url":"https://api.github.com/users/bsloane1650/events{/privacy}","received_events_url":"https://api.github.com/users/bsloane1650/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-09-28T21:44:40Z","updated_at":"2018-09-29T10:07:40Z","closed_at":"2018-09-29T10:07:40Z","author_association":"NONE","body":"#### Brief description\r\n\r\nValue of hash(packet) is not consistent for equivalent packets.\r\nEg. It does not hold that pktA==pktB => hash(pktA)==hash(pktB)\r\n\r\nThis appears to be the result of working with different packets which are the same at higher layers. In the example below, the objects being compared are the IP layer, which are identical. However, their containing Ethernet layer differs.\r\n\r\n#### Environment\r\n\r\n- Scapy version: 7c61676aef950ca268eac480902dd91cb0abe3a4\r\n- Python version: Python 2.7.15rc1\r\n- Operating System: Ubuntu 18.04.1\r\n\r\n#### How to reproduce\r\n```\r\np1=Ether(\"\\\\&\\n\\x82'Z\\x00\\x00P]g\\x96\\x08\\x00E\\x00\\x02\\x18\\x00\\x00@\\x00\\x00\\x11\\x8ar\\xc0\\xa8\\xb1\\xba\\xc0\\xa8\\xbbW\\x88\\x80\\x11P\\x02\\x04\\\\\\x99\")\r\np2=Ether(\"\\x00\\x00P]g\\xb6\\\\&\\na\\xd3\\xca\\x08\\x00E\\x00\\x02\\x18\\x00\\x00@\\x00\\x00\\x11\\x8ar\\xc0\\xa8\\xb1\\xba\\xc0\\xa8\\xbbW\\x88\\x80\\x11P\\x02\\x04\\\\\\x99\")\r\np1['IP']==p2['IP']\r\nhash(p1['IP'])==hash(p2['IP'])\r\n```\r\n\r\n#### Actual result\r\n\r\n```\r\n>>> p1['IP']==p2['IP']\r\nTrue\r\n>>> hash(p1['IP'])==hash(p2['IP'])\r\nFalse\r\n```\r\n\r\n#### Expected result\r\n\r\n```\r\n>>> p1['IP']==p2['IP']\r\nTrue\r\n>>> hash(p1['IP'])==hash(p2['IP'])\r\nTrue\r\n```\r\n\r\n"}}
{"actor":{"display_login":"gpotter2"}}