From 9e3371021541dbb7d8428b419c2e77156b166f1a Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:30 +0200 Subject: Imported nxagent-3.1.0-2.tar.gz Summary: Imported nxagent-3.1.0-2.tar.gz Keywords: Imported nxagent-3.1.0-2.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Binder.c | 177 ++++++++++++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 nx-X11/programs/Xserver/hw/nxagent/Binder.c (limited to 'nx-X11/programs/Xserver/hw/nxagent/Binder.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Binder.c b/nx-X11/programs/Xserver/hw/nxagent/Binder.c new file mode 100644 index 000000000..cfea2cc77 --- /dev/null +++ b/nx-X11/programs/Xserver/hw/nxagent/Binder.c @@ -0,0 +1,177 @@ +/**************************************************************************/ +/* */ +/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* */ +/* NXAGENT, 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 NoMachine S.r.l. */ +/* */ +/* All rights reserved. */ +/* */ +/**************************************************************************/ + +#include +#include +#include +#include + +#include "NX.h" + +#include "Binder.h" +#include "Options.h" + +/* + * Set here the required log level. + */ + +#define PANIC +#define WARNING +#undef TEST +#undef DEBUG + +int nxagentCheckBinder(int argc, char *argv[], int i) +{ + if (++i < argc) + { + char *display; + char *found; + + int port; + + display = argv[i]; + + /* + * Check if a display specification follows + * the -B switch. + */ + + found = rindex(display, ':'); + + if (found == NULL || *(found + 1) == '\0' || + isdigit(*(found + 1)) == 0) + { + fprintf(stderr, "Error: Can't identify the display port in string '%s'.\n", + display); + + return 0; + } + + port = atoi(found + 1); + + #ifdef TEST + fprintf(stderr, "nxagentCheckBinder: Identified agent display port [%d].\n", + port); + #endif + + /* + * The NX options must be specified in the DISPLAY + * environment. Check if the display specified on + * the command line matches the NX virtual display. + */ + + display = getenv("DISPLAY"); + + if (display == NULL || *display == '\0') + { + fprintf(stderr, "Error: No DISPLAY environment found.\n"); + + return 0; + } + + found = rindex(display, ':'); + + if (found == NULL || *(found + 1) == '\0' || + isdigit(*(found + 1)) == 0 || atoi(found + 1) != port) + { + fprintf(stderr, "Error: The NX display doesn't match the agent display :%d.\n", + port); + + return 0; + } + + #ifdef TEST + fprintf(stderr, "nxagentCheckBinder: Identified NX display port [%d].\n", + atoi(found + 1)); + #endif + + /* + * Save the proxy options. They will be later + * used to create the transport. + */ + + nxagentChangeOption(Rootless, False); + nxagentChangeOption(Desktop, False); + nxagentChangeOption(Binder, True); + + /* + * FIXME: This now points to the buffer that was + * returned by getenv(). It is to be decided how + * to handle the values of type string in the + * Options repository. + */ + + nxagentChangeOption(BinderOptions, display); + + return 2; + } + + fprintf(stderr, "Error: No display port specified in command.\n"); + + return 0; +} + +int nxagentBinderLoop() +{ + struct timeval timeout; + + char *options = nxagentOption(BinderOptions); + + #ifdef TEST + fprintf(stderr, "nxagentBinderLoop: Creating the NX transport.\n"); + #endif + + if (NXTransCreate(NX_FD_ANY, NX_MODE_CLIENT, options) < 0) + { + #ifdef TEST + fprintf(stderr, "nxagentBinderLoop: PANIC! Error creating the NX transport.\n"); + #endif + + return -1; + } + + #ifdef TEST + fprintf(stderr, "nxagentBinderLoop: Yielding control to the NX entry point.\n"); + #endif + + while (NXTransRunning(NX_FD_ANY)) + { + #ifdef DEBUG + fprintf(stderr, "nxagentBinderLoop: Going to run a new NX proxy loop.\n"); + #endif + + timeout.tv_sec = 10; + timeout.tv_usec = 0; + + NXTransContinue(&timeout); + + #ifdef DEBUG + fprintf(stderr, "nxagentBinderLoop: Completed execution of the NX loop.\n"); + #endif + } + + #ifdef TEST + fprintf(stderr, "nxagentBinderLoop: Exiting the NX proxy binder loop.\n"); + #endif + + return 1; +} + +void nxagentBinderExit(int code) +{ + NXTransExit(code); +} -- cgit v1.2.3 From e9132da09462b3d2607a97e2f580cbd3144819eb Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:57 +0200 Subject: Imported nxagent-3.4.0-11.tar.gz Summary: Imported nxagent-3.4.0-11.tar.gz Keywords: Imported nxagent-3.4.0-11.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Binder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Binder.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Binder.c b/nx-X11/programs/Xserver/hw/nxagent/Binder.c index cfea2cc77..34433bd2b 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Binder.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Binder.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXAGENT, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ @@ -9,7 +9,7 @@ /* */ /* Check http://www.nomachine.com/licensing.html for applicability. */ /* */ -/* NX and NoMachine are trademarks of NoMachine S.r.l. */ +/* NX and NoMachine are trademarks of Medialogic S.p.A. */ /* */ /* All rights reserved. */ /* */ -- cgit v1.2.3 From 25af86cd3aaa61dc4a3d69825aa523177c2229e1 Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:57 +0200 Subject: Imported nxagent-3.4.0-16.tar.gz Summary: Imported nxagent-3.4.0-16.tar.gz Keywords: Imported nxagent-3.4.0-16.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Binder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Binder.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Binder.c b/nx-X11/programs/Xserver/hw/nxagent/Binder.c index 34433bd2b..d40aaebe6 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Binder.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Binder.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* */ /* NXAGENT, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ -- cgit v1.2.3 From d30ef0340e759378964b75e8143625ecaea245b0 Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:58 +0200 Subject: Imported nxagent-3.4.0-3.tar.gz Summary: Imported nxagent-3.4.0-3.tar.gz Keywords: Imported nxagent-3.4.0-3.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Binder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Binder.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Binder.c b/nx-X11/programs/Xserver/hw/nxagent/Binder.c index d40aaebe6..4fb5224fb 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Binder.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Binder.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */ /* */ /* NXAGENT, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ -- cgit v1.2.3 From c078024019d334eb96fbfaf922c64297c9a0c6e0 Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:59 +0200 Subject: Imported nxagent-3.4.0-5.tar.gz Summary: Imported nxagent-3.4.0-5.tar.gz Keywords: Imported nxagent-3.4.0-5.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Binder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Binder.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Binder.c b/nx-X11/programs/Xserver/hw/nxagent/Binder.c index 4fb5224fb..34433bd2b 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Binder.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Binder.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXAGENT, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ -- cgit v1.2.3 From 39b738a67a14dde67b2a811d56ac84934fcef52d Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:59:00 +0200 Subject: Imported nxagent-3.5.0-2.tar.gz Summary: Imported nxagent-3.5.0-2.tar.gz Keywords: Imported nxagent-3.5.0-2.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Binder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Binder.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Binder.c b/nx-X11/programs/Xserver/hw/nxagent/Binder.c index 34433bd2b..d40aaebe6 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Binder.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Binder.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* */ /* NXAGENT, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ -- cgit v1.2.3