Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Apr 21, 2015
  1. Merge pull request #19 from yannayl/fix_gitignore

    Fix gitignore of generated files
  2. @yannayl

    Fix gitignore of generated files

    yannayl authored
    Ignoring *.d files generated by driver compiler.
Commits on Feb 22, 2015
  1. solaris: update compiler options

    Compile using POSIX 200112L/C99 on Solaris to pull in a modern struct
    iovec definition.  __EXTENSIONS__ is required for types like u_char
    which ared used by pcap.
Commits on Jan 11, 2015
  1. Add type specs

Commits on Jan 10, 2015
  1. Add start_link/0,1

    start/0,1 is now an unlinked start. Update the docs, tests and examples
    to use start_link/0,1.
Commits on Jan 9, 2015
  1. Clean up gitignore

Commits on Jan 5, 2015
  1. Set the default filter to match any packet

    Imitiate tcpdump and match any packet by default.
Commits on Jan 4, 2015
  1. makefile: add dialyzer target

Commits on Jan 3, 2015
  1. Fix duplicate command line options

    Specifying the chroot and timeout options would result in duplicate
    options being passed to the epcap executable.
Commits on Jan 2, 2015
  1. Update README

  2. Bump version; copyright heartbeat

    Remove the CONTRIBUTORS section since it is always out of sync and
    github makes it easy to see the contributors.
  3. tests: make the tests work on Solaris

    More fun for Solaris: if promiscuous mode is not enabled, outgoing
    packets will not be captured. This apparently applies to versions of
    Solaris using the DLPI interface. Versions of Solaris post-11 apparently
    use the BPF interface just like everyone else.
    It also explains why (after spending more time than I'd like to admit
    debugging this even though I vaguely remember having to set promiscuous
    mode when testing on Solaris years ago) after resorting to building the
    latest libpcap on SmartOS, epcap error'ed out in pcap_activate() when attempting
    to do a BIOCGDLTLIST because, although looking like a Solaris 11 system
    and claiming to be one, SmartOS actually uses DLPI and not BPF for packet
  4. Suppress compile warning on Solaris

    And this is why we can't have nice things, Solaris. Solaris still uses
    caddr_t (which is an alias for char*) for iov_base. Apparently this
    has been changed to void* in Solaris 11 but on the Solaris variant I am
    testing on (SmartOS, whose uname humourously reports itself as 5.11),
    the default for iov_base is caddr_t unless you ask for XPG4_2 which
    will include a whole world of pain when you just wanted to suppress a
    compiler warning without the evils of casting ...
    So the alternatives seem to be ifdef'ing the code where iov_base is set
    just for Solaris, adding a EPCAP_IOV_BASE macro where a cast to caddr_t
    is done just for Solaris or punishing everybody by muddying the code
    with a cast to void with all the oddities and potentials for undefined
    behaviour that entails but, hey, less typing!
  5. Compile fixes for Solaris

Commits on Oct 26, 2014
  1. Remove the dependency on SASL

Commits on Oct 25, 2014
Commits on Jul 28, 2014
  1. Use writev(2) for stdio

Commits on Jul 20, 2014
  1. rebar.config.script: change path for pcap header

    While the man page for pcap suggests including pcap/pcap.h, some OS'es
    (OpenBSD) rely on pcap.h.
    /usr/include/pcap.h has this comment which suggests it can be relied
    upon to be present:
        For backwards compatibility.
        Note to OS vendors: do NOT get rid of this file!  Many applications
        expect to be able to include <pcap.h>, and at least some of them go
        through contortions in their configure scripts to try to detect OSes
        that have "helpfully" moved pcap.h to <pcap/pcap.h> without leaving
        behind a <pcap.h> file.
Commits on Jul 19, 2014
  1. Allow setting the pcap buffer size

    For versions of pcap that support it, allow increasing the internal pcap
    packet buffer for situations where packets are being dropped.
    Support for retrieving the packet statistics will be added in the
  2. Discover if pcap_create(3PCAP) exists

    Descend into the autoconf, #ifdef labyrinth by checking for the
    existence of pcap_create(). Older versions of libpcap won't have it and
    epcap is so simple that it's not much overhead to support them.
  3. Add header for htons(3)

    Required for FreeBSD.
Commits on Jun 5, 2014
Commits on Apr 15, 2014
  1. @ates

    Add -lnuma and -lrt to linker options for pf_ring

    ates authored
    New versions (since 5.6.2) of PF_RING should be compiled
    with numa and rt libraries.
Commits on Feb 1, 2014
  1. epcap: remove redundant clause

    lists:concat/1 will convert integers to strings.
Commits on Jan 31, 2014
  1. epcap: add switch to set env vars for libpcap

    Support setting environment variables using a command line switch:
        -e KEY=1234
    This works around some issues with running epcap under sudo, since sudo,
    by default, resets the environment for the process. See:
Commits on Jan 16, 2014
Commits on Jan 8, 2014
Commits on Jan 7, 2014
  1. Increment the minor version

  2. epcap: use pcap_loop

    Simplify by using the callback version of pcap_next. Only send the
    process the {epcap, eof} tuple if a file was used. Since EOF only occurs
    when the port exits, this should probably be moved to the 'EXIT' info
    handler in the future.
Commits on Dec 17, 2013
Commits on Dec 15, 2013
  1. epcap: (cleanup)

Commits on Dec 14, 2013
  1. @ates

    Remove -static flag for PF_RING

    ates authored
Something went wrong with that request. Please try again.