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

Bug#510030: xterm: DECRQSS and comments



* Julien Cristau:

> I'm considering the below diff for lenny, please review and tell me
> whether this is ok for testing-security.

If I read the patch correctly, you change the compiled-in defaults.
This is fine, but is somewhat different from allowWindowOps approach
in etch (which shipped a configuration file).  etch -> lenny updates
should work as well and result in a conservative configuration choice.

For reference, I've attached the patch I plan to apply to the etch4
version, to reintroduce font shifting support for those who need it.
If you think we need to backport more changes in #238, I'm open to
that, too.

Index: git/ptyx.h
===================================================================
--- git.orig/ptyx.h	2009-01-02 21:35:07.000000000 +0100
+++ git/ptyx.h	2009-01-02 21:35:23.000000000 +0100
@@ -1345,8 +1345,10 @@
 	Boolean		bellOnReset;	/* bellOnReset			*/
 	Boolean		visualbell;	/* visual bell mode		*/
 	Boolean		poponbell;	/* pop on bell mode		*/
+	Boolean		allowFontOps;	/* FontOps mode			*/
 	Boolean		allowSendEvents;/* SendEvent mode		*/
 	Boolean		allowWindowOps;	/* WindowOps mode		*/
+	Boolean		allowFontOps0;	/* initial FontOps mode		*/
 	Boolean		allowSendEvent0;/* initial SendEvent mode	*/
 	Boolean		allowWindowOp0;	/* initial WindowOps mode	*/
 	Boolean		awaitInput;	/* select-timeout mode		*/
Index: git/charproc.c
===================================================================
--- git.orig/charproc.c	2009-01-02 21:35:07.000000000 +0100
+++ git/charproc.c	2009-01-02 21:35:23.000000000 +0100
@@ -394,6 +394,7 @@
 
 static XtResource resources[] =
 {
+    Bres(XtNallowFontOps, XtCAllowFontOps, screen.allowFontOps0, False),
     Bres(XtNallowSendEvents, XtCAllowSendEvents, screen.allowSendEvent0, False),
     Bres(XtNallowWindowOps, XtCAllowWindowOps, screen.allowWindowOp0, True),
     Bres(XtNalwaysHighlight, XtCAlwaysHighlight, screen.always_highlight, False),
@@ -5524,10 +5525,12 @@
     init_Bres(screen.meta_sends_esc);
 
     init_Bres(screen.allowSendEvent0);
+    init_Bres(screen.allowFontOps0);
     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.allowFontOps0;
     wnew->screen.allowWindowOps = wnew->screen.allowWindowOp0;
 
 #ifndef NO_ACTIVE_ICON
Index: git/xterm.h
===================================================================
--- git.orig/xterm.h	2009-01-02 21:35:07.000000000 +0100
+++ git/xterm.h	2009-01-02 21:35:23.000000000 +0100
@@ -325,6 +325,7 @@
 /***====================================================================***/
 
 #define XtNallowC1Printable	"allowC1Printable"
+#define XtNallowFontOps		"allowFontOps"
 #define XtNallowSendEvents	"allowSendEvents"
 #define XtNallowWindowOps	"allowWindowOps"
 #define XtNalwaysHighlight	"alwaysHighlight"
@@ -463,6 +464,7 @@
 #define XtNxmcMoveSGR		"xmcMoveSGR"
 
 #define XtCAllowC1Printable	"AllowC1Printable"
+#define XtCAllowFontOps		"AllowFontOps"
 #define XtCAllowSendEvents	"AllowSendEvents"
 #define XtCAllowWindowOps	"AllowWindowOps"
 #define XtCAlwaysHighlight	"AlwaysHighlight"
Index: git/xterm.man
===================================================================
--- git.orig/xterm.man	2009-01-02 21:35:23.000000000 +0100
+++ git/xterm.man	2009-01-02 21:35:23.000000000 +0100
@@ -1349,6 +1349,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 ``false.''
 .TP 8
 .B "allowSendEvents (\fPclass\fB AllowSendEvents)"
 Specifies whether or not synthetic key and button events (generated using
Index: git/misc.c
===================================================================
--- git.orig/misc.c	2009-01-02 21:37:05.000000000 +0100
+++ git/misc.c	2009-01-02 21:37:15.000000000 +0100
@@ -1847,7 +1847,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, OSC);





Reply to: