On Dec 6, 2016, at 11:05 AM, Martin Dubuc <[email protected]> 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 <[email protected]> wrote:
> On Dec 6, 2016, at 10:15 AM, Martin Dubuc <[email protected]> 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
[email protected]
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers