Commit Graph

53 Commits

Author SHA1 Message Date
Thomas Bernard 422d42357e
use strncmp() instead of memcmp() when needed
memcmp(s1, s2, l) is valid when both s1 and s2
have at least l bytes acccessible. So
memcmp("a", "abcdefgh", 8)
is not valid

see #362
2019-04-23 14:16:25 +02:00
Thomas Bernard 5ae326a95e
minissdpc.c: fix variable redeclaration of p 2019-04-10 14:15:33 +02:00
Thomas Bernard 61a18d6b02 getnameinfo() 2nd arg is socklen_t
fixes #350

also fix ressource leak
2019-02-12 14:26:01 +01:00
Thomas Bernard 3e32ea04c8 fix ssdpDiscoverDevices() when building for DEBUG under WIN32 2019-02-11 16:08:55 +01:00
Thomas Bernard e7d99e6b65
fix comment about parseMSEARCHReply() 2019-01-07 09:35:21 +01:00
Cameron Gutman aaa0ed8c86 ensure SSDP reply headers are not partial matches 2019-01-05 12:24:46 -08:00
Thomas Bernard 4b87224e6f fix WIN32 warnings introduced in a31c86b8db 2018-10-31 16:26:01 +01:00
Fabio Alessandrelli a31c86b8db Replace GetBestRoute with UWP-compatible API
Everything should still work with Windows XP as minimum version.
Those API are, according to Microsoft docs, compatible with XP.
2018-09-21 14:56:59 +02:00
irwir a7626af053 Fix conditions for Windows versions below Vista 2018-08-05 15:20:44 +03:00
Thomas Bernard c55d27f46e InetPton() is not available with Win XP so use inet_addr()
see 8babc5d013

Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-15 12:52:19 +02:00
irwir d8c6433c2e Move common definition to miniupnpc_socketdef.h 2018-07-14 13:39:01 +02:00
Thomas Bernard 8babc5d013 Win32 : use InetPton() etc. to silence MSVC warnings 2018-07-14 12:53:42 +02:00
irwir bded13f390 When code was updated for 64-bit Windows configurations, some changes were not applied.
Details :
  cast for connect() sendto() arguments
  remove unecessary p = NULL;
  remove unecessary code
  printf format fixes in ssdpDiscoverDevices()

fixes #311

Signed-off-by: Thomas Bernard <miniupnp@free.fr>
2018-07-06 11:35:12 +02:00
Thomas Bernard 284db0bb49 miniupnpc: use SOCKET type instead of int for copilation under Win64
see #289
2018-04-06 12:21:36 +02:00
Nikolay Raspopov 1ffb2ea580 Fixed incompatible types (from 'int *' to 'const char *') warning #2
https://msdn.microsoft.com/en-us/library/windows/desktop/ms738574(v=vs.85).aspx
2017-09-18 20:27:10 +03:00
Matthieu Nottale af5c091002 Send error logs to stderr. 2017-04-21 11:25:49 +02:00
Thomas Bernard e6ed3c5b8a do not stop discovery on sendto() failure 2017-03-13 15:33:38 +01:00
Thomas Bernard 8c9ce4dbb4 make sure no unitialized memory is accessed in the sockaddr_un structure 2017-01-09 10:18:16 +01:00
Thomas Bernard d33e1be3a8 avoid useless setsockopt() under solaris
fixes #218
2016-11-11 10:14:14 -05:00
Thomas Bernard c39dda549d better error msg for setsockopt() calls 2016-11-11 10:13:48 -05:00
Thomas Bernard 71ce1d6dfa fix for Solaris 11 compilation
see #216
2016-11-10 21:55:33 +01:00
Thomas Bernard 1579f4a2af 2015 => 2016 2016-10-07 11:16:03 +02:00
Stefan Hertenberger 00121e9830 add NetBSD support 2016-09-03 09:34:15 +02:00
Thomas Bernard 5a284d6b21 fix previous commit. Win32 doesn't have SIOCGIFETADDR 2016-01-17 19:32:05 +01:00
Thomas Bernard aaecdd4190 allow to use interface name for multicast if with *BSD
use SIOCGIFADDR to get interface IP

