New upstream version 3.5.99.27

This commit is contained in:
geos_one 2025-08-08 20:00:36 +02:00
commit bc8d10cc33
4267 changed files with 1757978 additions and 0 deletions

126
.github/workflows/linters.yml vendored Normal file
View File

@ -0,0 +1,126 @@
name: linters
on:
push:
branches: [ 3.6.x ]
pull_request:
branches: [ 3.6.x ]
jobs:
# see https://github.com/koalaman/shellcheck
shellcheck:
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install linters on ubuntu
run: |
sudo apt-get update -q -y
sudo apt-get install shellcheck
- name: run Shellcheck
run: |
shellcheck --version
find . -name "*.sh" | xargs shellcheck -e SC1004,SC2010,SC2035,SC2086
# see https://pylint.org/
pylint:
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install linters on ubuntu
run: |
sudo apt-get update -q -y
sudo apt-get install pylint
# dependencies
sudo apt-get install --reinstall python-gi
sudo apt-get install python-dbus python-gobject
- name: run Pylint
run: |
pylint --version
cd nxdialog/; find . -name "nxdialog" -type f | xargs pylint --exit-zero
# see https://github.com/danmar/cppcheck
cppcheck:
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install linters on ubuntu
run: |
sudo apt-get update -q -y
sudo apt-get install cppcheck
- name: run cppcheck
run: |
# cppcheck
if ! [ -x "$(command -v cppcheck)" ]; then
echo 'Error: cppcheck is not installed.' >&2
exit 1
fi
CPPCHECK_OPTS='--error-exitcode=0 --force --quiet --suppressions-list=./static-analysis-suppressions'
# we exclude some external projects
CPPCHECK_EXCLUDES='-i ./nx-X11/extras/ -i nx-X11/programs/Xserver/GL/mesa* -i ./.pc -i ./nx-X11/.build-exports -i ./nx-X11/exports -i ./doc'
echo "$(cppcheck --version):";
cppcheck $CPPCHECK_OPTS $CPPCHECK_EXCLUDES .;
# see https://www.viva64.com/en/pvs-studio/
pvs:
environment: pvs
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install linters on ubuntu
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo apt-get update -qq -y
# compiler
sudo apt-get install -qq -y gcc g++
# basic packages
sudo apt-get install -qq -y \
autoconf libtool make pkg-config
# imake deps
sudo apt-get install -qq -y \
libxkbfile-dev xfonts-utils xutils-dev
# X11 libraries deps
sudo apt-get install -qq -y \
libpixman-1-dev libjpeg-dev libxcomposite-dev libxdamage-dev \
libxml2-dev libxfont-dev libxinerama-dev libxpm-dev libxrandr-dev \
libxtst-dev x11proto-fonts-dev
# soft requirements
sudo apt-get install -qq -y \
quilt x11-xkb-utils
# PVS
sudo wget -q -O - https://files.viva64.com/etc/pubkey.txt | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/viva64.list https://files.viva64.com/etc/viva64.list
sudo apt-get update -qq
sudo apt-get install -qq pvs-studio
- name: Run PVS-Studio Analyzer
shell: bash
env:
PVS_USERNAME: ${{ secrets.PVS_USERNAME }}
PVS_KEY: ${{ secrets.PVS_KEY }}
run: |
# check environment variables
if [[ -z "${PVS_USERNAME}" ]]; then
echo '"PVS_USERNAME" environment variable not set'
exit 0
elif [[ -z "${PVS_KEY}" ]]; then
echo '"PVS_KEY" environment variable not set'
exit 0
else
pvs-studio-analyzer credentials -o "PVS-Studio.lic" "${PVS_USERNAME}" "${PVS_KEY}"
pvs-studio-analyzer trace -- make
pvs-studio-analyzer analyze --quiet --lic-file "PVS-Studio.lic" --output-file "PVS-Studio-${CC}.log"
plog-converter -a "GA:1,2" -t tasklist -o "PVS-Studio-${CC}.tasks" "PVS-Studio-${CC}.log"
cat "PVS-Studio-${CC}.tasks"
fi

81
.github/workflows/nx-libs-archs.yml vendored Normal file
View File

@ -0,0 +1,81 @@
name: nx-libs CI diff archs
on:
push:
branches: [ 3.6.x ]
pull_request:
branches: [ 3.6.x ]
jobs:
build:
runs-on: ubuntu-20.04
name: Build on ${{ matrix.distro }} ${{ matrix.arch }} with gcc
# Run steps on a matrix of 4 arch/distro combinations
strategy:
fail-fast: false
matrix:
include:
- arch: aarch64
distro: ubuntu20.04
- arch: ppc64le
distro: ubuntu20.04
- arch: s390x
distro: ubuntu20.04
- arch: armv7
distro: ubuntu20.04
steps:
- name: Checkout repository
uses: actions/checkout@v2
- uses: uraimo/run-on-arch-action@v2.0.8
name: Build artifact
id: build
with:
arch: ${{ matrix.arch }}
distro: ${{ matrix.distro }}
# Not required, but speeds up builds
githubToken: ${{ github.token }}
# Pass some environment variables to the container
env: |
CC: gcc
CXX: g++
DEBIAN_FRONTEND: noninteractive
# The shell to run commands with in the container
shell: /bin/sh
# Install some dependencies in the container. This speeds up builds if
# you are also using githubToken. Any dependencies installed here will
# be part of the container image that gets cached, so subsequent
# builds don't have to re-install them. The image layer is cached
# publicly in your project's package repository, so it is vital that
# no secrets are present in the container state or logs.
install: |
case "${{ matrix.distro }}" in
ubuntu*)
cat /etc/debian_version
apt-get update -q -y
apt-get install -q -y gcc g++
gcc --version
# basic packages
apt-get install -q -y \
autoconf libtool make pkg-config
# imake deps
apt-get install -q -y \
libxkbfile-dev xfonts-utils xutils-dev
# X11 libraries deps
apt-get install -q -y \
libpixman-1-dev libjpeg-dev libxcomposite-dev libxdamage-dev \
libxml2-dev libxfont-dev libxinerama-dev libxpm-dev libxrandr-dev \
libxtst-dev x11proto-fonts-dev
# soft requirements
apt-get install -q -y \
quilt x11-xkb-utils
;;
esac
run: |
make

216
.github/workflows/nx-libs.yml vendored Normal file
View File

@ -0,0 +1,216 @@
name: nx-libs CI
on:
push:
branches: [ 3.6.x ]
pull_request:
branches: [ 3.6.x ]
jobs:
build:
name: Build on ${{ matrix.cfg.container }} - ${{ matrix.cfg.cc-version }}
runs-on: ubuntu-20.04
container: ${{ matrix.cfg.container }}
strategy:
fail-fast: false
matrix:
cfg:
- { container: 'ubuntu:16.04', cc-version: gcc }
- { container: 'ubuntu:16.04', cc-version: clang }
- { container: 'ubuntu:20.04', cc-version: gcc }
- { container: 'ubuntu:20.04', cc-version: clang }
- { container: 'ubuntu:22.04', cc-version: gcc }
- { container: 'ubuntu:22.04', cc-version: clang }
- { container: 'debian:stable', cc-version: gcc }
- { container: 'debian:stable', cc-version: clang }
- { container: 'debian:sid', cc-version: gcc }
- { container: 'debian:sid', cc-version: clang }
- { container: 'quay.io/centos/centos:7', cc-version: gcc }
- { container: 'quay.io/centos/centos:7', cc-version: clang }
- { container: 'quay.io/centos/centos:stream8', cc-version: gcc }
- { container: 'quay.io/centos/centos:stream8', cc-version: clang }
- { container: 'quay.io/centos/centos:stream9', cc-version: gcc }
- { container: 'quay.io/centos/centos:stream9', cc-version: clang }
- { container: 'fedora:latest', cc-version: gcc }
- { container: 'fedora:latest', cc-version: clang }
steps:
- name: Install compiler ${{ matrix.cfg.cc-version }}
shell: sh
env:
DEBIAN_FRONTEND: noninteractive
run: |
case "${{ matrix.cfg.container }}" in
ubuntu*|debian*)
cat /etc/debian_version
apt-get update -q -y
apt-get install -q -y ${{ matrix.cfg.cc-version }}
${{ matrix.cfg.cc-version }} --version
case "${{ matrix.cfg.cc-version }}" in
gcc)
apt-get install -q -y g++
;;
clang)
apt-get install -q -y build-essential
esac
;;
fedora*)
cat /etc/fedora-release
dnf -y update
dnf -y install ${{ matrix.cfg.cc-version }}
${{ matrix.cfg.cc-version }} --version
;;
*/centos:7)
cat /etc/centos-release
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
yum -y update
yum -y install ${{ matrix.cfg.cc-version }}
${{ matrix.cfg.cc-version }} --version
;;
*/centos:stream8)
cat /etc/centos-release
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
dnf -y update --nobest --allowerasing
dnf -y install ${{ matrix.cfg.cc-version }}
${{ matrix.cfg.cc-version }} --version
;;
*/centos:stream9)
cat /etc/centos-release
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
dnf -y update
dnf -y install ${{ matrix.cfg.cc-version }}
${{ matrix.cfg.cc-version }} --version
;;
esac
- name: Install nx-libs dependencies ${{ matrix.cfg.cc-version }}
shell: sh
env:
DEBIAN_FRONTEND: noninteractive
run: |
case "${{ matrix.cfg.container }}" in
ubuntu*|debian*)
# basic packages
apt-get install -q -y \
autoconf libtool make pkg-config
# imake deps
apt-get install -q -y \
libxkbfile-dev xfonts-utils xutils-dev
# X11 libraries deps
apt-get install -q -y \
libpixman-1-dev libjpeg-dev libxcomposite-dev libxdamage-dev \
libxml2-dev libxfont-dev libxinerama-dev libxpm-dev libxrandr-dev \
libxtst-dev x11proto-fonts-dev
# soft requirements
apt-get install -q -y \
quilt x11-xkb-utils
;;
fedora*)
# basic packages
dnf -y install \
autoconf automake gcc-c++ libtool make imake pkgconfig which
# imake deps
dnf -y install \
xorg-x11-proto-devel zlib-devel
# X11 libraries deps
dnf -y install \
libjpeg-devel expat-devel libpng-devel libxml2-devel pixman-devel \
libX11-devel libXext-devel libXpm-devel libXfont2-devel \
libXdmcp-devel libXdamage-devel libXcomposite-devel \
libXrandr-devel libXfixes-devel libXtst-devel libXinerama-devel \
xorg-x11-font-utils libtirpc-devel xkeyboard-config
# soft requirements
dnf -y install \
quilt xkbcomp-devel
;;
*/centos:7)
# enable epel repository for quilt
yum -y install epel-release
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
# basic packages
yum -y install \
autoconf automake gcc-c++ libtool make imake pkgconfig which
# imake deps
yum -y install \
xorg-x11-proto-devel zlib-devel
# X11 libraries deps
yum -y install \
libjpeg-devel expat-devel libpng-devel libxml2-devel pixman-devel \
libX11-devel libXext-devel libXpm-devel libXfont-devel \
libXdmcp-devel libXdamage-devel libXcomposite-devel \
libXrandr-devel libXfixes-devel libXtst-devel libXinerama-devel \
xorg-x11-font-utils libtirpc-devel xkeyboard-config
# soft requirements
yum -y --enablerepo=epel install \
quilt xorg-x11-xkb-utils-devel
;;
*/centos:stream8)
# Enable powertools repository for imake
dnf -y install dnf-plugins-core epel-release
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
dnf config-manager --set-enabled powertools
# basic packages
dnf -y install \
autoconf automake gcc-c++ libtool make imake pkgconfig which
# imake deps
dnf -y install \
xorg-x11-proto-devel zlib-devel
# X11 libraries deps
dnf -y install \
libjpeg-devel expat-devel libpng-devel libxml2-devel pixman-devel \
libX11-devel libXext-devel libXpm-devel libXfont2-devel \
libXdmcp-devel libXdamage-devel libXcomposite-devel \
libXrandr-devel libXfixes-devel libXtst-devel libXinerama-devel \
xorg-x11-font-utils libtirpc-devel xkeyboard-config
# soft requirements
dnf --enablerepo="epel" -y install \
quilt xorg-x11-xkb-utils-devel
;;
*/centos:stream9)
dnf -y install dnf-plugins-core epel-release
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
# CodeReady Linux Builder, replacement for PowerTools
dnf config-manager --set-enabled crb
# basic packages
dnf -y install \
autoconf automake gcc-c++ libtool make imake pkgconfig which
# imake deps
dnf -y install \
xorg-x11-proto-devel zlib-devel
# X11 libraries deps
dnf -y install \
libjpeg-devel expat-devel libpng-devel libxml2-devel pixman-devel \
libX11-devel libXext-devel libXpm-devel libXfont2-devel \
libXdmcp-devel libXdamage-devel libXcomposite-devel \
libXrandr-devel libXfixes-devel libXtst-devel libXinerama-devel \
libtirpc-devel mkfontscale xkeyboard-config
# soft requirements
dnf -y install \
quilt setxkbmap xkbcomp
;;
esac
- name: Checkout repository
uses: actions/checkout@v2
- name: Build nx-libs with ${{ matrix.cfg.cc-version }}
shell: sh
env:
DEBIAN_FRONTEND: noninteractive
run: |
case "${{ matrix.cfg.cc-version }}" in
gcc)
export CC=gcc
export CXX=g++
;;
clang)
export CC=clang
export CXX=clang++
;;
esac
case "${{ matrix.cfg.container }}" in
fedora*|*/centos*|debian*|ubuntu*)
export IMAKE_DEFINES="-DUseTIRPC=YES"
make VERBOSE=1 IMAKE_DEFINES="${IMAKE_DEFINES}"
;;
esac

21
.gitignore vendored Normal file
View File

@ -0,0 +1,21 @@
*.o
*.lo
*.la
*.so.*
*.so
*.a
xmakefile
autom4te.cache/
config.log
config.status
configure
depend.status
*~
*.sw?
[#]*
stamp-h*
.libs
.deps
bin/nxagent
bin/nxproxy
**/.pc

123
AUTHORS Normal file
View File

@ -0,0 +1,123 @@
Aaron Plattner <aplattner@nvidia.com>
Adam Jackson <ajax@nwnk.net>
Adam Jackson <ajax@redhat.com>
Alan Coopersmith <alan.coopersmith@oracle.com>
Alan Coopersmith <alan.coopersmith@sun.com>
Alan Coopersmith <Alan.Coopersmith@sun.com>
Alexander Wuerstlein <arw@arw.name>
Alexandre Ghiti <alexandre.ghiti@canonical.com>
Ander Conselvan de Oliveira <ander.conselvan-de-oliveira@nokia.com>
Andreas Wettstein <wettstein509@solnet.ch>
Andrew Schwartzmeyer <andrew@schwartzmeyer.com>
Arthur Huillet <ahuillet@nvidia.com>
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Bernard Cafarelli <voyageur@gentoo.org>
Bhavi Dhingra <b.dhingra@samsung.com>
Bodo Graumann <mail@bodograumann.de>
Chase Douglas <chase.douglas@canonical.com>
Choe Hwanjin <choe.hwanjin@gmail.com>
Chris Wilson <chris@chris-wilson.co.uk>
Clemens Lang <cal@macports.org>
Colin Harrison <colin.harrison@virgin.net>
Cyril Brulebois <kibi@debian.org>
Daniel Kurtz <djkurtz@chromium.org>
Daniel Stone <daniel@fooishbar.org>
Dave Airlie <airlied@gmail.com>
Dave Airlie <airlied@redhat.com>
Derek Buitenhuis <derek.buitenhuis@gmail.com>
Dominik Muth <nxdomainuser-muth@yahoo.com>
Eamon Walsh <ewalsh@tycho.nsa.gov>
Egbert Eich <eich@freedesktop.org>
Emanuele Giaquinta <emanuele.giaquinta@gmail.com>
Emilio Pozuelo Monfort <pochu@debian.org>
Eric Anholt <anholt@freebsd.org>
Erkki Seppälä <erkki.seppala@vincit.fi>
Fernando Carvajal <fcarvajal@qindel.com>
Fredrik Höglund <fredrik@kde.org>
ftrapero <frantracer@gmail.com>
Gabriel Marcano <gabemarcano@yahoo.com>
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
gratuxri <gratuxri@users.noreply.github.com>
Harshula Jayasuriya <harshula@gmail.com>
Helmut Grohne <helmut@subdivi.de>
Henning Heinold <henning@itconsulting-heinold.de>
Horst Schirmeier <horst@schirmeier.com>
ISHIKAWA,chiaki <ishikawa@yk.rim.or.jp>
James Cloos <cloos@jhcloos.com>
Jamey Sharp <jamey@minilop.net>
Jan Engelhardt <jengelh@medozas.de>
Jaroslav Šmíd <jardasmid@gmail.com>
Jeremy Huddleston <jeremyhu@apple.com>
Jeremy Huddleston <jeremy@tifa.local>
Joerg Sonnenberger <joerg@britannica.bec.de>
Jon TURNEY <jon.turney@dronecode.org.uk>
Julien Cristau <jcristau@debian.org>
Karl Tomlinson <xmail@karlt.net>
Kees Cook <kees@outflux.net>
Keith Packard <keithp@keithp.com>
Kristian Høgsberg <krh@bitplanet.net>
Kristian Høgsberg <krh@redhat.com>
Kusanagi Kouichi <slash@ac.auone-net.jp>
Lars Knoll <lars@trolltech.com>
Marcelo Boveto Shima <marceloshima@gmail.com>
Mario Trangoni <mario@mariotrangoni.de>
Mario Trangoni <mjtrangoni@gmail.com>
Marko Myllynen <myllynen@redhat.com>
Mathieu Bérard <mathieu.berard@crans.org>
Matthieu Herrb <matthieu.herrb@laas.fr>
Michal Srb <msrb@suse.com>
Michel Dänzer <michel.daenzer@amd.com>
Mihai Moldovan <ionic@ionic.de>
Mihai Moldovan <ïonic@ionic.de>
Mike DePaulo <mikedep333@gmail.com>
Mike DePaulo <mikedep333@users.noreply.github.com>
Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Mirraz Mirraz <mirraz1@rambler.ru>
Nathan Kidd <nkidd@opentext.com>
Nickolai Zeldovich <nickolai@csail.mit.edu>
Nito Martinez <Nito@Qindel.ES>
Niveditha Rau <Niveditha.Rau@Oracle.COM>
Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>
Oleksandr Shneyder <oleksandr.shneyder@treuchtlingen.de>
Oleksandr Shneyder <o.schneyder@phoca-gmbh.de>
Oleksandr Shneyder <o.shneyder@phoca-gmbh.de>
Olivier Fourdan <ofourdan@redhat.com>
Orion Poplawski <orion@cora.nwra.com>
Orion Poplawski <orion@nwra.com>
Owen W. Taylor <otaylor@fishsoup.net>
Pauli Nieminen <ext-pauli.nieminen@nokia.com>
Paul Szabo <paul.szabo@sydney.edu.au>
Pavel Vaynerman <pv@etersoft.ru>
Peter Åstrand <astrand@cendio.se>
Peter Harris <pharris@opentext.com>
Peter Hutterer <peter.hutterer@redhat.com>
Peter Hutterer <peter.hutterer@who-t.net>
Philipp Reh <sefi@s-e-f-i.de>
ponce <matteo.bernardini@gmail.com>
Rami Ylimäki <rami.ylimaki@vincit.fi>
Ran Benita <ran234@gmail.com>
Reinhard Tartler <siretart@tauware.de>
Richard Hughes <richard@hughsie.com>
Ross Burton <ross.burton@intel.com>
Ryan Pavlik <rpavlik@iastate.edu>
Salvador Fandino <sfandino@yahoo.com>
Salvador Fandiño <sfandino@yahoo.com>
Samuel Thibault <samuel.thibault@ens-lyon.org>
Simon Matter <simon.matter@invoca.ch>
Thomas Klausner <wiz@NetBSD.org>
Tiago Vignatti <tiago.vignatti@nokia.com>
Tobias Stoeckmann <tobias@stoeckmann.org>
Tomas Carnecky <tom@dbservice.com>
Ulrich Sibiller <uli42@gmx.de>
Ulrich Sibiller <ulrich.sibiller@atos.net>
Vadim Troshchinskiyddd <vtroshchinskiy@qindel.com>
Vadim Troshchinskiy <vadim@qindel.com>
Vadim Troshchinskiy <vadim@troshchinskiy.com>
Vadim Troshchinskiy <vatral@vadim.ws>
Vadim Troshchinskiy <vtroshchinskiy@qindel.com>
Vadim <vtroshchinskiy@qindel.com>
walter harms <wharms@bfs.de>
X2Go Release Manager <git-admin@x2go.org>
Xue Wei <Wei.Xue@Sun.COM>
Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Yann Droneaud <yann@droneaud.fr>

339
COPYING Normal file
View File

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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 Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

13681
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

32
LICENSE Normal file
View File

@ -0,0 +1,32 @@
Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com)
Copyright (c) 2008-2017 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de>
Copyright (c) 2011-2022 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Copyright (c) 2014-2022 Ulrich Sibiller <uli42@gmx.de>
Copyright (c) 2014-2019 Mihai Moldovan <ionic@ionic.de>
Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com)
nx-X11, NX extensions to X (nxcompext, nxcompshad), nxagent and nxproxy
are copyright of the aforementioned copyright holders.
Redistribution and use of this software is allowed according to the
following terms:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License Version 2, and
not any other version, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTA-
BILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, you can request a copy to NoMachine
or write to the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston, MA 02110-1301 USA
Parts of this software are derived from XFree86 and X.org projects.
Other copyrights and the MIT/X11 license applies to different sources.
Please check the applicable copyrights in each file or subdirectory.
All rights reserved.

95
LICENSE.nxcomp Normal file
View File

