Commits on Jul 23, 2016
Commits on Jul 22, 2016
  1. Build epcap with fortify

    committed Jul 22, 2016
Commits on Jul 21, 2016
  1. rebar3.config.script: remove duplicate flags

    Avoid appending redundant compiler flags.
    
    Use a port to spawn cc to retrieve the exit status. Store the test code
    for the pcap_create test in /tmp by default (set the TMPDIR environment
    variable to change this).
    committed Jul 21, 2016
Commits on Jul 20, 2016
  1. Switch to rebar3

    Use rebar3 and a makefile to generate the port binary. The makefile
    introduces some changes for the compiler flags which may need cleaning up.
    
    Linker and compiler flags are passed to the makefile using environment
    variables.
    
    Some things left to do:
    
    * remove duplication of flags generated by rebar.config.script
    
    * add gcc hardening flags to makefile
    
    * move to common test
    committed Jul 20, 2016
Commits on Aug 14, 2015
  1. @ates

    Add spec for epcap:timeout/0

    ates committed Aug 14, 2015
  2. @ates
Commits on Aug 12, 2015
Commits on Jun 9, 2015
  1. Merge pull request #20 from yannayl/patch-1

    Update deps config to explicitly use branch master
    committed Jun 9, 2015
  2. @yannayl

    Update deps config to explicitly use branch master

    Update the dep configuration of pkt to explicitly use the master *branch*.
    This is the de-facto convention (as implemented in rebar3 as well).
    See: rebar/rebar#507
    yannayl committed Jun 9, 2015
Commits on Apr 21, 2015
  1. Merge pull request #19 from yannayl/fix_gitignore

    Fix gitignore of generated files
    committed Apr 21, 2015
  2. @yannayl

    Fix gitignore of generated files

    Ignoring *.d files generated by driver compiler.
    yannayl committed Apr 21, 2015
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.
    committed Feb 22, 2015
Commits on Jan 11, 2015
  1. Add type specs

    committed Jan 11, 2015
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.
    committed Jan 10, 2015
Commits on Jan 9, 2015
  1. Clean up gitignore

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

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

    committed Jan 4, 2015
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.
    committed Jan 3, 2015
Commits on Jan 2, 2015
  1. Update README

    committed Jan 2, 2015
  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.
    committed Jan 2, 2015
  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
    capture.
    committed Jan 2, 2015
  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!
    committed Jan 2, 2015
  5. Compile fixes for Solaris

    committed Jan 2, 2015
Commits on Oct 26, 2014
  1. Remove the dependency on SASL

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

    committed Jul 28, 2014
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.
    committed Jul 20, 2014
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
    future.
    committed Jul 19, 2014
  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.
    committed Jul 19, 2014
  3. Add header for htons(3)

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

    Add -lnuma and -lrt to linker options for pf_ring

    New versions (since 5.6.2) of PF_RING should be compiled
    with numa and rt libraries.
    ates committed Apr 16, 2014