git: 03fa74582f17 - main - databases/mysql_config_editor: new port

From: Eugene Grosbein <eugen_at_FreeBSD.org>
Date: Wed, 16 Sep 2026 13:01:17 UTC
The branch main has been updated by eugen:

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

commit 03fa74582f1722e40a2dd064a3325ea822b462f2
Author:     Eugene Grosbein <eugen@FreeBSD.org>
AuthorDate: 2026-09-16 12:34:47 +0000
Commit:     Eugene Grosbein <eugen@FreeBSD.org>
CommitDate: 2026-09-16 13:01:06 +0000

    databases/mysql_config_editor: new port
    
    Stock MySQL distribution includes mysql_config_editor utility
    that can convert my.cnf-like text file with passwords
    to binary obfuscated format storing AES-encrypted original data
    with corresponding encryption key, so other utilities
    could decrypt it to use passwords non-interactively.
    
    However, this dialog-based utility does not perform batch mode
    conversion nor will it de-obfuscate passwords.
    
    This python script can generate same binary files non-interactively
    and it can show passwords from such files.
---
 databases/Makefile                     |  1 +
 databases/mysql-config-coder/Makefile  | 34 ++++++++++++++++++++++++++++++++++
 databases/mysql-config-coder/distinfo  |  3 +++
 databases/mysql-config-coder/pkg-descr |  3 +++
 4 files changed, 41 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index 5584af1c8889..d303f64650a7 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -199,6 +199,7 @@
     SUBDIR += mtop
     SUBDIR += mydumper
     SUBDIR += mysql++
+    SUBDIR += mysql-config-coder
     SUBDIR += mysql-connector-c++
     SUBDIR += mysql-connector-j
     SUBDIR += mysql-connector-odbc
diff --git a/databases/mysql-config-coder/Makefile b/databases/mysql-config-coder/Makefile
new file mode 100644
index 000000000000..fd397f5e7201
--- /dev/null
+++ b/databases/mysql-config-coder/Makefile
@@ -0,0 +1,34 @@
+PORTNAME=	mysql-config-coder
+DISTVERSION=	g20260914
+CATEGORIES=	databases
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	eugen@FreeBSD.org
+COMMENT=	Encoder and decoder for .mylogin.cnf files
+WWW=		https://github.com/isotopp/mysql-config-coder
+
+LICENSE=	GPLv3
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pycryptodome>=0:security/py-pycryptodome@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}click>=0:devel/py-click@${PY_FLAVOR}
+
+PLIST_FILES=	bin/${SNAME}
+USES=		python
+
+USE_PYTHON=	flavors
+USE_GITHUB=	yes
+
+GH_ACCOUNT=	isotopp
+GH_TAGNAME=	8a0fbd3
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+SNAME=		mysql_config_coder.py
+
+do-install:
+		@cd ${WRKSRC} && \
+		${REINPLACE_CMD} $$'1s,^.*,#!${PYTHON_CMD},' ${SNAME} && \
+		${INSTALL_SCRIPT} ${SNAME} ${STAGEDIR}${PREFIX}/bin
+
+.include <bsd.port.mk>
diff --git a/databases/mysql-config-coder/distinfo b/databases/mysql-config-coder/distinfo
new file mode 100644
index 000000000000..9fe053106f10
--- /dev/null
+++ b/databases/mysql-config-coder/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1789561862
+SHA256 (isotopp-mysql-config-coder-g20260914-8a0fbd3_GH0.tar.gz) = 1a1381395dae7c3bc6b6ffae3b72e4a1f52e2af65ccae50e501f03bbe7476b91
+SIZE (isotopp-mysql-config-coder-g20260914-8a0fbd3_GH0.tar.gz) = 23241
diff --git a/databases/mysql-config-coder/pkg-descr b/databases/mysql-config-coder/pkg-descr
new file mode 100644
index 000000000000..550a319b3950
--- /dev/null
+++ b/databases/mysql-config-coder/pkg-descr
@@ -0,0 +1,3 @@
+PFX decoder for CryptoPro GOST R 34.10-2012 implementation.
+
+No support for deprecated GOST R 34.10-2001.