@ -0,0 +1,95 @@
Copyright (c) 2001,2010 NoMachine (http://www.nomachine.com)
Copyright (c) 2000,2003 Gian Filippo Pinzari
Copyright (c) 2008-2017 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de>
Copyright (c) 2011-2022 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Copyright (c) 2014-2022 Ulrich Sibiller <uli42@gmx.de>
Copyright (c) 2014-2019 Mihai Moldovan <ionic@ionic.de>
Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com)
NXCOMP library and NX extensions to X are copyright of the aforementioned
copyright holders. Redistribution and use of this software is allowed
according to the following terms:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License Version 2, and
not any other version, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTA-
BILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, you can request a copy to NoMachine
or write to the Free Software Foundation, Inc., 51 Franklin Street, Suite
330, Boston, MA 02110-1301 USA
==============================================================================
Parts of this software are derived from DXPC project. These copyright
notices apply to original DXPC code:
Redistribution and use in source and binary forms are permitted provi-
ded that the above copyright notice and this paragraph are duplicated
in all such forms.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Copyright (c) 1995,1996,2000,2006 Brian Pane
Copyright (c) 1996,1997 Zachary Vonler and Brian Pane
Copyright (c) 1999 Kevin Vigor and Brian Pane
<crossed-out>Copyright (c) 2000,2006 Gian Filippo Pinzari and Brian Pane</crossed-out>
All rights reserved.
==============================================================================
Update 2015-05-21 on the nature of the original DXPC license: The
original DXPC code used to be available under a license which failed to
explicitly grant the permission to modify, but was later retroactively
re-licensed under the 2-clause BSD license (see
doc/nxcomp/README.on-retroactive-DXPC-license for the copyright owners'
statements; also see <https://bugs.debian.org/784565> for more details).
In the course of discussion, it also became evident that Gian Filippo
Pinzari never participated in any of the official DXPC releases, but
rather worked on the forked code on the NoMachine side. Thus, we
crossed-out his name in the above copyright notice and moved him to the
top list of copyright holders associated with the GPL-2 re-licensing done
by NoMachine.
Thus, the version of DXPC where NXCOMP got forked from (most likely some
DXPC version between release 3.7.0 and release 3.8.0) can be considered
as BSD-2-clause, as quoted below:
Copyright (c) 1995,1996 Brian Pane
Copyright (c) 1996,1997 Zachary Vonler and Brian Pane
Copyright (c) 1999-2002 Kevin Vigor and Brian Pane
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

320
Makefile Normal file
View File

@ -0,0 +1,320 @@
#!/usr/bin/make -f
NULL =
# suppress most make output unless "make VERBOSE=1" has been called
ifndef VERBOSE
.SILENT:
endif
# helpers for "install" target
INSTALL_DIR=install -d -m 755
INSTALL_FILE=install -m 644
INSTALL_PROGRAM=install -m 755
INSTALL_SYMLINK=ln -s -f
# helpers for "build" target
SYMLINK_FILE=ln -f -s
# helpers for "clean" and "uninstall" targets
RM_FILE=rm -f
RM_DIR=rmdir -p --ignore-fail-on-non-empty
RM_DIR_REC=rm -Rf
ETCDIR_NX ?= /etc/nxagent
PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin
LIBDIR ?= $(PREFIX)/lib
SHLIBDIR ?= $(LIBDIR)
NXLIBDIR ?= $(SHLIBDIR)/nx
USRLIBDIR ?= $(NXLIBDIR)/X11
INCLUDEDIR ?= $(PREFIX)/include
CONFIGURE ?= ./configure --prefix="$(PREFIX)"
# check if the xkbcomp devel pkg is available - we need it for the next step
ifneq ($(shell pkg-config --exists xkbcomp && echo yes), yes)
$(warning xkbcomp devel package missing, using imake default values)
endif
ifneq ($(shell pkg-config --exists fontutil && echo yes), yes)
$(warning fontutil devel package missing, using imake default values)
endif
ifneq "$(strip $(NX_VERSION_CUSTOM))" ""
CUSTOM_VERSION_DEFINE = NX_VERSION_CUSTOM="$(NX_VERSION_CUSTOM)"
endif
IMAKE_DEFINES ?=
SHELL:=/bin/bash
NX_X11_HEADERS = \
Xlib.h \
Xresource.h \
Xutil.h \
cursorfont.h \
Xlibint.h \
Xcms.h \
Xlocale.h \
XKBlib.h \
XlibConf.h \
Xregion.h \
ImUtil.h \
$(NULL)
NX_XTRANS_HEADERS = \
transport.c \
Xtrans.c \
Xtrans.h \
Xtransint.h \
Xtranslcl.c \
Xtranssock.c \
Xtransutil.c \
$(NULL)
all: build
clean: version imakeconfig
@echo
@echo "===> $@"
test -f nxcomp/Makefile && ${MAKE} -C nxcomp clean || true
test -f nxproxy/Makefile && ${MAKE} -C nxproxy clean || true
test -f nx-X11/lib/Makefile && ${MAKE} -C nx-X11/lib clean || true
test -f nxcompshad/Makefile && ${MAKE} -C nxcompshad clean || true
test -d nx-X11 && ${MAKE} clean-env || true
test -f nxdialog/Makefile && ${MAKE} -C nxdialog clean || true
@echo "<=== $@"
distclean: clean version imakeconfig
@echo
@echo "===> $@"
test -f nxcomp/Makefile && ${MAKE} -C nxcomp distclean || true
test -f nxproxy/Makefile && ${MAKE} -C nxproxy distclean || true
test -f nx-X11/lib/Makefile && ${MAKE} -C nx-X11/lib distclean || true
test -f nxcompshad/Makefile && ${MAKE} -C nxcompshad distclean || true
test -d nx-X11 && ${MAKE} -C nx-X11 distclean || true
test -f nxdialog/Makefile && ${MAKE} -C nxdialog distclean || true
test -x ./mesa-quilt && ./mesa-quilt pop -a
$(RM_DIR_REC) nx-X11/extras/Mesa/.pc/
$(RM_FILE) nx-X11/config/cf/nxversion.def
$(RM_FILE) nx-X11/config/cf/nxconfig.def
@echo "<=== $@"
test:
@echo "No testing for NX (redistributed)"
version:
# prepare nx-X11/config/cf/nxversion.def
sed \
-e 's/###NX_VERSION_MAJOR###/$(shell ./version.sh 1)/' \
-e 's/###NX_VERSION_MINOR###/$(shell ./version.sh 2)/' \
-e 's/###NX_VERSION_MICRO###/$(shell ./version.sh 3)/' \
-e 's/###NX_VERSION_PATCH###/$(shell ./version.sh 4)/' \
nx-X11/config/cf/nxversion.def.in \
> nx-X11/config/cf/nxversion.def
ifneq "$(strip $(NX_VERSION_CUSTOM))" ""
echo '#define NX_VERSION_CUSTOM $(NX_VERSION_CUSTOM)' >>nx-X11/config/cf/nxversion.def
endif
imakeconfig:
@echo;
@echo "===> $@"
# auto-config some setting
# check if system supports Xfont2
(echo "#define HasXfont2 `pkg-config --exists xfont2 && echo YES || echo NO`") >nx-X11/config/cf/nxconfig.def
# check if system has an _old_ release of Xfont1
(echo "#define HasLegacyXfont1 `pkg-config --exists 'xfont < 1.4.2' && echo YES || echo NO`") >>nx-X11/config/cf/nxconfig.def
# check if system has an _old_ release of XextProto
(echo "#define HasLegacyXextProto `pkg-config --exists 'xextproto < 7.1.0' && echo YES || echo NO`") >>nx-X11/config/cf/nxconfig.def
# the system's directory with the xkb data and binary files (these
# needs to be independent of Imake's ProjectRoot or the configure
# prefix.)
(pkg-config --exists xkbcomp && echo "#define SystemXkbConfigDir `pkg-config xkbcomp --variable=xkbconfigdir`"; :) >>nx-X11/config/cf/nxconfig.def
(pkg-config --exists xkbcomp && echo "#define SystemXkbBinDir `pkg-config xkbcomp --variable=prefix`/bin"; :) >>nx-X11/config/cf/nxconfig.def
(pkg-config --exists fontutil && echo "#define SystemFontRootDir `pkg-config fontutil --variable=fontrootdir`"; :) >>nx-X11/config/cf/nxconfig.def
# let's create the nx-X11 Makefiles now, once everything has been defined
$(MAKE) -j1 -C nx-X11 Makefiles IMAKE_DEFINES="$(IMAKE_DEFINES)"
@echo "<=== $@"
build-env: version imakeconfig
@echo
@echo "===> $@"
# prepare Makefiles and the nx-X11 symlinking magic
${MAKE} -j1 -C nx-X11 BuildIncludes IMAKE_DEFINES="$(IMAKE_DEFINES)"
# set up environment for libNX_X11 build (X11 header files)
mkdir -p nx-X11/exports/include/nx-X11/
for header in $(NX_X11_HEADERS); do \
${SYMLINK_FILE} ../../../lib/include/X11/$${header} nx-X11/exports/include/nx-X11/$${header}; \
done
# set up environment for libNX_X11 build (Xtrans header/include files)
mkdir -p nx-X11/exports/include/nx-X11/Xtrans/
for header in $(NX_XTRANS_HEADERS); do \
${SYMLINK_FILE} ../../../../lib/include/xtrans/$${header} nx-X11/exports/include/nx-X11/Xtrans/$${header}; \
done
@echo "<=== $@"
clean-env: version
@echo
@echo "===> $@"
for header in $(NX_X11_HEADERS); do \
${RM_FILE} nx-X11/exports/include/nx-X11/$${header}; \
done
for header in $(NX_XTRANS_HEADERS); do \
${RM_FILE} nx-X11/exports/include/nx-X11/Xtrans/$${header}; \
done
[ -d exports/include/nx-X11/Xtrans ] && $(RM_DIR) exports/include/nx-X11/Xtrans/ || :
[ -d exports/include/nx-X11/ ] && $(RM_DIR) exports/include/nx-X11/ || :
${MAKE} -j1 -C nx-X11 clean IMAKE_DEFINES="$(IMAKE_DEFINES)"
@echo "<=== $@"
build-lite:
@echo
@echo "===> $@"
cd nxcomp && autoreconf -vfsi && (${CONFIGURE}) && ${MAKE}
cd nxproxy && autoreconf -vfsi && (${CONFIGURE}) && ${MAKE}
@echo "<=== $@"
build-full: build-env
# in the full case, we rely on "magic" in the nx-X11 imake-based makefiles...
@echo
@echo "===> $@"
# build nxcomp first
cd nxcomp && autoreconf -vfsi && (${CONFIGURE} $(CUSTOM_VERSION_DEFINE)) && ${MAKE}
# build libNX_X11 second
cd nx-X11/lib && autoreconf -vfsi && (${CONFIGURE} $(CUSTOM_VERSION_DEFINE) --disable-poll) && ${MAKE}
mkdir -p nx-X11/exports/lib/
$(SYMLINK_FILE) ../../lib/src/.libs/libNX_X11.so nx-X11/exports/lib/libNX_X11.so
$(SYMLINK_FILE) ../../lib/src/.libs/libNX_X11.so.6 nx-X11/exports/lib/libNX_X11.so.6
$(SYMLINK_FILE) ../../lib/src/.libs/libNX_X11.so.6.3.0 nx-X11/exports/lib/libNX_X11.so.6.3.0
# build nxcompshad third
cd nxcompshad && autoreconf -vfsi && (${CONFIGURE} $(CUSTOM_VERSION_DEFINE)) && ${MAKE}
# build nxagent fourth
./mesa-quilt push -a
${MAKE} -j1 -C nx-X11 BuildDependsOnly IMAKE_DEFINES="$(IMAKE_DEFINES)"
${MAKE} -C nx-X11 World USRLIBDIR="$(USRLIBDIR)" SHLIBDIR="$(SHLIBDIR)" IMAKE_DEFINES="$(IMAKE_DEFINES)"
# build nxproxy fifth
cd nxproxy && autoreconf -vfsi && (${CONFIGURE} $(CUSTOM_VERSION_DEFINE)) && ${MAKE}
# "build" nxdialog last
cd nxdialog && autoreconf -vfsi && (${CONFIGURE}) && ${MAKE}
@echo "<=== $@"
build:
@echo
@echo "===> $@"
if ! test -d nx-X11; then \
${MAKE} build-lite; \
else \
${MAKE} build-full; \
fi
@echo "<=== $@"
install:
$(MAKE) install-lite
[ ! -d nx-X11 ] || $(MAKE) install-full
install-lite:
# install nxcomp library
$(MAKE) -C nxcomp install
# install the nxproxy executable and its man page
$(MAKE) -C nxproxy install
install-full:
$(MAKE) -C nxcompshad install
$(INSTALL_DIR) $(DESTDIR)$(BINDIR)/
$(INSTALL_PROGRAM) nx-X11/programs/Xserver/nxagent-relink $(DESTDIR)$(BINDIR)/nxagent
$(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/nx
$(INSTALL_FILE) nx-X11/programs/Xserver/Xext/SecurityPolicy $(DESTDIR)$(PREFIX)/share/nx
# FIXME: Drop this symlink for 3.6.0. Requires that third party frameworks like X2Go have become aware of this...
$(INSTALL_DIR) $(DESTDIR)$(NXLIBDIR)/bin
$(INSTALL_SYMLINK) $(BINDIR)/nxagent $(DESTDIR)$(NXLIBDIR)/bin/nxagent
$(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/man/man1/
$(INSTALL_FILE) nx-X11/programs/Xserver/hw/nxagent/man/nxagent.1 $(DESTDIR)$(PREFIX)/share/man/man1/
gzip $(DESTDIR)$(PREFIX)/share/man/man1/*.1
# create a clean nx-X11/.build-exports space
$(RM_DIR_REC) nx-X11/.build-exports
mkdir -p nx-X11/.build-exports/include
mkdir -p nx-X11/.build-exports/lib
# copy headers (for libnx-x11-dev)
cp -aL nx-X11/exports/include/* nx-X11/.build-exports/include
# copy libs (for libnx-x11), we want the targets of the links
. replace.sh; set -x; find nx-X11/exports/lib/ -name "libNX*.so" | while read libpath; do \
libfile=$$(basename $$libpath); \
libdir=$$(dirname $$libpath); \
link=$$(readlink $$libpath); \
\
mkdir -p "$$(string_rep "$$libdir" exports .build-exports)"; \
cp -a "$$(string_rep "$$libpath" "$$libfile" "$$link")" "$$(string_rep "$$libdir" exports .build-exports)"; \
done;
$(INSTALL_DIR) $(DESTDIR)$(SHLIBDIR)
$(INSTALL_DIR) $(DESTDIR)$(USRLIBDIR)
$(INSTALL_SYMLINK) ../../libNX_X11.so.6 $(DESTDIR)$(USRLIBDIR)/libX11.so.6
$(INSTALL_SYMLINK) ../../libNX_X11.so.6.3.0 $(DESTDIR)$(USRLIBDIR)/libX11.so.6.3.0
. replace.sh; set -x; find nx-X11/.build-exports/include/{nx*,GL} -type d | \
while read dirname; do \
$(INSTALL_DIR) "$$(string_rep "$$dirname" nx-X11/.build-exports/include "$(DESTDIR)$(INCLUDEDIR)/")"; \
$(INSTALL_FILE) $${dirname}/*.h \
"$$(string_rep "$$dirname" nx-X11/.build-exports/include "$(DESTDIR)$(INCLUDEDIR)/")"/ || true; \
done; \
$(INSTALL_DIR) $(DESTDIR)/$(ETCDIR_NX)
$(INSTALL_FILE) etc/keystrokes.cfg $(DESTDIR)/$(ETCDIR_NX)/
$(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/nx
$(INSTALL_FILE) VERSION $(DESTDIR)$(PREFIX)/share/nx/VERSION.nxagent
$(INSTALL_FILE) VERSION $(DESTDIR)$(PREFIX)/share/nx/VERSION.nxproxy
$(MAKE) -C nx-X11/lib install
# install the nxdialog executable and its man page
$(MAKE) -C nxdialog install
uninstall:
$(MAKE) uninstall-lite
[ ! -d nx-X11 ] || $(MAKE) uninstall-full
uninstall-lite:
test -f nxcomp/Makefile && ${MAKE} -C nxcomp "$@"
test -f nxproxy/Makefile && ${MAKE} -C nxproxy "$@"
$(RM_FILE) $(DESTDIR)$(PREFIX)/share/nx/VERSION.nxproxy
$(RM_DIR) $(DESTDIR)$(PREFIX)/share/nx/
uninstall-full:
test -f nxcompshad/Makefile && ${MAKE} -C nxcompshad "$@"
test -f nx-X11/lib/Makefile && ${MAKE} -C nx-X11/lib "$@"
$(RM_FILE) $(DESTDIR)$(BINDIR)/nxagent
$(RM_FILE) $(DESTDIR)$(PREFIX)/share/nx/VERSION.nxagent
$(RM_DIR) $(DESTDIR)$(PREFIX)/share/nx/
$(RM_DIR_REC) $(DESTDIR)$(NXLIBDIR)
$(RM_DIR_REC) $(DESTDIR)$(INCLUDEDIR)/nx
test -f nxdialog/Makefile && ${MAKE} -C nxdialog "$@"

1
README.NX-development Symbolic link
View File

@ -0,0 +1 @@
README.md

206
README.md Normal file
View File

@ -0,0 +1,206 @@
# NX development by ArticaProject, X2Go and TheQVD
This source tree started as a re-distribution of those NX packages needed
to setup FreeNX and/or X2Go on a Linux server.
In the past, the NX re-distribution (3.5.0.x) had been maintained by the X2Go Project:
http://wiki.x2go.org
In 2014, [the QVD project](http://theqvd.com) run by the company Qindel
joined the group of people being interested in NX maintenance and
improvement.
Since 2015, the Arctica Project has joined in the NX development. The core devs
of X2Go, Arctica and TheQVD have agreed on stopping to redistribute NX and to
continue the development of NX 3.x as the new upstream instead. The package
will see a slight name change to **nx-libs** starting with version 3.5.99.0.
Our intentions for nx-libs are:
* provide _one_ tarball that builds NX projects via a common Makefile
* provide _one_ tarball for distribution packagers
* provide support for security issues
* provide support for latest X11 extensions
* improve NX where possible while still staying compatible to FreeNX and NoMachine 3.x
This source tree is maintained on Github:
https://github.com/ArcticaProject/nx-libs (3.6.x branch)
For the the post-NoMachine era of nx-libs, we will focus on two release
phases for the upcoming two years.
## Release series 3.6.0.x
Release goals (phase 1) for nx-libs release series 3.6.0.x:
* CVE security audit (complete)
* remove unused code (+/- complete)
* no bundled non-X11 libraries anymore (complete)
* complete imake cleanup (+/- complete)
* replace as many libNX_X* libraries by X.org's libX* libraries
(complete, only remaining library: libNX_X11)
* support for iOS (nxproxy, complete)
* Unix file socket communication for nxproxy -C <-> nxproxy -S connections
(complete)
* allow Unix file sockets as channel endpoints (complete)
* allow embedding of nxproxy into other windows (work pending)
* new RandR based Xinerama extension (+/- complete, more QA needed)
* Fix Xcomposite extension in Xserver (work pending)
* nxcomp protocol clean-up (complete)
* nxcomp logging clean-up (work pending)
* optimizing documentation: how to tune NX connections (work pending)
## Release series 3.7.0.x
Release goals (phase 2) for nx-libs release series 3.7.0.x (not branched-off, yet):
* rebase Xserver code against latest X.Org server (work in progress)
* event FIFO sockets for attaching external applications
(todo, to be discussed)
* enable/support XV extension (todo)
* software cursor for shadow sessions (todo)
* no bundled Mesa library anymore (todo, to be discussed)
* use recent MesaGL (todo, to-be-discussed)
If you have any questions about this NX development or want to file a bug
report, please contact the Arctica developers, the X2Go developers or the
TheQVD developers via the project's Github issue tracker.
*Sincerely,*
*The nx-libs developers (a combined effort of ArcticaProject / TheQVD / X2Go)*
## Building Under Fedora or EPEL using Mock
Assuming:
1. The branch you are building is 3.6.x
2. The current version is 3.5.99.0 (specified in the .spec file)
3. The current release is 0.0build1 (specified in the .spec file)
4. You wish for the RPM files and the mock build logs to be under ~/result
Prerequisites:
1. Install package "mock"
2. Add your user account to the "mock" group (recommended)
3. cd to the nx-libs directory that you cloned using git
```
mkdir -p ~/result
git archive -o ../nx-libs-3.5.99.0.tar.gz --prefix=nx-libs-3.5.99.0/ 3.6.x
cp --preserve=time nx-libs.spec ../
cd ..
mock --buildsrpm --spec ./nx-libs.spec --sources ./nx-libs-3.5.99.0.tar.gz --resultdir ~/result
mock --rebuild ~/result/nx-libs-3.5.99.0-0.0build1.fc23.src.rpm --resultdir ~/result
```
The end result is RPMs under ~/result that you can install (or upgrade to) using yum or dnf, which will resolve their dependencies.
## Building for openSUSE using OBS Build
Assuming:
1. The branch you are building is 3.6.x
2. The current version is 3.5.99.0 (specified in the .spec file)
3. The current release is 0.0build1 (specified in the .spec file)
4. You wish for the RPM files and the obs-build logs to be under ~/rpmbuild
Prerequisites:
1. Install package "obs-build"
2. Make sure your user account can become root via sudo
3. cd to the nx-libs directory that you cloned using git
```
mkdir -p ~/rpmbuild/SOURCES ~/rpmbuild/RPMS ~/rpmbuild/SRPMS ~/rpmbuild/OTHER ~/rpmbuild/BUILD
git archive -o $HOME/rpmbuild/SOURCES/nx-libs-3.5.99.0.tar.gz --prefix=nx-libs-3.5.99.0/ 3.6.x
cp --preserve=time nx-libs.spec ~/rpmbuild/SOURCES
cd ..
sudo obs-build --clean --nosignature --repo http://download.opensuse.org/distribution/<OPENSUSE-VERSION>/repo/oss/suse/ --root /var/lib/obs-build/ ~/rpmbuild/SOURCES/nx-libs.spec
cp -ar /var/lib/obs-build/home/abuild/rpmbuild/RPMS/* ~/rpmbuild/RPMS/
cp -ar /var/lib/obs-build/home/abuild/rpmbuild/SRPMS/* ~/rpmbuild/SRPMS/
cp -ar /var/lib/obs-build/home/abuild/rpmbuild/OTHER/* ~/rpmbuild/OTHER/
cp -ar /var/lib/obs-build/.build.log ~/rpmbuild/BUILD/
```
The end result is RPMs under ~/result that you can install (or upgrade to) using yum or dnf, which will resolve their dependencies.
## Building Under Debian or Ubuntu using debuild
Assuming:
1. The current version is 3.5.99\* (specified in debian/changelog)
Prerequisites:
1. Install package "devscripts"
2. Install the build dependencies. `dpkg-checkbuilddeps` can help you identify them.
```
git clone <url> nx-libs
cd nx-libs
debuild -uc -us
cd ..
sudo dpkg -i *3.5.99*.deb
```
## Building on Windows
The only components that can be built on Windows at the time of writing are `nxcomp` and `nxproxy` (with the latter utilizing the former).
**The next section is only relevant for git-based source code builds. Released tarballs do not require special handling.**
Since this project makes use of UNIX-style symlinks, it is imperative to clone the repository using Cygwin's git binary. MSYS(2) git is not able to handle UNIX-style symlinks.
Make sure that all build utilities are Cygwin-based. Non-Cygwin binaries will bail out with errors during the build process or insert garbage.
## Binary Builds
Most major Linux distribution come with nx. However, their packages
are often not the most current releases so we encourage you to update
to the newest release.
### Debian/Ubuntu
You can obtain binary builds of nx-libs for Debian and Ubuntu via these apt-URLs:
Debian: deb http://packages.arctica-project.org/debian {YOUR DIST VERSION} main
Ubuntu: deb http://packages.arctica-project.org/ubuntu {YOUR DIST VERSION} main
Our package server's archive key is: 0x98DE3101 (fingerprint: 7A49
CD37 EBAE 2501 B9B4 F7EA A868 0F55 98DE 3101). Use this command to
make APT trust our package server:
wget -qO - http://packages.arctica-project.org/archive.key | sudo apt-key add -
### RedHat based
For RedHat based distributions current packages can be found at
https://bodhi.fedoraproject.org/updates/?packages=nx-libs
Please note that these are not always current as the builds are done manually.
## Compatibility with other NX based software
FreeNX is a free replacement of the original nxserver by
nomachine. OpenNX-CE is OSS GUI client replacing the original
nomachine nxclient. nx-libs is developed with those projects in mind
and tries to stay compatible with FreeNX and nomachine NX. While
looking abandoned for many years some people are still using and
improving these packages. For current repos see
* https://github.com/dimbor-ru/freenx-server
* https://github.com/dimbor-ru/opennx
Thanks to dimbor for providing/maintaining these.
Etersoft is offering a commercial software called RX. Their OSS client
called rxclient also aims to be compatible to FreeNX and nomachine and
is based on opennx. You can find repos for their software here:
* https://github.com/Etersoft/rxclient
* https://github.com/Etersoft/rx-etersoft

19
SECURITY.md Normal file
View File

@ -0,0 +1,19 @@
# Security Policy
## Supported Versions
Use this section to tell people about which versions of your project are
currently being supported with security updates.
| Version | Supported |
| -------- | ------------------ |
| 3.5.99.x | :white_check_mark: |
| 3.6.x | :white_check_mark: |
## Reporting a Vulnerability
Use this section to tell people how to report a vulnerability.
Tell them where to go, how often they can expect to get an update on a
reported vulnerability, what to expect if the vulnerability is accepted or
declined, etc.

1
VERSION Normal file
View File

@ -0,0 +1 @@
3.5.99.27

20
debian/README.source vendored Normal file
View File

@ -0,0 +1,20 @@
UPSTREAM SOURCES
----------------
The current upstream source for this package is the Arctica Project.
https://github.com/ArcticaProject/nx-libs
PACKAGE SOURCE TREE
-------------------
This package originally pulled in 7 source tarballs from NoMachine:
nx-X11
nxagent
nxauth (discontinued in nx-libs)
nxcomp
nxcompshad
nxcompext
nxproxy
Arctica Project / Mike Gabriel (2016-06-22)

1688
debian/changelog vendored Normal file

File diff suppressed because it is too large Load Diff

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
9

46
debian/compat.sh vendored Executable file
View File

@ -0,0 +1,46 @@
#!/bin/bash
# This script employs compatibility measures, mainly for older Debian
# or Ubuntu versions.
typeset -a compat_shims_all compat_shims_active
compat_shims_all=("Wpedantic")
compat_shims_active=()
typeset debian_release_ver=''
typeset -i ubuntu_release_ver_major='0' ubuntu_release_ver_minor='0'
# Check distro version and enable compat shims if required.
if dpkg-vendor --is "Debian" || dpkg-vendor --is "Raspbian"; then
debian_release_ver="$(lsb_release -r | sed -e 's/[ ]*//g' | cut -d ':' -f '2' | cut -d '.' -f '1')"
[[ "${debian_release_ver}" = 'testing' ]] && debian_release_ver='999'
[[ "${debian_release_ver}" = 'unstable' ]] && debian_release_ver='9999'
if [[ "${debian_release_ver}" -le '7' ]]; then
compat_shims_active+=("Wpedantic")
fi
elif dpkg-vendor --is "Ubuntu"; then
ubuntu_release_ver_major="$(lsb_release -r | sed -e 's/[ ]*//g' | cut -d ':' -f '2' | cut -d '.' -f '1')"
ubuntu_release_ver_minor="$(lsb_release -r | sed -e 's/[ ]*//g' | cut -d ':' -f '2' | cut -d '.' -f '2')"
if [[ "${ubuntu_release_ver_major}" -le '13' ]]; then
if [[ "${ubuntu_release_ver_major}" -lt '13' ]] || [[ "${ubuntu_release_ver_minor}" -le '4' ]]; then
compat_shims_active+=("Wpedantic")
fi
fi
fi
# Apply enabled compat shims.
# Ignore unknown values.
typeset cur_compat_shim='' cur_enabled_compat_shim=''
for cur_compat_shim in "${compat_shims_all[@]}"; do
for cur_enabled_compat_shim in "${compat_shims_active[@]}"; do
if [[ "${cur_compat_shim}" = "${cur_enabled_compat_shim}" ]]; then
if [[ "${cur_compat_shim}" = 'Wpedantic' ]]; then
sed -i -e 's/Wpedantic/pedantic/g' nx-X11/config/cf/{{host,xorgsite}.def,xorg.cf}
continue
fi
fi
done
done

520
debian/control vendored Normal file
View File

@ -0,0 +1,520 @@
Source: nx-libs
Section: x11
Priority: optional
Maintainer: Artica Project <devs@lists.arctica-project.org>
Uploaders: Mike Gabriel <sunweaver@debian.org>, Mihai Moldovan <ionic@ionic.de>
Build-Depends:
autoconf,
automake,
debhelper (>= 9),
dpkg-dev (>= 1.16.1.1),
expat,
libjpeg-dev,
libpixman-1-dev (>= 0.13.2),
libpng-dev,
libtirpc-dev | hello,
libtool,
libxcomposite-dev,
libxdamage-dev,
libxdmcp-dev,
libxext-dev,
libxfixes-dev,
libxfont-dev (>= 1.4.2),
# libxkbfile-dev is required by xkbcomp.pc, see Debian bug #913359
libxkbfile-dev,
libxinerama-dev,
libxml2-dev,
libxpm-dev,
libxrandr-dev,
libxrender-dev,
libxtst-dev,
pkg-config,
quilt (>= 0.46-7~),
x11-xkb-utils,
x11proto-core-dev,
xutils-dev,
zlib1g-dev,
lsb-release,
Standards-Version: 4.2.1
Homepage: https://github.com/ArcticaProject/nx-libs/
Vcs-Git: https://github.com/ArcticaProject/nx-libs/
Vcs-Browser: https://github.com/ArcticaProject/nx-libs/
Package: nx-x11-common
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}
Breaks:
libnx-x11 (<< 2:3.5.0.29-1~),
nxagent (<< 2:3.5.0.29-1~),
nxlibs (<= 3.5.1)
Description: nx-X11 (common files)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides all runtime architecture-independent files for
nx-X11 Xserver (aka nxagent).
Package: nx-x11proto-core-dev
Section: libdevel
Architecture: any
Depends: ${misc:Depends}
Breaks: libnx-x11-dev (<< 2:3.5.0.29-1~), nxlibs (<= 3.5.1)
Description: nx-X11 core wire protocol and auxiliary headers
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides development headers describing the wire protocol
for the core nx-X11 protocol, and also provides a number of utility headers,
used to abstract OS-specific functions.
Package: libnx-x11-6
Section: libs
Architecture: any
Multi-Arch: same
Depends:
libx11-data,
libxcomp3 (= ${binary:Version}),
nx-x11-common (<< ${source:Version}.1),
nx-x11-common (>= ${source:Version}),
${misc:Depends},
${shlibs:Depends}
Breaks:
libnx-x11 (<< 2:3.5.0.29-1~),
libnx-xau6 (<< 2:3.6.0.0),
libnx-xcomposite1 (<< 2:3.6.0.0),
libnx-xdamage1 (<< 2:3.6.0.0),
libnx-xdmcp6 (<< 2:3.6.0.0),
libnx-xext6 (<< 2:3.6.0.0),
libnx-xfixes3 (<< 2:3.6.0.0),
libnx-xinerama1 (<< 2:3.6.0.0),
libnx-xpm4 (<< 2:3.6.0.0),
libnx-xrandr2 (<< 2:3.6.0.0),
libnx-xrender1 (<< 2:3.6.0.0),
libnx-xtst6 (<< 2:3.6.0.0),
nxlibs (<= 3.5.1)
Replaces:
libnx-xau6,
libnx-xcomposite1,
libnx-xdamage1,
libnx-xdmcp6,
libnx-xext6,
libnx-xfixes3,
libnx-xinerama1,
libnx-xpm4,
libnx-xrandr2,
libnx-xrender1,
libnx-xtst6,
nxlibs
Description: nxagent's libNX_X11 client-part library
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides the libNX_X11 library (a libX11 drop-in
replacement used by nxagent).
Package: libnx-x11-dev
Provides: libnx-x11-6-dev
Section: libdevel
Architecture: any
Breaks:
libnx-xau-dev (<< 2:3.6.0.0),
libnx-xcomposite-dev (<< 2:3.6.0.0),
libnx-xdamage-dev (<< 2:3.6.0.0),
libnx-xdmcp-dev (<< 2:3.6.0.0),
libnx-xext-dev (<< 2:3.6.0.0),
libnx-xfixes-dev (<< 2:3.6.0.0),
libnx-xinerama-dev (<< 2:3.6.0.0),
libnx-xpm-dev (<< 2:3.6.0.0),
libnx-xrandr-dev (<< 2:3.6.0.0),
libnx-xrender-dev (<< 2:3.6.0.0),
libnx-xtst-dev (<< 2:3.6.0.0),
nxlibs-dev (<=3.5.1)
Replaces:
libnx-xau-dev,
libnx-xcomposite-dev,
libnx-xdamage-dev,
libnx-xdmcp-dev,
libnx-xext-dev,
libnx-xfixes-dev,
libnx-xinerama-dev,
libnx-xpm-dev,
libnx-xrandr-dev,
libnx-xrender-dev,
libnx-xtst-dev,
nxlibs-dev
Depends: libnx-x11-6 (= ${binary:Version}), ${misc:Depends}
Description: nxagent's libNX_X11 client-part library (development headers)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides development headers of the libNX_X11 library (a
libX11 drop-in replacement used by nxagent).
Package: libnx-x11-6-dbg
Architecture: any
Multi-Arch: same
Depends: libnx-x11-6 (= ${binary:Version}), ${misc:Depends}
Section: debug
Breaks:
libnx-xau6-dbg (<< 2:3.6.0.0),
libnx-xcomposite1-dbg (<< 2:3.6.0.0),
libnx-xdamage1-dbg (<< 2:3.6.0.0),
libnx-xdmcp6-dbg (<< 2:3.6.0.0),
libnx-xext6-dbg (<< 2:3.6.0.0),
libnx-xfixes3-dbg (<< 2:3.6.0.0),
libnx-xinerama1-dbg (<< 2:3.6.0.0),
libnx-xpm4-dbg (<< 2:3.6.0.0),
libnx-xrandr2-dbg (<< 2:3.6.0.0),
libnx-xrender1-dbg (<< 2:3.6.0.0),
libnx-xtst6-dbg (<< 2:3.6.0.0),
nx-x11-dbg (<< 2:3.5.0.29-1~)
Replaces:
libnx-xau6-dbg,
libnx-xcomposite1-dbg,
libnx-xdamage1-dbg,
libnx-xdmcp6-dbg,
libnx-xext6-dbg,
libnx-xfixes3-dbg,
libnx-xinerama1-dbg,
libnx-xpm4-dbg,
libnx-xrandr2-dbg,
libnx-xrender1-dbg,
libnx-xtst6-dbg,
nx-x11-dbg
Description: nx-X11 client-side library (debug package)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package contains debug symbols for the core nx-X11 libraries
customized for nxagent.
Package: nx-x11proto-xext-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends}
Breaks:
libnx-x11-dev (<< 2:3.5.0.29-1~),
libnx-xext-dev (<< 2:3.5.99.0~),
nxlibs (<= 3.5.1)
Description: nx-X11 miscellaneous extension wire protocol
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides development headers describing the wire protocol
for various extensions, the client-side libraries of which are provided
in the Xext library.
Package: nx-x11proto-composite-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends}
Breaks: libnx-x11-dev (<< 2:3.5.0.29-1~), nxlibs (<= 3.5.1)
Description: nx-X11 Composite extension wire protocol
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides development headers describing the wire protocol
for the Composite extension in nx-X11, used to let arbitrary client
programs control drawing of the final image.
Package: nx-x11proto-damage-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends}
Description: nx-X11 Damage extension wire protocol
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides development headers describing the wire protocol
for the Damage extension, used to notify clients of changes made to
particular areas.
Package: nx-x11proto-xfixes-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends}
Breaks: libnx-x11-dev (<< 2:3.5.0.29-1~), nxlibs (<= 3.5.1)
Description: nx-X11 'xfixes' extension wire protocol
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides development headers describing the wire protocol
for the XFIXES extension.
Package: nx-x11proto-xinerama-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends}
Description: nx-X11 Xinerama extension wire protocol
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides development headers describing the wire protocol
for the XINERAMA extension, used to use and manage a multiple-screen
display.
Package: nx-x11proto-randr-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends}
Description: nx-X11 RandR extension wire protocol
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides development headers describing the wire protocol
for the RandR extension, used to change display properties such as
resolution, rotation, reflection, et al, on the fly.
Package: nx-x11proto-render-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends}
Description: nx-X11 Render extension wire protocol
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides development headers describing the wire protocol for
the Render extension, used to implement Porter-Duff operations within X.
Package: nx-x11proto-scrnsaver-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends}
Breaks: libnx-x11-dev (<< 2:3.5.0.29-1~), nxlibs (<= 3.5.1)
Description: nx-X11 Screen Saver extension wire protocol
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides development headers describing the wire protocol
for the MIT-SCREEN-SAVER extension, used to notify the server of client
screen saver events.
Package: libnx-mesa-extras-dev
Section: libdevel
Architecture: any
Depends: libnx-x11-dev (= ${binary:Version}), ${misc:Depends}
Description: Library headers for nx-X11/Mesa (dummy package)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package can be safely removed. Since 3.5.0.29 of nx-libs
no Mesa header files are shipped with binary packages of NX
(redistributed) any more.
Package: nxagent
Architecture: any
Multi-Arch: foreign
Depends:
libnx-x11-6 (= ${binary:Version}),
libxcomp3 (= ${binary:Version}),
libxcompshad3 (= ${binary:Version}),
x11-xkb-utils,
${misc:Depends},
${shlibs:Depends},
Recommends: xfonts-base, xkb-data
Breaks: libxcompext3 (<< 2:3.5.99.3~), nxauth
Replaces: libxcompext3, nxauth
Description: Nested Xserver (aka NX Agent) supporting the NX compression protocol
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
nxagent is a nested Xserver providing NX transport of X sessions. The
application is based on the well known Xnest "nested" server. nxagent,
like Xnest, is an X server for its own clients, and at the same time, an
X client for a system's local X server.
.
The main scope of nxagent is to eliminate X round-trips or transform
them into asynchronous replies. nxagent works together with nxproxy.
nxproxy itself does not make any effort to minimize round-trips
by itself, this is demanded of nxagent.
.
Being an X server, nxagent is able to resolve all the property/atoms related
requests locally, ensuring that the most common source of round-trips are
nearly reduced to zero.
Package: nxagent-dbg
Section: debug
Architecture: any
Multi-Arch: foreign
Depends: nxagent (= ${binary:Version}), ${misc:Depends}
Breaks: nx-x11-dbg (<< 2:3.5.0.29-1~)
Description: NX agent (debug package)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
nxagent is an agent providing NX transport of X sessions. The application
is based on the well known Xnest "nested" server. nxagent, like Xnest,
is an X server for its own clients, and at the same time, an X client
for a system's local X server.
.
This package contains detached debug symbols that help generating more
helpful backtraces. You can safely remove it if you do not intend to
debug NX packages on this system.
Package: nxdialog
Architecture: all
Depends:
python3,
python3-gi,
gir1.2-gtk-3.0,
x11-xkb-utils,
${misc:Depends},
Recommends:
nxagent,
Breaks:
nxagent (<< 2:3.5.99.22-0~),
Replaces:
nxagent (<< 2:3.5.99.22-0~),
Description: Dialogs for NX Agent
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
nxdialog adds dialog windows/menus to nxagent. They get triggered by
certain actions within the NX Agent Xserver.
Package: nxproxy
Architecture: any
Multi-Arch: foreign
Depends: libxcomp3 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
Breaks: nxauth, qvd-nxproxy
Replaces: nxauth, qvd-nxproxy
Description: NX proxy
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides the NX proxy (client) binary.
Package: nxproxy-dbg
Section: debug
Architecture: any
Multi-Arch: foreign
Depends: nxproxy (= ${binary:Version}), ${misc:Depends}
Suggests: libxcomp3-dbg
Breaks: nx-x11-dbg (<< 2:3.5.0.29-1~)
Description: NX proxy (debug package)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides the NX proxy (client) binary.
.
This package contains detached debug symbols that help generating more
helpful backtraces. You can safely remove it if you do not intend to
debug NX packages on this system.
Package: libxcomp3
Section: libs
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends}, ${shlibs:Depends}
Breaks: nxcomp (<= 3.5.1), qvd-libxcomp3
Replaces: nxcomp, qvd-libxcomp3
Description: NX compression library
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides the compression library.
Package: libxcomp-dev
Provides: libxcomp3-dev
Section: libdevel
Architecture: any
Depends: libxcomp3 (= ${binary:Version}), ${misc:Depends}
Breaks: nxcomp-dev (<=3.5.1)
Replaces: nxcomp-dev
Description: NX compression library (development headers)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides the compression library.
.
This package contains the development headers for this library.
Package: libxcomp3-dbg
Architecture: any
Multi-Arch: same
Depends: libxcomp3 (= ${binary:Version}), ${misc:Depends}
Section: debug
Breaks: nx-x11-dbg (<< 2:3.5.0.29-1~)
Description: nx-X11 compression library (debug package)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides the compression library.
.
This package contains debug symbols for this library.
Package: libxcompshad3
Section: libs
Architecture: any
Multi-Arch: same
Depends: libnx-x11-6 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
Breaks: nxcompshad (<=3.5.1)
Replaces: nxcompshad
Description: NX shadowing library
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides a library for shadow session support.
Package: libxcompshad-dev
Provides: libxcompshad3-dev
Section: libdevel
Architecture: any
Depends: libxcompshad3 (= ${binary:Version}), ${misc:Depends}
Breaks: nxcompshad-dev (<= 3.5.1)
Replaces: nxcompshad-dev
Description: NX shadowing library (development headers)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides a library for shadow session support.
.
This package contains the development headers for this library.
Package: libxcompshad3-dbg
Architecture: any
Multi-Arch: same
Depends: libxcompshad3 (= ${binary:Version}), ${misc:Depends}
Section: debug
Breaks: nx-x11-dbg (<< 2:3.5.0.29-1~)
Description: nx-X11 shadowing library (debug package)
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides a library for shadow session support.
.
This package contains debug symbols for this library.

