482 Commits

Author SHA1 Message Date
Marcelo Roberto Jimenez
5d651475d5 Don't ask, UTF-8 mess?
(cherry picked from commit 923eee2393792ba58c3e57721ee3131d30b3970d)
2010-10-15 12:54:50 -03:00
Marcelo Roberto Jimenez
6f9661040f Fix for 100% CPU issue in select() in miniserv.c. I have also removed
the sleep() call, it was just a workaround.

SF Bug Tracker [ 3086852 ] 99% CPU loop in miniserver.c on a non ipv6
system.

Submitted by: Jin ( jin_eld ) - 2010-10-13 19:29:13 UTC

I cross compiled libupnp 1.6.7 for ARM9 using the --disable-ipv6
option, my system is an ipv4 only setup.

I do not know why this problem only appears when running the app in the
background (for instance using nohup &), but then it starts using 99%
CPU.

I traced the problem down to the select() call in miniserver.c in the
RunMiniServer() function. Select returns code 1, but errno is set to
"Socket operation on non-socket", I also see this when running my app
under strace.

I set all ...Sock6 variables to INVALID_SOCKET to make sure that they
do not get added to the FD_SET and the problem is gone.
(cherry picked from commit f74746ff3f06316a37d0359f11a84cb887b0a388)
2010-10-15 12:43:17 -03:00
Marcelo Roberto Jimenez
d3a7912741 New function, sock_close().
(cherry picked from commit 8401a59ed5eb3dff72a283df017a69bc6bf05356)
2010-10-15 12:43:17 -03:00
Marcelo Roberto Jimenez
b6ec42b439 Misplaced declaration of UpnpCloseSocket.
(cherry picked from commit 5b40cfa2720efa15513a43a507a343d4ffbe3953)
2010-10-15 12:43:16 -03:00
Marcelo Roberto Jimenez
6b496561b6 Remove of unused file.
(cherry picked from commit fcda28ba75057f835e5fa92c4e13dbd9edd6d07d)
2010-10-15 12:43:16 -03:00
Marcelo Roberto Jimenez
549ac300f7 Tempplat object for ClientSubscription. 2010-10-04 17:48:51 -03:00
Marcelo Roberto Jimenez
9e77129b87 Fix function prototype. 2010-10-04 16:52:48 -03:00
Marcelo Roberto Jimenez
6d8aa815ea Merge of similar files. 2010-10-04 15:35:59 -03:00
Marcelo Roberto Jimenez
4f5d0e1d70 Merge of similar code. 2010-10-04 13:19:00 -03:00
Marcelo Roberto Jimenez
60b26c913d Fixed spec version. 2010-10-04 11:48:25 -03:00
Marcelo Roberto Jimenez
bc3d84f6ba Updated Changelog and config.ac to make it easy to cherry-pick. 2010-10-04 11:48:25 -03:00
Marcelo Roberto Jimenez
389a658786 UTF-8. 2010-10-04 11:39:50 -03:00
Marcelo Roberto Jimenez
241c33dc11 Updated TODO list. 2010-10-04 11:30:28 -03:00
Marcelo Roberto Jimenez
10cbc5a865 UTF-8. 2010-10-04 11:13:46 -03:00
Marcelo Roberto Jimenez
278d156b97 Echo the copy on configure output.
(cherry picked from commit dec78c8ef10884074d18cfa2b6e17b03119d2b49)
2010-10-04 11:02:23 -03:00
Marcelo Roberto Jimenez
e9d32ee903 Update files for windows compilation. 2010-10-04 10:57:19 -03:00
Marcelo Roberto Jimenez
420c87761a Update build/inc/autoconfig.h and build/inc/upnpconfig.h at configure
time.
(cherry picked from commit a9b5081a084f74e70ab90499b3c44c2ab0950104)
2010-10-04 10:53:33 -03:00
Marcelo Roberto Jimenez
10652572d7 Remove build/inc/config.h. The right file is upnp/src/inc/config.h.
(cherry picked from commit 3886a697b5ca3d9ae71aaf171ab8cf83f5f29bab)
2010-10-04 10:53:22 -03:00
Marcelo Roberto Jimenez
efb5d0cadf Whitespace fix on soaplib.h.
(cherry picked from commit 95f7a7eeef8717b4d04b68cfcc3dddab13a7cff8)
2010-10-02 18:59:07 -03:00
Marcelo Roberto Jimenez
fec0dd041b Remove extra soaplib.h.
(cherry picked from commit ca50c2153e755388b837a16d87e496b7075ee113)
2010-10-02 18:58:53 -03:00
Fabrice Fontaine
af345c1d2c Adding --disable-notification-reordering option
Adding a configure flag to disable GENA notification reordering as even
with an imillisleep(1), this mechanism consumes too much CPU on embedded
devices when there is a burst of notifications.
(cherry picked from commit c73d870f46a9be94bc0e7b898dba4e480348933e)
2010-10-02 13:55:42 -03:00
Fabrice Fontaine
ee8e52ea4a Bug fix when there is no service in embedded devices
When a device with embedded devices (like IGD) when created and one of
the embedded devices did not have any service, there was a Segmentation
Fault (see SF Tracker [ 2688125 ]).
(cherry picked from commit ab54cb3dc5ac6b30f6566593804a919473d4e6a5)
2010-09-30 11:52:33 -03:00
Fabrice Fontaine
fe7a073bc7 Bug fix on burst of GENA notification
When a lot of notifications were generated by a device in a short
period of time then 100% of the CPU was used to reorder those
notifications by pushing back the thread in the job queue. This
mechanism has been modified so now thread sleep 1 ms before being
pushed back into the job queue.

