Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1W7XKN-0002Z9-7C for bitcoin-development@lists.sourceforge.net; Sun, 26 Jan 2014 21:33:15 +0000 Received-SPF: pass (sog-mx-1.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-1.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) id 1W7XKL-0001va-CH for bitcoin-development@lists.sourceforge.net; Sun, 26 Jan 2014 21:33:15 +0000 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1W7XKC-0004bA-Fq for bitcoin-development@lists.sourceforge.net; Sun, 26 Jan 2014 22:33:04 +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 22:33:04 +0100 Received: from andreas by f052020014.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 26 Jan 2014 22:33:04 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bitcoin-development@lists.sourceforge.net From: Andreas Schildbach Date: Sun, 26 Jan 2014 22:32: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. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain -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] -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: 1W7XKL-0001va-CH 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 21:33:15 -0000 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 >