GnuPG has been developed on GNU/Linux systems and is know to work on almost all Free OSes. All modern POSIX systems should be supported right now, however there are probably a lot of smaller glitches we need to fix first. The major problem areas are:
fopencookie
function (funopen
under *BSD) is used. This
is a very convenient function which makes it possible to create outputs in
a structures and easy maintainable way. The drawback however is that
most proprietary OSes don’t support this function. At g10 Code we
have looked into several ways on how to overcome this limitation but no
sufficiently easy and maintainable way has been found. Porting
glibc to a general POSIX system is of course an option and would
make writing portable software much easier; this it has not yet been
done and the system administrator would need to cope with the GNU
specific admin things in addition to the generic ones of his system.
We have now settled to use explicit stdio wrappers with a functionality similar to funopen. Although the code for this has already been written (libestream), we have not yet changed GnuPG to use it.
This means that on systems not supporting either funopen
or
fopencookie
, logging to a socket won’t work, prompts are not
formatted as pretty as they should be and gpgsm
’s
LISTKEYS
Assuan command does not work.
There is one exception of this rule: Systems based the Microsoft Windows API (called here W32) will be supported to some extend.
• W32 Notes: | Microsoft Windows Notes |