From 3464f88dba47fb3072a77e21cf1f2753750032af Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Wed, 1 Sep 2021 23:28:15 -0700 Subject: [PATCH] Fixed XAUTHORITY logic when loginctl is used to find display, to check to make sure xauthority token is present in default location. If not, will try to find XAUTHORITY in environment variables in one of the session processes. --- microscript/ILibDuktape_Polyfills.c | 2 +- modules/monitor-info.js | 51 +++++++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/microscript/ILibDuktape_Polyfills.c b/microscript/ILibDuktape_Polyfills.c index d5b2a12..34e40e3 100644 --- a/microscript/ILibDuktape_Polyfills.c +++ b/microscript/ILibDuktape_Polyfills.c @@ -2377,7 +2377,7 @@ void ILibDuktape_Polyfills_JS_Init(duk_context *ctx) #endif // monitor-info: Refer to modules/monitor-info.js - duk_peval_string_noresult(ctx, "addCompressedModule('monitor-info', Buffer.from('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', 'base64'), '2021-08-24T23:40:27.000-07:00');"); + duk_peval_string_noresult(ctx, "addCompressedModule('monitor-info', Buffer.from('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', 'base64'), '2021-09-01T23:21:19.000-07:00');"); // service-host. Refer to modules/service-host.js duk_peval_string_noresult(ctx, "addCompressedModule('service-host', Buffer.from('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', 'base64'));"); diff --git a/modules/monitor-info.js b/modules/monitor-info.js index bf4d178..8fb6f7b 100644 --- a/modules/monitor-info.js +++ b/modules/monitor-info.js @@ -1,4 +1,4 @@ -/* +/* Copyright 2018 Intel Corporation Licensed under the Apache License, Version 2.0 (the "License"); @@ -584,9 +584,54 @@ function monitorinfo() child.waitExit(); ret = { tty: '?', xauthority: (require('user-sessions').getHomeFolder(consoleuid) + '/.Xauthority').split('//').join('/'), display: child.stdout.str.trim(), exportEnv: exportEnv }; - return (xinfo_xdm(ret, consoleuid)); - } + if (!require('fs').existsSync(ret.xauthority)) + { + child = require('child_process').execFile('/bin/sh', ['sh']); + child.stdout.str = ''; child.stdout.on('data', function (chunk) { this.str += chunk.toString(); }); + child.stderr.str = ''; child.stderr.on('data', function (chunk) { this.str += chunk.toString(); }); + child.stdin.write('loginctl session-status ' + sids.join(' ') + " | tr '\\n' '`' | awk '{"); + child.stdin.write('len=split($0,X,"`");'); + child.stdin.write('Z="";'); + child.stdin.write('printf "[";'); + child.stdin.write('for(i=1;i<=len;++i)'); + child.stdin.write('{'); + child.stdin.write(' if(X[i]~/^.+├─/)'); + child.stdin.write(' {'); + child.stdin.write(' gsub(/^.+├─/,"",X[i]);'); + child.stdin.write(' split(X[i],VAL," ");'); + child.stdin.write(' printf "%s%s",Z,VAL[1];'); + child.stdin.write(' Z=",";'); + child.stdin.write(' }'); + child.stdin.write('}'); + child.stdin.write('printf "]";'); + child.stdin.write("}'\nexit\n"); + child.waitExit(); + var pids = null; + try + { + pids = JSON.parse(child.stdout.str); + } + catch(z) + { + } + + if (pids != null) + { + var e, i; + for (i in pids) + { + e = require('user-sessions').getEnvFromPid(pids[i]); + if (e.XAUTHORITY) + { + ret.xauthority = e.XAUTHORITY; + break; + } + } + } + } + return (xinfo_xdm(ret, consoleuid)); + } // So we're going to brute force it, by enumerating all processes owned by this user, and inspect the environment variables