[Pkg-tcltk-commits] r1092 - in tk8.5/trunk/debian: . patches
sgolovan at alioth.debian.org
sgolovan at alioth.debian.org
Thu Nov 4 19:34:21 UTC 2010
Author: sgolovan
Date: 2010-11-04 19:34:15 +0000 (Thu, 04 Nov 2010)
New Revision: 1092
Added:
tk8.5/trunk/debian/patches/display.patch
tk8.5/trunk/debian/patches/icons.patch
tk8.5/trunk/debian/patches/xauth.patch
Modified:
tk8.5/trunk/debian/changelog
tk8.5/trunk/debian/control
tk8.5/trunk/debian/patches/series
Log:
[tk8.5]
* Added ${misc:Depends} to debian/control file because the binary packages
are built using debhelper.
* Bumped standards version to 3.9.1.
* Backported patch by upstream which fixes [send] command for ServerInterpreted
X host access.
* Backported patch from upstream which fixes application icon for 64-bit
architectures.
* Backported patch from upstream which fixes Tk in case when :: is contained
in $DISPLAY variable.
Modified: tk8.5/trunk/debian/changelog
===================================================================
--- tk8.5/trunk/debian/changelog 2010-10-31 12:40:33 UTC (rev 1091)
+++ tk8.5/trunk/debian/changelog 2010-11-04 19:34:15 UTC (rev 1092)
@@ -1,8 +1,17 @@
-tk8.5 (8.5.8-2) UNRELEASED; urgency=low
+tk8.5 (8.5.8-2) unstable; urgency=low
* Removed unused patches from debian/patches.
+ * Added ${misc:Depends} to debian/control file because the binary packages
+ are built using debhelper.
+ * Bumped standards version to 3.9.1.
+ * Backported patch by upstream which fixes [send] command for ServerInterpreted
+ X host access.
+ * Backported patch from upstream which fixes application icon for 64-bit
+ architectures.
+ * Backported patch from upstream which fixes Tk in case when :: is contained
+ in $DISPLAY variable.
- -- Sergei Golovan <sgolovan at debian.org> Sat, 02 Jan 2010 21:02:58 +0300
+ -- Sergei Golovan <sgolovan at debian.org> Thu, 04 Nov 2010 22:33:13 +0300
tk8.5 (8.5.8-1) unstable; urgency=low
Modified: tk8.5/trunk/debian/control
===================================================================
--- tk8.5/trunk/debian/control 2010-10-31 12:40:33 UTC (rev 1091)
+++ tk8.5/trunk/debian/control 2010-11-04 19:34:15 UTC (rev 1092)
@@ -4,14 +4,14 @@
Maintainer: Tcl/Tk Debian Packagers <pkg-tcltk-devel at lists.alioth.debian.org>
Uploaders: Chris Waters <xtifr at debian.org>, Sergei Golovan <sgolovan at debian.org>
Build-Depends: debhelper (>= 5.0.0), x11proto-core-dev, libx11-dev, libxss-dev, libxext-dev, libxft-dev, tcl8.5-dev (>= 8.5.0), quilt
-Standards-Version: 3.8.3
+Standards-Version: 3.9.1
Homepage: http://www.tcl.tk/
Package: tk8.5
Section: libs
Priority: optional
Architecture: any
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: xterm | x-terminal-emulator
Conflicts: tk40 (<= 4.0p3-2), libtk-img (<< 1.2.5)
Provides: wish
@@ -25,6 +25,7 @@
Section: doc
Priority: optional
Architecture: all
+Depends: ${misc:Depends}
Suggests: tk8.5
Conflicts: tkdoc, tk8.3-doc, tk8.4-doc
Provides: tkdoc
@@ -37,7 +38,7 @@
Section: devel
Priority: optional
Architecture: any
-Depends: x11proto-core-dev, libx11-dev, libxss-dev, libxext-dev, libxft-dev, tcl8.5-dev (>= 8.5.0), tk8.5 (= ${binary:Version})
+Depends: x11proto-core-dev, libx11-dev, libxss-dev, libxext-dev, libxft-dev, tcl8.5-dev (>= 8.5.0), tk8.5 (= ${binary:Version}), ${misc:Depends}
Suggests: tk8.5-doc
Description: Tk toolkit for Tcl and X11, v8.5 - development files
Tk is a cross-platform graphical toolkit which provides the Motif
Added: tk8.5/trunk/debian/patches/display.patch
===================================================================
--- tk8.5/trunk/debian/patches/display.patch (rev 0)
+++ tk8.5/trunk/debian/patches/display.patch 2010-11-04 19:34:15 UTC (rev 1092)
@@ -0,0 +1,16 @@
+--- tk8.5.orig/library/tk.tcl
++++ tk8.5/library/tk.tcl
+@@ -248,7 +248,12 @@
+ set disp $screen
+ }
+
+- uplevel #0 upvar #0 ::tk::Priv.$disp ::tk::Priv
++ # Ensure that namespace separators never occur in the display name (as
++ # they cause problems in variable names). Double-colons exist in some VNC
++ # display names. [Bug 2912473]
++ set disp [string map {:: _doublecolon_} $disp]
++
++ uplevel #0 [list upvar #0 ::tk::Priv.$disp ::tk::Priv]
+ variable ::tk::Priv
+ global tcl_platform
+
Added: tk8.5/trunk/debian/patches/icons.patch
===================================================================
--- tk8.5/trunk/debian/patches/icons.patch (rev 0)
+++ tk8.5/trunk/debian/patches/icons.patch 2010-11-04 19:34:15 UTC (rev 1092)
@@ -0,0 +1,42 @@
+--- tk8.5.orig/unix/tkUnixWm.c
++++ tk8.5/unix/tkUnixWm.c
+@@ -2335,7 +2336,7 @@
+ Tk_PhotoHandle photo;
+ Tk_PhotoImageBlock block;
+ int i, size = 0, width, height, index = 0, x, y, isDefault = 0;
+- unsigned int *iconPropertyData;
++ unsigned long *iconPropertyData;
+
+ if (objc < 4) {
+ Tcl_WrongNumArgs(interp, 2, objv,
+@@ -2375,15 +2376,17 @@
+
+ /*
+ * We have calculated the size of the data. Try to allocate the needed
+- * memory space.
++ * memory space. This is an unsigned long array (despite this being twice
++ * as much as is really needed on LP64 platforms) because that's what X
++ * defines CARD32 arrays to use. [Bug 2902814]
+ */
+
+- iconPropertyData = (unsigned int *)
+- Tcl_AttemptAlloc(sizeof(unsigned int) * size);
++ iconPropertyData = (unsigned long *)
++ attemptckalloc(sizeof(unsigned long) * size);
+ if (iconPropertyData == NULL) {
+ return TCL_ERROR;
+ }
+- memset(iconPropertyData, 0, sizeof(unsigned int) * size);
++ memset(iconPropertyData, 0, sizeof(unsigned long) * size);
+
+ for (i = 3 + isDefault; i < objc; i++) {
+ photo = Tk_FindPhoto(interp, Tcl_GetString(objv[i]));
+@@ -2421,7 +2424,7 @@
+ for (x = 0; x < width; x++) {
+ register unsigned char *pixelPtr =
+ block.pixelPtr + x*block.pixelSize + y*block.pitch;
+- register unsigned int R, G, B, A;
++ register unsigned long R, G, B, A;
+
+ R = pixelPtr[block.offset[0]];
+ G = pixelPtr[block.offset[1]];
Modified: tk8.5/trunk/debian/patches/series
===================================================================
--- tk8.5/trunk/debian/patches/series 2010-10-31 12:40:33 UTC (rev 1091)
+++ tk8.5/trunk/debian/patches/series 2010-11-04 19:34:15 UTC (rev 1092)
@@ -5,3 +5,6 @@
rpath.diff
non-linux.diff
manpages.diff
+display.patch
+icons.patch
+xauth.patch
Added: tk8.5/trunk/debian/patches/xauth.patch
===================================================================
--- tk8.5/trunk/debian/patches/xauth.patch (rev 0)
+++ tk8.5/trunk/debian/patches/xauth.patch 2010-11-04 19:34:15 UTC (rev 1092)
@@ -0,0 +1,106 @@
+--- tk8.5.orig/unix/tkUnixSend.c
++++ tk8.5/unix/tkUnixSend.c
+@@ -679,54 +679,74 @@
+ int numHosts, secure;
+ Bool enabled;
+
+- secure = 0;
+ addrPtr = XListHosts(dispPtr->display, &numHosts, &enabled);
+- if (enabled) {
+- if (numHosts == 0) {
+- secure = 1;
+- }
+-
++ if (!enabled) {
++ insecure:
++ secure = 0;
++ } else if (numHosts == 0) {
++ secure = 1;
++ } else {
+ /*
+ * Recent versions of X11 have the extra feature of allowing more
+ * sophisticated authorization checks to be performed than the dozy
+ * old ones that used to plague xhost usage. However, not all deployed
+ * versions of Xlib know how to deal with this feature, so this code
+ * is conditional on having the right #def in place. [Bug 1909931]
++ *
++ * Note that at this point we know that there's at least one entry in
++ * the list returned by XListHosts. However there may be multiple
++ * entries; as long as each is one of either 'SI:localhost:*' or
++ * 'SI:localgroup:*' then we will claim to be secure enough.
+ */
+
+ #ifdef FamilyServerInterpreted
+- if (numHosts == 1 && addrPtr[0].family == FamilyServerInterpreted) {
+- XServerInterpretedAddress *siPtr =
+- (XServerInterpretedAddress *) addrPtr[0].address;
+-
+- if (siPtr->typelength==9 && !memcmp(siPtr->type,"localuser",9)) {
+- /*
+- * We don't check the username here. This is because it's
+- * officially non-portable and we are just making sure there
+- * aren't silly misconfigurations. (Apparently 'root' is not a
+- * very good choice, but we still don't put any effort in to
+- * spot that.)
+- */
++ XServerInterpretedAddress *siPtr;
++ int i;
+
+- secure = 1;
+- } else if (siPtr->typelength == 10
+- && !memcmp(siPtr->type, "localgroup", 10)) {
++ for (i=0 ; i<numHosts ; i++) {
++ if (addrPtr[i].family != FamilyServerInterpreted) {
+ /*
+- * Similarly to above, we don't attempt to peek inside server
+- * interpreted group names. If someone set it, it's what they
+- * want and we assume it's OK.
++ * We don't understand what the X server is letting in, so we
++ * err on the side of safety.
+ */
+
+- secure = 1;
++ goto insecure;
+ }
++ siPtr = (XServerInterpretedAddress *) addrPtr[0].address;
+
+ /*
+- * The other defined types of server-interpreted controls involve
+- * particular hosts; these are still insecure for the same reasons
+- * that classic xhost access is insecure.
++ * We don't check the username or group here. This is because it's
++ * officially non-portable and we are just making sure there
++ * aren't silly misconfigurations. (Apparently 'root' is not a
++ * very good choice, but we still don't put any effort in to spot
++ * that.) However we do check to see that the constraints are
++ * imposed against the connecting user and/or group.
+ */
++
++ if ( !(siPtr->typelength == 9 /* ==strlen("localuser") */
++ && !memcmp(siPtr->type, "localuser", 9))
++ && !(siPtr->typelength == 10 /* ==strlen("localgroup") */
++ && !memcmp(siPtr->type, "localgroup", 10))) {
++ /*
++ * The other defined types of server-interpreted controls
++ * involve particular hosts. These are still insecure for the
++ * same reasons that classic xhost access is insecure; there's
++ * just no way to be sure that the users on those systems are
++ * the ones who should be allowed to connect to this display.
++ */
++
++ goto insecure;
++ }
+ }
+-#endif
++ secure = 1;
++#else
++ /*
++ * We don't understand what the X server is letting in, so we err on
++ * the side of safety.
++ */
++
++ goto insecure;
++#endif /* FamilyServerInterpreted */
+ }
+ if (addrPtr != NULL) {
+ XFree((char *) addrPtr);
More information about the Pkg-tcltk-commits
mailing list