Skip to content
Snippets Groups Projects
  1. Aug 28, 2020
  2. Jun 17, 2020
  3. Jun 16, 2020
  4. Jun 15, 2020
    • Tim van der Molen's avatar
      Enable --version-sort on systems without strverscmp() · 5e4c6de7
      Tim van der Molen authored
      The --version-sort option requires strverscmp(), but this is a glibc
      extension that does not exist on OpenBSD and other systems. To enable
      --version-sort on those systems, provide an internal implementation of
      strverscmp(). The implementation is from the musl C library and is
      MIT-licensed.
      
      The build process remains the same: the verscmp flag should be set to 1
      only if strverscmp() is available in libc. If verscmp is 0, then the
      internal implementation is used.
      5e4c6de7
  5. May 30, 2020
  6. May 29, 2020
  7. Apr 11, 2020
  8. Apr 08, 2020
  9. Apr 05, 2020
  10. Mar 30, 2020
  11. Mar 26, 2020
    • c99pedant's avatar
      Quit curl cleanly even if libcurl is old. · 18103982
      c99pedant authored
      Building feh 3.3 on CentOS 7 x86_64 warns `curl_quit_function` in `imlib.c` is unused:
      
      ```
      cc -g -O2 -Wall -Wextra -pedantic -std=c11 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -DHAVE_LIBCURL -DHAVE_VERSCMP -DHAVE_LIBXINERAMA -DHAVE_LIBEXIF -DPREFIX=\"/usr/local\" -DPACKAGE=\"feh\" -DVERSION=\"3.3\"   -c -o imlib.o imlib.c
      imlib.c:545:12: warning: ‘curl_quit_function’ defined but not used [-Wunused-function]
       static int curl_quit_function(void *clientp,  curl_off_t dltotal,  curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
                  ^
      ```
      The `curl_quit_function` code was added in response to pull [#435](https://github.com/derf/feh/pull/435)
      
      In issue [#485](https://github.com/derf/feh/issues/485) a fellow CentOS 7 user had an error building feh because CentOS 7 is locked into an old version of libcurl. In the fix, a version guard was wrapped around the `curl_easy_setopt` call, but the rest of the code was unchanged.
      
      Since I don't want to maintain a local build of libcurl, I looked at the curl docs and noticed there is an older callback which serves the same purpose: https://curl.haxx.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html
      
      The difference between `PROGRESS` and `XFERINFO` is the callback's argument types, with `PROGRESS` using `double` and `XFERINFO` using `curl_off_t`: https://curl.haxx.se/libcurl/c/CURLOPT_XFERINFOFUNCTION.html
      
      The callback's return value logic and use of `CURLOPT_NOPROGRESS` is the same.
      
      For context, the latest libcurl RPM I'm getting from yum updates is `libcurl-7.29.0-54.el7_7.2.x86_64`. The "stable" versions of other distros may encounter similar issues. The CentOS 7 "End of Life" date is 2024-06-30 so you should hear the end of this by then, at least from us pesky CentOS users.
      Unverified
      18103982
  12. Jan 24, 2020
  13. Nov 07, 2019
  14. Oct 30, 2019
  15. Oct 11, 2019
  16. Jul 22, 2019
  17. Jul 12, 2019
    • Tobias Stoeckmann's avatar
      Check stat for error before setting permissions. · 2c38c9da
      Tobias Stoeckmann authored
      
      When setting wallpapers without --no-fehbg option, a ~/.fehbg file is
      created. This file is set to be an executable for later re-use.
      
      Calling stat() without checking the return value can lead to issues.
      If the call fails, then s.st_mode is undefined and excessive permissions
      could be set to .fehbg, at worst even setuid/setgid bits for a world
      writable file.
      
      While adjusting this, I changed the code to use fstat() and fchmod() to
      avoid a further -- but very unlikely -- issue: race condition in form of
      TOCTOU. If the file ~/.fehsetbg is replaced by a symlink right before
      the chmod call, then a different file would be set executable + the
      default mode of the (newly created) file. I don't expect this to be a
      real world issue but changed this part "while at it" anyway for more
      robust code and a good example on how to handle files.
      
      Signed-off-by: default avatarTobias Stoeckmann <tobias@stoeckmann.org>
      2c38c9da
  18. Jul 08, 2019
  19. Apr 18, 2019
  20. Apr 12, 2019
  21. Apr 05, 2019
  22. Mar 26, 2019
  23. Mar 15, 2019
  24. Mar 14, 2019
  25. Feb 14, 2019
  26. Feb 11, 2019
Loading