Buglist and comments for invisible proxy • Sometimes the proxy fails to spoof messages. Reason unknown. • The proxy is not very stable. Sometimes it gets memory errors and freezes. Reason unknown. • When one SSDP byebye is received the whole device is removed from the cache. Should be one service at a time. • The proxy has a problem with reading from the network. When it sniffs it does not always receive an event (that there is something in the io). Since SSDP traffic is very bursty one packet might be read, but the rest might still be laying in the IO. The solution for this is to poll the IO every 2 seconds. The impact on the program is that when sniffing for HTTP OK there is a risk that we will loose packets. When sniffing for other packets a situation might occur where a device sends out SSDP:alive before going to sleep. The proxy might take a long time reading the packets (2 seconds for each packet worst case) and start proxying before all packets are read. The next read will find a SSDP:alive and remove the device from proxy. However the device will be readded once it times out again. • We only sniff certain kinds of traffic. This means that we only look for UPnP related packets and assume that no activity on UPnP for some time means the device has gone to sleep. • The proxy does not forward packets to a device that just has been woken. It should do this according to the design, but it is too complicated to implement. Therefore the application must resend packets. • Every packets spoofed from the proxy has ip id = 123 so that we can recognize our own packets and avoid sniffing them. Not a good solution. Better to use MD5 checksums or perhaps disabling the loopback interface. • There is no mutual exclusion in the program which might result in racing errors. • All firewalls should be disabled when running the proxy. It has known problems with spoofing and sniffing when firewalls are enabled. • The program has been tested by allowing WOL enabled computers running Intel’s UPnP Network Light (see http://www.intel.com/technology/upnp/download.htm). The Network Light will wake up when a TCP connection is made (an action is invoked from the Intel UPnP Device Spy), but the light will not be controllable until it resends a SSDP:alive message.