On Dec 6, 2016, at 11:05 AM, Martin Dubuc <martind1...@gmail.com> wrote:
> Has there been any discussions with folks from Apple that worked on the > PCAPNG API to donate there code to tcpdump project? I am sure many (including > Apple) would benefit from single source for this code as far as maintenance > is concerned. This was brought up on tcpdump-worker with somebody from Apple back in 2014: http://seclists.org/tcpdump/2014/q3/4 http://seclists.org/tcpdump/2014/q3/7 http://seclists.org/tcpdump/2014/q3/40 but nothing happened after that. Vincent? If you're still there, has anything happened about releasing Apple's libpcap changes under the BSD license rather than under the APSL? > Martin > > On Tue, Dec 6, 2016 at 1:32 PM, Guy Harris <g...@alum.mit.edu> wrote: > On Dec 6, 2016, at 10:15 AM, Martin Dubuc <martind1...@gmail.com> wrote: > > > I am working on an application that requires to store packets in PCAPNG > > format. My understanding is that there isn't support for saving packets in > > PCAPNG format in the current code base. I have noticed that Apple has > > created an API in its custom version of libpcap (latest version can be > > viewed at https://opensource.apple.com/source/libpcap/libpcap-67/libpcap/ > > and is based on libpcap-1.7.4), and the extension seems to be open source. > > Open source *but* licensed under the Apple Public Source License Version 2.0: > > https://opensource.apple.com/apsl > > which says: > > 1.1 "Applicable Patent Rights" mean: (a) in the case where > Apple is the grantor of rights, (i) claims of patents that are now or > hereafter acquired, owned by or assigned to Apple and (ii) that cover subject > matter contained in the Original Code, but only to the extent necessary to > use, reproduce and/or distribute the Original Code without infringement; and > (b) in the case where You are the grantor of rights, (i) claims of patents > that are now or hereafter acquired, owned by or assigned to You and (ii) that > cover subject matter in Your Modifications, taken alone or in combination > with Original Code. > > ... > > 2. Permitted Uses; Conditions & Restrictions. Subject to the > terms and conditions of this License, Apple hereby grants You, effective on > the date You accept this License and download the Original Code, a > world-wide, royalty-free, non-exclusive license, to the extent of Apple's > Applicable Patent Rights and copyrights covering the Original Code, to do the > following: > > ... > > 2.4 Third Party Rights. You expressly acknowledge and agree that > although Apple and each Contributor grants the licenses to their respective > portions of the Covered Code set forth herein, no assurances are provided by > Apple or any Contributor that the Covered Code does not infringe the patent > or other intellectual property rights of any other entity. Apple and each > Contributor disclaim any liability to You for claims brought by any other > entity based on infringement of intellectual property rights or otherwise. As > a condition to exercising the rights and licenses granted hereunder, You > hereby assume sole responsibility to secure any other intellectual property > rights needed, if any. For example, if a third party patent license is > required to allow You to distribute the Covered Code, it is Your > responsibility to acquire that license before distributing the Covered Code. > > 3. Your Grants. In consideration of, and as a condition to, the > licenses granted to You under this License, You hereby grant to any person or > entity receiving or distributing Covered Code under this License a > non-exclusive, royalty-free, perpetual, irrevocable license, under Your > Applicable Patent Rights and other intellectual property rights (other than > patent) owned or controlled by You, to use, reproduce, display, perform, > modify, sublicense, distribute and Externally Deploy Your Modifications of > the same scope and extent as Apple's licenses under Sections 2.1 and 2.2 > above. > > ... > > 5. Limitations on Patent License. Except as expressly stated > in Section 2, no other patent rights, express or implied, are granted by > Apple herein. Modifications and/or Larger Works may require additional > patent licenses from Apple which Apple may grant in its sole discretion. > > ... > > 12. Termination. > > 12.1 Termination. This License and the rights granted hereunder > will terminate: > > (a) automatically without notice from Apple if You fail to comply > with any term(s) of this License and fail to cure such breach within 30 days > of becoming aware of such breach; > (b) immediately in the event of the circumstances described in > Section 13.5(b); or > (c) automatically without notice from Apple if You, at any time > during the term of this License, commence an action for patent infringement > against Apple; provided that Apple did not first commence an action for > patent infringement against You in that instance. > > I'm not sure whether the patent-related clauses - especially the > "Termination" clause - would cause any vendors or distributors who currently > include libpcap under its patent-clause-free BSD license not to want to > include it if it includes patent clauses of that sort. > > > Is there a plan to merge this to the libpcap at some point? Or is there > > plan to implement something else? > > My inclination was to implement *some* APIs for reading files (pcapng or > pcap, using the same API, so programs can transparently *read* either file > type), with the full capabilities of pcapng supported, and for writing pcapng > files, with a separate implementation. > > If we can get away with implementing Apple's API independently, under the > same BSD license as is used for the rest of libpcap, and that API can be used > to read either pcap or pcapng files, and it supports the full capabilities of > pcapng and allows support for future pcapng capabilities (as well as vendor > extensions), that would probably be the right choice; otherwise, we'll > implement a separate API, but try to do so in a way that allows Apple to > continue to provide their API. (They don't document the API in any man page > other than the pcapng man page in the source, so they might consider it a > private interface and be willing to use a different one, especially if, as I > expect we'll do, we provide a version of tcpdump that supports the new API if > available. > _______________________________________________ tcpdump-workers mailing list tcpdump-workers@lists.tcpdump.org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers