{"head":"bf62df980fe6a684cbd83ecbb1ed521d7e9df226","size":72,"push_id":46714359,"commits":[{"sha":"6be7f5714fbbbea3720b92c90333440b6793a2cb","author":{"name":"Thomas Cataldo","email":"cd00c70eeffc0c2c6c85d28e2944da57dff785b0@gmail.com"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/6be7f5714fbbbea3720b92c90333440b6793a2cb","message":"master: only unblock signals we had handlers to."},{"sha":"c0c6b63b988bcda95a9b26c209d44ae63e899809","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/c0c6b63b988bcda95a9b26c209d44ae63e899809","message":"master: initialise sigaction with memset\n\nas discussed:\n\nOn Wed, Oct 12, 2011 at 3:48 PM, Henrique de Moraes Holschuh <hmh@debian.org> wrote:\n>\n> On Tue, 11 Oct 2011, Greg Banks wrote:\n>\n> > Also, as a defensive programming measure it's probably a good idea to\n> > memset() that struct sigaction to zero rather than explicitly initialise\n> > some of its members.\n>\n> Agreed."},{"sha":"544d0d64671359611f579a8c26f763f484fffed9","author":{"name":"Bron Gondwana","email":"3466dd23bc7867913745114618459f038a99e706@opera.com"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/544d0d64671359611f579a8c26f763f484fffed9","message":"user: move imap_err.h into user.c"},{"sha":"a01c707f2c39653a41b4137eac00bd4dfd5ae19f","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/a01c707f2c39653a41b4137eac00bd4dfd5ae19f","message":"Make cyrus_mkdir() truly const\n\nPreviously it was casting away const on it's filename argument, writing\ninto the filename, and then carefully restoring the filename back before\nreturning.  Very clever...until the test code passed it a string literal\nin .rodata, at which points it's SEGV time."},{"sha":"098cd905a6ea551c84ddaa4ffd840ab49c2a35c6","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/098cd905a6ea551c84ddaa4ffd840ab49c2a35c6","message":"Zero the old SYNC_CRC field when writing header\n\ninstead of writing 4 bytes of random garbage off the stack.\nDiscovered by Valgrinding with Julien's new upgrade test."},{"sha":"38e8e4a246aeec631116df8d1db7bb2bde2925ff","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/38e8e4a246aeec631116df8d1db7bb2bde2925ff","message":"Fix FUM error in mailbox_reconstruct.\n\nAn error at the wrong time would result in the cleanup code in this\nfunction free()ing a random pointer on the stack.  Use a static\ninitialiser to ensure the struct found_files on the stack are always\ncorrectly initialised and can have free_files() called at any time."},{"sha":"7aecef33d5115bedcc0c2327eab222b64f35606c","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/7aecef33d5115bedcc0c2327eab222b64f35606c","message":"Fix RUM error in nntpd's parse_datetime"},{"sha":"3bca7793427d213946edb8b5d9d75ab43acf5c46","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/3bca7793427d213946edb8b5d9d75ab43acf5c46","message":"Make mailbox_index_recalc() static\n\nWe don't actually need to call it from sync_client anymore, that was\nonce useful when it had the side effect of recalculating the sync CRC\nfrom scratch, but that doesn't happen anymore.  So now we only call it\nfrom the reconstruct code."},{"sha":"5a2ff8303a00300d679ed891ea6db0c9b5853e7a","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/5a2ff8303a00300d679ed891ea6db0c9b5853e7a","message":"unit: fix memleak in the charset tests"},{"sha":"b83b5ce52734d48ef27c98228554ace50ab3c3cb","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/b83b5ce52734d48ef27c98228554ace50ab3c3cb","message":"unit: Valgrind suppress some libz & libcrypto bugs"},{"sha":"2bb7363cc4ef3b1d22e371fc3c56da935222fd78","author":{"name":"Bron Gondwana","email":"3466dd23bc7867913745114618459f038a99e706@opera.com"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/2bb7363cc4ef3b1d22e371fc3c56da935222fd78","message":"lib: create cyrus_copyfile API\n\nUse for both: mailbox_copyfile and cyrusdb_copyfile\nMoves 'retry' and 'map' into libcyrus_min, because they're\nneeded for using the nice mmap'ed IO copy codepath."},{"sha":"de6f21374ca8ab56e55fad040050ba8c2e0c1bce","author":{"name":"Bron Gondwana","email":"3466dd23bc7867913745114618459f038a99e706@opera.com"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/de6f21374ca8ab56e55fad040050ba8c2e0c1bce","message":"mbtool: so far just for fixing incorrect timestamps"},{"sha":"efb549c590e8bb7e29e58071acad16e1526727cd","author":{"name":"Bron Gondwana","email":"3466dd23bc7867913745114618459f038a99e706@opera.com"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/efb549c590e8bb7e29e58071acad16e1526727cd","message":"mboxlist: fix set_specialuse ordering"},{"sha":"dd899d5df43a7ce24042a932cd288c1d355835e4","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/dd899d5df43a7ce24042a932cd288c1d355835e4","message":"Move parse_env_address() into message.c\n\nwhere it will soon be useful for conversations code.\n\nMerge summary:\n\n    split out some hunks of \"conversations_pass a mailbox object down, ouch\""},{"sha":"c9792207fa8d428ce9ebb474bfe3819af145cb48","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/c9792207fa8d428ce9ebb474bfe3819af145cb48","message":"Add clearentryatt()\n\nwhich removes an entry/attrib pair from an entryattlist.  Will soon be\nuseful for the annotator callout."},{"sha":"565b8790e02aa33f347605e817f630eff1ddabf9","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/565b8790e02aa33f347605e817f630eff1ddabf9","message":"Annotator callout bypasses ACL check\n\nwhen setting annotations.  This turns out to be necessary to avoid local\ndelivery failing to apply annotations chosen by the annotator daemon due\nto a combination of lack of the 'n' right in ACEs and the authentication\nstate during local delivery."},{"sha":"e39c4c47546adbb8d80fe214c1010c7615c61f4c","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/e39c4c47546adbb8d80fe214c1010c7615c61f4c","message":"annotate: actually start a txn for callout\n\nso that any annotations set by the annotator daemon will not just\nevaporate into the ether."},{"sha":"0f42d41336c911784024426fa2444e91edc4fa67","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/0f42d41336c911784024426fa2444e91edc4fa67","message":"Centralise quota check code.\n\nWe didn't really need 3 copies of open-coded quota check logic."},{"sha":"43ac4e77655bc0953846d77db28d30e8bbafd4de","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/43ac4e77655bc0953846d77db28d30e8bbafd4de","message":"Centralise quota used counter update code.\n\nWe didn't really need 4 copies of open-coded quota update logic."},{"sha":"a546263d85fcfa2ba73c88adcf7b48bcdf1c6a87","author":{"name":"Greg Banks","email":"3c474cf4bdc26bce6c823d6384748a5a3679f008@fastmail.fm"},"url":"https://api.github.com/repos/brong/cyrus-imapd/commits/a546263d85fcfa2ba73c88adcf7b48bcdf1c6a87","message":"Reorganise cmd_setquota()\n\n- Check for remote mailbox proxying before parsing all the arguments, so\n  that we can pipe through all the arguments without having to parse and\n  reconstruct them.  This will make it easier to parse more complex\n  arguments like other quote resources.\n\n- More linear control flow, using goto out: instead of lots of checking\n  of the 'r' variable."}],"ref":"refs/heads/master","legacy":{"head":"bf62df980fe6a684cbd83ecbb1ed521d7e9df226","size":72,"push_id":46714359,"shas":[["6be7f5714fbbbea3720b92c90333440b6793a2cb","tcataldo@gmail.com","master: only unblock signals we had handlers to.","Thomas Cataldo"],["c0c6b63b988bcda95a9b26c209d44ae63e899809","gnb@fastmail.fm","master: initialise sigaction with memset\n\nas discussed:\n\nOn Wed, Oct 12, 2011 at 3:48 PM, Henrique de Moraes Holschuh <hmh@debian.org> wrote:\n>\n> On Tue, 11 Oct 2011, Greg Banks wrote:\n>\n> > Also, as a defensive programming measure it's probably a good idea to\n> > memset() that struct sigaction to zero rather than explicitly initialise\n> > some of its members.\n>\n> Agreed.","Greg Banks"],["544d0d64671359611f579a8c26f763f484fffed9","brong@opera.com","user: move imap_err.h into user.c","Bron Gondwana"],["a01c707f2c39653a41b4137eac00bd4dfd5ae19f","gnb@fastmail.fm","Make cyrus_mkdir() truly const\n\nPreviously it was casting away const on it's filename argument, writing\ninto the filename, and then carefully restoring the filename back before\nreturning.  Very clever...until the test code passed it a string literal\nin .rodata, at which points it's SEGV time.","Greg Banks"],["098cd905a6ea551c84ddaa4ffd840ab49c2a35c6","gnb@fastmail.fm","Zero the old SYNC_CRC field when writing header\n\ninstead of writing 4 bytes of random garbage off the stack.\nDiscovered by Valgrinding with Julien's new upgrade test.","Greg Banks"],["38e8e4a246aeec631116df8d1db7bb2bde2925ff","gnb@fastmail.fm","Fix FUM error in mailbox_reconstruct.\n\nAn error at the wrong time would result in the cleanup code in this\nfunction free()ing a random pointer on the stack.  Use a static\ninitialiser to ensure the struct found_files on the stack are always\ncorrectly initialised and can have free_files() called at any time.","Greg Banks"],["7aecef33d5115bedcc0c2327eab222b64f35606c","gnb@fastmail.fm","Fix RUM error in nntpd's parse_datetime","Greg Banks"],["3bca7793427d213946edb8b5d9d75ab43acf5c46","gnb@fastmail.fm","Make mailbox_index_recalc() static\n\nWe don't actually need to call it from sync_client anymore, that was\nonce useful when it had the side effect of recalculating the sync CRC\nfrom scratch, but that doesn't happen anymore.  So now we only call it\nfrom the reconstruct code.","Greg Banks"],["5a2ff8303a00300d679ed891ea6db0c9b5853e7a","gnb@fastmail.fm","unit: fix memleak in the charset tests","Greg Banks"],["b83b5ce52734d48ef27c98228554ace50ab3c3cb","gnb@fastmail.fm","unit: Valgrind suppress some libz & libcrypto bugs","Greg Banks"],["2bb7363cc4ef3b1d22e371fc3c56da935222fd78","brong@opera.com","lib: create cyrus_copyfile API\n\nUse for both: mailbox_copyfile and cyrusdb_copyfile\nMoves 'retry' and 'map' into libcyrus_min, because they're\nneeded for using the nice mmap'ed IO copy codepath.","Bron Gondwana"],["de6f21374ca8ab56e55fad040050ba8c2e0c1bce","brong@opera.com","mbtool: so far just for fixing incorrect timestamps","Bron Gondwana"],["efb549c590e8bb7e29e58071acad16e1526727cd","brong@opera.com","mboxlist: fix set_specialuse ordering","Bron Gondwana"],["dd899d5df43a7ce24042a932cd288c1d355835e4","gnb@fastmail.fm","Move parse_env_address() into message.c\n\nwhere it will soon be useful for conversations code.\n\nMerge summary:\n\n    split out some hunks of \"conversations_pass a mailbox object down, ouch\"","Greg Banks"],["c9792207fa8d428ce9ebb474bfe3819af145cb48","gnb@fastmail.fm","Add clearentryatt()\n\nwhich removes an entry/attrib pair from an entryattlist.  Will soon be\nuseful for the annotator callout.","Greg Banks"],["565b8790e02aa33f347605e817f630eff1ddabf9","gnb@fastmail.fm","Annotator callout bypasses ACL check\n\nwhen setting annotations.  This turns out to be necessary to avoid local\ndelivery failing to apply annotations chosen by the annotator daemon due\nto a combination of lack of the 'n' right in ACEs and the authentication\nstate during local delivery.","Greg Banks"],["e39c4c47546adbb8d80fe214c1010c7615c61f4c","gnb@fastmail.fm","annotate: actually start a txn for callout\n\nso that any annotations set by the annotator daemon will not just\nevaporate into the ether.","Greg Banks"],["0f42d41336c911784024426fa2444e91edc4fa67","gnb@fastmail.fm","Centralise quota check code.\n\nWe didn't really need 3 copies of open-coded quota check logic.","Greg Banks"],["43ac4e77655bc0953846d77db28d30e8bbafd4de","gnb@fastmail.fm","Centralise quota used counter update code.\n\nWe didn't really need 4 copies of open-coded quota update logic.","Greg Banks"],["a546263d85fcfa2ba73c88adcf7b48bcdf1c6a87","gnb@fastmail.fm","Reorganise cmd_setquota()\n\n- Check for remote mailbox proxying before parsing all the arguments, so\n  that we can pipe through all the arguments without having to parse and\n  reconstruct them.  This will make it easier to parse more complex\n  arguments like other quote resources.\n\n- More linear control flow, using goto out: instead of lots of checking\n  of the 'r' variable.","Greg Banks"]],"ref":"refs/heads/master"}}