diff options
author | Gerald Combs <gerald@wireshark.org> | 2010-12-16 19:52:59 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2010-12-16 19:52:59 +0000 |
commit | 654835c197d9211b32f6f04bd9bf749f957736e3 (patch) | |
tree | c26132d757942219e96ca508198000a2968bb27a /util.c | |
parent | 7412810d89f9a79b05065f72f97b18953af9811e (diff) |
Simplify our Remote Desktop session detection.
svn path=/trunk/; revision=35206
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 23 |
1 files changed, 8 insertions, 15 deletions
@@ -37,6 +37,10 @@ #include <unistd.h> #endif +#ifdef HAVE_WINDOWS_H +#include <windows.h> +#endif + #include <epan/address.h> #include <epan/addr_resolv.h> #include <epan/strutil.h> @@ -326,21 +330,10 @@ const gchar *get_conn_cfilter(void) { host_ip_af(phostname), phostname); g_free(phostname); return filter_str->str; - } else if ((env = getenv("SESSIONNAME")) != NULL) { - /* Apparently the KB article at - * http://technet2.microsoft.com/WindowsServer/en/library/6caf87bf-3d70-4801-9485-87e9ec3df0171033.mspx?mfr=true - * is incorrect. There are _plenty_ of cases where CLIENTNAME - * and SESSIONNAME are set outside of a Terminal Terver session. - * It looks like Terminal Server sets SESSIONNAME to RDP-TCP#<number> - * for "real" sessions. - * - * XXX - There's a better way to do this described at - * http://www.microsoft.com/technet/archive/termsrv/maintain/featusability/tsrvapi.mspx?mfr=true - */ - if (g_ascii_strncasecmp(env, "rdp", 3) == 0) { - g_string_printf(filter_str, "not tcp port 3389"); - return filter_str->str; - } + } else if (GetSystemMetrics(SM_REMOTESESSION)) { + /* We have a remote session: http://msdn.microsoft.com/en-us/library/aa380798%28VS.85%29.aspx */ + g_string_printf(filter_str, "not tcp port 3389"); + return filter_str->str; } return ""; } |