Re: [Passwordsafe-devel] PocketPC / Windows Mobile development
Popular easy-to-use and secure password manager
Brought to you by:
ronys
From: Steffen R. <ste...@st...> - 2007-03-06 14:55:55
|
Hi, James wrote on 18/07/2006: > Robert Altmann wrote on 17/07/2006: >> I would like to come up with a plan of attack here. I think we need to: >> >> (1) Determine our starting point. I have already started on getting >> the current code compiled with Visual Studio 2005, although there are some >> errors. Has anyone else started working on any other parts? I also started this effort in the corelib project. Currently it results in 99 compile errors (not yet committed to svn). Most problems are in PWScore.cpp, IIRC ~80 compile errors. The reason seems to be in most cases that UNICODE breaks strings conversions. AFAIK, UNICODE must be defined in all PocketPC projects, no way out... >> (2) Pick the environment; .NET 1.1 (Visual Studio 2003) or .NET 2.0 >> (Visual Studio 2005). My vote is for VS2005 and .NET 2.0; there is >> additional PocketPC emulation support and I believe the task will be easier. First, I think we should evaluate which platforms shall be supported. According to what I read in MSDN, PocketPC 2003 was the first version that shipped with .NET CF. For PocketPC 2000 & 2002, the compact framework is only an add-on that every device manufacturer must incorporate into its ROM images. I can't imagine that .NET CF is really wide-spread on these old devices, but I'm also not sure whether these devices are still so often used that they deserve pwsafe support. Personally, I need only support for PocketPC 2003 (not SE) and maybe newer. Does Sourceforge offer an opinion poll function, that we can find out whether PocketPC 2000/02 are required as well? I hope not, otherwise we need go back to embedded Visual C++ 4 which doesn't run under WinXP SP2. However, I think we should stick to .NET CF 1.x or even native C++. Native C++ promises best backwards compatibility, I suppose. >> (3) Come up with a plan and divide the tasks. I believe there are >> four significant areas: WinMobile UI; WinMobile program; C# /C++ interface; >> and install. I'm certain we can refine/improve this list, but at least we >> have a starting point. corelib (is this what you called WinMobile program?) should be kept in C++, to reduce development effort and maintain compatibility with desktop version. The WinMobile UI can be written either in C++ or .NET (C#). C# is easier, but we have to reinvent the wheel and we must deal with the hassles of a C#/ C++ interface. With C++, we can take advantage of the existing desktop implementation and take ideas from the v1.92 PPC implementation. If this C#/C++ interface is required, my proposal would be to that (in terms of the MVC pattern) the model with all the crypto and file routines is C++ and controller and view are C# Installing is done with a simple cab file, right? AFAIR, VS2005 comes with support for PPC installer projects. > Another thing to consider is how it interacts with ActiveSync. > Will it rely of just copying the .psafe3 file, or will it have it's own sync > module to merge the files. The latter would require either entering the > password on every sync (annoying), storing the password (bad), or changing > the format to allow a merge with decrypting (which I suggested before, but > was shot down) For starting, we will have to live with the simple copy mechanism, I suppose. I think the file format allows to detect changes, so an ActiveSync plugin could ask for the passphrase in these cases in perform a sync and otherwise remain silent. > As for your plan of attack, you seem to be glossing over a few > details. Is C++/MFC is option? Before we discuss the C# / C++ interface we > need to discuss the C# / C++ divide. As stated above already, I'm also more in favour of the C++/MFC approach. I will continue work on corelib, because I think that won't be affected by this discussion :-) I will send some patches soon. Cheers, Steffen |