1
0
OBS User unknown 2008-03-21 01:47:42 +00:00 committed by Git OBS Bridge
parent 25629a77ff
commit c181272d20
5 changed files with 149 additions and 10 deletions

View File

@ -0,0 +1,19 @@
diff -u -w -r xorg-server-1.4.0.90.orig//hw/vnc/init.c xorg-server-1.4.0.90/hw/vnc/init.c
--- xorg-server-1.4.0.90.orig//hw/vnc/init.c 2008-03-20 14:49:06.620576750 +0100
+++ xorg-server-1.4.0.90/hw/vnc/init.c 2008-03-20 14:49:27.769898500 +0100
@@ -827,6 +827,7 @@
KbdDeviceOff();
break;
case DEVICE_CLOSE:
+ vncSetKeyboardDevice(NULL);
if (pDev->on)
KbdDeviceOff();
break;
@@ -869,6 +870,7 @@
break;
case DEVICE_CLOSE:
+ vncSetPointerDevice(NULL);
if (pDev->on)
PtrDeviceOff();
break;

View File

@ -6821,7 +6821,7 @@ diff -pNur xorg-server-1.4.orig/hw/vnc/httpd.c xorg-server-1.4/hw/vnc/httpd.c
diff -pNur xorg-server-1.4.orig/hw/vnc/init.c xorg-server-1.4/hw/vnc/init.c diff -pNur xorg-server-1.4.orig/hw/vnc/init.c xorg-server-1.4/hw/vnc/init.c
--- xorg-server-1.4.orig/hw/vnc/init.c 1969-12-31 16:00:00.000000000 -0800 --- xorg-server-1.4.orig/hw/vnc/init.c 1969-12-31 16:00:00.000000000 -0800
+++ xorg-server-1.4/hw/vnc/init.c 2007-09-06 16:09:45.000000000 -0700 +++ xorg-server-1.4/hw/vnc/init.c 2007-09-06 16:09:45.000000000 -0700
@@ -0,0 +1,1077 @@ @@ -0,0 +1,1075 @@
+/* +/*
+ * init.c + * init.c
+ * + *
@ -7636,7 +7636,7 @@ diff -pNur xorg-server-1.4.orig/hw/vnc/init.c xorg-server-1.4/hw/vnc/init.c
+ switch (onoff) + switch (onoff)
+ { + {
+ case DEVICE_INIT: + case DEVICE_INIT:
+ vncSetKeyboardDevice(pDevice); + vncSetKeyboardDevice(pDevice);
+ KbdDeviceInit(pDevice, &keySyms, modMap); + KbdDeviceInit(pDevice, &keySyms, modMap);
+ InitKeyboardDeviceStruct(pDev, &keySyms, modMap, + InitKeyboardDeviceStruct(pDev, &keySyms, modMap,
+ (BellProcPtr)rfbSendBell, + (BellProcPtr)rfbSendBell,
@ -7651,7 +7651,6 @@ diff -pNur xorg-server-1.4.orig/hw/vnc/init.c xorg-server-1.4/hw/vnc/init.c
+ KbdDeviceOff(); + KbdDeviceOff();
+ break; + break;
+ case DEVICE_CLOSE: + case DEVICE_CLOSE:
+ vncSetKeyboardDevice(NULL);
+ if (pDev->on) + if (pDev->on)
+ KbdDeviceOff(); + KbdDeviceOff();
+ break; + break;
@ -7680,7 +7679,7 @@ diff -pNur xorg-server-1.4.orig/hw/vnc/init.c xorg-server-1.4/hw/vnc/init.c
+ GetMotionHistory, + GetMotionHistory,
+ PtrDeviceControl, + PtrDeviceControl,
+ GetMaximumEventsNum(), 2 /* numAxes */); + GetMaximumEventsNum(), 2 /* numAxes */);
+ vncSetPointerDevice(pDevice); + vncSetPointerDevice(pDevice);
+ break; + break;
+ +
+ case DEVICE_ON: + case DEVICE_ON:
@ -7694,7 +7693,6 @@ diff -pNur xorg-server-1.4.orig/hw/vnc/init.c xorg-server-1.4/hw/vnc/init.c
+ break; + break;
+ +
+ case DEVICE_CLOSE: + case DEVICE_CLOSE:
+ vncSetPointerDevice(NULL);
+ if (pDev->on) + if (pDev->on)
+ PtrDeviceOff(); + PtrDeviceOff();
+ break; + break;
@ -10151,7 +10149,7 @@ diff -pNur xorg-server-1.4.orig/hw/vnc/rfbkeyb.c xorg-server-1.4/hw/vnc/rfbkeyb.
+ switch (onoff) + switch (onoff)
+ { + {
+ case DEVICE_INIT: + case DEVICE_INIT:
+ vncSetKeyboardDevice(device); + vncSetKeyboardDevice(device);
+ KbdDeviceInit(device, &keySyms, modMap); + KbdDeviceInit(device, &keySyms, modMap);
+#ifdef XKB +#ifdef XKB
+ if (noXkbExtension) { + if (noXkbExtension) {
@ -10204,7 +10202,7 @@ diff -pNur xorg-server-1.4.orig/hw/vnc/rfbkeyb.c xorg-server-1.4/hw/vnc/rfbkeyb.
+ KbdDeviceOff(); + KbdDeviceOff();
+ break; + break;
+ case DEVICE_CLOSE: + case DEVICE_CLOSE:
+ vncSetKeyboardDevice(NULL); + vncSetKeyboardDevice(NULL);
+ if (pDev->on) + if (pDev->on)
+ KbdDeviceOff(); + KbdDeviceOff();
+ break; + break;
@ -10530,7 +10528,7 @@ diff -pNur xorg-server-1.4.orig/hw/vnc/rfbmouse.c xorg-server-1.4/hw/vnc/rfbmous
+ switch (onoff) + switch (onoff)
+ { + {
+ case DEVICE_INIT: + case DEVICE_INIT:
+ vncSetPointerDevice(device); + vncSetPointerDevice(device);
+ PtrDeviceInit(); + PtrDeviceInit();
+ map[1] = 1; + map[1] = 1;
+ map[2] = 2; + map[2] = 2;
@ -10554,7 +10552,7 @@ diff -pNur xorg-server-1.4.orig/hw/vnc/rfbmouse.c xorg-server-1.4/hw/vnc/rfbmous
+ break; + break;
+ +
+ case DEVICE_CLOSE: + case DEVICE_CLOSE:
+ vncSetPointerDevice(NULL); + vncSetPointerDevice(NULL);
+ if (pDev->on) + if (pDev->on)
+ PtrDeviceOff(); + PtrDeviceOff();
+ break; + break;

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Thu Mar 20 14:51:20 CET 2008 - sndirsch@suse.de
- zap_warning_xserver.diff
* implements FATE #302988: ZapWarning (Luc Verhaegen)
Uses PCSpeaker for beep. Press once, beep. Press again within
2s (which is ample), terminate. Documented in xorg.conf manpage.
- make the memory corruption fix by schwab a seperate patch to make
sure it won't get lost the next time I update the VNC patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Mar 19 20:11:26 CET 2008 - schwab@suse.de Wed Mar 19 20:11:26 CET 2008 - schwab@suse.de

View File

@ -22,7 +22,7 @@ BuildRequires: libjpeg-devel
Url: http://xorg.freedesktop.org/ Url: http://xorg.freedesktop.org/
%define EXPERIMENTAL 0 %define EXPERIMENTAL 0
Version: 7.3 Version: 7.3
Release: 77 Release: 78
License: X11/MIT License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4 Group: System/X11/Servers/XF86_4
@ -106,6 +106,8 @@ Patch97: CVE-2007-6429-shm_evi.diff
Patch98: CVE-2008-0006-pcf_font.diff Patch98: CVE-2008-0006-pcf_font.diff
Patch99: commit-50e80c3.diff Patch99: commit-50e80c3.diff
Patch100: commit-a6a7fad.diff Patch100: commit-a6a7fad.diff
Patch101: zap_warning_xserver.diff
Patch102: xorg-server-1.4-vnc-memory.diff
%description %description
This package contains the X.Org Server. This package contains the X.Org Server.
@ -206,6 +208,7 @@ popd
%patch39 -p1 %patch39 -p1
%patch40 -p1 %patch40 -p1
%patch43 -p0 %patch43 -p0
%patch102 -p1
chmod 755 hw/vnc/symlink-vnc.sh chmod 755 hw/vnc/symlink-vnc.sh
%endif %endif
%patch41 -p1 %patch41 -p1
@ -238,6 +241,7 @@ popd
%patch98 -p1 %patch98 -p1
%patch99 -p1 %patch99 -p1
%patch100 -p1 %patch100 -p1
%patch101 -p1
%build %build
pushd xorg-docs-* pushd xorg-docs-*
@ -544,6 +548,13 @@ exit 0
%endif %endif
%changelog %changelog
* Thu Mar 20 2008 sndirsch@suse.de
- zap_warning_xserver.diff
* implements FATE #302988: ZapWarning (Luc Verhaegen)
Uses PCSpeaker for beep. Press once, beep. Press again within
2s (which is ample), terminate. Documented in xorg.conf manpage.
- make the memory corruption fix by schwab a seperate patch to make
sure it won't get lost the next time I update the VNC patch
* Wed Mar 19 2008 schwab@suse.de * Wed Mar 19 2008 schwab@suse.de
- Fix vnc server memory corruption. - Fix vnc server memory corruption.
* Fri Mar 07 2008 sndirsch@suse.de * Fri Mar 07 2008 sndirsch@suse.de

101
zap_warning_xserver.diff Normal file
View File

@ -0,0 +1,101 @@
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Config.c xorg-server-1.4.0.90/hw/xfree86/common/xf86Config.c
--- xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Config.c 2008-03-09 12:36:39.000000000 +0100
+++ xorg-server-1.4.0.90/hw/xfree86/common/xf86Config.c 2008-03-09 13:33:17.000000000 +0100
@@ -743,6 +743,7 @@
FLAG_NOTRAPSIGNALS,
FLAG_DONTVTSWITCH,
FLAG_DONTZAP,
+ FLAG_ZAPWARNING,
FLAG_DONTZOOM,
FLAG_DISABLEVIDMODE,
FLAG_ALLOWNONLOCAL,
@@ -788,6 +789,8 @@
{0}, FALSE },
{ FLAG_DONTZAP, "DontZap", OPTV_BOOLEAN,
{0}, FALSE },
+ { FLAG_ZAPWARNING, "ZapWarning", OPTV_BOOLEAN,
+ {0}, FALSE },
{ FLAG_DONTZOOM, "DontZoom", OPTV_BOOLEAN,
{0}, FALSE },
{ FLAG_DISABLEVIDMODE, "DisableVidModeExtension", OPTV_BOOLEAN,
@@ -912,6 +915,7 @@
xf86GetOptValBool(FlagOptions, FLAG_NOTRAPSIGNALS, &xf86Info.notrapSignals);
xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch);
xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap);
+ xf86GetOptValBool(FlagOptions, FLAG_ZAPWARNING, &xf86Info.ZapWarning);
xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom);
xf86GetOptValBool(FlagOptions, FLAG_ALLOW_DEACTIVATE_GRABS,
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Events.c xorg-server-1.4.0.90/hw/xfree86/common/xf86Events.c
--- xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Events.c 2008-03-09 13:27:24.000000000 +0100
+++ xorg-server-1.4.0.90/hw/xfree86/common/xf86Events.c 2008-03-09 13:30:18.000000000 +0100
@@ -267,12 +267,26 @@
#endif
switch (action) {
case ACTION_TERMINATE:
- if (!xf86Info.dontZap) {
+ if (xf86Info.dontZap)
+ break;
+
+ if (xf86Info.ZapWarning) {
+ static struct timeval LastZap = { 0, 0};
+ struct timeval NewZap;
+
+ gettimeofday(&NewZap, NULL);
+
+ if ((NewZap.tv_sec - LastZap.tv_sec) >= 2) {
+ xf86OSRingBell(100, 1000, 500);
+ LastZap = NewZap;
+ break;
+ }
+ }
+
#ifdef XFreeXDGA
- DGAShutdown();
+ DGAShutdown();
#endif
- GiveUp(0);
- }
+ GiveUp(0);
break;
case ACTION_NEXT_MODE:
if (!xf86Info.dontZoom)
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Globals.c xorg-server-1.4.0.90/hw/xfree86/common/xf86Globals.c
--- xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Globals.c 2008-03-09 12:36:39.000000000 +0100
+++ xorg-server-1.4.0.90/hw/xfree86/common/xf86Globals.c 2008-03-09 13:31:40.000000000 +0100
@@ -107,6 +107,7 @@
FALSE, /* inputPending */
FALSE, /* dontVTSwitch */
FALSE, /* dontZap */
+ FALSE, /* ZapWarning */
FALSE, /* dontZoom */
FALSE, /* notrapSignals */
FALSE, /* caughtSignal */
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Privstr.h xorg-server-1.4.0.90/hw/xfree86/common/xf86Privstr.h
--- xorg-server-1.4.0.90-orig//hw/xfree86/common/xf86Privstr.h 2007-12-07 03:38:42.000000000 +0100
+++ xorg-server-1.4.0.90/hw/xfree86/common/xf86Privstr.h 2008-03-09 13:29:43.000000000 +0100
@@ -85,6 +85,7 @@
Bool inputPending;
Bool dontVTSwitch;
Bool dontZap;
+ Bool ZapWarning;
Bool dontZoom;
Bool notrapSignals; /* don't exit cleanly - die at fault */
Bool caughtSignal;
diff -ur xorg-server-1.4.0.90-orig//hw/xfree86/doc/man/xorg.conf.man.pre xorg-server-1.4.0.90/hw/xfree86/doc/man/xorg.conf.man.pre
--- xorg-server-1.4.0.90-orig//hw/xfree86/doc/man/xorg.conf.man.pre 2008-03-09 12:36:39.000000000 +0100
+++ xorg-server-1.4.0.90/hw/xfree86/doc/man/xorg.conf.man.pre 2008-03-09 13:42:36.000000000 +0100
@@ -446,6 +446,13 @@
is passed to clients.
Default: off.
.TP 7
+.BI "Option \*qZapWarning\*q \*q" boolean \*q
+This warns the user loudly when the
+.B Ctrl+Alt+Backspace
+sequence is pressed for the first time but still terminates the __xservername__
+server when this key-sequence is pressed again shortly after.
+Default: off.
+.TP 7
.BI "Option \*qDontZoom\*q \*q" boolean \*q
This disallows the use of the
.B Ctrl+Alt+Keypad\-Plus