Barnyard is a critical tool for the parsing of Snort's unified binary files,
processing and on-forwarding to a variety of output plugins. Unfortunately
it has not seen an updated in over 4 years and is not going to be maintained
by the original developers. With the new version of the unified format
(ie. unified2) arriving we need something to bridge this gap.
The SXL team love barnyard. So much so that we want it to stay and have been
tinkering around with the code to give it a breath of new life. Here is what
we have achieved to far for this reinvigorated code base:
* Parsing of the new unified2 log files.
* Maintaining majority of the command syntax of barnyard.
* Addressed all associated bug reports and feature requests arising since
barnyard-0.2.0.
* Completely rewritten code based on the GPLv2 Snort making it entirely
GPLv2.
This is an effort to fuse the awesome work of Snort and the original concept
of barnyard giving it a fresh update along the way. We've come a long way so
far and have a very stable build that we've integrated into our NSMnow
framework. If you have any feature requests, bugs or gripes then send them
our way.
===> The following configuration options are available for barnyard2-1.13_7:
64BIT=off: Enable 64bit compilation (experimental)
ARUBA=off: Enable aruba support
GRE=off: Enable gre support
IPV6=on: IPv6 protocol support
MPLS=off: MPLS support
PORT_PCAP=off: Use libpcap from ports
DOCS=on: Build and/or install documentation
EXAMPLES=on: Build and/or install examples
====> Options available for the radio DATABASE: you can only select none or one of them
MYSQL=off: MySQL database support
MYSQL_SSL=off: Enable mysql ssl support (experimental)
ODBC=off: ODBC database backend
PGSQL=off: PostgreSQL database support
===> Use 'make config' to modify these settings
cleanup: Remove expired barnyard ports:
2026-09-30 security/barnyard2: Upstream has been abandoned, and the project is
no longer maintained
2026-09-30 security/barnyard2-sguil: Upstream has been abandoned, and the
project is no longer maintained
security/barnyard2*: Mark DEPRECATED
- Upstream has archived the project in 2024
- This only works with snort2 and support of snort2 is being silently
dropped by upstream in favor of snort3
- Set EXPIRATION_DATE 2026-08-07
*/*: Refactor with IGNORE_WITH_MYSQL
- There are multiple ports which has MYSQL options and are non-DEFAULT.
Most of the time committers actually forget to check with the OPTION
enabled and in some cases they are BROKEN with newr versions of mysql.
So test with different versions of mysql and mark IGNOPRE_WITH_MYSQL
appropriately. Due to the EOL of 5.7 this has not been checked.
- Unbreak sysutils/cfengine* with MySQL 8.0 and later
- The primary purpose of running this check is having statistics of the
MySQL usability over MariaDB to explore the future possibility of
shifting to MariaDB as the default as major ports upstream have moved
their codebase to support MariaDB over MySQL.
- The following actions will also be taken after the sunset of MySQL 5.7
If a port is broken on all instances of MySQL/MariaDB:
- If a port has the option of multiple DB backends and MySQL is the
default then the DEFAULT will be changed to PGSQL/SQLITE before
2024Q1. And the OPTION will be removed before 2024Q2. If a
MAINTAINER is aware about such cases and want to prefer PGSQL over
SQLITE or vice versa please do so at your own accord. Otherwise
PGSQL will be preferred over SQLITE.
- If a port has the option of multiple DB backends and MySQL is not
the default then the the OPTION will be removed before 2024Q1.
Approved by: portmgr (blanket)
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
Fix CONFLICTS entries of multiple ports
There have been lots of missing CONFLICTS_INSTALL entries, either
because conflicting ports were added without updating existing ports,
due to name changes of generated packages, due to mis-understanding
the format and semantics of the conflicts entries, or just due to
typoes in package names.
This patch is the result of a comparison of all files contained in
the official packages with each other. This comparison was based on
packages built with default options and may therefore have missed
further conflicts with optionally installed files.
Where possible, version numbers in conflicts entries have been
generalized, some times taking advantage of the fact that a port
(Only the first 15 lines of the commit message are shown above )
security/barnyard2: Cleanup
- Drop nop WANT_PGSQL_VER
- Spell TCL_DESC correctly (there is no OPTIONS_DESC)
- No need to include bsd.port.options.mk in this port
security/barnyard2: Spell ODBC_CONFIGURE_WITH correctly
The option now actually activates the ODBC code paths but the port
fails to build with it. The code seems to lack full support for
it in a couple of places, so mark the ODBC option as broken for
now.
spo_database.c:3547:3: error: use of undeclared identifier 'result'
result = 0;
^
spo_database.c:3841:41: warning: incompatible pointer types passing 'SQLINTEGER
*' (aka 'int *') to parameter of type 'SQLLEN *' (aka 'long *')
[-Wincompatible-pointer-types]
if(SQLRowCount(data->u_statement, &data->u_rows) == SQL_SUCCESS)
^~~~~~~~~~~~~
/usr/local/include/sql.h:768:44: note: passing argument to parameter 'RowCount'
here
SQLLEN *RowCount);
^
spo_database.c:3849:33: error: use of undeclared identifier 'result'
result = 0;
^
1 warning and 2 errors generated.
PR: 240237
Approved by: bofh (maintainer timeout, 17 days)
security/barnyard2: Ports cleanup
- Move DATABASE Backend options to OPTIONS_RADIO as only one backend is
supported at a time. MYSQL and MYSQL_SSL will create conflict in
previous state
- Update pkg-plist to make proper use of @sample
- Pass Maintainership [1]
PR: 196552 [1]
Differential Revision: https://reviews.freebsd.org/D1514
Submitted by: pauls@utdallas.edu [1]
Approved by: bapt(mentor)
security/barnyard2: Remove PRELUDE option
The prelude-manager port is unstaged, and its removal is imminent. Before
that happens, remove the optional dependency Barnyard2 has on it.
- Add a new OPTION PORT_PCAP to build using libpcap from ports instead of base
- Use OPTIONS helpers and simplify Makefile
PR: ports/186542
Approved by: Paul Schmehl <pauls@utdallas.edu> (maintainer)
- update PGSQL option, as only version 9.2 has the correct libraries to build
- rename option MYSQL-SSL -> MYSQL_SSL
- fix incorrectly defined option of OPTIONS_DEFAULT within MYSQL_SSL
- use ${CP} in favor of cp
PR: 176124
Submitted by: maintainer, pauls@utdallas.edu
- Update to 1.10
- Convert to new options framework
- Allow for any available version of TCL to be used
- Add LICENSE
- Remove indefinite article from COMMENT, update
- Mark MAKE_JOBS_SAFE
- Trim Makefile header
PR: ports/172456
Submitted by: Paul Schmehl <pauls@utdallas.edu> (maintainer)
Approved by: makc (mentor)
Feature safe: yes
In the rc.d scripts, change assignments to rcvar to use the
literal name_enable wherever possible, and ${name}_enable
when it's not, to prepare for the demise of set_rcvar().
In cases where I had to hand-edit unusual instances also
modify formatting slightly to be more uniform (and in
some cases, correct). This includes adding some $FreeBSD$
tags, and most importantly moving rcvar= to right after
name= so it's clear that one is derived from the other.
- Fix support of status and restart for multi-config rc script
PR: ports/161168
Submitted by: Michael Scheidell <scheidell@secnap.net>
Approved by: Paul Schmehl <pauls@utdallas.edu> (maintainer)
- Add LDFLAGS to CONFIGURE_ENV and MAKE_ENV (as it was done with LDFLAGS)
- Fix all ports that add {CPP,LD}FLAGS to *_ENV to modify flags instead
PR: 157936
Submitted by: myself
Exp-runs by: pav
Approved by: pav
- add patch to barnyard2 to allow build with postgresql and tcl
(reported and fixed upstream)
- display option TCL only for Master port, it makes no sense if
the slave can de-select a required option
- remove broken barnyard-sguil (master port was removed 2011-04-04)
- add new port barnyard2-sguil [1]
- add entry to MOVED
PR: ports/156188 [1]
Submitted by: me
Approved by: maintainer timeout
- update barnyard2 to version 2.1.9
Changes:
2010-12-27 - Barnyard 2.1.9
[*] Additions
* spo_database. Support of encrypted connections to postgresql is now
available. See README.database for the appropriate options.
* spo_sguil. Fixed issue with duplication of alerts.
[*] Improvements
* spooler. Fixed issue with borking when reading unrecognised records.
There is now sufficient information to skip and move on.
* spooler. Fixed early termination of non-readable files, causing the
dreaded SEGFAULT.
* classifications. Tweaked output for classification identification if the
appropriate node can't be found.
PR: ports/154400
Submitted by: Paul Schmehl <pauls _at_ utdallas.edu> (maintainer)
Feature safe: yes
Barnyard is a critical tool for the parsing of Snort's unified binary files,
processing and on-forwarding to a variety of output plugins. Unfortunately
it has not seen an updated in over 4 years and is not going to be maintained
by the original developers. With the new version of the unified format
(ie. unified2) arriving we need something to bridge this gap.
The SXL team love barnyard. So much so that we want it to stay and have been
tinkering around with the code to give it a breath of new life. Here is what
we have achieved to far for this reinvigorated code base:
* Parsing of the new unified2 log files.
* Maintaining majority of the command syntax of barnyard.
* Addressed all associated bug reports and feature requests arising since
barnyard-0.2.0.
* Completely rewritten code based on the GPLv2 Snort making it entirely
(Only the first 15 lines of the commit message are shown above )