{"push_id":2826573886,"size":41,"distinct_size":41,"ref":"refs/heads/master","head":"8a1239ea8e63af3797771b6be12ebcb14e437671","before":"ded189211eec6ac36a139f5b91fbc5441e7669fd","commits":[{"sha":"240b125b01bc7ab2e517852d2e7f5947a799d345","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Add abstract BaseRelayCell class\n\nIt's intended to defined common Relay cell functionality, for encrypted\nand decrypted cells.\n\nBy unpacking content no further than the payload, this abstraction\nshould allow a lot of flexibility in handling Relay cells prior to\ndecryption.\n\nNote that unpacking is not yet possible - subclasses must be defined\nwith a VALUE. (Namely: RELAY and RELAY_EARLY)","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/240b125b01bc7ab2e517852d2e7f5947a799d345"},{"sha":"2fa32642d4b734821746d2488334ef68c38ad634","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Provide a nicer error message for packing negative numbers with unsigned types","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/2fa32642d4b734821746d2488334ef68c38ad634"},{"sha":"71bb7d5e42125f2d89c8dddc56fa16c71989c5cd","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Optimize error check for non-negative inputs\n\nstem.client presently makes typical use of non-negative inputs with\nunsigned types.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/71bb7d5e42125f2d89c8dddc56fa16c71989c5cd"},{"sha":"cb9ff0b16dcac642daa8664a84326d802bead157","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Adjust test expectation for the different exception rising from Size","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/cb9ff0b16dcac642daa8664a84326d802bead157"},{"sha":"77310c9cb96c0367412afbc6535ea54fe25fc442","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Add CANNOT_DIRECTLY_UNPACK facility; set True for existing RelayCell\n\nSince RELAY cells come across the wire encrypted, they cannot be\ndirectly unpacked - their payload must first be decrypted.\n\nNote that this breaks unpacking RelayCell in the interim.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/77310c9cb96c0367412afbc6535ea54fe25fc442"},{"sha":"5d86cbde132d7912c411d9134eee6cc05b745d94","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Add RawRelayCell and temp-fix RelayCell tests (interim)\n\nNotably, this along with CANNOT_DIRECTLY_UNPACK for RelayCell (prior\nchange) allows Cell.pop() and Cell.unpack() to be executed directly on\nreceived bytes from a connection, and still process encrypted cells\ncorrectly into RELAY cells, to be decrypted later.\n\nRelayCell tests marked with TODO where temp-fix was applied.\n\nRelayCell implementation will gradually be improved/refactored into\nbetter supporting subclasses per command.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/5d86cbde132d7912c411d9134eee6cc05b745d94"},{"sha":"98398f6dbce3bca2f146d40abf3894ea2755e054","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Document RawRelayCell in the module overview\n\nThe line is long, so this change also extends the vertically aligned\ntable format for other Cell classes, in a forward-looking manner.\n\nArguably this could've been part of the previous change, but it made\nsense to break it out for readability purposes.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/98398f6dbce3bca2f146d40abf3894ea2755e054"},{"sha":"d355d01a7a4709ffc6941722248c9861e2acd306","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Simplify encryption/decryption implementation in Circuit\n\nThis is a proof-of-concept change to show the benefits of migrating\nfiner details into the Cell abstraction.\n\nIt still arguably violates the Cell abstraction by using\nRelayCell._unpack(), but that can be addressed in a later change.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/d355d01a7a4709ffc6941722248c9861e2acd306"},{"sha":"a737624f08aa2a46ff6a91c5459c7644b1e26e3b","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Standardize some docstring keywords\n\ns/:parm /:param /\ns/:raise:/:raises:/\ns/:return:/:returns:/","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/a737624f08aa2a46ff6a91c5459c7644b1e26e3b"},{"sha":"853d7336580dae6f080b61a3991fe0a73e498b7f","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Refactor digest coercion into separate method\n\nThis allows the logic to be reused. It may ultimately be better\nrepresented as a @property, but for now this should do fine.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/853d7336580dae6f080b61a3991fe0a73e498b7f"},{"sha":"0d18570de51486ffa63ad0fe2f8b71be44b34f55","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Refactor payload parsing (unpacking) into separate method\n\nEventually, having this separated out will help during decryption of\ncells in multi-hop circuits - each layer of decryption must attempt to\ninterpret the payload in order to ascertain whether it has been fully\ndecrypted.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/0d18570de51486ffa63ad0fe2f8b71be44b34f55"},{"sha":"71c8464c24e4b2af350cfdd9217c0712c538447a","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Refactor payload packing into separate method\n\nIt's important to decouple packing the payload from packing the whole\ncell.\n\nThis is probably not the final form this method will take, but in the\ninterim, it should help reduce the magnitude of violating the Cell\nabstraction layer, for any payload encryption/decryption.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/71c8464c24e4b2af350cfdd9217c0712c538447a"},{"sha":"09c171d60c2b1414aae791d2347b6385caca03de","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Refactor 'unused' and padding packing into the RELAY cell payload\n\nThis is more appropriate since the spec allows for (and recommends!)\ndifferent behavior for these bytes than other padding bytes.\n\nHowever, presently the handling is identical.\n\nIt is also important that the _pack_payload() method be able to produce\na full-size payload, for simplifying encryption.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/09c171d60c2b1414aae791d2347b6385caca03de"},{"sha":"2a76a0acfcf6aa9def2d6585ec8e53eae19b4c3c","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Further simplify digest calculation for encryption\n\nThis is a continuation of proof-of-concept changes. Again, this is not\nthe final form that encryption will take on.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/2a76a0acfcf6aa9def2d6585ec8e53eae19b4c3c"},{"sha":"36f341f7c882d846b1305beb1a29906a2b97d590","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Fix docstring 'import path' for RelayCommand","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/36f341f7c882d846b1305beb1a29906a2b97d590"},{"sha":"aa3b674ef3c7d22c16c6480937531f38b208a0c1","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Add convenience method for packing payload of a RELAY cell\n\nThere may be a bit too much going on here - i.e. these methods may not\nbe anything but a bit redundant - but things will get trimmed down later\nwhen the API is better worked out.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/aa3b674ef3c7d22c16c6480937531f38b208a0c1"},{"sha":"8023618ea74b4fb7b2cb1fca1694f6bff412b45a","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Add apply_digest instance method to RelayCell\n\nThis method - currently unused - allows moving some of the\ndigest-application logic into the Cell abstraction layer.\n\nIt is a bit weird for it to have side-effects on a parameter (digest),\nbut it's documented and works fairly logically.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/8023618ea74b4fb7b2cb1fca1694f6bff412b45a"},{"sha":"22e18791388009cb2fafebdb47605b047a288250","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Further simplify digest application\n\nThe abstraction layers are starting to look better separated.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/22e18791388009cb2fafebdb47605b047a288250"},{"sha":"1a151d445832df3fdecdb99aa1ecbbe0fee14563","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Refactor apply_digest to remove side effects\n\nPer discussion with Damian over IRC, instances of our Cell classes are\nintended to be immutable objects. So instead of modifying the RelayCell\nand having an additional side effect on the digest, this provides a\nmodified copy of each, in a tuple.\n\nThat makes apply_digest() a pure function, currently with referential\ntransparency (i.e. also deterministic). In the future, it may utilize\nrandomness for cell padding, which would make it non-deterministic.\n\nOverall this now more generally follows a functional-programming\nparadigm.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/1a151d445832df3fdecdb99aa1ecbbe0fee14563"},{"sha":"1163efbefe66b10315197d375e3bdf392e8b18fb","author":{"name":"Dave Rolek","email":"dc104397ce9e1918a39062baa5511d66a7b80200@riseup.net"},"message":"Update stem.client.cell docstrings for style, consistency, and clarity\n\nMuch of the updates here is to reduce the line length.","distinct":true,"url":"https://api.github.com/repos/torproject/stem/commits/1163efbefe66b10315197d375e3bdf392e8b18fb"}]}
{"actor":{"display_login":"torproject-pusher"}}