[Bug 856993] [NEW] NP_GetMIMEDescription returns NULL in x86_64 instrumented Citrix ICA client npwrapper.npica.so
JVD
856993 at bugs.launchpad.net
Fri Sep 23 02:41:52 UTC 2011
Public bug reported:
The Citrix ICA client firefox plugin 32-bit i386 npica.so fails to be instrumented correctly by nspluginwrapper - the generated npwrapper.npica.so's
const char* NP_GetMIMEDescription() function returns NULL, while the original i386 npica.so's version does not:
$ cat chkNPWnpica.c
#include <sys/types.h>
#include <unistd.h>
#include <dlfcn.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv, char **envp)
{
void *dlh = dlopen("/usr/OOO/ICAClient/npica.so", RTLD_GLOBAL | RTLD_NOW );
if(dlh == 0)
{
printf("dlopen failed: %d\n",errno);
exit(1);
}
const char* (*npGetPluginVersion)() =
(const char* (*)()) dlsym(dlh, "NP_GetPluginVersion");
if( npGetPluginVersion == 0 )
{
printf("No plugin version\n");
}
const char* (*npGetMIMEDescription)() =
(const char* (*)()) dlsym(dlh, "NP_GetMIMEDescription");
if( npGetMIMEDescription == 0 )
printf("No MIME description\n");
else
printf("Got NP_GetMIMEDescription: %p\n", npGetMIMEDescription);
const char* mime_descr = npGetMIMEDescription();
printf("Got MIME description: %s\n",mime_descr);
void *npGetValue = dlsym(dlh, "NP_GetValue");
if( npGetValue == 0 )
printf("No NP_GetValue");
else
printf("Got NP_GetValue: %p\n", npGetValue);
return 0;
}
$ gcc -o chkNPWnpica chkNPWnpica.c -ldl && ./chkNPWnpica
No plugin version
Got NP_GetMIMEDescription: 0x7feeb9640180
Got MIME description: (null)
Got NP_GetValue: 0x7feeb963ffa0
$ cat chknpica.c
#include <sys/types.h>
#include <unistd.h>
#include <dlfcn.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv, char **envp)
{
void *dlh = dlopen("/usr/OOO/ICAClient/npica.so", RTLD_GLOBAL | RTLD_NOW );
if(dlh == 0)
{
printf("dlopen failed: %d\n",errno);
exit(1);
}
const char* (*npGetPluginVersion)() =
(const char* (*)()) dlsym(dlh, "NP_GetPluginVersion");
if( npGetPluginVersion == 0 )
{
printf("No plugin version\n");
}
const char* (*npGetMIMEDescription)() =
(const char* (*)()) dlsym(dlh, "NP_GetMIMEDescription");
if( npGetMIMEDescription == 0 )
printf("No MIME description\n");
else
printf("Got NP_GetMIMEDescription: %p\n", npGetMIMEDescription);
const char* mime_descr = npGetMIMEDescription();
printf("Got MIME description: %s\n",mime_descr);
void *npGetValue = dlsym(dlh, "NP_GetValue");
if( npGetValue == 0 )
printf("No NP_GetValue");
else
printf("Got NP_GetValue: %p\n", npGetValue);
return 0;
}
$ gcc -m32 -o chknpica chknpica.c -ldl && ./chknpica
No plugin version
Got NP_GetMIMEDescription: 0xf77a8590
Got MIME description: application/x-ica:ica:Handles ICA connections
Got NP_GetValue: 0xf77a8420
Any known fix for this ? I urgently need to be able to use Citrix ICA
in order to login to my corporate VPN .
I've built nspluginwrapper 1.2.2 from trunk and ran :
$ nspluginwrapper -i /usr/OOO/ICAClient/npica.so
to produce /usr/lib64/mozilla/plugins/npwrapper.npica.so .
** Affects: nspluginwrapper (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Mozilla
Bugs, which is subscribed to nspluginwrapper in Ubuntu.
https://bugs.launchpad.net/bugs/856993
Title:
NP_GetMIMEDescription returns NULL in x86_64 instrumented Citrix ICA
client npwrapper.npica.so
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nspluginwrapper/+bug/856993/+subscriptions
More information about the Ubuntu-mozillateam-bugs
mailing list