{"push_id":781485496,"size":20,"distinct_size":1,"ref":"refs/heads/warn-hard-links","head":"640299f98c01c07f267885a92190febffe1f790d","before":"9ea9cb32ed44d8af88627778b93ba78cdba65409","commits":[{"sha":"4639d3163a62346aa2cd07675781349035aacdde","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Initialize keycache with NULL\n\nI removed the previous\n    memset(&keycache, 0, sizeof(keycache));\nbecause 'struct keycache' only contains pointers, which are now\nall set to NULL.","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/4639d3163a62346aa2cd07675781349035aacdde"},{"sha":"fe06b54a107a3ede86795044fd9cd5fab54cd19c","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Add crypto_file_atexit()","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/fe06b54a107a3ede86795044fd9cd5fab54cd19c"},{"sha":"ebc1cc4e0fd3d9b97cc6505dcdb08288a82b1f76","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Add crypto_keys_subr_free_HMAC()","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/ebc1cc4e0fd3d9b97cc6505dcdb08288a82b1f76"},{"sha":"4eed74788609bb07af72766f4bebc444cdb7332e","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Add crypto_keys_atexit()\n\nRSA_free claims that \"The key is erased before the memory is\nreturned to the system.\"\nhttps://www.openssl.org/docs/manmaster/crypto/RSA_new.html\n\nInternally (albeit in a downstream repo), RSA_free() uses\nBN_clear_free():\nhttps://github.com/openssl/openssl/blob/fbfcb2243941bc84b7585711feb906610f9111c4/crypto/rsa/rsa_lib.c#L224\nwhich claims to overwrite the data before returning memory.","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/4eed74788609bb07af72766f4bebc444cdb7332e"},{"sha":"7747b6a2ef03de764602b37662748e7f665b2420","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Free OpenSSL memory\n\nTo clean up OpenSSL, this calls\n    ERR_free_strings();\nwhich is thread-safe, and\n    CRYPTO_cleanup_all_ex_data();\nwhich is described in their FAQ as a\n    '\"Brutal\" (thread-unsafe) Application-global cleanup function'\nhttps://www.openssl.org/support/faq.html#PROG13","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/7747b6a2ef03de764602b37662748e7f665b2420"},{"sha":"6dbc13749a79998173b423bdf59fc3d07b390443","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Free filename string allocated by asprintf","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/6dbc13749a79998173b423bdf59fc3d07b390443"},{"sha":"80fa652e70c7d49e10dde2c47315c4c322c60696","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Remove const from bsdtar->homedir\n\nThis is allocated with strdup(), so it shouldn't be const.","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/80fa652e70c7d49e10dde2c47315c4c322c60696"},{"sha":"e723bf5c36b43865723547ea09f8d571f4bd53d9","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Use strdup() for all bsdtar->cachedir assignments\n\nInside dooption(), bsdtar->cachedir is assigned with a strdup(),\nso we should do the same thing when using realpath() so that we\ncan free(bsdtar->cachedir).  The non-bsdtar \"cachedir\" is a local\nvariable, so it's freed automatically.","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/e723bf5c36b43865723547ea09f8d571f4bd53d9"},{"sha":"19c9c09cd2d9dc292c999557b9ec06ec4b2f7f27","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Check for strdup(bsdtar->homedir) failure","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/19c9c09cd2d9dc292c999557b9ec06ec4b2f7f27"},{"sha":"277a22fb3b7f9346a72ad2949da9f1a015593b3d","author":{"email":"a9cd60ed1b2f93c64c71ff58c35e59347a22e2f3@tarsnap.com","name":"Colin Percival"},"message":"Conform to standard English spelling and grammar\n\ns/Availible/Available/\ns/These options requires/These options require/\n\nSubmitted by:\tShawn Smith\nBug Bounty:\t$2","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/277a22fb3b7f9346a72ad2949da9f1a015593b3d"},{"sha":"6b8b84e1313c553b36144218c3985a6385d402e1","author":{"email":"a9cd60ed1b2f93c64c71ff58c35e59347a22e2f3@tarsnap.com","name":"Colin Percival"},"message":"Merge pull request #45 from Tarsnap/crypto-free\n\nFree memory used in crypto functions","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/6b8b84e1313c553b36144218c3985a6385d402e1"},{"sha":"f09c086c30dd7b1604b27120db174a0dfc21d62b","author":{"email":"a9cd60ed1b2f93c64c71ff58c35e59347a22e2f3@tarsnap.com","name":"Colin Percival"},"message":"Merge pull request #54 from Tarsnap/free-asprintf-string\n\nFree filename string allocated by asprintf","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/f09c086c30dd7b1604b27120db174a0dfc21d62b"},{"sha":"383b588f699ebc5d932572427c3930c00861ff42","author":{"email":"a9cd60ed1b2f93c64c71ff58c35e59347a22e2f3@tarsnap.com","name":"Colin Percival"},"message":"Merge pull request #56 from Tarsnap/bsdtar-minor-cleanup\n\nBsdtar minor cleanup","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/383b588f699ebc5d932572427c3930c00861ff42"},{"sha":"a7803b3722fc79e4b3287dedb65b675afeaafbaf","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Initialize bsdtar with NULL pointers and free them","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/a7803b3722fc79e4b3287dedb65b675afeaafbaf"},{"sha":"2255aac58ffc2d6004a86ca82f5176dc4a962aef","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Free DNS cache sock_addr with atexit()","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/2255aac58ffc2d6004a86ca82f5176dc4a962aef"},{"sha":"9f1257d4b9640acca26b9222ff580a29b6eb9709","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Match style of existing key*gen code for maxtime","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/9f1257d4b9640acca26b9222ff580a29b6eb9709"},{"sha":"477cca5e9bd25f7b83efefd5f5aee3f5db7a186b","author":{"email":"a9cd60ed1b2f93c64c71ff58c35e59347a22e2f3@tarsnap.com","name":"Colin Percival"},"message":"Merge pull request #43 from Tarsnap/bsdtar-init-free\n\nAllocate bsdtar with NULL, and free() atexit()","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/477cca5e9bd25f7b83efefd5f5aee3f5db7a186b"},{"sha":"fbe31cc4da1bcac1e9fad1cc1a37b0e8b282bc37","author":{"email":"a9cd60ed1b2f93c64c71ff58c35e59347a22e2f3@tarsnap.com","name":"Colin Percival"},"message":"Merge pull request #55 from Tarsnap/free-dns-cache\n\nFree DNS cache sock_addr with atexit()","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/fbe31cc4da1bcac1e9fad1cc1a37b0e8b282bc37"},{"sha":"fba112c5de417f9d9dfaca3fa20caa9f35399efa","author":{"email":"a9cd60ed1b2f93c64c71ff58c35e59347a22e2f3@tarsnap.com","name":"Colin Percival"},"message":"Merge pull request #57 from Tarsnap/keygen-style\n\nMatch style of existing key*gen code for maxtime","distinct":false,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/fba112c5de417f9d9dfaca3fa20caa9f35399efa"},{"sha":"640299f98c01c07f267885a92190febffe1f790d","author":{"email":"929da58f49b5279d2809b142153b855aeb603475@tarsnap.com","name":"Graham Percival"},"message":"Warn if target of hard-link is not present\n\nTo reproduce,\n\n        touch a\n        ln a b\n        ./bsdtar -c -f warn-hard-links.tar a b\n        rm a b\n        ./bsdtar -x -f warn-hard-links.tar b\n\nshould produce a warning message about failing to create 'b' because the\nhard-link target 'a' does not exist.  Previously, it did not give any hints\nabout why 'b' could not be created.\n\nThis is backported from libarchive:\nhttps://github.com/Tarsnap/libarchive/commit/99d593a43dc33267a79537b3c6de7bee5949054e\nwith the filename changed from archive_write_disk_posix.c to\narchive_write_disk.c","distinct":true,"url":"https://api.github.com/repos/Tarsnap/tarsnap/commits/640299f98c01c07f267885a92190febffe1f790d"}]}