Commit 7610c0f1 authored by Mike Gabriel's avatar Mike Gabriel

debian/*: Adopt from official Debian package where appropriate.

parent c5f3c204
......@@ -69,10 +69,10 @@ Package: libnx-x11-6
Architecture: any
Multi-Arch: same
Depends:
libx11-data,
libxcomp3 (= ${binary:Version}),
nx-x11-common (<< ${source:Version}.1),
nx-x11-common (>= ${source:Version}),
libx11-data,
${misc:Depends},
${shlibs:Depends}
Breaks:
......
......@@ -399,304 +399,304 @@ Comment:
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Files: nx-X11/extras/Mesa_6.4.2/include/GL/gl.h
nx-X11/extras/Mesa_6.4.2/include/GL/osmesa.h
nx-X11/extras/Mesa_6.4.2/include/GL/xmesa.h
nx-X11/extras/Mesa_6.4.2/src/mesa/array_cache/ac_context.c
nx-X11/extras/Mesa_6.4.2/src/mesa/array_cache/ac_context.h
nx-X11/extras/Mesa_6.4.2/src/mesa/array_cache/ac_import.c
nx-X11/extras/Mesa_6.4.2/src/mesa/array_cache/acache.h
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/common/driverfuncs.c
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/common/driverfuncs.h
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/x11/glxheader.h
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/x11/xm_api.c
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/x11/xm_buffer.c
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/x11/xm_dd.c
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/x11/xm_line.c
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/x11/xm_span.c
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/x11/xm_tri.c
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/x11/xmesaP.h
nx-X11/extras/Mesa_6.4.2/src/mesa/glapi/glapi.c
nx-X11/extras/Mesa_6.4.2/src/mesa/glapi/glapi.h
nx-X11/extras/Mesa_6.4.2/src/mesa/glapi/glthread.c
nx-X11/extras/Mesa_6.4.2/src/mesa/glapi/glthread.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/accum.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/accum.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/api_arrayelt.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/api_arrayelt.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/api_eval.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/api_loopback.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/api_loopback.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/api_noop.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/api_noop.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/api_validate.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/api_validate.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/attrib.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/attrib.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/blend.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/blend.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/bufferobj.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/bufferobj.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/buffers.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/buffers.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/clip.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/clip.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/colormac.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/colortab.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/colortab.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/config.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/context.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/context.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/convolve.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/convolve.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/dd.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/debug.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/debug.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/depth.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/depth.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/dispatch.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/dlist.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/dlist.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/drawpix.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/drawpix.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/enable.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/enable.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/enums.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/enums.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/eval.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/eval.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/execmem.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/extensions.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/extensions.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/fbobject.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/fbobject.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/feedback.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/feedback.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/fog.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/fog.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/framebuffer.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/framebuffer.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/get.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/getstring.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/glheader.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/hash.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/hash.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/hint.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/hint.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/histogram.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/histogram.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/image.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/image.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/imports.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/imports.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/light.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/light.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/lines.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/lines.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/macros.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/matrix.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/matrix.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/mtypes.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/occlude.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/occlude.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/pixel.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/pixel.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/points.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/points.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/polygon.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/polygon.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/rastpos.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/rastpos.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/renderbuffer.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/renderbuffer.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/state.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/state.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/stencil.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/stencil.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texcompress.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texcompress.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texcompress_fxt1.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texcompress_s3tc.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texenvprogram.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texformat.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texformat.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texformat_tmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/teximage.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/teximage.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texobj.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texobj.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texstate.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texstate.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texstore.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texstore.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/varray.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/varray.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/version.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/vtxfmt.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/vtxfmt.h
nx-X11/extras/Mesa_6.4.2/src/mesa/main/vtxfmt_tmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_clip_tmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_copy_tmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_debug.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_debug_clip.c
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_debug_norm.c
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_debug_util.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_debug_xform.c
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_dotprod_tmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_eval.c
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_eval.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_matrix.c
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_matrix.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_norm_tmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_trans_tmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_translate.c
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_translate.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_vector.c
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_vector.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_xform.c
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_xform.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/m_xform_tmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/math/mathmod.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/arbfragparse.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/arbfragparse.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/arbprogparse.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/arbprogparse.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/arbprogram.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/arbprogram.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/arbvertparse.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/arbvertparse.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/grammar/grammar.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/grammar/grammar.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/grammar/grammar_mesa.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/grammar/grammar_mesa.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/nvfragparse.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/nvfragparse.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/nvfragprog.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/nvprogram.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/nvprogram.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/nvvertexec.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/nvvertexec.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/nvvertparse.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/nvvertparse.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/nvvertprog.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/program.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/program.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/shaderobjects.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/shaderobjects.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/shaderobjects_3dlabs.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/shaderobjects_3dlabs.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_assemble.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_assemble.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_assemble_assignment.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_assemble_assignment.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_assemble_conditional.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_assemble_conditional.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_assemble_constructor.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_assemble_constructor.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_assemble_typeinfo.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_assemble_typeinfo.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_compile.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_compile.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_execute.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_execute.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_preprocess.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_preprocess.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_storage.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_storage.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_utility.c
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/slang_utility.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/traverse_wrap.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_aaline.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_aaline.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_aalinetemp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_aatriangle.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_aatriangle.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_aatritemp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_accum.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_accum.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_alpha.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_alpha.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_bitmap.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_blend.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_blend.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_buffers.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_context.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_context.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_copypix.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_depth.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_depth.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_drawpix.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_drawpix.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_feedback.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_feedback.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_fog.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_fog.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_imaging.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_lines.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_lines.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_linetemp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_logic.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_logic.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_masking.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_masking.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_nvfragprog.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_nvfragprog.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_pixeltex.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_pixeltex.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_points.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_points.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_pointtemp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_readpix.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_span.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_span.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_spantemp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_stencil.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_stencil.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_texstore.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_texture.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_texture.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_triangle.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_triangle.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_trispan.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_tritemp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_zoom.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_zoom.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/swrast.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast_setup/ss_context.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast_setup/ss_context.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast_setup/ss_triangle.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast_setup/ss_triangle.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast_setup/ss_tritmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast_setup/swrast_setup.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_array_api.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_array_api.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_array_import.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_array_import.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_context.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_context.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_pipeline.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_pipeline.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_save_loopback.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_save_playback.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_arbprogram.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_arbprogram.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_arbprogram_sse.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_cliptmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_cull.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_fog.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_light.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_lighttmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_normals.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_points.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_program.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_render.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_rendertmp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_texgen.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_texmat.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vb_vertex.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vtx_eval.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vtx_exec.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/tnl.h
Files: nx-X11/extras/Mesa/include/GL/gl.h
nx-X11/extras/Mesa/include/GL/osmesa.h
nx-X11/extras/Mesa/include/GL/xmesa.h
nx-X11/extras/Mesa/src/mesa/array_cache/ac_context.c
nx-X11/extras/Mesa/src/mesa/array_cache/ac_context.h
nx-X11/extras/Mesa/src/mesa/array_cache/ac_import.c
nx-X11/extras/Mesa/src/mesa/array_cache/acache.h
nx-X11/extras/Mesa/src/mesa/drivers/common/driverfuncs.c
nx-X11/extras/Mesa/src/mesa/drivers/common/driverfuncs.h
nx-X11/extras/Mesa/src/mesa/drivers/x11/glxheader.h
nx-X11/extras/Mesa/src/mesa/drivers/x11/xm_api.c
nx-X11/extras/Mesa/src/mesa/drivers/x11/xm_buffer.c
nx-X11/extras/Mesa/src/mesa/drivers/x11/xm_dd.c
nx-X11/extras/Mesa/src/mesa/drivers/x11/xm_line.c
nx-X11/extras/Mesa/src/mesa/drivers/x11/xm_span.c
nx-X11/extras/Mesa/src/mesa/drivers/x11/xm_tri.c
nx-X11/extras/Mesa/src/mesa/drivers/x11/xmesaP.h
nx-X11/extras/Mesa/src/mesa/glapi/glapi.c
nx-X11/extras/Mesa/src/mesa/glapi/glapi.h
nx-X11/extras/Mesa/src/mesa/glapi/glthread.c
nx-X11/extras/Mesa/src/mesa/glapi/glthread.h
nx-X11/extras/Mesa/src/mesa/main/accum.c
nx-X11/extras/Mesa/src/mesa/main/accum.h
nx-X11/extras/Mesa/src/mesa/main/api_arrayelt.c
nx-X11/extras/Mesa/src/mesa/main/api_arrayelt.h
nx-X11/extras/Mesa/src/mesa/main/api_eval.h
nx-X11/extras/Mesa/src/mesa/main/api_loopback.c
nx-X11/extras/Mesa/src/mesa/main/api_loopback.h
nx-X11/extras/Mesa/src/mesa/main/api_noop.c
nx-X11/extras/Mesa/src/mesa/main/api_noop.h
nx-X11/extras/Mesa/src/mesa/main/api_validate.c
nx-X11/extras/Mesa/src/mesa/main/api_validate.h
nx-X11/extras/Mesa/src/mesa/main/attrib.c
nx-X11/extras/Mesa/src/mesa/main/attrib.h
nx-X11/extras/Mesa/src/mesa/main/blend.c
nx-X11/extras/Mesa/src/mesa/main/blend.h
nx-X11/extras/Mesa/src/mesa/main/bufferobj.c
nx-X11/extras/Mesa/src/mesa/main/bufferobj.h
nx-X11/extras/Mesa/src/mesa/main/buffers.c
nx-X11/extras/Mesa/src/mesa/main/buffers.h
nx-X11/extras/Mesa/src/mesa/main/clip.c
nx-X11/extras/Mesa/src/mesa/main/clip.h
nx-X11/extras/Mesa/src/mesa/main/colormac.h
nx-X11/extras/Mesa/src/mesa/main/colortab.c
nx-X11/extras/Mesa/src/mesa/main/colortab.h
nx-X11/extras/Mesa/src/mesa/main/config.h
nx-X11/extras/Mesa/src/mesa/main/context.c
nx-X11/extras/Mesa/src/mesa/main/context.h
nx-X11/extras/Mesa/src/mesa/main/convolve.c
nx-X11/extras/Mesa/src/mesa/main/convolve.h
nx-X11/extras/Mesa/src/mesa/main/dd.h
nx-X11/extras/Mesa/src/mesa/main/debug.c
nx-X11/extras/Mesa/src/mesa/main/debug.h
nx-X11/extras/Mesa/src/mesa/main/depth.c
nx-X11/extras/Mesa/src/mesa/main/depth.h
nx-X11/extras/Mesa/src/mesa/main/dispatch.c
nx-X11/extras/Mesa/src/mesa/main/dlist.c
nx-X11/extras/Mesa/src/mesa/main/dlist.h
nx-X11/extras/Mesa/src/mesa/main/drawpix.c
nx-X11/extras/Mesa/src/mesa/main/drawpix.h
nx-X11/extras/Mesa/src/mesa/main/enable.c
nx-X11/extras/Mesa/src/mesa/main/enable.h
nx-X11/extras/Mesa/src/mesa/main/enums.c
nx-X11/extras/Mesa/src/mesa/main/enums.h
nx-X11/extras/Mesa/src/mesa/main/eval.c
nx-X11/extras/Mesa/src/mesa/main/eval.h
nx-X11/extras/Mesa/src/mesa/main/execmem.c
nx-X11/extras/Mesa/src/mesa/main/extensions.c
nx-X11/extras/Mesa/src/mesa/main/extensions.h
nx-X11/extras/Mesa/src/mesa/main/fbobject.c
nx-X11/extras/Mesa/src/mesa/main/fbobject.h
nx-X11/extras/Mesa/src/mesa/main/feedback.c
nx-X11/extras/Mesa/src/mesa/main/feedback.h
nx-X11/extras/Mesa/src/mesa/main/fog.c
nx-X11/extras/Mesa/src/mesa/main/fog.h
nx-X11/extras/Mesa/src/mesa/main/framebuffer.c
nx-X11/extras/Mesa/src/mesa/main/framebuffer.h
nx-X11/extras/Mesa/src/mesa/main/get.h
nx-X11/extras/Mesa/src/mesa/main/getstring.c
nx-X11/extras/Mesa/src/mesa/main/glheader.h
nx-X11/extras/Mesa/src/mesa/main/hash.c
nx-X11/extras/Mesa/src/mesa/main/hash.h
nx-X11/extras/Mesa/src/mesa/main/hint.c
nx-X11/extras/Mesa/src/mesa/main/hint.h
nx-X11/extras/Mesa/src/mesa/main/histogram.c
nx-X11/extras/Mesa/src/mesa/main/histogram.h
nx-X11/extras/Mesa/src/mesa/main/image.c
nx-X11/extras/Mesa/src/mesa/main/image.h
nx-X11/extras/Mesa/src/mesa/main/imports.c
nx-X11/extras/Mesa/src/mesa/main/imports.h
nx-X11/extras/Mesa/src/mesa/main/light.c
nx-X11/extras/Mesa/src/mesa/main/light.h
nx-X11/extras/Mesa/src/mesa/main/lines.c
nx-X11/extras/Mesa/src/mesa/main/lines.h
nx-X11/extras/Mesa/src/mesa/main/macros.h
nx-X11/extras/Mesa/src/mesa/main/matrix.c
nx-X11/extras/Mesa/src/mesa/main/matrix.h
nx-X11/extras/Mesa/src/mesa/main/mtypes.h
nx-X11/extras/Mesa/src/mesa/main/occlude.c
nx-X11/extras/Mesa/src/mesa/main/occlude.h
nx-X11/extras/Mesa/src/mesa/main/pixel.c
nx-X11/extras/Mesa/src/mesa/main/pixel.h
nx-X11/extras/Mesa/src/mesa/main/points.c
nx-X11/extras/Mesa/src/mesa/main/points.h
nx-X11/extras/Mesa/src/mesa/main/polygon.c
nx-X11/extras/Mesa/src/mesa/main/polygon.h
nx-X11/extras/Mesa/src/mesa/main/rastpos.c
nx-X11/extras/Mesa/src/mesa/main/rastpos.h
nx-X11/extras/Mesa/src/mesa/main/renderbuffer.c
nx-X11/extras/Mesa/src/mesa/main/renderbuffer.h
nx-X11/extras/Mesa/src/mesa/main/state.c
nx-X11/extras/Mesa/src/mesa/main/state.h
nx-X11/extras/Mesa/src/mesa/main/stencil.c
nx-X11/extras/Mesa/src/mesa/main/stencil.h
nx-X11/extras/Mesa/src/mesa/main/texcompress.c
nx-X11/extras/Mesa/src/mesa/main/texcompress.h
nx-X11/extras/Mesa/src/mesa/main/texcompress_fxt1.c
nx-X11/extras/Mesa/src/mesa/main/texcompress_s3tc.c
nx-X11/extras/Mesa/src/mesa/main/texenvprogram.h
nx-X11/extras/Mesa/src/mesa/main/texformat.c
nx-X11/extras/Mesa/src/mesa/main/texformat.h
nx-X11/extras/Mesa/src/mesa/main/texformat_tmp.h
nx-X11/extras/Mesa/src/mesa/main/teximage.c
nx-X11/extras/Mesa/src/mesa/main/teximage.h
nx-X11/extras/Mesa/src/mesa/main/texobj.c
nx-X11/extras/Mesa/src/mesa/main/texobj.h
nx-X11/extras/Mesa/src/mesa/main/texstate.c
nx-X11/extras/Mesa/src/mesa/main/texstate.h
nx-X11/extras/Mesa/src/mesa/main/texstore.c
nx-X11/extras/Mesa/src/mesa/main/texstore.h
nx-X11/extras/Mesa/src/mesa/main/varray.c
nx-X11/extras/Mesa/src/mesa/main/varray.h
nx-X11/extras/Mesa/src/mesa/main/version.h
nx-X11/extras/Mesa/src/mesa/main/vtxfmt.c
nx-X11/extras/Mesa/src/mesa/main/vtxfmt.h
nx-X11/extras/Mesa/src/mesa/main/vtxfmt_tmp.h
nx-X11/extras/Mesa/src/mesa/math/m_clip_tmp.h
nx-X11/extras/Mesa/src/mesa/math/m_copy_tmp.h
nx-X11/extras/Mesa/src/mesa/math/m_debug.h
nx-X11/extras/Mesa/src/mesa/math/m_debug_clip.c
nx-X11/extras/Mesa/src/mesa/math/m_debug_norm.c
nx-X11/extras/Mesa/src/mesa/math/m_debug_util.h
nx-X11/extras/Mesa/src/mesa/math/m_debug_xform.c
nx-X11/extras/Mesa/src/mesa/math/m_dotprod_tmp.h
nx-X11/extras/Mesa/src/mesa/math/m_eval.c
nx-X11/extras/Mesa/src/mesa/math/m_eval.h
nx-X11/extras/Mesa/src/mesa/math/m_matrix.c
nx-X11/extras/Mesa/src/mesa/math/m_matrix.h
nx-X11/extras/Mesa/src/mesa/math/m_norm_tmp.h
nx-X11/extras/Mesa/src/mesa/math/m_trans_tmp.h
nx-X11/extras/Mesa/src/mesa/math/m_translate.c
nx-X11/extras/Mesa/src/mesa/math/m_translate.h
nx-X11/extras/Mesa/src/mesa/math/m_vector.c
nx-X11/extras/Mesa/src/mesa/math/m_vector.h
nx-X11/extras/Mesa/src/mesa/math/m_xform.c
nx-X11/extras/Mesa/src/mesa/math/m_xform.h
nx-X11/extras/Mesa/src/mesa/math/m_xform_tmp.h
nx-X11/extras/Mesa/src/mesa/math/mathmod.h
nx-X11/extras/Mesa/src/mesa/shader/arbfragparse.c
nx-X11/extras/Mesa/src/mesa/shader/arbfragparse.h
nx-X11/extras/Mesa/src/mesa/shader/arbprogparse.c
nx-X11/extras/Mesa/src/mesa/shader/arbprogparse.h
nx-X11/extras/Mesa/src/mesa/shader/arbprogram.c
nx-X11/extras/Mesa/src/mesa/shader/arbprogram.h
nx-X11/extras/Mesa/src/mesa/shader/arbvertparse.c
nx-X11/extras/Mesa/src/mesa/shader/arbvertparse.h
nx-X11/extras/Mesa/src/mesa/shader/grammar/grammar.c
nx-X11/extras/Mesa/src/mesa/shader/grammar/grammar.h
nx-X11/extras/Mesa/src/mesa/shader/grammar/grammar_mesa.c
nx-X11/extras/Mesa/src/mesa/shader/grammar/grammar_mesa.h
nx-X11/extras/Mesa/src/mesa/shader/nvfragparse.c
nx-X11/extras/Mesa/src/mesa/shader/nvfragparse.h
nx-X11/extras/Mesa/src/mesa/shader/nvfragprog.h
nx-X11/extras/Mesa/src/mesa/shader/nvprogram.c
nx-X11/extras/Mesa/src/mesa/shader/nvprogram.h
nx-X11/extras/Mesa/src/mesa/shader/nvvertexec.c
nx-X11/extras/Mesa/src/mesa/shader/nvvertexec.h
nx-X11/extras/Mesa/src/mesa/shader/nvvertparse.c
nx-X11/extras/Mesa/src/mesa/shader/nvvertparse.h
nx-X11/extras/Mesa/src/mesa/shader/nvvertprog.h
nx-X11/extras/Mesa/src/mesa/shader/program.c
nx-X11/extras/Mesa/src/mesa/shader/program.h
nx-X11/extras/Mesa/src/mesa/shader/shaderobjects.c
nx-X11/extras/Mesa/src/mesa/shader/shaderobjects.h
nx-X11/extras/Mesa/src/mesa/shader/shaderobjects_3dlabs.c
nx-X11/extras/Mesa/src/mesa/shader/shaderobjects_3dlabs.h
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_assemble.c
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_assemble.h
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_assemble_assignment.c
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_assemble_assignment.h
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_assemble_conditional.c
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_assemble_conditional.h
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_assemble_constructor.c
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_assemble_constructor.h
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_assemble_typeinfo.c
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_assemble_typeinfo.h
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_compile.c
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_compile.h
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_execute.c
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_execute.h
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_preprocess.c
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_preprocess.h
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_storage.c
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_storage.h
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_utility.c
nx-X11/extras/Mesa/src/mesa/shader/slang/slang_utility.h
nx-X11/extras/Mesa/src/mesa/shader/slang/traverse_wrap.h
nx-X11/extras/Mesa/src/mesa/swrast/s_aaline.c
nx-X11/extras/Mesa/src/mesa/swrast/s_aaline.h
nx-X11/extras/Mesa/src/mesa/swrast/s_aalinetemp.h
nx-X11/extras/Mesa/src/mesa/swrast/s_aatriangle.c
nx-X11/extras/Mesa/src/mesa/swrast/s_aatriangle.h
nx-X11/extras/Mesa/src/mesa/swrast/s_aatritemp.h
nx-X11/extras/Mesa/src/mesa/swrast/s_accum.c
nx-X11/extras/Mesa/src/mesa/swrast/s_accum.h
nx-X11/extras/Mesa/src/mesa/swrast/s_alpha.c
nx-X11/extras/Mesa/src/mesa/swrast/s_alpha.h
nx-X11/extras/Mesa/src/mesa/swrast/s_bitmap.c
nx-X11/extras/Mesa/src/mesa/swrast/s_blend.c
nx-X11/extras/Mesa/src/mesa/swrast/s_blend.h
nx-X11/extras/Mesa/src/mesa/swrast/s_buffers.c
nx-X11/extras/Mesa/src/mesa/swrast/s_context.c
nx-X11/extras/Mesa/src/mesa/swrast/s_context.h
nx-X11/extras/Mesa/src/mesa/swrast/s_copypix.c
nx-X11/extras/Mesa/src/mesa/swrast/s_depth.c
nx-X11/extras/Mesa/src/mesa/swrast/s_depth.h
nx-X11/extras/Mesa/src/mesa/swrast/s_drawpix.c
nx-X11/extras/Mesa/src/mesa/swrast/s_drawpix.h
nx-X11/extras/Mesa/src/mesa/swrast/s_feedback.c
nx-X11/extras/Mesa/src/mesa/swrast/s_feedback.h
nx-X11/extras/Mesa/src/mesa/swrast/s_fog.c
nx-X11/extras/Mesa/src/mesa/swrast/s_fog.h
nx-X11/extras/Mesa/src/mesa/swrast/s_imaging.c
nx-X11/extras/Mesa/src/mesa/swrast/s_lines.c
nx-X11/extras/Mesa/src/mesa/swrast/s_lines.h
nx-X11/extras/Mesa/src/mesa/swrast/s_linetemp.h
nx-X11/extras/Mesa/src/mesa/swrast/s_logic.c
nx-X11/extras/Mesa/src/mesa/swrast/s_logic.h
nx-X11/extras/Mesa/src/mesa/swrast/s_masking.c
nx-X11/extras/Mesa/src/mesa/swrast/s_masking.h
nx-X11/extras/Mesa/src/mesa/swrast/s_nvfragprog.c
nx-X11/extras/Mesa/src/mesa/swrast/s_nvfragprog.h
nx-X11/extras/Mesa/src/mesa/swrast/s_pixeltex.c
nx-X11/extras/Mesa/src/mesa/swrast/s_pixeltex.h
nx-X11/extras/Mesa/src/mesa/swrast/s_points.c
nx-X11/extras/Mesa/src/mesa/swrast/s_points.h
nx-X11/extras/Mesa/src/mesa/swrast/s_pointtemp.h
nx-X11/extras/Mesa/src/mesa/swrast/s_readpix.c
nx-X11/extras/Mesa/src/mesa/swrast/s_span.c
nx-X11/extras/Mesa/src/mesa/swrast/s_span.h
nx-X11/extras/Mesa/src/mesa/swrast/s_spantemp.h
nx-X11/extras/Mesa/src/mesa/swrast/s_stencil.c
nx-X11/extras/Mesa/src/mesa/swrast/s_stencil.h
nx-X11/extras/Mesa/src/mesa/swrast/s_texstore.c
nx-X11/extras/Mesa/src/mesa/swrast/s_texture.c
nx-X11/extras/Mesa/src/mesa/swrast/s_texture.h
nx-X11/extras/Mesa/src/mesa/swrast/s_triangle.c
nx-X11/extras/Mesa/src/mesa/swrast/s_triangle.h
nx-X11/extras/Mesa/src/mesa/swrast/s_trispan.h
nx-X11/extras/Mesa/src/mesa/swrast/s_tritemp.h
nx-X11/extras/Mesa/src/mesa/swrast/s_zoom.c
nx-X11/extras/Mesa/src/mesa/swrast/s_zoom.h
nx-X11/extras/Mesa/src/mesa/swrast/swrast.h
nx-X11/extras/Mesa/src/mesa/swrast_setup/ss_context.c
nx-X11/extras/Mesa/src/mesa/swrast_setup/ss_context.h
nx-X11/extras/Mesa/src/mesa/swrast_setup/ss_triangle.c
nx-X11/extras/Mesa/src/mesa/swrast_setup/ss_triangle.h
nx-X11/extras/Mesa/src/mesa/swrast_setup/ss_tritmp.h
nx-X11/extras/Mesa/src/mesa/swrast_setup/swrast_setup.h
nx-X11/extras/Mesa/src/mesa/tnl/t_array_api.c
nx-X11/extras/Mesa/src/mesa/tnl/t_array_api.h
nx-X11/extras/Mesa/src/mesa/tnl/t_array_import.c
nx-X11/extras/Mesa/src/mesa/tnl/t_array_import.h
nx-X11/extras/Mesa/src/mesa/tnl/t_context.c
nx-X11/extras/Mesa/src/mesa/tnl/t_context.h
nx-X11/extras/Mesa/src/mesa/tnl/t_pipeline.c
nx-X11/extras/Mesa/src/mesa/tnl/t_pipeline.h
nx-X11/extras/Mesa/src/mesa/tnl/t_save_loopback.c
nx-X11/extras/Mesa/src/mesa/tnl/t_save_playback.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_arbprogram.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_arbprogram.h
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_arbprogram_sse.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_cliptmp.h
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_cull.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_fog.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_light.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_lighttmp.h
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_normals.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_points.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_program.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_render.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_rendertmp.h
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_texgen.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_texmat.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vb_vertex.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vtx_eval.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vtx_exec.c
nx-X11/extras/Mesa/src/mesa/tnl/tnl.h
Copyright: 1999-2001, Brian Paul
1999-2002, Brian Paul
1999-2003, Brian Paul
......@@ -1040,8 +1040,7 @@ Copyright: 2012, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
2016, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
License: GPL-2+
Files: nx-X11/extras/README.Mesa.patches
nx-X11/programs/Xserver/GL/include/GL/xf86glx.h
Files: nx-X11/programs/Xserver/GL/include/GL/xf86glx.h
nx-X11/programs/Xserver/GL/include/GL/glx_ansic.h
nx-X11/lib/nx-x11.pc.in
Copyright:
......@@ -1056,22 +1055,23 @@ Files: replace.sh
Copyright: 2013, Jan Engelhardt <jengelh@inai.de>
License: GPL-2+
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/main/get.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texrender.c
nx-X11/extras/Mesa_6.4.2/src/mesa/main/texrender.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/arbprogram_syn.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/grammar/grammar_syn.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/library/slang_common_builtin_gc.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/library/slang_common_builtin_gc_bin.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/library/slang_core_gc.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/library/slang_core_gc_bin.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/library/slang_fragment_builtin_gc.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/library/slang_fragment_builtin_gc_bin.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/library/slang_shader_syn.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/library/slang_version_syn.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
nx-X11/extras/Mesa_6.4.2/src/mesa/shader/slang/library/slang_vertex_builtin_gc_bin.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vtx_x86_gcc.S
Files: nx-X11/extras/Mesa/src/mesa/main/get.c
nx-X11/extras/Mesa/src/mesa/main/texrender.c
nx-X11/extras/Mesa/src/mesa/main/texrender.h
nx-X11/extras/Mesa/src/mesa/shader/arbprogram_syn.h
nx-X11/extras/Mesa/src/mesa/shader/grammar/grammar_syn.h
nx-X11/extras/Mesa/src/mesa/shader/slang/library/slang_common_builtin_gc.h
nx-X11/extras/Mesa/src/mesa/shader/slang/library/slang_common_builtin_gc_bin.h
nx-X11/extras/Mesa/src/mesa/shader/slang/library/slang_core_gc.h
nx-X11/extras/Mesa/src/mesa/shader/slang/library/slang_core_gc_bin.h
nx-X11/extras/Mesa/src/mesa/shader/slang/library/slang_fragment_builtin_gc.h
nx-X11/extras/Mesa/src/mesa/shader/slang/library/slang_fragment_builtin_gc_bin.h
nx-X11/extras/Mesa/src/mesa/shader/slang/library/slang_shader_syn.h
nx-X11/extras/Mesa/src/mesa/shader/slang/library/slang_version_syn.h
nx-X11/extras/Mesa/src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
nx-X11/extras/Mesa/src/mesa/shader/slang/library/slang_vertex_builtin_gc_bin.h
nx-X11/extras/Mesa/src/mesa/tnl/t_vtx_x86_gcc.S
nx-X11/extras/Mesa/src/mesa/main/KNOWN_BUGS
Copyright: *No copyright*
License: Expat
Comment:
......@@ -1617,10 +1617,10 @@ Files: nx-X11/lib/src/xcms/HVC.c
Copyright: 1990, 1991, Tektronix, Inc
License: MIT~Tektronix~3-clause
Files: nx-X11/extras/Mesa_6.4.2/include/GL/glext.h
nx-X11/extras/Mesa_6.4.2/include/GL/glxext.h
nx-X11/extras/Mesa_6.4.2/include/GL/internal/glcore.h
nx-X11/extras/Mesa_6.4.2/src/glx/x11/compsize.c
Files: nx-X11/extras/Mesa/include/GL/glext.h
nx-X11/extras/Mesa/include/GL/glxext.h
nx-X11/extras/Mesa/include/GL/internal/glcore.h
nx-X11/extras/Mesa/src/glx/x11/compsize.c
nx-X11/include/GL/glx.h
nx-X11/include/GL/glxmd.h
nx-X11/include/GL/glxproto.h
......@@ -2064,7 +2064,7 @@ Files: nx-X11/include/extensions/Xdbeproto.h
Copyright: 1994-1995, Hewlett-Packard Company
License: Expat~NoAdvert
Files: nx-X11/extras/Mesa_6.4.2/include/GL/xmesa_xf86.h
Files: nx-X11/extras/Mesa/include/GL/xmesa_xf86.h
nx-X11/programs/Xserver/GL/mesa/X/xf86glx.c
nx-X11/programs/Xserver/GL/mesa/X/xf86glx_util.c
nx-X11/programs/Xserver/GL/mesa/X/xf86glx_util.h
......@@ -2072,12 +2072,12 @@ Files: nx-X11/extras/Mesa_6.4.2/include/GL/xmesa_xf86.h
Copyright: 1998-1999, Precision Insight, Inc., Cedar Park, Texas
License: Expat
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_save_api.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_save_api.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vtx_api.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vtx_api.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vtx_generic.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vtx_x86.c
Files: nx-X11/extras/Mesa/src/mesa/tnl/t_save_api.c
nx-X11/extras/Mesa/src/mesa/tnl/t_save_api.h
nx-X11/extras/Mesa/src/mesa/tnl/t_vtx_api.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vtx_api.h
nx-X11/extras/Mesa/src/mesa/tnl/t_vtx_generic.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vtx_x86.c
Copyright: 2002, Tungsten Graphics Inc., Cedar Park, Texas
2004, Tungsten Graphics Inc., Cedar Park, Texas
License: Expat
......@@ -2126,10 +2126,10 @@ Copyright: 1991-1994, FUJITSU LIMITED
1993, Digital Equipment Corporation
License: MIT~X11
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vertex.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vertex.h
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vertex_generic.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vertex_sse.c
Files: nx-X11/extras/Mesa/src/mesa/tnl/t_vertex.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vertex.h
nx-X11/extras/Mesa/src/mesa/tnl/t_vertex_generic.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vertex_sse.c
Copyright: 2003, Tungsten Graphics, inc
License: Expat
......@@ -2147,17 +2147,17 @@ Files: nx-X11/programs/Xserver/miext/cw/cw.c
Copyright: 2004, Eric Anholt
License: MIT~X11
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/glapi/glapitable.h
nx-X11/extras/Mesa_6.4.2/src/mesa/glapi/glapitemp.h
nx-X11/extras/Mesa_6.4.2/src/mesa/glapi/glprocs.h
Files: nx-X11/extras/Mesa/src/mesa/glapi/glapitable.h
nx-X11/extras/Mesa/src/mesa/glapi/glapitemp.h
nx-X11/extras/Mesa/src/mesa/glapi/glprocs.h
Copyright: 1999-2001, Brian Paul
1999-2003, Brian Paul
IBM Corporation 2004
License: Expat
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/shader/atifragshader.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_atifragshader.c
nx-X11/extras/Mesa_6.4.2/src/mesa/swrast/s_atifragshader.h
Files: nx-X11/extras/Mesa/src/mesa/shader/atifragshader.c
nx-X11/extras/Mesa/src/mesa/swrast/s_atifragshader.c
nx-X11/extras/Mesa/src/mesa/swrast/s_atifragshader.h
Copyright: 1999-2003, David Airlie
2004, David Airlie
License: Expat
......@@ -2270,10 +2270,10 @@ Comment:
as Expat. Later contributions by FUJITSU LIMITED and Sony Corporation
have been licensed under MIT~X11.
Files: nx-X11/extras/Mesa_6.4.2/src/glx/x11/indirect_size.c
nx-X11/extras/Mesa_6.4.2/src/glx/x11/indirect_size.h
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/dri/common/glcontextmodes.c
nx-X11/extras/Mesa_6.4.2/src/mesa/drivers/dri/common/glcontextmodes.h
Files: nx-X11/extras/Mesa/src/glx/x11/indirect_size.c
nx-X11/extras/Mesa/src/glx/x11/indirect_size.h
nx-X11/extras/Mesa/src/mesa/drivers/dri/common/glcontextmodes.c
nx-X11/extras/Mesa/src/mesa/drivers/dri/common/glcontextmodes.h
Copyright: 2003, IBM Corporation
IBM Corporation 2004
License: Expat
......@@ -2294,8 +2294,8 @@ Copyright: 2000, The XFree86 Project, Inc.
2001, The XFree86 Project, Inc.
License: Expat~NoAdvert
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vp_build.c
nx-X11/extras/Mesa_6.4.2/src/mesa/tnl/t_vp_build.h
Files: nx-X11/extras/Mesa/src/mesa/tnl/t_vp_build.c
nx-X11/extras/Mesa/src/mesa/tnl/t_vp_build.h
Copyright: 2005, Tungsten Graphics
License: Expat
......@@ -2447,12 +2447,12 @@ Files: nx-X11/programs/Xserver/os/xprintf.c
Copyright: 2004, Alexander Gottwald
License: Expat
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/glapi/glapioffsets.h
Files: nx-X11/extras/Mesa/src/mesa/glapi/glapioffsets.h
Copyright: 1999-2001, Brian Paul
IBM Corporation 2004,
License: Expat
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/main/simple_list.h
Files: nx-X11/extras/Mesa/src/mesa/main/simple_list.h
Copyright: 1997, Keith Whitwell
1999-2001, Brian Paul
License: Expat
......@@ -2492,7 +2492,7 @@ Files: nx-X11/programs/Xserver/hw/nxagent/X11/include/xpm_nxagent.h
Copyright: 1989-1995, GROUPE BULL
License: Expat~NoAdvert
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/glapi/dispatch.h
Files: nx-X11/extras/Mesa/src/mesa/glapi/dispatch.h
Copyright: 2005, IBM Corporation
License: Expat
......@@ -2507,7 +2507,7 @@ Comment:
Later contributions by Oracle and/or its affiliates and Red Hat, Inc.
have been licensed under Expat.
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/main/mm.h
Files: nx-X11/extras/Mesa/src/mesa/main/mm.h
Copyright: 1999, Keith Whitwell
License: Expat
......@@ -2552,11 +2552,11 @@ Files: nx-X11/programs/Xserver/composite/compositeext.h
Copyright: 2009, NVIDIA Corporation
License: Expat
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/main/texenvprogram.c
Files: nx-X11/extras/Mesa/src/mesa/main/texenvprogram.c
Copyright: 2003, Tungsten Graphics, Inc., Cedar Park, Texas
License: Expat
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/main/mm.c
Files: nx-X11/extras/Mesa/src/mesa/main/mm.c
Copyright: 1999, Wittawat Yamwong
License: Expat
......@@ -2639,7 +2639,7 @@ Comment:
Contributions by Data General Corporation and OMRON Corporation have been
licnsed under MIT~X11.
Files: nx-X11/extras/Mesa_6.4.2/src/mesa/shader/atifragshader.h
Files: nx-X11/extras/Mesa/src/mesa/shader/atifragshader.h
Copyright: 2004, David Airlie
License: Expat
Comment:
......@@ -2885,18 +2885,26 @@ Copyright: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
License: GPL-3+
Files: m4/nx-macros.m4
nx-X11/lib/m4/nx-macros.m4
nxcomp/m4/nx-macros.m4
nxcompshad/m4/nx-macros.m4
nxproxy/m4/nx-macros.m4
Copyright: 2005, 2006, Oracle and/or its affiliates
2017, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
License: Expat
Files: m4/nx-xtrans.m4
nx-X11/lib/m4/nx-xtrans.m4
Copyright: 2005, 2006, Oracle and/or its affiliates
License: Expat
Files: ChangeLog
Makefile
README.md
doc/README.NX-development
VERSION
nxcomp/VERSION
nxcompshad/VERSION
nxproxy/VERSION
doc/libNX_X11/symbols/libNX_X11::symbol-usage_internally.txt
doc/libNX_X11/symbols/libNX_X11::symbol-usage_nxagent.txt
doc/libNX_X11/symbols/libNX_X11::symbol-usage_nxcompext.txt
......@@ -2957,7 +2965,7 @@ Comment:
.
Contributions by Daniel Stone have been licensed under MIT~X11.
Files: nx-X11/extras/Mesa.patches_6.4.2/*
Files: nx-X11/extras/Mesa.patches/*
Copyright: 2017, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/
2017, Mihai Moldovan <ionic@ionic.de>
2017, Ulrich Sibiller <uli42@gmx.de>
......@@ -3003,11 +3011,6 @@ Copyright: 2011-2016, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
2015-2016, Mihai Moldovan <ionic@ionic.de>
License: GPL-2 or GPL-2+ or GPL-3+ or Expat or Expat~NoAdvert or MIT~OpenGroup or MIT~X11 or MIT~Tektronix or MIT~Tektronix~3-clause or MIT~OldStyle or MIT~Adobe or MIT~VeryOldStyle~UniOfCalifornia or MIT~VeryOldStyle~NCD or MIT~ISC or SGI-1.1 or GLX-1.0 or Zlib or XFree86 or BSD-1-clause
Files: nx-libs.spec
Copyright: 2011-2017, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
2015-2017, Mihai Moldovan <ionic@ionic.de>
License: GPL-2 or GPL-2+ or GPL-3+ or Expat or Expat~NoAdvert or MIT~OpenGroup or MIT~X11 or MIT~Tektronix or MIT~Tektronix~3-clause or MIT~OldStyle or MIT~Adobe or MIT~VeryOldStyle~UniOfCalifornia or MIT~VeryOldStyle~NCD or MIT~ISC or SGI-1.1 or GLX-1.0 or Zlib or XFree86 or BSD-1-clause
License: GPL-2
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -134,7 +134,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
XEHeadOfExtensionList@Base 3.5.0.29
XESetBeforeFlush@Base 3.5.0.29
XESetCloseDisplay@Base 3.5.0.29
XESetCopyEventCookie@Base 2:3.5.99.2
XESetCopyEventCookie@Base 3.5.99.2
XESetCopyGC@Base 3.5.0.29
XESetCreateFont@Base 3.5.0.29
XESetCreateGC@Base 3.5.0.29
......@@ -147,7 +147,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
XESetPrintErrorValues@Base 3.5.0.29
XESetWireToError@Base 3.5.0.29
XESetWireToEvent@Base 3.5.0.29
XESetWireToEventCookie@Base 2:3.5.99.2
XESetWireToEventCookie@Base 3.5.99.2
XEmptyRegion@Base 3.5.0.29
XEnableAccessControl@Base 3.5.0.29
XEqualRegion@Base 3.5.0.29
......@@ -174,7 +174,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
XFreeColormap@Base 3.5.0.29
XFreeColors@Base 3.5.0.29
XFreeCursor@Base 3.5.0.29
XFreeEventData@Base 2:3.5.99.2
XFreeEventData@Base 3.5.99.2
XFreeExtensionList@Base 3.5.0.29
XFreeFont@Base 3.5.0.29
XFreeFontInfo@Base 3.5.0.29
......@@ -194,7 +194,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
XGetDefault@Base 3.5.0.29
XGetErrorDatabaseText@Base 3.5.0.29
XGetErrorText@Base 3.5.0.29
XGetEventData@Base 2:3.5.99.2
XGetEventData@Base 3.5.99.2
XGetFontPath@Base 3.5.0.29
XGetFontProperty@Base 3.5.0.29
XGetGCValues@Base 3.5.0.29
......@@ -819,7 +819,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_XCloseLC@Base 3.5.0.29
_XColor_to_XcmsRGB@Base 3.5.0.29
_XConnectDisplay@Base 3.5.0.29
_XCopyEventCookie@Base 2:3.5.99.2
_XCopyEventCookie@Base 3.5.99.2
_XCopyToArg@Base 3.5.0.29
_XCreateMutex_fn@Base 3.5.0.29
(arch=amd64 ia64 alpha ppc64 arm64)_XData32@Base 3.5.0.29
......@@ -838,13 +838,13 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_XEventsQueued@Base 3.5.0.29
_XF86BigfontFreeFontMetrics@Base 3.5.0.29
_XF86LoadQueryLocaleFont@Base 3.5.0.29
_XFetchEventCookie@Base 2:3.5.99.2
_XFetchEventCookie@Base 3.5.99.2
_XFlush@Base 3.5.0.29
_XFlushGCCache@Base 3.5.0.29
_XFreeAtomTable@Base 3.5.0.29
_XFreeDisplayLock_fn@Base 3.5.0.29
_XFreeDisplayStructure@Base 3.5.0.29
_XFreeEventCookies@Base 2:3.5.99.2
_XFreeEventCookies@Base 3.5.99.2
_XFreeExtData@Base 3.5.0.29
_XFreeMutex_fn@Base 3.5.0.29
_XFreeTemp@Base 3.5.0.29
......@@ -857,7 +857,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_XGetScanlinePad@Base 3.5.0.29
_XGetWindowAttributes@Base 3.5.0.29
_XHeadOfDisplayList@Base 3.5.0.29
#MISSING: 3.5.99.2# _XIDHandler@Base 2:3.5.99.2
#MISSING: 3.5.99.2# _XIDHandler@Base 3.5.99.2
_XIMCompileResourceList@Base 3.5.0.29
_XIOError@Base 3.5.0.29
_XIOErrorFunction@Base 3.5.0.29
......@@ -866,7 +866,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_XInitImageFuncPtrs@Base 3.5.0.29
_XInitKeysymDB@Base 3.5.0.29
_XInitOM@Base 3.5.0.29
_XIsEventCookie@Base 2:3.5.99.2
_XIsEventCookie@Base 3.5.99.2
_XKeyInitialize@Base 3.5.0.29
_XKeycodeToKeysym@Base 3.5.0.29
_XKeysymToKeycode@Base 3.5.0.29
......@@ -881,7 +881,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_XPollfdCacheAdd@Base 3.5.0.29
_XPollfdCacheDel@Base 3.5.0.29
_XPollfdCacheInit@Base 3.5.0.29
_XProcessInternalConnection@Base 2:3.5.99.2
_XProcessInternalConnection@Base 3.5.99.2
_XProcessWindowAttributes@Base 3.5.0.29
_XPutBackEvent@Base 3.5.0.29
(arch=amd64 ia64 alpha ppc64 arm64)_XRead32@Base 3.5.0.29
......@@ -898,22 +898,22 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_XSelect@Base 3.5.0.29
_XSend@Base 3.5.0.29
_XSendClientPrefix@Base 3.5.0.29
#MISSING: 3.5.99.2# _XSeqSyncFunction@Base 2:3.5.99.2
#MISSING: 3.5.99.2# _XSeqSyncFunction@Base 3.5.99.2
_XSetClipRectangles@Base 3.5.0.29
_XSetImage@Base 3.5.0.29
_XSetLastRequestRead@Base 3.5.0.29
#MISSING: 3.5.99.2# _XSetPrivSyncFunction@Base 2:3.5.99.2
#MISSING: 3.5.99.2# _XSetSeqSyncFunction@Base 2:3.5.99.2
_XStoreEventCookie@Base 2:3.5.99.2
#MISSING: 3.5.99.2# _XSetPrivSyncFunction@Base 3.5.99.2
#MISSING: 3.5.99.2# _XSetSeqSyncFunction@Base 3.5.99.2
_XStoreEventCookie@Base 3.5.99.2
_XTextHeight16@Base 3.5.0.29
_XTextHeight@Base 3.5.0.29
_XTranslateKey@Base 3.5.0.29
_XTranslateKeySym@Base 3.5.0.29
#MISSING: 2:3.5.99.9# _XTryShapeBitmapCursor@Base 3.5.0.29
_XUnknownCopyEventCookie@Base 2:3.5.99.2
_XUnknownCopyEventCookie@Base 3.5.99.2
_XUnknownNativeEvent@Base 3.5.0.29
_XUnknownWireEvent@Base 3.5.0.29
_XUnknownWireEventCookie@Base 2:3.5.99.2
_XUnknownWireEventCookie@Base 3.5.99.2
_XUnlockMutex_fn@Base 3.5.0.29
_XUnregisterFilter@Base 3.5.0.29
_XUnregisterInternalConnection@Base 3.5.0.29
......@@ -1017,7 +1017,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_XimGetICValueData@Base 3.5.0.29
_XimGetIMValueData@Base 3.5.0.29
_XimGetLocaleCode@Base 3.5.0.29
_XimGetMyEndian@Base 2:3.5.99.2
_XimGetMyEndian@Base 3.5.99.2
_XimGetResourceListRec@Base 3.5.0.29
_XimGetResourceListRecByQuark@Base 3.5.0.29
_XimGetWindowEventmask@Base 3.5.0.29
......@@ -1156,7 +1156,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_XkeyTable@Base 3.5.0.29
_XlcAddCT@Base 3.5.0.29
_XlcAddCharSet@Base 3.5.0.29
_XlcAddGB18030LocaleConverters@Base 2:3.5.99.2
_XlcAddGB18030LocaleConverters@Base 3.5.99.2
_XlcAddLoader@Base 3.5.0.29
_XlcAddUtf8Converters@Base 3.5.0.29
_XlcAddUtf8LocaleConverters@Base 3.5.0.29
......@@ -1189,7 +1189,7 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_XlcInitCTInfo@Base 3.5.0.29
_XlcInitLoader@Base 3.5.0.29
_XlcLocaleDirName@Base 3.5.0.29
_XlcLocaleLibDirName@Base 2:3.5.99.2
_XlcLocaleLibDirName@Base 3.5.99.2
_XlcMapOSLocaleName@Base 3.5.0.29
_XlcNCompareISOLatin1@Base 3.5.0.29
_XlcOpenConverter@Base 3.5.0.29
......@@ -1271,4 +1271,4 @@ libNX_X11.so.6 libnx-x11-6 #MINVER#
_qfree@Base 3.5.0.29
#MISSING: 3.5.99.2# in6addr_any@Base 3.5.0.29
read_EncodingInfo@Base 3.5.0.29
xlocaledir@Base 2:3.5.99.2
xlocaledir@Base 3.5.99.2
usr/lib/*/libNX_X11.so
usr/lib/*/libNX_X11.a
usr/include/*/nx-X11/ImUtil.h
usr/include/*/nx-X11/Xauth.h
usr/include/*/nx-X11/XKBlib.h
usr/include/*/nx-X11/Xauth.h
usr/include/*/nx-X11/Xcms.h
usr/include/*/nx-X11/Xlib.h
usr/include/*/nx-X11/XlibConf.h
......@@ -14,4 +12,6 @@ usr/include/*/nx-X11/Xutil.h
usr/include/*/nx-X11/cursorfont.h
usr/include/*/nx-X11/misc.h
usr/include/*/nx-X11/os.h
usr/lib/*/libNX_X11.a
usr/lib/*/libNX_X11.so
usr/lib/*/pkgconfig/nx-x11.pc
usr/lib/*/libXcomp.so
usr/lib/*/libXcomp.a
usr/include/*/nx/MD5.h
usr/include/*/nx/NX.h
usr/include/*/nx/NXalert.h
usr/include/*/nx/NXpack.h
usr/include/*/nx/NXproto.h
usr/include/*/nx/NXvars.h
usr/include/*/nx/MD5.h
usr/lib/*/pkgconfig/nxcomp.pc
\ No newline at end of file
usr/lib/*/libXcomp.a
usr/lib/*/libXcomp.so
usr/lib/*/pkgconfig/nxcomp.pc
doc/nxcomp/nxcomp-3.6-drops-compat-code-3.4.x-testing.pdf
doc/nxcomp/README.on-retroactive-DXPC-license
doc/nxcomp/nxcomp-3.6-drops-compat-code-3.4.x-testing.pdf
usr/lib/*/libXcompshad.so
usr/lib/*/libXcompshad.a
usr/include/*/nx/Shadow.h
usr/lib/*/libXcompshad.a
usr/lib/*/libXcompshad.so
usr/lib/*/pkgconfig/nxcompshad.pc
usr/share/doc/libxcompshad3 usr/share/doc/libxcompshad3-dev
usr/include/*/nx-X11/extensions/composite.h
usr/include/*/nx-X11/extensions/compositeproto.h
\ No newline at end of file
usr/include/*/nx-X11/extensions/compositeproto.h
usr/include/*/nx-X11/extensions/damagewire.h
usr/include/*/nx-X11/extensions/damageproto.h
usr/include/*/nx-X11/extensions/damagewire.h
usr/include/*/nx-X11/extensions/render.h
usr/include/*/nx-X11/extensions/renderproto.h
usr/include/*/nx-X11/extensions/saver.h
usr/include/*/nx-X11/extensions/saverproto.h
usr/include/*/nx-X11/extensions/scrnsaver.h
\ No newline at end of file
usr/include/*/nx-X11/extensions/scrnsaver.h
usr/include/*/nx-X11/extensions/Xdbeproto.h
usr/include/*/nx-X11/extensions/bigreqstr.h
usr/include/*/nx-X11/extensions/dpms.h
usr/include/*/nx-X11/extensions/dpmsstr.h
......@@ -6,10 +7,9 @@ usr/include/*/nx-X11/extensions/security.h
usr/include/*/nx-X11/extensions/securstr.h
usr/include/*/nx-X11/extensions/sync.h
usr/include/*/nx-X11/extensions/syncstr.h
usr/include/*/nx-X11/extensions/xf86bigfproto.h
usr/include/*/nx-X11/extensions/xf86bigfont.h
usr/include/*/nx-X11/extensions/xcmiscstr.h
usr/include/*/nx-X11/extensions/Xdbeproto.h
usr/include/*/nx-X11/extensions/xf86bigfont.h
usr/include/*/nx-X11/extensions/xf86bigfproto.h
usr/include/*/nx-X11/extensions/xtestconst.h
usr/include/*/nx-X11/extensions/xtestext1.h
usr/include/*/nx-X11/extensions/xteststr.h
usr/include/*/nx-X11/extensions/xfixeswire.h
usr/include/*/nx-X11/extensions/xfixesproto.h
usr/include/*/nx-X11/extensions/xfixeswire.h
etc/nxagent/keystrokes.cfg
usr/share/nx/VERSION.nxagent
usr/share/man/man1/nxagent.1*
usr/lib/*/nx/X11/
etc/nxagent/nxagent.keyboard
usr/bin/nxagent
usr/lib/*/nx/X11/
usr/share/man/man1/nxagent.1*
usr/share/nx/VERSION.nxagent
usr/share/pixmaps/nxagent.xpm
etc/nxagent/nxagent.keyboard
# FIXME: compatibility symlink, drop for 3.6.0 release
usr/lib/*/nx/bin/nxagent
Description: FHS adaptation for Debian packaging
Abstract:
On Debian, binaries are installed to /usr/<lib>/nx.
.
Also, a fake-libX11 library symlink is placed into
/usr/<lib>/nx/X11.
.
The given paths will be overridden by the Debian packaging
and modified into multi-arch paths.
Forwarded: not-needed
Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Last-Update: 2017-02-08
--- a/nx-X11/config/cf/Imake.tmpl
+++ b/nx-X11/config/cf/Imake.tmpl
@@ -736,7 +736,7 @@
#define AlternateUsrLibDir YES
#endif
#else
-#define UsrLibDir Concat4(/usr/local,/,LibDirName,/nx/X11)
+#define UsrLibDir Concat4(/usr,/,LibDirName,/nx/X11)
#ifndef AlternateUsrLibDir
#define AlternateUsrLibDir NO
#endif
@@ -754,7 +754,7 @@
#define AlternateUsrDataDir YES
#endif
#else
-#define UsrDataDir Concat4(/usr/local,/,share,/nx)
+#define UsrDataDir Concat4(/usr,/,share,/nx)
#ifndef AlternateUsrDataDir
#define AlternateUsrDataDir NO
#endif
--- a/nx-X11/config/cf/site.def
+++ b/nx-X11/config/cf/site.def
@@ -69,7 +69,7 @@
#ifdef AfterVendorCF
#ifndef ProjectRoot
-#define ProjectRoot /usr/local
+#define ProjectRoot /usr
#endif
/*
Description: FHS path fix for SecurityPolicy file
This patch is needed on Debian only, not reporting this path
change to upstream.
.
Originally contributed by Marcelo Boveto Shima <marceloshima@gmail.com>.
Forwarded: not-needed
Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Last-Update: 2012-01-12
--- a/nx-X11/programs/Xserver/Xext/security.c
+++ b/nx-X11/programs/Xserver/Xext/security.c
@@ -84,7 +84,7 @@
#ifdef NXAGENT_SERVER
-#define NX_ALTERNATIVEPOLICYFILE "/usr/local/share/nx/SecurityPolicy"
+#define NX_ALTERNATIVEPOLICYFILE "/usr/share/nx/SecurityPolicy"
#endif
--- a/nxcomp/ClientChannel.cpp
+++ b/nxcomp/ClientChannel.cpp
@@ -447,6 +447,26 @@
}
}
+ // Get other bits of the header, so will not need to refer to them again
+ unsigned char inputDataByte = inputMessage[1];
+ unsigned int buffer2 = GetUINT(inputMessage + 2, bigEndian_);
+ unsigned int inputDataSize = buffer2 - 1;
+ if (buffer2 == 0)
+ {
+ // BIG-REQUESTS
+ inputMessage += 4;
+ inputLength -= 4;
+ inputDataSize = GetULONG(inputMessage, bigEndian_) - 2;
+ }
+ if (inputLength != (4 * (inputDataSize + 1)))
+ {
+ #ifdef WARNING
+ *logofs << "handleRead: inputLength=" << inputLength
+ << " mismatch inputDataSize=" << inputDataSize
+ << ".\n" << logofs_flush;
+ #endif
+ }
+
//
// Go to the message's specific encoding.
//
@@ -455,6 +475,11 @@
{
case X_AllocColor:
{
+ #ifdef WARNING
+ if (inputLength < 14)
+ *logofs << "handleRead: X_AllocColor inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeCachedValue(GetULONG(inputMessage + 4, bigEndian_), 29,
clientCache_ -> colormapCache);
const unsigned char *nextSrc = inputMessage + 8;
@@ -476,6 +501,11 @@
break;
case X_ReparentWindow:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_ReparentWindow inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> windowCache);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 8, bigEndian_),
@@ -486,6 +516,11 @@
break;
case X_ChangeProperty:
{
+ #ifdef WARNING
+ if (inputLength < 24)
+ *logofs << "handleRead: X_ChangeProperty inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
MessageStore *messageStore = clientStore_ ->
getRequestStore(X_ChangeProperty);
@@ -501,8 +536,36 @@
encodeBuffer.encodeCachedValue(format, 8,
clientCache_ -> changePropertyFormatCache);
unsigned int dataLength = GetULONG(inputMessage + 20, bigEndian_);
+
+ // Self-preserving sanity check (otherwise we crash and dump core):
+ // some clients do this when not getting their beloved BIG-REQUESTS.
+ unsigned int maxLength = 0;
+ if (format == 8)
+ {
+ maxLength = inputLength - 24;
+ }
+ else if (format == 32)
+ {
+ maxLength = (inputLength - 24) >> 2;
+ }
+ else if (format == 16)
+ {
+ maxLength = (inputLength - 24) >> 1;
+ }
+ if (dataLength > maxLength)
+ {
+ #ifdef WARNING
+ *logofs << "handleRead X_ChangeProperty bogus dataLength=" << dataLength
+ << " set to " << maxLength
+ << " when format=" << (int)format
+ << " inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
+ dataLength = maxLength;
+ }
+
encodeBuffer.encodeValue(dataLength, 32, 6);
- encodeBuffer.encodeValue(inputMessage[1], 2);
+ encodeBuffer.encodeValue(inputDataByte, 2);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> windowCache);
encodeBuffer.encodeCachedValue(GetULONG(inputMessage + 8, bigEndian_), 29,
@@ -533,7 +596,7 @@
nextSrc += 4;
}
}
- else
+ else if (format == 16)
{
for (unsigned int i = 0; i < dataLength; i++)
{
@@ -541,6 +604,13 @@
nextSrc += 2;
}
}
+ else
+ {
+ #ifdef WARNING
+ *logofs << "ChangeProperty bogus format=" << (int)format
+ << ".\n" << logofs_flush;
+ #endif
+ }
}
break;
case X_SendEvent:
@@ -551,6 +621,11 @@
// ratio.
//
+ #ifdef WARNING
+ if (inputLength < 44)
+ *logofs << "handleRead: X_SendEvent inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
MessageStore *messageStore = clientStore_ ->
getRequestStore(X_SendEvent);
@@ -562,7 +637,7 @@
break;
}
- encodeBuffer.encodeBoolValue((unsigned int) inputMessage[1]);
+ encodeBuffer.encodeBoolValue((unsigned int) inputDataByte);
unsigned int window = GetULONG(inputMessage + 4, bigEndian_);
if (window == 0 || window == 1)
@@ -599,7 +674,12 @@
break;
case X_ChangeWindowAttributes:
{
- encodeBuffer.encodeValue((inputLength - 12) >> 2, 4);
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_ChangeWindowAttributes inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
+ encodeBuffer.encodeValue(inputDataSize - 2, 4);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> windowCache);
unsigned int bitmask = GetULONG(inputMessage + 8, bigEndian_);
@@ -621,6 +701,11 @@
break;
case X_ClearArea:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_ClearArea inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -654,7 +739,7 @@
break;
}
- encodeBuffer.encodeBoolValue((unsigned int) inputMessage[1]);
+ encodeBuffer.encodeBoolValue((unsigned int) inputDataByte);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> windowCache);
const unsigned char *nextSrc = inputMessage + 8;
@@ -668,6 +753,11 @@
break;
case X_CloseFont:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_CloseFont inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
unsigned int font = GetULONG(inputMessage + 4, bigEndian_);
encodeBuffer.encodeValue(font - clientCache_ -> lastFont, 29, 5);
clientCache_ -> lastFont = font;
@@ -675,6 +765,11 @@
break;
case X_ConfigureWindow:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_ConfigureWindow inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
MessageStore *messageStore = clientStore_ ->
getRequestStore(X_ConfigureWindow);
@@ -708,6 +803,11 @@
break;
case X_ConvertSelection:
{
+ #ifdef WARNING
+ if (inputLength < 24)
+ *logofs << "handleRead: X_ConvertSelection inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeCachedValue(GetULONG(inputMessage + 4, bigEndian_), 29,
clientCache_ -> convertSelectionRequestorCache, 9);
const unsigned char* nextSrc = inputMessage + 8;
@@ -725,6 +825,11 @@
break;
case X_CopyArea:
{
+ #ifdef WARNING
+ if (inputLength < 28)
+ *logofs << "handleRead: X_CopyArea inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -793,6 +898,11 @@
break;
case X_CopyGC:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_CopyGC inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int s_g_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -814,6 +924,11 @@
break;
case X_CopyPlane:
{
+ #ifdef WARNING
+ if (inputLength < 32)
+ *logofs << "handleRead: X_CopyPlane inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4,
bigEndian_), clientCache_ -> drawableCache);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 8,
@@ -833,6 +948,11 @@
break;
case X_CreateGC:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_CreateGC inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int g_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -917,6 +1037,11 @@
break;
case X_ChangeGC:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_ChangeGC inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int g_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -998,14 +1123,19 @@
break;
case X_CreatePixmap:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_CreatePixmap inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
- *logofs << "handleRead: X_CreatePixmap depth " << (unsigned) inputMessage[1]
+ *logofs << "handleRead: X_CreatePixmap depth " << (unsigned) inputDataByte
<< ", pixmap id " << GetULONG(inputMessage + 4, bigEndian_)
<< ", drawable " << GetULONG(inputMessage + 8, bigEndian_)
<< ", width " << GetUINT(inputMessage + 12, bigEndian_)
<< ", height " << GetUINT(inputMessage + 14, bigEndian_)
- << ", size " << GetUINT(inputMessage + 2, bigEndian_) << 2
+ << ", length " << inputLength
<< ".\n" << logofs_flush;
unsigned int p_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -1042,6 +1172,11 @@
break;
case X_CreateWindow:
{
+ #ifdef WARNING
+ if (inputLength < 32)
+ *logofs << "handleRead: X_CreateWindow inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int w_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -1054,7 +1189,7 @@
#endif
unsigned bitmask = GetULONG(inputMessage + 28, bigEndian_);
- encodeBuffer.encodeCachedValue((unsigned int) inputMessage[1], 8,
+ encodeBuffer.encodeCachedValue((unsigned int) inputDataByte, 8,
clientCache_ -> depthCache);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 8, bigEndian_),
clientCache_ -> windowCache);
@@ -1098,6 +1233,11 @@
break;
case X_DeleteProperty:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_DeleteProperty inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> windowCache);
encodeBuffer.encodeValue(GetULONG(inputMessage + 8, bigEndian_), 29, 9);
@@ -1105,6 +1245,11 @@
break;
case X_FillPoly:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_FillPoly inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -1138,7 +1283,7 @@
break;
}
- unsigned int numPoints = ((inputLength - 16) >> 2);
+ unsigned int numPoints = (inputDataSize - 3);
if (control -> isProtoStep10() == 1)
{
@@ -1209,7 +1354,12 @@
break;
case X_FreeColors:
{
- unsigned int numPixels = GetUINT(inputMessage + 2, bigEndian_) - 3;
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_FreeColors inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
+ unsigned int numPixels = inputDataSize - 2;
encodeBuffer.encodeValue(numPixels, 16, 4);
encodeBuffer.encodeCachedValue(GetULONG(inputMessage + 4, bigEndian_), 29,
clientCache_ -> colormapCache);
@@ -1225,12 +1375,22 @@
break;
case X_FreeCursor:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_FreeCursor inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeCachedValue(GetULONG(inputMessage + 4, bigEndian_),
29, clientCache_ -> cursorCache, 9);
}
break;
case X_FreeGC:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_FreeGC inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int g_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -1284,6 +1444,11 @@
break;
case X_FreePixmap:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_FreePixmap inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int p_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -1318,6 +1483,11 @@
break;
case X_GetAtomName:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_GetAtomName inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeValue(GetULONG(inputMessage + 4, bigEndian_), 29, 9);
sequenceQueue_.push(clientSequence_, inputOpcode);
@@ -1327,6 +1497,11 @@
break;
case X_GetGeometry:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_GetGeometry inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> drawableCache);
@@ -1351,6 +1526,11 @@
break;
case X_GetKeyboardMapping:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_GetKeyboardMapping inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeValue((unsigned int) inputMessage[4], 8);
encodeBuffer.encodeValue((unsigned int) inputMessage[5], 8);
@@ -1361,6 +1541,11 @@
break;
case X_GetProperty:
{
+ #ifdef WARNING
+ if (inputLength < 24)
+ *logofs << "handleRead: X_GetProperty inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
MessageStore *messageStore = clientStore_ ->
getRequestStore(X_GetProperty);
@@ -1378,7 +1563,7 @@
break;
}
- encodeBuffer.encodeBoolValue((unsigned int) inputMessage[1]);
+ encodeBuffer.encodeBoolValue((unsigned int) inputDataByte);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> windowCache);
unsigned int property = GetULONG(inputMessage + 8, bigEndian_);
@@ -1394,6 +1579,11 @@
break;
case X_GetSelectionOwner:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_GetSelectionOwner inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeCachedValue(GetULONG(inputMessage + 4, bigEndian_), 29,
clientCache_ -> getSelectionOwnerSelectionCache, 9);
@@ -1404,7 +1594,12 @@
break;
case X_GrabButton:
{
- encodeBuffer.encodeBoolValue((unsigned int) inputMessage[1]);
+ #ifdef WARNING
+ if (inputLength < 24)
+ *logofs << "handleRead: X_GrabButton inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
+ encodeBuffer.encodeBoolValue((unsigned int) inputDataByte);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> windowCache);
encodeBuffer.encodeCachedValue(GetUINT(inputMessage + 8, bigEndian_), 16,
@@ -1423,7 +1618,12 @@
break;
case X_GrabPointer:
{
- encodeBuffer.encodeBoolValue((unsigned int) inputMessage[1]);
+ #ifdef WARNING
+ if (inputLength < 24)
+ *logofs << "handleRead: X_GrabPointer inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
+ encodeBuffer.encodeBoolValue((unsigned int) inputDataByte);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> windowCache);
encodeBuffer.encodeCachedValue(GetUINT(inputMessage + 8, bigEndian_), 16,
@@ -1448,7 +1648,12 @@
break;
case X_GrabKeyboard:
{
- encodeBuffer.encodeBoolValue((unsigned int) inputMessage[1]);
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_GrabKeyboard inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
+ encodeBuffer.encodeBoolValue((unsigned int) inputDataByte);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> windowCache);
unsigned int timestamp = GetULONG(inputMessage + 8, bigEndian_);
@@ -1471,6 +1676,11 @@
break;
case X_PolyText8:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_PolyText8 inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -1555,6 +1765,11 @@
break;
case X_PolyText16:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_PolyText16 inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -1639,6 +1854,11 @@
break;
case X_ImageText8:
{
+ #ifdef WARNING
+ if (inputLength < 16 + (unsigned int)inputDataByte)
+ *logofs << "handleRead: X_ImageText8 inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -1673,7 +1893,7 @@
break;
}
- unsigned int textLength = (unsigned int) inputMessage[1];
+ unsigned int textLength = (unsigned int) inputDataByte;
encodeBuffer.encodeCachedValue(textLength, 8,
clientCache_ -> imageTextLengthCache, 4);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4,
@@ -1706,6 +1926,11 @@
break;
case X_ImageText16:
{
+ #ifdef WARNING
+ if (inputLength < 16 + (unsigned int)inputDataByte)
+ *logofs << "handleRead: X_ImageText16 inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -1740,7 +1965,7 @@
break;
}
- unsigned int textLength = (unsigned int) inputMessage[1];
+ unsigned int textLength = (unsigned int) inputDataByte;
encodeBuffer.encodeCachedValue(textLength, 8,
clientCache_ -> imageTextLengthCache, 4);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4,
@@ -1773,6 +1998,11 @@
break;
case X_InternAtom:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_InternAtom inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
MessageStore *messageStore = clientStore_ ->
getRequestStore(X_InternAtom);
@@ -1796,8 +2026,18 @@
}
unsigned int nameLength = GetUINT(inputMessage + 4, bigEndian_);
+ unsigned int maxLength = inputLength - 8;
+ if (nameLength > maxLength)
+ {
+ #ifdef WARNING
+ *logofs << "handleRead X_InternAtom bogus nameLength=" << nameLength
+ << " set to " << maxLength
+ << ".\n" << logofs_flush;
+ #endif
+ nameLength = maxLength;
+ }
encodeBuffer.encodeValue(nameLength, 16, 6);
- encodeBuffer.encodeBoolValue((unsigned int) inputMessage[1]);
+ encodeBuffer.encodeBoolValue((unsigned int) inputDataByte);
const unsigned char *nextSrc = inputMessage + 8;
if (control -> isProtoStep7() == 1)
@@ -1827,7 +2067,22 @@
break;
case X_ListFonts:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_ListFonts inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
unsigned int textLength = GetUINT(inputMessage + 6, bigEndian_);
+ unsigned int maxLength = inputLength - 8;
+ if (textLength > maxLength)
+ {
+ #ifdef WARNING
+ *logofs << "handleRead X_ListFonts bogus textLength=" << textLength
+ << " set to " << maxLength
+ << ".\n" << logofs_flush;
+ #endif
+ textLength = maxLength;
+ }
encodeBuffer.encodeValue(textLength, 16, 6);
encodeBuffer.encodeValue(GetUINT(inputMessage + 4, bigEndian_), 16, 6);
const unsigned char* nextSrc = inputMessage + 8;
@@ -1853,7 +2108,22 @@
case X_LookupColor:
case X_AllocNamedColor:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_AllocNamedColor inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
unsigned int textLength = GetUINT(inputMessage + 8, bigEndian_);
+ unsigned int maxLength = inputLength - 12;
+ if (textLength > maxLength)
+ {
+ #ifdef WARNING
+ *logofs << "handleRead X_AllocNamedColor bogus textLength=" << textLength
+ << " set to " << maxLength
+ << ".\n" << logofs_flush;
+ #endif
+ textLength = maxLength;
+ }
encodeBuffer.encodeValue(textLength, 16, 6);
encodeBuffer.encodeCachedValue(GetULONG(inputMessage + 4, bigEndian_),
29, clientCache_ -> colormapCache);
@@ -1886,6 +2156,11 @@
case X_QueryPointer:
case X_QueryTree:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_MapWindow...X_QueryTree inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
if (inputOpcode == X_DestroyWindow)
@@ -1923,7 +2198,22 @@
break;
case X_OpenFont:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_OpenFont inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
unsigned int nameLength = GetUINT(inputMessage + 8, bigEndian_);
+ unsigned int maxLength = inputLength - 12;
+ if (nameLength > maxLength)
+ {
+ #ifdef WARNING
+ *logofs << "handleRead X_InternAtom bogus nameLength=" << nameLength
+ << " set to " << maxLength
+ << ".\n" << logofs_flush;
+ #endif
+ nameLength = maxLength;
+ }
encodeBuffer.encodeValue(nameLength, 16, 7);
unsigned int font = GetULONG(inputMessage + 4, bigEndian_);
encodeBuffer.encodeValue(font - clientCache_ -> lastFont, 29, 5);
@@ -1947,6 +2237,11 @@
break;
case X_PolyFillRectangle:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_PolyFillRectangle inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -2034,6 +2329,11 @@
break;
case X_PolyFillArc:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_PolyFillArc inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -2135,6 +2435,11 @@
break;
case X_PolyArc:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_PolyArc inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -2236,6 +2541,11 @@
break;
case X_PolyPoint:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_PolyPoint inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -2269,8 +2579,8 @@
break;
}
- encodeBuffer.encodeValue(GetUINT(inputMessage + 2, bigEndian_) - 3, 16, 4);
- encodeBuffer.encodeBoolValue((unsigned int) inputMessage[1]);
+ encodeBuffer.encodeValue(inputDataSize - 2, 32, 4);
+ encodeBuffer.encodeBoolValue((unsigned int) inputDataByte);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> drawableCache);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 8, bigEndian_),
@@ -2303,6 +2613,11 @@
break;
case X_PolyLine:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_PolyLine inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -2336,8 +2651,8 @@
break;
}
- encodeBuffer.encodeValue(GetUINT(inputMessage + 2, bigEndian_) - 3, 16, 4);
- encodeBuffer.encodeBoolValue((unsigned int) inputMessage[1]);
+ encodeBuffer.encodeValue(inputDataSize - 2, 32, 4);
+ encodeBuffer.encodeBoolValue((unsigned int) inputDataByte);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4,
bigEndian_), clientCache_ -> drawableCache);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 8,
@@ -2370,8 +2685,12 @@
break;
case X_PolyRectangle:
{
- encodeBuffer.encodeValue((GetUINT(inputMessage + 2,
- bigEndian_) - 3) >> 1, 16, 3);
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_PolyRectangle inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
+ encodeBuffer.encodeValue((inputDataSize - 2) >> 1, 32, 3);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4,
bigEndian_), clientCache_ -> drawableCache);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 8,
@@ -2391,6 +2710,11 @@
break;
case X_PolySegment:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_PolySegment inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -2424,8 +2748,7 @@
break;
}
- encodeBuffer.encodeValue((GetUINT(inputMessage + 2,
- bigEndian_) - 3) >> 1, 16, 4);
+ encodeBuffer.encodeValue((inputDataSize - 2) >> 1, 32, 4);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4,
bigEndian_), clientCache_ -> drawableCache);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 8,
@@ -2491,6 +2814,11 @@
break;
case X_PutImage:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_PutImage inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -2522,7 +2850,12 @@
break;
case X_QueryBestSize:
{
- encodeBuffer.encodeValue((unsigned int)inputMessage[1], 2);
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_QueryBestSize inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
+ encodeBuffer.encodeValue((unsigned int)inputDataByte, 2);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4,
bigEndian_), clientCache_ -> drawableCache);
encodeBuffer.encodeValue(GetUINT(inputMessage + 8, bigEndian_), 16, 8);
@@ -2535,10 +2868,15 @@
break;
case X_QueryColors:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_QueryColors inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
// Differential encoding.
encodeBuffer.encodeBoolValue(1);
- unsigned int numColors = ((inputLength - 8) >> 2);
+ unsigned int numColors = (inputDataSize - 1);
encodeBuffer.encodeValue(numColors, 16, 5);
encodeBuffer.encodeCachedValue(GetULONG(inputMessage + 4, bigEndian_), 29,
clientCache_ -> colormapCache);
@@ -2567,15 +2905,20 @@
break;
case X_QueryExtension:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_QueryExtension inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TEST
char data[256];
int length = GetUINT(inputMessage + 4, bigEndian_);
- if (length > 256)
+ if (length > 255)
{
- length = 256;
+ length = 255;
}
strncpy(data, (char *) inputMessage + 8, length);
@@ -2588,6 +2931,16 @@
#endif
unsigned int nameLength = GetUINT(inputMessage + 4, bigEndian_);
+ unsigned int maxLength = inputLength - 8;
+ if (nameLength > maxLength)
+ {
+ #ifdef WARNING
+ *logofs << "handleRead X_QueryExtension bogus nameLength=" << nameLength
+ << " set to " << maxLength
+ << ".\n" << logofs_flush;
+ #endif
+ nameLength = maxLength;
+ }
encodeBuffer.encodeValue(nameLength, 16, 6);
const unsigned char *nextSrc = inputMessage + 8;
@@ -2614,6 +2967,11 @@
break;
case X_QueryFont:
{
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: X_QueryFont inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
unsigned int font = GetULONG(inputMessage + 4, bigEndian_);
encodeBuffer.encodeValue(font - clientCache_ -> lastFont, 29, 5);
clientCache_ -> lastFont = font;
@@ -2625,6 +2983,11 @@
break;
case X_SetClipRectangles:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_SetClipRectangles inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
MessageStore *messageStore = clientStore_ ->
getRequestStore(X_SetClipRectangles);
@@ -2636,7 +2999,7 @@
break;
}
- unsigned int numRectangles = ((inputLength - 12) >> 3);
+ unsigned int numRectangles = ((inputDataSize - 2) >> 1);
if (control -> isProtoStep9() == 1)
{
@@ -2647,7 +3010,7 @@
encodeBuffer.encodeValue(numRectangles, 13, 4);
}
- encodeBuffer.encodeValue((unsigned int) inputMessage[1], 2);
+ encodeBuffer.encodeValue((unsigned int) inputDataByte, 2);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
clientCache_ -> gcCache);
encodeBuffer.encodeCachedValue(GetUINT(inputMessage + 8, bigEndian_), 16,
@@ -2668,7 +3031,22 @@
break;
case X_SetDashes:
{
+ #ifdef WARNING
+ if (inputLength < 12)
+ *logofs << "handleRead: X_SetDashes inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
unsigned int numDashes = GetUINT(inputMessage + 10, bigEndian_);
+ unsigned int maxLength = inputLength - 12;
+ if (numDashes > maxLength)
+ {
+ #ifdef WARNING
+ *logofs << "handleRead X_SetDashes bogus numDashes=" << numDashes
+ << " set to " << maxLength
+ << ".\n" << logofs_flush;
+ #endif
+ numDashes = maxLength;
+ }
encodeBuffer.encodeCachedValue(numDashes, 16,
clientCache_ -> setDashesLengthCache, 5);
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4, bigEndian_),
@@ -2683,6 +3061,11 @@
break;
case X_SetSelectionOwner:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_SetSelectionOwner inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeCachedValue(GetULONG(inputMessage + 4, bigEndian_), 29,
clientCache_ -> setSelectionOwnerCache, 9);
encodeBuffer.encodeCachedValue(GetULONG(inputMessage + 8, bigEndian_), 29,
@@ -2693,6 +3076,11 @@
break;
case X_TranslateCoords:
{
+ #ifdef WARNING
+ if (inputLength < 16)
+ *logofs << "handleRead: X_TranslateCoords inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -2764,6 +3152,11 @@
break;
case X_GetImage:
{
+ #ifdef WARNING
+ if (inputLength < 20)
+ *logofs << "handleRead: X_GetImage inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -2802,7 +3195,7 @@
}
// Format.
- encodeBuffer.encodeValue((unsigned int) inputMessage[1], 2);
+ encodeBuffer.encodeValue((unsigned int) inputDataByte, 2);
// Drawable.
encodeBuffer.encodeXidValue(GetULONG(inputMessage + 4,
bigEndian_), clientCache_ -> drawableCache);
@@ -2869,6 +3262,11 @@
}
else if (inputOpcode == opcodeStore_ -> putPackedImage)
{
+ #ifdef WARNING
+ if (inputLength < 24)
+ *logofs << "handleRead: putPackedImage inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
#ifdef TARGETS
unsigned int t_id = GetULONG(inputMessage + 4, bigEndian_);
@@ -3004,7 +3402,7 @@
<< ".\n" << logofs_flush;
#endif
- encodeBuffer.encodeCachedValue(*(inputMessage + 1), 8,
+ encodeBuffer.encodeCachedValue(inputDataByte, 8,
clientCache_ -> resourceCache);
}
else if (inputOpcode == opcodeStore_ -> freeUnpack)
@@ -3015,7 +3413,7 @@
<< ".\n" << logofs_flush;
#endif
- encodeBuffer.encodeCachedValue(*(inputMessage + 1), 8,
+ encodeBuffer.encodeCachedValue(inputDataByte, 8,
clientCache_ -> resourceCache);
}
else if (inputOpcode == opcodeStore_ -> getControlParameters)
@@ -3130,6 +3528,11 @@
// Enable or disable expose events
// coming from the real server.
//
+ #ifdef WARNING
+ if (inputLength < 8)
+ *logofs << "handleRead: setExposeParameters inputLength=" << inputLength
+ << ".\n" << logofs_flush;
+ #endif
encodeBuffer.encodeBoolValue(*(inputMessage + 4));
encodeBuffer.encodeBoolValue(*(inputMessage + 5));
@@ -3198,10 +3601,10 @@
{
if (hit)
{
- statistics -> addRenderCachedRequest(*(inputMessage + 1));
+ statistics -> addRenderCachedRequest(inputDataByte);
}
- statistics -> addRenderRequestBits(*(inputMessage + 1), inputLength << 3, bits);
+ statistics -> addRenderRequestBits(inputDataByte, inputLength << 3, bits);
}
} // End if (firstRequest_)... else ...
@@ -4548,10 +4951,10 @@
//
/*
-FIXME: Recover the sequence number if the proxy
+Fixed as below? - FIXME: Recover the sequence number if the proxy
is not connected to an agent.
*/
- if (serverSequence_ > lastSequence_ ||
+ if (SequenceNumber_x_gt_y(serverSequence_, lastSequence_) ||
control -> SessionMode != session_proxy)
{
#ifdef DEBUG
@@ -4564,7 +4967,7 @@
lastSequence_ = serverSequence_;
}
#ifdef DEBUG
- else if (serverSequence_ < lastSequence_)
+ else if (SequenceNumber_x_gt_y(lastSequence_, serverSequence_))
{
//
// Use our last auto-generated sequence.
@@ -5003,6 +5406,12 @@
break;
default:
{
+ // BEWARE: not only inputOpcode == GenericEvent but also
+ // others not handled above, at least:
+ // GraphicsExpose 13
+ // MapRequest 20
+ // ConfigureRequest 23
+ // and any beyond LASTEvent.
#ifdef TEST
*logofs << "handleWrite: Using generic event compression "
<< "for OPCODE#" << (unsigned int) outputOpcode
@@ -5014,11 +5423,51 @@
for (unsigned int i = 0; i < 14; i++)
{
- decodeBuffer.decodeCachedValue(value, 16,
- *serverCache_ -> genericEventIntCache[i]);
+ //decodeBuffer.decodeCachedValue(value, 16,
+ // *serverCache_ -> genericEventIntCache[i]);
+ if ( ! (decodeBuffer.decodeCachedValue(value, 16,
+ *serverCache_ -> genericEventIntCache[i])) )
+ {
+ #ifdef WARNING
+ *logofs << "decodeCachedValue failed for GenEvt:"
+ << " buffer length=" << length
+ << " i=" << i
+ << "\n" << logofs_flush;
+ #endif
+ break;
+ }
PutUINT(value, outputMessage + i * 2 + 4, bigEndian_);
}
+ // Handle "X Generic Event Extension"
+ // Extra data is not cached...
+ if (outputOpcode == GenericEvent && *(outputMessage+1) != 0 && outputLength == 32)
+ {
+ unsigned int extraOutputLength = (GetULONG(outputMessage + 4, bigEndian_) << 2);
+ if (extraOutputLength > 0 && extraOutputLength < 100*1024*1024)
+ {
+ // Extend buffer for the extra data
+ outputMessage = writeBuffer_.addMessage(extraOutputLength);
+ // Decode data and write into buffer at new position
+ for (unsigned int i = 0; i < (extraOutputLength>>1); i++)
+ {
+ //decodeBuffer.decodeValue(value, 16);
+ if ( ! (decodeBuffer.decodeValue(value, 16)) )
+ {
+ #ifdef WARNING
+ *logofs << "decodeValue failed for GenEvt:"
+ << " extraOutputLength=" << extraOutputLength
+ << " buffer length=" << length
+ << " i=" << i
+ << "\n" << logofs_flush;
+ #endif
+ break;
+ }
+ PutUINT(value, outputMessage + i * 2, bigEndian_);
+ }
+ }
+ }
+
}
} // End of switch (outputOpcode)...
@@ -6892,7 +7341,7 @@
}
else
{
- if (serverSequence_ > lastSequence_)
+ if (SequenceNumber_x_gt_y(serverSequence_, lastSequence_))
{
#ifdef DEBUG
*logofs << "handleNotify: Updating last event's sequence "
@@ -6904,7 +7353,7 @@
lastSequence_ = serverSequence_;
}
#ifdef DEBUG
- else if (serverSequence_ < lastSequence_)
+ else if (SequenceNumber_x_gt_y(lastSequence_, serverSequence_))
{
//
// Use our last auto-generated sequence.
--- a/nxcomp/ClientReadBuffer.cpp
+++ b/nxcomp/ClientReadBuffer.cpp
@@ -119,15 +119,34 @@
dataLength = (GetUINT(start + 2, bigEndian_) << 2);
- if (dataLength < 4)
+ if (dataLength == 0) // or equivalently (dataLength < 4)
{
- #ifdef TEST
- *logofs << "ClientReadBuffer: WARNING! Assuming length 4 "
- << "for suspicious message of length " << dataLength
- << ".\n" << logofs_flush;
- #endif
+ // BIG-REQUESTS extension
+ if (size < 8)
+ {
+ remaining_ = 8 - size;
+ return 0;
+ }
- dataLength = 4;
+ dataLength = (GetULONG(start + 4, bigEndian_) << 2);
+
+// See WRITE_BUFFER_OVERFLOW_SIZE elsewhere
+// and also ENCODE_BUFFER_OVERFLOW_SIZE DECODE_BUFFER_OVERFLOW_SIZE.
+ if (dataLength < 8 || dataLength > 100*1024*1024)
+ {
+ #ifdef WARNING
+ *logofs << "BIG-REQUESTS with unacceptable dataLength="
+ << dataLength << ", now set to 8.\n" << logofs_flush;
+ #endif
+ dataLength = 8;
+ }
+ else if (dataLength < 4*64*1024)
+ {
+ #ifdef WARNING
+ *logofs << "BIG-REQUESTS with silly dataLength="
+ << dataLength << ".\n" << logofs_flush;
+ #endif
+ }
}
}
--- a/nxcomp/DecodeBuffer.cpp
+++ b/nxcomp/DecodeBuffer.cpp
@@ -78,34 +78,45 @@
{
if (!endOkay)
{
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [A] "
- << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
- << " end_ = " << (end_ - buffer_) << ".\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [A] in decodeValue(), returning 0:"
+ << " nextSrc_ = " << (nextSrc_ - buffer_)
+ << " end_ = " << (end_ - buffer_)
+ << ".\n" << logofs_flush;
#endif
-
- //
- // Label "context" is just used to identify
- // the routine which detected the problem in
- // present source file.
- //
-
- cerr << "Error" << ": Failure decoding data in context [A].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [A] "
+ // << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
+ // << " end_ = " << (end_ - buffer_) << ".\n"
+ // << logofs_flush;
+ //#endif
+ ////
+ //// Label "context" is just used to identify
+ //// the routine which detected the problem in
+ //// present source file.
+ ////
+ //cerr << "Error" << ": Failure decoding data in context [A].\n";
+ //HandleAbort();
}
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [B] "
- << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
- << " end_ = " << (end_ - buffer_) << ".\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [B] in decodeValue(), returning 0:"
+ << " nextSrc_ = " << (nextSrc_ - buffer_)
+ << " end_ = " << (end_ - buffer_)
+ << ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [B].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [B] "
+ // << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
+ // << " end_ = " << (end_ - buffer_) << ".\n"
+ // << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [B].\n";
+ //HandleAbort();
}
lastBit = (nextSrcChar & srcMask_);
@@ -134,28 +145,40 @@
{
if (!endOkay)
{
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [C] "
- << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
- << " end_ = " << (end_ - buffer_) << ".\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [C] in decodeValue(), returning 0:"
+ << " nextSrc_ = " << (nextSrc_ - buffer_)
+ << " end_ = " << (end_ - buffer_)
+ << ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [C].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [C] "
+ // << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
+ // << " end_ = " << (end_ - buffer_) << ".\n"
+ // << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [C].\n";
+ //HandleAbort();
}
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [D] "
- << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
- << " end_ = " << (end_ - buffer_) << ".\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [D] in decodeValue(), returning 0:"
+ << " nextSrc_ = " << (nextSrc_ - buffer_)
+ << " end_ = " << (end_ - buffer_)
+ << ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [D].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [D] "
+ // << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
+ // << " end_ = " << (end_ - buffer_) << ".\n"
+ // << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [D].\n";
+ //HandleAbort();
}
unsigned char moreData = (nextSrcChar & srcMask_);
@@ -212,16 +235,24 @@
if (nextSrc_ >= end_)
{
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [E] "
- << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
- << " end_ = " << (end_ - buffer_) << ".\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [E] in decodeCachedValue(), returning 0:"
+ << " nextSrc_ = " << (nextSrc_ - buffer_)
+ << " end_ = " << (end_ - buffer_)
+ << ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [E].\n";
-
- HandleAbort();
+ // Failed: return value 0
+ value = 0;
+ // Failed: return 0, though our callers do not check that...
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [E] "
+ // << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
+ // << " end_ = " << (end_ - buffer_) << ".\n"
+ // << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [E].\n";
+ //HandleAbort();
}
unsigned int index = 0;
@@ -237,30 +268,33 @@
nextSrc_++;
if (nextSrc_ >= end_)
{
- if (!endOkay)
- {
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [F] "
- << "in decodeCachedValue() nextSrc_ = "
- << (nextSrc_ - buffer_) << " end_ = "
- << (end_ - buffer_) << ".\n" << logofs_flush;
- #endif
-
- cerr << "Error" << ": Failure decoding data in context [F].\n";
-
- HandleAbort();
- }
-
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [G] "
- << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
- << " end_ = " << (end_ - buffer_) << ".\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [G] in decodeCachedValue(), returning 0:"
+ << " nextSrc_ = " << (nextSrc_ - buffer_)
+ << " end_ = " << (end_ - buffer_)
+ << ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [G].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //if (!endOkay)
+ //{
+ // #ifdef PANIC
+ // *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [F] "
+ // << "in decodeCachedValue() nextSrc_ = "
+ // << (nextSrc_ - buffer_) << " end_ = "
+ // << (end_ - buffer_) << ".\n" << logofs_flush;
+ // #endif
+ // cerr << "Error" << ": Failure decoding data in context [F].\n";
+ // HandleAbort();
+ //}
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [G] "
+ // << "in decodeValue() nextSrc_ = " << (nextSrc_ - buffer_)
+ // << " end_ = " << (end_ - buffer_) << ".\n"
+ // << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [G].\n";
+ //HandleAbort();
}
nextSrcChar = *nextSrc_;
@@ -288,15 +322,20 @@
return 1;
}
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [H] "
- << "in decodeCacheValue() with no value found.\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [H] in decodeCachedValue(), returning 0:"
+ << " no value found"
+ << ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [H].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [H] "
+ // << "in decodeCacheValue() with no value found.\n"
+ // << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [H].\n";
+ //HandleAbort();
}
else
{
@@ -323,15 +362,20 @@
return 1;
}
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [H] "
- << "in decodeCacheValue() with no value found.\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [F] in decodeCachedValue(), returning 0:"
+ << " no value found"
+ << " .\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [H].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [H] "
+ // << "in decodeCacheValue() with no value found.\n"
+ // << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [H].\n";
+ //HandleAbort();
}
}
}
@@ -344,16 +388,22 @@
if (index > cache.getSize())
{
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [I] "
- << "in decodeCachedValue() index = " << index
- << " cache size = " << cache.getSize() << ".\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [I] in decodeCachedValue(), returning 0:"
+ << " index = " << index
+ << " cache size = " << cache.getSize()
+ << ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [I].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [I] "
+ // << "in decodeCachedValue() index = " << index
+ // << " cache size = " << cache.getSize() << ".\n"
+ // << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [I].\n";
+ //HandleAbort();
}
value = cache.get(index);
@@ -401,16 +451,22 @@
{
if (!endOkay)
{
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [K] "
- << "in decodeCachedValue() nextSrc_ "
- << (nextSrc_ - buffer_) << " end_ " << (end_ - buffer_)
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [K] in decodeCachedValue(), returning 0:"
+ << " nextSrc_ " << (nextSrc_ - buffer_)
+ << " end_ " << (end_ - buffer_)
<< ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [K].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [K] "
+ // << "in decodeCachedValue() nextSrc_ "
+ // << (nextSrc_ - buffer_) << " end_ " << (end_ - buffer_)
+ // << ".\n" << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [K].\n";
+ //HandleAbort();
}
#ifdef TEST
@@ -446,15 +502,20 @@
}
else
{
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [M] "
- << "in decodeValue() with index = 2.\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [M] in decodeCachedValue(), returning 0:"
+ << "with index = 2"
+ << ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [M].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [M] "
+ // << "in decodeValue() with index = 2.\n"
+ // << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [M].\n";
+ //HandleAbort();
}
}
else
@@ -466,16 +527,22 @@
if (index > cache.getSize())
{
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [N] "
- << "in decodeCachedValue() " << "index = " << index
- << " cache size = " << cache.getSize() << ".\n"
- << logofs_flush;
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [N] in decodeCachedValue(), returning 0:"
+ << " index = " << index
+ << " cache size = " << cache.getSize()
+ << ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [N].\n";
-
- HandleAbort();
+ value = 0;
+ return 0;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [N] "
+ // << "in decodeCachedValue() " << "index = " << index
+ // << " cache size = " << cache.getSize() << ".\n"
+ // << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [N].\n";
+ //HandleAbort();
}
value = cache.get(index);
@@ -538,16 +605,22 @@
}
else if (end_ - nextSrc_ < (int) numBytes)
{
- #ifdef PANIC
- *logofs << "DecodeBuffer: PANIC! Assertion failed. Error [P] "
- << "in decodeMemory() " << "with length " << numBytes
+ #ifdef WARNING
+ *logofs << "DecodeBuffer: Error [P] in decodeMemory(), returning NULL:"
+ << " with length " << numBytes
<< " and " << (end_ - nextSrc_)
- << " bytes remaining.\n" << logofs_flush;
+ << " bytes remaining"
+ << ".\n" << logofs_flush;
#endif
-
- cerr << "Error" << ": Failure decoding data in context [P].\n";
-
- HandleAbort();
+ return NULL;
+ //#ifdef PANIC
+ //*logofs << "DecodeBuffer: PANIC! Assertion failed. Error [P] "
+ // << "in decodeMemory() " << "with length " << numBytes
+ // << " and " << (end_ - nextSrc_)
+ // << " bytes remaining.\n" << logofs_flush;
+ //#endif
+ //cerr << "Error" << ": Failure decoding data in context [P].\n";
+ //HandleAbort();
}
nextSrc_ += numBytes;
--- a/nxcomp/DecodeBuffer.h
+++ b/nxcomp/DecodeBuffer.h
@@ -30,7 +30,8 @@
#include "ActionCacheCompat.h"
#include "PositionCacheCompat.h"
-#define DECODE_BUFFER_OVERFLOW_SIZE 4194304
+// See WriteBuffer.h and EncodeBuffer.h
+#define DECODE_BUFFER_OVERFLOW_SIZE 104857600
#define DECODE_BUFFER_POSTFIX_SIZE 1
--- a/nxcomp/EncodeBuffer.h
+++ b/nxcomp/EncodeBuffer.h
@@ -33,10 +33,10 @@
//
// This should match the maximum size of
// a single message added to write buffer
-// (see WriteBuffer.h).
+// (see WriteBuffer.h and DecodeBuffer.h).
//
-#define ENCODE_BUFFER_OVERFLOW_SIZE 4194304
+#define ENCODE_BUFFER_OVERFLOW_SIZE 104857600
//
// Adjust for the control messages and the
--- a/nxcomp/SequenceQueue.h
+++ b/nxcomp/SequenceQueue.h
@@ -18,6 +18,22 @@
#ifndef SequenceQueue_H
#define SequenceQueue_H
+inline int SequenceNumber_x_gt_y(unsigned int x, unsigned int y)
+{
+ // For two sequence numbers x and y, determine whether (x > y).
+ // Sequence numbers are the trailing 16 bits of a bigger number:
+ // need to handle wraparound, e.g. 0 is 65536, just after 65535.
+ if (x != (x & 0x00ffff)) return 0;
+ if (y != (y & 0x00ffff)) return 0;
+ // Closeness when comparison makes sense: arbitrarily set at 16*1024
+ if ((x > y) && ((x-y) < 16*1024)) return 1;
+ // Wrapped value
+ unsigned int w = x + 64*1024;
+ // We know that w>y but test left for symmetry
+ if ((w > y) && ((w-y) < 16*1024)) return 1;
+ return 0;
+}
+
//
// List of outstanding request messages which
// are waiting for a reply. This class is used
--- a/nxcomp/ServerChannel.cpp
+++ b/nxcomp/ServerChannel.cpp
@@ -104,7 +104,8 @@
//
#define HIDE_MIT_SHM_EXTENSION
-#define HIDE_BIG_REQUESTS_EXTENSION
+// HIDE_BIG_REQUESTS_EXTENSION : No good to hide, some clients may send crap instead...
+#undef HIDE_BIG_REQUESTS_EXTENSION
#define HIDE_XFree86_Bigfont_EXTENSION
#undef HIDE_SHAPE_EXTENSION
#undef HIDE_XKEYBOARD_EXTENSION
@@ -1412,6 +1413,9 @@
unsigned int inputSequence = GetUINT(inputMessage + 2, bigEndian_);
+ // Sometimes we get inputSequence=0 or =256 when inputOpcode=11=X_UnmapSubwindows
+ // Seems weird... but is "normal" and is to be accepted.
+
//
// Check if this is an event which we can discard.
//
@@ -1905,6 +1909,12 @@
break;
default:
{
+ // BEWARE: not only inputOpcode == GenericEvent but also
+ // others not handled above, at least:
+ // GraphicsExpose 13
+ // MapRequest 20
+ // ConfigureRequest 23
+ // and any beyond LASTEvent.
#ifdef TEST
*logofs << "handleRead: Using generic event compression "
<< "for OPCODE#" << (unsigned int) inputOpcode
@@ -1919,6 +1929,16 @@
encodeBuffer.encodeCachedValue(GetUINT(inputMessage + i * 2 + 4, bigEndian_),
16, *serverCache_ -> genericEventIntCache[i]);
}
+ // Handle "X Generic Event Extension"
+ // Cannot cache extra data...
+// FIXME: BUG ALERT: is it OK to have the first 32 bytes cached, but not the rest?
+ if (inputOpcode == GenericEvent && inputLength > 32)
+ {
+ for (unsigned int i = 14; i < ((inputLength-4)>>1); i++)
+ {
+ encodeBuffer.encodeValue(GetUINT(inputMessage + i * 2 + 4, bigEndian_), 16);
+ }
+ }
}
} // switch (inputOpcode)...
@@ -3756,7 +3776,7 @@
}
unsigned int numPoints;
- decodeBuffer.decodeValue(numPoints, 16, 4);
+ decodeBuffer.decodeValue(numPoints, 32, 4);
outputLength = (numPoints << 2) + 12;
outputMessage = writeBuffer_.addMessage(outputLength);
unsigned int relativeCoordMode;
@@ -3802,7 +3822,7 @@
}
unsigned int numPoints;
- decodeBuffer.decodeValue(numPoints, 16, 4);
+ decodeBuffer.decodeValue(numPoints, 32, 4);
outputLength = (numPoints << 2) + 12;
outputMessage = writeBuffer_.addMessage(outputLength);
unsigned int relativeCoordMode;
@@ -3839,7 +3859,7 @@
case X_PolyRectangle:
{
unsigned int numRectangles;
- decodeBuffer.decodeValue(numRectangles, 16, 3);
+ decodeBuffer.decodeValue(numRectangles, 32, 3);
outputLength = (numRectangles << 3) + 12;
outputMessage = writeBuffer_.addMessage(outputLength);
decodeBuffer.decodeXidValue(value, clientCache_ -> drawableCache);
@@ -3869,7 +3889,7 @@
}
unsigned int numSegments;
- decodeBuffer.decodeValue(numSegments, 16, 4);
+ decodeBuffer.decodeValue(numSegments, 32, 4);
outputLength = (numSegments << 3) + 12;
outputMessage = writeBuffer_.addMessage(outputLength);
decodeBuffer.decodeXidValue(value, clientCache_ -> drawableCache);
@@ -4590,7 +4610,29 @@
*outputMessage = (unsigned char) outputOpcode;
- PutUINT(outputLength >> 2, outputMessage + 2, bigEndian_);
+ if (outputLength < 4*64*1024)
+ PutUINT(outputLength >> 2, outputMessage + 2, bigEndian_);
+ else
+ {
+ // Handle BIG-REQUESTS
+ PutUINT(0, outputMessage + 2, bigEndian_);
+// FIXME: BUG ALERT: following write may not work well,
+// particularly with un-flushed messages.
+if (outputMessage != writeBuffer_.getData())
+{
+*logofs << "PSz BUG handleWrite BIG-REQUESTS:"
+ << " have " << (unsigned int)(outputMessage - writeBuffer_.getData())
+ << " bytes in buffer"
+ << ", write immediate of 4-byte header will not work well"
+ << "\n" << logofs_flush;
+}
+// But, it works well enough in my testing...
+ // Write first four bytes
+ if (transport_ -> write(write_immediate, outputMessage, 4) < 0)
+ return -1;
+ // Replace with new 4-byte length
+ PutULONG(1 + (outputLength >> 2), outputMessage, bigEndian_);
+ }
#if defined(TEST) || defined(OPCODES)
*logofs << "handleWrite: Handled request OPCODE#"
@@ -5912,7 +5954,7 @@
unsigned char opcode = *lastMotion_;
unsigned int size = 32;
- if (GetUINT(buffer + 2, bigEndian_) < serverSequence_)
+ if (SequenceNumber_x_gt_y(serverSequence_, GetUINT(buffer + 2, bigEndian_)))
{
PutUINT(serverSequence_, (unsigned char *) buffer + 2, bigEndian_);
}
--- a/nxcomp/ServerReadBuffer.cpp
+++ b/nxcomp/ServerReadBuffer.cpp
@@ -108,14 +108,21 @@
{
dataLength = 32 + (GetULONG(start + 4, bigEndian_) << 2);
}
+ else if (*start == GenericEvent && *(start+1) != 0)
+ {
+ // X Generic Event Extension
+ dataLength = 32 + (GetULONG(start + 4, bigEndian_) << 2);
+ }
else
{
dataLength = 32;
}
- if (dataLength < 32)
+// See WRITE_BUFFER_OVERFLOW_SIZE elsewhere
+// and also ENCODE_BUFFER_OVERFLOW_SIZE DECODE_BUFFER_OVERFLOW_SIZE.
+ if (dataLength < 32 || dataLength > 100*1024*1024)
{
- #ifdef TEST
+ #ifdef WARNING
*logofs << "ServerReadBuffer: WARNING! Assuming length 32 "
<< "for suspicious message of length " << dataLength
<< ".\n" << logofs_flush;
--- a/nxcomp/WriteBuffer.h
+++ b/nxcomp/WriteBuffer.h
@@ -32,8 +32,14 @@
// This is likely to be a reply to a X_ListFonts where
// user has a large amount of installed fonts.
//
+// Used also for messages sent, and should accommodate any BIG-REQUESTS.
+// Value was 4MB = 4194304, changed to 100MB = 104857600.
+// See also sanity check limits (set same, to 100*1024*1024) in
+// ClientReadBuffer.cpp ServerReadBuffer.cpp and ClientChannel.cpp, and
+// ENCODE_BUFFER_OVERFLOW_SIZE DECODE_BUFFER_OVERFLOW_SIZE elsewhere.
+//
-#define WRITE_BUFFER_OVERFLOW_SIZE 4194304
+#define WRITE_BUFFER_OVERFLOW_SIZE 104857600
class WriteBuffer
{
#401_nxcomp_bigrequests-and-genericevent-extensions.full+lite.patch
016_nx-X11_install-location.debian.patch
102_xserver-xext_set-securitypolicy-path.debian.patch
2001_nx-X11_install-location.debian.patch
2002_xserver-xext_set-securitypolicy-path.debian.patch
......@@ -21,6 +21,53 @@ override_dh_auto_clean:
rm -Rf nx-X11/.build-exports
dh_auto_clean
override_dh_clean:
rm nx-X11/config/Makefile
rm nx-X11/config/cf/Makefile
rm nx-X11/config/cf/date.def
rm nx-X11/config/cf/nxversion.def
rm nx-X11/include/GL/Makefile
rm nx-X11/include/Makefile
rm nx-X11/include/extensions/Makefile
rm nx-X11/programs/Makefile
rm nx-X11/programs/Xserver/GL/Makefile
rm nx-X11/programs/Xserver/GL/glx/Makefile
rm nx-X11/programs/Xserver/GL/mesa/GLcore/Makefile
rm nx-X11/programs/Xserver/GL/mesa/Makefile
rm nx-X11/programs/Xserver/GL/mesa/X/Makefile
rm nx-X11/programs/Xserver/GL/mesa/array_cache/Makefile
rm nx-X11/programs/Xserver/GL/mesa/main/Makefile
rm nx-X11/programs/Xserver/GL/mesa/math/Makefile
rm nx-X11/programs/Xserver/GL/mesa/shader/Makefile
rm nx-X11/programs/Xserver/GL/mesa/shader/grammar/Makefile
rm nx-X11/programs/Xserver/GL/mesa/shader/slang/Makefile
rm nx-X11/programs/Xserver/GL/mesa/shader/slang/library/Makefile
rm nx-X11/programs/Xserver/GL/mesa/swrast/Makefile
rm nx-X11/programs/Xserver/GL/mesa/swrast_setup/Makefile
rm nx-X11/programs/Xserver/GL/mesa/tnl/Makefile
rm nx-X11/programs/Xserver/Makefile
rm nx-X11/programs/Xserver/Xext/Makefile
rm nx-X11/programs/Xserver/Xi/Makefile
rm nx-X11/programs/Xserver/composite/Makefile
rm nx-X11/programs/Xserver/damageext/Makefile
rm nx-X11/programs/Xserver/dbe/Makefile
rm nx-X11/programs/Xserver/dix/Makefile
rm nx-X11/programs/Xserver/fb/Makefile
rm nx-X11/programs/Xserver/hw/nxagent/Makefile
rm nx-X11/programs/Xserver/hw/nxagent/compext/Makefile
rm nx-X11/programs/Xserver/include/Makefile
rm nx-X11/programs/Xserver/mi/Makefile
rm nx-X11/programs/Xserver/miext/cw/Makefile
rm nx-X11/programs/Xserver/miext/damage/Makefile
rm nx-X11/programs/Xserver/os/Makefile
rm nx-X11/programs/Xserver/randr/Makefile
rm nx-X11/programs/Xserver/record/Makefile
rm nx-X11/programs/Xserver/render/Makefile
rm nx-X11/programs/Xserver/xfixes/Makefile
rm nx-X11/programs/Xserver/xkb/Makefile
rm nx-X11/xmakefile
dh_clean
override_dh_install:
# strip static libs and remove .la files
......
version=3
opts=filenamemangle=s/.*\/.*?([\d\.-]+)\.tar\.gz/nx-libs-$1.tar.gz/ \
https://github.com/ArcticaProject/nx-libs/tags .*/archive/.*?([\d\.]+).tar.gz
opts=pgpsigurlmangle=s/$/.asc/ \
http://releases.arctica-project.org/source/nx-libs/nx-libs-(.+)-full\.tar\.gz
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment