Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Jun 2024 08:10:36 GMT
From:      Dima Panov <fluffy@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: f145c0c973d1 - main - net-mgmt/realmd: add new port
Message-ID:  <202406060810.4568Aac0044613@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by fluffy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f145c0c973d16ba53bdd148278e6824e0f47dfdd

commit f145c0c973d16ba53bdd148278e6824e0f47dfdd
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2024-06-06 08:05:59 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2024-06-06 08:10:09 +0000

    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
---
 net-mgmt/Makefile                                  |   1 +
 net-mgmt/realmd/Makefile                           |  49 +++++++++
 net-mgmt/realmd/distinfo                           |   3 +
 net-mgmt/realmd/files/patch-configure.ac           |  27 +++++
 .../files/patch-service_realm-disco-mscldap.c      |  12 +++
 .../files/patch-service_realm-disco-rootdse.c      |  12 +++
 net-mgmt/realmd/files/patch-service_realm-ldap.c   |  11 ++
 .../realmd/files/patch-service_realm-provider.c    |  18 ++++
 .../files/patch-service_realm-samba-enroll.c       |  22 ++++
 net-mgmt/realmd/files/realmd-freebsd.conf.in       |  61 +++++++++++
 net-mgmt/realmd/pkg-descr                          |   1 +
 net-mgmt/realmd/pkg-plist                          | 111 +++++++++++++++++++++
 12 files changed, 328 insertions(+)

diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile
index c3dc7747465f..e23838498843 100644
--- a/net-mgmt/Makefile
+++ b/net-mgmt/Makefile
@@ -345,6 +345,7 @@
     SUBDIR += rancid3
     SUBDIR += rate
     SUBDIR += rcpd
+    SUBDIR += realmd
     SUBDIR += remarp
     SUBDIR += resource-agents
     SUBDIR += riemann
diff --git a/net-mgmt/realmd/Makefile b/net-mgmt/realmd/Makefile
new file mode 100644
index 000000000000..fe3872c85e3f
--- /dev/null
+++ b/net-mgmt/realmd/Makefile
@@ -0,0 +1,49 @@
+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>
diff --git a/net-mgmt/realmd/distinfo b/net-mgmt/realmd/distinfo
new file mode 100644
index 000000000000..ca0ede9d6654
--- /dev/null
+++ b/net-mgmt/realmd/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1716207148
+SHA256 (realmd-0.17.1.tar.bz2) = b514bdb6fe93a72fbc7fd796665d7476615d8ba0c7b61436771951316c333e6a
+SIZE (realmd-0.17.1.tar.bz2) = 315250
diff --git a/net-mgmt/realmd/files/patch-configure.ac b/net-mgmt/realmd/files/patch-configure.ac
new file mode 100644
index 000000000000..a9b8440ff21f
--- /dev/null
+++ b/net-mgmt/realmd/files/patch-configure.ac
@@ -0,0 +1,27 @@
+--- 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"
diff --git a/net-mgmt/realmd/files/patch-service_realm-disco-mscldap.c b/net-mgmt/realmd/files/patch-service_realm-disco-mscldap.c
new file mode 100644
index 000000000000..e07a7dcd1fb6
--- /dev/null
+++ b/net-mgmt/realmd/files/patch-service_realm-disco-mscldap.c
@@ -0,0 +1,12 @@
+--- 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>
+ 
diff --git a/net-mgmt/realmd/files/patch-service_realm-disco-rootdse.c b/net-mgmt/realmd/files/patch-service_realm-disco-rootdse.c
new file mode 100644
index 000000000000..6055fa43db3e
--- /dev/null
+++ b/net-mgmt/realmd/files/patch-service_realm-disco-rootdse.c
@@ -0,0 +1,12 @@
+--- 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;
diff --git a/net-mgmt/realmd/files/patch-service_realm-ldap.c b/net-mgmt/realmd/files/patch-service_realm-ldap.c
new file mode 100644
index 000000000000..244f824e6a13
--- /dev/null
+++ b/net-mgmt/realmd/files/patch-service_realm-ldap.c
@@ -0,0 +1,11 @@
+--- 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");
diff --git a/net-mgmt/realmd/files/patch-service_realm-provider.c b/net-mgmt/realmd/files/patch-service_realm-provider.c
new file mode 100644
index 000000000000..a17b65f76fb1
--- /dev/null
+++ b/net-mgmt/realmd/files/patch-service_realm-provider.c
@@ -0,0 +1,18 @@
+--- 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);
+ 
diff --git a/net-mgmt/realmd/files/patch-service_realm-samba-enroll.c b/net-mgmt/realmd/files/patch-service_realm-samba-enroll.c
new file mode 100644
index 000000000000..7c89a81a69e0
--- /dev/null
+++ b/net-mgmt/realmd/files/patch-service_realm-samba-enroll.c
@@ -0,0 +1,22 @@
+--- 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 {
diff --git a/net-mgmt/realmd/files/realmd-freebsd.conf.in b/net-mgmt/realmd/files/realmd-freebsd.conf.in
new file mode 100644
index 000000000000..5e0644b9fe1c
--- /dev/null
+++ b/net-mgmt/realmd/files/realmd-freebsd.conf.in
@@ -0,0 +1,61 @@
+# 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
diff --git a/net-mgmt/realmd/pkg-descr b/net-mgmt/realmd/pkg-descr
new file mode 100644
index 000000000000..d8227a7ee97f
--- /dev/null
+++ b/net-mgmt/realmd/pkg-descr
@@ -0,0 +1 @@
+DBus service for configuring kerberos and other online identities
diff --git a/net-mgmt/realmd/pkg-plist b/net-mgmt/realmd/pkg-plist
new file mode 100644
index 000000000000..be29bc6d951c
--- /dev/null
+++ b/net-mgmt/realmd/pkg-plist
@@ -0,0 +1,111 @@
+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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202406060810.4568Aac0044613>