<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cmv</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cmv"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/Cmv"/>
	<updated>2026-05-15T16:26:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VPN_Plugins&amp;diff=19245</id>
		<title>VPN Plugins</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VPN_Plugins&amp;diff=19245"/>
		<updated>2011-09-29T00:14:26Z</updated>

		<summary type="html">&lt;p&gt;Cmv: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As of 3.0.2, VPN plugins are stored in:&lt;br /&gt;
&lt;br /&gt;
* /usr/lib/vpn/agents (VPNC and Cisco AnyConnect that ship with the device)&lt;br /&gt;
* /media/cryptofs/apps/usr/palm/vpnframework/agents (extra such as the PPTP plugin in the App Catalog)&lt;br /&gt;
&lt;br /&gt;
They have the following structure (VPNC used as an example):&lt;br /&gt;
&lt;br /&gt;
* /usr/lib/vpn/agents/vpnc/ (root directory)&lt;br /&gt;
** [[#vpn-plugin-info.json|vpn-plugin-info.json]]&lt;br /&gt;
** [[#library|library]] (e.g. libVpncAgent.so)&lt;br /&gt;
** other ancillary files (callback scripts, etc)&lt;br /&gt;
** plugins/ (does NOT seem to be necessary - VPNC plugin does not have this directory)&lt;br /&gt;
*** plugin files (apparently only as necessary by the plugin library)&lt;br /&gt;
&lt;br /&gt;
== vpn-plugin-info.json ==&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;title&amp;quot;: &amp;quot;VPNC&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;com.palm.vpnc&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;0.5.1&amp;quot;,&lt;br /&gt;
  &amp;quot;vendor&amp;quot;: &amp;quot;Palm, Inc.&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&amp;quot;IPSec&amp;quot;],&lt;br /&gt;
  &amp;quot;plugin&amp;quot;: &amp;quot;libVpncAgent.so&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Library ==&lt;br /&gt;
&lt;br /&gt;
From objdump, it looks like the only symbols in common between every plugin are:&lt;br /&gt;
&lt;br /&gt;
 initVpnAgent&lt;br /&gt;
 cleanupVpnAgent&lt;br /&gt;
 bannerSent&lt;br /&gt;
 gLocalizedStrList&lt;br /&gt;
&lt;br /&gt;
In addition to the expected symbols from GCC. And that's it. Signatures for these functions do not seem to be documented anywhere, and I suspect gLocalizedStrList is just an array which may not be required by [[PmVpnDaemon]]. No idea about bannerSent.&lt;br /&gt;
&lt;br /&gt;
There are also calls to apparently-undocumented functions such as PmLogGetContext and PmLogPrint_. The VPNC and PPTP plugins link to:&lt;br /&gt;
&lt;br /&gt;
 root@HPTouchPad:/usr/lib/vpn/agents/vpnc# ldd libVpncAgent.so&lt;br /&gt;
        /usr/lib/libgoodabort.so (0x2aac1000)&lt;br /&gt;
        /usr/lib/libmemcpy.so (0x2aaca000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x2aadb000)&lt;br /&gt;
        libglib-2.0.so.0 =&amp;gt; /usr/lib/libglib-2.0.so.0 (0x2aafb000)&lt;br /&gt;
        libcjson.so =&amp;gt; /usr/lib/libcjson.so (0x2abdb000)&lt;br /&gt;
        libgcc_s.so.1 =&amp;gt; /lib/libgcc_s.so.1 (0x2abe9000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x2abfc000)&lt;br /&gt;
        /lib/ld-linux.so.3 (0x54aaa000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0x2ad3c000)&lt;br /&gt;
&lt;br /&gt;
and the AnyConnect plugin links to:&lt;br /&gt;
&lt;br /&gt;
 root@HPTouchPad:/usr/lib/vpn/agents/ciscoanyconnect# ldd libVpnAcAgent.so&lt;br /&gt;
        /usr/lib/libgoodabort.so (0x2abf8000)&lt;br /&gt;
        /usr/lib/libmemcpy.so (0x2ac01000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x2ac12000)&lt;br /&gt;
        libglib-2.0.so.0 =&amp;gt; /usr/lib/libglib-2.0.so.0 (0x2ac32000)&lt;br /&gt;
        libxml2.so.2 =&amp;gt; /usr/lib/libxml2.so.2 (0x2ad12000)&lt;br /&gt;
        libcurl.so.4 =&amp;gt; /usr/lib/libcurl.so.4 (0x2ae32000)&lt;br /&gt;
        libz.so.1 =&amp;gt; /usr/lib/libz.so.1 (0x2ae83000)&lt;br /&gt;
        libssl.so.0.9.8 =&amp;gt; /usr/lib/libssl.so.0.9.8 (0x2ae9f000)&lt;br /&gt;
        libcrypto.so.0.9.8 =&amp;gt; /usr/lib/libcrypto.so.0.9.8 (0x2aee5000)&lt;br /&gt;
        libcjson.so =&amp;gt; /usr/lib/libcjson.so (0x2b028000)&lt;br /&gt;
        libgcc_s.so.1 =&amp;gt; /lib/libgcc_s.so.1 (0x2b036000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x2b049000)&lt;br /&gt;
        /lib/ld-linux.so.3 (0x54aaa000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0x2b189000)&lt;br /&gt;
        libdl.so.2 =&amp;gt; /lib/libdl.so.2 (0x2b199000)&lt;br /&gt;
        libm.so.6 =&amp;gt; /lib/libm.so.6 (0x2b1a6000)&lt;br /&gt;
        libWebOsProxy.so =&amp;gt; /usr/lib/libWebOsProxy.so (0x2b21f000)&lt;br /&gt;
        libcares.so.2 =&amp;gt; /usr/lib/libcares.so.2 (0x2b22b000)&lt;br /&gt;
        libpbnjson_cpp.so =&amp;gt; /usr/lib/libpbnjson_cpp.so (0x2b240000)&lt;br /&gt;
        libglibmm-2.4.so.1 =&amp;gt; /usr/lib/libglibmm-2.4.so.1 (0x2b25a000)&lt;br /&gt;
        libpbnjson_c.so =&amp;gt; /usr/lib/libpbnjson_c.so (0x2b2a5000)&lt;br /&gt;
        libyajl.so.1 =&amp;gt; /usr/lib/libyajl.so.1 (0x2b2bf000)&lt;br /&gt;
        libstdc++.so.6 =&amp;gt; /usr/lib/libstdc++.so.6 (0x2b2cd000)&lt;br /&gt;
        libsigc-2.0.so.0 =&amp;gt; /usr/lib/libsigc-2.0.so.0 (0x2b3a6000)&lt;br /&gt;
        libgobject-2.0.so.0 =&amp;gt; /usr/lib/libgobject-2.0.so.0 (0x2b3b2000)&lt;br /&gt;
        libgmodule-2.0.so.0 =&amp;gt; /usr/lib/libgmodule-2.0.so.0 (0x2b3f6000)&lt;br /&gt;
&lt;br /&gt;
So I'm not sure where those functions reside.&lt;/div&gt;</summary>
		<author><name>Cmv</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=19187</id>
		<title>Portal:Research</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=19187"/>
		<updated>2011-09-26T19:10:31Z</updated>

		<summary type="html">&lt;p&gt;Cmv: Added VPN plugin link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{portal-header|&lt;br /&gt;
The Research Portal is for bleeding edge things being done with the device. &lt;br /&gt;
&lt;br /&gt;
Title all pages: '''Research [description]''' or '''Reference [description]'''&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
===Research:===&lt;br /&gt;
&lt;br /&gt;
* [[Android under webOS on Touchpad]]&lt;br /&gt;
* [[Applications Bundled on the Pre]]&lt;br /&gt;
* [[Application_Framework|Application Framework]]&lt;br /&gt;
* [[Application Signing|Application Signing]]&lt;br /&gt;
* [[Blocking Updates]]&lt;br /&gt;
* [[New Bluetooth|BlueZ (Replacing Palm Bluetooth)]]&lt;br /&gt;
* [[Bluetooth Network Connection]]&lt;br /&gt;
* [[Boot_Chain|Boot Chain]]&lt;br /&gt;
* [[Bootie]]&lt;br /&gt;
* [[Carrier Configuration]]&lt;br /&gt;
* [[ClassicFilesystem]]&lt;br /&gt;
* [[Decrypt SSL (trusted man-in-the-middle technique)|Decrypt SSL (trusted man-in-the-middle technique)]]&lt;br /&gt;
* [[Easter Eggs|Easter Eggs]]&lt;br /&gt;
* [[FirstUse Application Functionality]]&lt;br /&gt;
* [[Fonts available on board the Pre]]&lt;br /&gt;
* [[Gstreamer]]&lt;br /&gt;
* [[Hidd]]&lt;br /&gt;
* [[Intercept_SSL_Traffic]]&lt;br /&gt;
* [[Introspecting_Dbus|Introspecting Dbus]]&lt;br /&gt;
* [[Key Codes|Key Codes]] &lt;br /&gt;
* [[Media API|Media API]]&lt;br /&gt;
* [[Mounting Files and Devices as USB Mass Storage]]&lt;br /&gt;
* [[Network Management|Network Management]]&lt;br /&gt;
* [[Advanced Wifi|Advanced Wireless LAN]]&lt;br /&gt;
* [[OmaDm|OmaDm research]]&lt;br /&gt;
* [[OpenGL|OpenGL research]]&lt;br /&gt;
* [[OpenGL_Triangle_of_Doom|OpenGL coding and demo Triangle of Doom]]&lt;br /&gt;
* [[Pre Specific Hash Codes|Pre Specific Hash Codes]]&lt;br /&gt;
* [[Research_Pre_Keyboard | Pre keyboard scancodes and keycodes]]&lt;br /&gt;
* [[Palm_Profile_Interactions]]&lt;br /&gt;
* [[Proximity Sensor]] &lt;br /&gt;
* [[Pictures from Self-Test|Pictures from Self-Test]] &lt;br /&gt;
* [[PmIpcDispatch|PmIpcDispatch to talk to palm IPC servers]]&lt;br /&gt;
* [[Restore Debug Log|Restore Debug Log]] &lt;br /&gt;
* [[Reverse_Engineering_WebOS_Doctor|Reverse Engineering WebOS Doctor]]&lt;br /&gt;
* [[Rooted Pre Issues|Rooted Pre Issues]] &lt;br /&gt;
* [[Research_Securing_Pre|Securing your Pre]]&lt;br /&gt;
* [[Running Processes|Running Processes]] &lt;br /&gt;
* [[Symlink Applications|Symlink Applications]] &lt;br /&gt;
* [[System Sounds|System Sounds]] &lt;br /&gt;
* [[TestApps|TestApps]] &lt;br /&gt;
* [[Facebook timezone issue|The annoying Facebook timezone issue]]&lt;br /&gt;
* [[Update Service Trace|Update Service Trace]] &lt;br /&gt;
* [[USB Host Mode|USB Host Mode]]&lt;br /&gt;
* [[Tidbits|Tidbits]] &lt;br /&gt;
* [[VideoRecording]]&lt;br /&gt;
* [[WebOS Exploration - Various Information|WebOS Exploration - Various Information]] &lt;br /&gt;
* [[Research_Pre_GSM_Modem | Pre GSM modem device informations]]&lt;br /&gt;
* [[Research_Pre_GSM_Modem_Protocol | Pre GSM modem protocol informations]]&lt;br /&gt;
* [[Research_Pre_Audio | Audio routing and setup on the Pre]]&lt;br /&gt;
* [[Research_mpt | MSM modem passthru mode ]]&lt;br /&gt;
* [[Research_Pre_Boot_Process | Boot process]]&lt;br /&gt;
* [[LibSDL Research| SDL LibSDL research which lead to Quake and Doom running]]&lt;br /&gt;
* [[LibPDL Research| PDL LibPDL research ties into palm's device hooks]]&lt;br /&gt;
* [[Unofficial networks compatiblity list]]&lt;br /&gt;
* [[Research_kernel_Tuning | Research [kernel tuning]]]&lt;br /&gt;
* [[Touchscreen]]&lt;br /&gt;
* [[Java Support in webOS]]&lt;br /&gt;
* [[Chrooting | Methods of chrooting in webOS]]&lt;br /&gt;
* [[Touchpad Bluetooth Keyboard]]&lt;br /&gt;
* [[VPN Plugins]]&lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
===Reference===&lt;br /&gt;
* [[Packaging Standards|Packaging Standards]]&lt;br /&gt;
* [[webkit_transform|Webkit Transform]]- a powerful set of commands for manipulating elements.&lt;br /&gt;
* [http://www.mobileforensicsworld.org/2010/presentations/MFW10_JHU_PalmPrePhoneForensics.pdf webOS Forensics Using the Palm Pre Plus] : a lot of useful informations on webOS.&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cmv</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VPN_Plugins&amp;diff=19165</id>
		<title>VPN Plugins</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VPN_Plugins&amp;diff=19165"/>
		<updated>2011-09-26T00:53:46Z</updated>

		<summary type="html">&lt;p&gt;Cmv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As of 3.0.2, VPN plugins are stored in:&lt;br /&gt;
&lt;br /&gt;
/usr/lib/vpn/agents (VPNC and Cisco AnyConnect that ship with the device)&lt;br /&gt;
/media/cryptofs/apps/usr/palm/vpnframework/agents (extra such as the PPTP plugin in the App Catalog)&lt;br /&gt;
&lt;br /&gt;
They have the following structure (VPNC used as an example):&lt;br /&gt;
&lt;br /&gt;
* /usr/lib/vpn/agents/vpnc/ (root directory)&lt;br /&gt;
** [[#vpn-plugin-info.json|vpn-plugin-info.json]]&lt;br /&gt;
** [[#library|library]] (e.g. libVpncAgent.so)&lt;br /&gt;
** other ancillary files (callback scripts, etc)&lt;br /&gt;
** plugins/ (does NOT seem to be necessary - VPNC plugin does not have this directory)&lt;br /&gt;
*** plugin files (apparently only as necessary by the plugin library)&lt;br /&gt;
&lt;br /&gt;
== vpn-plugin-info.json ==&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;title&amp;quot;: &amp;quot;VPNC&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;com.palm.vpnc&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;0.5.1&amp;quot;,&lt;br /&gt;
  &amp;quot;vendor&amp;quot;: &amp;quot;Palm, Inc.&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&amp;quot;IPSec&amp;quot;],&lt;br /&gt;
  &amp;quot;plugin&amp;quot;: &amp;quot;libVpncAgent.so&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Library ==&lt;br /&gt;
&lt;br /&gt;
From objdump, it looks like the only symbols in common between every plugin are:&lt;br /&gt;
&lt;br /&gt;
 initVpnAgent&lt;br /&gt;
 cleanupVpnAgent&lt;br /&gt;
 bannerSent&lt;br /&gt;
 gLocalizedStrList&lt;br /&gt;
&lt;br /&gt;
In addition to the expected symbols from GCC. And that's it. Signatures for these functions do not seem to be documented anywhere, and I suspect gLocalizedStrList is just an array which may not be required by [[PmVpnDaemon]]. No idea about bannerSent.&lt;br /&gt;
&lt;br /&gt;
There are also calls to apparently-undocumented functions such as PmLogGetContext and PmLogPrint_. The VPNC and PPTP plugins link to:&lt;br /&gt;
&lt;br /&gt;
 root@HPTouchPad:/usr/lib/vpn/agents/vpnc# ldd libVpncAgent.so&lt;br /&gt;
        /usr/lib/libgoodabort.so (0x2aac1000)&lt;br /&gt;
        /usr/lib/libmemcpy.so (0x2aaca000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x2aadb000)&lt;br /&gt;
        libglib-2.0.so.0 =&amp;gt; /usr/lib/libglib-2.0.so.0 (0x2aafb000)&lt;br /&gt;
        libcjson.so =&amp;gt; /usr/lib/libcjson.so (0x2abdb000)&lt;br /&gt;
        libgcc_s.so.1 =&amp;gt; /lib/libgcc_s.so.1 (0x2abe9000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x2abfc000)&lt;br /&gt;
        /lib/ld-linux.so.3 (0x54aaa000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0x2ad3c000)&lt;br /&gt;
&lt;br /&gt;
and the AnyConnect plugin links to:&lt;br /&gt;
&lt;br /&gt;
 root@HPTouchPad:/usr/lib/vpn/agents/ciscoanyconnect# ldd libVpnAcAgent.so&lt;br /&gt;
        /usr/lib/libgoodabort.so (0x2abf8000)&lt;br /&gt;
        /usr/lib/libmemcpy.so (0x2ac01000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x2ac12000)&lt;br /&gt;
        libglib-2.0.so.0 =&amp;gt; /usr/lib/libglib-2.0.so.0 (0x2ac32000)&lt;br /&gt;
        libxml2.so.2 =&amp;gt; /usr/lib/libxml2.so.2 (0x2ad12000)&lt;br /&gt;
        libcurl.so.4 =&amp;gt; /usr/lib/libcurl.so.4 (0x2ae32000)&lt;br /&gt;
        libz.so.1 =&amp;gt; /usr/lib/libz.so.1 (0x2ae83000)&lt;br /&gt;
        libssl.so.0.9.8 =&amp;gt; /usr/lib/libssl.so.0.9.8 (0x2ae9f000)&lt;br /&gt;
        libcrypto.so.0.9.8 =&amp;gt; /usr/lib/libcrypto.so.0.9.8 (0x2aee5000)&lt;br /&gt;
        libcjson.so =&amp;gt; /usr/lib/libcjson.so (0x2b028000)&lt;br /&gt;
        libgcc_s.so.1 =&amp;gt; /lib/libgcc_s.so.1 (0x2b036000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x2b049000)&lt;br /&gt;
        /lib/ld-linux.so.3 (0x54aaa000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0x2b189000)&lt;br /&gt;
        libdl.so.2 =&amp;gt; /lib/libdl.so.2 (0x2b199000)&lt;br /&gt;
        libm.so.6 =&amp;gt; /lib/libm.so.6 (0x2b1a6000)&lt;br /&gt;
        libWebOsProxy.so =&amp;gt; /usr/lib/libWebOsProxy.so (0x2b21f000)&lt;br /&gt;
        libcares.so.2 =&amp;gt; /usr/lib/libcares.so.2 (0x2b22b000)&lt;br /&gt;
        libpbnjson_cpp.so =&amp;gt; /usr/lib/libpbnjson_cpp.so (0x2b240000)&lt;br /&gt;
        libglibmm-2.4.so.1 =&amp;gt; /usr/lib/libglibmm-2.4.so.1 (0x2b25a000)&lt;br /&gt;
        libpbnjson_c.so =&amp;gt; /usr/lib/libpbnjson_c.so (0x2b2a5000)&lt;br /&gt;
        libyajl.so.1 =&amp;gt; /usr/lib/libyajl.so.1 (0x2b2bf000)&lt;br /&gt;
        libstdc++.so.6 =&amp;gt; /usr/lib/libstdc++.so.6 (0x2b2cd000)&lt;br /&gt;
        libsigc-2.0.so.0 =&amp;gt; /usr/lib/libsigc-2.0.so.0 (0x2b3a6000)&lt;br /&gt;
        libgobject-2.0.so.0 =&amp;gt; /usr/lib/libgobject-2.0.so.0 (0x2b3b2000)&lt;br /&gt;
        libgmodule-2.0.so.0 =&amp;gt; /usr/lib/libgmodule-2.0.so.0 (0x2b3f6000)&lt;br /&gt;
&lt;br /&gt;
So I'm not sure where those functions reside.&lt;/div&gt;</summary>
		<author><name>Cmv</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VPN_Plugins&amp;diff=19163</id>
		<title>VPN Plugins</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VPN_Plugins&amp;diff=19163"/>
		<updated>2011-09-26T00:51:09Z</updated>

		<summary type="html">&lt;p&gt;Cmv: created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As of 3.0.2, VPN plugins are stored in:&lt;br /&gt;
&lt;br /&gt;
/usr/lib/vpn/agents (VPNC and Cisco AnyConnect that ship with the device)&lt;br /&gt;
/media/cryptofs/apps/usr/palm/vpnframework/agents (extra such as the PPTP plugin in the App Catalog)&lt;br /&gt;
&lt;br /&gt;
They have the following structure (VPNC used as an example):&lt;br /&gt;
&lt;br /&gt;
* /usr/lib/vpn/agents/vpnc/ (root directory)&lt;br /&gt;
** [[#vpn-plugin-info.json|vpn-plugin-info.json]]&lt;br /&gt;
** [[#library|library]] (e.g. libVpncAgent.so)&lt;br /&gt;
** other ancillary files (callback scripts, etc)&lt;br /&gt;
** plugins/ (does NOT seem to be necessary - VPNC plugin does not have this directory)&lt;br /&gt;
*** plugin files (apparently only as necessary by the plugin library)&lt;br /&gt;
&lt;br /&gt;
== vpn-plugin-info.json ==&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;title&amp;quot;: &amp;quot;VPNC&amp;quot;,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;com.palm.vpnc&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;0.5.1&amp;quot;,&lt;br /&gt;
  &amp;quot;vendor&amp;quot;: &amp;quot;Palm, Inc.&amp;quot;,&lt;br /&gt;
  &amp;quot;type&amp;quot;: [&amp;quot;IPSec&amp;quot;],&lt;br /&gt;
  &amp;quot;plugin&amp;quot;: &amp;quot;libVpncAgent.so&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Library ==&lt;br /&gt;
&lt;br /&gt;
From objdump, it looks like the only symbols in common between every plugin are:&lt;br /&gt;
&lt;br /&gt;
 initVpnAgent&lt;br /&gt;
 cleanupVpnAgent&lt;br /&gt;
 bannerSent&lt;br /&gt;
 gLocalizedStrList&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In addition to the expected symbols from GCC. And that's it. Signatures for these functions do not seem to be documented anywhere, and I suspect gLocalizedStrList is just an array which may not be required by PmVpnDaemon. No idea about bannerSent.&lt;br /&gt;
&lt;br /&gt;
There are also calls to apparently-undocumented functions such as PmLogGetContext and PmLogPrint_. The VPNC and PPTP plugins link to:&lt;br /&gt;
&lt;br /&gt;
 root@HPTouchPad:/usr/lib/vpn/agents/vpnc# ldd libVpncAgent.so&lt;br /&gt;
        /usr/lib/libgoodabort.so (0x2aac1000)&lt;br /&gt;
        /usr/lib/libmemcpy.so (0x2aaca000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x2aadb000)&lt;br /&gt;
        libglib-2.0.so.0 =&amp;gt; /usr/lib/libglib-2.0.so.0 (0x2aafb000)&lt;br /&gt;
        libcjson.so =&amp;gt; /usr/lib/libcjson.so (0x2abdb000)&lt;br /&gt;
        libgcc_s.so.1 =&amp;gt; /lib/libgcc_s.so.1 (0x2abe9000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x2abfc000)&lt;br /&gt;
        /lib/ld-linux.so.3 (0x54aaa000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0x2ad3c000)&lt;br /&gt;
&lt;br /&gt;
and the AnyConnect plugin links to:&lt;br /&gt;
&lt;br /&gt;
 root@HPTouchPad:/usr/lib/vpn/agents/ciscoanyconnect# ldd libVpnAcAgent.so&lt;br /&gt;
        /usr/lib/libgoodabort.so (0x2abf8000)&lt;br /&gt;
        /usr/lib/libmemcpy.so (0x2ac01000)&lt;br /&gt;
        libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0x2ac12000)&lt;br /&gt;
        libglib-2.0.so.0 =&amp;gt; /usr/lib/libglib-2.0.so.0 (0x2ac32000)&lt;br /&gt;
        libxml2.so.2 =&amp;gt; /usr/lib/libxml2.so.2 (0x2ad12000)&lt;br /&gt;
        libcurl.so.4 =&amp;gt; /usr/lib/libcurl.so.4 (0x2ae32000)&lt;br /&gt;
        libz.so.1 =&amp;gt; /usr/lib/libz.so.1 (0x2ae83000)&lt;br /&gt;
        libssl.so.0.9.8 =&amp;gt; /usr/lib/libssl.so.0.9.8 (0x2ae9f000)&lt;br /&gt;
        libcrypto.so.0.9.8 =&amp;gt; /usr/lib/libcrypto.so.0.9.8 (0x2aee5000)&lt;br /&gt;
        libcjson.so =&amp;gt; /usr/lib/libcjson.so (0x2b028000)&lt;br /&gt;
        libgcc_s.so.1 =&amp;gt; /lib/libgcc_s.so.1 (0x2b036000)&lt;br /&gt;
        libc.so.6 =&amp;gt; /lib/libc.so.6 (0x2b049000)&lt;br /&gt;
        /lib/ld-linux.so.3 (0x54aaa000)&lt;br /&gt;
        librt.so.1 =&amp;gt; /lib/librt.so.1 (0x2b189000)&lt;br /&gt;
        libdl.so.2 =&amp;gt; /lib/libdl.so.2 (0x2b199000)&lt;br /&gt;
        libm.so.6 =&amp;gt; /lib/libm.so.6 (0x2b1a6000)&lt;br /&gt;
        libWebOsProxy.so =&amp;gt; /usr/lib/libWebOsProxy.so (0x2b21f000)&lt;br /&gt;
        libcares.so.2 =&amp;gt; /usr/lib/libcares.so.2 (0x2b22b000)&lt;br /&gt;
        libpbnjson_cpp.so =&amp;gt; /usr/lib/libpbnjson_cpp.so (0x2b240000)&lt;br /&gt;
        libglibmm-2.4.so.1 =&amp;gt; /usr/lib/libglibmm-2.4.so.1 (0x2b25a000)&lt;br /&gt;
        libpbnjson_c.so =&amp;gt; /usr/lib/libpbnjson_c.so (0x2b2a5000)&lt;br /&gt;
        libyajl.so.1 =&amp;gt; /usr/lib/libyajl.so.1 (0x2b2bf000)&lt;br /&gt;
        libstdc++.so.6 =&amp;gt; /usr/lib/libstdc++.so.6 (0x2b2cd000)&lt;br /&gt;
        libsigc-2.0.so.0 =&amp;gt; /usr/lib/libsigc-2.0.so.0 (0x2b3a6000)&lt;br /&gt;
        libgobject-2.0.so.0 =&amp;gt; /usr/lib/libgobject-2.0.so.0 (0x2b3b2000)&lt;br /&gt;
        libgmodule-2.0.so.0 =&amp;gt; /usr/lib/libgmodule-2.0.so.0 (0x2b3f6000)&lt;br /&gt;
&lt;br /&gt;
So I'm not sure where those functions reside.&lt;/div&gt;</summary>
		<author><name>Cmv</name></author>
	</entry>
</feed>