blob: dec36c17d601ecdc796ad5fd41a0223bd3d3f1e2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
# Created by: Nikola Kolev <koue@chaosophia.net>
PORTNAME= samhain
PORTVERSION= 4.4.3
CATEGORIES= security
MASTER_SITES= http://la-samhna.de/archive/
DISTNAME= samhain_signed-${PORTVERSION}
MAINTAINER= freebsd@gregv.net
COMMENT= Samhain Intrusion Detection System
LICENSE= GPLv2
BROKEN_aarch64= fails to link: missing sbrk
BROKEN_mips= fails to configure: error: Could not find the libwrap library
BROKEN_mips64= fails to configure: error: Could not find the libwrap library
BROKEN_riscv64= fails to link: missing sbrk
USES= shebangfix
SHEBANG_FILES= scripts/samhainadmin-gpg.pl.in \
scripts/samhainadmin-sig.pl.in
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --localstatedir=/var \
--with-logserver=true \
--with-altlogserver=true \
--with-timeserver=true \
--with-alttimeserver=true
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
OPTIONS_DEFINE= ASM DB_RELOAD DEBUG DNMALLOC DOCS ENCRYPT GNUPG IPV6 \
LIBWRAP LOGFILE_MONITOR LOGIN_WATCH MAIL \
MOUNTS_CHECK PORT_CHECK POSIX_ACL PRELUDE PROCESS_CHECK \
PTRACE SRP STATIC SUIDCHECK UDP USERFILES XML_LOGS
OPTIONS_DEFAULT= ASM DNMALLOC ENCRYPT LIBWRAP MAIL SRP
OPTIONS_RADIO= DB
OPTIONS_RADIO_DB= MYSQL ODBC PGSQL
OPTIONS_SUB= yes
DB_DESC= Database support
DB_RELOAD_DESC= Enable database reload on SIGHUP
DNMALLOC_DESC= Enable dnmalloc
ENCRYPT_DESC= Enable client/server encryption
LOGFILE_MONITOR_DESC= Enable monitor logfiles
LOGIN_WATCH_DESC= Enable watch for login/logout
MAIL_DESC= Enable internal SMTP mailer
MOUNTS_CHECK_DESC= Enable check mount options on filesystems
PORT_CHECK_DESC= Enable check ports
POSIX_ACL_DESC= Enable check posix acls
PRELUDE_DESC= Enable Prelude Framework support
PROCESS_CHECK_DESC= Enable check processes
PTRACE_DESC= Enable use anti-debugger options
SRP_DESC= Enable SRP for authentication
SUIDCHECK_DESC= Enable check for suid/sgid files
UDP_DESC= Enable UDP server
USERFILES_DESC= Enable check for users config files
XML_LOGS_DESC= Enable XML-formatted logs
ASM_CONFIGURE_ENABLE= asm
DB_RELOAD_CONFIGURE_ENABLE= db-reload
DEBUG_CONFIGURE_ENABLE= debug
DNMALLOC_CONFIGURE_ENABLE= dnmalloc
ENCRYPT_CONFIGURE_ENABLE= encrypt
GNUPG_BUILD_DEPENDS= gpg:security/gnupg
GNUPG_CONFIGURE_WITH= gpg=${PREFIX}/bin/gpg
IPV6_CONFIGURE_ENABLE= ipv6
LIBWRAP_CONFIGURE_WITH= libwrap
LOGFILE_MONITOR_CONFIGURE_ENABLE= logfile-monitor
LOGIN_WATCH_CONFIGURE_ENABLE= login-watch
MAIL_CONFIGURE_ENABLE= mail
MOUNTS_CHECK_CONFIGURE_ENABLE= mounts-check
MYSQL_IMPLIES= XML_LOGS
MYSQL_USES= mysql
MYSQL_CONFIGURE_ON= --with-database=mysql
ODBC_IMPLIES= XML_LOGS
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
ODBC_CONFIGURE_ON= --with-database=odbc
PGSQL_IMPLIES= XML_LOGS
PGSQL_USES= pgsql
PGSQL_CONFIGURE_ON= --with-database=postgresql
PORT_CHECK_CONFIGURE_ENABLE= port-check
POSIX_ACL_CONFIGURE_ENABLE= posix-acl
PRELUDE_LIB_DEPENDS= libprelude.so:security/libprelude
PRELUDE_CONFIGURE_WITH= prelude
PROCESS_CHECK_CONFIGURE_ENABLE= process-check
PTRACE_CONFIGURE_ENABLE= ptrace
SRP_CONFIGURE_ENABLE= srp
STATIC_CONFIGURE_ENABLE= static
SUIDCHECK_CONFIGURE_ENABLE= suidcheck
UDP_CONFIGURE_ENABLE= udp
USERFILES_CONFIGURE_ENABLE= userfiles
XML_LOGS_CONFIGURE_ENABLE= xml-log
.include <bsd.port.pre.mk>
.if ${ARCH} == "amd64"
CFLAGS+= -fPIC
.endif
.if defined(WITH_RUNAS_USER)
CONFIGURE_ARGS+= --enable-identity=${WITH_RUNAS_USER}
.else
CONFIGURE_ARGS+= --enable-identity=yule
.endif
.if defined(WITH_CLIENT)
CONFIGURE_ARGS+= --enable-network=client \
--with-data-file=REQ_FROM_SERVER/var/lib/samhain/data.samhain \
--with-config-file=REQ_FROM_SERVER
PLIST_SUB+= SAMHAIN="" SETPWD="" YULE="@comment "
EXTRA_PATCHES+= ${FILESDIR}/fixsamhainrc.patch
.elif defined(WITH_SERVER)
USERS= yule
GROUPS= yule
CONFIGURE_ARGS+= --enable-network=server
SUB_LIST+= WITH_YULE="yes"
PLIST_SUB+= YULE="" SAMHAIN="@comment " SETPWD="@comment "
EXTRA_PATCHES+= ${FILESDIR}/fixyulerc.patch
.else
SUB_LIST+= WITH_YULE=""
PLIST_SUB+= SAMHAIN="" YULE="@comment " SETPWD="@comment "
EXTRA_PATCHES+= ${FILESDIR}/fixsamhainrc.patch
.endif
pre-everything::
.if !defined(WITH_CLIENT) && !defined(WITH_SERVER)
@${ECHO_MSG}
@${ECHO_MSG} "Building Samhain in standalone mode."
@${ECHO_MSG} "If you wish to enable networked mode, please hit CTRL-C"
@${ECHO_MSG} "now, and build samhain from the samhain-client and"
@${ECHO_MSG} "samhain-server ports."
@${ECHO_MSG}
.endif
.if defined(WITH_CLIENT) && defined(WITH_SERVER)
IGNORE= can't build client and server at once
.endif
post-extract:
@${TAR} -C ${WRKDIR} -xzf ${WRKSRC}.tar.gz
@${RM} ${WRKSRC}.tar.gz ${WRKSRC}.tar.gz.asc
post-install:
.if !defined(WITH_SERVER)
${INSTALL_SCRIPT} ${WRKSRC}/init/samhain.startFreeBSD ${STAGEDIR}${PREFIX}/etc/rc.d/samhain
@${CP} ${WRKSRC}/samhainrc ${STAGEDIR}${PREFIX}/etc/samhainrc.sample
@${CHGRP} wheel ${STAGEDIR}${PREFIX}/etc/samhainrc.sample
${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/samhain
.else
${INSTALL_SCRIPT} ${WRKSRC}/init/samhain.startFreeBSD ${STAGEDIR}${PREFIX}/etc/rc.d/yule
@${CP} ${WRKSRC}/yulerc ${STAGEDIR}${PREFIX}/etc/yulerc.sample
${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/yule
${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/yulectl
${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/yule_setpwd
.endif
.if defined(WITH_CLIENT)
${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/samhain_setpwd
.endif
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/MANUAL-2_4.pdf ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/HOWTO-client+server.html ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/HOWTO-client+server-troubleshooting.html ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/HOWTO-samhain+GnuPG.html ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/HOWTO-write-modules.html ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/FAQ.html ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/README.UPGRADE ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/README ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/BUGS ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/sh_mounts.txt ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/sh_userfiles.txt ${STAGEDIR}${DOCSDIR}
.include <bsd.port.post.mk>
|