pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/net/inadyn Update inadyn to 2.5
details: https://anonhg.NetBSD.org/pkgsrc/rev/361aed808aa4
branches: trunk
changeset: 345523:361aed808aa4
user: dmcmahill <dmcmahill%pkgsrc.org@localhost>
date: Fri Dec 13 21:52:04 2019 +0000
description:
Update inadyn to 2.5
Motivated by wanting to build under more recent systems with
newer OpenSSL.
Many changes since 1.99.15
[v2.5][] - 2018-09-30
---------------------
### Changes
- macOS changes by Jo Rhett:
- Add linking with `-lresolv`
- Use Homebrew's CA trust store
- Update REDAME with install help
- Add support for selfhost.de DDNS
### Fixes
- Fix #211: Only show DDNS server response on successful transaction
- Fix #211: Improved error handling in OpenSSL back-end
- Fix #214: Add `nochg` to list of good responses for custom providers
- Fixes by Erich Sauvageau:
- Fix #216: Add DNS lookup exception for `all.dnsomatic.com`
- Fix #219: Add DNS lookup exception for `default%tunnelbrooker.net@localhost`
[v2.4][] - 2018-08-18
---------------------
### Changes
- Add support for Dynu DDNS provider
### Fixes
- Add missing defines for `LLONG_MAX` and `LLONG_MIN` on some platforms
- Fix #209: Update FreeDNS plugin to use v2 of their API to fetch update key
- Fix #210: Use `~/.cache/inadyn` or `~/.inadyn` when running unprivileged
[v2.3.1][] - 2018-02-12
-----------------------
This minor bug fix release holds Debian packaging fixes by Andr? Colomb.
### Changes
- Make .deb files an official part of releases
### Fixes
- Fix installation of `inadyn` in `/usr/sbin` and symlink in `/usr/bin`
- Rename debian/inadyn.links to be standards-compliant
- Update deprecated build dependency for dh-systemd
- Fix lintian warning about unsafe symlinks for build scripts
- Version numbers containing a dash are inappropriate for 'native'
packages, bump revision instead
[v2.3][] - 2018-01-05
---------------------
### Changes
- Distribute `CONTRIBUTING.md` in release tarballs, by Andr? Colomb
- Clean up debug messages for HTTPS connections, by Andr? Colomb
- New build-depends, `libgnutls28-dev` for Debian/Ubuntu users and
GnuTLS >= 3.0 for others, by Andr? Colomb
- Issue #192: Add `examples/*.conf` to source distribution, by Andr? Colomb
### Fixes
- TCP, not UDP, for `getaddrinfo()` hints + numeric lookups, by Andr? Colomb
- Disable SSL for checkip connections to SPDYN service, by Andr? Colomb
- Issue #186: Allow IPv6 for HTTP(S) connections, by Andr? Colomb
- Issue #189: Ignore premature session termination in GnuTLS, by Andr? Colomb
- Issue #193: Fix broken internal links in README.md, by Andr? Colomb
[v2.2.1][] - 2017-10-06
-----------------------
### Fixes
- Issue #174: `gnutls.c` missing `stdint.h`, fix for ArchLinux
- Issue #179: Update easyDNS plugin to new API, by Nicholas Alipaz
[v2.2][] - 2017-08-09
---------------------
### Changes
- Use HTTP by default for DYN.com checkip server, used by many DDNS
providers that do not have their own. This change is far more user
friendly since you no longer have to explicitly set `checkip-ssl =
false` for the most common use-case.
- Some DDNS providers have multiple IP addresses registered for the same
service, as of this release Inadyn immediately tries to connect to the
next listed addresses on connection problems.
- Issue #153: Support for custom HTTP User Agent. Useful with providers
that require using a specific brower. Set to, e.g. "Mozilla/4.0", or
rely on the default "inadyn/VERSION" user agent.
- Support for the `%%` format specifier in custom server URL's, as
mentioned in issue #152.
- Add support for a `.conf` syntax checker: `inadyn --check-config`
- Add support for logging to `stderr` when running in foreground or
without syslog enabled
- Simplified provider name lookup in `.conf` file. Now substring match
is used, resulting in support for `provider Dyn { ... }`.
- Remove libite dependency by importing all its used files into inadyn.
This should ease adoption by distributions and end users. All code
is under free licenses: BSD, ISC.
- Import Timur's Debian packaging, adding debconf support
### Fixes
- Issue #152: Do not attempt to create PID file in oneshot mode (`-1`)
- Issue #152: Must URL encode custom server URL's
- Issue #170: Use configured `--prefix` not hard coded `/etc/inadyn.conf`
- Issue #172: Use separate variable for `--iface` command line option and
`.conf` file option
[v2.1][] - 2016-12-04
---------------------
### Changes
- Use HTTPS instead of HTTP by default
- Support for disabling HTTPS for `checkip-server`, per provider.
Idea from Valery Frolov
- Add `-I,--ident=NAME` option for syslog+pidfile name
- Deprecate `--pidfile=NAME` option in favor of `--ident=NAME`
### Fixes
- Issue #150: Custom update URL parser fixes
- Issue #151: Support for detecting OpenSSL v1.1
- Issue #144: Clarify use of public vs private IP. It is possible
to register private IP addresses in a public DNS
- Clarify `--foreground` option in man page
- Document minimum required versions of libite and libConfuse
- Portability fixes, replace `__progname` with a small function,
replace `%m` with `%s` and `strerror(errno)`.
[v2.0][] - 2016-09-12
---------------------
New configuration file format, changed command line options, improved
HTTPS support using GnuTLS and Open/LibreSSL. Inadyn now comes with
certificate validation enabled by default.
### Changes
- New configuration file format using [libConfuse][]
- Radically simplified command line, a .conf file is now required
- Reorganized SSL code, split `ssl.c` into `openssl.c` and `gnutls.c`
- Strict HTTPS certificate validation is now default. To disable this
use `strict-ssl = false` in the .conf file.
- Certificate validation uses trusted CA certificates from the system
with fall-backs to certain known locations. To override this default
handling a `ca-trust-file = FILE` setting in `inadyn.conf` can be used
to provide the path to another CA cert bundle, in PEM format.
- Massive overhaul of `inadyn(8)` and `inadyn.conf(5)` man pages
- Support for reading address from interface, including IPv6 addresses
- Support for calling an external script to get the IP address
- Support for multiple users @ same provider, idea from Valery Frolov:
provider default%no-ip.com@localhost:1 {
username = ian
password = secret
alias = flemming.no-ip.com
}
provider default%no-ip.com@localhost:2 {
username = james
password = bond
alias = spectre.no-ip.com
}
- Support for ddnss.de and dynv6.com, contributed by Sven Hoefer
- Support for spdyn.de, on request from Frank R?hm
- Support for strato.com, contributed by Duncan Overbruck
- Support for disabling IP address validation: `verify-address = false`
- Refactored memory handling and privilige separation to simplify code
- Refactored logging and backgrounding to simplify code
- Removed old compatibility symlinks and other required GNU specific
files, we now distribute and install README.md and ChangeLog.md
### Fixes
- Fix issue #61: Add HTTPS certificate validation for OpenSSL/LibreSSL
- Fix issue #67: Use GnuTLS native API for HTTPS
- Fix DuckDNS: now requires 'www.' prefix in server URL. By Frank Aurich
- Fix issue #110: Poodle `SSL_MODE_SEND_FALLBACK_SCSV` not needed
- Fix issue #101: Remove support for custom pidfile
- Fix issue #102: Relocate cache files `/var/run/inadyn` to `/var/cache/inadyn`
- Fix issue #113: `--drop-privs` does not work
- Add actual permissions check to `os_check_perms()`
- Fix issue #121: Support for fully customizable update URL
- Fix issue #122: Only use HTTPS connection for DNS update, not checkip
- Fix issue #131: Use FreeDNS' own checkip server instead of DYN.com's
- Fix issue #134: Support wildcard cert with GnuTLS backend
diffstat:
net/inadyn/Makefile | 24 ++++++-------------
net/inadyn/PLIST | 14 +++++++----
net/inadyn/distinfo | 19 +++++----------
net/inadyn/patches/patch-Makefile.am | 14 -----------
net/inadyn/patches/patch-include_ddns.h | 30 -------------------------
net/inadyn/patches/patch-plugins_freedns.c | 36 +++++++++++++++---------------
net/inadyn/patches/patch-src_Makefile.am | 16 -------------
net/inadyn/patches/patch-src_configure.ac | 35 -----------------------------
net/inadyn/patches/patch-src_os.c | 19 ---------------
net/inadyn/patches/patch-src_tcp.c | 12 ++++-----
10 files changed, 47 insertions(+), 172 deletions(-)
diffs (truncated from 327 to 300 lines):
diff -r 8a3d0efdcfc1 -r 361aed808aa4 net/inadyn/Makefile
--- a/net/inadyn/Makefile Fri Dec 13 15:33:14 2019 +0000
+++ b/net/inadyn/Makefile Fri Dec 13 21:52:04 2019 +0000
@@ -1,23 +1,22 @@
-# $NetBSD: Makefile,v 1.15 2019/11/03 11:45:37 rillig Exp $
+# $NetBSD: Makefile,v 1.16 2019/12/13 21:52:04 dmcmahill Exp $
-DISTNAME= inadyn-1.99.15
+DISTNAME= inadyn-2.5
CATEGORIES= net
MASTER_SITES= ${MASTER_SITE_GITHUB:=troglobit/}
-EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
HOMEPAGE= http://troglobit.com/inadyn.html
COMMENT= Dynamic DNS client
LICENSE= gnu-gpl-v2
-GITHUB_RELEASE= 1.99.15
+GITHUB_RELEASE= v2.5
GITHUB_TYPE= release
-USE_TOOLS+= autoconf automake gmake
+USE_TOOLS+= gmake pkg-config
RCD_SCRIPTS= inadyn
GNU_CONFIGURE= yes
-CONFIGURE_ARGS+= --enable-openssl --disable-gitcheck
+CONFIGURE_ARGS+= --enable-openssl
LIBS.SunOS= -lsocket -lnsl
@@ -30,16 +29,10 @@
SUBST_CLASSES+= etc
SUBST_SED.etc= -e "s|/etc|${PKG_SYSCONFDIR}|g"
-SUBST_FILES.etc= man/inadyn.conf.5 man/inadyn.8 include/ddns.h
+SUBST_FILES.etc= man/inadyn.conf.5 man/inadyn.8
SUBST_MESSAGE.etc= Fixing path to configuration file
SUBST_STAGE.etc= pre-configure
-SUBST_CLASSES+= var
-SUBST_SED.var= -e "s|/var|${VARBASE}|"
-SUBST_FILES.var= man/inadyn.conf.5 man/inadyn.8 include/ddns.h
-SUBST_MESSAGE.var= Adjusting path to VARBASE
-SUBST_STAGE.var= pre-configure
-
.include "../../mk/bsd.prefs.mk"
PKG_OPTIONS_VAR= PKG_OPTIONS.inadyn
@@ -54,10 +47,9 @@
LDFLAGS+= -static
.endif
-pre-configure:
- cd ${WRKSRC} && autoreconf -i
-
.include "../../security/openssl/buildlink3.mk"
+.include "../../devel/confuse/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/libite/buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff -r 8a3d0efdcfc1 -r 361aed808aa4 net/inadyn/PLIST
--- a/net/inadyn/PLIST Fri Dec 13 15:33:14 2019 +0000
+++ b/net/inadyn/PLIST Fri Dec 13 21:52:04 2019 +0000
@@ -1,9 +1,13 @@
-@comment $NetBSD: PLIST,v 1.5 2016/05/29 22:32:11 abs Exp $
+@comment $NetBSD: PLIST,v 1.6 2019/12/13 21:52:04 dmcmahill Exp $
man/man5/inadyn.conf.5
man/man8/inadyn.8
sbin/inadyn
-share/doc/inadyn/AUTHORS
share/doc/inadyn/COPYING
-share/doc/inadyn/ChangeLog
-share/doc/inadyn/NEWS
-share/doc/inadyn/README
+share/doc/inadyn/ChangeLog.md
+share/doc/inadyn/README.md
+share/doc/inadyn/examples/README.md
+share/doc/inadyn/examples/custom.conf
+share/doc/inadyn/examples/dyndns.conf
+share/doc/inadyn/examples/freedns.conf
+share/doc/inadyn/examples/freemyip.conf
+share/doc/inadyn/examples/inadyn.conf
diff -r 8a3d0efdcfc1 -r 361aed808aa4 net/inadyn/distinfo
--- a/net/inadyn/distinfo Fri Dec 13 15:33:14 2019 +0000
+++ b/net/inadyn/distinfo Fri Dec 13 21:52:04 2019 +0000
@@ -1,13 +1,8 @@
-$NetBSD: distinfo,v 1.9 2016/05/29 22:32:11 abs Exp $
+$NetBSD: distinfo,v 1.10 2019/12/13 21:52:04 dmcmahill Exp $
-SHA1 (inadyn-1.99.15.tar.xz) = 7c9e4fea2a881a4c7435bd0b98a8bc15d2a55256
-RMD160 (inadyn-1.99.15.tar.xz) = 90cf6e6c1f1118a2102f3651627c61b167e12d75
-SHA512 (inadyn-1.99.15.tar.xz) = b22844e27b6c28e4d4b59f7884ff0f9063715904a66d30998b8d9eba78f268cb1469c9581d0d110ecea587117f2d54a483f2fbc2a02391c8797c30ae426d3f41
-Size (inadyn-1.99.15.tar.xz) = 149152 bytes
-SHA1 (patch-Makefile.am) = d8c104c98f0f2e489bf44aad80117d66c8b6f822
-SHA1 (patch-include_ddns.h) = 9b12cd4bdb1ba715727e2dc5b5fdf6d6c553c5c6
-SHA1 (patch-plugins_freedns.c) = 401ef1026896efdeb617e20849c1dd69b0a1e461
-SHA1 (patch-src_Makefile.am) = 199559c036ba575c4a07da799d8a9383daa01197
-SHA1 (patch-src_configure.ac) = e21054454c7c68cb1ccc03939f24be8eb69e574c
-SHA1 (patch-src_os.c) = 695e0d2e403501f54bf2f68666913ba82dc83d35
-SHA1 (patch-src_tcp.c) = 1cf9de1d2a9bd2b440dd8cfc7ede701e8ec34766
+SHA1 (inadyn-2.5.tar.gz) = 9345dd2d118d86c116f5e238fdef1959bfe05a43
+RMD160 (inadyn-2.5.tar.gz) = cb590b7cfa6f625846adfd157b365060661e9175
+SHA512 (inadyn-2.5.tar.gz) = 885d05fdf70067a0e34899026300185a47f94e49ffe0cbbb7d07b17c80bd4cb2d2a9b35af4466b0dcc7949c59224d424f95e5afb9d31310db4ddacb90ca2475a
+Size (inadyn-2.5.tar.gz) = 456400 bytes
+SHA1 (patch-plugins_freedns.c) = d7a2f7382af41108a94fb352ce50214602b29c62
+SHA1 (patch-src_tcp.c) = 376d300041edf738c1de9c076ce00b6e4c109817
diff -r 8a3d0efdcfc1 -r 361aed808aa4 net/inadyn/patches/patch-Makefile.am
--- a/net/inadyn/patches/patch-Makefile.am Fri Dec 13 15:33:14 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-$NetBSD: patch-Makefile.am,v 1.1 2016/05/29 22:32:12 abs Exp $
-
-Depend on external libite
-
---- Makefile.am.orig 2015-09-09 19:27:51.000000000 +0000
-+++ Makefile.am
-@@ -1,6 +1,6 @@
- ## Inadyn - A small and simple DDNS client -*-Makefile-*-
-
--SUBDIRS = libite src include man
-+SUBDIRS = src include man
- doc_DATA = README AUTHORS COPYING NEWS ChangeLog
- EXTRA_DIST = autogen.sh
- DISTCLEANFILES = *~ DEADJOE semantic.cache *.gdb *.elf core core.* *.d
diff -r 8a3d0efdcfc1 -r 361aed808aa4 net/inadyn/patches/patch-include_ddns.h
--- a/net/inadyn/patches/patch-include_ddns.h Fri Dec 13 15:33:14 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-$NetBSD: patch-include_ddns.h,v 1.2 2016/05/29 22:32:12 abs Exp $
-
-/var/run is for non-persistent data, and despite the misleading name,
-RUNTIME_DATA_DIR contains "persistent cache files", so let's use
-/var/db (subject to VARBASE replacement under pkgsrc) instead.
-
-With RUNTIME_DATA_DIR set to a more reasonable value, stop using it
-for the default pidfile location.
-
---- include/ddns.h.orig 2015-07-22 10:01:42.000000000 +0000
-+++ include/ddns.h
-@@ -34,14 +34,14 @@
- #include "plugin.h"
- #include "libite/lite.h"
-
--#define VERSION_STRING "Inadyn version " VERSION " -- Dynamic DNS update client."
-+#define VERSION_STRING "Inadyn version " VERSION " -- Dynamic DNS update client."
- #define AGENT_NAME "inadyn/" VERSION
- #define SUPPORT_ADDR PACKAGE_BUGREPORT
-
- /* Test values */
--#define DEFAULT_CONFIG_FILE "/etc/inadyn.conf"
--#define RUNTIME_DATA_DIR _PATH_VARRUN "inadyn/"
--#define DEFAULT_PIDFILE RUNTIME_DATA_DIR "inadyn.pid"
-+#define DEFAULT_CONFIG_FILE SYSCONFDIR "/inadyn.conf"
-+#define RUNTIME_DATA_DIR _PATH_VARDB "inadyn/"
-+#define DEFAULT_PIDFILE _PATH_VARRUN "inadyn.pid"
-
- #define DYNDNS_MY_IP_SERVER "checkip.dyndns.org"
- #define DYNDNS_MY_CHECKIP_URL "/"
diff -r 8a3d0efdcfc1 -r 361aed808aa4 net/inadyn/patches/patch-plugins_freedns.c
--- a/net/inadyn/patches/patch-plugins_freedns.c Fri Dec 13 15:33:14 2019 +0000
+++ b/net/inadyn/patches/patch-plugins_freedns.c Fri Dec 13 21:52:04 2019 +0000
@@ -1,39 +1,39 @@
-$NetBSD: patch-plugins_freedns.c,v 1.2 2016/05/29 22:32:12 abs Exp $
+$NetBSD: patch-plugins_freedns.c,v 1.3 2019/12/13 21:52:04 dmcmahill Exp $
If the update call fails, log the response from the remote service
---- plugins/freedns.c.orig 2015-09-09 19:27:51.000000000 +0000
+--- plugins/freedns.c.orig 2018-08-29 17:40:11.000000000 -0500
+++ plugins/freedns.c
-@@ -55,7 +55,7 @@ static int request(ddns_t *ctx, ddns_inf
- int i, rc = 0;
+@@ -59,5 +59,5 @@
http_t client;
http_trans_t trans;
- char *buf, *tmp, *line, *hash = NULL;
+ char *buf, *tmp, *line, *hash = NULL, *errmsg = NULL;
char host[256], updateurl[256];
char buffer[256];
- char digeststr[SHA1_DIGEST_BYTES * 2 + 1];
-@@ -109,15 +109,20 @@ static int request(ddns_t *ctx, ddns_inf
- }
+@@ -110,7 +110,8 @@
free(buf);
- if (!hash)
+ if (!hash) {
-+ errmsg = trans.p_rsp_body;
- rc = RC_DYNDNS_RSP_NOTOK;
++ errmsg = trans.rsp_body;
+ rc = RC_DDNS_RSP_NOTOK;
- else
+ } else
hash++;
}
- while (0);
+@@ -118,7 +119,11 @@
if (rc) {
-- logit(LOG_INFO, "Update URL query failed");
-+ if (errmsg != NULL) {
-+ logit(LOG_INFO, "Update URL query failed (%s)", errmsg);
-+ } else {
-+ logit(LOG_INFO, "Update URL query failed");
-+ }
- return 0;
- }
+- if (rc == RC_DDNS_RSP_NOTOK)
+- logit(LOG_INFO, "Cannot find your DNS name in the list of API keys");
+- else
++ if (rc == RC_DDNS_RSP_NOTOK) {
++ if (errmsg != NULL) {
++ logit(LOG_INFO, "Cannot find your DNS name in the list of API keys (%s)", errmsg);
++ } else {
++ logit(LOG_INFO, "Cannot find your DNS name in the list of API keys");
++ }
++ } else
+ logit(LOG_INFO, "Cannot find you FreeDNS account API keys");
diff -r 8a3d0efdcfc1 -r 361aed808aa4 net/inadyn/patches/patch-src_Makefile.am
--- a/net/inadyn/patches/patch-src_Makefile.am Fri Dec 13 15:33:14 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-$NetBSD: patch-src_Makefile.am,v 1.1 2016/05/29 22:32:12 abs Exp $
-
-Not all systems always want -ldl
-Set SYSCONFDIR from config
-
---- src/Makefile.am.orig 2015-07-04 15:23:32.000000000 +0000
-+++ src/Makefile.am
-@@ -20,6 +20,6 @@ inadyn_SOURCES += ../plugins/common.c .
- ../plugins/dhis.c ../plugins/duckdns.c \
- ../plugins/dtdns.c ../plugins/giradns.c \
- ../plugins/duiadns.c
--inadyn_CPPFLAGS = -I../
-+inadyn_CPPFLAGS = -I../ -DSYSCONFDIR=\"/etc\"
- inadyn_LDFLAGS = -L../libite
--inadyn_LDADD = -ldl -lite
-+inadyn_LDADD = -lite
diff -r 8a3d0efdcfc1 -r 361aed808aa4 net/inadyn/patches/patch-src_configure.ac
--- a/net/inadyn/patches/patch-src_configure.ac Fri Dec 13 15:33:14 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-$NetBSD: patch-src_configure.ac,v 1.2 2016/05/29 22:32:12 abs Exp $
-
-Check for dlopen using autoconf rather than hardcoding it in src/Makefile.in.
-Plus add an option to disable gitcheck
-
---- configure.ac.orig 2015-09-09 19:27:51.000000000 +0000
-+++ configure.ac
-@@ -22,6 +22,12 @@ AC_ARG_ENABLE(openssl,
- [ac_enable_openssl="no"]
- )
-
-+AC_ARG_ENABLE(gitcheck,
-+ [AS_HELP_STRING([--disable-gitcheck], [Disable Git check, default: enabled])],
-+ [ac_enable_gitcheck="$enableval"],
-+ [ac_enable_gitcheck="yes"]
-+)
-+
- # Define necessary build flags
- AC_GNU_SOURCE
- AC_USE_SYSTEM_EXTENSIONS
-@@ -73,10 +79,13 @@ AC_FUNC_FORK
- AC_PROG_GCC_TRADITIONAL
- AC_FUNC_SELECT_ARGTYPES
- AC_CHECK_FUNCS([atexit memset poll socket strerror])
-+AC_SEARCH_LIBS([dlopen], [dl dld], [], [
-+ AC_MSG_ERROR([unable to find the dlopen() function])
-+])
-
- # Check if user has downloaded a GitHub ZIP file and attempt to fix it.
- AC_MSG_CHECKING([status of GIT submodules])
--if test ! -e libite/lite.h; then
-+if test "$ac_enable_gitcheck" = "yes" -a ! -e libite/lite.h; then
- AC_MSG_RESULT([Missing!])
- AC_MSG_CHECKING([if we can update all submodules])
- run=`git submodule update --init`
diff -r 8a3d0efdcfc1 -r 361aed808aa4 net/inadyn/patches/patch-src_os.c
--- a/net/inadyn/patches/patch-src_os.c Fri Dec 13 15:33:14 2019 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-$NetBSD: patch-src_os.c,v 1.2 2016/05/29 22:32:12 abs Exp $
-
-Avoid possible usleep overflow
-
---- src/os.c.orig 2015-09-09 19:27:51.000000000 +0000
-+++ src/os.c
-@@ -180,7 +180,11 @@ static void *param = NULL;
-
- void os_sleep_ms(int ms)
- {
-- usleep(ms * 1000);
-+ /* usleep is not guaranteed to work for arguments >= 1,000,000 */
-+ if (ms >= 1000)
-+ sleep(ms / 1000);
-+ else
Home |
Main Index |
Thread Index |
Old Index