Some ideas on porting ActiveX to linux/mac

70 views
Skip to first unread message

QiuChuan

unread,
Apr 5, 2012, 10:09:24 PM4/5/12
to non-ie-online-.
Hi, all
I've just got an idea on how to port ActiveX to linux/mac.
First, we need to host the ActiveX plugin with wine. It also builds a IPC channel(possibly a TCP socket on localhost or a file under /var..) to communicate with the linux-native plugin. Another native linux .so plugin runs directly under Chrome. They use this IPC channel to communicate with each other. We may need to create a separate window to display the controls because it may be difficult to embed a window of wine in an X window.
The way IPC channel used can be found in the source of Chrome because it uses a similar IPC to swap information between processes.

However, I'm not sure how wine works on mac. And it depends on wine to load the controls. Now I'm busy with my own affairs, so this plan, if no one could help me on this, would put off to long time later. 

--
Best regards,
裘川(Chuan Qiu)

School of Computer Science,
Fudan University
E-mail:    qiu...@gmail.com
Address:    Fudan University, 220 Handan Road, Shanghai 200433, P.R. China

Qian Hong

unread,
Apr 5, 2012, 10:31:30 PM4/5/12
to non-ie-onl...@googlegroups.com
Hi Chuan,

On Fri, Apr 6, 2012 at 10:09 AM, QiuChuan <qiu...@gmail.com> wrote:
> Hi, all
> I've just got an idea on how to port ActiveX to linux/mac.
> First, we need to host the ActiveX plugin with wine. It also builds a IPC
> channel(possibly a TCP socket on localhost or a file under /var..) to
> communicate with the linux-native plugin. Another native linux .so plugin
> runs directly under Chrome. They use this IPC channel to communicate with
> each other. We may need to create a separate window to display the controls
> because it may be difficult to embed a window of wine in an X window.
> The way IPC channel used can be found in the source of Chrome because it
> uses a similar IPC to swap information between processes.
>
> However, I'm not sure how wine works on mac. And it depends on wine to load
> the controls. Now I'm busy with my own affairs, so this plan, if no one
> could help me on this, would put off to long time later.


Yeah, I agree that's a good idea, and that is what CrossOver Plugin does. I
used to write an introduction regarding CrossOver Plugin, have you read my past
post? Here it is:

Introduction to CrossOver Plugin: Load a Win32 plugin with native Linux Browser
https://groups.google.com/forum/?fromgroups#!topic/non-ie-online-banking/-pq6hCvbNc8

However, CrossOver Plugin is not open source. It's a pity if we have to
re-inventory a wheel. Also, Jacek Caban, developer of CrossOver, tell me
some kind of online bank can not be support in this technique at all. I forward
his mail here:
--- snip ---
I can see that you put a lot of hope in CrossOver Plugin and npactivex. While I
can see that it would be a cool solution, sadly it just can't work good enough.
To give you an example, I've been lately looking at the page of Bank Of China
(www.boc.cn). It uses ActiveX control for safe login, but it's problematic also
for other reasons. The ActiveX control is used by script which is an encoded
JScript. This is another IE-only technology. I've implemented it and it's in
Wine Git now, but no other browser supports (nor intent to support) it. That
makes Wine IE the only browser other than MSIE that can even try to support
that page. npactivex is no help here since the page will fail before even
trying to use it.
--- snip ---

If you still have interest in this kind of solution, please let me know an I'll
send you a copy of CrossOver Nightly Build. Codeweavers gave me the permission
to share CrossOver Nightly Build to others.

Also, maybe we could make a last try to ask Codeweavers open source there
CrossOver Plugin.


--
Regards,
Qian Hong

-
Sent from Ubuntu
http://www.ubuntu.com/

QiuChuan

unread,
Apr 5, 2012, 11:24:13 PM4/5/12
to non-ie-onl...@googlegroups.com
I guess nspluginwrapper is a good point to start with. It has done the RPC functions of NPAPI, all we need to do is to initiate the player with wine(or crossover), and use other way to display the controls(in a native windows window).

Ma Xiaojun

unread,
Apr 6, 2012, 1:00:49 AM4/6/12
to non-ie-onl...@googlegroups.com
You may call "a file under /var.." Unix domain socket
http://en.wikipedia.org/wiki/Unix_domain_socket

Qian Hong

unread,
Apr 6, 2012, 1:29:51 AM4/6/12
to non-ie-onl...@googlegroups.com
Chuan, I just checkouted the source code of nspluginwrapper, and, to my
surprised, I saw such lines in the TODO file:
--- snip ---
- Windows plugins support
* Import minimal GLib functions (hashes, etc.)
* Split toolkit specific code (npw-viewer-{x11,gtk,win}.c)
* Use winelib + override win32 socket to support AF_UNIX (Linux "native")
--- snip ---

On Fri, Apr 6, 2012 at 11:24 AM, QiuChuan <qiu...@gmail.com> wrote:
> I guess nspluginwrapper is a good point to start with. It has done the RPC
> functions of NPAPI, all we need to do is to initiate the player with wine(or
> crossover), and use other way to display the controls(in a native windows
> window).

--

Ma Xiaojun

unread,
Apr 6, 2012, 2:00:05 AM4/6/12
to non-ie-onl...@googlegroups.com

Qian Hong

unread,
Apr 22, 2012, 12:06:48 PM4/22/12
to non-ie-onl...@googlegroups.com
Hi all,


I asked the nspluginwrapper developers about the progress of win32
support, it seems no one is working at this area.

http://answerpot.com/showthread.php?3481377-How+is+the+progress+of+nspluginwrapper+win32+support%3F


On Fri, Apr 6, 2012 at 2:00 PM, Ma Xiaojun <damag...@gmail.com> wrote:
> AF_UNIX is UNIX domain socket~
> http://www.kernel.org/doc/man-pages/online/pages/man7/unix.7.html
>
Reply all
Reply to author
Forward
0 new messages