{"push_id":2886064153,"size":4,"distinct_size":0,"ref":"refs/heads/maint-0.3.3","head":"75b95e1c8e28e1136b5bc98fd89321e478f4b836","before":"a546e07600151be275e6134407c2bcb833a3dd97","commits":[{"sha":"578f7326eda7307c420286c01b57f71925901533","author":{"name":"cypherpunks","email":"485c1ea8b3bcb8a7f79204f31ec13ff86a1e4555@torproject.org"},"message":"rust/protover: add ProtoSet::and_not_in()\n\nThis is a way more efficient version of retain().","distinct":false,"url":"https://api.github.com/repos/torproject/tor/commits/578f7326eda7307c420286c01b57f71925901533"},{"sha":"c613d5513491861431c2852cf4072ae256ba2c67","author":{"name":"cypherpunks","email":"485c1ea8b3bcb8a7f79204f31ec13ff86a1e4555@torproject.org"},"message":"rust/protover: use .and_not_in() instead of .retain() in all_supported()\n\n.retain() would allocating a Vec of billions of integers and check them\none at a time to separate the supported versions from the unsupported.\nThis leads to a memory DoS.\n\nCloses ticket 27206. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.","distinct":false,"url":"https://api.github.com/repos/torproject/tor/commits/c613d5513491861431c2852cf4072ae256ba2c67"},{"sha":"5c47f725b0e1628aab1d6f5b43dc32a493ce58e8","author":{"name":"cypherpunks","email":"485c1ea8b3bcb8a7f79204f31ec13ff86a1e4555@torproject.org"},"message":"rust/protover: delete ProtoSet::retain\n\nAs the comment noted, it was horribly inefficient.","distinct":false,"url":"https://api.github.com/repos/torproject/tor/commits/5c47f725b0e1628aab1d6f5b43dc32a493ce58e8"},{"sha":"75b95e1c8e28e1136b5bc98fd89321e478f4b836","author":{"name":"Nick Mathewson","email":"72ea8dfcf31d0eadc9160881a3c0d99a31e0e524@torproject.org"},"message":"Merge remote-tracking branch 'onionk/rust-allsupported1' into maint-0.3.3","distinct":false,"url":"https://api.github.com/repos/torproject/tor/commits/75b95e1c8e28e1136b5bc98fd89321e478f4b836"}]}
{"actor":{"display_login":"torproject-pusher"}}