summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Alonso Cardenas Marquez <acm@FreeBSD.org>2021-01-06 09:13:31 +0000
committerJose Alonso Cardenas Marquez <acm@FreeBSD.org>2021-01-06 09:13:31 +0000
commit62862c73d5ec69126289c8cffff0239374cba343 (patch)
tree055607c2d7a0dc64c5b8ee80a424d2d5ce7a61a9
parent- Connect security/py-gvm-tools (diff)
- Re-add port: security/greenbone-security-assistant
The Greenbone Security Assistant is the web interface developed for the Greenbone Security Manager appliances. It connects to the Greenbone Vulnerability Manager GVM to provide a full-featured user interface for vulnerability management. Greenbone Security Assistant consists of GSA - The webpage written in React and GSAD - The HTTP server talking to the GVM daemon WWW: https://github.com/greenbone/gsa
Notes
Notes: svn path=/head/; revision=560482
-rw-r--r--security/greenbone-security-assistant/Makefile63
-rw-r--r--security/greenbone-security-assistant/distinfo5
-rw-r--r--security/greenbone-security-assistant/files/gsad.in30
-rw-r--r--security/greenbone-security-assistant/files/patch-CMakeLists.txt11
-rw-r--r--security/greenbone-security-assistant/files/patch-gsa_CMakeLists.txt11
-rw-r--r--security/greenbone-security-assistant/files/patch-gsad-src_gsad_gmp.c13
-rw-r--r--security/greenbone-security-assistant/files/patch-gsad_CMakeLists.txt30
-rw-r--r--security/greenbone-security-assistant/pkg-descr10
8 files changed, 173 insertions, 0 deletions
diff --git a/security/greenbone-security-assistant/Makefile b/security/greenbone-security-assistant/Makefile
new file mode 100644
index 000000000000..b4873b4bb03a
--- /dev/null
+++ b/security/greenbone-security-assistant/Makefile
@@ -0,0 +1,63 @@
+# $FreeBSD$
+
+PORTNAME= greenbone-security-assistant
+DISTVERSION= 20.8.0
+DISTVERSIONPREFIX= v
+MASTER_SITES= LOCAL/acm/gsa/:yarn_cache
+CATEGORIES= security
+DISTFILES= ${PORTNAME}-cache${EXTRACT_SUFX}:yarn_cache
+
+MAINTAINER= acm@FreeBSD.org
+COMMENT= libraries module for the GVM solution
+
+LICENSE= AGPLv3+
+
+BUILD_DEPENDS= node:www/node \
+ yarn:www/yarn
+LIB_DEPENDS= libgvm_base.so:security/gvm-libs \
+ libgnutls.so:security/gnutls \
+ libgcrypt.so:security/libgcrypt \
+ libgpg-error.so:security/libgpg-error \
+ libmicrohttpd.so:www/libmicrohttpd
+RUN_DEPENDS= doxygen>0:devel/doxygen \
+ ${PYTHON_PKGNAMEPREFIX}polib>=0:devel/py-polib@${PY_FLAVOR}
+
+USE_GITHUB= yes
+GH_ACCOUNT= greenbone
+GH_PROJECT= gsa
+
+CMAKE_ARGS+= -DINSTALLER_ARGS="--offline"
+
+USES= cmake gettext-runtime gnome pkgconfig python
+USE_GNOME= glib20 libxml2
+
+USE_RC_SUBR= gsad
+
+ETCDIR= ${PREFIX}/etc/gvm
+PLIST_FILES= "@sample %%ETCDIR%%/gsad_log.conf.sample"
+
+post-extract:
+ @${MV} ${WRKSRC}/gsad/src/gsad_log_conf.cmake_in ${WRKSRC}/gsad/src/gsad_log.conf.sample
+
+post-patch:
+ ${ECHO_CMD} 'yarn-offline-mirror "${WRKDIR}/yarn-offline-cache"' >> \
+ ${WRKSRC}/.yarnrc
+ ${REINPLACE_CMD} -e 's|$${GVM_LOG_DIR}|/var/log/gvm|g' ${WRKSRC}/gsad/src/gsad_log.conf.sample
+
+post-install:
+ @${MKDIR} ${STAGEDIR}/var/run/gvm
+ @${MKDIR} ${STAGEDIR}${ETCDIR}
+ @${INSTALL_DATA} ${WRKSRC}/gsad/src/gsad_log.conf.sample ${STAGEDIR}${ETCDIR}
+
+ @${ECHO_CMD} "@sample %%ETCDIR%%/gsad_log.conf.sample"
+ @${ECHO_CMD} "etc/rc.d/gsad" >> ${TMPPLIST}
+ @${ECHO_CMD} "sbin/gsad" >> ${TMPPLIST}
+
+ @cd ${WRKSRC}/gsa/build && \
+ ${FIND} -s img locales static -not -type d \
+ -exec ${ECHO_CMD} "share/gvm/gsad/web/{}" \; >> ${TMPPLIST}
+
+ @${ECHO_CMD} "share/man/man8/gsad.8.gz" >> ${TMPPLIST}
+ @${ECHO_CMD} "@dir /var/run/gvm" >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/security/greenbone-security-assistant/distinfo b/security/greenbone-security-assistant/distinfo
new file mode 100644
index 000000000000..3c53cde766a4
--- /dev/null
+++ b/security/greenbone-security-assistant/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1609922298
+SHA256 (greenbone-security-assistant-cache.tar.gz) = 54e91c17d834c20864b7b8bcd539afaae041ea377aea546db2d7cdc6c7e234c1
+SIZE (greenbone-security-assistant-cache.tar.gz) = 49197096
+SHA256 (greenbone-gsa-v20.8.0_GH0.tar.gz) = 8f9f6d985a592b805aeba8c73cba7efaaa497f67a0a9dc8264590d2f41e98ddc
+SIZE (greenbone-gsa-v20.8.0_GH0.tar.gz) = 2131696
diff --git a/security/greenbone-security-assistant/files/gsad.in b/security/greenbone-security-assistant/files/gsad.in
new file mode 100644
index 000000000000..bc93e40e5603
--- /dev/null
+++ b/security/greenbone-security-assistant/files/gsad.in
@@ -0,0 +1,30 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: gsad
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following to /etc/rc.conf[.local] to enable this service
+#
+# gsad_enable (bool): Set to NO by default.
+# Set it to YES to enable gsad.
+# gsad_flags (params): Set params used to start gsad.
+#
+
+. /etc/rc.subr
+
+load_rc_config $name
+
+: ${gsad_enable="NO"}
+: ${gsad_flags="--http-cors="http://127.0.0.1" -k /var/lib/gvm/private/CA/serverkey.pem -c /var/lib/gvm/CA/servercert.pem --munix-socket=/var/run/gvm/gvmd.sock"}
+
+name=gsad
+rcvar=${name}_enable
+gsad_user=gvm
+command="%%PREFIX%%/sbin/gsad"
+command_args="${gsad_flags}"
+pidfile=/var/run/gvm/gsad.pid
+
+run_rc_command "$1"
diff --git a/security/greenbone-security-assistant/files/patch-CMakeLists.txt b/security/greenbone-security-assistant/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..2ea3d5a87997
--- /dev/null
+++ b/security/greenbone-security-assistant/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt 2021-01-04 10:09:59.295410000 -0500
++++ CMakeLists.txt 2021-01-04 10:10:43.087240000 -0500
+@@ -60,7 +60,7 @@
+ endif (NOT LIBDIR)
+
+ if (NOT LOCALSTATEDIR)
+- set (LOCALSTATEDIR "${CMAKE_INSTALL_PREFIX}/var")
++ set (LOCALSTATEDIR "/var")
+ endif (NOT LOCALSTATEDIR)
+
+ if (NOT INCLUDEDIR)
diff --git a/security/greenbone-security-assistant/files/patch-gsa_CMakeLists.txt b/security/greenbone-security-assistant/files/patch-gsa_CMakeLists.txt
new file mode 100644
index 000000000000..2183c1c029da
--- /dev/null
+++ b/security/greenbone-security-assistant/files/patch-gsa_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- gsa/CMakeLists.txt 2021-01-05 00:32:41.516624000 -0500
++++ gsa/CMakeLists.txt 2021-01-05 00:32:59.477060000 -0500
+@@ -1187,7 +1187,7 @@
+
+
+ add_custom_command (OUTPUT bundle.stamp
+- COMMAND ${CMAKE_COMMAND} -E env REACT_APP_VERSION=${PROJECT_VERSION_STRING} ${INSTALLER} "${INSTALLER_ARGS}" run build
++ COMMAND ${CMAKE_COMMAND} -E env REACT_APP_VERSION=${PROJECT_VERSION_STRING} ${INSTALLER} "${INSTALLER_ARGS}" react-scripts build
+ COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/bundle.stamp
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/node-modules.stamp
diff --git a/security/greenbone-security-assistant/files/patch-gsad-src_gsad_gmp.c b/security/greenbone-security-assistant/files/patch-gsad-src_gsad_gmp.c
new file mode 100644
index 000000000000..69a7359b2392
--- /dev/null
+++ b/security/greenbone-security-assistant/files/patch-gsad-src_gsad_gmp.c
@@ -0,0 +1,13 @@
+--- gsad/src/gsad_gmp.c 2021-01-03 19:47:56.782208000 -0500
++++ gsad/src/gsad_gmp.c 2021-01-03 19:49:29.616531000 -0500
+@@ -16573,8 +16573,8 @@
+ /* Connect to server. */
+
+ address.sun_family = AF_UNIX;
+- strncpy (address.sun_path, path, sizeof (address.sun_path) - 1);
+- if (connect (sock, (struct sockaddr *) &address, sizeof (address)) == -1)
++ strcpy (address.sun_path, path);
++ if (connect (sock, (struct sockaddr *) &address, sizeof (struct sockaddr_un)) == -1)
+ {
+ g_warning ("Failed to connect to server at %s: %s", path,
+ strerror (errno));
diff --git a/security/greenbone-security-assistant/files/patch-gsad_CMakeLists.txt b/security/greenbone-security-assistant/files/patch-gsad_CMakeLists.txt
new file mode 100644
index 000000000000..d65aaeadd9cc
--- /dev/null
+++ b/security/greenbone-security-assistant/files/patch-gsad_CMakeLists.txt
@@ -0,0 +1,30 @@
+--- gsad/CMakeLists.txt 2020-08-11 10:23:07.000000000 -0500
++++ gsad/CMakeLists.txt 2021-01-05 18:03:53.919183000 -0500
+@@ -86,7 +86,7 @@
+ set (GSAD_CONFIG_DIR "${SYSCONFDIR}/gvm/")
+
+ if (NOT GSAD_PID_DIR)
+- set (GSAD_PID_DIR "${LOCALSTATEDIR}/run")
++ set (GSAD_PID_DIR "${LOCALSTATEDIR}/run/gvm")
+ endif (NOT GSAD_PID_DIR)
+
+ if (NOT GVM_RUN_DIR)
+@@ -124,15 +124,14 @@
+ endif (NOT GVM_CA_CERTIFICATE)
+
+
+-configure_file (src/gsad_log_conf.cmake_in src/gsad_log.conf)
++#configure_file (src/gsad_log_conf.cmake_in src/gsad_log.conf.sample)
+
+ ## Install
+
+-install (FILES ${CMAKE_CURRENT_BINARY_DIR}/src/gsad_log.conf
+- DESTINATION ${GSAD_CONFIG_DIR})
++#install (FILES ${CMAKE_CURRENT_BINARY_DIR}/src/gsad_log.conf.sample
++# DESTINATION ${GSAD_CONFIG_DIR})
+
+ add_subdirectory (src)
+-add_subdirectory (config)
+
+ add_subdirectory (doc)
+
diff --git a/security/greenbone-security-assistant/pkg-descr b/security/greenbone-security-assistant/pkg-descr
new file mode 100644
index 000000000000..7c5e8859d13d
--- /dev/null
+++ b/security/greenbone-security-assistant/pkg-descr
@@ -0,0 +1,10 @@
+The Greenbone Security Assistant is the web interface developed for the
+Greenbone Security Manager appliances.
+
+It connects to the Greenbone Vulnerability Manager GVM to provide a
+full-featured user interface for vulnerability management.
+
+Greenbone Security Assistant consists of GSA - The webpage written in React
+and GSAD - The HTTP server talking to the GVM daemon
+
+WWW: https://github.com/greenbone/gsa