[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xterm: Changes to 'debian-lenny'



 debian/changelog                          |   15 +
 debian/patches/000_backport_from_238.diff |  227 ++++++++++++++++++++++++++++++
 debian/patches/903_windowops.diff         |   26 +++
 debian/patches/904_fontops.diff           |   26 +++
 debian/patches/series                     |    3 
 5 files changed, 297 insertions(+)

New commits:
commit b5aa18e6287541f9e5f132559cf707cd5b5cad50
Author: Julien Cristau <jcristau@debian.org>
Date:   Sat Jan 3 18:53:15 2009 +0100

    Change the default values for allowFontOps and allowWindowOps to false

diff --git a/debian/changelog b/debian/changelog
index 46b52b4..58c0684 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,8 @@ xterm (235-2) UNRELEASED; urgency=high
       closes: #510030)
     - add allowFontOps resource to allow the fontsize-switching and font
       query/set control sequences to be enabled/disabled
+  * Additionally, change the default values for allowFontOps and
+    allowWindowOps to false.
 
  -- Julien Cristau <jcristau@debian.org>  Sat, 03 Jan 2009 18:47:43 +0100
 
diff --git a/debian/patches/903_windowops.diff b/debian/patches/903_windowops.diff
new file mode 100644
index 0000000..e7d08ac
--- /dev/null
+++ b/debian/patches/903_windowops.diff
@@ -0,0 +1,26 @@
+Index: xterm/charproc.c
+===================================================================
+--- xterm.orig/charproc.c
++++ xterm/charproc.c
+@@ -391,7 +391,7 @@
+     Bres(XtNallowSendEvents, XtCAllowSendEvents, screen.allowSendEvent0, False),
+     Bres(XtNallowFontOps, XtCAllowFontOps, screen.allowFontOp0, True),
+     Bres(XtNallowTitleOps, XtCAllowTitleOps, screen.allowTitleOp0, True),
+-    Bres(XtNallowWindowOps, XtCAllowWindowOps, screen.allowWindowOp0, True),
++    Bres(XtNallowWindowOps, XtCAllowWindowOps, screen.allowWindowOp0, False),
+     Bres(XtNaltIsNotMeta, XtCAltIsNotMeta, screen.alt_is_not_meta, False),
+     Bres(XtNaltSendsEscape, XtCAltSendsEscape, screen.alt_sends_esc, False),
+     Bres(XtNalwaysBoldMode, XtCAlwaysBoldMode, screen.always_bold_mode, False),
+Index: xterm/xterm.man
+===================================================================
+--- xterm.orig/xterm.man
++++ xterm/xterm.man
+@@ -1460,7 +1460,7 @@
+ .B "allowWindowOps (\fPclass\fB AllowWindowOps)"
+ Specifies whether extended window control sequences (as used in dtterm)
+ should be allowed.
+-The default is ``true.''
++The default is ``false.''
+ .TP 8
+ .B "altIsNotMeta (\fPclass\fB AltIsNotMeta\fP)"
+ If ``true'', treat the Alt-key as if it were the Meta-key.
diff --git a/debian/patches/904_fontops.diff b/debian/patches/904_fontops.diff
new file mode 100644
index 0000000..909135f
--- /dev/null
+++ b/debian/patches/904_fontops.diff
@@ -0,0 +1,26 @@
+Index: xterm/charproc.c
+===================================================================
+--- xterm.orig/charproc.c
++++ xterm/charproc.c
+@@ -389,7 +389,7 @@
+ static XtResource resources[] =
+ {
+     Bres(XtNallowSendEvents, XtCAllowSendEvents, screen.allowSendEvent0, False),
+-    Bres(XtNallowFontOps, XtCAllowFontOps, screen.allowFontOp0, True),
++    Bres(XtNallowFontOps, XtCAllowFontOps, screen.allowFontOp0, False),
+     Bres(XtNallowTitleOps, XtCAllowTitleOps, screen.allowTitleOp0, True),
+     Bres(XtNallowWindowOps, XtCAllowWindowOps, screen.allowWindowOp0, False),
+     Bres(XtNaltIsNotMeta, XtCAltIsNotMeta, screen.alt_is_not_meta, False),
+Index: xterm/xterm.man
+===================================================================
+--- xterm.orig/xterm.man
++++ xterm/xterm.man
+@@ -1442,7 +1442,7 @@
+ .TP
+ .B "allowFontOps (\fPclass\fB AllowFontOps)"
+ Specifies whether control sequences that set/query the font should be allowed.
+-The default is ``true.''
++The default is ``false.''
+ .TP 8
+ .B "allowSendEvents (\fPclass\fB AllowSendEvents)"
+ Specifies whether or not synthetic key and button events (generated using
diff --git a/debian/patches/series b/debian/patches/series
index fb2c0e7..0c62317 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,5 @@
 900_debian_xterm.diff -p0
 901_xterm_manpage.diff -p0
 902_pointermode_never.diff -p0
+903_windowops.diff
+904_fontops.diff

commit 4d3011c0b0f51be484ccbae99804931a7835b908
Author: Julien Cristau <jcristau@debian.org>
Date:   Sat Jan 3 18:50:25 2009 +0100

    Backport changes from xterm 238
    
    - make OSC 3 (change X property) subject to allowWindowOps resource
    - make VT220 DSR responses inactive in VT100-mode
    - make DECUDK feature inactive in VT100-mode
    - respond to incorrectly formatted DECRQSS with a cancel (CVE-2008-2383;
      closes: #510030)
    - add allowFontOps resource to allow the fontsize-switching and font
      query/set control sequences to be enabled/disabled

diff --git a/debian/changelog b/debian/changelog
index 2205844..46b52b4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+xterm (235-2) UNRELEASED; urgency=high
+
+  * Backport changes from xterm 238:
+    - make OSC 3 (change X property) subject to allowWindowOps resource
+    - make VT220 DSR responses inactive in VT100-mode
+    - make DECUDK feature inactive in VT100-mode
+    - respond to incorrectly formatted DECRQSS with a cancel (CVE-2008-2383;
+      closes: #510030)
+    - add allowFontOps resource to allow the fontsize-switching and font
+      query/set control sequences to be enabled/disabled
+
+ -- Julien Cristau <jcristau@debian.org>  Sat, 03 Jan 2009 18:47:43 +0100
+
 xterm (235-1) unstable; urgency=low
 
   * New upstream release.
diff --git a/debian/patches/000_backport_from_238.diff b/debian/patches/000_backport_from_238.diff
new file mode 100644
index 0000000..c3e0eda
--- /dev/null
+++ b/debian/patches/000_backport_from_238.diff
@@ -0,0 +1,227 @@
+From xterm #238:
+* make OSC 3 (change X property) subject to allowWindowOps resource
+* make VT220 DSR responses inactive in VT100-mode
+* make DECUDK feature inactive in VT100-mode
+* respond to incorrectly formatted DECRQSS with a cancel
+* add allowFontOps resource to allow the fontsize-switching and font query/set
+  control sequences to be enabled/disabled
+
+Index: xterm/charproc.c
+===================================================================
+--- xterm.orig/charproc.c
++++ xterm/charproc.c
+@@ -389,6 +389,7 @@
+ static XtResource resources[] =
+ {
+     Bres(XtNallowSendEvents, XtCAllowSendEvents, screen.allowSendEvent0, False),
++    Bres(XtNallowFontOps, XtCAllowFontOps, screen.allowFontOp0, True),
+     Bres(XtNallowTitleOps, XtCAllowTitleOps, screen.allowTitleOp0, True),
+     Bres(XtNallowWindowOps, XtCAllowWindowOps, screen.allowWindowOp0, True),
+     Bres(XtNaltIsNotMeta, XtCAltIsNotMeta, screen.alt_is_not_meta, False),
+@@ -2144,28 +2145,38 @@
+ 		break;
+ 	    case 15:
+ 		/* printer status */
+-		reply.a_param[count++] = 13;	/* implement printer */
++		if (screen->terminal_id >= 200) {	/* VT220 */
++		    reply.a_param[count++] = 13;	/* implement printer */
++		}
+ 		break;
+ 	    case 25:
+ 		/* UDK status */
+-		reply.a_param[count++] = 20;	/* UDK always unlocked */
++		if (screen->terminal_id >= 200) {	/* VT220 */
++		    reply.a_param[count++] = 20;	/* UDK always unlocked */
++		}
+ 		break;
+ 	    case 26:
+ 		/* keyboard status */
+-		reply.a_param[count++] = 27;
+-		reply.a_param[count++] = 1;	/* North American */
+-		if (screen->terminal_id >= 400) {
+-		    reply.a_param[count++] = 0;		/* ready */
+-		    reply.a_param[count++] = 0;		/* LK201 */
++		if (screen->terminal_id >= 200) {	/* VT220 */
++		    reply.a_param[count++] = 27;
++		    reply.a_param[count++] = 1;		/* North American */
++		    if (screen->terminal_id >= 400) {
++			reply.a_param[count++] = 0;	/* ready */
++			reply.a_param[count++] = 0;	/* LK201 */
++		    }
+ 		}
+ 		break;
+ 	    case 53:
+ 		/* Locator status */
++		if (screen->terminal_id >= 200) {	/* VT220 */
+ #if OPT_DEC_LOCATOR
+-		reply.a_param[count++] = 50;	/* locator ready */
++		    reply.a_param[count++] = 50;	/* locator ready */
+ #else
+-		reply.a_param[count++] = 53;	/* no locator */
++		    reply.a_param[count++] = 53;	/* no locator */
+ #endif
++		}
++		break;
++	    default:
+ 		break;
+ 	    }
+ 
+@@ -5525,11 +5536,13 @@
+     init_Bres(screen.meta_sends_esc);
+ 
+     init_Bres(screen.allowSendEvent0);
++    init_Bres(screen.allowFontOp0);
+     init_Bres(screen.allowTitleOp0);
+     init_Bres(screen.allowWindowOp0);
+ 
+     /* make a copy so that editres cannot change the resource after startup */
+     wnew->screen.allowSendEvents = wnew->screen.allowSendEvent0;
++    wnew->screen.allowFontOps = wnew->screen.allowFontOp0;
+     wnew->screen.allowTitleOps = wnew->screen.allowTitleOp0;
+     wnew->screen.allowWindowOps = wnew->screen.allowWindowOp0;
+ 
+Index: xterm/misc.c
+===================================================================
+--- xterm.orig/misc.c
++++ xterm/misc.c
+@@ -2348,7 +2348,8 @@
+ 	break;
+ 
+     case 3:			/* change X property */
+-	ChangeXprop(buf);
++	if (screen->allowWindowOps)
++	    ChangeXprop(buf);
+ 	break;
+ #if OPT_ISO_COLORS
+     case 4:
+@@ -2401,7 +2402,9 @@
+ 
+     case 50:
+ #if OPT_SHIFT_FONTS
+-	if (buf != 0 && !strcmp(buf, "?")) {
++	if (!screen->allowFontOps && xw->misc.shift_fonts) {
++	    ;			/* disabled via resource or control-sequence */
++	} else if (buf != 0 && !strcmp(buf, "?")) {
+ 	    int num = screen->menu_font_number;
+ 
+ 	    unparseputc1(xw, ANSI_OSC);
+@@ -2472,7 +2475,7 @@
+ 
+ #if OPT_PASTE64
+     case 52:
+-	if (screen->allowWindowOps && (buf != 0))
++	if (screen->allowWindowOps)
+ 	    ManipulateSelectionData(xw, screen, buf, final);
+ 	break;
+ #endif
+@@ -2813,14 +2816,17 @@
+ 	    } else
+ 		okay = False;
+ 
+-	    unparseputc1(xw, ANSI_DCS);
+-	    unparseputc(xw, okay ? '1' : '0');
+-	    unparseputc(xw, '$');
+-	    unparseputc(xw, 'r');
+-	    if (okay)
++	    if (okay) {
++		unparseputc1(xw, ANSI_DCS);
++		unparseputc(xw, okay ? '1' : '0');
++		unparseputc(xw, '$');
++		unparseputc(xw, 'r');
+ 		cp = reply;
+-	    unparseputs(xw, cp);
+-	    unparseputc1(xw, ANSI_ST);
++		unparseputs(xw, cp);
++		unparseputc1(xw, ANSI_ST);
++	    } else {
++		unparseputc(xw, ANSI_CAN);
++	    }
+ 	} else {
+ 	    unparseputc(xw, ANSI_CAN);
+ 	}
+@@ -2892,16 +2898,18 @@
+ 	break;
+ #endif
+     default:
+-	parse_ansi_params(&params, &cp);
+-	switch (params.a_final) {
+-	case '|':		/* DECUDK */
+-	    if (params.a_param[0] == 0)
+-		reset_decudk();
+-	    parse_decudk(cp);
+-	    break;
+-	case '{':		/* DECDLD (no '}' case though) */
+-	    parse_decdld(&params, cp);
+-	    break;
++	if (screen->terminal_id >= 200) {	/* VT220 */
++	    parse_ansi_params(&params, &cp);
++	    switch (params.a_final) {
++	    case '|':		/* DECUDK */
++		if (params.a_param[0] == 0)
++		    reset_decudk();
++		parse_decudk(cp);
++		break;
++	    case '{':		/* DECDLD (no '}' case though) */
++		parse_decdld(&params, cp);
++		break;
++	    }
+ 	}
+ 	break;
+     }
+Index: xterm/ptyx.h
+===================================================================
+--- xterm.orig/ptyx.h
++++ xterm/ptyx.h
+@@ -1405,12 +1405,17 @@
+ 	Boolean		bellOnReset;	/* bellOnReset			*/
+ 	Boolean		visualbell;	/* visual bell mode		*/
+ 	Boolean		poponbell;	/* pop on bell mode		*/
++
++	Boolean		allowFontOps;	/* FontOps mode			*/
+ 	Boolean		allowSendEvents;/* SendEvent mode		*/
+ 	Boolean		allowTitleOps;	/* TitleOps mode		*/
+ 	Boolean		allowWindowOps;	/* WindowOps mode		*/
++
++	Boolean		allowFontOp0;	/* initial FontOps mode		*/
+ 	Boolean		allowSendEvent0;/* initial SendEvent mode	*/
+ 	Boolean		allowTitleOp0;	/* initial TitleOps mode	*/
+ 	Boolean		allowWindowOp0;	/* initial WindowOps mode	*/
++
+ 	Boolean		awaitInput;	/* select-timeout mode		*/
+ 	Boolean		grabbedKbd;	/* keyboard is grabbed		*/
+ #ifdef ALLOWLOGGING
+Index: xterm/xterm.h
+===================================================================
+--- xterm.orig/xterm.h
++++ xterm/xterm.h
+@@ -331,6 +331,7 @@
+ /***====================================================================***/
+ 
+ #define XtNallowC1Printable	"allowC1Printable"
++#define XtNallowFontOps		"allowFontOps"
+ #define XtNallowSendEvents	"allowSendEvents"
+ #define XtNallowTitleOps	"allowTitleOps"
+ #define XtNallowWindowOps	"allowWindowOps"
+@@ -485,6 +486,7 @@
+ #define XtNxmcMoveSGR		"xmcMoveSGR"
+ 
+ #define XtCAllowC1Printable	"AllowC1Printable"
++#define XtCAllowFontOps		"AllowFontOps"
+ #define XtCAllowSendEvents	"AllowSendEvents"
+ #define XtCAllowTitleOps	"AllowTitleOps"
+ #define XtCAllowWindowOps	"AllowWindowOps"
+Index: xterm/xterm.man
+===================================================================
+--- xterm.orig/xterm.man
++++ xterm/xterm.man
+@@ -1439,6 +1439,10 @@
+ Although this corresponds to no particular standard,
+ some users insist it is a VT100.
+ The default is ``false.''
++.TP
++.B "allowFontOps (\fPclass\fB AllowFontOps)"
++Specifies whether control sequences that set/query the font should be allowed.
++The default is ``true.''
+ .TP 8
+ .B "allowSendEvents (\fPclass\fB AllowSendEvents)"
+ Specifies whether or not synthetic key and button events (generated using
diff --git a/debian/patches/series b/debian/patches/series
index d8267b7..fb2c0e7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
+000_backport_from_238.diff
 900_debian_xterm.diff -p0
 901_xterm_manpage.diff -p0
 902_pointermode_never.diff -p0


Reply to: