diff --git a/_service.NO b/_service
similarity index 91%
rename from _service.NO
rename to _service
index 6fe96ff..bf1447f 100644
--- a/_service.NO
+++ b/_service
@@ -2,7 +2,7 @@
git
https://github.com/cheusov/dictd.git
- 1.13.1+git
+ 1.13.3+git
dictd-1.13
enable
mcepl@cepl.eu
diff --git a/_servicedata b/_servicedata
index 0740537..7641a2f 100644
--- a/_servicedata
+++ b/_servicedata
@@ -1,4 +1,4 @@
https://github.com/cheusov/dictd.git
- cccab00fe9eea071f35474c0f7d1c95daa5eeb22
\ No newline at end of file
+ 2b21553c6e0c5257f83dd846237ea70a01be3f8a
\ No newline at end of file
diff --git a/dictd-1.12.1-unused-return.patch b/dictd-1.12.1-unused-return.patch
index 8df4c7f..ed6bfb1 100644
--- a/dictd-1.12.1-unused-return.patch
+++ b/dictd-1.12.1-unused-return.patch
@@ -1,6 +1,12 @@
---- a/dictd.c
-+++ b/dictd.c
-@@ -332,6 +332,7 @@ static void xsigprocmask (int how, const
+---
+ dictd.c | 40 ++++++++++++++++++++++++++--------------
+ 1 file changed, 26 insertions(+), 14 deletions(-)
+
+Index: dictd-1.13.3+git.1731775346.2b21553/dictd.c
+===================================================================
+--- dictd-1.13.3+git.1731775346.2b21553.orig/dictd.c 2024-11-16 17:42:26.000000000 +0100
++++ dictd-1.13.3+git.1731775346.2b21553/dictd.c 2025-03-01 14:27:19.487380130 +0100
+@@ -332,6 +332,7 @@
}
}
@@ -8,7 +14,7 @@
static void block_signals (void)
{
sigset_t set;
-@@ -353,6 +354,7 @@ static void unblock_signals (void)
+@@ -353,6 +354,7 @@
xsigprocmask (SIG_UNBLOCK, &set, NULL);
}
@@ -16,70 +22,65 @@
static void handler( int sig )
{
-@@ -1266,21 +1268,22 @@ static void release_root_privileges( voi
- * -- Bob Hilliard
- */
- {
-+ int unused __attribute__((unused));
- if (geteuid() == 0) {
+@@ -1270,19 +1272,25 @@
struct passwd *pwd;
if ((pwd = getpwnam("dictd"))) {
- setgid(pwd->pw_gid);
-+ unused = setgid(pwd->pw_gid);
- initgroups("dictd",pwd->pw_gid);
+- initgroups("dictd",pwd->pw_gid);
- setuid(pwd->pw_uid);
-+ unused = setuid(pwd->pw_uid);
++ if (setgid(pwd->pw_gid))
++ err_fatal_errno(NULL, ":E: setgid(%u) failed\n", (unsigned)pwd->pw_gid);
++ initgroups("dictd",pwd->pw_gid);
++ if (setuid(pwd->pw_uid))
++ err_fatal_errno(NULL, ":E: setuid(%u) failed\n", (unsigned)pwd->pw_uid);
} else if ((pwd = getpwnam("nobody"))) {
- setgid(pwd->pw_gid);
-+ unused = setgid(pwd->pw_gid);
- initgroups("nobody",pwd->pw_gid);
+- initgroups("nobody",pwd->pw_gid);
- setuid(pwd->pw_uid);
-+ unused = setuid(pwd->pw_uid);
++ if (setgid(pwd->pw_gid))
++ err_fatal_errno(NULL, ":E: setgid(%u) failed\n", (unsigned)pwd->pw_gid);
++ initgroups("nobody",pwd->pw_gid);
++ if (setuid(pwd->pw_uid))
++ err_fatal_errno(NULL, ":E: setuid(%u) failed\n", (unsigned)pwd->pw_uid);
} else {
- setgid(GID_NOGROUP);
-+ unused = setgid(GID_NOGROUP);
- initgroups("nobody", GID_NOGROUP);
+- initgroups("nobody", GID_NOGROUP);
- setuid(UID_NOBODY);
-+ unused = setuid(UID_NOBODY);
++ if (setgid(GID_NOGROUP))
++ err_fatal_errno(NULL, ":E: setgid(%u) failed\n", (unsigned)pwd->pw_gid);
++ initgroups("nobody", GID_NOGROUP);
++ if (setuid(UID_NOBODY))
++ err_fatal_errno(NULL, ":E: setuid(%u) failed\n", (unsigned)pwd->pw_uid);
}
- }
+- }
++ }
}
-@@ -1464,6 +1467,7 @@ static void pid_file_write ()
- static void reopen_012 (void)
- {
- int fd = open ("/dev/null", O_RDWR);
-+ int unused __attribute__((unused));
- if (fd == -1)
- err_fatal_errno (__func__, ":E: can't open /dev/null");
-@@ -1471,9 +1475,9 @@ static void reopen_012 (void)
+ /* Perform sanity checks that are often problems for people trying to
+@@ -1471,9 +1479,12 @@
close (1);
close (2);
- dup (fd);
- dup (fd);
- dup (fd);
-+ unused = dup (fd);
-+ unused = dup (fd);
-+ unused = dup (fd);
++ if (dup(fd) == -1)
++ err_fatal_errno(NULL, ":E: dup(2) failed\n");
++ if (dup(fd) == -1)
++ err_fatal_errno(NULL, ":E: dup(2) failed\n");
++ if (dup(fd) == -1)
++ err_fatal_errno(NULL, ":E: dup(2) failed\n");
}
int main (int argc, char **argv, char **envp)
-@@ -1489,6 +1493,7 @@ int main (int argc, char **argv, char **
- int i;
-
- int errno_accept = 0;
-+ int unused __attribute__((unused));
-
- const char * default_strategy_arg = "???";
-
-@@ -1707,7 +1712,7 @@ int main (int argc, char **argv, char **
+@@ -1707,7 +1718,8 @@
if (detach){
/* become a daemon */
- daemon (0, 1);
-+ unused = daemon (0, 1);
++ if (daemon(0, 1))
++ err_fatal_errno(NULL, ":E: daemon(3) failed\n");
reopen_012 ();
/* after fork from daemon(3) */
diff --git a/dictd-1.13.3+git.1731775346.2b21553.obscpio b/dictd-1.13.3+git.1731775346.2b21553.obscpio
new file mode 100644
index 0000000..aef4497
--- /dev/null
+++ b/dictd-1.13.3+git.1731775346.2b21553.obscpio
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:571126acbd15a1a70e6d15af53f2295a3df98226f4297fdad2e6206cbfe3b5ef
+size 1961484
diff --git a/dictd-1.13.3.tar.gz b/dictd-1.13.3.tar.gz
deleted file mode 100644
index 7deec31..0000000
--- a/dictd-1.13.3.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:192129dfb38fa723f48a9586c79c5198fc4904fec1757176917314dd073f1171
-size 390047
diff --git a/dictd.changes b/dictd.changes
index 8d3150c..f42de3b 100644
--- a/dictd.changes
+++ b/dictd.changes
@@ -1,3 +1,17 @@
+-------------------------------------------------------------------
+Sat Mar 01 13:18:02 UTC 2025 - mcepl@cepl.eu
+
+- Update to version 1.13.3+git.1731775346.2b21553:
+ * Update version to 1.13.3
+ * dictd: fix buffer overflow in first/last search strategies Thanks a lot to Matěj Cepl for the report!
+ * Remove config.{sub,guess}
+ * Update version to 1.13.2
+ * Rename configure.in to configure.ac
+ * dictP.h: remove #include
+ * configure.in: fix obsolete code
+ * Fix compilation issues with gcc-14
+ * Update configure script and the like (autoconf-2.72)
+
-------------------------------------------------------------------
Wed Jan 29 17:14:30 UTC 2025 - Matej Cepl
diff --git a/dictd.obsinfo b/dictd.obsinfo
index 8eac90e..2558998 100644
--- a/dictd.obsinfo
+++ b/dictd.obsinfo
@@ -1,4 +1,4 @@
name: dictd
-version: 1.13.1+git.1730572217.cccab00
-mtime: 1730572217
-commit: cccab00fe9eea071f35474c0f7d1c95daa5eeb22
+version: 1.13.3+git.1731775346.2b21553
+mtime: 1731775346
+commit: 2b21553c6e0c5257f83dd846237ea70a01be3f8a
diff --git a/dictd.spec b/dictd.spec
index 332fe35..a84b306 100644
--- a/dictd.spec
+++ b/dictd.spec
@@ -17,19 +17,20 @@
Name: dictd
-Version: 1.13.3
+Version: 1.13.3+git.1731775346.2b21553
Release: 0
Summary: DICT protocol (RFC 2229) server and command-line client
License: BSD-3-Clause AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND MIT AND SUSE-Public-Domain
Group: Productivity/Office/Dictionary
URL: https://github.com/cheusov/dictd
-# Source0: https://github.com/cheusov/dictd/archive/%%{version}.tar.gz#/dictd-%%{version}.tar.gz
-Source0: https://sourceforge.net/projects/dict/files/dictd/dictd-%{version}/dictd-%{version}.tar.gz
+# Source0: https://sourceforge.net/projects/dict/files/dictd/dictd-%{version}/dictd-%{version}.tar.gz
+Source0: dictd-%{version}.tar.gz
Source1: colorit.conf
Source2: dictd.service
Source99: dictd-rpmlintrc
Patch0: dictd-1.12.1-unused-return.patch
# BuildRequires: mk-configure
+BuildRequires: autoconf
BuildRequires: bison
BuildRequires: flex
BuildRequires: gawk
@@ -72,6 +73,12 @@ This package contains development files for the dictd package.
%prep
%autosetup -p1
+rm -f config.cache
+autoheader -f
+autoconf -f
+ls -l config*
+install %{_datadir}/autoconf/build-aux/config.guess %{_datadir}/autoconf/build-aux/config.sub .
+
%build
export LDFLAGS="%{?__global_ldflags}" CPPFLAGS="%{optflags} -fPIC"
# export USE_PLUGIN=1
@@ -84,7 +91,14 @@ export LDFLAGS="%{?__global_ldflags}" CPPFLAGS="%{optflags} -fPIC"
# mkc_compiler_settings
# mkcmake all
export LEXLIB="-fl"
-%configure --enable-dictorg --with-plugin-dbi
+./configure --host=%{_host} --build=%{_build} --program-prefix=%{?_program_prefix} \
+ --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
+ --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
+ --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} --libexecdir=%{_libexecdir} \
+ --localstatedir=%{_localstatedir} --sharedstatedir=%{_sharedstatedir} \
+ --mandir=%{_mandir} --infodir=%{_infodir} \
+ --with-plugin-dbi
+# %%configure --with-plugin-dbi
# --disable-plugin
%make_build