TODO : check how it works under Win32 ...
2016-01-17 18:49:41 +01:00
Thomas Bernard 899ccb9575 ssdpDiscoverDevices() set error 2015-10-26 11:35:09 +01:00
Wladimir J. van der Laan 4c90b87ce3 Check snprintf result
Verify that the buffer size was large enough to write the output,
raise an error condition if not.
2015-10-25 21:13:23 +01:00
Thomas Bernard 128c8ba7e8 PORT => SSDP_PORT 2015-10-08 18:08:43 +02:00
Thomas Bernard d4af610c51 Merge branch 'master' into local_port
Conflicts:
	miniupnpc/miniupnpc.c
	miniupnpc/miniupnpc.h
	miniupnpc/miniupnpcmodule.c
	miniupnpc/upnpc.c
2015-10-08 17:42:45 +02:00
Thomas Bernard 6092fdb4f8 miniupnpc: fix Win32 build, both MinGW and MSVC 2015-09-18 18:11:56 +02:00
Thomas Bernard d2d913e304 minissdpc.c: remove "comparaison btw signed and unsigned" Warnings 2015-09-16 14:55:42 +02:00
Thomas Bernard f6d84e6705 fix a few warnings (WIN32) 2015-09-16 00:31:34 +02:00
Thomas Bernard b7b8711dd2 iphlpapi.h is needed for Win32 2015-09-16 00:19:43 +02:00
Thomas Bernard f68edea0fa miniupnpc/minissdpc.c: tries to fix compilation issue with FreeBSD 10.2
see #151
2015-08-29 11:05:32 +02:00
Thomas Bernard b7654b557f comments / param.h 2015-08-28 14:32:14 +02:00
Thomas Bernard e5eabdb3d7 strncasecmp for WIN32 2015-08-28 14:29:20 +02:00
Thomas Bernard 2400d2f8d2 Merge branch 'refact_ssdpc'
Conflicts:
	miniupnpc/miniupnpc.c

was because of aba8c3f3d7
2015-08-27 22:29:53 +02:00
Thomas Bernard cdccc0290d minissdpc.c: avoid unix socket leak in getDevicesFromMiniSSDPD() 2015-08-27 10:03:22 +02:00
Konstantin Tokarev a95c501959 Use MINISSDPC_* error codes instead of UPNPDISCOVER_*. 2015-08-04 14:15:56 +03:00
Konstantin Tokarev 353f101655 Moved SSDP discovery code into minissdpc.c 2015-08-03 20:09:26 +03:00
Konstantin Tokarev 7ccbdb6511 Report more error kinds from minissdpc functions. 2015-07-23 16:23:39 +03:00
Konstantin Tokarev f29b026f38 Use /var/run/minissdpd.sock as default socketpath in connectToMiniSSDPD(). 2015-07-23 16:22:54 +03:00
Konstantin Tokarev cffba15387 Split getDevicesFromMiniSSDPD into 4 steps to allow reuse of local socket.
It allows allows client application to use event loop instead of blocking
in read() while waiting for server reply.
2015-07-23 16:22:23 +03:00
Konstantin Tokarev eb74f5c886 Read USN from SSDP messages. 2015-07-22 12:08:52 +03:00
Thomas Bernard 27e2aa3841 miniupnpc: update getDevicesFromMiniSSDPD() to process longer minissdpd responses 2015-06-16 17:33:59 +02:00
Thomas Bernard eec3f12012 miniupnpc: minor code/comments modifications 2015-06-11 14:28:35 +02:00
Thomas Bernard e501f5625d minissdpc.c: Fix uninitialized dev->scope_id 2015-04-24 22:58:46 +02:00
Thomas Bernard 4e44ef642a Merge branch 'master' into search_all
Conflicts:
	miniupnpc/miniupnpc.c
2014-04-14 17:32:27 +02:00
Thomas BERNARD 1576c07058 use bigger buffers for minissdpd responses 2014-04-12 10:06:53 +02:00
Thomas Bernard 4d62c19c29 send ssdp:all requests to MiniSSDPD correctly 2014-02-03 16:40:42 +01:00