Commit Graph

731 Commits

Author SHA1 Message Date
Fabrice Fontaine
6bd5086a88 Fix missing break in http_RecvMessage
There was a missing break in PARSE_INCOMPLETE_ENTITY due to commit
2eb3e069ba.
(cherry picked from commit 05fb3f8026)
2012-03-14 20:27:49 -03:00
Yoichi NAKAYAMA
cca16cbead Fix parse failure observed with tvdevice sample.
Commit c40d2bc0c9 has a problem
at removing the parentheses in parser_parse_responseline.
Difference of pointers was used with intention, don't cast
them separately.
(cherry picked from commit 7178f300bb)
2012-03-14 20:27:49 -03:00
Yoichi NAKAYAMA
168444761d Fix compile error on Windows.
Include UpnpStdInt.h for ssize_t.
Define sa_family_t in UpnpInet.h.
(cherry picked from commit f7a801c3ae)
2012-03-14 20:27:48 -03:00
Yoichi NAKAYAMA
0aa8228dac Avoid ambiguous change of SsdpEvent in unique_service_name.
Handle overflow before changing SsdpEvent.
Because the behavior of "snprintf" is platform dependent in such case.
(cherry picked from commit f299d6597a)
2012-03-14 11:20:13 -03:00
Yoichi NAKAYAMA
4b8982970e SF Bug Tracker id 3502958 - The commit 5944960e prevents a pupnp client (amule) from receiving replies from an IGD device.
Previous change broke the feature. The error of unique_service_name
in ssdp_request_type should be ignored.
This reverts commit 5944960e17.
(cherry picked from commit 35819a7a44)
2012-03-14 11:20:13 -03:00
Marcelo Roberto Jimenez
ecaf15417a Fix for compiler warning
src/genlib/net/http/httpreadwrite.c: In function
‘http_OpenHttpConnection’:
src/genlib/net/http/httpreadwrite.c:1072:69: warning: unused parameter
‘timeout’
2012-03-13 15:20:28 -03:00
Marcelo Roberto Jimenez
4cd4b1789f Fix for compiler warning
src/genlib/net/sock.c: In function ‘sock_read_write’:
src/genlib/net/sock.c:172:4: warning: conversion to ‘long int’ from
‘size_t’ may change the sign of the result

(forward port of commit f1c4ffefda)
2012-03-13 15:00:57 -03:00
Marcelo Roberto Jimenez
461a478c25 Address family is an int
Reference: "man 2 socket".
(cherry picked from commit a692e591de)
2012-03-13 14:33:20 -03:00
Marcelo Roberto Jimenez
24cf7c2a55 SF Bug Tracker id 3175217 - Crash bug in Parser_addNamespace()
(This is a fix to commit 86bef09787)
(cherry picked from commit ad7272d2b5)
2012-03-13 10:57:44 -03:00
Marcelo Roberto Jimenez
5cc904a852 SF Bug Tracker id 3175217 - Crash bug in Parser_addNamespace()
This is a fix to commit 2fb791c9bb.
(cherry picked from commit 86bef09787)
2012-03-12 11:49:50 -03:00
Fabrice Fontaine
46da1738b9 Remove more implicit casts in upnp part
Remove more "implicit integer or enum conversions" errors as well as
dead code.

(forward port of commit c40d2bc0c9)
2012-03-11 21:38:56 -03:00
Yoichi NAKAYAMA
12b88a9fbf Suppress compiler warning in CreateClientRequestPacketUlaGua.
It is a static function and is called with AF_INET6,
so there is no real problem.
(cherry picked from commit 8e39b2af85)
2012-03-11 20:59:29 -03:00
Fabrice Fontaine
d56a68d771 Remove more implicit casts in upnp part
Remove more "implicit integer or enum conversions" as well as memset
before snprintf.

(forward port of commit 2eb3e069ba)
2012-03-11 20:58:28 -03:00
Yoichi NAKAYAMA
e2de269593 Avoid out of range access in CheckOtherHTTPHeaders.
There was a problem in HDR_ACCEPT_LANGUAGE case.
It may read from TmpBuf larger amount than allocated,
since condition was always true.
Terminate RespInstr->AcceptLanguageHeader correctly.
Skip allocation if there is already sufficient buffer.
(cherry picked from commit db532afb9b)
2012-03-11 12:17:22 -03:00
Yoichi NAKAYAMA
7308f42a7a Suppress compiler warning in CreateClientRequestPacket.
It is a static function and is called with AF_INET or AF_INET6,
so there is no real problem.
(cherry picked from commit 1b38cc963a)
2012-03-11 12:17:22 -03:00
Fabrice Fontaine
f020c4f5fb Remove some of the implicit cast in upnp part
Remove some of the "implicit integer or enum conversions" as well as
some access to NULL reference in upnp part.

(forward port of commit c67187ac94)
2012-03-11 12:16:15 -03:00
Fabrice Fontaine
24f12e3ce0 Remove lock in ThreadPoolInit
If ThreadPoolInit returned EAGAIN, tp->lock was not freed.
(cherry picked from commit d45f3c28cf)
2012-03-11 12:09:47 -03:00
Fabrice Fontaine
404867107d Improve ixml
Remove "implicit integer conversions" and
"dereference NULL return value" errors in ixml part.
(cherry picked from commit 06660b6383)
2012-03-11 12:09:47 -03:00
Yoichi NAKAYAMA
c8fdafc79c Exclude IPv6 stuff in SearchByTarget when UPNP_ENABLE_IPV6 is not defined.
(cherry picked from commit 41412c16ef)
2012-03-11 12:09:47 -03:00
Yoichi NAKAYAMA
8871805c77 Use strncpy with the standard way in readFromSSDPSocket.
(cherry picked from commit 04e5767ea0)
2012-03-11 12:09:47 -03:00
Yoichi NAKAYAMA
c9024bbb40 Respect unique_service_name error in ssdp_request_type.
Respect unique_service_name error in ssdp_request_type
so as not to touch non-terminated buffer under Evt.
(cherry picked from commit 5944960e17)
2012-03-11 12:09:46 -03:00
Yoichi NAKAYAMA
9223094468 Handle overflow in http_SendMessage.
(cherry picked from commit d952ebfb44)
2012-03-11 12:09:46 -03:00
Yoichi NAKAYAMA
da1dec9ee5 Detect overflow in addrToString called from configure_urlbase.
Pass output buffer size to addrToString and detect overflow.
Handle addrToString error in configure_urlbase.
(cherry picked from commit 56b44fee91)
2012-03-11 12:09:46 -03:00
Yoichi NAKAYAMA
6ba4181fe6 Detect overflow in CreateClientRequestPacket(UlaGua).
Pass output buffer size to CreateClientRequestPacket(UlaGua)
from SearchByTarget and detect overflow.
Handle SearchByTarget error in UpnpSearchAsync.
(cherry picked from commit ff635f92c0)
2012-03-11 12:09:46 -03:00
Yoichi NAKAYAMA
1ed33f3c5b Clarify the last argument of GetDescDocumentAndURL has size LINE_SIZE.
(cherry picked from commit 19a23dafba)
2012-03-11 12:09:46 -03:00
Yoichi NAKAYAMA
4e20af9ee9 For inet_ntop, use buffer with size INET6_ADDRSTRLEN or INET_ADDRSTRLEN.
(cherry picked from commit bd7f83feb5)
2012-03-11 12:09:46 -03:00
Yoichi NAKAYAMA
37b0afe1dc Treat large argument as error in UpnpAddVirtualDir.
(cherry picked from commit e4678168fa)
2012-03-11 12:09:46 -03:00
Yoichi NAKAYAMA
17e1f6aa09 Do not clear buffer before snprintf.
It had no effect since snprintf can overwrite whole buffer.
(cherry picked from commit a0dc3482dc)
2012-03-11 12:09:45 -03:00
Yoichi NAKAYAMA
659182ef9b Add assertion and narrow variable scope in resolve_rel_url().
I've confirmed enough buffer is allocated for output.
(cherry picked from commit 87d1d3c3ec)
2012-03-11 12:09:45 -03:00
Yoichi NAKAYAMA
6ea4cc41ef Handle allocation error in strndup to avoid access violation.
Return NULL before calling strncpy.
Platforms with HAVE_STRNDUP are not affected.
(cherry picked from commit 194397b6d6)
2012-03-11 12:09:45 -03:00
Yoichi NAKAYAMA
2b3f5bbcee Fix buffer size for strncpy in UpnpAddVirtualDir()
Since 1st argument precedes the beginning of the buffer,
it is necessary to reduce the value of 3rd argument.
(cherry picked from commit b78eaf4e43)
2012-03-11 12:09:45 -03:00
Yoichi NAKAYAMA
acc8e372c8 Synchronize autoconfig.h with upnpconfig.h.
It fixes WIN32 build where configure is not invoked.
(cherry picked from commit a54d6e7e83)
2012-03-11 12:09:45 -03:00
Yoichi NAKAYAMA
97e1f19323 fix missing assignment in commit e722d8c375
(cherry picked from commit 18bf3b1c9c)
2012-03-11 12:09:45 -03:00
Fabrice Fontaine
77d42c2db1 More compilaton optimisation
Do not compile most of service_table.c and client_table.c if
--disable-gena is used.
Do not compile urlconfig.c if --disable-webserver is used.
Adding new UPNP_HAVE_xxx variables in upnpconfig.h and upnpconfig.h.in.

