tcpdump mailing list archives
Re: Saving packets with libpcap in PCAPNG format
From: Guy Harris <guy () alum mit edu>
Date: Tue, 6 Dec 2016 10:32:48 -0800
On Dec 6, 2016, at 10:15 AM, Martin Dubuc <martind1111 () 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
Current thread:
- Saving packets with libpcap in PCAPNG format Martin Dubuc (Dec 06)
- Re: Saving packets with libpcap in PCAPNG format Guy Harris (Dec 06)
- Re: Saving packets with libpcap in PCAPNG format Martin Dubuc (Dec 06)
- Re: Saving packets with libpcap in PCAPNG format Guy Harris (Dec 06)
- Re: Saving packets with libpcap in PCAPNG format Vincent Lubet (Dec 07)
- Re: Saving packets with libpcap in PCAPNG format Martin Dubuc (Dec 06)
- Re: Saving packets with libpcap in PCAPNG format Guy Harris (Dec 06)