Removing DEFAULT_SCHED_PARAM parameter and use
sched_get_priority_min(DEFAULT_POLICY) instead.
(cherry picked from commit c33b11d09f526c156760b24bb88c9100f107a042)
2010-09-28 20:44:06 -03:00
Fabrice Fontaine
6567f7ec0d Bug fix on M-SEARCH response
Devices must respond to M-SEARCH requests for any supported version and the
response should specify the same version as was contained in the search target.
Previously, the device did not answer if the M-SEARCH request did not
contain the same version number than the version number of the device.
(cherry picked from commit 4966423d96a2a7d81a5765587f219d11d9bee511)
2010-09-22 15:39:05 -03:00
Fabrice Fontaine
5ead3f6fee Add Content-Language iff Accept-Language
Add Content-Language header in the response if and only if there is an Accept-Language header in the request.

Manually ported from revision d2238615e347c45c6abd255597d304cf50b763b5.
2010-09-21 16:43:59 -03:00
Fabrice Fontaine
82beb315c2 Addition of WEB_SERVER_CONTENT_LANGUAGE parameter
This patch adds the WEB_SERVER_CONTENT_LANGUAGE parameter so the user can specify
the language used by the device during Description and Presentation steps of UPnP
through the HTTP CONTENT-LANGUAGE header.
By default, the WEB_SERVER_CONTENT_LANGUAGE is an empty string so no
CONTENT-LANGUAGE is added.
(cherry picked from commit 2fcbe6df52265576ad6bfc902541612ca89f30d4)
2010-09-21 08:50:18 -03:00
Fabrice Fontaine
4a8c4f5c50 Customize the stack size of the threads used by pupnp through the new THREAD_STACK_SIZE variable
This patch allows a user to customize the stack size of the threads used by
pupnp through the new THREAD_STACK_SIZE variable. This is especially useful
on embedded systems with limited memory where the user can set THREAD_STACK_SIZE
to ITHREAD_STACK_MIN.

However, as this modification can have side effects, I set 0 as the default
value, so threads will continue to use the default stack size of the system
(which varies greatly as stated in
https://computing.llnl.gov/tutorials/pthreads/).
(cherry picked from commit 467f9987a135986419222da968562aab26a3e637)
2010-09-18 06:47:34 -03:00
Chandra Penke
ba4ea3bc9b Export upnp/inc/Template*.h 2010-09-18 06:47:06 -03:00
Marcelo Roberto Jimenez
28ef8caad8 Fix for Changelog. 2010-09-16 08:40:25 -03:00
Fabrice Fontaine
935f5af066 Broken IPv6.
IPv6 is currently broken in latest release of branch-1.6.x, so find
a patch attached that correct the issue (small fixes on define,
undef and retVal).
(cherry picked from commit 55d581481f901bce22ce014e0ec5b74a5ed325e6)
2010-09-16 08:23:31 -03:00
Marcelo Roberto Jimenez
123af5a67e Get rid of evil CLIENTONLY macro. 2010-09-15 06:05:02 -03:00
Marcelo Roberto Jimenez
8b801fe1dc White spaces. 2010-09-15 05:59:21 -03:00
Chandra Penke
48985cb81b Fix win32 compilation errors in visual studio
(cherry picked from commit ea00f0f222cb27f9b4f809ada63b1bb92aededa4)
2010-09-15 05:52:57 -03:00
Marcelo Roberto Jimenez
fe778cfd00 Template object for SubscriptionRequest. 2010-09-12 00:28:35 -03:00
Marcelo Roberto Jimenez
c90d6492e8 Template object for StateVarRequest. 2010-09-12 00:28:35 -03:00
Marcelo Roberto Jimenez
942e0ec809 Template object for StateVarComplete. 2010-09-12 00:28:35 -03:00
Marcelo Roberto Jimenez
2616d4c76a Template object for FileInfo. 2010-09-12 00:28:35 -03:00
Marcelo Roberto Jimenez
86a7ec499a Template object for EventSubscribe. 2010-09-12 00:28:35 -03:00
Marcelo Roberto Jimenez
43621874e9 Template object for Event. 2010-09-12 00:28:35 -03:00
Marcelo Roberto Jimenez
9c7bdcffb4 Template object for Discovery. 2010-09-12 00:28:35 -03:00
Marcelo Roberto Jimenez
5e6b9c119a Template object for ActionRequest. 2010-09-12 00:28:35 -03:00
Marcelo Roberto Jimenez
c7475fab70 Template object for ActionComplete. 2010-09-12 00:28:35 -03:00
Marcelo Roberto Jimenez
cf79479b2b Introducing template object methods. 2010-09-12 00:28:22 -03:00
Marcelo Roberto Jimenez
81b28fbb90 Added UpnpString_cmp() and UpnpString_casecmp() methods to UpnpString.
UpnpString_set_String() and UpnpString_set_StringN now return error values.
String lenghts are size_t.
2010-09-11 17:53:49 -03:00
David Hoeung
c55eeccb67 Timeout for TCP connect
Hi,

I've made some modification to the libupnp v1.6.5
I've add a timeout for each TCP connect.

It is very useful when an UPnP device stop working and do not accept
connection for an UPnP action.

Modifications are only located in
upnp/src/genlib/net/http/httpreadwrite.c

For every TCP connection, I set the socket to non-blocking, perform
connect,
check result and wait during a timeout if necessary, then reset the
socket to blocking.

Please see this patch in attached file.

I hope it helps.

Regards,

David Hoeung
Consultant Extia
Orange Labs R&D

----
(cherry picked from commit 67009170d1b3953161d9c4b948d54946123d2d92)
2010-09-11 00:20:11 -03:00
Warwick Harvey
e0806a2116 Take notice of UPNP_USE_RWLOCK flag.
Updated threadutil to use mutexes instead of read-write locks if
UPNP_USE_RWLOCK is false (0).
(cherry picked from commit 2b399b17911372c90cca67e464109359a586f518)
2010-09-10 22:46:26 -03:00
Marcelo Roberto Jimenez
fdfcf75690 Remove some unused code plus some coding style in httpparser.c
(cherry picked from commit 0bec9ec1ae0b4abd1d9877b20fa5c43af5e48e4f)
2010-09-10 19:51:54 -03:00
Marcelo Roberto Jimenez
e6d7eb7767 2010-09-10 Jean Sigwald <jean.sigwald(at)orange-ftgroup.com>
I discovered a reliable denial-of-service issue on the last stable
release of libupnp (1.6.6) remotely triggerable by any
unauthenticated user. The issue is related with a bad parsing of
malformed XML.
(cherry picked from commit 25a4bd6d253cec60ee11d7a43491e1b1a6be5465)
2010-09-10 19:51:54 -03:00
Marcelo Roberto Jimenez
6604d0a974 SF Patch Tracker [ 2854711 ] Patch for Solaris10 compilation and usage
Submitted By: zephyrus ( zephyrus00jp )

Patch for Solaris10 compilation and usage.
(cherry picked from commit 5755ac022f9ed7b11a356854c0ab15c838df6a45)
2010-09-10 19:04:35 -03:00
Marcelo Roberto Jimenez
30ee3c0cbb One setp further to stop the CLIENTONLY() mess.
(cherry picked from commit 0158f52ee2293defae0336c39093cc8016b869cb)
2010-09-10 19:04:35 -03:00