Re: [PATCH] XShmGetImage: fix censoring

2017-10-11 Thread Nikolay Martynov
Hi.

One more kind ping on this. It has been sent quite a long time ago without
any reply. It would really appreciate if someone could let me know if this
is a correct mailing list or not?
Thanks!

2017-09-21 10:06 GMT-04:00 Nikolay Martynov :

> Hi.
>
> Just a kind ping. Is any additional information needed in this patch?
>
> Thanks!
>
> 2017-09-13 23:23 GMT-04:00 Nikolay Martynov :
> > It looks like offsets calculated during image censoring are wrong.
> > This results in black (empty) images returns.
> >
> > This fix is very similar to 6c6f09aac7f1d1367a042087b7681c7fdf1d1e0f
> > that was applied to XGetImage
> >
> > Visually this fixes chromium/firefox window sharing in multiscreen
> > configurations - without this patch most of the windows on 'secodnary'
> > screens are black.
> >
> > This also should fix https://bugs.freedesktop.org/show_bug.cgi?id=101730
> .
> >
> > Signed-off-by: Nikolay Martynov 
> > ---
> >  Xext/shm.c | 8 ++--
> >  1 file changed, 2 insertions(+), 6 deletions(-)
> >
> > diff --git a/Xext/shm.c b/Xext/shm.c
> > index 91ea90b14..56555c7aa 100644
> > --- a/Xext/shm.c
> > +++ b/Xext/shm.c
> > @@ -650,9 +650,8 @@ ProcShmGetImage(ClientPtr client)
> > wBorderWidth((WindowPtr) pDraw) + (int) pDraw->height)
> >  return BadMatch;
> >  visual = wVisual(((WindowPtr) pDraw));
> > -pVisibleRegion = NotClippedByChildren((WindowPtr) pDraw);
> > -if (pVisibleRegion)
> > -RegionTranslate(pVisibleRegion, -pDraw->x, -pDraw->y);
> > +if (pDraw->type == DRAWABLE_WINDOW)
> > +pVisibleRegion = &((WindowPtr) pDraw)->borderClip;
> >  }
> >  else {
> >  if (stuff->x < 0 ||
> > @@ -715,9 +714,6 @@ ProcShmGetImage(ClientPtr client)
> >  }
> >  }
> >
> > -if (pVisibleRegion)
> > -RegionDestroy(pVisibleRegion);
> > -
> >  if (client->swapped) {
> >  swaps();
> >  swapl();
> > --
> > 2.11.0
> >
>
>
>
> --
> Martynov Nikolay.
> Email: mar.ko...@gmail.com
>



-- 
Martynov Nikolay.
Email: mar.ko...@gmail.com
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[PATCH xserver] meson: Don't forget to define DEBUG!

2017-10-11 Thread Lyude Paul
Signed-off-by: Lyude Paul 
---
 include/meson.build | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/meson.build b/include/meson.build
index 90f8de3cb..8894885c6 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -196,6 +196,9 @@ conf_data.set('XvMCExtension', build_xv)
 
 conf_data.set('HAVE_SHA1_IN_LIBNETTLE', '1') # XXX
 
+enable_debugging = (get_option('buildtype') == 'debug') or 
(get_option('buildtype') == 'debugoptimized')
+conf_data.set('DEBUG', enable_debugging)
+
 conf_data.set_quoted('XVENDORNAME', get_option('vendor_name'))
 conf_data.set_quoted('XVENDORNAMESHORT', get_option('vendor_name_short'))
 conf_data.set_quoted('__VENDORDWEBSUPPORT__', get_option('vendor_web'))
@@ -282,7 +285,6 @@ xwin_data.set('HAS_WINSOCK', host_machine.system() == 
'windows', description: 'U
 xwin_data.set('HAS_DEVWINDOWS', host_machine.system() == 'cygwin', 
description: 'Has /dev/windows for signaling new win32 messages')
 xwin_data.set('RELOCATE_PROJECTROOT', host_machine.system() == 'windows', 
description: 'Make paths relative to the xserver installation location')
 # XXX: these three are all the same as DEBUG so we should just change to that
-enable_debugging = (get_option('buildtype') == 'debug') or 
(get_option('buildtype') == 'debugoptimized')
 xwin_data.set10('CYGDEBUG', enable_debugging)
 xwin_data.set10('CYGWINDOWING_DEBUG',enable_debugging)
 xwin_data.set10('CYGMULTIWINDOW_DEBUG', enable_debugging)
-- 
2.13.6

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH xserver] meson: Add xkb_bin_dir option

2017-10-11 Thread Peter Hutterer
On Wed, Oct 11, 2017 at 06:03:45PM -0400, Lyude Paul wrote:
> Now that we can actually configure all of the directories xkb uses for
> finding things, we can (finally, but only with meson) finally make it so
> that with the correct meson configuration the Xserver will "just work"
> without any additional changes to the installation prefix after
> building.
> 
> For the people like me who have since scripted this part out of their
> build process and forgotten about it, building and installing the X
> server into a non-standard prefix has always required the following (or
> something else that makes sure that X has a valid xkbcomp configuration)
> commands be run right after doing the installation:
> 
>   # start in root of prefix you installed X to
>   mkdir -pv share/X11/xkb/rules
>   ln -s /usr/share/X11/xkb/rules/evdev share/X11/xkb/rules/
>   rm -f bin/xkbcomp
>   ln -s /usr/bin/xkbcomp bin/
> 
> The one last piece of getting rid of this post-install junk is making
> sure that we can control the directory that X uses for finding the
> xkbcomp binary from meson so we can point it at the system provided
> xkbcomp (/usr/bin/xkbcomp or similar). So, this patch adds a
> configuration option for controlling this called xkb_bin_dir.
> 
> Signed-off-by: Lyude Paul 

Reviewed-by: Peter Hutterer 

Cheers,
   Peter
> ---
>  include/meson.build | 2 +-
>  meson.build | 5 +
>  meson_options.txt   | 1 +
>  3 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/include/meson.build b/include/meson.build
> index 90f8de3cb..5d746eb70 100644
> --- a/include/meson.build
> +++ b/include/meson.build
> @@ -219,7 +219,7 @@ configure_file(output : 'version-config.h',
>  
>  xkb_data = configuration_data()
>  
> -xkb_data.set_quoted('XKB_BIN_DIRECTORY', join_paths(get_option('prefix'), 
> get_option('bindir')))
> +xkb_data.set_quoted('XKB_BIN_DIRECTORY', xkb_bin_dir)
>  xkb_data.set_quoted('XKB_BASE_DIRECTORY', xkb_dir)
>  xkb_data.set_quoted('XKB_DFLT_RULES', get_option('xkb_default_rules'))
>  xkb_data.set_quoted('XKB_DFLT_MODEL', get_option('xkb_default_model'))
> diff --git a/meson.build b/meson.build
> index d71cfed5a..f9b21b36c 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -107,6 +107,11 @@ if xkb_output_dir == ''
>  xkb_output_dir = join_paths(get_option('prefix'), 
> 'share/X11/xkb/compiled')
>  endif
>  
> +xkb_bin_dir = get_option('xkb_bin_dir')
> +if xkb_bin_dir == ''
> +xkb_bin_dir = join_paths(get_option('prefix'), get_option('bindir'))
> +endif
> +
>  hal_option = get_option('hal')
>  glamor_option = get_option('glamor')
>  
> diff --git a/meson_options.txt b/meson_options.txt
> index b1ee6ccc5..1954ea7a0 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -29,6 +29,7 @@ option('ipv6', type: 'combo', choices: ['yes', 'no', 
> 'auto'], value: 'auto')
>  
>  option('xkb_dir', type: 'string')
>  option('xkb_output_dir', type: 'string')
> +option('xkb_bin_dir', type: 'string')
>  option('xkb_default_rules', type: 'string', value: 'evdev')
>  option('xkb_default_model', type: 'string', value: 'pc105')
>  option('xkb_default_layout', type: 'string', value: 'us')
> -- 
> 2.13.6
> 
> ___
> xorg-devel@lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel
> 
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[PATCH xserver] meson: Add xkb_bin_dir option

2017-10-11 Thread Lyude Paul
Now that we can actually configure all of the directories xkb uses for
finding things, we can (finally, but only with meson) finally make it so
that with the correct meson configuration the Xserver will "just work"
without any additional changes to the installation prefix after
building.

For the people like me who have since scripted this part out of their
build process and forgotten about it, building and installing the X
server into a non-standard prefix has always required the following (or
something else that makes sure that X has a valid xkbcomp configuration)
commands be run right after doing the installation:

# start in root of prefix you installed X to
mkdir -pv share/X11/xkb/rules
ln -s /usr/share/X11/xkb/rules/evdev share/X11/xkb/rules/
rm -f bin/xkbcomp
ln -s /usr/bin/xkbcomp bin/

The one last piece of getting rid of this post-install junk is making
sure that we can control the directory that X uses for finding the
xkbcomp binary from meson so we can point it at the system provided
xkbcomp (/usr/bin/xkbcomp or similar). So, this patch adds a
configuration option for controlling this called xkb_bin_dir.

Signed-off-by: Lyude Paul 
---
 include/meson.build | 2 +-
 meson.build | 5 +
 meson_options.txt   | 1 +
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/meson.build b/include/meson.build
index 90f8de3cb..5d746eb70 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -219,7 +219,7 @@ configure_file(output : 'version-config.h',
 
 xkb_data = configuration_data()
 
-xkb_data.set_quoted('XKB_BIN_DIRECTORY', join_paths(get_option('prefix'), 
get_option('bindir')))
+xkb_data.set_quoted('XKB_BIN_DIRECTORY', xkb_bin_dir)
 xkb_data.set_quoted('XKB_BASE_DIRECTORY', xkb_dir)
 xkb_data.set_quoted('XKB_DFLT_RULES', get_option('xkb_default_rules'))
 xkb_data.set_quoted('XKB_DFLT_MODEL', get_option('xkb_default_model'))
diff --git a/meson.build b/meson.build
index d71cfed5a..f9b21b36c 100644
--- a/meson.build
+++ b/meson.build
@@ -107,6 +107,11 @@ if xkb_output_dir == ''
 xkb_output_dir = join_paths(get_option('prefix'), 'share/X11/xkb/compiled')
 endif
 
+xkb_bin_dir = get_option('xkb_bin_dir')
+if xkb_bin_dir == ''
+xkb_bin_dir = join_paths(get_option('prefix'), get_option('bindir'))
+endif
+
 hal_option = get_option('hal')
 glamor_option = get_option('glamor')
 
diff --git a/meson_options.txt b/meson_options.txt
index b1ee6ccc5..1954ea7a0 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -29,6 +29,7 @@ option('ipv6', type: 'combo', choices: ['yes', 'no', 'auto'], 
value: 'auto')
 
 option('xkb_dir', type: 'string')
 option('xkb_output_dir', type: 'string')
+option('xkb_bin_dir', type: 'string')
 option('xkb_default_rules', type: 'string', value: 'evdev')
 option('xkb_default_model', type: 'string', value: 'pc105')
 option('xkb_default_layout', type: 'string', value: 'us')
-- 
2.13.6

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: X SECURITY: allowed extensions for untrusted clients

2017-10-11 Thread Adam Jackson
On Fri, 2017-10-06 at 19:46 +, Uecker, Martin wrote:
> Hi,
> 
> I would like to use untrusted connections for remote
> clients. Currently this does not work for me, because it is
> too slow, and I always have to use trusted connections.
> 
> So I wonder what it would take to expose some additional
> extensions that are required for efficiency to untrusted
> clients, in particular the RENDER extension?

The first step would be to add RENDER to the SecurityTrustedExtensions
list. After that one might need to fix SecurityResource() or
SecurityDoCheck() to allow untrusted client to do whatever they want to
their own resources (this might already be the case but I haven't tried
to understand that code in detail).

I continue to maintain that interacting with an "untrusted" remote
client is a weird thing to want: if you can't trust it to interact
peacefully with other clients, how can you trust it to do what you
expect when you type into it? But there's no intrinsic reason why
RENDER couldn't be made to work for untrusted clients, in fact
extending coverage to _all_ extensions should be pretty straightforward
since the selinux work put hooks in all the right places.

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH xserver] glamor: Use GL_MESA_tile_raster_order for overlapping blits.

2017-10-11 Thread Keith Packard
Eric Anholt  writes:

>> Looks like you're also requiring nv_texture_barrier to use the new
>> extension?
>
> texture_barrier is an explicit requirement of the new extension (it's
> how get caches flushed between different overlapping blits).

Makes sense to me. No other concerns from me, this is

Reviewed-by: Keith Packard 

-- 
-keith


signature.asc
Description: PGP signature
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH xserver] glamor: Use GL_MESA_tile_raster_order for overlapping blits.

2017-10-11 Thread Eric Anholt
Keith Packard  writes:

> [ Unknown signature status ]
> Eric Anholt  writes:
>
>> +/* Include the enums here for the moment, to keep from needing to bump 
>> epoxy. */
>> +#ifndef GL_TILE_RASTER_ORDER_FIXED_MESA
>> +#define GL_TILE_RASTER_ORDER_FIXED_MESA  0x8BB8
>> +#define GL_TILE_RASTER_ORDER_INCREASING_X_MESA   0x8BB9
>> +#define GL_TILE_RASTER_ORDER_INCREASING_Y_MESA   0x8BBA
>> +#endif
>
> Yuck, but whatever.
>> @@ -611,34 +633,36 @@ glamor_copy_needs_temp(DrawablePtr src,
>>  if (!glamor_priv->has_nv_texture_barrier)
>>  return TRUE;
>
> Looks like you're also requiring nv_texture_barrier to use the new
> extension?

texture_barrier is an explicit requirement of the new extension (it's
how get caches flushed between different overlapping blits).


signature.asc
Description: PGP signature
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[PATCH] config/udev: Add sys/sysmacros.h include for major/minor functions for new glibc

2017-10-11 Thread Mart Raudsepp
Commits d732c36597fa and 84e3b96b5313 added the include to some files, but
missed config/udev.c, where the major and minor functions are used as well.
This should be Linux-only, so we don't need the sys/mkdev.h case here for
Solaris.

Signed-off-by: Mart Raudsepp 
---
Please consider for server-1.19-branch as well.

 config/udev.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/config/udev.c b/config/udev.c
index 932f230..b3b8d0f 100644
--- a/config/udev.c
+++ b/config/udev.c
@@ -30,6 +30,9 @@
 #include 
 #include 
 #include 
+#ifdef HAVE_SYS_SYSMACROS_H
+#include 
+#endif
 
 #include "input.h"
 #include "inputstr.h"
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel