Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1W7Xz1-0007Vc-3v for bitcoin-development@lists.sourceforge.net; Sun, 26 Jan 2014 22:15:15 +0000 Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of m.gmane.org designates 80.91.229.3 as permitted sender) client-ip=80.91.229.3; envelope-from=gcbd-bitcoin-development@m.gmane.org; helo=plane.gmane.org; Received: from plane.gmane.org ([80.91.229.3]) by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) id 1W7Xyz-0003fw-Na for bitcoin-development@lists.sourceforge.net; Sun, 26 Jan 2014 22:15:15 +0000 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1W7Xyr-0004oP-9f for bitcoin-development@lists.sourceforge.net; Sun, 26 Jan 2014 23:15:05 +0100 Received: from f052020014.adsl.alicedsl.de ([78.52.20.14]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 26 Jan 2014 23:15:05 +0100 Received: from andreas by f052020014.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 26 Jan 2014 23:15:05 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bitcoin-development@lists.sourceforge.net From: Andreas Schildbach Date: Sun, 26 Jan 2014 23:14:52 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: f052020014.adsl.alicedsl.de User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 In-Reply-To: X-Spam-Score: -0.9 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [80.91.229.3 listed in list.dnswl.org] -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 1.1 DKIM_ADSP_ALL No valid author signature, domain signs all mail -0.0 SPF_PASS SPF: sender matches SPF record -0.5 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain X-Headers-End: 1W7Xyz-0003fw-Na Subject: Re: [Bitcoin-development] BIP70/71 issue, RFD X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jan 2014 22:15:15 -0000 Just keep in mind that if it turns out we need to retrofit messages with length prefixes I fear we will have to restart with new mime-types. The nature of prefixes being always at the start means this rules out simply incrementing a protocol version number. Correcting myself: > it might be a good idea to apply this to all messages if any. Of course I only mean the "root" messages, namely PaymentRequest, Payment, and PaymentACK. The embedded messages don't need length prefixes. On 01/26/2014 11:00 PM, Mike Hearn wrote: > I think for "binding" the payment protocol to those transports we should > indeed use protobuf varint length prefixes. But it's unnecessary for all > cases. Unless Gavin feels it'd be better to be consistent everywhere and > is willing to change the spec and code - as far as I know though we're > trying to ship 0.9rc1 soonish ..... > > > On Sun, Jan 26, 2014 at 10:32 PM, Andreas Schildbach > > wrote: > > Bluetooth, Wifi Direct, HTTP request/responses via broken proxies, smoke > signals... basically anything that is a stream rather than a file. > > Right, NFC NDEF and QR codes are not affected, so we can skip the > delimiter for these mediums. > > > On 01/26/2014 10:24 PM, Mike Hearn wrote: > > Which medium is this an issue for? As you note, for files and HTTP > > responses it's not a problem in practice. i'd guess nor for NFC > tags nor > > QR codes. > > > > > > On Sun, Jan 26, 2014 at 10:11 PM, Andreas Schildbach > > > >> wrote: > > > > I'm experimenting with BIP70/71 (payment protocol) usage in > face to face > > payments (more on that soon). > > > > I've excountered an issue with the protobuf format. Protobufs > are not > > self-delimiting. That means if you're reading from an undelimited > > stream, you will read endlessly because you don't know how > much to read. > > > > The current BIP70 implementations probably work because > they're reading > > either from a file or from an HTTP resource which sets the > > Content-Length header. Trouble is the Content-Length header is > optional, > > and also there are many kinds of streams that don't have this > built-in > > delimiting mechanism. > > > > The Java protobuf API solves this by offering delimited I/O, like > > > > payment.writeDelimitedTo(os); > > > > This writes the size of the message as a varint before writing > the data. > > I don't know about protobuf implementations for other > languages but I'd > > expect them to offer something compatible. > > > > However, this leading varint is an incompatible change and > would need to > > be added to the spec. > > > > I specifically encountered this with PaymentMessage and > PaymentACK, but > > it might be a good idea to apply this to all messages if any. > Open for > > discussion. > > > > > > > ------------------------------------------------------------------------------ > > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > > Learn Why More Businesses Are Choosing CenturyLink Cloud For > > Critical Workloads, Development Environments & Everything In > Between. > > Get a Quote or Start a Free Trial Today. > > > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > > _______________________________________________ > > Bitcoin-development mailing list > > Bitcoin-development@lists.sourceforge.net > > > > > > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > > > > > > > > > > ------------------------------------------------------------------------------ > > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > > Learn Why More Businesses Are Choosing CenturyLink Cloud For > > Critical Workloads, Development Environments & Everything In Between. > > Get a Quote or Start a Free Trial Today. > > > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > > > > > > > > _______________________________________________ > > Bitcoin-development mailing list > > Bitcoin-development@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development >