NP_GetMIMEDescription returns NULL in x86_64 instrumented Citrix ICA client npwrapper.npica.so
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
nspluginwrapper (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
The Citrix ICA client firefox plugin 32-bit i386 npica.so fails to be instrumented correctly by nspluginwrapper - the generated npwrapper.
const char* NP_GetMIMEDescr
$ 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(
if(dlh == 0)
{
printf(
exit(1);
}
const char* (*npGetPluginVe
(const char* (*)()) dlsym(dlh, "NP_GetPluginVe
if( npGetPluginVersion == 0 )
{
printf("No plugin version\n");
}
const char* (*npGetMIMEDesc
(const char* (*)()) dlsym(dlh, "NP_GetMIMEDesc
if( npGetMIMEDescri
printf("No MIME description\n");
else
printf("Got NP_GetMIMEDescr
const char* mime_descr = npGetMIMEDescri
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_GetMIMEDescr
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(
if(dlh == 0)
{
printf(
exit(1);
}
const char* (*npGetPluginVe
(const char* (*)()) dlsym(dlh, "NP_GetPluginVe
if( npGetPluginVersion == 0 )
{
printf("No plugin version\n");
}
const char* (*npGetMIMEDesc
(const char* (*)()) dlsym(dlh, "NP_GetMIMEDesc
if( npGetMIMEDescri
printf("No MIME description\n");
else
printf("Got NP_GetMIMEDescr
const char* mime_descr = npGetMIMEDescri
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_GetMIMEDescr
Got MIME description: application/
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/
to produce /usr/lib64/
Citrix ICA client download URL ( for linuxx86- 11.100. 158406. tar.gz ) : /www.citrix. com/English/ ss/downloads/ details. asp?downloadId= 2309164& productId= 1689163& ntref=clientcen ter#top
https:/