pws
---

pws aims to be a fully compatible passwordsafe implementation. 
heart of the project is libpws, a general library for reading and 
writing passwordsafe compatible files. currently passwordsafe files 
format v2 and passwordsafe files format v3.2 are supported.

with the 1.0 release of pws libpws will be released as an independant 
project open for other developers to build new tools around it. 
however, i discourage anyone on using libpws before it is officially released. 
the interface will probably change and the library is not documented besides 
the code itself and the comments.

complete libpws documentation will be released with the 1.0 release.

the other part of the project is pws, a qt-based gui build around libpws which aims to be 
an easy to use but powerfull passwordsafe implementation.
contact

Timo Benk <benk@b1-systems.de> (corporate email)
Timo Benk <tbenk@pwsafe.de>    (project email)


requirements
------------

requirements

you will need a recent version of libgcrypt [1] to compile libpws and qt >= 4.3.0 [2]
to compile the gui frontend - pws.

[1] http://directory.fsf.org/project/libgcrypt/
[2] http://www.trolltech.com/


installation
------------

pws uses autoconf, so the following command should get you started:

# ./configure
# make
# sudo make install

if your qt-installation is in some non-standard location, use the
following recipe:

# ./configure --with-qt=<QT_INSTALLATION_DIRECTORY>
# make
# sudo make install

pws will be installed to /usr/local/bin/pws and libpws to /usr/local/lib/libpws.so.


pws aborts with the following error: "pws: error while loading shared libraries: libpws.so"
-------------------------------------------------------------------------------------------

you may need to change /etc/ld.so.conf to include the directory /usr/local/lib:

# vi /etc/ld.so.conf
/usr/local/lib
[...]
# ldconfig


pws complains about insecure memory: "libpws - mlock() failed, using insecure memory"
-------------------------------------------------------------------------------------

pws makes heavy use of mlock()'ed memory, which prevents that your plaintext password will eventually 
be written to your harddisk when the process memory is being swapped out.

most modern distributions set some more or less reasonable ulimit values per default, which is 
generally a good thing to do. however, programs like pws may need more memory than the default i
distribution settings will allow it to use.

to prevent the mentioned error message, add the following lines to the file /etc/security/limits.conf:

# vi /etc/security/limits.conf
[...]
*               soft    memlock            -1
*               hard    memlock            -1
[...]

more restrictive settings are possible of course. i think 50mb should be enough for most purposes.

