From nobody Wed Jan 31 16:11:34 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TQ6VG6K2Zz58nv4; Wed, 31 Jan 2024 16:11:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TQ6VG5fYxz49MM; Wed, 31 Jan 2024 16:11:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1706717494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NBT/v0gu4WmR4r9AzwXvxpwjRmcQWKBGXPm27vhJFiI=; b=Rc1yrNlK0xNpfu/HAlJlwzAwWGc8JFcnILIKj8d1sO8iyI+ROgDYnONZPXqjR1it5m5+xI mMBGXM1LB9A9CUoIGBNHoiHqfhVb24FXwT+ph/cPnp2T+ksyWVmCE+tAyJ+lH8txKiqD4c a9E1fAazFan6485qDZamqKx9A7Gi273cZjAJ7jpdzrd2MEuSNTPXFeIepUkyiI79YDwTZR FaMGBHEpalvbE2NJWZJfjqif7xQMmIULjHr5NTISnOcj8U7fOFKCH7/qUI4hgedIex5EHc 9sb6G/kPrDzmHpDYD/HJ0FYFoF9boi12/Ndn8A9TtLRgjfpwkjh3JxrSpftK+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1706717494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NBT/v0gu4WmR4r9AzwXvxpwjRmcQWKBGXPm27vhJFiI=; b=NPoNohb9ifQ/XIPjZ/ZJzZSajpRF15Gkrs+lryJ4RMGplH3hloUynCO1T6rrFlSc+6WVt1 s/jX8aprwbsmzdhFLMDHm9OyJAuKSANmTV/N77onanAQHWiCM/DC8pYG1/hm+oiKZFWR67 fsxm/xXseAZKC/ZfOtmX+QAXMsqUHGipldAwb64C960lSjKX+IJZUhepdb4vBQM09asv0y /cDB6of9n1z8n5dgNymyBsZWXfXIVSzH8Q3Vz8vrT4nq4oGXhECJ+y2HZRjO6uMUTyTTwj d2QMaMOOpbXOwDSTqvApYUP6GTgzbGFQp3FUDsDVYwhCwcAhL3nyMtwM+zZ8hg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1706717494; a=rsa-sha256; cv=none; b=vH4WE2OahW5ztQ1/8ZjgZ9PVIJ362njLKbQp1zpLP3gMeuzMbl7Gz/DYR+HiXXWGns9pn3 on6Fi87zajiF/I00yV15E4cyMDROvq41Ir9HNAbLpL22ttpbLhxHKayNU44ghqr6lWNRIs tLSGZFaOeJN51zMtDFroIMG3XJ8mW5Kw/8D0kyLdwFsBG/QWhE1bEm0ykGw7lk5ZIsg5wt hWf1HQ3B3JXs6yP8siUC0Ar/Kt0Ftsouu+Wv9TLkDsv8U8C/wCzxiars1+PfPDh6JXjGH5 kJWuMD32/FY1bYDM7Kyp+LWvbQ/lwlIFq4WvPHQ/Qi9ynM7fg7vVvlWxX2BmxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TQ6VG4j5TzPly; Wed, 31 Jan 2024 16:11:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40VGBY2i021739; Wed, 31 Jan 2024 16:11:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40VGBYKZ021736; Wed, 31 Jan 2024 16:11:34 GMT (envelope-from git) Date: Wed, 31 Jan 2024 16:11:34 GMT Message-Id: <202401311611.40VGBYKZ021736@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Dan Langille Subject: git: 3c57e9fa97a0 - main - sysutils/bacula13-server: Add upstream patch List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dvl X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3c57e9fa97a073c2911a6b3c76161376d3d185f6 Auto-Submitted: auto-generated The branch main has been updated by dvl: URL: https://cgit.FreeBSD.org/ports/commit/?id=3c57e9fa97a073c2911a6b3c76161376d3d185f6 commit 3c57e9fa97a073c2911a6b3c76161376d3d185f6 Author: Dan Langille AuthorDate: 2024-01-31 16:08:51 +0000 Commit: Dan Langille CommitDate: 2024-01-31 16:11:31 +0000 sysutils/bacula13-server: Add upstream patch If you are using bacula-fd < 13.x, this is a required update for you. Not all warnings from a bacula < 13 client are seen when running with bacula-server >= 13.x See: https://gitlab.bacula.org/bacula-community-edition/bacula-community/-/issues/2704 --- sysutils/bacula13-server/Makefile | 1 + .../files/patch-src_dird_fd__cmds.c | 46 ++++++++++++++++++++++ .../bacula13-server/files/patch-src_dird_getmsg.c | 17 ++++++++ sysutils/bacula13-server/files/patch-src_jcr.h | 10 +++++ 4 files changed, 74 insertions(+) diff --git a/sysutils/bacula13-server/Makefile b/sysutils/bacula13-server/Makefile index 1fcc10f551ee..6d239e2ed9a1 100644 --- a/sysutils/bacula13-server/Makefile +++ b/sysutils/bacula13-server/Makefile @@ -1,5 +1,6 @@ PORTNAME= bacula DISTVERSION= 13.0.3 +PORTREVISION= 1 CATEGORIES?= sysutils MASTER_SITES= SF/bacula/bacula/${PORTVERSION} PKGNAMEPREFIX?= # diff --git a/sysutils/bacula13-server/files/patch-src_dird_fd__cmds.c b/sysutils/bacula13-server/files/patch-src_dird_fd__cmds.c new file mode 100644 index 000000000000..ecd0a9ddbb04 --- /dev/null +++ b/sysutils/bacula13-server/files/patch-src_dird_fd__cmds.c @@ -0,0 +1,46 @@ +--- src/dird/fd_cmds.c.orig 2023-05-02 09:50:49 UTC ++++ src/dird/fd_cmds.c +@@ -72,6 +72,34 @@ static void delete_bsock_end_cb(JCR *jcr, void *ctx) + free_bsock(socket); + } + ++/* 16.0.10 (12Jan24) x86_64-pc-linux-gnu,ubuntu,20.04 -> 160010 */ ++static uint64_t scan_version(char *str) ++{ ++ Enter(0); ++ uint64_t version = 0; ++ ++ regex_t r1; ++ regmatch_t pmatch[16]; ++ regcomp(&r1, "^([0-9]+)\\.([0-9]+)\\.([0-9]+)", REG_EXTENDED); ++ if (regexec(&r1, str, 4, pmatch, 0) == 0 && ++ pmatch[1].rm_so == 0 && pmatch[1].rm_eo > 0 && pmatch[1].rm_eo < 50 && ++ pmatch[2].rm_so > 0 && pmatch[2].rm_eo > 0 && (pmatch[2].rm_eo - pmatch[2].rm_so) < 50 && ++ pmatch[3].rm_so > 0 && pmatch[3].rm_eo > 0 && (pmatch[3].rm_eo - pmatch[3].rm_so) < 50) ++ { ++ char buf[50]; ++ bstrncpy(buf, str + pmatch[1].rm_so, pmatch[1].rm_eo - pmatch[1].rm_so + 1); ++ version = str_to_uint64(buf) * 10000; ++ ++ bstrncpy(buf, str + pmatch[2].rm_so, pmatch[2].rm_eo - pmatch[2].rm_so + 1); ++ version += str_to_uint64(buf) * 100; ++ ++ bstrncpy(buf, str + pmatch[3].rm_so, pmatch[3].rm_eo - pmatch[3].rm_so + 1); ++ version += str_to_uint64(buf); ++ } ++ regfree(&r1); ++ return version; ++} ++ + /* + * Open connection with File daemon. + * Try connecting every retry_interval (default 10 sec), and +@@ -195,6 +223,8 @@ int connect_to_file_daemon(JCR *jcr, int retry_interva + cr.FileRetention = jcr->client->FileRetention; + cr.JobRetention = jcr->client->JobRetention; + bstrncpy(cr.Uname, fd->msg+strlen(OKjob)+1, sizeof(cr.Uname)); ++ jcr->client_version = scan_version(cr.Uname); ++ + if (!db_update_client_record(jcr, jcr->db, &cr)) { + Jmsg(jcr, M_WARNING, 0, _("Error updating Client record. ERR=%s\n"), + db_strerror(jcr->db)); diff --git a/sysutils/bacula13-server/files/patch-src_dird_getmsg.c b/sysutils/bacula13-server/files/patch-src_dird_getmsg.c new file mode 100644 index 000000000000..2ee3adae7320 --- /dev/null +++ b/sysutils/bacula13-server/files/patch-src_dird_getmsg.c @@ -0,0 +1,17 @@ +--- src/dird/getmsg.c.orig 2023-05-02 09:50:49 UTC ++++ src/dird/getmsg.c +@@ -251,6 +251,14 @@ int bget_dirmsg(JCR *jcr, BSOCK *bs, BSOCK_CLIENT_TYPE + if (*msg == ' ') { + msg++; /* skip leading space */ + } ++ /* Fix to support old FDs */ ++ if (role == BSOCK_TYPE_FD && jcr->client_version > 0 && jcr->client_version < 130000) { ++ type = type + 1; /* Adding M_EVENTS pushed all old events by 1, we fix it automatically here */ ++ } ++ if (type == M_ABORT) { // not allowed here ++ Jmsg1(jcr, M_ERROR, 0, _("Malformed message: %s\n"), bs->msg); ++ continue; ++ } + Dmsg1(900, "Dispatch msg: %s", msg); + dispatch_message(jcr, type, mtime, msg); + continue; diff --git a/sysutils/bacula13-server/files/patch-src_jcr.h b/sysutils/bacula13-server/files/patch-src_jcr.h new file mode 100644 index 000000000000..10d7432088b2 --- /dev/null +++ b/sysutils/bacula13-server/files/patch-src_jcr.h @@ -0,0 +1,10 @@ +--- src/jcr.h.orig 2023-05-02 09:50:49 UTC ++++ src/jcr.h +@@ -399,6 +399,7 @@ class JCR { (public) + int32_t FDVersion; /* File daemon version number */ + int32_t SDVersion; /* Storage daemon version number */ + int64_t spool_size; /* Spool size for this job */ ++ uint64_t client_version; /* Client version as a number */ + utime_t snapshot_retention; /* Snapshot retention (from Client/Job resource) */ + volatile bool sd_msg_thread_done; /* Set when Storage message thread done */ + bool wasVirtualFull; /* set if job was VirtualFull */