Skip to content
Snippets Groups Projects
Verified Commit f145c0c9 authored by Dima Panov's avatar Dima Panov
Browse files

net-mgmt/realmd: add new port

realmd is an on demand system DBus service, which allows callers to
configure network authentication and domain membership in a standard way.

realmd discovers information about the domain or realm automatically and
does not require complicated configuration in order to join a domain or realm.

Sponsored by:	Serenity Cybersecurity, LLC
parent af47301d
No related branches found
No related tags found
No related merge requests found
......@@ -345,6 +345,7 @@
SUBDIR += rancid3
SUBDIR += rate
SUBDIR += rcpd
SUBDIR += realmd
SUBDIR += remarp
SUBDIR += resource-agents
SUBDIR += riemann
......
PORTNAME= realmd
PORTVERSION= 0.17.1
CATEGORIES= net-mgmt
MAINTAINER= fluffy@FreeBSD.org
COMMENT= DBus service for configuring kerberos and other online identities
WWW= https://www.freedesktop.org/software/realmd/
LICENSE= LGPL21
BUILD_DEPENDS= gsed:textproc/gsed
LIB_DEPENDS= libpolkit-gobject-1.so:sysutils/polkit
USES= autoreconf gettext gmake gnome gssapi:mit,flags iconv ldap \
libtool localbase pathfix pkgconfig ssl tar:bz2
USE_GNOME= glib20
USE_GITLAB= yes
GL_SITE= https://gitlab.freedesktop.org
GL_ACCOUNT= realmd
GNU_CONFIGURE= yes
TEST_TARGET= check
BINARY_ALIAS= sed=${LOCALBASE}/bin/gsed
OPTIONS_DEFINE= DOCS
CONFIGURE_ARGS= ${GSSAPI_CONFIGURE_ARGS} \
--with-distro=freebsd \
--without-systemd-journal \
--without-systemd-unit-dir
CONFIGURE_ENV+= KRB5_CONFIG=${KRB5CONFIG}
DOCS_CONFIGURE_ENABLE= doc
DOCS_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \
xsltproc:textproc/libxslt \
xmlto:textproc/xmlto
SUB_FILES= realmd-freebsd.conf
SUB_LIST= SAMBA=samba${SAMBA_DEFAULT:S/.//}
post-patch:
@${REINPLACE_CMD} -e 's/INSTALL_PROGRAM/INSTALL_DATA/g' ${WRKSRC}/service/Makefile.am
pre-install:
@${INSTALL_DATA} ${WRKDIR}/realmd-freebsd.conf ${WRKSRC}/service/realmd-freebsd.conf
.include <bsd.port.mk>
TIMESTAMP = 1716207148
SHA256 (realmd-0.17.1.tar.bz2) = b514bdb6fe93a72fbc7fd796665d7476615d8ba0c7b61436771951316c333e6a
SIZE (realmd-0.17.1.tar.bz2) = 315250
--- configure.ac.orig 2022-09-29 11:05:56 UTC
+++ configure.ac
@@ -155,8 +155,13 @@ for lib in "" "-lresolv"; do
saved_LIBS="$LIBS"
LIBS="$LIBS $lib"
AC_LINK_IFELSE([
- AC_LANG_PROGRAM([#include <resolv.h>],
- [res_query (0, 0, 0, 0, 0)])
+ AC_LANG_PROGRAM([#include <sys/types.h>],
+ [#include <netinet/in.h>],
+ [#include <arpa/nameser.h>],
+ [#include <resolv.h>],
+ [res_query (0, 0, 0, 0, 0);
+ ns_get32 (NULL);
+ ns_get16 (NULL);])
],
[ AC_MSG_RESULT(${lib:-libc}); have_res_query="yes"; break; ],
[ LIBS="$saved_LIBS" ])
@@ -266,7 +271,7 @@ AC_SUBST(DBUS_SERVICES_DIR)
DBUS_SERVICES_DIR="${datadir}/dbus-1/system-services"
AC_SUBST(DBUS_SERVICES_DIR)
-DBUS_POLICY_DIR="${sysconfdir}/dbus-1/system.d"
+DBUS_POLICY_DIR="${datadir}/dbus-1/system.d"
AC_SUBST(DBUS_POLICY_DIR)
POLKIT_ACTION_DIR="${datadir}/polkit-1/actions"
--- service/realm-disco-mscldap.c.orig 2022-09-29 11:05:56 UTC
+++ service/realm-disco-mscldap.c
@@ -22,6 +22,9 @@
#include <glib/gi18n.h>
#include <errno.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
#include <resolv.h>
#include <unistd.h>
--- service/realm-disco-rootdse.c.orig 2022-09-29 11:05:56 UTC
+++ service/realm-disco-rootdse.c
@@ -23,6 +23,9 @@
#include <glib/gi18n.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
#include <resolv.h>
typedef struct _Closure Closure;
--- service/realm-ldap.c.orig 2022-09-29 11:05:56 UTC
+++ service/realm-ldap.c
@@ -259,7 +259,7 @@ realm_ldap_connect_anonymous (GSocketAddress *address,
if (rc != 0) {
g_warning ("couldn't set SO_SNDTIMEO");
}
- rc = setsockopt (ls->sock, IPPROTO_TCP, TCP_USER_TIMEOUT,
+ rc = setsockopt (ls->sock, IPPROTO_TCP, TCP_KEEPINIT*1000,
&milli, sizeof (milli));
if (rc != 0) {
g_warning ("couldn't set TCP_USER_TIMEOUT");
--- service/realm-provider.c.orig 2022-09-29 11:05:56 UTC
+++ service/realm-provider.c
@@ -28,9 +28,15 @@
#include <glib/gi18n.h>
#include <gio/gio.h>
+#include <unistd.h>
#include <errno.h>
#define TIMEOUT_SECONDS 15
+
+#if defined(__FreeBSD__)
+#include <sys/param.h>
+#define HOST_NAME_MAX MAXHOSTNAMELEN
+#endif
G_DEFINE_TYPE (RealmProvider, realm_provider, G_TYPE_DBUS_OBJECT_SKELETON);
--- service/realm-samba-enroll.c.orig 2022-09-29 11:05:56 UTC
+++ service/realm-samba-enroll.c
@@ -29,6 +29,7 @@
#include <glib/gstdio.h>
#include <ldap.h>
+#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
@@ -43,6 +44,11 @@
#else
#define SMBCLI_KERBEROS "-k"
#define SMBCLI_CONF "-s"
+#endif
+
+#if defined(__FreeBSD__)
+#include <sys/param.h>
+#define HOST_NAME_MAX MAXHOSTNAMELEN
#endif
typedef struct {
# Default values for realmd
[service]
debug = no
automatic-install = yes
[paths]
net = %%LOCALBASE%%/bin/net
winbindd = %%LOCALBASE%%/sbin/winbindd
smb.conf = %%LOCALBASE%%/etc/smb4.conf
sssd.conf = %%LOCALBASE%%/etc/sssd/sssd.conf
adcli = %%LOCALBASE%%/sbin/adcli
ipa-client-install = %%LOCALBASE%%/sbin/ipa-client-install
pam_winbind.conf = %%LOCALBASE%%/etc/security/pam_winbind.conf
krb5.conf = /etc/krb5.conf
[active-directory]
default-client = sssd
os-name =
os-version =
[providers]
sssd = yes
samba = yes
example = no
[samba-packages]
%%SAMBA%% = %%LOCALBASE%%/bin/net
[winbind-packages]
[sssd-packages]
sssd2 = %%LOCALBASE%%/sbin/sssd
[adcli-packages]
adcli = %%LOCALBASE%%/sbin/adcli
[commands]
winbind-enable-logins =
winbind-disable-logins =
sssd-enable-logins =
sssd-disable-logins =
winbind-enable-service = /usr/sbin/sysrc winbindd_enable="YES"
winbind-disable-service = /usr/sbin/sysrc winbindd_enable="NO"
winbind-restart-service = /usr/sbin/service samba_server restart
winbind-stop-service = /usr/sbin/service samba_server stop
sssd-enable-service = /usr/sbin/service sssd enable
sssd-disable-service = /usr/sbin/service sssd disable
sssd-restart-service = /usr/sbin/service sssd restart
sssd-stop-service = /usr/sbin/service sssd stop
sssd-caches-flush = %%LOCALBASE%%/sbin/sss_cache --users --groups --netgroups --services --autofs-maps
[users]
default-shell = /bin/sh
default-home = /home/%U@%D
[example.com]
example-administrator = Administrator
example-password = bureaucracy
DBus service for configuring kerberos and other online identities
lib/realmd/realmd-defaults.conf
lib/realmd/realmd-distro.conf
libexec/realmd
sbin/realm
share/dbus-1/system.d/org.freedesktop.realmd.conf
share/dbus-1/system-services/org.freedesktop.realmd.service
%%PORTDOCS%%%%DOCSDIR%%/book.devhelp2
%%PORTDOCS%%%%DOCSDIR%%/dbus-interface-raw.html
%%PORTDOCS%%%%DOCSDIR%%/dbus-interface-reference.html
%%PORTDOCS%%%%DOCSDIR%%/development.html
%%PORTDOCS%%%%DOCSDIR%%/gdbus-org.freedesktop.realmd.Kerberos.html
%%PORTDOCS%%%%DOCSDIR%%/gdbus-org.freedesktop.realmd.KerberosMembership.html
%%PORTDOCS%%%%DOCSDIR%%/gdbus-org.freedesktop.realmd.Provider.html
%%PORTDOCS%%%%DOCSDIR%%/gdbus-org.freedesktop.realmd.Realm.html
%%PORTDOCS%%%%DOCSDIR%%/gdbus-org.freedesktop.realmd.Service.html
%%PORTDOCS%%%%DOCSDIR%%/gtk-doc.css
%%PORTDOCS%%%%DOCSDIR%%/guide-active-directory-client.html
%%PORTDOCS%%%%DOCSDIR%%/guide-active-directory-join.html
%%PORTDOCS%%%%DOCSDIR%%/guide-active-directory-permit.html
%%PORTDOCS%%%%DOCSDIR%%/guide-active-directory.html
%%PORTDOCS%%%%DOCSDIR%%/guide-integration.html
%%PORTDOCS%%%%DOCSDIR%%/guide-ipa-client.html
%%PORTDOCS%%%%DOCSDIR%%/guide-ipa-join.html
%%PORTDOCS%%%%DOCSDIR%%/guide-ipa-permit.html
%%PORTDOCS%%%%DOCSDIR%%/guide-ipa.html
%%PORTDOCS%%%%DOCSDIR%%/guide-kerberos.html
%%PORTDOCS%%%%DOCSDIR%%/guide.html
%%PORTDOCS%%%%DOCSDIR%%/home.png
%%PORTDOCS%%%%DOCSDIR%%/index.html
%%PORTDOCS%%%%DOCSDIR%%/left.png
%%PORTDOCS%%%%DOCSDIR%%/realm-manual.html
%%PORTDOCS%%%%DOCSDIR%%/realm.html
%%PORTDOCS%%%%DOCSDIR%%/realmd-conf.html
%%PORTDOCS%%%%DOCSDIR%%/realmd-docs.proc
%%PORTDOCS%%%%DOCSDIR%%/right.png
%%PORTDOCS%%%%DOCSDIR%%/style.css
%%PORTDOCS%%%%DOCSDIR%%/up.png
share/locale/ar/LC_MESSAGES/realmd.mo
share/locale/as/LC_MESSAGES/realmd.mo
share/locale/az/LC_MESSAGES/realmd.mo
share/locale/bg/LC_MESSAGES/realmd.mo
share/locale/bn_IN/LC_MESSAGES/realmd.mo
share/locale/ca/LC_MESSAGES/realmd.mo
share/locale/ca@valencia/LC_MESSAGES/realmd.mo
share/locale/cs/LC_MESSAGES/realmd.mo
share/locale/cy/LC_MESSAGES/realmd.mo
share/locale/da/LC_MESSAGES/realmd.mo
share/locale/de/LC_MESSAGES/realmd.mo
share/locale/el/LC_MESSAGES/realmd.mo
share/locale/en_GB/LC_MESSAGES/realmd.mo
share/locale/eo/LC_MESSAGES/realmd.mo
share/locale/es/LC_MESSAGES/realmd.mo
share/locale/et/LC_MESSAGES/realmd.mo
share/locale/eu/LC_MESSAGES/realmd.mo
share/locale/fa/LC_MESSAGES/realmd.mo
share/locale/fi/LC_MESSAGES/realmd.mo
share/locale/fo/LC_MESSAGES/realmd.mo
share/locale/fr/LC_MESSAGES/realmd.mo
share/locale/ga/LC_MESSAGES/realmd.mo
share/locale/gl/LC_MESSAGES/realmd.mo
share/locale/gu/LC_MESSAGES/realmd.mo
share/locale/he/LC_MESSAGES/realmd.mo
share/locale/hi/LC_MESSAGES/realmd.mo
share/locale/hr/LC_MESSAGES/realmd.mo
share/locale/hu/LC_MESSAGES/realmd.mo
share/locale/ia/LC_MESSAGES/realmd.mo
share/locale/id/LC_MESSAGES/realmd.mo
share/locale/it/LC_MESSAGES/realmd.mo
share/locale/ja/LC_MESSAGES/realmd.mo
share/locale/ka/LC_MESSAGES/realmd.mo
share/locale/kk/LC_MESSAGES/realmd.mo
share/locale/kn/LC_MESSAGES/realmd.mo
share/locale/ko/LC_MESSAGES/realmd.mo
share/locale/lt/LC_MESSAGES/realmd.mo
share/locale/lv/LC_MESSAGES/realmd.mo
share/locale/ml/LC_MESSAGES/realmd.mo
share/locale/mr/LC_MESSAGES/realmd.mo
share/locale/ms/LC_MESSAGES/realmd.mo
share/locale/nb/LC_MESSAGES/realmd.mo
share/locale/nl/LC_MESSAGES/realmd.mo
share/locale/nn/LC_MESSAGES/realmd.mo
share/locale/oc/LC_MESSAGES/realmd.mo
share/locale/or/LC_MESSAGES/realmd.mo
share/locale/pa/LC_MESSAGES/realmd.mo
share/locale/pl/LC_MESSAGES/realmd.mo
share/locale/pt/LC_MESSAGES/realmd.mo
share/locale/pt_BR/LC_MESSAGES/realmd.mo
share/locale/ro/LC_MESSAGES/realmd.mo
share/locale/ru/LC_MESSAGES/realmd.mo
share/locale/si/LC_MESSAGES/realmd.mo
share/locale/sk/LC_MESSAGES/realmd.mo
share/locale/sl/LC_MESSAGES/realmd.mo
share/locale/sq/LC_MESSAGES/realmd.mo
share/locale/sr@latin/LC_MESSAGES/realmd.mo
share/locale/sv/LC_MESSAGES/realmd.mo
share/locale/ta/LC_MESSAGES/realmd.mo
share/locale/te/LC_MESSAGES/realmd.mo
share/locale/th/LC_MESSAGES/realmd.mo
share/locale/tr/LC_MESSAGES/realmd.mo
share/locale/uk/LC_MESSAGES/realmd.mo
share/locale/vi/LC_MESSAGES/realmd.mo
share/locale/wa/LC_MESSAGES/realmd.mo
share/locale/zh_CN/LC_MESSAGES/realmd.mo
share/locale/zh_HK/LC_MESSAGES/realmd.mo
share/locale/zh_TW/LC_MESSAGES/realmd.mo
%%PORTDOCS%%share/man/man5/realmd.conf.5.gz
%%PORTDOCS%%share/man/man8/realm.8.gz
share/polkit-1/actions/org.freedesktop.realmd.policy
@dir /var/cache/realmd
@dir /var/lib/realmd
@dir /var/lib
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment