Bug#744894: awesome: Chromium redraw event on another tag display tab content in current tag

2014-04-30 Thread Arthur Taylor
Package: awesome
Version: 3.4.15-1+b1
Followup-For: Bug #744894

Seeing the same thing that Thierry reports here on 3.4.15-1+b1, using 
google-chrome (34.0.1847.132)

Thanks,

Arthur

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages awesome depends on:
ii  dbus-x11  1.8.0-3
ii  libc6 2.18-5
ii  libcairo2 1.12.16-2
ii  libdbus-1-3   1.8.0-3
ii  libev41:4.15-3
ii  libglib2.0-0  2.40.0-3
ii  libimlib2 1.4.6-2
ii  liblua5.1-0   5.1.5-5
ii  libpango1.0-0 1.36.3-1
ii  libstartup-notification0  0.12-3
ii  libx11-6  2:1.6.2-1
ii  libx11-xcb1   2:1.6.2-1
ii  libxcb-icccm4 0.4.1-1
ii  libxcb-image0 0.3.9-1
ii  libxcb-keysyms1   0.3.9-1
ii  libxcb-randr0 1.10-2
ii  libxcb-render01.10-2
ii  libxcb-shape0 1.10-2
ii  libxcb-shm0   1.10-2
ii  libxcb-util0  0.3.8-2
ii  libxcb-xinerama0  1.10-2
ii  libxcb-xtest0 1.10-2
ii  libxcb1   1.10-2
ii  libxcursor1   1:1.1.14-1
ii  libxdg-basedir1   1.2.0-1
ii  menu  2.1.46

Versions of packages awesome recommends:
ii  feh2.10-1
ii  rlwrap 0.37-5
ii  x11-xserver-utils  7.7+2

awesome suggests no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#519464: gupnp-tools: Universal control point can submit arguments in the wrong order

2009-03-12 Thread Arthur Taylor

Package: gupnp-tools
Version: 0.6-1
Severity: normal
Tags: patch

gupnp-universal-cp can send UPnP arguments in the wrong order when 
invoking actions. The UPnP spec requires that
action arguments are sent in the order in which they appear in the SCPD. 
What's worse, the DLNA spec requires
compliant devices to reject invokations from clients that don't respect 
argument ordering.


In action-dialog.c, the call to gupnp_service_proxy_begin_action_hash 
(line 715) doesn't contain enough context for the
library to correctly order the arguments of the service call. As a 
result, the arguments are ordered by the iteration
order of the hash keys. The correct answer is probably to add enough 
context to a service proxy object for it to be able
to retrieve the order of an action's arguments, but I've attached 
patches for an incorrect answer - adding an extra
function to the library that accepts more context, and changing the call 
in action-dialog.c.


-- System Information:
Debian Release: 5.0
 APT prefers unstable
 APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages gupnp-tools depends on:
ii  libc6  2.7-18GNU C Library: Shared libraries
ii  libglade2-01:2.6.3-1 library to load .glade 
files at ru

ii  libglib2.0-0   2.18.4-2  The GLib library of C routines
ii  libgssdp-1.0-1 0.6.4-1   GObject-based library for SSDP
ii  libgtk2.0-02.12.11-4 The GTK+ graphical user 
interface

ii  libgupnp-1.0-2 0.12.6-2  GObject-based library for UPnP
ii  libgupnp-av-1.0-1  0.2.1-1   Audio/Visual utility 
library for G
ii  libsoup2.4-1   2.24.3-2  an HTTP library 
implementation in

ii  libuuid1   1.41.3-1  universally unique id library
ii  libxml22.6.32.dfsg-5 GNOME XML library

gupnp-tools recommends no packages.

gupnp-tools suggests no packages.

-- no debconf information

diff -ur gupnp-0.12.6/libgupnp/gupnp-service-proxy.c 
gupnp-0.12.6-at/libgupnp/gupnp-service-proxy.c
--- gupnp-0.12.6/libgupnp/gupnp-service-proxy.c 2009-01-06 14:32:22.0 
+
+++ gupnp-0.12.6-at/libgupnp/gupnp-service-proxy.c  2009-03-12 
17:30:01.0 +
@@ -791,6 +791,52 @@
 return ret;
 }
 
+GUPnPServiceProxyAction *
+gupnp_service_proxy_begin_action_hash_with_ordering
+   (GUPnPServiceProxy  *proxy,
+const char *action,
+GUPnPServiceProxyActionCallback callback,
+gpointeruser_data,
+GHashTable *hash,
+GUPnPServiceActionInfo 
*action_info)
+{
+GUPnPServiceProxyAction *ret;
+
+g_return_val_if_fail (GUPNP_IS_SERVICE_PROXY (proxy), NULL);
+g_return_val_if_fail (action, NULL);
+g_return_val_if_fail (callback, NULL);
+
+/* Create message */
+ret = begin_action_msg (proxy, action, callback, user_data);
+
+if (ret-error) {
+callback (proxy, ret, user_data);
+
+return ret;
+}
+
+GList *iter;
+for (iter = action_info-arguments; iter; iter = iter-next)
+{
+GUPnPServiceActionArgInfo *arg_info = iter-data;
+GValue *value = g_hash_table_lookup(hash, arg_info-name);
+if (value != NULL)
+{
+write_in_parameter(arg_info-name, value, 
ret-msg_str);
+}
+else
+{
+g_warning(No value supplied for action arg %s, 
arg_info-name);
+}
+}
+
+/* Finish and send off */
+finish_action_msg (ret, action);
+
+return ret;
+
+}
+
 /**
  * gupnp_service_proxy_begin_action_hash
  * @proxy: A #GUPnPServiceProxy
diff -ur gupnp-0.12.6/libgupnp/gupnp-service-proxy.h 
gupnp-0.12.6-at/libgupnp/gupnp-service-proxy.h
--- gupnp-0.12.6/libgupnp/gupnp-service-proxy.h 2009-01-06 14:32:22.0 
+
+++ gupnp-0.12.6-at/libgupnp/gupnp-service-proxy.h  2009-03-12 
17:22:46.0 +
@@ -159,6 +159,15 @@
 gpointeruser_data,
 GHashTable *hash);
 
+GUPnPServiceProxyAction *
+gupnp_service_proxy_begin_action_hash_with_ordering
+   (GUPnPServiceProxy  *proxy,
+const char *action,
+GUPnPServiceProxyActionCallback callback,
+

Bug#518007: php-gettext: fails with E_STRICT errors

2009-03-03 Thread Arthur Taylor
Package: php-gettext
Version: 1.0.7-6
Severity: normal
Tags: patch


When included in a project that uses strict error checking (don't know
how may php projects do), the library fails out in a couple of places.
For example:

E_STRICT: Creating default object from empty value
in /usr/share/php/php-gettext/gettext.inc on line 154

The following patch clears up the warnings (albeit with slightly odd
indentation).

--- gettext/usr/share/php/php-gettext/gettext.inc   2006-02-07 
20:43:11.0 +
+++ /usr/share/php/php-gettext/gettext.inc  2008-07-31 14:22:36.0 
+0100
@@ -44,6 +44,12 @@
 $EMULATEGETTEXT = 0;
 $CURRENTLOCALE = '';

+class domain
+{
+  var $l10n;
+  var $path;
+  var $codeset;
+}

 // Utility functions

@@ -64,6 +70,10 @@
else {
$input = null;
}
+if (!array_key_exists($domain, $text_domains))
+{
+  $text_domains[$domain] = new domain();
+}
$text_domains[$domain]-l10n = new gettext_reader($input, 
$enable_cache);
}
return $text_domains[$domain]-l10n;
@@ -151,6 +161,10 @@
// ensure $path ends with a slash
if ($path[strlen($path) - 1] != '/') $path .= '/';
elseif ($path[strlen($path) - 1] != '\\') $path .= '\\';
+  if (!array_key_exists($domain, $text_domains))
+  {
+$text_domains[$domain] = new domain();
+  }
$text_domains[$domain]-path = $path;
 }

@@ -166,8 +180,12 @@
  * Sets the default domain.
  */
 function _textdomain($domain) {
-   global $default_domain;
+   global $default_domain, $text_domains;
$default_domain = $domain;
+  if (!array_key_exists($domain, $text_domains))
+  {
+$text_domains[$domain] = new domain();
+  }
 }

 /**
@@ -315,4 +333,4 @@
}
 }

-?
\ No newline at end of file
+?
--- gettext/usr/share/php/php-gettext/gettext.php   2006-02-02 
19:04:02.0 +
+++ /usr/share/php/php-gettext/gettext.php  2008-07-31 12:13:50.0 
+0100
@@ -63,10 +63,12 @@
   function readint() {
   if ($this-BYTEORDER == 0) {
 // low endian
-return array_shift(unpack('V', $this-STREAM-read(4)));
+$unpacked = unpack('V', $this-STREAM-read(4));
+return array_shift($unpacked);
   } else {
 // big endian
-return array_shift(unpack('N', $this-STREAM-read(4)));
+$unpacked = unpack('N', $this-STREAM-read(4));
+return array_shift($unpacked);
   }
 }

--- gettext/usr/share/php/php-gettext/streams.php   2006-02-02 
19:59:18.0 +
+++ /usr/share/php/php-gettext/streams.php  2008-07-31 12:07:57.0 
+0100
@@ -105,6 +105,7 @@
   function read($bytes) {
 if ($bytes) {
   fseek($this-_fd, $this-_pos);
+  $data = '';

   // PHP 5.1.1 does not read more than 8192 bytes in one fread()
   // the discussions at PHP Bugs suggest it's the intended behaviour
@@ -163,4 +164,4 @@
 }


-?
\ No newline at end of file
+?


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-486
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages php-gettext depends on:
ii  php5  5.2.6-2server-side, HTML-embedded scripti

php-gettext recommends no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#353169: libupnp: Fixed length buffer for UPNP Action URLs breaks applications

2008-04-04 Thread Arthur Taylor

Hi Nick,

Thanks for getting back. We used that patch here for a while so it was 
sound against v1.2.1, but we have since embarked on a rewrite (because 
that seemed easier than trying to weed out all the fixed-length buffers 
and possible other liabilities). The rewrite is in a different language, 
and integrated with our client code rather than packaged as a library - 
I don't think it would help you.


Sorry not to be able to be of more use. We would have loved to have had 
an actively maintained libupnp to contribute to, but limited resources 
here meant we couldn't maintain the whole thing ourselves and customer 
requirements meant that we couldn't wait.


Arthur

Nick Leverton wrote:

Thanks for the patch, Arthur, and sorry you had to wait so long.  As new
maintainer of libupnp I'm currently updating your patch to apply to
pupnp 1.6.5.

This being a C++ package, ideally I'd have liked to see a fix which
made use of new/delete and object destructors to release memory, rather
than malloc/free.  But it looks as though that might need quite a lot
of re-working of upstream code !

So I'm going with your patch for the moment.  Would you be in a position
to re-test ?  If so I can send you a link to my updated sources.

Nick
  





--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#353169: libupnp: Fixed length buffer for UPNP Action URLs breaks applications

2006-02-17 Thread Arthur Taylor
Please find attached a patch which goes some way to fixing this issue. 
I've only tested it in my current configuration, so I don't know how 
this impacts the webserver. I've had to introduce two new functions to 
free structures that may be returned by the framework. Not sure how 
necessary they are, as I think mostly it frees up what it gives you.


This library is still significantly broken. If upstream isn't planning a 
version 2 this either wants fixing comprehensively by debian, 
documenting with warnings in very large letters, or removing all 
together. I think it would be a mistake to base a serious application on 
the current version. Either that or it's actually perfectly safe and I'm 
just using it 'wrong' :)


Arthur

--
Arthur Taylor, +44 (0) 1223 271512
Reciva Limited,
509 Coldhams Lane,
Cambridge,
CB1 3JS. England 
Fax: +44 (0) 1223 702991 

diff -ur libupnp/upnp/inc/config.h ../libupnp/upnp/inc/config.h
--- libupnp/upnp/inc/config.h   2006-02-01 17:01:06.0 +
+++ ../libupnp/upnp/inc/config.h2006-02-16 16:29:52.0 +
@@ -226,8 +226,8 @@
 #define EXCLUDE_SOAP 0
 #define EXCLUDE_GENA 0
 #define EXCLUDE_DOM  0
-#define EXCLUDE_MINISERVER 0
-#define EXCLUDE_WEB_SERVER 0
+#define EXCLUDE_MINISERVER 1
+#define EXCLUDE_WEB_SERVER 1
 #ifdef USE_JNI
 #define EXCLUDE_JNI 0
 #else
diff -ur libupnp/upnp/inc/upnp.h ../libupnp/upnp/inc/upnp.h
--- libupnp/upnp/inc/upnp.h 2006-02-01 17:01:07.0 +
+++ ../libupnp/upnp/inc/upnp.h  2006-02-16 17:04:15.0 +
@@ -669,7 +669,7 @@
   int ErrCode;
 
   /** The control URL for service. */
-  char CtrlUrl[NAME_SIZE];
+  char *pCtrlUrl;
 
   /** The DOM document describing the action. */
   IXML_Document *ActionRequest;
@@ -719,7 +719,7 @@
   int ErrCode;
 
   /** The control URL for the service. */
-  char CtrlUrl[NAME_SIZE];
+  char *pCtrlUrl;
 
   /** The name of the variable. */
   char StateVarName[NAME_SIZE];
@@ -807,7 +807,7 @@
   int ErrCode;  
 
   /** The event URL being subscribed to or removed from. */
-  char PublisherUrl[NAME_SIZE]; 
+  char *pPublisherUrl; 
 
   /** The actual subscription time (for subscriptions only). */
   int TimeOut;  
@@ -997,6 +997,9 @@
 extern C {
 #endif // __cplusplus
 
+void UpnpFreeSubscribeEvent(struct Upnp_Event_Subscribe *pEvt, int 
free_pointer);
+void UpnpFreeActionCompleteEvent(struct Upnp_Action_Complete *pEvt, int 
free_pointer);
+
 ///@name Initialization and Registration
 //@{
 /** Initializes the Linux SDK for UPnP Devices. This function must be called
diff -ur libupnp/upnp/src/api/upnpapi.c ../libupnp/upnp/src/api/upnpapi.c
--- libupnp/upnp/src/api/upnpapi.c  2006-02-01 17:01:14.0 +
+++ ../libupnp/upnp/src/api/upnpapi.c   2006-02-17 12:42:30.0 +
@@ -68,6 +68,8 @@
 /*
  ** */
 
+static void free_param( struct UpnpNonblockParam *Param);
+
 //Mutex to synchronize the subscription handling at the client side
 CLIENTONLY( ithread_mutex_t GlobalClientSubscribeMutex;
  )
@@ -290,8 +292,9 @@
 DEVICEONLY( UpnpDevice_Handle device_handle;
  )
 CLIENTONLY( UpnpClient_Handle client_handle;
- )
-struct Handle_Info *temp;
+)
+ struct Handle_Info *temp;
+ 
 
 DBGONLY( ThreadPoolStats stats;
  )
@@ -370,6 +373,41 @@
 
 }  /* End of  UpnpFinish  */
 
+void 
+UpnpFreeSubscribeEvent(struct Upnp_Event_Subscribe *pEvt, int free_pointer)
+{
+  if (pEvt == NULL)
+  {
+return;
+  }
+  if (pEvt-pPublisherUrl != NULL)
+  {
+free( pEvt-pPublisherUrl );
+  }
+  if (free_pointer)
+  {
+free( pEvt );
+  }
+}
+
+void 
+UpnpFreeActionCompleteEvent(struct Upnp_Action_Complete *pEvt, int 
free_pointer)
+{
+  if (pEvt == NULL)
+  {
+return;
+  }
+  if (pEvt-pCtrlUrl != NULL)
+  {
+free( pEvt-pCtrlUrl );
+  }
+  if (free_pointer)
+  {
+free( pEvt );
+  }
+}
+
+
 /
  * Function: UpnpGetServerPort
  *
@@ -1746,7 +1784,8 @@
 
 Param-FunName = SUBSCRIBE;
 Param-Handle = Hnd;
-strcpy( Param-Url, EvtUrl );
+Param-pUrl = malloc(sizeof(char) * (strlen(EvtUrl) + 1));
+strcpy( Param-pUrl, EvtUrl );
 Param-TimeOut = TimeOut;
 Param-Fun = Fun;
 Param-Cookie = ( void * )Cookie_const;
@@ -1951,6 +1990,7 @@
 
 Param-FunName = UNSUBSCRIBE;
 Param-Handle = Hnd;
+Param-pUrl = NULL;
 strcpy( Param-SubsId, SubsId );
 Param-Fun = Fun;
 Param-Cookie = ( void * )Cookie_const;
@@ -2101,6 +2141,7 @@
 Param-Handle = Hnd;
 strcpy( Param-SubsId, SubsId );
 Param-Fun = Fun;
+Param-pUrl = NULL;
 Param-Cookie = ( void * )Cookie_const;
 Param-TimeOut = TimeOut;
 
@@ -2691,12 +2732,13 @@
 
 Param-FunName = ACTION;
 Param-Handle = Hnd;
-strcpy( Param-Url, ActionURL );
+Param-pUrl = malloc(sizeof(char) * ((strlen(ActionURL) + 1)));
+strcpy( Param

Bug#353169: libupnp: Fixed length buffer for UPNP Action URLs breaks applications

2006-02-16 Thread Arthur Taylor
Package: libupnp
Severity: important


When using the UpnpSendActionAsync method (and possibly other Async
methods), the SDK stores the URL for the action in a struct
UpnpNonblockParam. This has a fixed length array for storing the action
URL of 100 characters. Some UPNP servers routinely generate control URLs 
longer than 100 characters:

http://192.168.0.1:2869/upnphost/udhisapi.dll?control=uuid:-b4cb-41ac-827d-+urn:upnp-org:serviceId:ContentDirectory

at src/api/upnpapi.c:2694, the SDK then proceeds to strcpy the control
URL to the Param struct, resulting in stack-overwritey-badness.

I might end up having to fix this, and if so will e-mail the package
maintainer any patch I generate. For a temporary fix, increase NAME_SIZE
in inc/upnp.h.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.13-skas3-v9-pre7
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#350568: libupnp fixed length buffer for SOAP messages breaks applications

2006-01-30 Thread Arthur Taylor

Package: libupnp0
Version: 1.2.1-2
Severity: important
Tags: patch


When using libupnp to communicate with Windows Media Connect and
browsing a large directory on its Content Directory server (large = 15
files in this case), UpnpSendAction will return internal error -119,
UPNP_E_BAD_HTTPMSG because the http response parser in
genlib/net/http/httpreadwrite.c returns HTTP_REQ_ENTITY_TOO_LARGE on the
basis of a comparison of the parsed response's content_length with the
value g_maxContentLength. g_maxContentLength is arbitrarily set at
16000, and SOAP messages are unlimited in length, making this
restriction unhelpful in implementing compliant UPNP services.

In the context of receiving responses from remote servers, I believe the
restriction to be unnecessary. The parser allocates its buffer as data
comes in and fails 'gracefully' when it runs out of memory. The attached
patch removes the check, and running the code without the check seems to
cause no troubles for the purposes for which I am using it.

N.B.: I have not looked at the other code in the library in detail, and
have no doubt that there are places where this restriction is used to
make an assumption about the size of some other buffer. This obviously
needs fixing properly upstream, and I'm not recommending this patch is
included in the package, but attaching it for users in a similar
situation to my own.

-- System Information:
Debian Release: testing/unstable
 APT prefers unstable
 APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.13-skas3-v9-pre7
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=sh: 
/usr/local/arm/3.3.1/bin/locale: cannot execute binary file)


Versions of packages libupnp0 depends on:
ii  libc6 2.3.5-8.1  GNU C Library: Shared 
libraries an


libupnp0 recommends no packages.

-- debconf information excluded


--- upnp/src/genlib/net/http/httpreadwrite.orig 2006-01-27 
16:41:10.0 +
+++ upnp/src/genlib/net/http/httpreadwrite.c2006-01-27 
16:35:35.0 +

@@ -214,11 +214,11 @@
 //print_http_headers( parser-msg );
 )

-if( parser-content_length 
-( unsigned int )g_maxContentLength ) {
-*http_error_code = HTTP_REQ_ENTITY_TOO_LARGE;
-return UPNP_E_BAD_HTTPMSG;
-}
+//if( parser-content_length 
+//( unsigned int )g_maxContentLength ) {
+//*http_error_code = HTTP_REQ_ENTITY_TOO_LARGE;
+//return UPNP_E_BAD_HTTPMSG;
+//}

return 0;
} else if( status == PARSE_FAILURE ) {

--
Arthur Taylor, +44 (0) 1223 271512
Reciva Limited,
509 Coldhams Lane,
Cambridge,
CB1 3JS. England 
Fax: +44 (0) 1223 702991 




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]