3886
debian/copyright vendored Normal file

File diff suppressed because it is too large Load Diff

2690
debian/copyright.in vendored Normal file

File diff suppressed because it is too large Load Diff

1
debian/libnx-x11-6.install vendored Normal file
View File

@ -0,0 +1 @@
usr/lib/*/libNX_X11.so.*

1275
debian/libnx-x11-6.symbols vendored Normal file

File diff suppressed because it is too large Load Diff

1
debian/libnx-x11-6.triggers vendored Normal file
View File

@ -0,0 +1 @@
activate-noawait ldconfig

17
debian/libnx-x11-dev.install vendored Normal file
View File

@ -0,0 +1,17 @@
usr/include/*/nx-X11/ImUtil.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
usr/include/*/nx-X11/Xlibint.h
usr/include/*/nx-X11/Xlocale.h
usr/include/*/nx-X11/Xregion.h
usr/include/*/nx-X11/Xresource.h
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

9
debian/libxcomp-dev.install vendored Normal file
View File

@ -0,0 +1,9 @@
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/lib/*/libXcomp.a
usr/lib/*/libXcomp.so
usr/lib/*/pkgconfig/nxcomp.pc

1
debian/libxcomp-dev.links vendored Normal file
View File

@ -0,0 +1 @@
usr/share/doc/libxcomp3 usr/share/doc/libxcomp3-dev

9
debian/libxcomp3.doc-base vendored Normal file
View File

@ -0,0 +1,9 @@
Document: libxcomp3
Title: NX compression library
Section: Screen
Format: Text
Files: /usr/share/doc/libxcomp3/README.on-retroactive-DXPC-license.gz
Format: PDF
Files: /usr/share/doc/libxcomp3/nxcomp-3.6-drops-compat-code-3.4.x-testing.pdf.gz

2
debian/libxcomp3.docs vendored Normal file
View File

@ -0,0 +1,2 @@
doc/nxcomp/README.on-retroactive-DXPC-license
doc/nxcomp/nxcomp-3.6-drops-compat-code-3.4.x-testing.pdf

1
debian/libxcomp3.install vendored Normal file
View File

@ -0,0 +1 @@
usr/lib/*/libXcomp.so.*

1
debian/libxcomp3.triggers vendored Normal file
View File

@ -0,0 +1 @@
activate-noawait ldconfig

4
debian/libxcompshad-dev.install vendored Normal file
View File

@ -0,0 +1,4 @@
usr/include/*/nx/Shadow.h
usr/lib/*/libXcompshad.a
usr/lib/*/libXcompshad.so
usr/lib/*/pkgconfig/nxcompshad.pc

1
debian/libxcompshad-dev.links vendored Normal file
View File

@ -0,0 +1 @@
usr/share/doc/libxcompshad3 usr/share/doc/libxcompshad3-dev

1
debian/libxcompshad3.install vendored Normal file
View File

@ -0,0 +1 @@
usr/lib/*/libXcompshad*.so.*

1
debian/libxcompshad3.triggers vendored Normal file
View File

@ -0,0 +1 @@
activate-noawait ldconfig

2
debian/nx-x11-common.dirs vendored Normal file
View File

@ -0,0 +1,2 @@
# we symlink to this dir, so make sure it exists
usr/share/fonts/X11

3
debian/nx-x11-common.install vendored Normal file
View File

@ -0,0 +1,3 @@
usr/share/nx/SecurityPolicy
usr/share/nx/X11/XErrorDB
usr/share/nx/X11/Xcms.txt

1
debian/nx-x11-common.links vendored Normal file
View File

@ -0,0 +1 @@
usr/share/fonts/X11 usr/share/nx/fonts

View File

@ -0,0 +1,2 @@
usr/include/*/nx-X11/extensions/composite.h
usr/include/*/nx-X11/extensions/compositeproto.h

20
debian/nx-x11proto-core-dev.install vendored Normal file
View File

@ -0,0 +1,20 @@
usr/include/*/nx-X11/DECkeysym.h
usr/include/*/nx-X11/HPkeysym.h
usr/include/*/nx-X11/Sunkeysym.h
usr/include/*/nx-X11/X.h
usr/include/*/nx-X11/XF86keysym.h
usr/include/*/nx-X11/Xarch.h
usr/include/*/nx-X11/Xatom.h
usr/include/*/nx-X11/Xdefs.h
usr/include/*/nx-X11/Xfuncproto.h
usr/include/*/nx-X11/Xfuncs.h
usr/include/*/nx-X11/Xmd.h
usr/include/*/nx-X11/Xos.h
usr/include/*/nx-X11/Xos_r.h
usr/include/*/nx-X11/Xosdefs.h
usr/include/*/nx-X11/Xpoll.h
usr/include/*/nx-X11/Xproto.h
usr/include/*/nx-X11/Xprotostr.h
usr/include/*/nx-X11/Xthreads.h
usr/include/*/nx-X11/keysym.h
usr/include/*/nx-X11/keysymdef.h

2
debian/nx-x11proto-damage-dev.install vendored Normal file
View File

@ -0,0 +1,2 @@
usr/include/*/nx-X11/extensions/damageproto.h
usr/include/*/nx-X11/extensions/damagewire.h

2
debian/nx-x11proto-randr-dev.install vendored Normal file
View File

@ -0,0 +1,2 @@
usr/include/*/nx-X11/extensions/randr.h
usr/include/*/nx-X11/extensions/randrproto.h

2
debian/nx-x11proto-render-dev.install vendored Normal file
View File

@ -0,0 +1,2 @@
usr/include/*/nx-X11/extensions/render.h
usr/include/*/nx-X11/extensions/renderproto.h

View File

@ -0,0 +1,2 @@
usr/include/*/nx-X11/extensions/saver.h
usr/include/*/nx-X11/extensions/saverproto.h

15
debian/nx-x11proto-xext-dev.install vendored Normal file
View File

@ -0,0 +1,15 @@
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
usr/include/*/nx-X11/extensions/record*.h
usr/include/*/nx-X11/extensions/security.h
usr/include/*/nx-X11/extensions/securstr.h
usr/include/*/nx-X11/extensions/shapeconst.h
usr/include/*/nx-X11/extensions/sync.h
usr/include/*/nx-X11/extensions/syncstr.h
usr/include/*/nx-X11/extensions/xcmiscstr.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/xteststr.h

2
debian/nx-x11proto-xfixes-dev.install vendored Normal file
View File

@ -0,0 +1,2 @@
usr/include/*/nx-X11/extensions/xfixesproto.h
usr/include/*/nx-X11/extensions/xfixeswire.h

View File

@ -0,0 +1,2 @@
usr/include/*/nx-X11/extensions/panoramiXext.h
usr/include/*/nx-X11/extensions/panoramiXproto.h

6
debian/nxagent.doc-base vendored Normal file
View File

@ -0,0 +1,6 @@
Document: nxagent
Title: nx-X11 Agent (Xserver)
Section: Screen
Format: Text
Files: /usr/share/doc/nxagent/README.keystrokes.gz

1
debian/nxagent.docs vendored Normal file
View File

@ -0,0 +1 @@
doc/nxagent/README.keystrokes

7
debian/nxagent.install vendored Normal file
View File

@ -0,0 +1,7 @@
etc/nxagent/keystrokes.cfg
usr/bin/nxagent
usr/lib/*/nx/X11/
usr/share/man/man1/nxagent.1*
usr/share/nx/VERSION.nxagent
# FIXME: compatibility symlink, drop for 3.6.0 release
usr/lib/*/nx/bin/nxagent

11
debian/nxagent.postinst vendored Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
set -e
dpkg-maintscript-helper rm_conffile \
/etc/nxagent/rgb "2:3.5.99.4-1" nxagent -- "$@"
dpkg-maintscript-helper rm_conffile \
/etc/nxagent/nxagent.keyboard "2:3.5.99.16-4" nxagent -- "$@"
#DEBHELPER#

11
debian/nxagent.postrm vendored Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
set -e
dpkg-maintscript-helper rm_conffile \
/etc/nxagent/rgb "2:3.5.99.4-1" nxagent -- "$@"
dpkg-maintscript-helper rm_conffile \
/etc/nxagent/nxagent.keyboard "2:3.5.99.16-4" nxagent -- "$@"
#DEBHELPER#

