(gnupg.info.gz) System Notes

Info Catalog (gnupg.info.gz) Howtos (gnupg.info.gz) Top (gnupg.info.gz) Debugging
 
 9 Notes pertaining to certain OSes.
 ***********************************
 
 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:
 
    * For logging to sockets and other internal operations the
      `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.
 
    * We are planning to use file descriptor passing for interprocess
      communication.  This will allow us save a lot of resources and
      improve performance of certain operations a lot.  Systems not
      supporting this won't gain these benefits but we try to keep them
      working the standard way as it is done today.
 
    * We require more or less full POSIX compatibility.  This has been
      around for 15 years now and thus we don't believe it makes sense to
      support non POSIX systems anymore.  Well, we of course the usual
      workarounds for near POSIX systems well be applied.
 
      There is one exception of this rule: Systems based the Microsoft
      Windows API (called here _W32_) will be supported to some extend.
 
 

Menu

 
* W32 Notes             Microsoft Windows Notes
 
Info Catalog (gnupg.info.gz) Howtos (gnupg.info.gz) Top (gnupg.info.gz) Debugging
automatically generated by info2html