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