Giter Site home page Giter Site logo

libgpg-error's Introduction

libgpg-error
============

This is a library that defines common error values for all GnuPG
components.  Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt,
Libksba, DirMngr, Pinentry, SmartCard Daemon and more.

libgpg-error is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.  See the file
COPYING.LIB for copyright and warranty information.

However, some files (for example src/mkerrnos.awk) used in the build
process of the library are covered by a different license.  Please see
the header of these files and the file COPYING for copyright and
warranty information on these files.  A special exception in the
copyright license of these files makes sure that the output in the
build process, which is used in libgpg-error, is not affected by the
GPL.


Installation
------------

Please read the file INSTALL!

Here is a quick summary:

1) Check that you have unmodified sources.  You can find instructions
   how to verify the sources below.  Don't skip this - it is an
   important step!

2) Unpack the archive.  With GNU tar you can do it this way:
   "tar xjvf libgpg-error-x.y.tar.bz2"

3) "cd libgpg-error-x.y"

4) "./configure"

5) "make"

6) "make install"


How to Verify the Source
------------------------

In order to check that the version of libgpg-error which you are going
to install is an original and unmodified copy of the original, you can
do it in one of the following ways:

a) If you already have a trusted version of GnuPG installed, you can
   simply check the supplied signature:

   $ gpg --verify libgpg-error-x.y.tar.bz2.sig

   This checks that the detached signature libgpg-error-x.y.tar.bz2.sig
   is indeed a a signature of libgpg-error-x.y.tar.bz2.

   Please note that you have to use an old version of GnuPG to do all
   this stuff.  *Never* use the version which was built using the
   library you are trying to verify!

b) If you don't have any a trusted version of GnuPG, you can attempt
   to verify the SHA1 checksum, using a trusted version of the sha1sum
   program:

   $ sha1sum libgpg-error-x.y.tar.bz2

   This should yield an output _similar_ to this:

   610064e5b77700f5771c8fde2691c4365e1ca100  libgpg-error-x.y.tar.bz2

   Now check that this checksum is _exactly_ the same as the one
   published via the announcement list and probably via Usenet.


Hints
-----

To build for Windows you you may use the convenience command:

   ./autogen.sh --build-w32

which runs configure with suitable options.  For WindowsCE the command
is:

   ./autogen.sh --build-w32ce


Known Problems
--------------

On Windows, WSA Error Codes can be provided as system error codes and
will be transparently converted to the corresponding gpg error codes.
There are two problems with this support:

* Not all error codes corresponding to WSA Error codes have a detailed
  description when printed with gpg_strerror.  Some will default to
  "Unknown error" for pretty printing.  For example, WSAEHOSTDOWN will
  be translated to GPG_ERR_EHOSTDOWN, but there is no corresponding
  EHOSTDOWN in Windows and thus gpg_strerror will default to "Unknown
  error" as printed by the system's strerror function for the argument
  WSAEHOSTDOWN.  (This could be fixed by adding our own error strings
  replacing or extending the system error strings, including their
  translations).

* The translation to a gpg error code and back to a system error code
  in some cases does not preserve information.  For example, the error code
  WSAEACCES translates to GPG_ERR_EACCES, which translates back to
  EACCES.

Any WSA Error code has either the first problem or the second (but not
both), depending on if there is a corresponding Windows error code.

libgpg-error's People

Contributors

dd9jn avatar nikias avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.