(forward port of commit bb140000c0)
2012-03-11 12:08:47 -03:00
Fabrice Fontaine
a12d5a6f7d Optimisation of --disable-webserver
Do not compile webserver.c if --disable-webserver is used.
(cherry picked from commit 7aef73d7eb)
2012-03-11 12:05:29 -03:00
Fabrice
2fc9200b85 Improve threadutil
Remove "dereference NULL return" errors and implicit conversions to
double or enum types.
(cherry picked from commit 77c73884b8)
2012-03-11 12:05:29 -03:00
Fabrice Fontaine
783ebbc0ca Optimisation of --disable-webserver
Do not compile miniserver.c if --disable-webserver is used.
(cherry picked from commit 72eecacf56)
2012-03-09 12:15:03 -03:00
Fabrice Fontaine
f27461c871 Adding configure options
Adding --disable-ssdp, --disable-soap, --disable-gena options to
configure script.
(cherry picked from commit 601332f88f)
2012-03-09 12:15:03 -03:00
Marcelo Roberto Jimenez
03ea4e85ab Merge remote branch 'origin/master' 2012-03-09 11:25:23 -03:00
Fabrice Fontaine
10ad771410 Bug fix of last commit
_snprintf was wrongly defined in ssdp_server.c
(cherry picked from commit e95b4cc53a)
2012-03-09 11:21:40 -03:00
Fabrice Fontaine
d19c0757dc SF Bug Tracker id 3499781 - msvc doesn't have snprintf
Submitted: Yoichi NAKAYAMA ( yoichi ) - 2012-03-08 10:18:39 PST

97a17ff5ad commit breaks build on
windows/msvc since there is no snprintf.

Note:
* Some existing sources use _snprintf when WIN32 is defined, but its
behavior is a bit different from C99 snprintf.
* snprintf does terminate the buffer, so the commit (use buffer size
minus 1 as argument) changes the behavior at the boundary.
* Truncation might be better than crash in some cases. But it may
result in not good.

(forward port of commit e722d8c375)
2012-03-09 11:21:40 -03:00
Raymond Wen
0ca7637033 fix bug: the project can't compile on windows with vs 2005
- define UPNP_USE_MSVCPP when necessary
- set release build's output directory to be consistent with debug build
- add missing ClientSubscription.c to libupnp project
- reference correct source files in sample project
2012-03-09 11:21:39 -03:00
Marcelo Roberto Jimenez
0097180ce4 Merge pull request #1 from rxwen/master
fix bug: upnp can't compile on windows vs 2005
2012-03-08 13:01:16 -08:00
Marcelo Roberto Jimenez
4bd3b6b969 SF Bug Tracker id 3499878 - UpnpUnSubscribeAsync(): ‘retVal’ may be used uninitialized
Submitted: Marcelo Roberto Jimenez ( mroberto ) - 2012-03-08 12:38:57 PST

src/api/upnpapi.c: In function ‘UpnpUnSubscribeAsync’:
src/api/upnpapi.c:2060:6: warning: ‘retVal’ may be used uninitialized in this function
(cherry picked from commit 29ee36b1ca)
2012-03-08 17:42:36 -03:00
Marcelo Roberto Jimenez
027ce49600 SF Bug Tracker id 3175217 - Crash bug in Parser_addNamespace()
Submitted: Terry Farnham ( tfarnham ) - 2011-02-07 09:25:25 PST

Details: The strcmp(pNode->prefix,pCur->prefix) crashes on pCur->prefix
being NULL. This occurs on invalidly formatted xml where a node uses an
undefined namespace. I would expect to receive IXML_FAILED in this
situation.
(cherry picked from commit 2fb791c9bb)
2012-03-08 13:52:04 -03:00
Marcelo Roberto Jimenez
5373ed560a White spaces and coding style
(cherry picked from commit d909297aa7)
2012-03-08 13:40:05 -03:00
Fabrice Fontaine
63cccfff08 Removing access to NULL pointers in node.c and element.c
Check that newNode is not NULL ixmlNode_cloneNodeTree and pass newAttr
as the return node in the ixmlElement_setAttributeNodeNS call of
ixmlElement_setAttributeNS.
(cherry picked from commit 9b616a08df)
2012-03-08 13:08:52 -03:00
Fabrice Fontaine
10805cb8cc Memory leaks correction in upnpapi.c
Fix memory leaks in UpnpUnSubscribe, SendActionExAsync and
RenewSubscription.
(cherry picked from commit 3ab8d536a0)
2012-03-08 13:08:52 -03:00
Fabrice Fontaine
bd41182cf3 SF Bug Tracker id 3496993 - Write after free in ixmlNode_insertBefore
Submitted: Fabrice Fontaine ( ffontaine ) - 2012-03-05 04:54:40 PST

If ixmlNode_isParent(nodeptr, newChild) returns TRUE,
ixmlNode_removeChild(nodeptr, newChild, NULL) will free newChild before
the modifications of newChild->nextSibling and newChild->prevSibling.
(cherry picked from commit 4f34a12a83)
2012-03-08 13:08:52 -03:00
Fabrice Fontaine
0edaf3361d Remove most of strcpy, sprintf and strcat
Replace strcpy, sprintf and strcat by strncpy, snprintf and strncat to
avoid buffer overflows.

(forward port of commit 97a17ff5ad)
2012-03-08 13:08:52 -03:00