{"push_id":838446305,"size":1000,"distinct_size":1671,"ref":"refs/heads/master","head":"ae8ee03f95d4513903c8a3f0c9eeed8136621149","before":"1bb3a4a58492965537ca8e20560b40e241992e5b","commits":[{"sha":"81ae9af2e46438090aecfad24a6cb39515dcd50f","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Add \"last resort\" PreKey generation to KeyHelper.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/81ae9af2e46438090aecfad24a6cb39515dcd50f"},{"sha":"931605a1c4407273c28429d8eeffb745c7fe01e4","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Move identity key verification into libaxolotol.  With tests.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/931605a1c4407273c28429d8eeffb745c7fe01e4"},{"sha":"2a652571827066a46b7dd2d3cbbb365bb6e76523","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Add serialization helpers for IdentityKeyPair.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/2a652571827066a46b7dd2d3cbbb365bb6e76523"},{"sha":"c8757c2134fc8606b16b5cc67fb46d6bb4b12e2a","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Make helper static.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/c8757c2134fc8606b16b5cc67fb46d6bb4b12e2a"},{"sha":"79020cd33cec56820e1e8dba7c8165475196617b","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Better FS Locking.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/79020cd33cec56820e1e8dba7c8165475196617b"},{"sha":"2ed8d333d9b90cb34bef7e3262f4c054f6f91eda","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Add ed25519","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/2ed8d333d9b90cb34bef7e3262f4c054f6f91eda"},{"sha":"811479d16832d93a9a532a1fb8477fa4bb6ca71c","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Add first cut of protocol v3 support.\n\n1) Use the new /v2/keys API for storing/retrieving prekey bundles.\n\n2) For sessions built with PreKeyBundle and PreKeyWhisperMessage,\n   use a v3 ratcheting session when available.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/811479d16832d93a9a532a1fb8477fa4bb6ca71c"},{"sha":"d6c5e92c9de1bb9973761902a2ac4a2e12ae0e9c","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Collapse RatchetingSessionV2 and RatchetingSessionV3.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/d6c5e92c9de1bb9973761902a2ac4a2e12ae0e9c"},{"sha":"f29d1e6269de23a395d3f3f96bd9fe17dbb5369a","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Add support for a compliant HKDF implementation.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/f29d1e6269de23a395d3f3f96bd9fe17dbb5369a"},{"sha":"6326ef73f307a8c994934439eaf2399387ccf419","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Split HKDF secret derivation and parsing.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/6326ef73f307a8c994934439eaf2399387ccf419"},{"sha":"77ff9cece8df363a1bbda7fc7c810012750fe372","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Add a 'verification tag' to incoming PreKeyWhisperMessage bundles.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/77ff9cece8df363a1bbda7fc7c810012750fe372"},{"sha":"64b40df15bb545d3fd374108ff1880e39ffdbd1f","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Add V3 support for KeyExchangeMessage case.\n\n1) V3 KeyExchangeMessages can now contain signatures and\n   verification tags.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/64b40df15bb545d3fd374108ff1880e39ffdbd1f"},{"sha":"fcaa3f0d73d11a49aa0ae35ffe60619a6fd28d2a","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Simplify HKDF interface.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/fcaa3f0d73d11a49aa0ae35ffe60619a6fd28d2a"},{"sha":"07fd17ccda5b378a9359f5d4eecead7d2cc8a6ea","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Add padding for push messages.\n\n1) Use 'bit padding.'\n\n1) By default, pad at 160 byte increments.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/07fd17ccda5b378a9359f5d4eecead7d2cc8a6ea"},{"sha":"0d532afd8ed481bbcd0955ce930d66a1de5cb574","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Rename 'device key' to 'signed prekey'.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/0d532afd8ed481bbcd0955ce930d66a1de5cb574"},{"sha":"144f2690598c46ed8074e25c840b68f24f989bad","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Upgrade curve25519-donna to latest.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/144f2690598c46ed8074e25c840b68f24f989bad"},{"sha":"5f5ddd7c26061940bd8a08085ca1613a37cc42d4","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Generate SignedPreKey records, improve SignedPreKey cleanup.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/5f5ddd7c26061940bd8a08085ca1613a37cc42d4"},{"sha":"f0c22d593f60c2142e895d5cce41b4fb916d6b2f","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Simplify/clarify internal interfaces and introduce optional types.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/f0c22d593f60c2142e895d5cce41b4fb916d6b2f"},{"sha":"0a23b5fcd50ae1ee2f6ecc2a4cd05d62a4bf963c","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Added helper method for generating signed PreKeys.","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/0a23b5fcd50ae1ee2f6ecc2a4cd05d62a4bf963c"},{"sha":"5a9e5672d36e5ccf1e2fc16acfa3d59c499fa439","author":{"email":"19ab80fdca0a20fe1df62ff9993c81f6da3454d2@thoughtcrime.org","name":"Moxie Marlinspike"},"message":"Updated README","distinct":true,"url":"https://api.github.com/repos/HelgePlaschke/TextSecure/commits/5a9e5672d36e5ccf1e2fc16acfa3d59c499fa439"}]}