11
debian/nxagent.preinst vendored Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
set -e
dpkg-maintscript-helper rm_conffile \
/etc/nxagent/rgb "2:3.5.99.4-1" nxagent -- "$@"
dpkg-maintscript-helper rm_conffile \
/etc/nxagent/nxagent.keyboard "2:3.5.99.16-4" nxagent -- "$@"
#DEBHELPER#

2
debian/nxdialog.install vendored Normal file
View File

@ -0,0 +1,2 @@
usr/bin/nxdialog
usr/share/man/man1/nxdialog.1*

6
debian/nxproxy.doc-base vendored Normal file
View File

@ -0,0 +1,6 @@
Document: nxproxy
Title: NX compression tool
Section: Screen
Format: Text
Files: /usr/share/doc/nxproxy/README-VALGRIND

1
debian/nxproxy.docs vendored Normal file
View File

@ -0,0 +1 @@
doc/nxproxy/README-VALGRIND

3
debian/nxproxy.install vendored Normal file
View File

@ -0,0 +1,3 @@
usr/bin/nxproxy
usr/share/man/man1/nxproxy.1*
usr/share/nx/VERSION.nxproxy

View File

@ -0,0 +1,23 @@
Index: nxcomp-3.2.0-7/Loop.cpp
===================================================================
--- nxcomp-3.2.0-7.orig/Loop.cpp 2008-09-23 19:20:51.000000000 +0200
+++ nxcomp-3.2.0-7/Loop.cpp 2008-09-23 19:20:21.000000000 +0200
@@ -7329,6 +7329,18 @@
<< logofs_flush;
#endif
+ // Henning Heinold
+ // fix up error from libnxcl where bye can be in front of NXPROXY
+ if (strncmp(options, "bye", strlen("bye")) == 0)
+ {
+ int bye_length = strlen("bye");
+ char *moo = &options[bye_length+1];
+
+ memmove(options, moo, DEFAULT_REMOTE_OPTIONS_LENGTH-bye_length-1);
+ *logofs << "Loop: Cleanded the bye in options, options now looks '"
+ << options << "'.\n" << logofs_flush;
+ }
+
if (strncmp(options, "NXPROXY-", strlen("NXPROXY-")) != 0)
{
#ifdef PANIC

View File

@ -0,0 +1,118 @@
Description: Enable locale support
Enable locale support in nxagent.
.
Originally contributed by FreeNX Team (dimbor).
Forwarded: not-yet
Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Last-Update: 2011-12-31
--- a/nx-X11/programs/Xserver/hw/nxagent/Init.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Init.c
@@ -64,6 +64,9 @@
#include "NX.h"
#include "NXlib.h"
+/* by dimbor */
+#include <X11/Xlocale.h>
+
/*
* Set here the required log level.
*/
@@ -366,6 +369,20 @@
*/
blackRoot = TRUE;
+
+ /* by dimbor */
+ char *locale = setlocale(LC_ALL, "");
+ if (!locale)
+ fprintf(stderr, "InitOutput: failed to set locale, reverting to \"C\"\n");
+ else
+ {
+ if (!XSupportsLocale())
+ fprintf(stderr, "InitOutput: Locale %s not supported by X\n",locale);
+ else
+ fprintf(stderr, "InitOutput: Set %s locale\n",locale);
+ }
+ if (!XSetLocaleModifiers(""))
+ fprintf(stderr,"InitOutput: cannot set locale modifiers.\n");
}
void InitInput(argc, argv)
--- a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c
@@ -32,6 +32,10 @@
#include "NXlib.h"
+/* by dimbor */
+#include "Xatom.h"
+#include <X11/Xlocale.h>
+
/*
* Set here the required log level.
*/
@@ -419,6 +423,28 @@
}
}
+/* by dimbor */
+char *textToUTF8String(char *text, int nitems)
+{
+ XTextProperty t_prop;
+ char *ret=NULL;
+ t_prop.value=((unsigned char *)text);
+ t_prop.nitems=nitems;
+ if (!t_prop.nitems)
+ return ret;
+ t_prop.format=8;
+ t_prop.encoding=XInternAtom(nxagentDisplay, "COMPOUND_TEXT", 0);
+ char **list;
+ int num;
+ int r = Xutf8TextPropertyToTextList(nxagentDisplay, &t_prop,&list, &num);
+ if ((r == Success || r > 0) && num > 0 && *list)
+ {
+ ret=(char *)strdup (*list);
+ XFreeStringList(list);
+ }
+ return ret;
+}
+
int nxagentExportAllProperty(pWin)
WindowPtr pWin;
{
@@ -464,6 +490,7 @@
if (strncmp(propertyS, "WM_", 3) != 0 &&
strncmp(propertyS, "_NET_", 5) != 0 &&
+ strncmp(propertyS, "_MOTIF_", 7) != 0 &&
strcmp(propertyS, "_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR") != 0)
{
#ifdef TEST
@@ -474,6 +501,7 @@
#endif
}
else if (strcmp(typeS, "STRING") == 0 ||
+ strcmp(typeS, "_MOTIF_WM_HINTS") == 0 ||
#ifndef _XSERVER64
strcmp(typeS, "CARDINAL") == 0 ||
strcmp(typeS, "WM_SIZE_HINTS") == 0 ||
@@ -483,6 +511,19 @@
output = value;
export = True;
}
+ /* add by dimbor, modified by Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+ else if (strcmp(typeS, "COMPOUND_TEXT") == 0)
+ {
+ output = textToUTF8String(value, nUnits);
+ if ( output != NULL ) {
+ type = MakeAtom("UTF8_STRING", strlen("UTF8_STRING"), True);
+ } else {
+ output = value;
+ }
+ nUnits = strlen((char *) output);
+ freeMem = True;
+ export = True;
+ } */
#ifdef _XSERVER64
else if (strcmp(typeS, "CARDINAL") == 0 || strcmp(typeS, "WM_SIZE_HINTS") == 0)
{

View File

@ -0,0 +1,37 @@
Description: FHS adaptation for Debian packaging
On Debian, NX libraries and binaries are installed to
/usr/lib/nx.
Forwarded: not-needed
Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Last-Update: 2012-12-31
--- a/nx-X11/config/cf/Imake.tmpl
+++ b/nx-X11/config/cf/Imake.tmpl
@@ -733,7 +733,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
@@ -751,7 +751,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
/*

View File

@ -0,0 +1,11 @@
Description: Enforce usage of Python3
Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
--- a/nxdialog/bin/nxdialog
+++ b/nxdialog/bin/nxdialog
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# ^^^ This is working with python2 and python3 so we choose a shebang
# that will find either version.

2
debian/patches/series vendored Normal file
View File

@ -0,0 +1,2 @@
2001_nx-X11_install-location.debian.patch
2003_nxdialog-use-python3.patch

142
debian/rules vendored Executable file
View File

@ -0,0 +1,142 @@
#!/usr/bin/make -f
NULL =
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
include /usr/share/dpkg/architecture.mk
export LIBDIR = "/usr/lib/$(DEB_HOST_MULTIARCH)"
export LIBEXECDIR = "$(LIBDIR)/nx/bin"
export INCLUDEDIR = "/usr/include/$(DEB_HOST_MULTIARCH)"
VENDOR_DEBIAN := 0
RELEASE_VER := 0
# detect VENDOR_* variables and RELEASE_VER{,_MAJOR,_MINOR}
VENDOR_DEBIAN := $(shell { dpkg-vendor --is 'Debian' && echo 'yes'; } || { dpkg-vendor --is 'Raspbian' && echo 'yes'; })
ifeq ($(VENDOR_DEBIAN),yes)
RELEASE_VER := $(shell /usr/bin/lsb_release -r | cut -d ':' -f'2' | sed -e 's/\s*//g' | cut -d '.' -f'1')
# Newer Debian versions might report "n/a" for testing and unstable.
ifeq ($(RELEASE_VER),n/a)
# On these platforms, the best way to determine the system version is by
# going through "apt-cache policy".
# Note that this should only be the case for either testing or unstable.
# Other systems should have a proper version number.
# This is also why we can just drop any suites/archive names (this is
# what a= means) containing a dash character (e.g., "stable-updates")
# and only pick the first match.
RELEASE_VER := $(shell /usr/bin/apt-cache policy | grep -E 'o=(De|Rasp)bian,' | grep -E 'l=(De|Rasp)bian,' | grep -F 'c=main,' | grep -Eo 'a=[^, ]*' | sed -e 's/^a=//' | grep -v -- '-' | head -n '1')
# Do error checking.
ifneq ($(RELEASE_VER),testing)
ifneq ($(RELEASE_VER),unstable)
$(error Release version could not be determined, sorry. Extracted value: $(RELEASE_VER))
endif
endif
endif
# Let's fake testing's and unstable's "release version"...
ifeq ($(RELEASE_VER),testing)
RELEASE_VER := 999
endif
ifeq ($(RELEASE_VER),unstable)
RELEASE_VER := 9999
endif
else
VENDOR_UBUNTU := $(shell dpkg-vendor --is 'Ubuntu' && echo 'yes')
ifeq ($(VENDOR_UBUNTU),yes)
RELEASE_VER_MAJOR := $(shell lsb_release -r | cut -d ':' -f '2' | sed -e 's/\s*//g' | cut -d '.' -f '1')
RELEASE_VER_MINOR := $(shell lsb_release -r | cut -d ':' -f '2' | sed -e 's/\s*//g' | cut -d '.' -f '2')
endif
endif
# detect when to use libtirpc and when glibc still provides rpc/rpc.h
IMAKE_EXTRA_DEFINES := ""
ifeq ($(VENDOR_DEBIAN),yes)
ifeq ($(shell /bin/bash -c '(( $(RELEASE_VER) >= 10 )) && echo '"'"'yes'"'"),yes)
IMAKE_EXTRA_DEFINES+="-DUseTIRPC=1"
endif
else
ifeq ($(VENDOR_UBUNTU),yes)
ifeq ($(shell /bin/bash -c '(( $(RELEASE_VER_MAJOR) >= 18 )) && echo '"'"'yes'"'"),yes)
IMAKE_EXTRA_DEFINES+="-DUseTIRPC=1"
endif
endif
endif
%:
VERBOSE=1 CONFIGURE="./configure --disable-silent-rules \
--prefix=/usr \
--libdir=$(LIBDIR) \
--includedir=$(INCLUDEDIR) \
--libexecdir=$(LIBEXECDIR) \
--build=$(DEB_BUILD_GNU_TYPE) \
--host=$(DEB_HOST_GNU_TYPE)" dh $@ --no-parallel --with quilt
override_dh_auto_clean:
rm -Rf nx-X11/.build-exports
dh_auto_clean --no-parallel || dh_auto_clean
override_dh_clean:
dh_clean
rm -f nx-X11/config/cf/date.def
override_dh_install:
# strip static libs and remove .la files
rm debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libXcomp.la
strip --strip-debug --remove-section=.comment --remove-section=.note debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libXcomp.a
rm debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libXcompshad.la
strip --strip-debug --remove-section=.comment --remove-section=.note debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libXcompshad.a
rm debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libNX_X11.la
strip --strip-debug --remove-section=.comment --remove-section=.note debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libNX_X11.a
# remove extras, GL, and other unneeded headers
rm -R debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/GL/
rm -R debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/nx-X11/extensions/XK*.h
rm -R debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/nx-X11/extensions/*Xv*.h
rm -R debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/nx-X11/extensions/XRes*.h
rm -R debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/nx-X11/extensions/XIproto.h
rm -R debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/nx-X11/extensions/XI.h
rm -R debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/nx-X11/Xtrans/
dh_install
override_dh_missing:
dh_missing --fail-missing
override_dh_auto_install:
PREFIX='/usr' dh_auto_install --no-parallel -Smakefile || \
PREFIX='/usr' dh_auto_install -Smakefile
override_dh_auto_build:
debian/compat.sh
PREFIX='/usr' dh_auto_build --no-parallel -- CDEBUGFLAGS="$(CPPFLAGS) $(CFLAGS)" LOCAL_LDFLAGS="$(LDFLAGS)" SHLIBGLOBALSFLAGS='$(filter-out -pie,$(LDFLAGS))' IMAKE_DEFINES="$(IMAKE_EXTRA_DEFINES)" || \
PREFIX='/usr' dh_auto_build -- CDEBUGFLAGS="$(CPPFLAGS) $(CFLAGS)" LOCAL_LDFLAGS="$(LDFLAGS)" SHLIBGLOBALSFLAGS='$(filter-out -pie,$(LDFLAGS))' IMAKE_DEFINES="$(IMAKE_EXTRA_DEFINES)"
override_dh_strip:
dh_strip -plibnx-x11-6 --dbg-package=libnx-x11-6-dbg
dh_strip -plibxcomp3 --dbg-package=libxcomp3-dbg
dh_strip -plibxcompshad3 --dbg-package=libxcompshad3-dbg
dh_strip -pnxagent --dbg-package=nxagent-dbg
dh_strip -pnxproxy --dbg-package=nxproxy-dbg
override_dh_makeshlibs:
dh_makeshlibs -n
# Needed for the libX11 RUNPATH/RPATH link-time hack.
# dh_shlibdeps will follow dependencies within binaries and choke
# on the libX11 dependency, since the SONAME (libX11.*) used while linking
# does not match the later detected SONAME (libNX_X11.*) obtained through
# the libX11 -> libNX_X11 compat symlink.
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
get-orig-source:
uscan --noconf --force-download --rename --download-current-version --destdir=..

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
1.0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,21 @@
README
------
Building
--------
1. To compile:
> tar zxvf nxcomp-X.Y.Z-N.tar.gz
> cd nxcomp
> ./configure
> make
You'll have to run gmake under Solaris.
2. The 'make install' target is not currently supported
in the Makefile, but it should be simple to fix.
You need at least nxproxy and nxagent packages to enjoy this code. Check the
NoMachine website at http://www.nomachine.com to get the latest release.

View File

@ -0,0 +1,21 @@
README-IPAQ
-----------
1. Install a cross-compiler for ARM. You can find detailed
informations at:
http://www.ailis.de/~k/knowledge/crosscompiling/toolchain.php
There are also binaries needed to install the cross-compiler.
2. Configure and compile libXcomp using:
$ ./configure --with-ipaq
$ make
After compilation type:
$ arm-linux-strip libXcomp.*
3. Remember that you also need nxproxy to actually run your NX X
session.

View File

@ -0,0 +1,806 @@
ChangeLog:
nxcompext-3.5.0-1
- Opened the 3.5.0 branch based on nxcompext-3.4.0-1.
- Updated copyright to year 2011.
nxcompext-3.4.0-1
- Opened the 3.4.0 branch based on nxcompext-3.3.0-4.
- Updated version number.
- Updated copyright to year 2009.
nxcompext-3.3.0-4
- Fixed TR03G02199. The color palette allocated for encoding an image
having 256 colors or less was not freed.
nxcompext-3.3.0-3
- Now setting the correct event serial number when sending collect
notifies back.
nxcompext-3.3.0-2
- Updated VERSION.
nxcompext-3.3.0-1
- Opened the 3.3.0 branch based on nxcompext-3.2.0-1.
nxcompext-3.2.0-1
- Opened the 3.2.0 branch based on nxcompext-3.1.0-2.
nxcompext-3.1.0-2
- Updated file VERSION to match the current release version.
nxcompext-3.1.0-1
- Opened the 3.1.0 branch based on nxcompext-3.0.0-18.
nxcompext-3.0.0-18
- Removed the remaining debug output.
nxcompext-3.0.0-17
- Changed the copyright notices at the beginning of the files that
were referring to NXPROXY to refer to NXCOMPEXT.
nxcompext-3.0.0-16
- Handle the reply failure in NXGetShmemParameters().
nxcompext-3.0.0-15
- Separated the functionalities made available by NXQueryDisplay()
in three distinct functions:
NXDisplayReadable() Query the number of bytes readable from
the display connection.
NXDisplayFlushable() Query the number of the outstanding bytes
to flush to the display connection.
NXDisplayCongestion() Return a value between 0 and 9 indicating
the congestion level of the NX transport.
- Renamed NXQueryDisplayError() to NXDisplayError().
nxcompext-3.0.0-14
- Removed support for Rdp, Tight and Hextile packed images encod-
ing since they have been made obsolete by the new NX server.
- Changed the copyright attribution from Medialogic to NoMachine.
nxcompext-3.0.0-13
- Allocate 1024 additional bytes for the Jpeg compression, instead
of 512, to avoid failures on very tiny images.
- Removed support for the special *PNG_JPEG* pack method.
nxcompext-3.0.0-12
- Implemented the NXEncodeBitmap() method. This is a very simple
encoder removing the 4th byte in 32 bits-per-plane images. For
the other pixmap depths it simply returns a pointer to the orig-
inal image data, saving the copy. This encoding is intended to
better leverage the stream compression on low bandwidth links.
- Removed the quality parameter from the RGB/RLE encoding function.
nxcompext-3.0.0-11
- Removed the additional parameter in the call to NXTransFlush().
nxcompext-3.0.0-10
- Moved the _NXRDPGlyph and _NXRDPText declarations from NXlib.h
to NXproto.h to force fields to be CARD32.
- Fixed a typo in NXSetDisplayBuffer() that could cause a double
free.
- Fixed a compilation error with old GCC versions.
- Removed the warning issued on AMD64 when compiling with the logs
enabled.
nxcompext-3.0.0-9
- Added the NXDisplayCongestion query type to NXQueryDisplay(). It
returns a value between 0 and 9, with 9 meaning that the link is
congested and no further data can be sent.
- Added the NXSetDisplayBuffer() function. It allows the caller to
set the display output buffer size at runtime.
- Removed the congestion and synchronization callbacks.
nxcompext-3.0.0-8
- Removed the warnings issued when purging the collected data at
display reset.
nxcompext-3.0.0-7
- Added the NXSetDisplayWriteHandler() interface. The function
registers a callback that will be invoked every time more data
is written to the display socket.
nxcompext-3.0.0-6
- Made NXQueryDisplay() take into account the bytes in the display
buffer when queried for the bytes flushable.
nxcompext-3.0.0-5
- Added file COPYING.
nxcompext-3.0.0-4
- Updated copyright notices to the current year.
nxcompext-3.0.0-3
- Imported changes up to nxcompext-2.1.0-4.
- Fixed TR12D01564. Changed configure script to build library with
-fPIC option.
- Added 256 byte to the size of Jpeg destination buffer.
nxcompext-3.0.0-2
- Updated the file VERSION.
nxcompext-3.0.0-1
- Opened the 3.0.0 branch based on nxcompext-2.0.0-33.
nxcompext-2.0.0-33
- Placed the inclusion of jpeglib.h after the X includes to fix a
possible compilation error.
nxcompext-2.0.0-32
- Avoid to copy the data to the scratch buffer and yield the task
of padding the output to _XSend() in the NXPutPackedImage(), NX-
SetUnpackAlpha() and NXSetUnpackColormap() requests.
- Added support for the RLE pack method.
nxcompext-2.0.0-31
- The X_NXSetUnpackColormap and X_NXSetUnpackAlpha now carry their
data in compressed form. The alpha data is compressed using the
ZLIB RLE encoding, while the colormap data is compressed using
the default ZLIB deflate.
- Created new message structures to handle the compatibility with
the old proxy versions. When connected to an old proxy version
the agent should use the NXSetUnpackColormapCompat() and NXSet-
UnpackAlpha() interfaces.
nxcompext-2.0.0-30
- Removed the unfriendly warning printed if a client tried to reset
the library multiple times.
nxcompext-2.0.0-29
- Made possible to compile even if makedepend is not found.
nxcompext-2.0.0-28
- Added the NXSetDisplaySynchronizationHandler() interface. The NX
transport will use the callback to report when the agent can use
the available bandwidth to synchronize the X objects that are
corrupted or incomplete.
- Bytes from 14 to 24 in the NXGetControlParameters() reply report,
respectively, the frame timeout, the ping timeout, the preferred
image split mode and the split size threshold.
nxcompext-2.0.0-27
- Changed the image cleanup functions and the Png and Jpeg encoders
to be independent from the host endianess.
- Enabled again the image cleanup on big endian machines.
nxcompext-2.0.0-26
- Added the NXAbortSplit() request.
- Added information about the size of the shared memory segment used
by the remote proxy in the NXGetShmemParameters() reply.
nxcompext-2.0.0-25
- Renamed the NXGetSplitResource() and NXGetUnpackResource() utili-
ties to NXAllocSplit() and NXAllocUnpack(). They can be called
with a NXAnyResource parameter to get the first available id or
requre a specific resource. From this version the resource must
be explicitly reserved. NXFreeUnpack() and NXFreeSplit() check
if the resource was allocated and don't do anything if it is not
the case. NXAllocSplit() and NXAllocUnpack() return NXNoResource
if the resource can't be reserved.
nxcompext-2.0.0-24
- NXFlushDisplay() now verifies whether the XlibDisplayWriting flag
is set before flushing the display buffer. in this case, it only
flushes the NX link.
nxcompext-2.0.0-23
- Implemented a move-to-front strategy for the image cache, to mi-
nimize the number of lookups.
- Fixed the problems imtroduced by the new cache implementation by
modifying the memory allocation routines in Jpeg.c and Pgn.c.
- Temporarily fixed the cleanup problems on big-endian machines by
skipping the operation.
- Added a NXSetDisplayStatisticsHandler() to let the agent include
arbitrary data in the transport statistics. The parameter is a
pointer to a pointer to a null terminated string. The pointer is
set at the time the handler is registered. The pointed string can
be filled by the agent with its statistics data.
nxcompext-2.0.0-22
- The NXCacheFindImage() returns a pointer to the checksum, if the
image is found.
- The image cache uses the data passed to NXCacheAddImage() instead
of making a copy.
- The Z stream used by the RGB encoder is allocated at initializat-
ion and freed at reset.
nxcompext-2.0.0-21
- Removed the reliance on the local byte order in the image cleanup
functions.
nxcompext-2.0.0-20
- Added the NXFinishSplit() request. It forces the proxy to comple-
tely transfer all the split messages for the given resource, and
then notify the agent.
nxcompext-2.0.0-19
- Enabled again the cleanup of images.
- Updated to comply with the new NXTransFlush() interface.
nxcompext-2.0.0-18
- Moved all the declarations in Rgb.c at the beginning of the block
to avoid the possible compilation errors with old compilers.
nxcompext-2.0.0-17
- Added a new RGB image encoder. For now the encoder uses a static
Z stream to compress the image data in the destination buffer and
allows the agent to use the simplest encoding by still separating
the alpha channel from the image data. The new encoder can be the
the base for implementing color reduction by dithering or a color-
mapped translation of the image similar to PNG, but without the
PNG overhead and with the colormap being sent to the client using
the NXSetUnpackColormap() opcode.
- Created a new NXCleanImage() function that takes a XImage pointer
and uses either the CleanXYImage() or the CleanZImage() routines
to cleanup the padding bits.
nxcompext-2.0.0-16
- Added a parameter to NXFlushDisplay() to specify what needs to be
flushed. The parameter can be one the following values, defined
in NXvars.h:
NXFlushBuffer Only the Xlib buffer is to be flushed.
NXFlushLink Flush both the Xlib buffer and any pending
data encoded by the NX transport.
NXFlushIdle Inform the NX transport that the agent is
idle. This will let the NX transport encode
more low-priority data, and then flush the
link.
- Ensured that the padding bytes are cleaned when creating a new
PNG image. It seems that some images are still missed. This is
to be investigated.
nxcompext-2.0.0-15
- Ensured that the packed image cache is recreated only on a size
change.
nxcompext-2.0.0-14
- Updated to get the karma delay field from the X_NXGetControlPara-
meters reply.
nxcompext-2.0.0-13
- Added the NXSetDisplayPolicy() and NXSetDisplayFlushHandler() in-
terfaces. The second function registers a callback that will be
invoked by the NX transport when the number of bytes encoded by
the proxy exceeds the threshold set for the scheduled write.
- Added the NXFlushDisplay() and NXQueryDisplay() interfaces. They
are used to hide the corresponding NX transport functions to the
application. NXQueryDisplay() can be called with the NXDisplay-
Flushable or NXDisplayReadable parameters, to get, repectively,
the number of bytes that are queued to the NX transport and the
number of bytes that is possible to read.
- Included the remote proxy version in the NXGetControlParameter()
reply.
nxcompext-2.0.0-12
- Added the NXGetSplitResource() and NXGetUnpackResource utilities.
These can be used by the client to find out the first unused id
available for a split or unpack operation.
- Added the NXFreeSplit() request function. It makes the resource
available for the next operation and tells the proxy to destroy
all the storage associated to the split.
- Renamed the NXNumberOfConnections constant to NXNumberOfResources.
nxcompext-2.0.0-11
- Changed NXForceDisplayError() to also shut down the NX transport
by calling NXTransClose().
- Updated to comply with the new NX function prototypes introduced
in nxcomp-2.0.0-31.
nxcompext-2.0.0-10
- NXQueryDisplayError() now checks the predicate function only if
the I/O error was not encountered already.
nxcompext-2.0.0-9
- Added the NXSetDisplayErrorPredicate(), NXSetDisplayBlockHand-
ler(), NXSetDisplayCongestionHandler(), NXSetLostSequenceHand-
ler() interfaces to let the user set the values used internal-
ly. All functions return the previous handler. See ChangeLog
in nx-X11-2.0.0-16 and nx-X11-2.0.0-17.
- Moved all the internal variables shared between Xlib, nxcompext
and the X server in nxcomp. Declarations and function prototypes
moved to NXvars.h.
- Some name changes. In particular the NXContinueOnDisplayError()
function iss renamed NXHandleDisplayError() and NXDisplayError()
is now renamed NXQueryDisplayError(). To verify if the display
is valid, NXQueryDisplayError() will now call the _NXDisplayEr-
rorPredicate function, or, if the predicate function is not set,
will simply check the value of the XlibDisplayIOError flag.
- Removed the NXGetCleanupParameters() and NXGetImageParameters()
interfaces and the remaining references to the unused display
buffer and image cleanup functions.
- Updated the NoMachine copyright notice to year 2006.
nxcompext-2.0.0-8
- Removed the unused screen parameter from XSetUnpackGeometry().
- NXSetUnpackGeometry() now fails if no visual is provided.
nxcompext-2.0.0-7
- Changed the LICENSE file to state that the software is only made
available under the version 2 of the GPL.
- Removed the misplaced DXPC copyright notices from the license.
They were copied from NXCOMP but they don't apply in any way to
NXCOMPEXT.
nxcompext-2.0.0-6
- Added the NXSetCacheParameters() request. It tells to the local
proxy how to handle the X requests, namely if the next requests
have to be stored in the memory cache, split in smal data chunks,
and in the case of images, saved on disk in the persistent image
cache. The request will affect all X messages, including plain
and packed images. It can be used to tell the proxy to discard
images coming from some selected operations, like GLX or XVideo.
nxcompext-2.0.0-5
- Added the NXGetFontParameters() request and reply. If the proxy
has been configured accordingly, the request returns the X font
path that can be set by the agent to tunnel the font server con-
nections through the NX link.
nxcompext-2.0.0-4
- Initial work on font server tunneling.
nxcompext-2.0.0-3
- Renamed the NXSetExposeEvents request to NXSetExposeParameters.
nxcompext-2.0.0-2
- Modified the configure and the makefiles to support the Cygwin
environment.
- Renamed Png.h to Pgn.h to avoid name clashes on Windows.
- The distclean target now removes the autom4te.cache directory.
nxcompext-2.0.0-1
- Opened the 2.0.0 branch based on nxcompext-1.5.0-20.
nxcompext-1.5.0-20
- Removed the code installing a SIGSEGV handler before trying to
clean an image in NXCleanImageInPlace().
nxcompext-1.5.0-19
- Added the NXUnsetLibraryPath() function to specify the behaviour
of the Popen() in the X server. If the _NXUnsetLibraryPath flag
is set, the Popen() will remove the LD_LIBRARY_PATH variable from
the environment before running the child process. This will cause
the X server to run the process (for example the keyboard initia-
lization utilities) by using the native system libraries, instead
of the libraries shipped with the NX environment.
nxcompext-1.5.0-18
- Moved the declarations of _NXEnable* and related structures from
Xlibint.h to NXlibint.h.
- Use the include files from nx-X11 if the nx-X11/include directory
is found. The previous configure checked the presence of nx-X11/
exports/include, that might not be built at the time this library
is compiled.
nxcompext-1.5.0-17
- Added the -fPIC GCC flag when compiling on AMD64 architectures.
- Removed all warnings when compiling with GCC4.
- Small changes to configure.in to have specific CFLAGS.
- Created a new configure using autoconf 2.59.
nxcompext-1.5.0-16
- Added the 'mode' field in the NXStartSplit() request. It determi-
nes the strategy that the proxy will adopt to handle the image.
If set to 'eager', the proxy will only split the messages whose
size exceeds the split threshold (the threshold can be found in
the NXGetControlParameters() reply). If mode is set to lazy, the
proxy will split any image that it is not able to find in its
cache.
The opcode and the two available modes are defined in NXproto.h,
currently:
#define NXSplitModeDefault 0
#define NXSplitModeEager 1
#define NXSplitModeLazy 2
- All requests related to image streaming now carry a 'resource' id.
The id is currently ignored by the proxy in the case of NXCommit-
Split() requests.
nxcompext-1.5.0-15
- Removed the NXSync() and NXKarma() operations, not used anymore
by the NX agents.
- Updated to comply with changes occurred in the numbering of the
notification events and in the interface to the image streaming
functions.
nxcompext-1.5.0-14
- Accounted for the missing xoffset field in clean-up of XYPixmaps.
nxcompext-1.5.0-13
- Added a 'commit' field in NXCommitSplit(). When zero, the remote
proxy will remove the message from the split store, without send-
ing the recomposed image to the X server.
nxcompext-1.5.0-12
- Added the NXContinueOnDisplayError() function to specify the be-
haviour of the Xlib I/O error handler. If the flag is set to true,
Xlib will simply return, instead of quitting the program. This
leaves to the application the responsibility of checking the sta-
te of the XlibDisplayIOError flag.
- Changed NXDisplayIsValid() to NXDisplayError() and inverted the
logic. Now the function returns true if the display pointer is
NULL or the XlibDisplayIOError flag is set.
- Added the NXForceDisplayError() function, to shutdown the display
descriptor and force Xlib to set the I/O error flag.
nxcompext-1.5.0-11
- Added -I../nx-X11/exports/include to CCINCLUDES in Makefile.in.
nxcompext-1.5.0-10
- Added FindLSB() to replace ffs() that may be not present on some
systems.
- Some cosmetic changes.
nxcompext-1.5.0-9
- Fixed a printf() that prevented the code to compile if TEST was
enabled.
nxcompext-1.5.0-8
- Implemented the NXLib interface for asynchronous handling of the
XGetInputFocus requests and replies.
nxcompext-1.5.0-7
- Removed the _NXFlushSize parameter. New agents run the NX trans-
port in-process, so we don't get any benefit from increasing the
display buffer size.
nxcompext-1.5.0-6
- Added a NXDisplayIsValid() to check that the display is not NULL
and that the descriptor was not shut down after an IOError. The
reason a function is needed for this is that the flags field is
only in Xlibint and it is not visible to Xlib applications.
nxcompext-1.5.0-5
- Added the NXGetCollect*Resource utility functions, returning the
first available small integer resource id that can be used in a
subsequent collect request.
nxcompext-1.5.0-4
- Added the NXNumberOfConnections constant.
nxcompext-1.5.0-3
- Implemented the NXLib interface for the asynchronous handling of
the XGrabPointer requests and replies.
- Solved an error in image cleaning that prevented the 8 bits-per-
pixel images to be completely cleaned. Due to the bug, only half
of the total lines were cleaned.
- Removed a bug that prevented the cleaning of XYPixmaps images of
bitmap unit 32 and byte order LSB.
- Renamed the NXImageCache variables to show they are global. They
are currently used in the nxagent code.
nxcompext-1.5.0-2
- Changed VERSION file.
nxcompext-1.5.0-1
- Opened the 1.5.0 branch.
nxcompext-1.4.1-1
- Removed the configure option --with-static. There are two options
now, --with-static-png and --with-static-jpeg, to offer a greater
degree of control on the resulting library.
- This version differs from the 1.4.0-3-KRY1 in the way that the con-
figure script is generated by GNU Autoconf 2.57, the same version
used for nxcomp.
- Opened the 1.4.1 branch.
nxcompext-1.4.0-3
- Updated the VERSION file to reflect the 1.4.0 status.
nxcompext-1.4.0-2
- Imported changes from the latest 1.3.2 development branch.
- The 1.4.0 branch already had a 1.4.0-1 version. The changes from
the 1.4.0-1 were up to date with the 1.3.2-2 version.
nxcompext-1.3.2-6
- Fixed problem with icons in KDE and Mozilla on SPARC Solaris. The
problem was related to cleaning of one-bit XYPixmaps on big-endian
hosts, where shift of the cleaning mask executed in the wrong di-
rection.
nxcompext-1.3.2-5
- Changes in Clean.c to compile on Solaris.
nxcompext-1.3.2-4
- Fixed a bug in clean image procedures for 1bit XYPixmaps. The bug
caused Mozilla to trash some transparent icons in web pages and
the toolbar.
- Added cleaning of the padding bytes at the end of the data chunk
inside XImage structure
- Implemented handling of SIGSEGV during cleanup in case of static
data.
- Moved image cleanup and masking code in new Clean.c and Mask.c
sources.
- Corrected few typos in NXCollectImage code.
nxcompext-1.3.2-2
- Imported 1.4.0-1 changes from the 1.4.0 development branch.
- Modified NXAllocColors to handle errors generated allocating
each requested color. A per-color result code is now returned
to the caller.
- Code cleanup in Png.h and Png.c.
nxcompext-1.3.2-1
- Opened the 1.3.2 branch.
nxcompext-1.3.1-2
- Removed the underline characters and added a colon in the
title of this ChangeLog to fully comply with format used in
the release notices.
nxcompext-1.3.1-1
- Opened the 1.3.1 branch.
nxcompext-1.3.0-18
- Added the _NXLostSequenceHandler function to let NX agents
suppress the error message and modify the default Xlib
behaviour when out-of-order sequence numbers are received.
Pointer to function is assigned to _NXLostSequenceFunction
in XlibInt.c.
- Original output buffer size in stock XFree86 is 2048. We try
to reduce context switches and help stream compression by
increasing the maximum size of the buffer 8192. _NXFlushSize
determines when the display buffer is actually flushed. It is
set by default to 4096 in XlibInt.c and set to 0 to use the
maximum available size at the time NXGetControlParameters()
is called.
nxcompext-1.3.0-17
- In handling of asynchronous GetProperty replies a warning
message was printed in session log when a null property was
stored in the state structure. This message is now printed
only if TEST is defined.
nxcompext-1.3.0-16
- Added asynchronous handling of GetProperty request and reply
by means of the NXCollectProperty and NXGetCollectedProperty
requests and the NXCollectPropertyNotify event.
nxcompext-1.3.0-15
- Added 4 new fields to the X_NXGetControlParameters reply.
nxcompext-1.3.0-14
- Added request X_NXFreeUnpack to free the resources allocated
by the remote proxy to unpack images for the given agent's
client
nxcompext-1.3.0-13
- Modified the following requests to carry the id of the
agent's client in the field resource:
- X_NXSetUnpackGeometry
- X_NXSetUnpackColormap
- X_NXSetUnpackAlpha
- X_NXPutPackedImage
nxcompext-1.3.0-11
- Modified the MIT-SHM initialization procedure to always send
all the 3 protocol requests also in the case of early failures.
nxcompext-1.3.0-10
- Added handling of X_NXSetUnpackAlpha request.
- It has been made possible to send both X_NXSetUnpackColormap
and X_NXSetUnpackAlpha messages with 0 entries to temporarily
disable use of the colormap or the alpha channel and free the
resources allocated by the remote proxy.
nxcompext-1.3.0-9
- Solved a compatibility problem when mixing proxy versions
1.2.2 and 1.3.0 due to the missing X_NXGetShmemParameters
request.
nxcompext-1.3.0-7
- Reduced the number of requests needed to setup the shared
segment at X server proxy from 4 to 3.
- Small changes to the shared memory interface to support
path X agent to X client proxy.
nxcompext-1.3.0-6
- Implemented initial support for MIT-SHM extension in the
network path between the X server proxy and the real X
server.
- Configure script now checks for the FreeBSD environment.
- New configure script generated using autoconf-2.57-3.
- Removed the XFree86 CCDEFINES from Makefile.in.
nxcompext-1.3.0-5
- Cosmetic changes.
- Started to convert configure.in to the new layout adopted
for nxcomp.
- Created file CHANGELOG.
nxcompext-1.3.0-4
- More fixes in image clean-up.
nxcompext-1.3.0-3
- Many fixes in image clean-up functions to handle differences
in endianess between client and X server.
nxcompext-1.3.0-2
- Modified configure.in to compile under Solaris.
nxcompext-1.3.0-1
- First 1.3.0 version based on nxcompext-1.2.2-12.

View File

@ -0,0 +1,15 @@
README
------
1. To compile:
> tar zxvf nxcompext-X.Y.Z-N.tar.gz
> cd nxcompext
> ./configure
> make
You'll have to run gmake under Solaris.
2. The 'make install' target is not currently supported
in the Makefile, but it should be simple to fix.

View File

@ -0,0 +1,404 @@
ChangeLog:
nxcompshad-3.5.0-2
- Fixed TR03G02189. Now key combinations involving the Shift keys
are recognized correctly.
nxcompshad-3.5.0-1
- Opened the 3.5.0 branch based on nxcompshad-3.4.0-3.
- Updated copyright to year 2011.
nxcompshad-3.4.0-3
- Updated copyright to year 2010.
nxcompshad-3.4.0-2
- Fixed TR08G02256. Now the Shadow session is shown correctly with
MIT-SHM extension disabled.
- Improved updateShadowFrameBuffer() and ~Poller() functions.
- Avoided memory leak.
nxcompshad-3.4.0-1
- Opened the 3.4.0 branch based on nxcompshad-3.3.0-3.
- Updated version number.
- Updated copyright to year 2009.
- Improved error messages logging in case of initialization failures.
nxcompshad-3.3.0-3
- Fixed TR01G02158. Keymap initialization could be incorrect because
of a type mismatch on 64 bit platforms.
nxcompshad-3.3.0-2
- Updated VERSION.
nxcompshad-3.3.0-1
- Opened the 3.3.0 branch based on nxcompshad-3.2.0-3.
nxcompshad-3.2.0-3
- Improved keycode translation.
nxcompshad-3.2.0-2
- Solved a problem when sending fake modifier events.
- Added support for keyboard events handling for the web player.
- Changed keycodes translation for Solaris keyboard.
- Corrected a problem for keycodes translation from Solaris keyboard.
- Fixed TR02F02001. In shadow session the shadower's keyboard layout
could be wrong. Now keycodes are correctly translated if master and
shadow keyboards have different layouts.
- Added NXShadowGetScreenSize() and NXShadowSetScreenSize() functions,
so that the shadow session can handle correctly the resize of the
master session window.
- Solved a compilation problem on GCC 4.3.
nxcompshad-3.2.0-1
- Opened the 3.2.0 branch based on nxcompshad-3.1.0-2.
nxcompshad-3.1.0-2
- Updated file VERSION to match the current release version.
nxcompshad-3.1.0-1
- Opened the 3.1.0 branch based on nxcompshad-3.0.0-19.
nxcompshad-3.0.0-19
- Skip initialization of damage extension if it was already disabled.
nxcompshad-3.0.0-18
- The poller destructor checks if the damage extension is in use.
- Small changes to the function getting the screen content in the case
damage is not in use.
nxcompshad-3.0.0-17
- Cleanup of some log messages.
nxcompshad-3.0.0-16
- Disabled some log message in the functions initializing the poller.
nxcompshad-3.0.0-15
- Before calling XTest functions, it is checked if the connection to
master X server has been initialized.
nxcompshad-3.0.0-14
- After the shm segment is created, its mode is changed and it is
marked for destroying. A check on the number of attaches is done.
nxcompshad-3.0.0-13
- Creating the shm segment even if the uid of master X server can't be
retrieved.
- Fixed reallocation of update region.
- Checking if the master X server provides XTest extension.
nxcompshad-3.0.0-12
- Fixed a compiler warning on AMD64 platform.
- Changed configure script to add -fPIC option.
- Fixed a mismatch in UpdateManager destructor.
nxcompshad-3.0.0-11
- Fixed the function setting the uid of shm segment.
- Sync with the master X server before marking the shm segment to be
destroyed.
nxcompshad-3.0.0-10
- Setting the shm segments as readable only by the master X server
process.
- Mark shm segments to be destroyed when the last process detach.
- Enabled keycode translation in order to allow keyboards of different
models to work.
nxcompshad-3.0.0-9
- Changed the LICENSE file to state that the software is only made
available under the version 2 of the GPL.
- Added file COPYING.
- Changes to translate keycodes between different keyboard types. The
keycodes are translated through the keysym.
- Changes to convert a Mode_switch key to ISO_Level3_Shift if it is
needed.
nxcompshad-3.0.0-8
- Added interface function NXShadowDisableShm disabling the use of
MIT-SHM extension.
- Added interface function NXShadowDisableDamage disabling the use of
DAMAGE extension.
- Added interface function NXShadowSetDisplayUid setting the uid of
shadowed X server
- Changed the owner of shared memory segments to the uid of the sha-
dowed X server.
- Fixed logWarning method.
- Moved the code initializing the use of shared memory to shmInit
method of X11 Poller.
nxcompshad-3.0.0-7
- Removed the class qualifier in the declaration of destroyUpdate-
ManagerRegion().
nxcompshad-3.0.0-6
- Fixed build errors on 64 bit platforms.
- Called XTestGrabControl to override possible grabs of the X server.
nxcompshad-3.0.0-5
- Added some stub members to the Poller class. These are intended to
handle keyboard state.
- Changes in the default polling algorithm to disable the line pri-
ority persistence.
nxcompshad-3.0.0-4
- If a low layer handling of screen changes is available (DAMAGE in
case of X11), polling routine uses it and returns immediately.
- Creating a Damage notify object if the extension is supported.
- DamageNotify events are saved in the update region. After all avail-
able events have been handled, the content of screen is retrieved
by ShnGetImage requests.
- XDamageSubtract and XSync are done before any event handling.
- Damages are requested as raw rectangles.
- Added Xdamage and Xrandr to required libraries.
- Fixed a problem with some lines not refreshed in shadowing mode.
nxcompshad-3.0.0-3
- Added destroyUpdateManagerRegion() method to UpdateManager class.
- Turned off some log messages.
- Changed configure.in to remove warnings related to deprecated header
files and options.
- Changed Makefile.in to remove autom4te.cache dir if the target is
'distclean'.
- Removed multi-word file names.
nxcompshad-3.0.0-2
- Changes to get the screen of original display by a ShmGetImage.
- Exit the polling loop if more than 50 ms have elapsed.
nxcompshad-3.0.0-1
- Created nxcompshad based on nxshadow-3.0.0-7.
nxshadow-3.0.0-7
- Deleted files KeyCursorTmp.cpp, scancodes.h, constant.h.
- Renamed NXshadow.h to Shadow.h.
- Merged NXshadowEvent.h with Shadow.h.
- Fixed configure.in, changed Makefile.in to build Xcompshad library,
rebuilt configure script.
nxshadow-3.0.0-6
- Implemented a callback mechanism to ask the caller program if screen
polling have to be suspended.
nxshadow-3.0.0-5
- Changes to comply with the library name.
- Fixed a bug in CorePoller that could prevent the update of the last
line of a rectangle.
nxshadow-3.0.0-4
- Removed some parameters of the NXShadowAddUpdaterDisplay() function.
nxshadow-3.0.0-3
- Updated copyright notices to the current year.
- Code cleanup in KeysCursorTmp.c file.
nxshadow-3.0.0-2
- If master agent uses shared memory extension, the GetImage is rea-
lized by XShmGetImage() function.
- Added new parameters to NXShadowAddUpdaterDisplay() function, the
depth and bit mask color of the master display.
nxshadow-3.0.0-1
- Opened the nxshadow-3.0.0 branch based on the nxaccess-3.0.0-13.
- Renamed NXaccess.h NXaccessEvent.h and RegionM.h files as NXshadow.h
NXshadowEvent.h and Regions.h.
- Modified the Makefile.in file and configure scripts in order to
compile the component.
nxaccess-3.0.0-13
- Fixed X11Poller.cpp pre-processing.
nxaccess-3.0.0-12
- Fixed build problems on Solaris.
nxaccess-3.0.0-11
- Added NXShadowUpdateBuffer() function. This function creates the
buffer for the polling.
- If the scaline fails, the polling will suspend for 50 ms.
- Added some functions in order to access data member class.
nxaccess-3.0.0-10
- Used XTEST extension to make the shared display create input events.
nxaccess-3.0.0-9
- Added the mouse events.
- Now, it's possible to connect to X server display or agent display,
the display's content is captured by GetImage and sent to another
display by PutImage.
nxaccess-3.0.0-8
- Added KeysCursorTmp.cpp file.
- Solved a problem with the keys, when the window lost focus the Key-
Release events weren't propagated.
nxaccess-3.0.0-7
- Added functions in order to remove issues with some keys combina-
tion.
nxaccess-3.0.0-6
- Added functions to simulate keys Ctrl + Alt + Del in order to run
the Task Manager application.
- Now nxaccess is able to manage all switches between desktops.
nxaccess-3.0.0-5
- Solved a problem with the cursor shape. After a while, the cursor
shape are no more updated.
- Now the cursor is updated only when it changes its shape.
- Removed a dirty lines after screen updates.
- Removed the unused file Keyboard.cpp.
- Added the colorCorrect() macro in NXaccess.h.
- Removed the colorCorrect() function in Updater.cpp.
nxaccess-3.0.0-4
- Renamed some source files and functions conforming them to the name
of component.
nxaccess-3.0.0-3
- Removed the parameter of type Display in all methods of the class
Poller.
- Print, Break and Pause keys are enabled.
nxaccess-3.0.0-2
- Modified the Makefile.in in order to avoid compiling the executive
file.
- Removed the unused file Main.cpp.
- The Windows keys are enabled.
- Synchronized local and remote states of Num_Lock, Caps_Lock and
Scroll_Lock.
- Updated the NoMachine copyright notices.
nxaccess-3.0.0-1
- Opened the 3.0.0 branch based on the nxmirror-2.0.0-3.
nxmirror-2.0.0-3
- Added the keyboard events for all layouts.
- The mouse wheel button is enabled.
nxmirror-2.0.0-2
- Completed implementation of the keyboard events only for italian
layout.
- Added the mouse events and shape cursor.
nxmirror-2.0.0-1
- Opened the 2.0.0 branch based on the 1.5.0-60.
- Added CHANGELOG.

View File

@ -0,0 +1,216 @@
ChangeLog:
nxproxy-3.5.0-1
- Opened the 3.5.0 branch based on nxproxy-3.4.0-2.
- Updated copyright to year 2011.
nxproxy-3.4.0-2
- Updated copyright to year 2009.
nxproxy-3.4.0-1
- Opened the 3.4.0 branch based on nxproxy-3.3.0-2.
- Changed version number.
nxproxy-3.3.0-2
- Updated VERSION.
nxproxy-3.3.0-1
- Opened the 3.3.0 branch based on nxproxy-3.2.0-1.
nxproxy-3.2.0-1
- Opened the 3.2.0 branch based on nxproxy-3.1.0-2.
nxproxy-3.1.0-2
- Updated version number.
nxproxy-3.1.0-1
- Opened the 3.1.0 branch based on nxproxy-3.0.0-4.
nxproxy-3.0.0-4
- Added file COPYING.
- Changed the LICENSE file to state that the software is only made
available under the version 2 of the GPL.
nxproxy-3.0.0-3
- Updated the copyright notices to year 2007.
nxproxy-3.0.0-2
- Updated the file VERSION.
nxproxy-3.0.0-1
- Opened the 3.0.0 branch based on nxproxy-2.0.0-2.
nxproxy-2.0.0-2
- Updated copyright to year 2006.
nxproxy-2.0.0-1
- Opened the 2.0.0 branch based on nxproxy-1.5.0-10.
nxproxy-1.5.0-10
- Added the JPEG, PNG and Z libraries to the linker when compiling
on Cygwin. GCC 3.3.x requires that these libraries are explicitly
given while this is not required since GCC 3.4.x.
- Created a new configure using autoconf 2.59.
nxproxy-1.5.0-9
- Removed provision for dynamically loading a different version of
the nxcomp library.
nxproxy-1.5.0-8
- Updated to reflect the new naming of the NX transport interfaces.
nxproxy-1.5.0-7
- Modified the Makefile.in to remove the *.out.* files generated by
Valgrind when running a 'make clean'.
- Modified the README files and removed files that were outdated.
nxproxy-1.5.0-6
- Removed the NX_FORCE_IDLE_PROXY stubs.
nxproxy-1.5.0-5
- This version has NX_FORCE_IDLE_PROXY undefined, so it should work
in a way that is compatible with the old nxproxy.
nxproxy-1.5.0-4
- This software is crafted by default to test the new integration
between nxcomp and nxssh. The process will stay idle and will
let nxssh create the proxy. Note that the session log will go to
'sshlog', not to 'session'. This will have to be fixed in nxcomp
in future versions.
- Removed the references to the "bind" functionality that is not
used in the current software.
nxproxy-1.5.0-3
- Added a NX_FORCE_IDLE_PROXY. If set, nxproxy will stay idle and
will not try to create a nxcomp proxy. This is used for testing
the new in-process nxcomp functionalities with the development
versions of nxclient and nxssh software.
nxproxy-1.5.0-2
- Small changes to this file.
nxproxy-1.5.0-1
- Opened the 1.5.0 branch.
nxproxy-1.4.1-1
- Opened the 1.4.1 branch.
nxproxy-1.4.0-3
- We were lucky. We found a machine where nxproxy failed exactly
in the same way described by multiple users in their reports.
The error was the same ('dlopen: win32 line 126') and neither
rebasing the Cygwin DLLs or removing all the other Cygwin li-
braries worked. So the problem had necessarily to be in a bug-
gy Cygwin dlopen() implementation. To solve this I had to make
changes to the nxproxy code on Windows, so it links to nxcomp
at compile time in the way specified below. As far as I can
tell, any other way fails. This seems to be another Cygwin bug:
the linker says that everything is OK but then the executable
can't be run. Both the Cygwin's bash and the command.com say
'Permission denied'.
LIBS = -L../nxcomp -lstdc++ -Wl,-e,_mainCRTStartup -lXcomp \
-lcygipc -static -lpng -static -ljpeg -lz
nxproxy-1.4.0-2
- Added a Binder class invoked when calling proxy with -B option.
It would serve as a replacement of the modifications I'm doing
in nxssh. The class is just a framework and the implementation
is unfinished.
- Solved a potential problem in Main.c with NXExit() being called
after the dlclose(). This was unlikely to happen as proxy never
returns.
nxproxy-1.4.0-1
- Opened the 1.4.0 branch.
nxproxy-1.3.2-1
- Opened the 1.3.2 branch.
nxproxy-1.3.1-2
- Removed the underline characters and added a colon in the
title of this ChangeLog to fully comply with format used in
the release notices.
nxproxy-1.3.1-1
- Opened the 1.3.1 branch.
nxproxy-1.3.0-7
- Added a check on the OS version when running on MacOS/X.
Versions 10.2 and 10.3 differ in the way names are mangled.
- Fixed error detection on dlsym(). The previous code was not
able to correctly identify missing symbols.
nxproxy-1.3.0-6
- Modified configure.in to compile under FreeBSD.
nxproxy-1.3.0-5
- Fixed a (further) compilation problem under Cygwin.
nxproxy-1.3.0-4
- New nxproxy is able to load libXcomp by dlopen() under
Cygwin. This simplifies both code in Main.c and the
configure.in script.
- Changed configure.in to not link with -mwindows under
Cygwin. Linking with -mwindows prevented stderr to be
correctly output when running nxproxy on a console.
nxproxy-1.3.0-3
- Changed configure.in to first check for nx-X11 includes
and libraries. Added "/usr/openwin/bin/makedepend" to
path searched for the executable.
nxproxy-1.3.0-2
- Small cleanup in configure.in. A new configure script has
been generated using autoconf-2.57-3.
nxproxy-1.3.0-1
- Updated internal version, so this release tries to load
libXcomp version 1.3.0.

View File

@ -0,0 +1,14 @@
README
------
1. To compile:
> tar zxvf nxproxy-X.Y.Z-N.tar.gz
> cd nxproxy
> ./configure
> make
You'll have to run gmake under Solaris.
2. The 'make install' target is not currently supported
in the Makefile, but it should be simple to fix.

View File

@ -0,0 +1,27 @@
README-IPAQ
-----------
1. Install a cross-compiler for ARM. You can find detailed
informations at:
http://www.ailis.de/~k/knowledge/crosscompiling/toolchain.php
There are also binaries needed to install the cross-compiler.
2. Configure and compile nxproxy using:
$ ./configure --with-ipaq
$ make
After compilation type:
$ arm-linux-strip nxproxy
3. You need libXcomp.so to run nxproxy. Be sure you include the
library in your LD_LIBRARY_PATH. For example, you can run:
> export LD_LIBRARY_PATH $HOME/NX/nxcomp
> nxproxy -S localhost:8
4. The package nxscripts contains many examples of NX usage that
you can modify to suit your needs.

View File

@ -0,0 +1,324 @@
Building the X Window System from the X.Org Monolithic Source Distribution
Jim Gettys and Keith Packard (for X11R6.9)
David Dawes and Matthieu Herrb (for XFree86 4.4 RC2)
21 December 2005
Abstract
This document describes how to build the X Window System from the
X.Org monolithic source distribution and is designed to be used in
conjunction with the operating system (OS) specific README files.
NOTE: Refer to the appropriate OS-specific README file in xc/pro-
grams/Xserver/hw/xfree86/doc before attempting to build the X dis-
tribution. These files often contain additional information that
you need to successfully build for your OS.
We highly recommend using gcc to build the X distribution, but X also gener-
ally builds with the native compiler for each OS platform; The build tools
known to be required include: gcc, make, C library development package, bi-
son, flex, ncurses (development package), and Perl.
The monolithic tree also includes copies of some packages maintained outside
the X.Org project for convenience in building on machines that do not already
have them installed. These include FreeType 2, fontconfig, expat, xterm,
and zlib. For most uses however, it is recommended that you install the
latest version directly from the main distribution site, or use the packages
provided in your operating system, as they are more likely to be up to date
with the latest bug fixes and security patches. Depending on your platform,
use of the bundled versions may be enabled or disabled by default, check the
Imake configuration files for your platform in xc/config/cf to find out. To
override the defaults for your platform or to set the path to the installa-
tion location, see the instructions below on configuring the source via
xorgsite.def and host.def.
X11R6.9 depends on the following external packages:
+-------------+----------------+-----------+
|Package Name | Version | Included? |
+-------------+----------------+-----------+
|expat | 1.95.8 | Yes |
|fontconfig | 2.2 or newer | Yes |
|FreeType | 2.1.8 or 2.1.9 | Yes |
|libdrm | 2.0 | Yes |
|libpng | 1.2.8 | No |
|Mesa | 6.4.1 | Yes |
|xterm | Patch 207 | Yes |
|zlib | 1.1.4 or 1.2.3 | Yes |
+-------------+----------------+-----------+
You can find more information and/or the original sources for these packages
at their project websites at these URL's:
+-------------+-------------------------------------------+
|Package Name | Website |
+-------------+-------------------------------------------+
|expat | http://expat.sourceforge.net/ |
|fontconfig | http://www.fontconfig.org/ |
|FreeType | http://www.freetype.org/ |
|libdrm | http://dri.freedesktop.org/libdrm/ |
|libpng | http://www.libpng.com/pub/png/libpng.html |
|Mesa | http://www.mesa3d.org/ |
|xterm | http://dickey.his.com/xterm/xterm.html |
|zlib | http://www.zlib.net/ |
+-------------+-------------------------------------------+
1. How to get the X11R6.9 distribution source
One way of getting the X11R6.9 source is to obtain it directly from the X.Org
CVS repository. There are several ways of doing that, and they are described
in the CVS section of our wiki <URL:http://wiki.x.org/> The CVS tag for this
release is "XORG-6_9_0". The tag for the maintenance branch for this
release is "XORG-6_9-branch".
Another method of getting the X11R6.9 source is to either download the 6.9.0
source tarballs sites from freedesktop.org using either ftp or http. The
procedure for this is as follows:
o The X11R6.9 source is contained in the files:
X11R6.9.0-src1.tar.gz
X11R6.9.0-src2.tar.gz
X11R6.9.0-src3.tar.gz
X11R6.9.0-src4.tar.gz
X11R6.9.0-src5.tar.gz
X11R6.9.0-src6.tar.gz
X11R6.9.0-src7.tar.gz
These can be found at ftp://ftp.freedesk-
top.org/xorg/releases/X11R6.9/src/ or http://xorg.freedesk-
top.org/releases/X11R6.9/src/ and similar locations on X.Org mirror
sites. X11R6.9.0-src4.tgz and X11R6.9.0-src5.tar.gz contains the fonts.
X11R6.9.0-src6.tar.gz contains the documentation source.
X11R6.9.0-src7.tar.gz contains the hardcopy documentation.
X11R6.9.0-src1.tar.gz, X11R6.9.0-src2.tar.gz and X11R6.9.0-src3.tar.gz
contains everything else. If you don't need the docs or fonts you can
get by with only X11R6.9.0-src1.tar.gz, X11R6.9.0-src2.tar.gz and
X11R6.9.0-src3.tar.gz.
o Extract each of these files by running the following from a directory on
a filesystem containing enough space (the full source requires around
305MB, and a similar amount is required in addition to this for the com-
piled binaries):
gzip -d < X11R6.9.0-src1.tar.gz | tar vxf -
gzip -d < X11R6.9.0-src2.tar.gz | tar vxf -
gzip -d < X11R6.9.0-src3.tar.gz | tar vxf -
gzip -d < X11R6.9.0-src4.tar.gz | tar vxf -
gzip -d < X11R6.9.0-src5.tar.gz | tar vxf -
gzip -d < X11R6.9.0-src6.tar.gz | tar vxf -
gzip -d < X11R6.9.0-src7.tar.gz | tar vxf -
All methods will produce one main source directory called xc.
2. Configuring the source before building
In most cases it shouldn't be necessary to configure anything before build-
ing.
If you do want to make configuration changes, it is recommended that you
start by going to the xc/config/cf directory, and copying the file
xorgsite.def to host.def. Then read through the host.def file (which is
heavily commented), and set your configuration parameters. Usually you can
find the default settings by checking the .cf file(s) relevant to your OS.
A good rule to follow is only to change things that you understand as it's
easy to create build problems by changing the default configuration. Many of
the configuration parameters are described in the xc/config/cf/README.
If you are using just the X11R6.9.0-src1.tar.gz, X11R6.9.0-src2.tar.gz and
X11R6.9.0-src3.tar.gz parts of the source dist, you will need to define
BuildFonts to NO.
3. Using a shadow directory of symbolic links for the build
A recommended practice is to use a shadow directory of symbolic links to do
the build of X11R6.9 as this allows you to keep the source directory unmodi-
fied during the build. It has the following benefits:
o When you are using CVS to maintain your source tree, the update process
is not disturbed by foreign files not under CVS's control.
o It is possible to build X11R6.9 for several different Operating System
or architectures from the same sources, shared by read-only NFS mounts.
o It is possible to build X11R6.9 with different configuration options, by
putting a real copy of the host.def file in each build tree and by cus-
tomizing it separately in each build tree.
To make a shadow directory of symbolic links, use the following steps:
o create the directory at the top of the build tree. It is often created
at the same level that the xc directory, but this is not mandatory.
cd the directory containing the xcdirectory
mkdir build
o use the "lndir" command to make the shadow tree:
lndir ../xc
Note that you can refer to the xc directory with an absolute path if
needed.
See the lndir(1) manual page for details.
If lndir is not already installed on your system, you can build it manually
from the X11R6.9 sources by running the following commands:
cd xc/config/util
make -f Makefile.ini lndir
cp lndir some directory in your PATH
Occasionally there may be stale links in the build tree, like when files in
the source tree are removed or renamed. These can be cleaned up by running
the "cleanlinks" script from the build directory (see the cleanlinks(1) man-
ual page). Rarely there will be changes that will require the build tree to
be re-created from scratch. A symptom of this can be mysterious build prob-
lems. The best solution for this is to remove the build tree, and then re-
create it using the steps outlined above.
4. Building and installing the distribution
Before building the distribution, read through the OS-specific README file in
xc/programs/Xserver/hw/xfree86/doc that is relevant to you. Once you have
addressed the OS-specific details, go your build directory (either the xc
directory or the shadow tree created before) and run "make World" with the
BOOTSTRAPCFLAGS set as described in the OS-specific README (if necessary, but
most systems supported by X11R6.9 don't need BOOTSTRAPCFLAGS). It is advis-
able to redirect stdout and stderr to World.log so that you can track down
problems that might occur during the build.
With Bourne-like shells (Bash, the Korn shell, zsh, etc.) use a command like:
make World > World.log 2>&1
Witch C-shell variants (csh, tcsh, etc), use:
make World >& World.log
You can follow the progress of the build by running:
tail -f World.log
in a terminal.
When the build is finished, you should check the World.Log file to see if
there were any problems. If there weren't any then you can install the bina-
ries. By default the "make World" process will exit at the first error. To
restart the build process after correcting the problems, just run 'make'. If
Imakefiles or part of the build configuration was changed as part of correct-
ing the problem, either re-run "make World", or run "make Everything".
If you would prefer "make World" to ignore errors and build as much as possi-
ble, run it in the following way instead of the way described above:
for Bourne-like shells:
make WORLDOPTS=-k World > World.log 2>&1
for C-shell variants:
make WORLDOPTS=-k World >& World.log
To do the install, run "make install" and "make install.man". Make sure you
have enough space in /usr/X11R6 for the install to succeed. If you want to
install on a filesystem other than /usr, make a symbolic link to /usr/X11R6
before installing. To install the tree into a different directory than
/usr/X11R6 you can specify DESTDIR:
make install DESTDIR=<install_target_dir>
make install.man DESTDIR=<install_target_dir>
Cross compiling is supported if the appropriate config files for your target
platforms exist. You must have the compiler toolchain installed for your tar-
get platform and the C-compiler must know where those tools exist. To inform
the build system where your cross compiler is located set the make variable
CROSSCOMPILEDIR to the directory where the toolchain binaries are installed.
make World CROSSCOMPILEDIR="<cross compiler dir>";
.
5. Reconfiguring the server (source distribution)
To build a different set of servers or servers with a different set of
drivers installed:
1. Make sure the source for any new drivers is in the correct place (e.g.,
driver source should be in a subdirectory of xc/pro-
grams/Xserver/hw/xfree86/drivers).
2. Change the settings of the server defines in host.def to specify which
servers you wish to build. Also, change the driver lists to suit your
needs.
3. From xc/programs/Xserver, run:
make Makefile
make Makefiles
make includes
make depend
make
6. Other useful make targets
There are some other useful targets defined in the top level Makefile of
X11R6.9:
o Everything after a make World, make Everything does everything a make
World does, except the cleaning of the tree. It is a way to quickly
rebuild the tree after a source patch, but it is not 100% bullet proof.
There are cases were it is better to force a full build by using make
World.
o clean does a partial cleaning of the source tree. Removes object files
and generated manual pages, but leaves the Makefiles and the generated
dependencies files in place. After a make clean you need to re-run
make includes
make depend
make
to rebuild the X11R6.9.
o distclean does a full cleaning of the source tree, removing all gener-
ated files. After a make distclean, make World is the only option to
rebuild X11R6.9.
o includes generates all generated header files and in-tree symbolic links
needed by the build. These files are removed by a make clean.
o depend recomputes the dependencies for the various targets in all Make-
files. Depending on the operating system, the dependencies are stored in
the Makefile, or as a separate file, called .depend. This target needs
the generated include files produced by make includes.
o VerifyOS displays the detected operating system version. If the numbers
shown do not match your system, you probably need to set them manually
in host.def and report the problem to Xorg via our bug database at X.Org
Bug Database <URL:https://bugs.freedesktop.org/enter_bug.cgi?prod-
uct=xorg> or via email at <xorg@lists.freedesktop.org>.
Generated from Id: BUILD.sgml,v 1.10 alanc Exp $
$XdotOrg: xc/BUILD,v 1.7 2005/12/21 05:39:04 kem Exp $

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,265 @@
X Window System, Version 11
Release 6.9
Portions Copyright by:
2d3d Inc.
Adam de Boor
Adam Jackson
Adobe Systems Inc.
After X-TT Project
AGE Logic Inc.
Alan Hourihane
Andreas Monitzer
Andrew C Aitchison
Andy Ritger
Ani Joshi
Anton Zioviev
Apollo Computer Inc.
Apple Computer Inc.
Ares Software Corp.
ATI Technologies Inc.
AT&T Inc.
Bigelow & Holmes
Bill Reynolds
Bitstream Inc.
Brian Fundakowski Feldman
Brian Goines
Brian Paul
Bruno Haible
Charles Murcko
Chen Xiangyang
Chris Constello
Cognition Corp.
Compaq Computer Corporation
Concurrent Computer Corporation
Conectiva S.A.
Corin Anderson
Craig Struble
Daewoo Electronics Co. Ltd.
Dale Schumacher
Damien Miller
Daniel Borca
Daniver Limited
Daryll Strauss
Data General Corporation
David Bateman
David Dawes
David E. Wexelblat
David Holland
David J. McKay
David McCullough
David Mosberger-Tang
David S. Miller
David Turner
David Wexelblat
Davor Matic
Digital Equipment Corporation
Dirk Hohndel
Dmitry Golubev
Doug Anson
Edouard TISSERANT
Eduardo Horvath
Egbert Eich
Eric Anholt
Eric Fortune
Eric Sunshine
Erik Fortune
Erik Nygren
Evans & Sutherland Computer Corporation
Felix Kuehling
Finn Thoegersen
Francesco Zappa Nardelli
Frederic Lepied
Free Software Foundation Inc.
Fujitsu Limited
Fujitsu Open Systems Solutions Inc.
Fuji Xerox Co. Ltd.
Geert Uytterhoeven
Gerrit Jan Akkerman
Gerry Toll
Glenn G. Lai
Go Watanabe
Gregory Mokhin
Greg Parker
GROUPE BULL
Hans Oey
Harald Koenig
Harm Hanemaayer
Harry Langenbacher
Henry A. Worth
Hewlett-Packard Company
Hitachi Ltd
Holger Veit
Hummingbird Communications Ltd
IBM Corporation
Intel Corporation
INTERACTIVE Systems Corporation
International Business Machines Corp.
Itai Nahshon
Jakub Jelinek
James Tsillas
Jason Bacon
Jean-loup Gailly
Jeff Kirk
Jeffrey Hsu
Jim Tsillas
J. Kean Johnston
Jon Block
Jon Tombs
Jorge Delgado
Joseph Friedman
Joseph V. Moss
Juliusz Chroboczek
Jyunji Takagi
Kaleb S. Keithley
Kazushi (Jam) Marukawa
Kazuyuki (ikko-) Okamoto
Keith Packard
Keith Whitwell
Kevin E. Martin
Larry Wall
Lawrence Berkeley Laboratory
Lennart Augustsson
Lexmark International Inc.
Linus Torvalds
Loïc Grenié
Machine Vision Holdings Inc.
Manfred Brands
Marc Aurele La France
Mark Adler
Mark J. Kilgard
Mark Leisher
Mark Smulders
Massachusetts Institute Of Technology
Matrox Graphics
Matthew Grossman
Matthieu Herrb
Metro Link Inc.
Michael H. Schimek
Michael P. Marking
Michael Schimek
Michael Smith
Ming Yu
MIPS Computer Systems Inc.
National Semiconductor
NCR Corporation Inc.
Netscape Communications Corporation
Network Computing Devices Inc.
Nicholas Miell
Noah Levitt
Novell Inc.
Nozomi YTOW
NTT Software Corporation
Number Nine Computer Corp.
Number Nine Visual Technologies
NVIDIA Corp.
Olivier Danet
Oki Technosystems Laboratory Inc.
OMRON Corporation
Open Software Foundation
Orest Zborowski
Pablo Saratxaga
Panacea Inc.
Panagiotis Tsirigotis
Paolo Severini
Pascal Haible
Patrick Lecoanet
Patrick Lerda
Paul Elliott
Peter Kunzmann
Peter Trattler
Philip Homburg
Precision Insight Inc.
Prentice Hall
Quarterdeck Office Systems
Randy Hendry
Ranier Keller
Red Hat Inc.
Regents of the University of California
Rene Cougnenc
Régis Cridlig
Richard A. Hecker
Richard Burdick
Rich Murphey
Rickard E. Faith
Robert Baron
Robert Chesler
Robert V. Baron
Robert Wilhelm
Robin Cutshaw
Roland Mainz
S3 Graphics Inc.
Sam Leffler
SciTech Software
Scott Laird
Sebastien Marineau
Shigehiro Nomura
ShoGraphics Inc.
Shunsuke Akiyama
Silicon Graphics Computer Systems Inc.
Silicon Integrated Systems Corp Inc.
Silicon Motion Inc.
Simon P. Cooper
Snitily Graphics Consulting Services
Sony Corporation
SRI
Stanislav Brabec
Stephan Dirsch
Stephan Lang
Steven Lang
Sun Microsystems Inc.
SunSoft Inc.
SuSE Inc.
Sven Luther
Takis Psarogiannakopoulos
Takuya SHIOZAKI
Tektronix Inc.
The DOS-EMU-Development-Team
The Institute of Software Academia Sinica
The NetBSD Foundation
Theo de Raadt
Theodore Ts'o
The Open Group
The Open Software Foundation
The Regents of the University of California
The Santa Cruz Operation Inc.
The Unichrome Project
The Weather Channel Inc.
The X Consortium
The XFree86 Project Inc.
Thomas A. Phelps
Thomas E. Dickey
Thomas G. Lane
Thomas Mueller
Thomas Roell
Thomas Thanner
Thomas Winischhofer
Thomas Wolfram
Thorsten.Ohl
Tiago Gons
Todd C. Miller
Tomohiro KUBOTA
Torrey T. Lyons
TOSHIBA Corp.
Trolltech AS
Tungsten Graphics Inc.
UCHIYAMA Yasushi
Unicode Inc.
UniSoft Group Limited
University of Utah
UNIX System Laboratories Inc.
URW++ GmbH
VA Linux Systems
VIA Technologies Inc.
Video Electronics Standard
VMware Inc.
Vrije Universiteit
Werner Lemberg
Wittawat Yamwong
Wyse Technology Inc.
X Consortium
Xi Graphics Inc.
X-Oz Technologies
X-TrueType Server Project
X.Org Foundation, LLC

View File

@ -0,0 +1,180 @@
README for X11R6.9 and X11R7.0
The X.Org Foundation
21 December 2005
Abstract
X11R6.9 and X11R7.0 are Open Source versions of the X Window System
that supports many UNIX(R) and UNIX-like operating systems (such as
Linux, FreeBSD, NetBSD, OpenBSD and Solaris x86) on Intel and other
platforms. This version is compatible with X11R6.8 and other X
window system implementations which support the X11R6 standard.
1. What are X11R6.9 and X11R7.0?
X11R6.9 is the ninth and final full release in the X11R6 series, and X11R7.0
is the first release in the new X11R7 series.
The 6.9 version is a new release that includes additional hardware support,
functional enhancements and bug fixes. The 7.0 version is built from the
same source code as the 6.9 so it contains the same additional hardware sup-
port, functional enhancements and bug fixes; however, it has been split into
logical modules that can be developed, built and maintained separately, but
still fit together coherently into the larger source code base as they have
in the 6.9 tree. Specific release enhancements can be viewed in the Release
Notes.
X11R6.9 and X11R7.0 are being released at the same time to assist in the
transition from the older monolithic source tree to the new modular source
tree. It will take time for everyone to make this transition, so we will
maintain the older X11R6 series through update releases to both X11R6.9 and
X11R6.8.
Most modern PC video hardware is supported in both releases, and most PC
video hardware that isn't supported explicitly can be used with the "vesa"
driver. The Release Notes has a table showing the drivers provided with
X11R6.9 and X11R7.0, and links to related documentation.
The X.Org Foundation X releases are produced by the X.Org Foundation. The
X.Org Foundation has been formed as a Delaware corporation organized to oper-
ate as a scientific charity under IRS code 501(c)(3) chartered to develop and
execute effective strategies which provide world-wide stewardship of the X
Window System technology and standards. Membership in the X.Org Foundation is
free to all participants. Applications for Membership are now being accepted,
and active participants in the further development of the X Window Technology
are invited to complete a membership application
<URL:http://www.x.org/XOrg_Foundation_Membership.html>. The X11R6.9 and
X11R7.0 codebase forms the fourth X Window System release since the formation
of the X.Org Foundation and includes code from the X Consortium, the Open
Group and the XFree86[tm] project. This release is dedicated to the greater
X community, developers and users alike.
2. Licensing
X Window System source code is covered by many licenses. All of these
licenses have in common the fact that they do not impose significant condi-
tions on the modification or redistribution or either source code or binaries
beyond requiring one or more of the following:
1. Copyright and/or license notices are left intact.
2. Copyright and/or license notices are reproduced verbatim in documenta-
tion accompanying binary distributions.
3. Attributions are included with documentation accompanying binaries.
Most of these licenses are based on the MIT, X Consortium, or BSD (original
and revised) licenses. All of them are consistent with the Open Source Defi-
nition, and most are consistent with the Free Software Foundation's Free
Software Definition.
Copyright and Licensing information for X, including the reproduction of
copyright and/or license notices and attributions required by some of the
licenses for binary distributions, can be found in the License Document. If
you find any omissions in that document, please contact us with details at
<xf_board@x.org>. While the current licenses are all open source licenses,
the X.Org Foundation is attempting, with time, to bring as much as possible
of the code's licenses in the distribution into compliance with the Debian
Free Software Guidelines.
3. Pointers to additional information
The documentation for this release can be found online at the X.Org web site
<URL:http://wiki.x.org/>. Information about binary distributions and the
attendant installation instructions can be found in the Installation Docu-
ment.
The X11 version numbering system (including historical information) can be
found in the Versions Document.
Additional information may be available at the X.Org Foundation Wiki
<URL:http://wiki.x.org/>.
4. The Public Mailing Lists
Current information about the X.Org Foundation public mailing lists is avail-
able on the X.Org mailing list page <URL:http://lists.x.org/mail-
man/listinfo/> and related desktop technology mailing lists can be found on
Freedesktop.org's mailing list page <URL:http://freedesktop.org/mail-
man/listinfo>.
5. Contributing to the X.Org Foundation's X efforts.
If you have any new work or enhancements/bug fixes for existing work, please
send them to <xorg@freedesktop.org> or to our bug tracking system
<URL:https://bugs.freedesktop.org/> using the xorg component. This will help
ensure that they are included in future releases.
6. How to get the release
Information about X11R6.9 and X11R7.0 can be found from the X.Org Foundation
wiki at <URL:http://wiki.x.org>, and at mirrors of this server. Information
about obtaining and installing binary distributions of this release can be
found in the Installation Document.
Note that both X11R6.9 and X11R7.0 are being released simultaneously but only
one source tree is required to build the release. Information about obtain-
ing the release in source form is given below.
6.1 X11R6.9
The source for version 6.9.0 is available as a single tarball:
X11R6.9.0-src.tar.gz
and also is available split into seven separate tarballs:
X11R6.9.0-src1.tar.gz
X11R6.9.0-src2.tar.gz
X11R6.9.0-src3.tar.gz
X11R6.9.0-src4.tar.gz
X11R6.9.0-src5.tar.gz
X11R6.9.0-src6.tar.gz
X11R6.9.0-src7.tar.gz
The first three of the separate tarballs contain everything except the fonts
and general X11 documentation. Those three are sufficient for building
X11R6.9 if you already have a set of fonts. The fourth and fifth contain the
fonts. The sixth contains the source for the general X11 documentation. The
seventh contains the general X11 documentation in hardcopy format.
6.2 X11R7.0
This is the first release of the new modular source code tree. The souce
code has been split into nine logical modules: app, data, doc, driver, font,
lib. proto, util and xserver. Each of these modules contain one or more
packages that can be configured, built and installed separately. Please see
an X11R7.0 release site for a complete list of the tarballs.
For information on how to build the modular tree packages see the Modular
Developer's Guide <URL:http://wiki.x.org/wiki/ModularDevelopersGuide>. This
guide also contains information for developers who want to help improve the
modular build system and modular code base.
6.3 The current development tree
The X source code for this and all releases/snapshots as well as development
versions can also be accessed via the Freedesktop.org CVS repository. It's
also possible to browse the freedesktop CVS repository
<URL:http://cvs.freedesktop.org/xorg/>. The CVS tag for the 6.9 version is
"XORG-6_9_0" and the CVS tag for the 7.0 version is "XORG-7_0_0". The CVS
tag for the stable branch for the %relvers; release is "XORG-6_9-branch".
To check out the latest development version, don't specify any tag.
7. Reporting Bugs
Bugs should be reported to bug tracking system <URL:https://bugs.freedesk-
top.org/> using the xorg component. Before reporting bugs, please check the
server log file, which can be found at /var/log/Xorg.0.log on most platforms.
If you can't resolve the problem yourself, send the entire log file with your
bug report but not the operating system core dump. Do not edit the log file
as our developers use it to reproduce and debug your problem. Please attach
it to your bug report.
Generated from Id: README.sgml,v 1.6 alanc Exp $.
$XdotOrg: xc/README,v 1.4 2005/12/21 05:39:04 kem Exp $

View File

@ -0,0 +1,64 @@
Export Requirements.
You may not export or re-export this software or any copy or
adaptation in violation of any applicable laws or regulations.
Without limiting the generality of the foregoing, hardware, software,
technology or services provided under this license agreement may not
be exported, reexported, transferred or downloaded to or within (or to
a national resident of) countries under U.S. economic embargo
including the following countries:
Cuba, Iran, Libya, North Korea, Sudan and Syria. This list is subject
to change.
Hardware, software, technology or services may not be exported,
reexported, transferred or downloaded to persons or entities listed on
the U.S. Department of Commerce Denied Persons List, Entity List of
proliferation concern or on any U.S. Treasury Department Designated
Nationals exclusion list, or to parties directly or indirectly
involved in the development or production of nuclear, chemical,
biological weapons or in missile technology programs as specified in
the U.S. Export Administration Regulations (15 CFR 744).
By accepting this license agreement you confirm that you are not
located in (or a national resident of) any country under U.S. economic
embargo, not identified on any U.S. Department of Commerce Denied
Persons List, Entity List or Treasury Department Designated Nationals
exclusion list, and not directly or indirectly involved in the
development or production of nuclear, chemical, biological weapons or
in missile technology programs as specified in the U.S. Export
Administration Regulations.
The X distribution contains cryptography and is
therefore subject to US government export control under the
U.S. Export Administration Regulations ("EAR"). EAR Part 740.13(e)
allows the export and reexport of publicly available encryption source
code that is not subject to payment of license fee or royalty
payment. Object code resulting from the compiling of such source code
may also be exported and reexported under this provision if publicly
available and not subject to a fee or payment other than reasonable
and customary fees for reproduction and distribution. This kind of
encryption source code and the corresponding object code may be
exported or reexported without prior U.S. government export license
authorization provided that the U.S. government is notified about the
Internet location of the software.
The open source software available distributed by X.org is publicly
available without license fee or royalty payment, and all binary
software is compiled from the source code. The U.S. government has
been notified about the location site for the source
code. Therefore, the source code and compiled object code may be
downloaded and exported under U.S. export license exception (without a
U.S. export license) in accordance with the further restrictions
outlined above regarding embargoed countries, restricted persons and
restricted end uses.
Local Country Import Requirements. The software you are about to
download contains cryptography technology. Some countries regulate the
import, use and/or export of certain products with cryptography. The
X.org Foundation makes no claims as to the applicability of local
country import, use and/or export regulations in relation to the
download of this product. If you are located outside the U.S. and
Canada you are advised to consult your local country regulations to
insure compliance.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,17 @@
This directory (xc/extras) contains packages that are maintained outside
of XFree86, but which are included with the base XFree86 distribution.
Each such package should be imported on its own vendor branch (see
the README.XFree86 file in each subdirectory for specific 'cvs import'
details). 'XFree86' RCS ident lines should only be added to files that
have XFree86-specific changes. Binary files should not normally be
imported.
Packages included here must be redistributable under conditions compatible
with the XFree86 redistribution conditions (see
xc/programs/Xserver/hw/xfree86/doc/COPYRIGHT for examples of compatible
licences).
$XFree86: xc/extras/README,v 1.1 1998/08/29 08:01:42 dawes Exp $

View File

@ -0,0 +1,39 @@
This notice applies to the files in this directory. They are taken from
the libiconv-1.1 package, which is covered by the LGPL license. The files
in this directory have been placed under the following copyright, with
permission from the Free Software Foundation.
Copyright (c) 1999-2000 Free Software Foundation, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
FREE SOFTWARE FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the Free Software Foundation
shall not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization from the
Free Software Foundation.
Notes:
1. This copyright applies only to the files in this directory, and not to
the remaining files in libiconv.
2. The Free Software Foundation does not encourage the use of the above
license for newly written software.

View File

@ -0,0 +1,12 @@
$XFree86$
The files in this directory are taken from the libiconv-1.1 package.
The *.h files were generated from tables (mostly from ftp.unicode.org) using
the programs '8bit_tab_to_h.c' and 'cjk_tab_to_h.c'. On some of them, further
optimizations were applied by hand.
If you find a bug in these files, instead of modifying them in XFree86
and let it diverge from libiconv, please notify the libiconv maintainer
(currently <bruno@clisp.org>) so he can fix both in synch.

View File

@ -0,0 +1,329 @@
File: .../x11/server/dix/BuiltInAtoms
This file is of a fixed format and is used to generate both the file
include/XAtom.h and dix/initatoms.c. Neither of those files should be
edited directly. Changing the atoms in this file, or even the order in
which they occur, is equivalent to forcing a new (minor) version number
on the server. Take care.
The format of the file is that each built in atom starts in column 1
with no text, other than spaces and tabs, on that line other than a
mandatory trailing "@" at the end of the line. For each atom (Foo)
below the defines will be of the form
#define XA_Foo <n>
and the string value of the atom will be "Foo".
The comment lines in this file are not guaranteed to be accurate. To see the
current truth, look at the Xlib documentation as well as the protocol spec.
Atoms occur in five distinct name spaces within the protocol. Any particular
atom may or may not have some client interpretation within each of the name
spaces. For each of the built in atoms, the intended semantics and the space
within which it is defined is indicated.
Those name spaces are
Property names
Property types
Selections
Font properties
Type of a ClientMessage event (none built into server)
For the font properties mentioned here, see the spec for more information.
-- Selections --
PRIMARY @
Selection.
SECONDARY @
Selection.
-- Property types and names --
ARC @
Property type:
x, y: INT16
width, height: CARD16,
angle1, angle2: INT16
ATOM @
Property type:
atom: ATOM
BITMAP @
Property type:
bitmap: PIXMAP
This is asserted to be of depth 1.
CARDINAL @
Property type:
card: CARD32 or CARD16 or CARD8
the datum size is dependent on the property format
COLORMAP @
Property type:
colormap: COLORMAP
CURSOR @
Property type:
cursor: CURSOR
CUT_BUFFER0 @
CUT_BUFFER1 @
CUT_BUFFER2 @
CUT_BUFFER3 @
CUT_BUFFER4 @
CUT_BUFFER5 @
CUT_BUFFER6 @
CUT_BUFFER7 @
Property name: (type: STRING)
Used to implement cut buffer ring, in particular Andrew uses
this mechanism. Anyone else using this sort of IPC mechanism
should use these properties.
Data is normally fetched and stored out of CUT_BUFFER0; the
RotateProperties request is used to rotate these buffers.
DRAWABLE @
Property type:
drawable: DRAWABLE
FONT @
Property type:
font: FONT
INTEGER @
Property type:
card: INT32 or INT16 or INT8
the datum size is dependent on the property format
PIXMAP @
Property type:
pixmap: PIXMAP
POINT @
Property type:
x, y: INT16
RECTANGLE @
Property type:
x, y: INT16
width, height: CARD16
RESOURCE_MANAGER @
Property name: (type: STRING)
Contents of the user's resource manager data base.
RGB_COLOR_MAP @
Property type:
colormap: COLORMAP
red-max: CARD32
red-mult: CARD32
green-max: CARD32
green-mult: CARD32
blue-max: CARD32
blue-mult: CARD32
base-pixel: CARD32
The fields `red_max', `green_max', and `blue_max' give the maximum
red, green, and blue values, respectively. Each color
coefficient ranges from 0 to its max, inclusive. For example,
a common colormap allocation is 3/3/2: 3 planes for red, 3
planes for green, and 2 planes for blue. Such a colormap would
have red_max == 7, green_max = 7, and blue_max = 3. An alternate
allocation that uses only 216 colors is red_max = 5, green_max =
5, and blue_max = 5.
The fields `red_mult', `green_mult', and `blue_mult' give the
scale factors used to compose a full pixel value. (See next
paragraph.) For a 3/3/2 allocation red_mult might be 32,
green_mult might be 4, and blue_mult might be 1. For a
6-colors-each allocation, red_mult might be 36, green_mult might
be 6, and blue_mult might be 1.
The field `base_pixel' gives the base pixel value used to
compose a full pixel value. Normally base_pixel is obtained
from a call to XAllocColorPlanes(). Given integer red, green,
and blue coefficients in their appropriate ranges, one can
compute a corresponding pixel value with the expression:
r * red_mult + g * green_mult + b * blue_mult + base_pixel
For gray-scale colormaps, only the colormap, red_max, red_mult,
and base_pixel fields are defined; the other fields are
ignored. To compute a gray-scale pixel value, use:
gray * red_mult + base_pixel
This is provided to allow applications to share color maps.
RGB_BEST_MAP @
RGB_BLUE_MAP @
RGB_DEFAULT_MAP @
RGB_GRAY_MAP @
RGB_GREEN_MAP @
RGB_RED_MAP @
Property name: (type: RGB_COLOR_MAP)
The needs of most applications can be met with five colormaps.
Polite applications may need only a small RGB space, and can
use a portion of the default color map. Applications doing
high-quality RGB rendering will need an entire colormap,
filled with as large an RGB space as possible, e.g. 332. For
color separations, an application may need maximum device
resolution for each of red, green, and blue, even if this
requires three renderings with three colormaps.
Each of the above five names would be used for sharing color
maps.
STRING @
Property type:
sequence of Bytes
VISUALID @
Property type:
visual: VISUALID
WINDOW @
Property type:
window: WINDOW
WM_COMMAND @
Property name: (type: STRING)
Command line arguments used to invoke this application. The
arguments are delimited by null characters (ASCII 0).
WM_HINTS @
Property type:
flags: CARD32
input: BOOL32
initial-state: CARD32
icon-pixmap: PIXMAP
icon-window: WINDOW
icon_mask: BITMAP
icon-x, icon-y: INT32
flags contains the following bits
0x00000001 input hint
0x00000002 state hint
0x00000004 icon pixmap hint
0x00000008 icon window hint
0x00000010 icon position hint
values for initial-state
0 unspecified -> application does not
care and WM should pick one.
1 normal
2 zoomed
3 iconic
4 inactive -> application believes
itself to be seldomly used. WM may wish to
place it on an inactive menu.
This type is potentially extensible. The order is critical;
append to the end only.
Property name: (type: WM_HINTS)
Additional hints set by the client for use by the window
manager.
WM_CLIENT_MACHINE @
Property name: (type: STRING)
used to communicate with the window manager. The host name
of the machine the client is running on may be set here.
WM_ICON_NAME @
Property name: (type: STRING)
what the application would like the label to be for
the iconic form of the window.
WM_ICON_SIZE @
Property type:
minWidth, min-height: CARD32
maxWidth, max-height: CARD32
widthInc, height-inc: CARD32
Property name: (type: ICON_SIZE)
The window manager may set this property on the root window
to specify the icon sizes it allows.
WM_NAME @
Property name: (type: STRING)
used to communicate with the window manager. This is
what the application would like the label for the window.
WM_NORMAL_HINTS @
Property name: (type: SIZE_HINTS)
used to communicate with the window manager. This is size
hints for a window in its "normal" state.
WM_SIZE_HINTS @
Property type:
flags: CARD32
x, y: INT32
width, height: CARD32
min-width, min-height: CARD32
max-width, max-height: CARD32
width-inc, height-inc: CARD32
min-aspect-x, min-aspect-y: CARD32
max-aspect-x, max-aspect-y: CARD32
flags contains the following bits
0x00000001 user specified x and y
0x00000002 user specified width and height
0x00000004 program specified position
0x00000008 program specified size
0x00000010 program specified minimum size
0x00000020 program specified maximum size
0x00000040 program specified resize increment
0x00000080 program specified aspect ratio
This type is potentially extensible. The order is critical;
append to the end only.
WM_ZOOM_HINTS @
Property name: (type: SIZE_HINTS)
used to communicate with the window manager. This is size
hints for a window in its "zoomed" state.
-- Font properties --
MIN_SPACE @
Font property: CARD32
NORM_SPACE @
Font property: CARD32
MAX_SPACE @
Font property: CARD32
END_SPACE @
Font property: CARD32
SUPERSCRIPT_X @
Font property: INT32
SUPERSCRIPT_Y @
Font property: INT32
SUBSCRIPT_X @
Font property: INT32
SUBSCRIPT_Y @
Font property: INT32
UNDERLINE_POSITION @
Font property: INT32
UNDERLINE_THICKNESS @
Font property: CARD32
STRIKEOUT_ASCENT @
Font property: INT32
STRIKEOUT_DESCENT @
Font property: INT32
ITALIC_ANGLE @
Font property: INT32
X_HEIGHT @
Font property: INT32
QUAD_WIDTH @
Font property: INT32
WEIGHT @
Font property: CARD32
POINT_SIZE @
Font property: CARD32
RESOLUTION @
Font property: CARD32
The following optional properties on fonts have values that are atoms. The
atom print name is the useful information.
COPYRIGHT @
of the font distribution
NOTICE @
trademark/copyright of the character shapes
FONT_NAME @
name of this particular instance of a font
FAMILY_NAME @
name of the 'font family' to which it belongs
FULL_NAME @
full text name of the font
The following aren't in order but putting them at the end avoids encoding
changes.
CAP_HEIGHT @
Font property: CARD32
WM_CLASS @
Property name: (type: STRING)
Used (possibly by some window managers; definitely by
session managers) to look up resources in the resource
data base on behalf of the client who set this property.
There are 2 elements:
{char *resource_name; char *resource_class;}
delimited by a null character (ascii 0)
WM_TRANSIENT_FOR @
Property name: (type: WINDOW)
Used by transient top-level windows, such as dialog
boxes, to point to their logical "parents". The window
manager can then take down the dialog boxes when the
"parent" gets iconified, for instance.

View File

@ -0,0 +1,17 @@
The following changes have been made to this directory since R3 (for
a full description, see doc/Server/r4.tbl.ms):
o Windows restructured (memory reduction, devPrivates and speedups)
o GCs restructured (memory reduction, devPrivates and wrappers)
o Screens restructured (window ops merged in, devPrivates)
o Pixmaps restructured (drawable changes mostly)
o Cursors restructured (shares glyph bits now)
o Visuals restructured (screen index removed, fields rearranged)
o Devices restructured (input extension changes)
o Out of memory changes. Many interfaces now return OutOfMemory
status.
o Synchronous grab code rewritten. Should conform to our
understanding of the protocol now. Be careful when time
stamping events (don't allow time to run backwards).
o Resource types redesigned and rewritten.
o Internal fake color allocation routine for software cursors.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,33 @@
--- ./nx-X11/config/cf/cross.def.X.original 2015-02-13 14:03:44.396448342 +0100
+++ ./nx-X11/config/cf/cross.def 2015-02-10 19:13:13.392701311 +0100
@@ -16,16 +16,16 @@
#define StandardDefines -Dlinux -D__arm__ -D_POSIX_SOURCE \
-D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
#undef CcCmd
-#define StdIncDir /skiff/local/arm-linux/include
+#define StdIncDir /opt/Embedix/tools/arm-linux/include
#define PreIncDir
#undef PostIncDir
-#define PostIncDir /skiff/local/lib/gcc-lib/arm-linux/2.95.2/include
-#define CcCmd /skiff/local/bin/arm-linux-gcc
+#define PostIncDir /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/include
+#define CcCmd /opt/Embedix/tools/bin/arm-linux-gcc
#undef CplusplusCmd
#define HasCplusplus YES
-#define CplusplusCmd /skiff/local/bin/arm-linux-g++
+#define CplusplusCmd /opt/Embedix/tools/bin/arm-linux-g++
#define DoRanlibCmd YES
-#define RanlibCmd /skiff/local/bin/arm-linux-ranlib
+#define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib
#undef ExtraLoadFlags
#define ExtraLoadFlags
#define FbNoPixelAddrCode
@@ -33,7 +33,7 @@
#define TermcapLibrary -ltermcap
#undef LdPostLib
-#define LdPostLib -L/skiff/local/arm-linux/lib
+#define LdPostLib -L/opt/Embedix/tools/arm-linux/lib
#undef ExtensionOSDefines
#define ExtensionOSDefines

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,112 @@
--- ./nx-X11/config/cf/iPAQH3600.cf.X.original 2015-02-13 14:03:44.400448260 +0100
+++ ./nx-X11/config/cf/iPAQH3600.cf 2015-02-13 14:03:44.400448260 +0100
@@ -0,0 +1,109 @@
+/* $XFree86: xc/config/cf/iPAQH3600.cf,v 1.2 2000/10/10 14:05:48 tsi Exp $ */
+/*
+ * This configuration file contains additional configuration needed
+ * to cross compile X for the Compaq iPAQ H3600 PocketPC.
+ * To use this, add the following to host.def:
+ #define KDriveXServer YES
+ #define XiPAQH3500Server YES
+ */
+
+#define CrossCompiling YES
+
+#undef i386Architecture
+#define Arm32Architecture
+
+#undef OptimizedCDebugFlags
+#define OptimizedCDebugFlags -O2
+#define ServerCDebugFlags -O2
+#undef StandardDefines
+#define StandardDefines -Dlinux -D__arm__ -D_POSIX_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
+#undef CcCmd
+#define StdIncDir /opt/Embedix/tools/arm-linux/include
+#define PreIncDir
+#undef PostIncDir
+#define PostIncDir /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/include
+#define CcCmd /opt/Embedix/tools/bin/arm-linux-gcc
+#define DoRanlibCmd YES
+#define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib
+#undef ExtraLoadFlags
+#define ExtraLoadFlags
+#define FbNoPixelAddrCode
+#undef TermcapLibrary
+#define TermcapLibrary -ltermcap
+
+#undef LdPostLib
+#define LdPostLib -L/opt/Embedix/tools/arm-linux/lib
+
+#undef XfbdevServer
+#define XfbdevServer YES
+#undef BuildXprint
+#define BuildLBX NO
+#define BuildFonts NO
+#define BuildAppgroup NO
+#define BuildRECORD NO
+#define BuildDBE NO
+#define BuildXCSecurity NO
+#define ItsyCompilerBug YES
+#define FontServerAccess NO
+#define ServerXdmcpDefines /**/
+
+#undef ExtensionOSDefines
+#define ExtensionOSDefines
+
+#define ProjectRoot /usr/X11R6
+
+#define GzipFontCompression YES
+
+#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=1
+
+#define HostLinkRule(target, flags, src, libs) cc -I$(BUILDINCDIR) -o target src
+
+/* ComplexHostProgramTarget - Compile a program such that we can run
+ * it on this host, i.e., don't use the default cross compiler.
+ */
+#ifndef ComplexHostProgramTarget
+#define ComplexHostProgramTarget(program) @@\
+ CC=cc @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: $(OBJS) $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+ @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* ComplexHostProgramTarget */
+
+#ifndef SimpleHostProgramTarget
+#define SimpleHostProgramTarget(program) @@\
+ SRCS = program.c @@\
+ @@\
+ CC=cc @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: program.o $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+ @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* SimpleHostProgramTarget */

View File

@ -0,0 +1,50 @@
--- ./nx-X11/config/cf/sun.cf.X.original 2015-02-13 14:03:44.400448260 +0100
+++ ./nx-X11/config/cf/sun.cf 2015-02-13 14:03:44.400448260 +0100
@@ -299,7 +299,12 @@
#if OSMajorVersion == 4
# if OSMinorVersion == 1
+/*
+ * Currently the NX transport only works with select().
+ *
# define HasPoll YES
+ */
+# define HasPoll NO
# endif
# if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1)
/* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */
@@ -359,10 +364,12 @@
# endif
#endif
-#define ServerOSDefines XFree86ServerOSDefines IncludeCG2HeaderDefine
+#define ServerOSDefines XFree86ServerOSDefines IncludeCG2HeaderDefine \
+ -DPIXPRIV
#define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines \
CompilerServerExtraDefines \
- OSServerExtraDefines ArchServerExtraDefines
+ OSServerExtraDefines ArchServerExtraDefines \
+ -DPIXPRIV
#ifndef HasPerl
/* Solaris 8 comes with perl. Earlier versions don't. */
@@ -384,7 +391,8 @@
#endif
#if OSMajorVersion > 4
-# define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN
+/* #define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN */
+#define ConnectionFlags -DUNIXCONN -DTCPCONN
# if HasSunC
# ifdef DefaultSunProCCompilerDir
# ifndef CcCmd
@@ -452,7 +460,8 @@
# endif
# define ToolkitStringsABIOptions -intelabi SolarisABIFlag
# else
-# define StandardDefines -Dsun -Dsparc -DSVR4 -D__EXTENSIONS__ LargefileDefines
+# define StandardDefines -Dsun -Dsparc -DSVR4 -D__EXTENSIONS__ LargefileDefines \
+ -DPIXPRIV
# define ToolkitStringsABIOptions -sparcabi SolarisABIFlag
# endif
# define ExtraLibraries -lsocket -lnsl

View File

@ -0,0 +1,122 @@
--- ./nx-X11/config/cf/sunLib.tmpl.X.original 2015-02-13 14:03:44.400448260 +0100
+++ ./nx-X11/config/cf/sunLib.tmpl 2015-02-13 14:03:44.400448260 +0100
@@ -45,119 +45,6 @@
#else /* else it's Solaris */
-/* Solaris uses single digit library versions, and versions of libraries
- * defined in SVID specs should match the versions specified there.
- */
-
-#ifndef SharedX11Rev
-# define SharedX11Rev 4
-#endif
-#ifndef SharedOldXRev
-# define SharedOldXRev 6
-#endif
-#ifndef SharedXextRev
-# define SharedXextRev 0
-#endif
-#ifndef SharedXauRev
-# define SharedXauRev 6
-#endif
-#ifndef SharedXdmcpRev
-# define SharedXdmcpRev 6
-#endif
-#ifndef SharedXmuRev
-# define SharedXmuRev 4
-#endif
-#ifndef SharedXmuuRev
-# define SharedXmuuRev 1
-#endif
-#ifndef SharedXpRev
-# define SharedXpRev 1
-#endif
-#ifndef SharedXpmRev
-# define SharedXpmRev 4
-#endif
-#ifndef SharedXtRev
-# define SharedXtRev 4
-#endif
-#ifndef SharedXaw6Rev
-# define SharedXaw6Rev 5
-#endif
-#ifndef SharedXiRev
-# define SharedXiRev 5
-#endif
-#ifndef SharedXtstRev
-# define SharedXtstRev 1
-#endif
-#ifndef SharedFSRev
-# define SharedFSRev 5
-#endif
-#ifndef SharedICERev
-# define SharedICERev 6
-#endif
-#ifndef SharedSMRev
-# define SharedSMRev 6
-#endif
-#ifndef SharedXcursor
-# define SharedXcursorRev 1
-#endif
-#ifndef SharedXdamageRev
-# define SharedXdamageRev 1
-#endif
-#ifndef SharedXevieRev
-# define SharedXevieRev 1
-#endif
-#ifndef SharedXfixesRev
-# define SharedXfixesRev 1
-#endif
-#ifndef SharedXftRev
-# define SharedXftRev 2
-#endif
-#ifndef SharedXineramaRev
-# define SharedXineramaRev 1
-#endif
-#ifndef SharedXrenderRev
-# define SharedXrenderRev 1
-#endif
-#ifndef SharedXResRev
-# define SharedXResRev 1
-#endif
-#ifndef SharedXvRev
-# define SharedXvRev 1
-#endif
-#ifndef SharedXvMCRev
-# define SharedXvMCRev 1
-#endif
-#ifndef SharedXrandrRev
-# define SharedXrandrRev 2
-#endif
-#ifndef SharedXssRev
-# define SharedXssRev 1
-#endif
-#ifndef SharedFontconfigRev
-# define SharedFontconfigRev 1
-#endif
-#ifndef SharedGlxRev
-# define SharedGlxRev 1
-#endif
-#ifndef SharedGluRev
-# define SharedGluRev 1
-#endif
-#ifndef SharedGLwRev
-# define SharedGLwRev 1
-#endif
-#ifndef SharedOSMesaRev
-# define SharedOSMesaRev 4
-#endif
-#ifndef SharedxkbfileRev
-# define SharedxkbfileRev 5
-#endif
-#ifndef SharedXxf86miscRev
-# define SharedXxf86miscRev 1
-#endif
-#ifndef SharedXxf86vmRev
-# define SharedXxf86vmRev 1
-#endif
-
# if ThreadedX
# if OSMinorVersion > 3
# define SharedThreadReqs /**/

View File

@ -0,0 +1,24 @@
--- ./nx-X11/config/cf/svr4.cf.X.original 2015-02-13 14:03:44.400448260 +0100
+++ ./nx-X11/config/cf/svr4.cf 2015-02-13 14:03:44.400448260 +0100
@@ -51,7 +51,12 @@
#ifndef HasLdRunPath
#define HasLdRunPath YES
#endif
+/*
+ * Currently the NX transport only works with select().
+ *
#define HasPoll YES
+ */
+#define HasPoll NO
#ifndef SVR4Architecture
#define SVR4Architecture
#endif
@@ -278,7 +283,7 @@
# define XFree86ServerDefines /* */
#endif
#ifndef XFree86ServerOSDefines
-# define XFree86ServerOSDefines -DDDXOSINIT
+# define XFree86ServerOSDefines -DDDXOSINIT -DDDXOSFATALERROR -DDDXOSVERRORF
#endif
#if HasGcc2ForCplusplus

View File

@ -0,0 +1,10 @@
--- ./nx-X11/extras/Mesa/src/mesa/drivers/dri/common/glcontextmodes.c.X.original 2015-02-13 14:03:44.416447966 +0100
+++ ./nx-X11/extras/Mesa/src/mesa/drivers/dri/common/glcontextmodes.c 2015-02-10 19:13:14.992641502 +0100
@@ -44,6 +44,7 @@
# include "GL/glxint.h"
# ifdef XFree86Server
+void *memset( void * ptr, int val, size_t size);
# include "GL/glx_ansic.h"
extern void * __glXMalloc( size_t size );
extern void __glXFree( void * ptr );

View File

@ -0,0 +1,103 @@
--- ./nx-X11/extras/Mesa/src/mesa/main/context.c.X.original 2015-02-13 14:03:44.464447019 +0100
+++ ./nx-X11/extras/Mesa/src/mesa/main/context.c 2015-02-10 19:13:14.800648672 +0100
@@ -131,6 +131,10 @@
#endif
#include "shaderobjects.h"
+#ifdef NXAGENT_SERVER
+#include "WSDrawBuffer.h"
+#endif
+
#ifdef USE_SPARC_ASM
#include "sparc/sparc.h"
#endif
@@ -143,6 +147,47 @@
int MESA_DEBUG_FLAGS = 0;
#endif
+#ifdef NXAGENT_SERVER
+extern WSDrawBufferPtr pWSDrawBuffer;
+
+int IsWSDrawBuffer(GLframebuffer *mesa_buffer)
+{
+ WSDrawBufferPtr p = pWSDrawBuffer;
+
+ while (p != NULL) {
+ if (p -> DrawBuffer == mesa_buffer) {
+ return 1;
+ }
+ p = p -> next;
+ }
+ return 0;
+}
+
+void FreeWSDrawBuffer(GLframebuffer *mesa_buffer)
+{
+ WSDrawBufferPtr p = pWSDrawBuffer;
+ WSDrawBufferPtr pOld = NULL;
+
+ if (p == NULL)
+ return;
+
+ if (p -> DrawBuffer == mesa_buffer) {
+ pWSDrawBuffer = p -> next;
+ free(p);
+ return;
+ }
+
+ while (p -> next != NULL) {
+ if (p -> next -> DrawBuffer == mesa_buffer) {
+ pOld = p -> next;
+ p -> next = p -> next -> next;
+ free(pOld);
+ return;
+ }
+ p = p -> next;
+ }
+}
+#endif
/* ubyte -> float conversion */
GLfloat _mesa_ubyte_to_float_color_tab[256];
@@ -1520,6 +1565,10 @@
_mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
GLframebuffer *readBuffer )
{
+ #ifdef NXAGENT_SERVER
+ int flag;
+ #endif
+
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(newCtx, "_mesa_make_current()\n");
@@ -1558,11 +1607,30 @@
ASSERT(readBuffer->Name == 0);
newCtx->WinSysDrawBuffer = drawBuffer;
newCtx->WinSysReadBuffer = readBuffer;
+
+#ifdef NXAGENT_SERVER
+ flag = 0;
+ if (newCtx->DrawBuffer) {
+ if (!IsWSDrawBuffer(newCtx->DrawBuffer)) {
+ if (newCtx->DrawBuffer->Name == 0) {
+ flag = 1;
+ }
+ FreeWSDrawBuffer(newCtx->DrawBuffer);
+ }
+ else flag = 1;
+ }
+
+ if (!newCtx->DrawBuffer || flag) {
+ newCtx->DrawBuffer = drawBuffer;
+ newCtx->ReadBuffer = readBuffer;
+ }
+#else
/* don't replace user-buffer bindings with window system buffer */
if (!newCtx->DrawBuffer || newCtx->DrawBuffer->Name == 0) {
newCtx->DrawBuffer = drawBuffer;
newCtx->ReadBuffer = readBuffer;
}
+#endif
newCtx->NewState |= _NEW_BUFFERS;

View File

@ -0,0 +1,67 @@
--- ./nx-X11/include/Xpoll.h.in.X.original 2015-02-13 14:03:44.612444107 +0100
+++ ./nx-X11/include/Xpoll.h.in 2015-02-10 19:13:14.464661220 +0100
@@ -51,6 +51,23 @@
/* $XFree86: xc/include/Xpoll.h,v 3.8 2001/01/17 17:53:11 dawes Exp $ */
+/**************************************************************************/
+/* */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
+/* */
+/* NX-X11, NX protocol compression and NX extensions to this software */
+/* are copyright of NoMachine. Redistribution and use of the present */
+/* software is allowed according to terms specified in the file LICENSE */
+/* which comes in the source distribution. */
+/* */
+/* Check http://www.nomachine.com/licensing.html for applicability. */
+/* */
+/* NX and NoMachine are trademarks of Medialogic S.p.A. */
+/* */
+/* All rights reserved. */
+/* */
+/**************************************************************************/
+
#ifndef _XPOLL_H_
#define _XPOLL_H_
@@ -120,6 +137,31 @@
} fd_set;
#endif
+/*
+ * Replace the standard Select with a version giving NX a
+ * chance to check its own descriptors. This doesn't cover
+ * the cases where the system is using poll or when system-
+ * specific defines override the Select definition (OS/2).
+ * See XlibInt.c for _XSelect().
+ */
+
+#ifdef NX_TRANS_SOCKET
+
+extern int _XSelect(int maxfds, fd_set *readfds, fd_set *writefds,
+ fd_set *exceptfds, struct timeval *timeout);
+
+#ifndef hpux /* and perhaps old BSD ??? */
+# define Select(n,r,w,e,t) _XSelect(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+#else
+# ifndef _XPG4_EXTENDED /* HPUX 9.x and earlier */
+# define Select(n,r,w,e,t) _XSelect(n,(int*)r,(int*)w,(int*)e,(struct timeval*)t)
+# else
+# define Select(n,r,w,e,t) _XSelect(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+# endif
+#endif
+
+#else /* #ifdef NX_TRANS_SOCKET */
+
#ifndef hpux /* and perhaps old BSD ??? */
# define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
#else
@@ -130,6 +172,8 @@
# endif
#endif
+#endif /* #ifdef NX_TRANS_SOCKET */
+
#define __X_FDS_BITS @USE_FDS_BITS@
#ifndef __FDS_BITS

View File

@ -0,0 +1,14 @@
--- ./nx-X11/include/extensions/XKBsrv.h.X.original 2015-02-13 14:03:44.612444107 +0100
+++ ./nx-X11/include/extensions/XKBsrv.h 2015-02-10 19:13:14.644654498 +0100
@@ -73,6 +73,11 @@
#include <X11/extensions/XKBproto.h>
#include "inputstr.h"
+#ifdef NXAGENT_SERVER
+extern char *_NXGetXkbBasePath(const char *path);
+extern char *_NXGetXkbCompPath(const char *path);
+#endif
+
typedef struct _XkbInterest {
DeviceIntPtr dev;
ClientPtr client;

View File

@ -0,0 +1,59 @@
--- ./nx-X11/lib/X11/ChkIfEv.c.X.original 2015-02-13 14:03:44.620443950 +0100
+++ ./nx-X11/lib/X11/ChkIfEv.c 2015-02-10 19:13:13.120711494 +0100
@@ -83,3 +83,56 @@
UnlockDisplay(dpy);
return False;
}
+
+#ifdef NX_TRANS_SOCKET
+
+/*
+ * This is just like XCheckIfEvent() but doesn't
+ * flush the output buffer if it can't read new
+ * events.
+ */
+
+Bool XCheckIfEventNoFlush (dpy, event, predicate, arg)
+ register Display *dpy;
+ Bool (*predicate)(
+ Display* /* display */,
+ XEvent* /* event */,
+ char* /* arg */
+ ); /* function to call */
+ register XEvent *event; /* XEvent to be filled in. */
+ char *arg;
+{
+ register _XQEvent *prev, *qelt;
+ unsigned long qe_serial = 0;
+ int n; /* time through count */
+
+ LockDisplay(dpy);
+ prev = NULL;
+ for (n = 2; --n >= 0;) {
+ for (qelt = prev ? prev->next : dpy->head;
+ qelt;
+ prev = qelt, qelt = qelt->next) {
+ if(qelt->qserial_num > qe_serial
+ && (*predicate)(dpy, &qelt->event, arg)) {
+ *event = qelt->event;
+ _XDeq(dpy, prev, qelt);
+ UnlockDisplay(dpy);
+ return True;
+ }
+ }
+ if (prev)
+ qe_serial = prev->qserial_num;
+ switch (n) {
+ case 1:
+ _XEventsQueued(dpy, QueuedAfterReading);
+ break;
+ }
+ if (prev && prev->qserial_num != qe_serial)
+ /* another thread has snatched this event */
+ prev = NULL;
+ }
+ UnlockDisplay(dpy);
+ return False;
+}
+
+#endif

View File

@ -0,0 +1,319 @@
--- ./nx-X11/lib/X11/ConnDis.c.X.original 2015-02-13 14:03:44.620443950 +0100
+++ ./nx-X11/lib/X11/ConnDis.c 2015-02-10 19:13:13.008715687 +0100
@@ -25,6 +25,24 @@
in this Software without prior written authorization from The Open Group.
*/
+
+/**************************************************************************/
+/* */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */
+/* */
+/* NX-X11, NX protocol compression and NX extensions to this software */
+/* are copyright of NoMachine. Redistribution and use of the present */
+/* software is allowed according to terms specified in the file LICENSE */
+/* which comes in the source distribution. */
+/* */
+/* Check http://www.nomachine.com/licensing.html for applicability. */
+/* */
+/* NX and NoMachine are trademarks of Medialogic S.p.A. */
+/* */
+/* All rights reserved. */
+/* */
+/**************************************************************************/
+
/* $XFree86: xc/lib/X11/ConnDis.c,v 3.28 2003/12/02 23:33:17 herrb Exp $ */
/*
@@ -162,6 +180,39 @@
saddrlen = 0; /* set so that we can clear later */
saddr = NULL;
+#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
+ fprintf(stderr, "_X11TransConnectDisplay: Called with display_name [%s].\n", display_name);
+#endif
+
+#ifdef NX_TRANS_SOCKET
+
+ /*
+ * Check if user selected the "nx"
+ * protocol or an "nx" hostname.
+ */
+
+ if (!strncasecmp(p, "nx/", 3) || !strcasecmp(p, "nx") ||
+ !strncasecmp(p, "nx:", 3) || !strncasecmp(p, "nx,", 3))
+ {
+ if (*(display_name + 2) == '/')
+ {
+ p += 3;
+ }
+
+ pprotocol = copystring ("nx", 2);
+
+ if (!pprotocol) goto bad;
+
+#ifdef NX_TRANS_TEST
+ fprintf(stderr, "_X11TransConnectDisplay: Forced protocol to [%s].\n", pprotocol);
+#endif
+
+ }
+ else
+ {
+
+#endif
+
/*
* Step 0, find the protocol. This is delimited by the optional
* slash ('/').
@@ -176,6 +227,60 @@
} else
p = display_name; /* reset the pointer in
case no protocol was given */
+#ifdef NX_TRANS_SOCKET
+
+ } /* End of step 0. */
+
+ /*
+ * Check if user specified the "nx" protocol or
+ * hostname is "nx" or in the form "nx,...".
+ */
+
+ if (pprotocol && !strcasecmp(pprotocol, "nx"))
+ {
+
+#ifdef NX_TRANS_TEST
+ fprintf(stderr, "_X11TransConnectDisplay: Checking hostname [%s].\n", p);
+#endif
+
+ /*
+ * Options can include a "display=" tuple so
+ * need to scan right to left.
+ */
+
+ lastp = p;
+ lastc = NULL;
+
+ for (; *p; p++)
+ if (*p == ':')
+ lastc = p;
+
+ /*
+ * Don't complain if no screen was provided.
+ */
+
+ if (lastc)
+ {
+ phostname = copystring (lastp, lastc - lastp);
+
+ p = lastc;
+ }
+ else
+ {
+ phostname = copystring (lastp, strlen(lastp));
+ }
+
+ if (!phostname) goto bad;
+
+#ifdef NX_TRANS_TEST
+ fprintf(stderr, "_X11TransConnectDisplay: Forced hostname [%s].\n", phostname);
+#endif
+
+ }
+ else
+ {
+
+#endif
/*
* Step 1, find the hostname. This is delimited by either one colon,
@@ -240,6 +345,20 @@
}
#endif
+#ifdef NX_TRANS_SOCKET
+
+ } /* End of step 1. */
+
+ /*
+ * Check if no display was specified. In this case
+ * search the "port=n" option in NX host string.
+ */
+
+ if (*p)
+ {
+
+#endif
+
/*
* Step 2, find the display number. This field is required and is
@@ -254,6 +373,66 @@
goto bad;
idisplay = atoi (pdpynum);
+#ifdef NX_TRANS_SOCKET
+
+ }
+ else
+ {
+ char *host = NULL;
+ char *name = NULL;
+ char *value = NULL;
+
+#ifdef NX_TRANS_TEST
+ fprintf(stderr, "_X11TransConnectDisplay: Searching port in port [%s].\n", phostname);
+#endif
+
+ if (!strncasecmp(phostname, "nx,", 3))
+ {
+ host = copystring(phostname + 3, strlen(phostname) - 3);
+ }
+
+ if (!host) goto bad;
+
+ idisplay = -1;
+
+ name = strtok(host, "=");
+
+ while (name)
+ {
+ value = strtok(NULL, ",");
+
+ if (value == NULL || strstr(value, "=") != NULL ||
+ strstr(name, ",") != NULL || strlen(value) >= 128)
+ {
+ Xfree(host);
+
+ goto bad;
+ }
+ else if (strcasecmp(name, "port") == 0)
+ {
+ idisplay = atoi(value);
+
+ pdpynum = copystring(value, strlen(value));
+
+ if (!pdpynum) goto bad;
+
+ break;
+ }
+
+ name = strtok(NULL, "=");
+ }
+
+ Xfree(host);
+
+ if (idisplay == -1)
+ {
+ goto bad;
+ }
+
+ } /* End of step 2. */
+
+#endif
+
/*
* Step 3, find the screen number. This field is optional. It is
@@ -286,6 +465,27 @@
* is "unix", then choose BSD UNIX domain sockets (if configured).
*/
+#ifdef NX_TRANS_SOCKET
+
+ /*
+ * If user selected the "nx" protocol
+ * force "local" transport.
+ */
+
+ if (pprotocol && !strcasecmp(pprotocol, "nx"))
+ {
+ pprotocol = copystring ("local", 5);
+
+ if (!pprotocol) goto bad;
+
+#ifdef NX_TRANS_TEST
+ fprintf(stderr, "_X11TransConnectDisplay: Converted protocol to [%s].\n", pprotocol);
+#endif
+
+ }
+
+#endif
+
#if defined(TCPCONN) || defined(UNIXCONN) || defined(LOCALCONN) || defined(MNX_TCPCONN) || defined(OS2PIPECONN)
if (!pprotocol) {
if (!phostname) {
@@ -358,14 +558,26 @@
* being a server listening at all, which is why we have to not retry
* too many times).
*/
+#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
+ fprintf(stderr, "_X11TransConnectDisplay: Entering connection loop.\n");
+#endif
for(retry=X_CONNECTION_RETRIES; retry>=0; retry-- )
{
+#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
+ fprintf(stderr, "_X11TransConnectDisplay: Going to call _X11TransOpenCOTSClient(address) with address [%s].\n", address);
+#endif
if ( (trans_conn = _X11TransOpenCOTSClient(address)) == NULL )
{
break;
}
+#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
+ fprintf(stderr, "_X11TransConnectDisplay: Going to call _X11TransConnect(trans_conn,address).\n");
+#endif
if ((connect_stat = _X11TransConnect(trans_conn,address)) < 0 )
{
+#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
+ fprintf(stderr, "_X11TransConnectDisplay: Going to call _X11TransClose(trans_conn).\n");
+#endif
_X11TransClose(trans_conn);
trans_conn = NULL;
@@ -378,6 +590,9 @@
break;
}
+#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
+ fprintf(stderr, "_X11TransConnectDisplay: Going to call _X11TransGetPeerAddr(trans_conn, &family, &saddrlen, &saddr).\n");
+#endif
_X11TransGetPeerAddr(trans_conn, &family, &saddrlen, &saddr);
/*
@@ -386,6 +601,9 @@
* X protocol (ie FamilyInternet).
*/
+#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
+ fprintf(stderr, "_X11TransConnectDisplay: Going to call _X11TransConvertAddress(&family, &saddrlen, &saddr).\n");
+#endif
if( _X11TransConvertAddress(&family, &saddrlen, &saddr) < 0 )
{
_X11TransClose(trans_conn);
@@ -402,6 +620,9 @@
break;
}
+#if defined(NX_TRANS_SOCKET) && defined(NX_TRANS_TEST)
+ fprintf(stderr, "_X11TransConnectDisplay: Out of connection loop.\n");
+#endif
if (address != addrbuf) Xfree (address);
address = addrbuf;
@@ -570,6 +791,17 @@
if (len != 0)
return -1;
+#ifdef NX_TRANS_SOCKET
+ if (_NXDisplayWriteFunction != NULL) {
+ (*_NXDisplayWriteFunction)(dpy, len);
+ }
+#ifdef NX_TRANS_CHANGE
+ if (_NXDisplayCongestionFunction != NULL &&
+ _X11TransSocketCongestionChange(dpy->trans_conn, &congestion) == 1) {
+ (*_NXDisplayCongestionFunction)(dpy, congestion);
+ }
+#endif
+#endif
#ifdef K5AUTH
if (auth_length == 14 &&

Some files were not shown because too many files have changed in this diff Show More