|
Packit |
d7e8d0 |
This is gpgme.info, produced by makeinfo version 6.3 from gpgme.texi.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Copyright © 2002–2008, 2010, 2012–2017 g10 Code GmbH.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Permission is granted to copy, distribute and/or modify this
|
|
Packit |
d7e8d0 |
document under the terms of the GNU General Public License as
|
|
Packit |
d7e8d0 |
published by the Free Software Foundation; either version 3 of the
|
|
Packit |
d7e8d0 |
License, or (at your option) any later version. The text of the
|
|
Packit |
d7e8d0 |
license can be found in the section entitled “Copying”.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This document is distributed in the hope that it will be useful, but
|
|
Packit |
d7e8d0 |
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
d7e8d0 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
Packit |
d7e8d0 |
Public License for more details.
|
|
Packit |
d7e8d0 |
INFO-DIR-SECTION GNU Libraries
|
|
Packit |
d7e8d0 |
START-INFO-DIR-ENTRY
|
|
Packit |
d7e8d0 |
* GPGME: (gpgme). Adding support for cryptography to your program.
|
|
Packit |
d7e8d0 |
END-INFO-DIR-ENTRY
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This file documents the GPGME library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This is Edition 1.10.0, last updated 8 December 2017, of ‘The ‘GnuPG
|
|
Packit |
d7e8d0 |
Made Easy’ Reference Manual’, for Version 1.10.0.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Copyright © 2002–2008, 2010, 2012–2017 g10 Code GmbH.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Permission is granted to copy, distribute and/or modify this
|
|
Packit |
d7e8d0 |
document under the terms of the GNU General Public License as
|
|
Packit |
d7e8d0 |
published by the Free Software Foundation; either version 3 of the
|
|
Packit |
d7e8d0 |
License, or (at your option) any later version. The text of the
|
|
Packit |
d7e8d0 |
license can be found in the section entitled “Copying”.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This document is distributed in the hope that it will be useful, but
|
|
Packit |
d7e8d0 |
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
d7e8d0 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
Packit |
d7e8d0 |
Public License for more details.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
?
|
|
Packit |
d7e8d0 |
File: gpgme.info, Node: Debugging, Next: Deprecated Functions, Prev: UI Server Protocol, Up: Top
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Appendix B How to solve problems
|
|
Packit |
d7e8d0 |
********************************
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Everyone knows that software often does not do what it should do and
|
|
Packit |
d7e8d0 |
thus there is a need to track down problems. This is in particular true
|
|
Packit |
d7e8d0 |
for applications using a complex library like GPGME and of course also
|
|
Packit |
d7e8d0 |
for the library itself. Here we give a few hints on how to solve such
|
|
Packit |
d7e8d0 |
problems.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
First of all you should make sure that the keys you want to use are
|
|
Packit |
d7e8d0 |
installed in the GnuPG engine and are usable. Thus the first test is to
|
|
Packit |
d7e8d0 |
run the desired operation using ‘gpg’ or ‘gpgsm’ on the command line.
|
|
Packit |
d7e8d0 |
If you can’t figure out why things don’t work, you may use GPGME’s built
|
|
Packit |
d7e8d0 |
in trace feature. This feature is either enabled using the environment
|
|
Packit |
d7e8d0 |
variable ‘GPGME_DEBUG’ or, if this is not possible, by calling the
|
|
Packit |
d7e8d0 |
function ‘gpgme_set_global_flag’. The value is the trace level and an
|
|
Packit |
d7e8d0 |
optional file name. If no file name is given the trace output is
|
|
Packit |
d7e8d0 |
printed to ‘stderr’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
For example
|
|
Packit |
d7e8d0 |
GPGME_DEBUG=9:/home/user/mygpgme.log
|
|
Packit |
d7e8d0 |
(Note that under Windows you use a semicolon in place of the colon to
|
|
Packit |
d7e8d0 |
separate the fields.)
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
A trace level of 9 is pretty verbose and thus you may want to start
|
|
Packit |
d7e8d0 |
off with a lower level. The exact definition of the trace levels and
|
|
Packit |
d7e8d0 |
the output format may change with any release; you need to check the
|
|
Packit |
d7e8d0 |
source code for details. In any case the trace log should be helpful to
|
|
Packit |
d7e8d0 |
understand what is going going on. Warning: The trace log may reveal
|
|
Packit |
d7e8d0 |
sensitive details like passphrases or other data you use in your
|
|
Packit |
d7e8d0 |
application. If you are asked to send a log file, make sure that you
|
|
Packit |
d7e8d0 |
run your tests only with play data.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
?
|
|
Packit |
d7e8d0 |
File: gpgme.info, Node: Deprecated Functions, Next: Library Copying, Prev: Debugging, Up: Top
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Appendix C Deprecated Functions
|
|
Packit |
d7e8d0 |
*******************************
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
For backward compatibility GPGME has a number of functions, data types
|
|
Packit |
d7e8d0 |
and constants which are deprecated and should not be used anymore. We
|
|
Packit |
d7e8d0 |
document here those which are really old to help understanding old code
|
|
Packit |
d7e8d0 |
and to allow migration to their modern counterparts.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
*Warning:* These interfaces will be removed in a future version of
|
|
Packit |
d7e8d0 |
GPGME.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: void gpgme_key_release (gpgme_key_t KEY)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_key_release’ is equivalent to
|
|
Packit |
d7e8d0 |
‘gpgme_key_unref’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: void gpgme_trust_item_release (gpgme_trust_item_t ITEM)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_trust_item_release’ is an alias for
|
|
Packit |
d7e8d0 |
‘gpgme_trust_item_unref’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: gpgme_error_t gpgme_op_import_ext (gpgme_ctx_t CTX,
|
|
Packit |
d7e8d0 |
gpgme_data_t KEYDATA, int *NR)
|
|
Packit |
d7e8d0 |
SINCE: 0.3.9
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function ‘gpgme_op_import_ext’ is equivalent to:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
gpgme_error_t err = gpgme_op_import (ctx, keydata);
|
|
Packit |
d7e8d0 |
if (!err)
|
|
Packit |
d7e8d0 |
{
|
|
Packit |
d7e8d0 |
gpgme_import_result_t result = gpgme_op_import_result (ctx);
|
|
Packit |
d7e8d0 |
*nr = result->considered;
|
|
Packit |
d7e8d0 |
}
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Data type: gpgme_error_t (*gpgme_edit_cb_t) (void *HANDLE,
|
|
Packit |
d7e8d0 |
gpgme_status_code_t STATUS, const char *ARGS, int FD)
|
|
Packit |
d7e8d0 |
The ‘gpgme_edit_cb_t’ type is the type of functions which GPGME
|
|
Packit |
d7e8d0 |
calls if it a key edit operation is on-going. The status code
|
|
Packit |
d7e8d0 |
STATUS and the argument line ARGS are passed through by GPGME from
|
|
Packit |
d7e8d0 |
the crypto engine. The file descriptor FD is -1 for normal status
|
|
Packit |
d7e8d0 |
messages. If STATUS indicates a command rather than a status
|
|
Packit |
d7e8d0 |
message, the response to the command should be written to FD. The
|
|
Packit |
d7e8d0 |
HANDLE is provided by the user at start of operation.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function should return ‘GPG_ERR_FALSE’ if it did not handle the
|
|
Packit |
d7e8d0 |
status code, ‘0’ for success, or any other error value.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: gpgme_error_t gpgme_op_edit (gpgme_ctx_t CTX,
|
|
Packit |
d7e8d0 |
gpgme_key_t KEY, gpgme_edit_cb_t FNC, void *HANDLE,
|
|
Packit |
d7e8d0 |
gpgme_data_t OUT)
|
|
Packit |
d7e8d0 |
SINCE: 0.3.9
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Note: This function is deprecated, please use ‘gpgme_op_interact’
|
|
Packit |
d7e8d0 |
instead.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function ‘gpgme_op_edit’ processes the key KEY interactively,
|
|
Packit |
d7e8d0 |
using the edit callback function FNC with the handle HANDLE. The
|
|
Packit |
d7e8d0 |
callback is invoked for every status and command request from the
|
|
Packit |
d7e8d0 |
crypto engine. The output of the crypto engine is written to the
|
|
Packit |
d7e8d0 |
data object OUT.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Note that the protocol between the callback function and the crypto
|
|
Packit |
d7e8d0 |
engine is specific to the crypto engine and no further support in
|
|
Packit |
d7e8d0 |
implementing this protocol correctly is provided by GPGME.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function returns the error code ‘GPG_ERR_NO_ERROR’ if the edit
|
|
Packit |
d7e8d0 |
operation completes successfully, ‘GPG_ERR_INV_VALUE’ if CTX or KEY
|
|
Packit |
d7e8d0 |
is not a valid pointer, and any error returned by the crypto engine
|
|
Packit |
d7e8d0 |
or the edit callback handler.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: gpgme_error_t gpgme_op_edit_start (gpgme_ctx_t CTX,
|
|
Packit |
d7e8d0 |
gpgme_key_t KEY, gpgme_edit_cb_t FNC, void *HANDLE,
|
|
Packit |
d7e8d0 |
gpgme_data_t OUT)
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
SINCE: 0.3.9
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Note: This function is deprecated, please use
|
|
Packit |
d7e8d0 |
‘gpgme_op_interact_start’ instead.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function ‘gpgme_op_edit_start’ initiates a ‘gpgme_op_edit’
|
|
Packit |
d7e8d0 |
operation. It can be completed by calling ‘gpgme_wait’ on the
|
|
Packit |
d7e8d0 |
context. *Note Waiting For Completion::.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
|
|
Packit |
d7e8d0 |
operation was started successfully, and ‘GPG_ERR_INV_VALUE’ if CTX
|
|
Packit |
d7e8d0 |
or KEY is not a valid pointer.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: gpgme_error_t gpgme_op_card_edit (gpgme_ctx_t CTX,
|
|
Packit |
d7e8d0 |
gpgme_key_t KEY, gpgme_edit_cb_t FNC, void *HANDLE,
|
|
Packit |
d7e8d0 |
gpgme_data_t OUT)
|
|
Packit |
d7e8d0 |
Note: This function is deprecated, please use ‘gpgme_op_interact’
|
|
Packit |
d7e8d0 |
with the flag ‘GPGME_INTERACT_CARD’ instead.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function ‘gpgme_op_card_edit’ is analogous to ‘gpgme_op_edit’,
|
|
Packit |
d7e8d0 |
but should be used to process the smart card corresponding to the
|
|
Packit |
d7e8d0 |
key KEY.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: gpgme_error_t gpgme_op_card_edit_start (gpgme_ctx_t CTX,
|
|
Packit |
d7e8d0 |
gpgme_key_t KEY, gpgme_edit_cb_t FNC, void *HANDLE,
|
|
Packit |
d7e8d0 |
gpgme_data_t OUT)
|
|
Packit |
d7e8d0 |
Note: This function is deprecated, please use
|
|
Packit |
d7e8d0 |
‘gpgme_op_interact_start’ with the flag ‘GPGME_INTERACT_CARD’
|
|
Packit |
d7e8d0 |
instead.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function ‘gpgme_op_card_edit_start’ initiates a
|
|
Packit |
d7e8d0 |
‘gpgme_op_card_edit’ operation. It can be completed by calling
|
|
Packit |
d7e8d0 |
‘gpgme_wait’ on the context. *Note Waiting For Completion::.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
|
|
Packit |
d7e8d0 |
operation was started successfully, and ‘GPG_ERR_INV_VALUE’ if CTX
|
|
Packit |
d7e8d0 |
or KEY is not a valid pointer.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: gpgme_error_t gpgme_data_new_with_read_cb
|
|
Packit |
d7e8d0 |
(gpgme_data_t *DH, int (*READFUNC) (void *HOOK, char *BUFFER,
|
|
Packit |
d7e8d0 |
size_t COUNT, size_t *NREAD), void *HOOK_VALUE)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_data_new_with_read_cb’ creates a new
|
|
Packit |
d7e8d0 |
‘gpgme_data_t’ object and uses the callback function READFUNC to
|
|
Packit |
d7e8d0 |
retrieve the data on demand. As the callback function can supply
|
|
Packit |
d7e8d0 |
the data in any way it wants, this is the most flexible data type
|
|
Packit |
d7e8d0 |
GPGME provides. However, it can not be used to write data.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The callback function receives HOOK_VALUE as its first argument
|
|
Packit |
d7e8d0 |
whenever it is invoked. It should return up to COUNT bytes in
|
|
Packit |
d7e8d0 |
BUFFER, and return the number of bytes actually read in NREAD. It
|
|
Packit |
d7e8d0 |
may return ‘0’ in NREAD if no data is currently available. To
|
|
Packit |
d7e8d0 |
indicate ‘EOF’ the function should return with an error code of
|
|
Packit |
d7e8d0 |
‘-1’ and set NREAD to ‘0’. The callback function may support to
|
|
Packit |
d7e8d0 |
reset its internal read pointer if it is invoked with BUFFER and
|
|
Packit |
d7e8d0 |
NREAD being ‘NULL’ and COUNT being ‘0’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function returns the error code ‘GPG_ERR_NO_ERROR’ if the data
|
|
Packit |
d7e8d0 |
object was successfully created, ‘GPG_ERR_INV_VALUE’ if DH or
|
|
Packit |
d7e8d0 |
READFUNC is not a valid pointer, and ‘GPG_ERR_ENOMEM’ if not enough
|
|
Packit |
d7e8d0 |
memory is available.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: gpgme_error_t gpgme_data_rewind (gpgme_data_t DH)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_data_rewind’ is equivalent to:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
return (gpgme_data_seek (dh, 0, SEEK_SET) == -1)
|
|
Packit |
d7e8d0 |
? gpgme_error_from_errno (errno) : 0;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Data type: gpgme_attr_t
|
|
Packit |
d7e8d0 |
The ‘gpgme_attr_t’ type is used to specify a key or trust item
|
|
Packit |
d7e8d0 |
attribute. The following attributes are defined:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_KEYID’
|
|
Packit |
d7e8d0 |
This is the key ID of a sub key. It is representable as a
|
|
Packit |
d7e8d0 |
string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
For trust items, the trust item refers to the key with this
|
|
Packit |
d7e8d0 |
ID.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_FPR’
|
|
Packit |
d7e8d0 |
This is the fingerprint of a sub key. It is representable as
|
|
Packit |
d7e8d0 |
a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_ALGO’
|
|
Packit |
d7e8d0 |
This is the crypto algorithm for which the sub key can be
|
|
Packit |
d7e8d0 |
used. It is representable as a string and as a number. The
|
|
Packit |
d7e8d0 |
numbers correspond to the ‘enum gcry_pk_algos’ values in the
|
|
Packit |
d7e8d0 |
gcrypt library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_LEN’
|
|
Packit |
d7e8d0 |
This is the key length of a sub key. It is representable as a
|
|
Packit |
d7e8d0 |
number.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_CREATED’
|
|
Packit |
d7e8d0 |
This is the timestamp at creation time of a sub key. It is
|
|
Packit |
d7e8d0 |
representable as a number.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_EXPIRE’
|
|
Packit |
d7e8d0 |
This is the expiration time of a sub key. It is representable
|
|
Packit |
d7e8d0 |
as a number.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_OTRUST’
|
|
Packit |
d7e8d0 |
XXX FIXME (also for trust items)
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_USERID’
|
|
Packit |
d7e8d0 |
This is a user ID. There can be more than one user IDs in a
|
|
Packit |
d7e8d0 |
GPGME_KEY_T object. The first one (with index 0) is the
|
|
Packit |
d7e8d0 |
primary user ID. The user ID is representable as a number.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
For trust items, this is the user ID associated with this
|
|
Packit |
d7e8d0 |
trust item.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_NAME’
|
|
Packit |
d7e8d0 |
This is the name belonging to a user ID. It is representable
|
|
Packit |
d7e8d0 |
as a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_EMAIL’
|
|
Packit |
d7e8d0 |
This is the email address belonging to a user ID. It is
|
|
Packit |
d7e8d0 |
representable as a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_COMMENT’
|
|
Packit |
d7e8d0 |
This is the comment belonging to a user ID. It is
|
|
Packit |
d7e8d0 |
representable as a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_VALIDITY’
|
|
Packit |
d7e8d0 |
This is the validity belonging to a user ID. It is
|
|
Packit |
d7e8d0 |
representable as a string and as a number. See below for a
|
|
Packit |
d7e8d0 |
list of available validities.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
For trust items, this is the validity that is associated with
|
|
Packit |
d7e8d0 |
this trust item.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_UID_REVOKED’
|
|
Packit |
d7e8d0 |
This specifies if a user ID is revoked. It is representable
|
|
Packit |
d7e8d0 |
as a number, and is ‘1’ if the user ID is revoked, and ‘0’
|
|
Packit |
d7e8d0 |
otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_UID_INVALID’
|
|
Packit |
d7e8d0 |
This specifies if a user ID is invalid. It is representable
|
|
Packit |
d7e8d0 |
as a number, and is ‘1’ if the user ID is invalid, and ‘0’
|
|
Packit |
d7e8d0 |
otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_LEVEL’
|
|
Packit |
d7e8d0 |
This is the trust level of a trust item.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_TYPE’
|
|
Packit |
d7e8d0 |
This returns information about the type of key. For the
|
|
Packit |
d7e8d0 |
string function this will eother be "PGP" or "X.509". The
|
|
Packit |
d7e8d0 |
integer function returns 0 for PGP and 1 for X.509. It is
|
|
Packit |
d7e8d0 |
also used for the type of a trust item.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_IS_SECRET’
|
|
Packit |
d7e8d0 |
This specifies if the key is a secret key. It is
|
|
Packit |
d7e8d0 |
representable as a number, and is ‘1’ if the key is revoked,
|
|
Packit |
d7e8d0 |
and ‘0’ otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_KEY_REVOKED’
|
|
Packit |
d7e8d0 |
This specifies if a sub key is revoked. It is representable
|
|
Packit |
d7e8d0 |
as a number, and is ‘1’ if the key is revoked, and ‘0’
|
|
Packit |
d7e8d0 |
otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_KEY_INVALID’
|
|
Packit |
d7e8d0 |
This specifies if a sub key is invalid. It is representable
|
|
Packit |
d7e8d0 |
as a number, and is ‘1’ if the key is invalid, and ‘0’
|
|
Packit |
d7e8d0 |
otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_KEY_EXPIRED’
|
|
Packit |
d7e8d0 |
This specifies if a sub key is expired. It is representable
|
|
Packit |
d7e8d0 |
as a number, and is ‘1’ if the key is expired, and ‘0’
|
|
Packit |
d7e8d0 |
otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_KEY_DISABLED’
|
|
Packit |
d7e8d0 |
This specifies if a sub key is disabled. It is representable
|
|
Packit |
d7e8d0 |
as a number, and is ‘1’ if the key is disabled, and ‘0’
|
|
Packit |
d7e8d0 |
otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_KEY_CAPS’
|
|
Packit |
d7e8d0 |
This is a description of the capabilities of a sub key. It is
|
|
Packit |
d7e8d0 |
representable as a string. The string contains the letter “e”
|
|
Packit |
d7e8d0 |
if the key can be used for encryption, “s” if the key can be
|
|
Packit |
d7e8d0 |
used for signatures, and “c” if the key can be used for
|
|
Packit |
d7e8d0 |
certifications.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_CAN_ENCRYPT’
|
|
Packit |
d7e8d0 |
This specifies if a sub key can be used for encryption. It is
|
|
Packit |
d7e8d0 |
representable as a number, and is ‘1’ if the sub key can be
|
|
Packit |
d7e8d0 |
used for encryption, and ‘0’ otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_CAN_SIGN’
|
|
Packit |
d7e8d0 |
This specifies if a sub key can be used to create data
|
|
Packit |
d7e8d0 |
signatures. It is representable as a number, and is ‘1’ if
|
|
Packit |
d7e8d0 |
the sub key can be used for signatures, and ‘0’ otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_CAN_CERTIFY’
|
|
Packit |
d7e8d0 |
This specifies if a sub key can be used to create key
|
|
Packit |
d7e8d0 |
certificates. It is representable as a number, and is ‘1’ if
|
|
Packit |
d7e8d0 |
the sub key can be used for certifications, and ‘0’ otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_SERIAL’
|
|
Packit |
d7e8d0 |
The X.509 issuer serial attribute of the key. It is
|
|
Packit |
d7e8d0 |
representable as a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_ISSUE’
|
|
Packit |
d7e8d0 |
The X.509 issuer name attribute of the key. It is
|
|
Packit |
d7e8d0 |
representable as a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_CHAINID’
|
|
Packit |
d7e8d0 |
The X.509 chain ID can be used to build the certification
|
|
Packit |
d7e8d0 |
chain. It is representable as a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: const char * gpgme_key_get_string_attr (gpgme_key_t KEY,
|
|
Packit |
d7e8d0 |
gpgme_attr_t WHAT, const void *RESERVED, int IDX)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_key_get_string_attr’ returns the value of the
|
|
Packit |
d7e8d0 |
string-representable attribute WHAT of key KEY. If the attribute
|
|
Packit |
d7e8d0 |
is an attribute of a sub key or an user ID, IDX specifies the sub
|
|
Packit |
d7e8d0 |
key or user ID of which the attribute value is returned. The
|
|
Packit |
d7e8d0 |
argument RESERVED is reserved for later use and should be ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The string returned is only valid as long as the key is valid.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function returns ‘0’ if an attribute can’t be returned as a
|
|
Packit |
d7e8d0 |
string, KEY is not a valid pointer, IDX out of range, or RESERVED
|
|
Packit |
d7e8d0 |
not ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: unsigned long gpgme_key_get_ulong_attr (gpgme_key_t KEY,
|
|
Packit |
d7e8d0 |
gpgme_attr_t WHAT, const void *RESERVED, int IDX)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_key_get_ulong_attr’ returns the value of the
|
|
Packit |
d7e8d0 |
number-representable attribute WHAT of key KEY. If the attribute
|
|
Packit |
d7e8d0 |
is an attribute of a sub key or an user ID, IDX specifies the sub
|
|
Packit |
d7e8d0 |
key or user ID of which the attribute value is returned. The
|
|
Packit |
d7e8d0 |
argument RESERVED is reserved for later use and should be ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function returns ‘0’ if the attribute can’t be returned as a
|
|
Packit |
d7e8d0 |
number, KEY is not a valid pointer, IDX out of range, or RESERVED
|
|
Packit |
d7e8d0 |
not ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The signatures on a key are only available if the key was retrieved
|
|
Packit |
d7e8d0 |
via a listing operation with the ‘GPGME_KEYLIST_MODE_SIGS’ mode enabled,
|
|
Packit |
d7e8d0 |
because it is expensive to retrieve all signatures of a key.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
So, before using the below interfaces to retrieve the signatures on a
|
|
Packit |
d7e8d0 |
key, you have to make sure that the key was listed with signatures
|
|
Packit |
d7e8d0 |
enabled. One convenient, but blocking, way to do this is to use the
|
|
Packit |
d7e8d0 |
function ‘gpgme_get_key’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Data type: gpgme_attr_t
|
|
Packit |
d7e8d0 |
The ‘gpgme_attr_t’ type is used to specify a key signature
|
|
Packit |
d7e8d0 |
attribute. The following attributes are defined:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_KEYID’
|
|
Packit |
d7e8d0 |
This is the key ID of the key which was used for the
|
|
Packit |
d7e8d0 |
signature. It is representable as a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_ALGO’
|
|
Packit |
d7e8d0 |
This is the crypto algorithm used to create the signature. It
|
|
Packit |
d7e8d0 |
is representable as a string and as a number. The numbers
|
|
Packit |
d7e8d0 |
correspond to the ‘enum gcry_pk_algos’ values in the gcrypt
|
|
Packit |
d7e8d0 |
library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_CREATED’
|
|
Packit |
d7e8d0 |
This is the timestamp at creation time of the signature. It
|
|
Packit |
d7e8d0 |
is representable as a number.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_EXPIRE’
|
|
Packit |
d7e8d0 |
This is the expiration time of the signature. It is
|
|
Packit |
d7e8d0 |
representable as a number.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_USERID’
|
|
Packit |
d7e8d0 |
This is the user ID associated with the signing key. The user
|
|
Packit |
d7e8d0 |
ID is representable as a number.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_NAME’
|
|
Packit |
d7e8d0 |
This is the name belonging to a user ID. It is representable
|
|
Packit |
d7e8d0 |
as a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_EMAIL’
|
|
Packit |
d7e8d0 |
This is the email address belonging to a user ID. It is
|
|
Packit |
d7e8d0 |
representable as a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_COMMENT’
|
|
Packit |
d7e8d0 |
This is the comment belonging to a user ID. It is
|
|
Packit |
d7e8d0 |
representable as a string.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_KEY_REVOKED’
|
|
Packit |
d7e8d0 |
This specifies if a key signature is a revocation signature.
|
|
Packit |
d7e8d0 |
It is representable as a number, and is ‘1’ if the key is
|
|
Packit |
d7e8d0 |
revoked, and ‘0’ otherwise.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_SIG_CLASS’
|
|
Packit |
d7e8d0 |
This specifies the signature class of a key signature. It is
|
|
Packit |
d7e8d0 |
representable as a number. The meaning is specific to the
|
|
Packit |
d7e8d0 |
crypto engine.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_SIG_CLASS’
|
|
Packit |
d7e8d0 |
This specifies the signature class of a key signature. It is
|
|
Packit |
d7e8d0 |
representable as a number. The meaning is specific to the
|
|
Packit |
d7e8d0 |
crypto engine.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_ATTR_SIG_STATUS’
|
|
Packit |
d7e8d0 |
This is the same value as returned by ‘gpgme_get_sig_status’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: const char * gpgme_key_sig_get_string_attr
|
|
Packit |
d7e8d0 |
(gpgme_key_t KEY, int UID_IDX, gpgme_attr_t WHAT,
|
|
Packit |
d7e8d0 |
const void *RESERVED, int IDX)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_key_sig_get_string_attr’ returns the value of
|
|
Packit |
d7e8d0 |
the string-representable attribute WHAT of the signature IDX on the
|
|
Packit |
d7e8d0 |
user ID UID_IDX in the key KEY. The argument RESERVED is reserved
|
|
Packit |
d7e8d0 |
for later use and should be ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The string returned is only valid as long as the key is valid.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function returns ‘0’ if an attribute can’t be returned as a
|
|
Packit |
d7e8d0 |
string, KEY is not a valid pointer, UID_IDX or IDX out of range, or
|
|
Packit |
d7e8d0 |
RESERVED not ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: unsigned long gpgme_key_sig_get_ulong_attr
|
|
Packit |
d7e8d0 |
(gpgme_key_t KEY, int UID_IDX, gpgme_attr_t WHAT,
|
|
Packit |
d7e8d0 |
const void *RESERVED, int IDX)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_key_sig_get_ulong_attr’ returns the value of
|
|
Packit |
d7e8d0 |
the number-representable attribute WHAT of the signature IDX on the
|
|
Packit |
d7e8d0 |
user ID UID_IDX in the key KEY. The argument RESERVED is reserved
|
|
Packit |
d7e8d0 |
for later use and should be ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function returns ‘0’ if an attribute can’t be returned as a
|
|
Packit |
d7e8d0 |
string, KEY is not a valid pointer, UID_IDX or IDX out of range, or
|
|
Packit |
d7e8d0 |
RESERVED not ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Trust items have attributes which can be queried using the interfaces
|
|
Packit |
d7e8d0 |
below. The attribute identifiers are shared with those for key
|
|
Packit |
d7e8d0 |
attributes. *Note Information About Keys::.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: const char * gpgme_trust_item_get_string_attr
|
|
Packit |
d7e8d0 |
(gpgme_trust_item_t ITEM, gpgme_attr_t WHAT,
|
|
Packit |
d7e8d0 |
const void *RESERVED, int IDX)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_trust_item_get_string_attr’ returns the value
|
|
Packit |
d7e8d0 |
of the string-representable attribute WHAT of trust item ITEM. The
|
|
Packit |
d7e8d0 |
arguments IDX and RESERVED are reserved for later use and should be
|
|
Packit |
d7e8d0 |
‘0’ and ‘NULL’ respectively.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The string returned is only valid as long as the key is valid.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function returns ‘0’ if an attribute can’t be returned as a
|
|
Packit |
d7e8d0 |
string, KEY is not a valid pointer, IDX out of range, or RESERVED
|
|
Packit |
d7e8d0 |
not ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: int gpgme_trust_item_get_int_attr
|
|
Packit |
d7e8d0 |
(gpgme_trust_item_t ITEM, gpgme_attr_t WHAT,
|
|
Packit |
d7e8d0 |
const void *RESERVED, int IDX)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_trust_item_get_int_attr’ returns the value of
|
|
Packit |
d7e8d0 |
the number-representable attribute WHAT of trust item ITEM. If the
|
|
Packit |
d7e8d0 |
attribute occurs more than once in the trust item, the index is
|
|
Packit |
d7e8d0 |
specified by IDX. However, currently no such attribute exists, so
|
|
Packit |
d7e8d0 |
IDX should be ‘0’. The argument RESERVED is reserved for later use
|
|
Packit |
d7e8d0 |
and should be ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The function returns ‘0’ if the attribute can’t be returned as a
|
|
Packit |
d7e8d0 |
number, KEY is not a valid pointer, IDX out of range, or RESERVED
|
|
Packit |
d7e8d0 |
not ‘NULL’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Data type: enum gpgme_sig_stat_t
|
|
Packit |
d7e8d0 |
The ‘gpgme_sig_stat_t’ type holds the result of a signature check,
|
|
Packit |
d7e8d0 |
or the combined result of all signatures. The following results
|
|
Packit |
d7e8d0 |
are possible:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_SIG_STAT_NONE’
|
|
Packit |
d7e8d0 |
This status should not occur in normal operation.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_SIG_STAT_GOOD’
|
|
Packit |
d7e8d0 |
This status indicates that the signature is valid. For the
|
|
Packit |
d7e8d0 |
combined result this status means that all signatures are
|
|
Packit |
d7e8d0 |
valid.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_SIG_STAT_GOOD_EXP’
|
|
Packit |
d7e8d0 |
This status indicates that the signature is valid but expired.
|
|
Packit |
d7e8d0 |
For the combined result this status means that all signatures
|
|
Packit |
d7e8d0 |
are valid and expired.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_SIG_STAT_GOOD_EXPKEY’
|
|
Packit |
d7e8d0 |
This status indicates that the signature is valid but the key
|
|
Packit |
d7e8d0 |
used to verify the signature has expired. For the combined
|
|
Packit |
d7e8d0 |
result this status means that all signatures are valid and all
|
|
Packit |
d7e8d0 |
keys are expired.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_SIG_STAT_BAD’
|
|
Packit |
d7e8d0 |
This status indicates that the signature is invalid. For the
|
|
Packit |
d7e8d0 |
combined result this status means that all signatures are
|
|
Packit |
d7e8d0 |
invalid.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_SIG_STAT_NOKEY’
|
|
Packit |
d7e8d0 |
This status indicates that the signature could not be verified
|
|
Packit |
d7e8d0 |
due to a missing key. For the combined result this status
|
|
Packit |
d7e8d0 |
means that all signatures could not be checked due to missing
|
|
Packit |
d7e8d0 |
keys.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_SIG_STAT_NOSIG’
|
|
Packit |
d7e8d0 |
This status indicates that the signature data provided was not
|
|
Packit |
d7e8d0 |
a real signature.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_SIG_STAT_ERROR’
|
|
Packit |
d7e8d0 |
This status indicates that there was some other error which
|
|
Packit |
d7e8d0 |
prevented the signature verification.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
‘GPGME_SIG_STAT_DIFF’
|
|
Packit |
d7e8d0 |
For the combined result this status means that at least two
|
|
Packit |
d7e8d0 |
signatures have a different status. You can get each key’s
|
|
Packit |
d7e8d0 |
status with ‘gpgme_get_sig_status’.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: const char * gpgme_get_sig_status (gpgme_ctx_t CTX,
|
|
Packit |
d7e8d0 |
int IDX, gpgme_sig_stat_t *R_STAT, time_t *R_CREATED)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_get_sig_status’ is equivalent to:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
gpgme_verify_result_t result;
|
|
Packit |
d7e8d0 |
gpgme_signature_t sig;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
result = gpgme_op_verify_result (ctx);
|
|
Packit |
d7e8d0 |
sig = result->signatures;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
while (sig && idx)
|
|
Packit |
d7e8d0 |
{
|
|
Packit |
d7e8d0 |
sig = sig->next;
|
|
Packit |
d7e8d0 |
idx--;
|
|
Packit |
d7e8d0 |
}
|
|
Packit |
d7e8d0 |
if (!sig || idx)
|
|
Packit |
d7e8d0 |
return NULL;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
if (r_stat)
|
|
Packit |
d7e8d0 |
{
|
|
Packit |
d7e8d0 |
switch (gpg_err_code (sig->status))
|
|
Packit |
d7e8d0 |
{
|
|
Packit |
d7e8d0 |
case GPG_ERR_NO_ERROR:
|
|
Packit |
d7e8d0 |
*r_stat = GPGME_SIG_STAT_GOOD;
|
|
Packit |
d7e8d0 |
break;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPG_ERR_BAD_SIGNATURE:
|
|
Packit |
d7e8d0 |
*r_stat = GPGME_SIG_STAT_BAD;
|
|
Packit |
d7e8d0 |
break;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPG_ERR_NO_PUBKEY:
|
|
Packit |
d7e8d0 |
*r_stat = GPGME_SIG_STAT_NOKEY;
|
|
Packit |
d7e8d0 |
break;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPG_ERR_NO_DATA:
|
|
Packit |
d7e8d0 |
*r_stat = GPGME_SIG_STAT_NOSIG;
|
|
Packit |
d7e8d0 |
break;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPG_ERR_SIG_EXPIRED:
|
|
Packit |
d7e8d0 |
*r_stat = GPGME_SIG_STAT_GOOD_EXP;
|
|
Packit |
d7e8d0 |
break;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPG_ERR_KEY_EXPIRED:
|
|
Packit |
d7e8d0 |
*r_stat = GPGME_SIG_STAT_GOOD_EXPKEY;
|
|
Packit |
d7e8d0 |
break;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
default:
|
|
Packit |
d7e8d0 |
*r_stat = GPGME_SIG_STAT_ERROR;
|
|
Packit |
d7e8d0 |
break;
|
|
Packit |
d7e8d0 |
}
|
|
Packit |
d7e8d0 |
}
|
|
Packit |
d7e8d0 |
if (r_created)
|
|
Packit |
d7e8d0 |
*r_created = sig->timestamp;
|
|
Packit |
d7e8d0 |
return sig->fpr;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: const char * gpgme_get_sig_string_attr (gpgme_ctx_t CTX,
|
|
Packit |
d7e8d0 |
int IDX, gpgme_attr_t WHAT, int WHATIDX)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_get_sig_string_attr’ is equivalent to:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
gpgme_verify_result_t result;
|
|
Packit |
d7e8d0 |
gpgme_signature_t sig;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
result = gpgme_op_verify_result (ctx);
|
|
Packit |
d7e8d0 |
sig = result->signatures;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
while (sig && idx)
|
|
Packit |
d7e8d0 |
{
|
|
Packit |
d7e8d0 |
sig = sig->next;
|
|
Packit |
d7e8d0 |
idx--;
|
|
Packit |
d7e8d0 |
}
|
|
Packit |
d7e8d0 |
if (!sig || idx)
|
|
Packit |
d7e8d0 |
return NULL;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
switch (what)
|
|
Packit |
d7e8d0 |
{
|
|
Packit |
d7e8d0 |
case GPGME_ATTR_FPR:
|
|
Packit |
d7e8d0 |
return sig->fpr;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPGME_ATTR_ERRTOK:
|
|
Packit |
d7e8d0 |
if (whatidx == 1)
|
|
Packit |
d7e8d0 |
return sig->wrong_key_usage ? "Wrong_Key_Usage" : "";
|
|
Packit |
d7e8d0 |
else
|
|
Packit |
d7e8d0 |
return "";
|
|
Packit |
d7e8d0 |
default:
|
|
Packit |
d7e8d0 |
break;
|
|
Packit |
d7e8d0 |
}
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
return NULL;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: const char * gpgme_get_sig_ulong_attr (gpgme_ctx_t CTX,
|
|
Packit |
d7e8d0 |
int IDX, gpgme_attr_t WAHT, int WHATIDX)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_get_sig_ulong_attr’ is equivalent to:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
gpgme_verify_result_t result;
|
|
Packit |
d7e8d0 |
gpgme_signature_t sig;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
result = gpgme_op_verify_result (ctx);
|
|
Packit |
d7e8d0 |
sig = result->signatures;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
while (sig && idx)
|
|
Packit |
d7e8d0 |
{
|
|
Packit |
d7e8d0 |
sig = sig->next;
|
|
Packit |
d7e8d0 |
idx--;
|
|
Packit |
d7e8d0 |
}
|
|
Packit |
d7e8d0 |
if (!sig || idx)
|
|
Packit |
d7e8d0 |
return 0;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
switch (what)
|
|
Packit |
d7e8d0 |
{
|
|
Packit |
d7e8d0 |
case GPGME_ATTR_CREATED:
|
|
Packit |
d7e8d0 |
return sig->timestamp;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPGME_ATTR_EXPIRE:
|
|
Packit |
d7e8d0 |
return sig->exp_timestamp;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPGME_ATTR_VALIDITY:
|
|
Packit |
d7e8d0 |
return (unsigned long) sig->validity;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPGME_ATTR_SIG_STATUS:
|
|
Packit |
d7e8d0 |
switch (sig->status)
|
|
Packit |
d7e8d0 |
{
|
|
Packit |
d7e8d0 |
case GPG_ERR_NO_ERROR:
|
|
Packit |
d7e8d0 |
return GPGME_SIG_STAT_GOOD;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPG_ERR_BAD_SIGNATURE:
|
|
Packit |
d7e8d0 |
return GPGME_SIG_STAT_BAD;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPG_ERR_NO_PUBKEY:
|
|
Packit |
d7e8d0 |
return GPGME_SIG_STAT_NOKEY;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPG_ERR_NO_DATA:
|
|
Packit |
d7e8d0 |
return GPGME_SIG_STAT_NOSIG;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPG_ERR_SIG_EXPIRED:
|
|
Packit |
d7e8d0 |
return GPGME_SIG_STAT_GOOD_EXP;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPG_ERR_KEY_EXPIRED:
|
|
Packit |
d7e8d0 |
return GPGME_SIG_STAT_GOOD_EXPKEY;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
default:
|
|
Packit |
d7e8d0 |
return GPGME_SIG_STAT_ERROR;
|
|
Packit |
d7e8d0 |
}
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
case GPGME_ATTR_SIG_SUMMARY:
|
|
Packit |
d7e8d0 |
return sig->summary;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
default:
|
|
Packit |
d7e8d0 |
break;
|
|
Packit |
d7e8d0 |
}
|
|
Packit |
d7e8d0 |
return 0;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
-- Function: const char * gpgme_get_sig_key (gpgme_ctx_t CTX, int IDX,
|
|
Packit |
d7e8d0 |
gpgme_key_t *R_KEY)
|
|
Packit |
d7e8d0 |
The function ‘gpgme_get_sig_key’ is equivalent to:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
gpgme_verify_result_t result;
|
|
Packit |
d7e8d0 |
gpgme_signature_t sig;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
result = gpgme_op_verify_result (ctx);
|
|
Packit |
d7e8d0 |
sig = result->signatures;
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
while (sig && idx)
|
|
Packit |
d7e8d0 |
{
|
|
Packit |
d7e8d0 |
sig = sig->next;
|
|
Packit |
d7e8d0 |
idx--;
|
|
Packit |
d7e8d0 |
}
|
|
Packit |
d7e8d0 |
if (!sig || idx)
|
|
Packit |
d7e8d0 |
return gpg_error (GPG_ERR_EOF);
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
return gpgme_get_key (ctx, sig->fpr, r_key, 0);
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
?
|
|
Packit |
d7e8d0 |
File: gpgme.info, Node: Library Copying, Next: Copying, Prev: Deprecated Functions, Up: Top
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
GNU Lesser General Public License
|
|
Packit |
d7e8d0 |
*********************************
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Version 2.1, February 1999
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Copyright © 1991, 1999 Free Software Foundation, Inc.
|
|
Packit |
d7e8d0 |
59 Temple Place – Suite 330, Boston, MA 02111-1307, USA
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Everyone is permitted to copy and distribute verbatim copies
|
|
Packit |
d7e8d0 |
of this license document, but changing it is not allowed.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
[This is the first released version of the Lesser GPL. It also counts
|
|
Packit |
d7e8d0 |
as the successor of the GNU Library Public License, version 2, hence the
|
|
Packit |
d7e8d0 |
version number 2.1.]
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Preamble
|
|
Packit |
d7e8d0 |
========
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The licenses for most software are designed to take away your freedom to
|
|
Packit |
d7e8d0 |
share and change it. By contrast, the GNU General Public Licenses are
|
|
Packit |
d7e8d0 |
intended to guarantee your freedom to share and change free software—to
|
|
Packit |
d7e8d0 |
make sure the software is free for all its users.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This license, the Lesser General Public License, applies to some
|
|
Packit |
d7e8d0 |
specially designated software—typically libraries—of the Free Software
|
|
Packit |
d7e8d0 |
Foundation and other authors who decide to use it. You can use it too,
|
|
Packit |
d7e8d0 |
but we suggest you first think carefully about whether this license or
|
|
Packit |
d7e8d0 |
the ordinary General Public License is the better strategy to use in any
|
|
Packit |
d7e8d0 |
particular case, based on the explanations below.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
When we speak of free software, we are referring to freedom of use,
|
|
Packit |
d7e8d0 |
not price. Our General Public Licenses are designed to make sure that
|
|
Packit |
d7e8d0 |
you have the freedom to distribute copies of free software (and charge
|
|
Packit |
d7e8d0 |
for this service if you wish); that you receive source code or can get
|
|
Packit |
d7e8d0 |
it if you want it; that you can change the software and use pieces of it
|
|
Packit |
d7e8d0 |
in new free programs; and that you are informed that you can do these
|
|
Packit |
d7e8d0 |
things.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
To protect your rights, we need to make restrictions that forbid
|
|
Packit |
d7e8d0 |
distributors to deny you these rights or to ask you to surrender these
|
|
Packit |
d7e8d0 |
rights. These restrictions translate to certain responsibilities for
|
|
Packit |
d7e8d0 |
you if you distribute copies of the library or if you modify it.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
For example, if you distribute copies of the library, whether gratis
|
|
Packit |
d7e8d0 |
or for a fee, you must give the recipients all the rights that we gave
|
|
Packit |
d7e8d0 |
you. You must make sure that they, too, receive or can get the source
|
|
Packit |
d7e8d0 |
code. If you link other code with the library, you must provide
|
|
Packit |
d7e8d0 |
complete object files to the recipients, so that they can relink them
|
|
Packit |
d7e8d0 |
with the library after making changes to the library and recompiling it.
|
|
Packit |
d7e8d0 |
And you must show them these terms so they know their rights.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
We protect your rights with a two-step method: (1) we copyright the
|
|
Packit |
d7e8d0 |
library, and (2) we offer you this license, which gives you legal
|
|
Packit |
d7e8d0 |
permission to copy, distribute and/or modify the library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
To protect each distributor, we want to make it very clear that there
|
|
Packit |
d7e8d0 |
is no warranty for the free library. Also, if the library is modified
|
|
Packit |
d7e8d0 |
by someone else and passed on, the recipients should know that what they
|
|
Packit |
d7e8d0 |
have is not the original version, so that the original author’s
|
|
Packit |
d7e8d0 |
reputation will not be affected by problems that might be introduced by
|
|
Packit |
d7e8d0 |
others.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Finally, software patents pose a constant threat to the existence of
|
|
Packit |
d7e8d0 |
any free program. We wish to make sure that a company cannot
|
|
Packit |
d7e8d0 |
effectively restrict the users of a free program by obtaining a
|
|
Packit |
d7e8d0 |
restrictive license from a patent holder. Therefore, we insist that any
|
|
Packit |
d7e8d0 |
patent license obtained for a version of the library must be consistent
|
|
Packit |
d7e8d0 |
with the full freedom of use specified in this license.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Most GNU software, including some libraries, is covered by the
|
|
Packit |
d7e8d0 |
ordinary GNU General Public License. This license, the GNU Lesser
|
|
Packit |
d7e8d0 |
General Public License, applies to certain designated libraries, and is
|
|
Packit |
d7e8d0 |
quite different from the ordinary General Public License. We use this
|
|
Packit |
d7e8d0 |
license for certain libraries in order to permit linking those libraries
|
|
Packit |
d7e8d0 |
into non-free programs.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
When a program is linked with a library, whether statically or using
|
|
Packit |
d7e8d0 |
a shared library, the combination of the two is legally speaking a
|
|
Packit |
d7e8d0 |
combined work, a derivative of the original library. The ordinary
|
|
Packit |
d7e8d0 |
General Public License therefore permits such linking only if the entire
|
|
Packit |
d7e8d0 |
combination fits its criteria of freedom. The Lesser General Public
|
|
Packit |
d7e8d0 |
License permits more lax criteria for linking other code with the
|
|
Packit |
d7e8d0 |
library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
We call this license the “Lesser” General Public License because it
|
|
Packit |
d7e8d0 |
does _Less_ to protect the user’s freedom than the ordinary General
|
|
Packit |
d7e8d0 |
Public License. It also provides other free software developers Less of
|
|
Packit |
d7e8d0 |
an advantage over competing non-free programs. These disadvantages are
|
|
Packit |
d7e8d0 |
the reason we use the ordinary General Public License for many
|
|
Packit |
d7e8d0 |
libraries. However, the Lesser license provides advantages in certain
|
|
Packit |
d7e8d0 |
special circumstances.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
For example, on rare occasions, there may be a special need to
|
|
Packit |
d7e8d0 |
encourage the widest possible use of a certain library, so that it
|
|
Packit |
d7e8d0 |
becomes a de-facto standard. To achieve this, non-free programs must be
|
|
Packit |
d7e8d0 |
allowed to use the library. A more frequent case is that a free library
|
|
Packit |
d7e8d0 |
does the same job as widely used non-free libraries. In this case,
|
|
Packit |
d7e8d0 |
there is little to gain by limiting the free library to free software
|
|
Packit |
d7e8d0 |
only, so we use the Lesser General Public License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
In other cases, permission to use a particular library in non-free
|
|
Packit |
d7e8d0 |
programs enables a greater number of people to use a large body of free
|
|
Packit |
d7e8d0 |
software. For example, permission to use the GNU C Library in non-free
|
|
Packit |
d7e8d0 |
programs enables many more people to use the whole GNU operating system,
|
|
Packit |
d7e8d0 |
as well as its variant, the GNU/Linux operating system.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Although the Lesser General Public License is Less protective of the
|
|
Packit |
d7e8d0 |
users’ freedom, it does ensure that the user of a program that is linked
|
|
Packit |
d7e8d0 |
with the Library has the freedom and the wherewithal to run that program
|
|
Packit |
d7e8d0 |
using a modified version of the Library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The precise terms and conditions for copying, distribution and
|
|
Packit |
d7e8d0 |
modification follow. Pay close attention to the difference between a
|
|
Packit |
d7e8d0 |
“work based on the library” and a “work that uses the library”. The
|
|
Packit |
d7e8d0 |
former contains code derived from the library, whereas the latter must
|
|
Packit |
d7e8d0 |
be combined with the library in order to run.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
GNU LESSER GENERAL PUBLIC LICENSE
|
|
Packit |
d7e8d0 |
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
0. This License Agreement applies to any software library or other
|
|
Packit |
d7e8d0 |
program which contains a notice placed by the copyright holder or
|
|
Packit |
d7e8d0 |
other authorized party saying it may be distributed under the terms
|
|
Packit |
d7e8d0 |
of this Lesser General Public License (also called “this License”).
|
|
Packit |
d7e8d0 |
Each licensee is addressed as “you”.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
A “library” means a collection of software functions and/or data
|
|
Packit |
d7e8d0 |
prepared so as to be conveniently linked with application programs
|
|
Packit |
d7e8d0 |
(which use some of those functions and data) to form executables.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The “Library”, below, refers to any such software library or work
|
|
Packit |
d7e8d0 |
which has been distributed under these terms. A “work based on the
|
|
Packit |
d7e8d0 |
Library” means either the Library or any derivative work under
|
|
Packit |
d7e8d0 |
copyright law: that is to say, a work containing the Library or a
|
|
Packit |
d7e8d0 |
portion of it, either verbatim or with modifications and/or
|
|
Packit |
d7e8d0 |
translated straightforwardly into another language. (Hereinafter,
|
|
Packit |
d7e8d0 |
translation is included without limitation in the term
|
|
Packit |
d7e8d0 |
“modification”.)
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
“Source code” for a work means the preferred form of the work for
|
|
Packit |
d7e8d0 |
making modifications to it. For a library, complete source code
|
|
Packit |
d7e8d0 |
means all the source code for all modules it contains, plus any
|
|
Packit |
d7e8d0 |
associated interface definition files, plus the scripts used to
|
|
Packit |
d7e8d0 |
control compilation and installation of the library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Activities other than copying, distribution and modification are
|
|
Packit |
d7e8d0 |
not covered by this License; they are outside its scope. The act
|
|
Packit |
d7e8d0 |
of running a program using the Library is not restricted, and
|
|
Packit |
d7e8d0 |
output from such a program is covered only if its contents
|
|
Packit |
d7e8d0 |
constitute a work based on the Library (independent of the use of
|
|
Packit |
d7e8d0 |
the Library in a tool for writing it). Whether that is true
|
|
Packit |
d7e8d0 |
depends on what the Library does and what the program that uses the
|
|
Packit |
d7e8d0 |
Library does.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
1. You may copy and distribute verbatim copies of the Library’s
|
|
Packit |
d7e8d0 |
complete source code as you receive it, in any medium, provided
|
|
Packit |
d7e8d0 |
that you conspicuously and appropriately publish on each copy an
|
|
Packit |
d7e8d0 |
appropriate copyright notice and disclaimer of warranty; keep
|
|
Packit |
d7e8d0 |
intact all the notices that refer to this License and to the
|
|
Packit |
d7e8d0 |
absence of any warranty; and distribute a copy of this License
|
|
Packit |
d7e8d0 |
along with the Library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You may charge a fee for the physical act of transferring a copy,
|
|
Packit |
d7e8d0 |
and you may at your option offer warranty protection in exchange
|
|
Packit |
d7e8d0 |
for a fee.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
2. You may modify your copy or copies of the Library or any portion of
|
|
Packit |
d7e8d0 |
it, thus forming a work based on the Library, and copy and
|
|
Packit |
d7e8d0 |
distribute such modifications or work under the terms of Section 1
|
|
Packit |
d7e8d0 |
above, provided that you also meet all of these conditions:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
a. The modified work must itself be a software library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
b. You must cause the files modified to carry prominent notices
|
|
Packit |
d7e8d0 |
stating that you changed the files and the date of any change.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
c. You must cause the whole of the work to be licensed at no
|
|
Packit |
d7e8d0 |
charge to all third parties under the terms of this License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
d. If a facility in the modified Library refers to a function or
|
|
Packit |
d7e8d0 |
a table of data to be supplied by an application program that
|
|
Packit |
d7e8d0 |
uses the facility, other than as an argument passed when the
|
|
Packit |
d7e8d0 |
facility is invoked, then you must make a good faith effort to
|
|
Packit |
d7e8d0 |
ensure that, in the event an application does not supply such
|
|
Packit |
d7e8d0 |
function or table, the facility still operates, and performs
|
|
Packit |
d7e8d0 |
whatever part of its purpose remains meaningful.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
(For example, a function in a library to compute square roots
|
|
Packit |
d7e8d0 |
has a purpose that is entirely well-defined independent of the
|
|
Packit |
d7e8d0 |
application. Therefore, Subsection 2d requires that any
|
|
Packit |
d7e8d0 |
application-supplied function or table used by this function
|
|
Packit |
d7e8d0 |
must be optional: if the application does not supply it, the
|
|
Packit |
d7e8d0 |
square root function must still compute square roots.)
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
These requirements apply to the modified work as a whole. If
|
|
Packit |
d7e8d0 |
identifiable sections of that work are not derived from the
|
|
Packit |
d7e8d0 |
Library, and can be reasonably considered independent and separate
|
|
Packit |
d7e8d0 |
works in themselves, then this License, and its terms, do not apply
|
|
Packit |
d7e8d0 |
to those sections when you distribute them as separate works. But
|
|
Packit |
d7e8d0 |
when you distribute the same sections as part of a whole which is a
|
|
Packit |
d7e8d0 |
work based on the Library, the distribution of the whole must be on
|
|
Packit |
d7e8d0 |
the terms of this License, whose permissions for other licensees
|
|
Packit |
d7e8d0 |
extend to the entire whole, and thus to each and every part
|
|
Packit |
d7e8d0 |
regardless of who wrote it.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Thus, it is not the intent of this section to claim rights or
|
|
Packit |
d7e8d0 |
contest your rights to work written entirely by you; rather, the
|
|
Packit |
d7e8d0 |
intent is to exercise the right to control the distribution of
|
|
Packit |
d7e8d0 |
derivative or collective works based on the Library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
In addition, mere aggregation of another work not based on the
|
|
Packit |
d7e8d0 |
Library with the Library (or with a work based on the Library) on a
|
|
Packit |
d7e8d0 |
volume of a storage or distribution medium does not bring the other
|
|
Packit |
d7e8d0 |
work under the scope of this License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
3. You may opt to apply the terms of the ordinary GNU General Public
|
|
Packit |
d7e8d0 |
License instead of this License to a given copy of the Library. To
|
|
Packit |
d7e8d0 |
do this, you must alter all the notices that refer to this License,
|
|
Packit |
d7e8d0 |
so that they refer to the ordinary GNU General Public License,
|
|
Packit |
d7e8d0 |
version 2, instead of to this License. (If a newer version than
|
|
Packit |
d7e8d0 |
version 2 of the ordinary GNU General Public License has appeared,
|
|
Packit |
d7e8d0 |
then you can specify that version instead if you wish.) Do not
|
|
Packit |
d7e8d0 |
make any other change in these notices.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Once this change is made in a given copy, it is irreversible for
|
|
Packit |
d7e8d0 |
that copy, so the ordinary GNU General Public License applies to
|
|
Packit |
d7e8d0 |
all subsequent copies and derivative works made from that copy.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This option is useful when you wish to copy part of the code of the
|
|
Packit |
d7e8d0 |
Library into a program that is not a library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
4. You may copy and distribute the Library (or a portion or derivative
|
|
Packit |
d7e8d0 |
of it, under Section 2) in object code or executable form under the
|
|
Packit |
d7e8d0 |
terms of Sections 1 and 2 above provided that you accompany it with
|
|
Packit |
d7e8d0 |
the complete corresponding machine-readable source code, which must
|
|
Packit |
d7e8d0 |
be distributed under the terms of Sections 1 and 2 above on a
|
|
Packit |
d7e8d0 |
medium customarily used for software interchange.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If distribution of object code is made by offering access to copy
|
|
Packit |
d7e8d0 |
from a designated place, then offering equivalent access to copy
|
|
Packit |
d7e8d0 |
the source code from the same place satisfies the requirement to
|
|
Packit |
d7e8d0 |
distribute the source code, even though third parties are not
|
|
Packit |
d7e8d0 |
compelled to copy the source along with the object code.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
5. A program that contains no derivative of any portion of the
|
|
Packit |
d7e8d0 |
Library, but is designed to work with the Library by being compiled
|
|
Packit |
d7e8d0 |
or linked with it, is called a “work that uses the Library”. Such
|
|
Packit |
d7e8d0 |
a work, in isolation, is not a derivative work of the Library, and
|
|
Packit |
d7e8d0 |
therefore falls outside the scope of this License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
However, linking a “work that uses the Library” with the Library
|
|
Packit |
d7e8d0 |
creates an executable that is a derivative of the Library (because
|
|
Packit |
d7e8d0 |
it contains portions of the Library), rather than a “work that uses
|
|
Packit |
d7e8d0 |
the library”. The executable is therefore covered by this License.
|
|
Packit |
d7e8d0 |
Section 6 states terms for distribution of such executables.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
When a “work that uses the Library” uses material from a header
|
|
Packit |
d7e8d0 |
file that is part of the Library, the object code for the work may
|
|
Packit |
d7e8d0 |
be a derivative work of the Library even though the source code is
|
|
Packit |
d7e8d0 |
not. Whether this is true is especially significant if the work
|
|
Packit |
d7e8d0 |
can be linked without the Library, or if the work is itself a
|
|
Packit |
d7e8d0 |
library. The threshold for this to be true is not precisely
|
|
Packit |
d7e8d0 |
defined by law.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If such an object file uses only numerical parameters, data
|
|
Packit |
d7e8d0 |
structure layouts and accessors, and small macros and small inline
|
|
Packit |
d7e8d0 |
functions (ten lines or less in length), then the use of the object
|
|
Packit |
d7e8d0 |
file is unrestricted, regardless of whether it is legally a
|
|
Packit |
d7e8d0 |
derivative work. (Executables containing this object code plus
|
|
Packit |
d7e8d0 |
portions of the Library will still fall under Section 6.)
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Otherwise, if the work is a derivative of the Library, you may
|
|
Packit |
d7e8d0 |
distribute the object code for the work under the terms of Section
|
|
Packit |
d7e8d0 |
6. Any executables containing that work also fall under Section 6,
|
|
Packit |
d7e8d0 |
whether or not they are linked directly with the Library itself.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
6. As an exception to the Sections above, you may also combine or link
|
|
Packit |
d7e8d0 |
a “work that uses the Library” with the Library to produce a work
|
|
Packit |
d7e8d0 |
containing portions of the Library, and distribute that work under
|
|
Packit |
d7e8d0 |
terms of your choice, provided that the terms permit modification
|
|
Packit |
d7e8d0 |
of the work for the customer’s own use and reverse engineering for
|
|
Packit |
d7e8d0 |
debugging such modifications.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You must give prominent notice with each copy of the work that the
|
|
Packit |
d7e8d0 |
Library is used in it and that the Library and its use are covered
|
|
Packit |
d7e8d0 |
by this License. You must supply a copy of this License. If the
|
|
Packit |
d7e8d0 |
work during execution displays copyright notices, you must include
|
|
Packit |
d7e8d0 |
the copyright notice for the Library among them, as well as a
|
|
Packit |
d7e8d0 |
reference directing the user to the copy of this License. Also,
|
|
Packit |
d7e8d0 |
you must do one of these things:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
a. Accompany the work with the complete corresponding
|
|
Packit |
d7e8d0 |
machine-readable source code for the Library including
|
|
Packit |
d7e8d0 |
whatever changes were used in the work (which must be
|
|
Packit |
d7e8d0 |
distributed under Sections 1 and 2 above); and, if the work is
|
|
Packit |
d7e8d0 |
an executable linked with the Library, with the complete
|
|
Packit |
d7e8d0 |
machine-readable “work that uses the Library”, as object code
|
|
Packit |
d7e8d0 |
and/or source code, so that the user can modify the Library
|
|
Packit |
d7e8d0 |
and then relink to produce a modified executable containing
|
|
Packit |
d7e8d0 |
the modified Library. (It is understood that the user who
|
|
Packit |
d7e8d0 |
changes the contents of definitions files in the Library will
|
|
Packit |
d7e8d0 |
not necessarily be able to recompile the application to use
|
|
Packit |
d7e8d0 |
the modified definitions.)
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
b. Use a suitable shared library mechanism for linking with the
|
|
Packit |
d7e8d0 |
Library. A suitable mechanism is one that (1) uses at run
|
|
Packit |
d7e8d0 |
time a copy of the library already present on the user’s
|
|
Packit |
d7e8d0 |
computer system, rather than copying library functions into
|
|
Packit |
d7e8d0 |
the executable, and (2) will operate properly with a modified
|
|
Packit |
d7e8d0 |
version of the library, if the user installs one, as long as
|
|
Packit |
d7e8d0 |
the modified version is interface-compatible with the version
|
|
Packit |
d7e8d0 |
that the work was made with.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
c. Accompany the work with a written offer, valid for at least
|
|
Packit |
d7e8d0 |
three years, to give the same user the materials specified in
|
|
Packit |
d7e8d0 |
Subsection 6a, above, for a charge no more than the cost of
|
|
Packit |
d7e8d0 |
performing this distribution.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
d. If distribution of the work is made by offering access to copy
|
|
Packit |
d7e8d0 |
from a designated place, offer equivalent access to copy the
|
|
Packit |
d7e8d0 |
above specified materials from the same place.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
e. Verify that the user has already received a copy of these
|
|
Packit |
d7e8d0 |
materials or that you have already sent this user a copy.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
For an executable, the required form of the “work that uses the
|
|
Packit |
d7e8d0 |
Library” must include any data and utility programs needed for
|
|
Packit |
d7e8d0 |
reproducing the executable from it. However, as a special
|
|
Packit |
d7e8d0 |
exception, the materials to be distributed need not include
|
|
Packit |
d7e8d0 |
anything that is normally distributed (in either source or binary
|
|
Packit |
d7e8d0 |
form) with the major components (compiler, kernel, and so on) of
|
|
Packit |
d7e8d0 |
the operating system on which the executable runs, unless that
|
|
Packit |
d7e8d0 |
component itself accompanies the executable.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
It may happen that this requirement contradicts the license
|
|
Packit |
d7e8d0 |
restrictions of other proprietary libraries that do not normally
|
|
Packit |
d7e8d0 |
accompany the operating system. Such a contradiction means you
|
|
Packit |
d7e8d0 |
cannot use both them and the Library together in an executable that
|
|
Packit |
d7e8d0 |
you distribute.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
7. You may place library facilities that are a work based on the
|
|
Packit |
d7e8d0 |
Library side-by-side in a single library together with other
|
|
Packit |
d7e8d0 |
library facilities not covered by this License, and distribute such
|
|
Packit |
d7e8d0 |
a combined library, provided that the separate distribution of the
|
|
Packit |
d7e8d0 |
work based on the Library and of the other library facilities is
|
|
Packit |
d7e8d0 |
otherwise permitted, and provided that you do these two things:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
a. Accompany the combined library with a copy of the same work
|
|
Packit |
d7e8d0 |
based on the Library, uncombined with any other library
|
|
Packit |
d7e8d0 |
facilities. This must be distributed under the terms of the
|
|
Packit |
d7e8d0 |
Sections above.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
b. Give prominent notice with the combined library of the fact
|
|
Packit |
d7e8d0 |
that part of it is a work based on the Library, and explaining
|
|
Packit |
d7e8d0 |
where to find the accompanying uncombined form of the same
|
|
Packit |
d7e8d0 |
work.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
8. You may not copy, modify, sublicense, link with, or distribute the
|
|
Packit |
d7e8d0 |
Library except as expressly provided under this License. Any
|
|
Packit |
d7e8d0 |
attempt otherwise to copy, modify, sublicense, link with, or
|
|
Packit |
d7e8d0 |
distribute the Library is void, and will automatically terminate
|
|
Packit |
d7e8d0 |
your rights under this License. However, parties who have received
|
|
Packit |
d7e8d0 |
copies, or rights, from you under this License will not have their
|
|
Packit |
d7e8d0 |
licenses terminated so long as such parties remain in full
|
|
Packit |
d7e8d0 |
compliance.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
9. You are not required to accept this License, since you have not
|
|
Packit |
d7e8d0 |
signed it. However, nothing else grants you permission to modify
|
|
Packit |
d7e8d0 |
or distribute the Library or its derivative works. These actions
|
|
Packit |
d7e8d0 |
are prohibited by law if you do not accept this License.
|
|
Packit |
d7e8d0 |
Therefore, by modifying or distributing the Library (or any work
|
|
Packit |
d7e8d0 |
based on the Library), you indicate your acceptance of this License
|
|
Packit |
d7e8d0 |
to do so, and all its terms and conditions for copying,
|
|
Packit |
d7e8d0 |
distributing or modifying the Library or works based on it.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
10. Each time you redistribute the Library (or any work based on the
|
|
Packit |
d7e8d0 |
Library), the recipient automatically receives a license from the
|
|
Packit |
d7e8d0 |
original licensor to copy, distribute, link with or modify the
|
|
Packit |
d7e8d0 |
Library subject to these terms and conditions. You may not impose
|
|
Packit |
d7e8d0 |
any further restrictions on the recipients’ exercise of the rights
|
|
Packit |
d7e8d0 |
granted herein. You are not responsible for enforcing compliance
|
|
Packit |
d7e8d0 |
by third parties with this License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
11. If, as a consequence of a court judgment or allegation of patent
|
|
Packit |
d7e8d0 |
infringement or for any other reason (not limited to patent
|
|
Packit |
d7e8d0 |
issues), conditions are imposed on you (whether by court order,
|
|
Packit |
d7e8d0 |
agreement or otherwise) that contradict the conditions of this
|
|
Packit |
d7e8d0 |
License, they do not excuse you from the conditions of this
|
|
Packit |
d7e8d0 |
License. If you cannot distribute so as to satisfy simultaneously
|
|
Packit |
d7e8d0 |
your obligations under this License and any other pertinent
|
|
Packit |
d7e8d0 |
obligations, then as a consequence you may not distribute the
|
|
Packit |
d7e8d0 |
Library at all. For example, if a patent license would not permit
|
|
Packit |
d7e8d0 |
royalty-free redistribution of the Library by all those who receive
|
|
Packit |
d7e8d0 |
copies directly or indirectly through you, then the only way you
|
|
Packit |
d7e8d0 |
could satisfy both it and this License would be to refrain entirely
|
|
Packit |
d7e8d0 |
from distribution of the Library.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If any portion of this section is held invalid or unenforceable
|
|
Packit |
d7e8d0 |
under any particular circumstance, the balance of the section is
|
|
Packit |
d7e8d0 |
intended to apply, and the section as a whole is intended to apply
|
|
Packit |
d7e8d0 |
in other circumstances.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
It is not the purpose of this section to induce you to infringe any
|
|
Packit |
d7e8d0 |
patents or other property right claims or to contest validity of
|
|
Packit |
d7e8d0 |
any such claims; this section has the sole purpose of protecting
|
|
Packit |
d7e8d0 |
the integrity of the free software distribution system which is
|
|
Packit |
d7e8d0 |
implemented by public license practices. Many people have made
|
|
Packit |
d7e8d0 |
generous contributions to the wide range of software distributed
|
|
Packit |
d7e8d0 |
through that system in reliance on consistent application of that
|
|
Packit |
d7e8d0 |
system; it is up to the author/donor to decide if he or she is
|
|
Packit |
d7e8d0 |
willing to distribute software through any other system and a
|
|
Packit |
d7e8d0 |
licensee cannot impose that choice.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This section is intended to make thoroughly clear what is believed
|
|
Packit |
d7e8d0 |
to be a consequence of the rest of this License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
12. If the distribution and/or use of the Library is restricted in
|
|
Packit |
d7e8d0 |
certain countries either by patents or by copyrighted interfaces,
|
|
Packit |
d7e8d0 |
the original copyright holder who places the Library under this
|
|
Packit |
d7e8d0 |
License may add an explicit geographical distribution limitation
|
|
Packit |
d7e8d0 |
excluding those countries, so that distribution is permitted only
|
|
Packit |
d7e8d0 |
in or among countries not thus excluded. In such case, this
|
|
Packit |
d7e8d0 |
License incorporates the limitation as if written in the body of
|
|
Packit |
d7e8d0 |
this License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
13. The Free Software Foundation may publish revised and/or new
|
|
Packit |
d7e8d0 |
versions of the Lesser General Public License from time to time.
|
|
Packit |
d7e8d0 |
Such new versions will be similar in spirit to the present version,
|
|
Packit |
d7e8d0 |
but may differ in detail to address new problems or concerns.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Each version is given a distinguishing version number. If the
|
|
Packit |
d7e8d0 |
Library specifies a version number of this License which applies to
|
|
Packit |
d7e8d0 |
it and “any later version”, you have the option of following the
|
|
Packit |
d7e8d0 |
terms and conditions either of that version or of any later version
|
|
Packit |
d7e8d0 |
published by the Free Software Foundation. If the Library does not
|
|
Packit |
d7e8d0 |
specify a license version number, you may choose any version ever
|
|
Packit |
d7e8d0 |
published by the Free Software Foundation.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
14. If you wish to incorporate parts of the Library into other free
|
|
Packit |
d7e8d0 |
programs whose distribution conditions are incompatible with these,
|
|
Packit |
d7e8d0 |
write to the author to ask for permission. For software which is
|
|
Packit |
d7e8d0 |
copyrighted by the Free Software Foundation, write to the Free
|
|
Packit |
d7e8d0 |
Software Foundation; we sometimes make exceptions for this. Our
|
|
Packit |
d7e8d0 |
decision will be guided by the two goals of preserving the free
|
|
Packit |
d7e8d0 |
status of all derivatives of our free software and of promoting the
|
|
Packit |
d7e8d0 |
sharing and reuse of software generally.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
NO WARRANTY
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
|
Packit |
d7e8d0 |
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE
|
|
Packit |
d7e8d0 |
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
|
|
Packit |
d7e8d0 |
AND/OR OTHER PARTIES PROVIDE THE LIBRARY “AS IS” WITHOUT WARRANTY
|
|
Packit |
d7e8d0 |
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
|
|
Packit |
d7e8d0 |
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
Packit |
d7e8d0 |
FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
|
Packit |
d7e8d0 |
PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE
|
|
Packit |
d7e8d0 |
DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
|
|
Packit |
d7e8d0 |
OR CORRECTION.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
|
Packit |
d7e8d0 |
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
|
|
Packit |
d7e8d0 |
MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
|
|
Packit |
d7e8d0 |
LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
|
|
Packit |
d7e8d0 |
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
|
|
Packit |
d7e8d0 |
INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF
|
|
Packit |
d7e8d0 |
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
|
|
Packit |
d7e8d0 |
OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY
|
|
Packit |
d7e8d0 |
OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
|
|
Packit |
d7e8d0 |
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
END OF TERMS AND CONDITIONS
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
How to Apply These Terms to Your New Libraries
|
|
Packit |
d7e8d0 |
==============================================
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If you develop a new library, and you want it to be of the greatest
|
|
Packit |
d7e8d0 |
possible use to the public, we recommend making it free software that
|
|
Packit |
d7e8d0 |
everyone can redistribute and change. You can do so by permitting
|
|
Packit |
d7e8d0 |
redistribution under these terms (or, alternatively, under the terms of
|
|
Packit |
d7e8d0 |
the ordinary General Public License).
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
To apply these terms, attach the following notices to the library.
|
|
Packit |
d7e8d0 |
It is safest to attach them to the start of each source file to most
|
|
Packit |
d7e8d0 |
effectively convey the exclusion of warranty; and each file should have
|
|
Packit |
d7e8d0 |
at least the “copyright” line and a pointer to where the full notice is
|
|
Packit |
d7e8d0 |
found.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES.
|
|
Packit |
d7e8d0 |
Copyright (C) YEAR NAME OF AUTHOR
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This library is free software; you can redistribute it and/or modify it
|
|
Packit |
d7e8d0 |
under the terms of the GNU Lesser General Public License as published by
|
|
Packit |
d7e8d0 |
the Free Software Foundation; either version 2.1 of the License, or (at
|
|
Packit |
d7e8d0 |
your option) any later version.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This library is distributed in the hope that it will be useful, but
|
|
Packit |
d7e8d0 |
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
d7e8d0 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
d7e8d0 |
Lesser General Public License for more details.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You should have received a copy of the GNU Lesser General Public
|
|
Packit |
d7e8d0 |
License along with this library; if not, write to the Free Software
|
|
Packit |
d7e8d0 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
|
|
Packit |
d7e8d0 |
USA.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Also add information on how to contact you by electronic and paper
|
|
Packit |
d7e8d0 |
mail.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You should also get your employer (if you work as a programmer) or
|
|
Packit |
d7e8d0 |
your school, if any, to sign a “copyright disclaimer” for the library,
|
|
Packit |
d7e8d0 |
if necessary. Here is a sample; alter the names:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Yoyodyne, Inc., hereby disclaims all copyright interest in the library
|
|
Packit |
d7e8d0 |
`Frob' (a library for tweaking knobs) written by James Random Hacker.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
SIGNATURE OF TY COON, 1 April 1990
|
|
Packit |
d7e8d0 |
Ty Coon, President of Vice
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
That’s all there is to it!
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
?
|
|
Packit |
d7e8d0 |
File: gpgme.info, Node: Copying, Next: Concept Index, Prev: Library Copying, Up: Top
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
GNU General Public License
|
|
Packit |
d7e8d0 |
**************************
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Version 3, 29 June 2007
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Everyone is permitted to copy and distribute verbatim copies of this
|
|
Packit |
d7e8d0 |
license document, but changing it is not allowed.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Preamble
|
|
Packit |
d7e8d0 |
========
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The GNU General Public License is a free, copyleft license for software
|
|
Packit |
d7e8d0 |
and other kinds of works.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The licenses for most software and other practical works are designed
|
|
Packit |
d7e8d0 |
to take away your freedom to share and change the works. By contrast,
|
|
Packit |
d7e8d0 |
the GNU General Public License is intended to guarantee your freedom to
|
|
Packit |
d7e8d0 |
share and change all versions of a program–to make sure it remains free
|
|
Packit |
d7e8d0 |
software for all its users. We, the Free Software Foundation, use the
|
|
Packit |
d7e8d0 |
GNU General Public License for most of our software; it applies also to
|
|
Packit |
d7e8d0 |
any other work released this way by its authors. You can apply it to
|
|
Packit |
d7e8d0 |
your programs, too.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
When we speak of free software, we are referring to freedom, not
|
|
Packit |
d7e8d0 |
price. Our General Public Licenses are designed to make sure that you
|
|
Packit |
d7e8d0 |
have the freedom to distribute copies of free software (and charge for
|
|
Packit |
d7e8d0 |
them if you wish), that you receive source code or can get it if you
|
|
Packit |
d7e8d0 |
want it, that you can change the software or use pieces of it in new
|
|
Packit |
d7e8d0 |
free programs, and that you know you can do these things.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
To protect your rights, we need to prevent others from denying you
|
|
Packit |
d7e8d0 |
these rights or asking you to surrender the rights. Therefore, you have
|
|
Packit |
d7e8d0 |
certain responsibilities if you distribute copies of the software, or if
|
|
Packit |
d7e8d0 |
you modify it: responsibilities to respect the freedom of others.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
For example, if you distribute copies of such a program, whether
|
|
Packit |
d7e8d0 |
gratis or for a fee, you must pass on to the recipients the same
|
|
Packit |
d7e8d0 |
freedoms that you received. You must make sure that they, too, receive
|
|
Packit |
d7e8d0 |
or can get the source code. And you must show them these terms so they
|
|
Packit |
d7e8d0 |
know their rights.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Developers that use the GNU GPL protect your rights with two steps:
|
|
Packit |
d7e8d0 |
(1) assert copyright on the software, and (2) offer you this License
|
|
Packit |
d7e8d0 |
giving you legal permission to copy, distribute and/or modify it.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
For the developers’ and authors’ protection, the GPL clearly explains
|
|
Packit |
d7e8d0 |
that there is no warranty for this free software. For both users’ and
|
|
Packit |
d7e8d0 |
authors’ sake, the GPL requires that modified versions be marked as
|
|
Packit |
d7e8d0 |
changed, so that their problems will not be attributed erroneously to
|
|
Packit |
d7e8d0 |
authors of previous versions.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Some devices are designed to deny users access to install or run
|
|
Packit |
d7e8d0 |
modified versions of the software inside them, although the manufacturer
|
|
Packit |
d7e8d0 |
can do so. This is fundamentally incompatible with the aim of
|
|
Packit |
d7e8d0 |
protecting users’ freedom to change the software. The systematic
|
|
Packit |
d7e8d0 |
pattern of such abuse occurs in the area of products for individuals to
|
|
Packit |
d7e8d0 |
use, which is precisely where it is most unacceptable. Therefore, we
|
|
Packit |
d7e8d0 |
have designed this version of the GPL to prohibit the practice for those
|
|
Packit |
d7e8d0 |
products. If such problems arise substantially in other domains, we
|
|
Packit |
d7e8d0 |
stand ready to extend this provision to those domains in future versions
|
|
Packit |
d7e8d0 |
of the GPL, as needed to protect the freedom of users.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Finally, every program is threatened constantly by software patents.
|
|
Packit |
d7e8d0 |
States should not allow patents to restrict development and use of
|
|
Packit |
d7e8d0 |
software on general-purpose computers, but in those that do, we wish to
|
|
Packit |
d7e8d0 |
avoid the special danger that patents applied to a free program could
|
|
Packit |
d7e8d0 |
make it effectively proprietary. To prevent this, the GPL assures that
|
|
Packit |
d7e8d0 |
patents cannot be used to render the program non-free.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The precise terms and conditions for copying, distribution and
|
|
Packit |
d7e8d0 |
modification follow.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
TERMS AND CONDITIONS
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
0. Definitions.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
“This License” refers to version 3 of the GNU General Public
|
|
Packit |
d7e8d0 |
License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
“Copyright” also means copyright-like laws that apply to other
|
|
Packit |
d7e8d0 |
kinds of works, such as semiconductor masks.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
“The Program” refers to any copyrightable work licensed under this
|
|
Packit |
d7e8d0 |
License. Each licensee is addressed as “you”. “Licensees” and
|
|
Packit |
d7e8d0 |
“recipients” may be individuals or organizations.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
To “modify” a work means to copy from or adapt all or part of the
|
|
Packit |
d7e8d0 |
work in a fashion requiring copyright permission, other than the
|
|
Packit |
d7e8d0 |
making of an exact copy. The resulting work is called a “modified
|
|
Packit |
d7e8d0 |
version” of the earlier work or a work “based on” the earlier work.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
A “covered work” means either the unmodified Program or a work
|
|
Packit |
d7e8d0 |
based on the Program.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
To “propagate” a work means to do anything with it that, without
|
|
Packit |
d7e8d0 |
permission, would make you directly or secondarily liable for
|
|
Packit |
d7e8d0 |
infringement under applicable copyright law, except executing it on
|
|
Packit |
d7e8d0 |
a computer or modifying a private copy. Propagation includes
|
|
Packit |
d7e8d0 |
copying, distribution (with or without modification), making
|
|
Packit |
d7e8d0 |
available to the public, and in some countries other activities as
|
|
Packit |
d7e8d0 |
well.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
To “convey” a work means any kind of propagation that enables other
|
|
Packit |
d7e8d0 |
parties to make or receive copies. Mere interaction with a user
|
|
Packit |
d7e8d0 |
through a computer network, with no transfer of a copy, is not
|
|
Packit |
d7e8d0 |
conveying.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
An interactive user interface displays “Appropriate Legal Notices”
|
|
Packit |
d7e8d0 |
to the extent that it includes a convenient and prominently visible
|
|
Packit |
d7e8d0 |
feature that (1) displays an appropriate copyright notice, and (2)
|
|
Packit |
d7e8d0 |
tells the user that there is no warranty for the work (except to
|
|
Packit |
d7e8d0 |
the extent that warranties are provided), that licensees may convey
|
|
Packit |
d7e8d0 |
the work under this License, and how to view a copy of this
|
|
Packit |
d7e8d0 |
License. If the interface presents a list of user commands or
|
|
Packit |
d7e8d0 |
options, such as a menu, a prominent item in the list meets this
|
|
Packit |
d7e8d0 |
criterion.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
1. Source Code.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The “source code” for a work means the preferred form of the work
|
|
Packit |
d7e8d0 |
for making modifications to it. “Object code” means any non-source
|
|
Packit |
d7e8d0 |
form of a work.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
A “Standard Interface” means an interface that either is an
|
|
Packit |
d7e8d0 |
official standard defined by a recognized standards body, or, in
|
|
Packit |
d7e8d0 |
the case of interfaces specified for a particular programming
|
|
Packit |
d7e8d0 |
language, one that is widely used among developers working in that
|
|
Packit |
d7e8d0 |
language.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The “System Libraries” of an executable work include anything,
|
|
Packit |
d7e8d0 |
other than the work as a whole, that (a) is included in the normal
|
|
Packit |
d7e8d0 |
form of packaging a Major Component, but which is not part of that
|
|
Packit |
d7e8d0 |
Major Component, and (b) serves only to enable use of the work with
|
|
Packit |
d7e8d0 |
that Major Component, or to implement a Standard Interface for
|
|
Packit |
d7e8d0 |
which an implementation is available to the public in source code
|
|
Packit |
d7e8d0 |
form. A “Major Component”, in this context, means a major
|
|
Packit |
d7e8d0 |
essential component (kernel, window system, and so on) of the
|
|
Packit |
d7e8d0 |
specific operating system (if any) on which the executable work
|
|
Packit |
d7e8d0 |
runs, or a compiler used to produce the work, or an object code
|
|
Packit |
d7e8d0 |
interpreter used to run it.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The “Corresponding Source” for a work in object code form means all
|
|
Packit |
d7e8d0 |
the source code needed to generate, install, and (for an executable
|
|
Packit |
d7e8d0 |
work) run the object code and to modify the work, including scripts
|
|
Packit |
d7e8d0 |
to control those activities. However, it does not include the
|
|
Packit |
d7e8d0 |
work’s System Libraries, or general-purpose tools or generally
|
|
Packit |
d7e8d0 |
available free programs which are used unmodified in performing
|
|
Packit |
d7e8d0 |
those activities but which are not part of the work. For example,
|
|
Packit |
d7e8d0 |
Corresponding Source includes interface definition files associated
|
|
Packit |
d7e8d0 |
with source files for the work, and the source code for shared
|
|
Packit |
d7e8d0 |
libraries and dynamically linked subprograms that the work is
|
|
Packit |
d7e8d0 |
specifically designed to require, such as by intimate data
|
|
Packit |
d7e8d0 |
communication or control flow between those subprograms and other
|
|
Packit |
d7e8d0 |
parts of the work.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The Corresponding Source need not include anything that users can
|
|
Packit |
d7e8d0 |
regenerate automatically from other parts of the Corresponding
|
|
Packit |
d7e8d0 |
Source.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The Corresponding Source for a work in source code form is that
|
|
Packit |
d7e8d0 |
same work.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
2. Basic Permissions.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
All rights granted under this License are granted for the term of
|
|
Packit |
d7e8d0 |
copyright on the Program, and are irrevocable provided the stated
|
|
Packit |
d7e8d0 |
conditions are met. This License explicitly affirms your unlimited
|
|
Packit |
d7e8d0 |
permission to run the unmodified Program. The output from running
|
|
Packit |
d7e8d0 |
a covered work is covered by this License only if the output, given
|
|
Packit |
d7e8d0 |
its content, constitutes a covered work. This License acknowledges
|
|
Packit |
d7e8d0 |
your rights of fair use or other equivalent, as provided by
|
|
Packit |
d7e8d0 |
copyright law.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You may make, run and propagate covered works that you do not
|
|
Packit |
d7e8d0 |
convey, without conditions so long as your license otherwise
|
|
Packit |
d7e8d0 |
remains in force. You may convey covered works to others for the
|
|
Packit |
d7e8d0 |
sole purpose of having them make modifications exclusively for you,
|
|
Packit |
d7e8d0 |
or provide you with facilities for running those works, provided
|
|
Packit |
d7e8d0 |
that you comply with the terms of this License in conveying all
|
|
Packit |
d7e8d0 |
material for which you do not control copyright. Those thus making
|
|
Packit |
d7e8d0 |
or running the covered works for you must do so exclusively on your
|
|
Packit |
d7e8d0 |
behalf, under your direction and control, on terms that prohibit
|
|
Packit |
d7e8d0 |
them from making any copies of your copyrighted material outside
|
|
Packit |
d7e8d0 |
their relationship with you.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Conveying under any other circumstances is permitted solely under
|
|
Packit |
d7e8d0 |
the conditions stated below. Sublicensing is not allowed; section
|
|
Packit |
d7e8d0 |
10 makes it unnecessary.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
3. Protecting Users’ Legal Rights From Anti-Circumvention Law.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
No covered work shall be deemed part of an effective technological
|
|
Packit |
d7e8d0 |
measure under any applicable law fulfilling obligations under
|
|
Packit |
d7e8d0 |
article 11 of the WIPO copyright treaty adopted on 20 December
|
|
Packit |
d7e8d0 |
1996, or similar laws prohibiting or restricting circumvention of
|
|
Packit |
d7e8d0 |
such measures.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
When you convey a covered work, you waive any legal power to forbid
|
|
Packit |
d7e8d0 |
circumvention of technological measures to the extent such
|
|
Packit |
d7e8d0 |
circumvention is effected by exercising rights under this License
|
|
Packit |
d7e8d0 |
with respect to the covered work, and you disclaim any intention to
|
|
Packit |
d7e8d0 |
limit operation or modification of the work as a means of
|
|
Packit |
d7e8d0 |
enforcing, against the work’s users, your or third parties’ legal
|
|
Packit |
d7e8d0 |
rights to forbid circumvention of technological measures.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
4. Conveying Verbatim Copies.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You may convey verbatim copies of the Program’s source code as you
|
|
Packit |
d7e8d0 |
receive it, in any medium, provided that you conspicuously and
|
|
Packit |
d7e8d0 |
appropriately publish on each copy an appropriate copyright notice;
|
|
Packit |
d7e8d0 |
keep intact all notices stating that this License and any
|
|
Packit |
d7e8d0 |
non-permissive terms added in accord with section 7 apply to the
|
|
Packit |
d7e8d0 |
code; keep intact all notices of the absence of any warranty; and
|
|
Packit |
d7e8d0 |
give all recipients a copy of this License along with the Program.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You may charge any price or no price for each copy that you convey,
|
|
Packit |
d7e8d0 |
and you may offer support or warranty protection for a fee.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
5. Conveying Modified Source Versions.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You may convey a work based on the Program, or the modifications to
|
|
Packit |
d7e8d0 |
produce it from the Program, in the form of source code under the
|
|
Packit |
d7e8d0 |
terms of section 4, provided that you also meet all of these
|
|
Packit |
d7e8d0 |
conditions:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
a. The work must carry prominent notices stating that you
|
|
Packit |
d7e8d0 |
modified it, and giving a relevant date.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
b. The work must carry prominent notices stating that it is
|
|
Packit |
d7e8d0 |
released under this License and any conditions added under
|
|
Packit |
d7e8d0 |
section 7. This requirement modifies the requirement in
|
|
Packit |
d7e8d0 |
section 4 to “keep intact all notices”.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
c. You must license the entire work, as a whole, under this
|
|
Packit |
d7e8d0 |
License to anyone who comes into possession of a copy. This
|
|
Packit |
d7e8d0 |
License will therefore apply, along with any applicable
|
|
Packit |
d7e8d0 |
section 7 additional terms, to the whole of the work, and all
|
|
Packit |
d7e8d0 |
its parts, regardless of how they are packaged. This License
|
|
Packit |
d7e8d0 |
gives no permission to license the work in any other way, but
|
|
Packit |
d7e8d0 |
it does not invalidate such permission if you have separately
|
|
Packit |
d7e8d0 |
received it.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
d. If the work has interactive user interfaces, each must display
|
|
Packit |
d7e8d0 |
Appropriate Legal Notices; however, if the Program has
|
|
Packit |
d7e8d0 |
interactive interfaces that do not display Appropriate Legal
|
|
Packit |
d7e8d0 |
Notices, your work need not make them do so.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
A compilation of a covered work with other separate and independent
|
|
Packit |
d7e8d0 |
works, which are not by their nature extensions of the covered
|
|
Packit |
d7e8d0 |
work, and which are not combined with it such as to form a larger
|
|
Packit |
d7e8d0 |
program, in or on a volume of a storage or distribution medium, is
|
|
Packit |
d7e8d0 |
called an “aggregate” if the compilation and its resulting
|
|
Packit |
d7e8d0 |
copyright are not used to limit the access or legal rights of the
|
|
Packit |
d7e8d0 |
compilation’s users beyond what the individual works permit.
|
|
Packit |
d7e8d0 |
Inclusion of a covered work in an aggregate does not cause this
|
|
Packit |
d7e8d0 |
License to apply to the other parts of the aggregate.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
6. Conveying Non-Source Forms.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You may convey a covered work in object code form under the terms
|
|
Packit |
d7e8d0 |
of sections 4 and 5, provided that you also convey the
|
|
Packit |
d7e8d0 |
machine-readable Corresponding Source under the terms of this
|
|
Packit |
d7e8d0 |
License, in one of these ways:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
a. Convey the object code in, or embodied in, a physical product
|
|
Packit |
d7e8d0 |
(including a physical distribution medium), accompanied by the
|
|
Packit |
d7e8d0 |
Corresponding Source fixed on a durable physical medium
|
|
Packit |
d7e8d0 |
customarily used for software interchange.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
b. Convey the object code in, or embodied in, a physical product
|
|
Packit |
d7e8d0 |
(including a physical distribution medium), accompanied by a
|
|
Packit |
d7e8d0 |
written offer, valid for at least three years and valid for as
|
|
Packit |
d7e8d0 |
long as you offer spare parts or customer support for that
|
|
Packit |
d7e8d0 |
product model, to give anyone who possesses the object code
|
|
Packit |
d7e8d0 |
either (1) a copy of the Corresponding Source for all the
|
|
Packit |
d7e8d0 |
software in the product that is covered by this License, on a
|
|
Packit |
d7e8d0 |
durable physical medium customarily used for software
|
|
Packit |
d7e8d0 |
interchange, for a price no more than your reasonable cost of
|
|
Packit |
d7e8d0 |
physically performing this conveying of source, or (2) access
|
|
Packit |
d7e8d0 |
to copy the Corresponding Source from a network server at no
|
|
Packit |
d7e8d0 |
charge.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
c. Convey individual copies of the object code with a copy of the
|
|
Packit |
d7e8d0 |
written offer to provide the Corresponding Source. This
|
|
Packit |
d7e8d0 |
alternative is allowed only occasionally and noncommercially,
|
|
Packit |
d7e8d0 |
and only if you received the object code with such an offer,
|
|
Packit |
d7e8d0 |
in accord with subsection 6b.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
d. Convey the object code by offering access from a designated
|
|
Packit |
d7e8d0 |
place (gratis or for a charge), and offer equivalent access to
|
|
Packit |
d7e8d0 |
the Corresponding Source in the same way through the same
|
|
Packit |
d7e8d0 |
place at no further charge. You need not require recipients
|
|
Packit |
d7e8d0 |
to copy the Corresponding Source along with the object code.
|
|
Packit |
d7e8d0 |
If the place to copy the object code is a network server, the
|
|
Packit |
d7e8d0 |
Corresponding Source may be on a different server (operated by
|
|
Packit |
d7e8d0 |
you or a third party) that supports equivalent copying
|
|
Packit |
d7e8d0 |
facilities, provided you maintain clear directions next to the
|
|
Packit |
d7e8d0 |
object code saying where to find the Corresponding Source.
|
|
Packit |
d7e8d0 |
Regardless of what server hosts the Corresponding Source, you
|
|
Packit |
d7e8d0 |
remain obligated to ensure that it is available for as long as
|
|
Packit |
d7e8d0 |
needed to satisfy these requirements.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
e. Convey the object code using peer-to-peer transmission,
|
|
Packit |
d7e8d0 |
provided you inform other peers where the object code and
|
|
Packit |
d7e8d0 |
Corresponding Source of the work are being offered to the
|
|
Packit |
d7e8d0 |
general public at no charge under subsection 6d.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
A separable portion of the object code, whose source code is
|
|
Packit |
d7e8d0 |
excluded from the Corresponding Source as a System Library, need
|
|
Packit |
d7e8d0 |
not be included in conveying the object code work.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
A “User Product” is either (1) a “consumer product”, which means
|
|
Packit |
d7e8d0 |
any tangible personal property which is normally used for personal,
|
|
Packit |
d7e8d0 |
family, or household purposes, or (2) anything designed or sold for
|
|
Packit |
d7e8d0 |
incorporation into a dwelling. In determining whether a product is
|
|
Packit |
d7e8d0 |
a consumer product, doubtful cases shall be resolved in favor of
|
|
Packit |
d7e8d0 |
coverage. For a particular product received by a particular user,
|
|
Packit |
d7e8d0 |
“normally used” refers to a typical or common use of that class of
|
|
Packit |
d7e8d0 |
product, regardless of the status of the particular user or of the
|
|
Packit |
d7e8d0 |
way in which the particular user actually uses, or expects or is
|
|
Packit |
d7e8d0 |
expected to use, the product. A product is a consumer product
|
|
Packit |
d7e8d0 |
regardless of whether the product has substantial commercial,
|
|
Packit |
d7e8d0 |
industrial or non-consumer uses, unless such uses represent the
|
|
Packit |
d7e8d0 |
only significant mode of use of the product.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
“Installation Information” for a User Product means any methods,
|
|
Packit |
d7e8d0 |
procedures, authorization keys, or other information required to
|
|
Packit |
d7e8d0 |
install and execute modified versions of a covered work in that
|
|
Packit |
d7e8d0 |
User Product from a modified version of its Corresponding Source.
|
|
Packit |
d7e8d0 |
The information must suffice to ensure that the continued
|
|
Packit |
d7e8d0 |
functioning of the modified object code is in no case prevented or
|
|
Packit |
d7e8d0 |
interfered with solely because modification has been made.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If you convey an object code work under this section in, or with,
|
|
Packit |
d7e8d0 |
or specifically for use in, a User Product, and the conveying
|
|
Packit |
d7e8d0 |
occurs as part of a transaction in which the right of possession
|
|
Packit |
d7e8d0 |
and use of the User Product is transferred to the recipient in
|
|
Packit |
d7e8d0 |
perpetuity or for a fixed term (regardless of how the transaction
|
|
Packit |
d7e8d0 |
is characterized), the Corresponding Source conveyed under this
|
|
Packit |
d7e8d0 |
section must be accompanied by the Installation Information. But
|
|
Packit |
d7e8d0 |
this requirement does not apply if neither you nor any third party
|
|
Packit |
d7e8d0 |
retains the ability to install modified object code on the User
|
|
Packit |
d7e8d0 |
Product (for example, the work has been installed in ROM).
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The requirement to provide Installation Information does not
|
|
Packit |
d7e8d0 |
include a requirement to continue to provide support service,
|
|
Packit |
d7e8d0 |
warranty, or updates for a work that has been modified or installed
|
|
Packit |
d7e8d0 |
by the recipient, or for the User Product in which it has been
|
|
Packit |
d7e8d0 |
modified or installed. Access to a network may be denied when the
|
|
Packit |
d7e8d0 |
modification itself materially and adversely affects the operation
|
|
Packit |
d7e8d0 |
of the network or violates the rules and protocols for
|
|
Packit |
d7e8d0 |
communication across the network.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Corresponding Source conveyed, and Installation Information
|
|
Packit |
d7e8d0 |
provided, in accord with this section must be in a format that is
|
|
Packit |
d7e8d0 |
publicly documented (and with an implementation available to the
|
|
Packit |
d7e8d0 |
public in source code form), and must require no special password
|
|
Packit |
d7e8d0 |
or key for unpacking, reading or copying.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
7. Additional Terms.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
“Additional permissions” are terms that supplement the terms of
|
|
Packit |
d7e8d0 |
this License by making exceptions from one or more of its
|
|
Packit |
d7e8d0 |
conditions. Additional permissions that are applicable to the
|
|
Packit |
d7e8d0 |
entire Program shall be treated as though they were included in
|
|
Packit |
d7e8d0 |
this License, to the extent that they are valid under applicable
|
|
Packit |
d7e8d0 |
law. If additional permissions apply only to part of the Program,
|
|
Packit |
d7e8d0 |
that part may be used separately under those permissions, but the
|
|
Packit |
d7e8d0 |
entire Program remains governed by this License without regard to
|
|
Packit |
d7e8d0 |
the additional permissions.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
When you convey a copy of a covered work, you may at your option
|
|
Packit |
d7e8d0 |
remove any additional permissions from that copy, or from any part
|
|
Packit |
d7e8d0 |
of it. (Additional permissions may be written to require their own
|
|
Packit |
d7e8d0 |
removal in certain cases when you modify the work.) You may place
|
|
Packit |
d7e8d0 |
additional permissions on material, added by you to a covered work,
|
|
Packit |
d7e8d0 |
for which you have or can give appropriate copyright permission.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Notwithstanding any other provision of this License, for material
|
|
Packit |
d7e8d0 |
you add to a covered work, you may (if authorized by the copyright
|
|
Packit |
d7e8d0 |
holders of that material) supplement the terms of this License with
|
|
Packit |
d7e8d0 |
terms:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
a. Disclaiming warranty or limiting liability differently from
|
|
Packit |
d7e8d0 |
the terms of sections 15 and 16 of this License; or
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
b. Requiring preservation of specified reasonable legal notices
|
|
Packit |
d7e8d0 |
or author attributions in that material or in the Appropriate
|
|
Packit |
d7e8d0 |
Legal Notices displayed by works containing it; or
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
c. Prohibiting misrepresentation of the origin of that material,
|
|
Packit |
d7e8d0 |
or requiring that modified versions of such material be marked
|
|
Packit |
d7e8d0 |
in reasonable ways as different from the original version; or
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
d. Limiting the use for publicity purposes of names of licensors
|
|
Packit |
d7e8d0 |
or authors of the material; or
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
e. Declining to grant rights under trademark law for use of some
|
|
Packit |
d7e8d0 |
trade names, trademarks, or service marks; or
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
f. Requiring indemnification of licensors and authors of that
|
|
Packit |
d7e8d0 |
material by anyone who conveys the material (or modified
|
|
Packit |
d7e8d0 |
versions of it) with contractual assumptions of liability to
|
|
Packit |
d7e8d0 |
the recipient, for any liability that these contractual
|
|
Packit |
d7e8d0 |
assumptions directly impose on those licensors and authors.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
All other non-permissive additional terms are considered “further
|
|
Packit |
d7e8d0 |
restrictions” within the meaning of section 10. If the Program as
|
|
Packit |
d7e8d0 |
you received it, or any part of it, contains a notice stating that
|
|
Packit |
d7e8d0 |
it is governed by this License along with a term that is a further
|
|
Packit |
d7e8d0 |
restriction, you may remove that term. If a license document
|
|
Packit |
d7e8d0 |
contains a further restriction but permits relicensing or conveying
|
|
Packit |
d7e8d0 |
under this License, you may add to a covered work material governed
|
|
Packit |
d7e8d0 |
by the terms of that license document, provided that the further
|
|
Packit |
d7e8d0 |
restriction does not survive such relicensing or conveying.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If you add terms to a covered work in accord with this section, you
|
|
Packit |
d7e8d0 |
must place, in the relevant source files, a statement of the
|
|
Packit |
d7e8d0 |
additional terms that apply to those files, or a notice indicating
|
|
Packit |
d7e8d0 |
where to find the applicable terms.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Additional terms, permissive or non-permissive, may be stated in
|
|
Packit |
d7e8d0 |
the form of a separately written license, or stated as exceptions;
|
|
Packit |
d7e8d0 |
the above requirements apply either way.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
8. Termination.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You may not propagate or modify a covered work except as expressly
|
|
Packit |
d7e8d0 |
provided under this License. Any attempt otherwise to propagate or
|
|
Packit |
d7e8d0 |
modify it is void, and will automatically terminate your rights
|
|
Packit |
d7e8d0 |
under this License (including any patent licenses granted under the
|
|
Packit |
d7e8d0 |
third paragraph of section 11).
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
However, if you cease all violation of this License, then your
|
|
Packit |
d7e8d0 |
license from a particular copyright holder is reinstated (a)
|
|
Packit |
d7e8d0 |
provisionally, unless and until the copyright holder explicitly and
|
|
Packit |
d7e8d0 |
finally terminates your license, and (b) permanently, if the
|
|
Packit |
d7e8d0 |
copyright holder fails to notify you of the violation by some
|
|
Packit |
d7e8d0 |
reasonable means prior to 60 days after the cessation.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Moreover, your license from a particular copyright holder is
|
|
Packit |
d7e8d0 |
reinstated permanently if the copyright holder notifies you of the
|
|
Packit |
d7e8d0 |
violation by some reasonable means, this is the first time you have
|
|
Packit |
d7e8d0 |
received notice of violation of this License (for any work) from
|
|
Packit |
d7e8d0 |
that copyright holder, and you cure the violation prior to 30 days
|
|
Packit |
d7e8d0 |
after your receipt of the notice.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Termination of your rights under this section does not terminate
|
|
Packit |
d7e8d0 |
the licenses of parties who have received copies or rights from you
|
|
Packit |
d7e8d0 |
under this License. If your rights have been terminated and not
|
|
Packit |
d7e8d0 |
permanently reinstated, you do not qualify to receive new licenses
|
|
Packit |
d7e8d0 |
for the same material under section 10.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
9. Acceptance Not Required for Having Copies.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You are not required to accept this License in order to receive or
|
|
Packit |
d7e8d0 |
run a copy of the Program. Ancillary propagation of a covered work
|
|
Packit |
d7e8d0 |
occurring solely as a consequence of using peer-to-peer
|
|
Packit |
d7e8d0 |
transmission to receive a copy likewise does not require
|
|
Packit |
d7e8d0 |
acceptance. However, nothing other than this License grants you
|
|
Packit |
d7e8d0 |
permission to propagate or modify any covered work. These actions
|
|
Packit |
d7e8d0 |
infringe copyright if you do not accept this License. Therefore,
|
|
Packit |
d7e8d0 |
by modifying or propagating a covered work, you indicate your
|
|
Packit |
d7e8d0 |
acceptance of this License to do so.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
10. Automatic Licensing of Downstream Recipients.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Each time you convey a covered work, the recipient automatically
|
|
Packit |
d7e8d0 |
receives a license from the original licensors, to run, modify and
|
|
Packit |
d7e8d0 |
propagate that work, subject to this License. You are not
|
|
Packit |
d7e8d0 |
responsible for enforcing compliance by third parties with this
|
|
Packit |
d7e8d0 |
License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
An “entity transaction” is a transaction transferring control of an
|
|
Packit |
d7e8d0 |
organization, or substantially all assets of one, or subdividing an
|
|
Packit |
d7e8d0 |
organization, or merging organizations. If propagation of a
|
|
Packit |
d7e8d0 |
covered work results from an entity transaction, each party to that
|
|
Packit |
d7e8d0 |
transaction who receives a copy of the work also receives whatever
|
|
Packit |
d7e8d0 |
licenses to the work the party’s predecessor in interest had or
|
|
Packit |
d7e8d0 |
could give under the previous paragraph, plus a right to possession
|
|
Packit |
d7e8d0 |
of the Corresponding Source of the work from the predecessor in
|
|
Packit |
d7e8d0 |
interest, if the predecessor has it or can get it with reasonable
|
|
Packit |
d7e8d0 |
efforts.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You may not impose any further restrictions on the exercise of the
|
|
Packit |
d7e8d0 |
rights granted or affirmed under this License. For example, you
|
|
Packit |
d7e8d0 |
may not impose a license fee, royalty, or other charge for exercise
|
|
Packit |
d7e8d0 |
of rights granted under this License, and you may not initiate
|
|
Packit |
d7e8d0 |
litigation (including a cross-claim or counterclaim in a lawsuit)
|
|
Packit |
d7e8d0 |
alleging that any patent claim is infringed by making, using,
|
|
Packit |
d7e8d0 |
selling, offering for sale, or importing the Program or any portion
|
|
Packit |
d7e8d0 |
of it.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
11. Patents.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
A “contributor” is a copyright holder who authorizes use under this
|
|
Packit |
d7e8d0 |
License of the Program or a work on which the Program is based.
|
|
Packit |
d7e8d0 |
The work thus licensed is called the contributor’s “contributor
|
|
Packit |
d7e8d0 |
version”.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
A contributor’s “essential patent claims” are all patent claims
|
|
Packit |
d7e8d0 |
owned or controlled by the contributor, whether already acquired or
|
|
Packit |
d7e8d0 |
hereafter acquired, that would be infringed by some manner,
|
|
Packit |
d7e8d0 |
permitted by this License, of making, using, or selling its
|
|
Packit |
d7e8d0 |
contributor version, but do not include claims that would be
|
|
Packit |
d7e8d0 |
infringed only as a consequence of further modification of the
|
|
Packit |
d7e8d0 |
contributor version. For purposes of this definition, “control”
|
|
Packit |
d7e8d0 |
includes the right to grant patent sublicenses in a manner
|
|
Packit |
d7e8d0 |
consistent with the requirements of this License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Each contributor grants you a non-exclusive, worldwide,
|
|
Packit |
d7e8d0 |
royalty-free patent license under the contributor’s essential
|
|
Packit |
d7e8d0 |
patent claims, to make, use, sell, offer for sale, import and
|
|
Packit |
d7e8d0 |
otherwise run, modify and propagate the contents of its contributor
|
|
Packit |
d7e8d0 |
version.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
In the following three paragraphs, a “patent license” is any
|
|
Packit |
d7e8d0 |
express agreement or commitment, however denominated, not to
|
|
Packit |
d7e8d0 |
enforce a patent (such as an express permission to practice a
|
|
Packit |
d7e8d0 |
patent or covenant not to sue for patent infringement). To “grant”
|
|
Packit |
d7e8d0 |
such a patent license to a party means to make such an agreement or
|
|
Packit |
d7e8d0 |
commitment not to enforce a patent against the party.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If you convey a covered work, knowingly relying on a patent
|
|
Packit |
d7e8d0 |
license, and the Corresponding Source of the work is not available
|
|
Packit |
d7e8d0 |
for anyone to copy, free of charge and under the terms of this
|
|
Packit |
d7e8d0 |
License, through a publicly available network server or other
|
|
Packit |
d7e8d0 |
readily accessible means, then you must either (1) cause the
|
|
Packit |
d7e8d0 |
Corresponding Source to be so available, or (2) arrange to deprive
|
|
Packit |
d7e8d0 |
yourself of the benefit of the patent license for this particular
|
|
Packit |
d7e8d0 |
work, or (3) arrange, in a manner consistent with the requirements
|
|
Packit |
d7e8d0 |
of this License, to extend the patent license to downstream
|
|
Packit |
d7e8d0 |
recipients. “Knowingly relying” means you have actual knowledge
|
|
Packit |
d7e8d0 |
that, but for the patent license, your conveying the covered work
|
|
Packit |
d7e8d0 |
in a country, or your recipient’s use of the covered work in a
|
|
Packit |
d7e8d0 |
country, would infringe one or more identifiable patents in that
|
|
Packit |
d7e8d0 |
country that you have reason to believe are valid.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If, pursuant to or in connection with a single transaction or
|
|
Packit |
d7e8d0 |
arrangement, you convey, or propagate by procuring conveyance of, a
|
|
Packit |
d7e8d0 |
covered work, and grant a patent license to some of the parties
|
|
Packit |
d7e8d0 |
receiving the covered work authorizing them to use, propagate,
|
|
Packit |
d7e8d0 |
modify or convey a specific copy of the covered work, then the
|
|
Packit |
d7e8d0 |
patent license you grant is automatically extended to all
|
|
Packit |
d7e8d0 |
recipients of the covered work and works based on it.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
A patent license is “discriminatory” if it does not include within
|
|
Packit |
d7e8d0 |
the scope of its coverage, prohibits the exercise of, or is
|
|
Packit |
d7e8d0 |
conditioned on the non-exercise of one or more of the rights that
|
|
Packit |
d7e8d0 |
are specifically granted under this License. You may not convey a
|
|
Packit |
d7e8d0 |
covered work if you are a party to an arrangement with a third
|
|
Packit |
d7e8d0 |
party that is in the business of distributing software, under which
|
|
Packit |
d7e8d0 |
you make payment to the third party based on the extent of your
|
|
Packit |
d7e8d0 |
activity of conveying the work, and under which the third party
|
|
Packit |
d7e8d0 |
grants, to any of the parties who would receive the covered work
|
|
Packit |
d7e8d0 |
from you, a discriminatory patent license (a) in connection with
|
|
Packit |
d7e8d0 |
copies of the covered work conveyed by you (or copies made from
|
|
Packit |
d7e8d0 |
those copies), or (b) primarily for and in connection with specific
|
|
Packit |
d7e8d0 |
products or compilations that contain the covered work, unless you
|
|
Packit |
d7e8d0 |
entered into that arrangement, or that patent license was granted,
|
|
Packit |
d7e8d0 |
prior to 28 March 2007.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Nothing in this License shall be construed as excluding or limiting
|
|
Packit |
d7e8d0 |
any implied license or other defenses to infringement that may
|
|
Packit |
d7e8d0 |
otherwise be available to you under applicable patent law.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
12. No Surrender of Others’ Freedom.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If conditions are imposed on you (whether by court order, agreement
|
|
Packit |
d7e8d0 |
or otherwise) that contradict the conditions of this License, they
|
|
Packit |
d7e8d0 |
do not excuse you from the conditions of this License. If you
|
|
Packit |
d7e8d0 |
cannot convey a covered work so as to satisfy simultaneously your
|
|
Packit |
d7e8d0 |
obligations under this License and any other pertinent obligations,
|
|
Packit |
d7e8d0 |
then as a consequence you may not convey it at all. For example,
|
|
Packit |
d7e8d0 |
if you agree to terms that obligate you to collect a royalty for
|
|
Packit |
d7e8d0 |
further conveying from those to whom you convey the Program, the
|
|
Packit |
d7e8d0 |
only way you could satisfy both those terms and this License would
|
|
Packit |
d7e8d0 |
be to refrain entirely from conveying the Program.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
13. Use with the GNU Affero General Public License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Notwithstanding any other provision of this License, you have
|
|
Packit |
d7e8d0 |
permission to link or combine any covered work with a work licensed
|
|
Packit |
d7e8d0 |
under version 3 of the GNU Affero General Public License into a
|
|
Packit |
d7e8d0 |
single combined work, and to convey the resulting work. The terms
|
|
Packit |
d7e8d0 |
of this License will continue to apply to the part which is the
|
|
Packit |
d7e8d0 |
covered work, but the special requirements of the GNU Affero
|
|
Packit |
d7e8d0 |
General Public License, section 13, concerning interaction through
|
|
Packit |
d7e8d0 |
a network will apply to the combination as such.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
14. Revised Versions of this License.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The Free Software Foundation may publish revised and/or new
|
|
Packit |
d7e8d0 |
versions of the GNU General Public License from time to time. Such
|
|
Packit |
d7e8d0 |
new versions will be similar in spirit to the present version, but
|
|
Packit |
d7e8d0 |
may differ in detail to address new problems or concerns.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Each version is given a distinguishing version number. If the
|
|
Packit |
d7e8d0 |
Program specifies that a certain numbered version of the GNU
|
|
Packit |
d7e8d0 |
General Public License “or any later version” applies to it, you
|
|
Packit |
d7e8d0 |
have the option of following the terms and conditions either of
|
|
Packit |
d7e8d0 |
that numbered version or of any later version published by the Free
|
|
Packit |
d7e8d0 |
Software Foundation. If the Program does not specify a version
|
|
Packit |
d7e8d0 |
number of the GNU General Public License, you may choose any
|
|
Packit |
d7e8d0 |
version ever published by the Free Software Foundation.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If the Program specifies that a proxy can decide which future
|
|
Packit |
d7e8d0 |
versions of the GNU General Public License can be used, that
|
|
Packit |
d7e8d0 |
proxy’s public statement of acceptance of a version permanently
|
|
Packit |
d7e8d0 |
authorizes you to choose that version for the Program.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Later license versions may give you additional or different
|
|
Packit |
d7e8d0 |
permissions. However, no additional obligations are imposed on any
|
|
Packit |
d7e8d0 |
author or copyright holder as a result of your choosing to follow a
|
|
Packit |
d7e8d0 |
later version.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
15. Disclaimer of Warranty.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
|
Packit |
d7e8d0 |
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
|
|
Packit |
d7e8d0 |
COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS”
|
|
Packit |
d7e8d0 |
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
|
Packit |
d7e8d0 |
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
Packit |
d7e8d0 |
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
|
|
Packit |
d7e8d0 |
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
|
|
Packit |
d7e8d0 |
SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
|
|
Packit |
d7e8d0 |
NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
16. Limitation of Liability.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
|
Packit |
d7e8d0 |
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES
|
|
Packit |
d7e8d0 |
AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
|
|
Packit |
d7e8d0 |
DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
|
Packit |
d7e8d0 |
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
|
|
Packit |
d7e8d0 |
THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
|
|
Packit |
d7e8d0 |
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
|
Packit |
d7e8d0 |
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
Packit |
d7e8d0 |
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
|
|
Packit |
d7e8d0 |
THE POSSIBILITY OF SUCH DAMAGES.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
17. Interpretation of Sections 15 and 16.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If the disclaimer of warranty and limitation of liability provided
|
|
Packit |
d7e8d0 |
above cannot be given local legal effect according to their terms,
|
|
Packit |
d7e8d0 |
reviewing courts shall apply local law that most closely
|
|
Packit |
d7e8d0 |
approximates an absolute waiver of all civil liability in
|
|
Packit |
d7e8d0 |
connection with the Program, unless a warranty or assumption of
|
|
Packit |
d7e8d0 |
liability accompanies a copy of the Program in return for a fee.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
END OF TERMS AND CONDITIONS
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
How to Apply These Terms to Your New Programs
|
|
Packit |
d7e8d0 |
=============================================
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If you develop a new program, and you want it to be of the greatest
|
|
Packit |
d7e8d0 |
possible use to the public, the best way to achieve this is to make it
|
|
Packit |
d7e8d0 |
free software which everyone can redistribute and change under these
|
|
Packit |
d7e8d0 |
terms.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
To do so, attach the following notices to the program. It is safest
|
|
Packit |
d7e8d0 |
to attach them to the start of each source file to most effectively
|
|
Packit |
d7e8d0 |
state the exclusion of warranty; and each file should have at least the
|
|
Packit |
d7e8d0 |
“copyright” line and a pointer to where the full notice is found.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
|
|
Packit |
d7e8d0 |
Copyright (C) YEAR NAME OF AUTHOR
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This program is free software: you can redistribute it and/or modify
|
|
Packit |
d7e8d0 |
it under the terms of the GNU General Public License as published by
|
|
Packit |
d7e8d0 |
the Free Software Foundation, either version 3 of the License, or (at
|
|
Packit |
d7e8d0 |
your option) any later version.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
This program is distributed in the hope that it will be useful, but
|
|
Packit |
d7e8d0 |
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
d7e8d0 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
d7e8d0 |
General Public License for more details.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You should have received a copy of the GNU General Public License
|
|
Packit |
d7e8d0 |
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Also add information on how to contact you by electronic and paper mail.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
If the program does terminal interaction, make it output a short notice
|
|
Packit |
d7e8d0 |
like this when it starts in an interactive mode:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
PROGRAM Copyright (C) YEAR NAME OF AUTHOR
|
|
Packit |
d7e8d0 |
This program comes with ABSOLUTELY NO WARRANTY; for details
|
|
Packit |
d7e8d0 |
type ‘show w’. This is free software, and you are
|
|
Packit |
d7e8d0 |
welcome to redistribute it under certain conditions;
|
|
Packit |
d7e8d0 |
type ‘show c’ for details.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The hypothetical commands ‘show w’ and ‘show c’ should show the
|
|
Packit |
d7e8d0 |
appropriate parts of the General Public License. Of course, your
|
|
Packit |
d7e8d0 |
program’s commands might be different; for a GUI interface, you would
|
|
Packit |
d7e8d0 |
use an “about box”.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
You should also get your employer (if you work as a programmer) or
|
|
Packit |
d7e8d0 |
school, if any, to sign a “copyright disclaimer” for the program, if
|
|
Packit |
d7e8d0 |
necessary. For more information on this, and how to apply and follow
|
|
Packit |
d7e8d0 |
the GNU GPL, see <https://www.gnu.org/licenses/>.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
The GNU General Public License does not permit incorporating your
|
|
Packit |
d7e8d0 |
program into proprietary programs. If your program is a subroutine
|
|
Packit |
d7e8d0 |
library, you may consider it more useful to permit linking proprietary
|
|
Packit |
d7e8d0 |
applications with the library. If this is what you want to do, use the
|
|
Packit |
d7e8d0 |
GNU Lesser General Public License instead of this License. But first,
|
|
Packit |
d7e8d0 |
please read <https://www.gnu.org/philosophy/why-not-lgpl.html>.
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
?
|
|
Packit |
d7e8d0 |
File: gpgme.info, Node: Concept Index, Next: Function and Data Index, Prev: Copying, Up: Top
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Concept Index
|
|
Packit |
d7e8d0 |
*************
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
?[index?]
|
|
Packit |
d7e8d0 |
* Menu:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
* aborting operations: Cancellation. (line 6)
|
|
Packit |
d7e8d0 |
* algorithms: Algorithms. (line 6)
|
|
Packit |
d7e8d0 |
* algorithms, hash: Hash Algorithms. (line 6)
|
|
Packit |
d7e8d0 |
* algorithms, message digest: Hash Algorithms. (line 6)
|
|
Packit |
d7e8d0 |
* algorithms, public key: Public Key Algorithms. (line 6)
|
|
Packit |
d7e8d0 |
* armor mode: ASCII Armor. (line 6)
|
|
Packit |
d7e8d0 |
* ASCII armor: ASCII Armor. (line 6)
|
|
Packit |
d7e8d0 |
* ASSUAN: Assuan. (line 6)
|
|
Packit |
d7e8d0 |
* attributes, of a key: Information About Keys.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* autoconf: Using Automake. (line 6)
|
|
Packit |
d7e8d0 |
* automake: Using Automake. (line 6)
|
|
Packit |
d7e8d0 |
* backend: Protocols and Engines. (line 6)
|
|
Packit |
d7e8d0 |
* callback, passphrase: Passphrase Callback. (line 6)
|
|
Packit |
d7e8d0 |
* callback, progress meter: Progress Meter Callback.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* callback, status message: Status Message Callback.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* cancelling operations: Cancellation. (line 6)
|
|
Packit |
d7e8d0 |
* canonical text mode: Text Mode. (line 6)
|
|
Packit |
d7e8d0 |
* certificates, included: Included Certificates. (line 6)
|
|
Packit |
d7e8d0 |
* CMS: Cryptographic Message Syntax.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* compiler flags: Building the Source. (line 6)
|
|
Packit |
d7e8d0 |
* compiler options: Building the Source. (line 6)
|
|
Packit |
d7e8d0 |
* configuration of crypto backend: Engine Configuration. (line 6)
|
|
Packit |
d7e8d0 |
* context: Contexts. (line 6)
|
|
Packit |
d7e8d0 |
* context, armor mode: ASCII Armor. (line 6)
|
|
Packit |
d7e8d0 |
* context, attributes: Context Attributes. (line 6)
|
|
Packit |
d7e8d0 |
* context, configuring engine: Crypto Engine. (line 6)
|
|
Packit |
d7e8d0 |
* context, creation: Creating Contexts. (line 6)
|
|
Packit |
d7e8d0 |
* context, destruction: Destroying Contexts. (line 6)
|
|
Packit |
d7e8d0 |
* context, offline mode: Offline Mode. (line 6)
|
|
Packit |
d7e8d0 |
* context, pinentry mode: Pinentry Mode. (line 6)
|
|
Packit |
d7e8d0 |
* context, result of operation: Result Management. (line 6)
|
|
Packit |
d7e8d0 |
* context, selecting protocol: Protocol Selection. (line 6)
|
|
Packit |
d7e8d0 |
* context, sender: Setting the Sender. (line 6)
|
|
Packit |
d7e8d0 |
* context, text mode: Text Mode. (line 6)
|
|
Packit |
d7e8d0 |
* crypto backend: Protocols and Engines. (line 6)
|
|
Packit |
d7e8d0 |
* crypto engine: Protocols and Engines. (line 6)
|
|
Packit |
d7e8d0 |
* cryptographic message syntax: Cryptographic Message Syntax.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation: Crypto Operations. (line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation, aborting: Cancellation. (line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation, cancelling: Cancellation. (line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation, decryption: Decrypt. (line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation, decryption and verification: Decrypt and Verify.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation, encryption: Encrypt. (line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation, running: Run Control. (line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation, signature check: Verify. (line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation, signing: Sign. (line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation, verification: Verify. (line 6)
|
|
Packit |
d7e8d0 |
* cryptographic operation, wait for: Waiting For Completion.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* data buffer, convenience: Data Buffer Convenience.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* data buffer, creation: Creating Data Buffers. (line 6)
|
|
Packit |
d7e8d0 |
* data buffer, destruction: Destroying Data Buffers.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* data buffer, encoding: Data Buffer Meta-Data. (line 6)
|
|
Packit |
d7e8d0 |
* data buffer, file name: Data Buffer Meta-Data. (line 6)
|
|
Packit |
d7e8d0 |
* data buffer, I/O operations: Data Buffer I/O Operations.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* data buffer, manipulation: Manipulating Data Buffers.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* data buffer, meta-data: Data Buffer Meta-Data. (line 6)
|
|
Packit |
d7e8d0 |
* data buffer, read: Data Buffer I/O Operations.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* data buffer, seek: Data Buffer I/O Operations.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* data buffer, write: Data Buffer I/O Operations.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* data, exchanging: Exchanging Data. (line 6)
|
|
Packit |
d7e8d0 |
* debug: Debugging. (line 6)
|
|
Packit |
d7e8d0 |
* decryption: Decrypt. (line 6)
|
|
Packit |
d7e8d0 |
* decryption and verification: Decrypt and Verify. (line 6)
|
|
Packit |
d7e8d0 |
* deprecated: Deprecated Functions. (line 6)
|
|
Packit |
d7e8d0 |
* encryption: Encrypt. (line 6)
|
|
Packit |
d7e8d0 |
* engine: Protocols and Engines. (line 6)
|
|
Packit |
d7e8d0 |
* engine, ASSUAN: Assuan. (line 6)
|
|
Packit |
d7e8d0 |
* engine, configuration of: Engine Configuration. (line 6)
|
|
Packit |
d7e8d0 |
* engine, configuration per context: Crypto Engine. (line 6)
|
|
Packit |
d7e8d0 |
* engine, GnuPG: OpenPGP. (line 6)
|
|
Packit |
d7e8d0 |
* engine, GpgSM: Cryptographic Message Syntax.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* engine, information about: Engine Information. (line 6)
|
|
Packit |
d7e8d0 |
* error codes: Error Values. (line 6)
|
|
Packit |
d7e8d0 |
* error codes, list of: Error Sources. (line 6)
|
|
Packit |
d7e8d0 |
* error codes, list of <1>: Error Codes. (line 6)
|
|
Packit |
d7e8d0 |
* error codes, printing of: Error Strings. (line 6)
|
|
Packit |
d7e8d0 |
* error handling: Error Handling. (line 6)
|
|
Packit |
d7e8d0 |
* error sources: Error Values. (line 6)
|
|
Packit |
d7e8d0 |
* error sources, printing of: Error Strings. (line 6)
|
|
Packit |
d7e8d0 |
* error strings: Error Strings. (line 6)
|
|
Packit |
d7e8d0 |
* error values: Error Values. (line 6)
|
|
Packit |
d7e8d0 |
* error values, printing of: Error Strings. (line 6)
|
|
Packit |
d7e8d0 |
* event loop, external: Using External Event Loops.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* From:: Setting the Sender. (line 6)
|
|
Packit |
d7e8d0 |
* GDK, using GPGME with: I/O Callback Example GDK.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* GnuPG: OpenPGP. (line 6)
|
|
Packit |
d7e8d0 |
* GPGME_DEBUG: Debugging. (line 6)
|
|
Packit |
d7e8d0 |
* GpgSM: Cryptographic Message Syntax.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* GTK+, using GPGME with: I/O Callback Example GTK+.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* hash algorithms: Hash Algorithms. (line 6)
|
|
Packit |
d7e8d0 |
* header file: Header. (line 6)
|
|
Packit |
d7e8d0 |
* identify: Data Buffer Convenience.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* include file: Header. (line 6)
|
|
Packit |
d7e8d0 |
* key listing: Listing Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key listing mode: Key Listing Mode. (line 6)
|
|
Packit |
d7e8d0 |
* key listing, mode of: Key Listing Mode. (line 6)
|
|
Packit |
d7e8d0 |
* key listing, start: Listing Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key management: Key Management. (line 6)
|
|
Packit |
d7e8d0 |
* key ring, add: Generating Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key ring, delete from: Deleting Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key ring, export from: Exporting Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key ring, import to: Importing Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key ring, list: Listing Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key ring, search: Listing Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key, attributes: Information About Keys.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* key, creation: Generating Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key, delete: Deleting Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key, edit: Advanced Key Editing. (line 6)
|
|
Packit |
d7e8d0 |
* key, export: Exporting Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key, import: Importing Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key, information about: Information About Keys.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* key, manipulation: Manipulating Keys. (line 6)
|
|
Packit |
d7e8d0 |
* key, signing: Signing Keys. (line 6)
|
|
Packit |
d7e8d0 |
* largefile support: Largefile Support (LFS).
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* LFS: Largefile Support (LFS).
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* LGPL, GNU Lesser General Public License: Library Copying. (line 6)
|
|
Packit |
d7e8d0 |
* libtool: Using Libtool. (line 6)
|
|
Packit |
d7e8d0 |
* listing keys: Listing Keys. (line 6)
|
|
Packit |
d7e8d0 |
* locale, default: Locale. (line 6)
|
|
Packit |
d7e8d0 |
* locale, of a context: Locale. (line 6)
|
|
Packit |
d7e8d0 |
* message digest algorithms: Hash Algorithms. (line 6)
|
|
Packit |
d7e8d0 |
* multi-threading: Multi-Threading. (line 6)
|
|
Packit |
d7e8d0 |
* notation data: Verify. (line 6)
|
|
Packit |
d7e8d0 |
* notation data <1>: Signature Notation Data.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* offline mode: Offline Mode. (line 6)
|
|
Packit |
d7e8d0 |
* OpenPGP: OpenPGP. (line 6)
|
|
Packit |
d7e8d0 |
* passphrase callback: Passphrase Callback. (line 6)
|
|
Packit |
d7e8d0 |
* passphrase, change: Changing Passphrases. (line 6)
|
|
Packit |
d7e8d0 |
* pinentry mode: Pinentry Mode. (line 6)
|
|
Packit |
d7e8d0 |
* policy URL: Signature Notation Data.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* progress meter callback: Progress Meter Callback.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* protocol: Protocols and Engines. (line 6)
|
|
Packit |
d7e8d0 |
* protocol, ASSUAN: Assuan. (line 6)
|
|
Packit |
d7e8d0 |
* protocol, CMS: Cryptographic Message Syntax.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* protocol, GnuPG: OpenPGP. (line 6)
|
|
Packit |
d7e8d0 |
* protocol, S/MIME: Cryptographic Message Syntax.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* protocol, selecting: Protocol Selection. (line 6)
|
|
Packit |
d7e8d0 |
* public key algorithms: Public Key Algorithms. (line 6)
|
|
Packit |
d7e8d0 |
* Qt, using GPGME with: I/O Callback Example Qt.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* run control: Run Control. (line 6)
|
|
Packit |
d7e8d0 |
* S/MIME: Cryptographic Message Syntax.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* sender: Setting the Sender. (line 6)
|
|
Packit |
d7e8d0 |
* sign: Sign. (line 6)
|
|
Packit |
d7e8d0 |
* signal handling: Signal Handling. (line 6)
|
|
Packit |
d7e8d0 |
* signals: Signal Handling. (line 6)
|
|
Packit |
d7e8d0 |
* signature check: Decrypt and Verify. (line 6)
|
|
Packit |
d7e8d0 |
* signature notation data: Verify. (line 6)
|
|
Packit |
d7e8d0 |
* signature notation data <1>: Signature Notation Data.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* signature, creation: Sign. (line 6)
|
|
Packit |
d7e8d0 |
* signature, selecting signers: Selecting Signers. (line 6)
|
|
Packit |
d7e8d0 |
* signature, verification: Verify. (line 6)
|
|
Packit |
d7e8d0 |
* signers, selecting: Selecting Signers. (line 6)
|
|
Packit |
d7e8d0 |
* status message callback: Status Message Callback.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* text mode: Text Mode. (line 6)
|
|
Packit |
d7e8d0 |
* thread-safeness: Multi-Threading. (line 6)
|
|
Packit |
d7e8d0 |
* trust item: Trust Item Management. (line 6)
|
|
Packit |
d7e8d0 |
* trust item list: Listing Trust Items. (line 6)
|
|
Packit |
d7e8d0 |
* trust item, manipulation: Manipulating Trust Items.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* type of data: Data Buffer Convenience.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* UI server: UI Server Protocol. (line 6)
|
|
Packit |
d7e8d0 |
* user interface server: UI Server Protocol. (line 6)
|
|
Packit |
d7e8d0 |
* validity, TOFU: Changing TOFU Data. (line 6)
|
|
Packit |
d7e8d0 |
* verification: Verify. (line 6)
|
|
Packit |
d7e8d0 |
* verification and decryption: Decrypt and Verify. (line 6)
|
|
Packit |
d7e8d0 |
* version check, of the engines: Engine Version Check. (line 6)
|
|
Packit |
d7e8d0 |
* version check, of the library: Library Version Check. (line 6)
|
|
Packit |
d7e8d0 |
* wait for completion: Waiting For Completion.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
?
|
|
Packit |
d7e8d0 |
File: gpgme.info, Node: Function and Data Index, Prev: Concept Index, Up: Top
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
Function and Data Index
|
|
Packit |
d7e8d0 |
***********************
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
?[index?]
|
|
Packit |
d7e8d0 |
* Menu:
|
|
Packit |
d7e8d0 |
|
|
Packit |
d7e8d0 |
* AM_PATH_GPGME: Using Automake. (line 11)
|
|
Packit |
d7e8d0 |
* AM_PATH_GPGME_PTH: Using Automake. (line 13)
|
|
Packit |
d7e8d0 |
* AM_PATH_GPGME_PTHREAD: Using Automake. (line 15)
|
|
Packit |
d7e8d0 |
* CHECKSUM_CREATE_FILES: UI Server Checksum Files.
|
|
Packit |
d7e8d0 |
(line 9)
|
|
Packit |
d7e8d0 |
* CHECKSUM_VERIFY_FILES: UI Server Checksum Files.
|
|
Packit |
d7e8d0 |
(line 22)
|
|
Packit |
d7e8d0 |
* DECRYPT: UI Server Decrypt. (line 26)
|
|
Packit |
d7e8d0 |
* DECRYPT_FILES: UI Server Verify/Decrypt Files.
|
|
Packit |
d7e8d0 |
(line 9)
|
|
Packit |
d7e8d0 |
* DECRYPT_VERIFY_FILES: UI Server Verify/Decrypt Files.
|
|
Packit |
d7e8d0 |
(line 11)
|
|
Packit |
d7e8d0 |
* ENCRYPT: UI Server Encrypt. (line 47)
|
|
Packit |
d7e8d0 |
* ENCRYPT_FILES: UI Server Sign/Encrypt Files.
|
|
Packit |
d7e8d0 |
(line 9)
|
|
Packit |
d7e8d0 |
* ENCRYPT_SIGN_FILES: UI Server Sign/Encrypt Files.
|
|
Packit |
d7e8d0 |
(line 11)
|
|
Packit |
d7e8d0 |
* enum gpgme_data_encoding_t: Data Buffer Meta-Data.
|
|
Packit |
d7e8d0 |
(line 31)
|
|
Packit |
d7e8d0 |
* enum gpgme_data_type_t: Data Buffer Convenience.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* enum gpgme_event_io_t: I/O Callback Interface.
|
|
Packit |
d7e8d0 |
(line 58)
|
|
Packit |
d7e8d0 |
* enum gpgme_hash_algo_t: Hash Algorithms. (line 9)
|
|
Packit |
d7e8d0 |
* enum gpgme_pinentry_mode_t: Pinentry Mode. (line 25)
|
|
Packit |
d7e8d0 |
* enum gpgme_protocol_t: Protocols and Engines.
|
|
Packit |
d7e8d0 |
(line 16)
|
|
Packit |
d7e8d0 |
* enum gpgme_pubkey_algo_t: Public Key Algorithms.
|
|
Packit |
d7e8d0 |
(line 9)
|
|
Packit |
d7e8d0 |
* enum gpgme_sig_mode_t: Creating a Signature.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* enum gpgme_sig_stat_t: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 441)
|
|
Packit |
d7e8d0 |
* enum gpgme_tofu_policy_t: Changing TOFU Data. (line 10)
|
|
Packit |
d7e8d0 |
* FILE: UI Server Set Input Files.
|
|
Packit |
d7e8d0 |
(line 9)
|
|
Packit |
d7e8d0 |
* GETINFO: Miscellaneous UI Server Commands.
|
|
Packit |
d7e8d0 |
(line 9)
|
|
Packit |
d7e8d0 |
* gpgme_addrspec_from_uid: Decrypt and Verify. (line 48)
|
|
Packit |
d7e8d0 |
* gpgme_attr_t: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 144)
|
|
Packit |
d7e8d0 |
* gpgme_attr_t <1>: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 321)
|
|
Packit |
d7e8d0 |
* gpgme_cancel: Cancellation. (line 16)
|
|
Packit |
d7e8d0 |
* gpgme_cancel_async: Cancellation. (line 38)
|
|
Packit |
d7e8d0 |
* gpgme_check_version: Library Version Check.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_ctx_get_engine_info: Crypto Engine. (line 12)
|
|
Packit |
d7e8d0 |
* gpgme_ctx_set_engine_info: Crypto Engine. (line 26)
|
|
Packit |
d7e8d0 |
* gpgme_ctx_t: Contexts. (line 11)
|
|
Packit |
d7e8d0 |
* gpgme_data_encoding_t: Data Buffer Meta-Data.
|
|
Packit |
d7e8d0 |
(line 32)
|
|
Packit |
d7e8d0 |
* gpgme_data_get_encoding: Data Buffer Meta-Data.
|
|
Packit |
d7e8d0 |
(line 81)
|
|
Packit |
d7e8d0 |
* gpgme_data_get_file_name: Data Buffer Meta-Data.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_data_identify: Data Buffer Convenience.
|
|
Packit |
d7e8d0 |
(line 46)
|
|
Packit |
d7e8d0 |
* gpgme_data_new: Memory Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 12)
|
|
Packit |
d7e8d0 |
* gpgme_data_new_from_cbs: Callback Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 80)
|
|
Packit |
d7e8d0 |
* gpgme_data_new_from_fd: File Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 10)
|
|
Packit |
d7e8d0 |
* gpgme_data_new_from_file: Memory Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 37)
|
|
Packit |
d7e8d0 |
* gpgme_data_new_from_filepart: Memory Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 54)
|
|
Packit |
d7e8d0 |
* gpgme_data_new_from_mem: Memory Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 22)
|
|
Packit |
d7e8d0 |
* gpgme_data_new_from_stream: File Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 29)
|
|
Packit |
d7e8d0 |
* gpgme_data_new_with_read_cb: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 114)
|
|
Packit |
d7e8d0 |
* gpgme_data_read: Data Buffer I/O Operations.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_data_read_cb_t: Callback Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 13)
|
|
Packit |
d7e8d0 |
* gpgme_data_release: Destroying Data Buffers.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_data_release_and_get_mem: Destroying Data Buffers.
|
|
Packit |
d7e8d0 |
(line 11)
|
|
Packit |
d7e8d0 |
* gpgme_data_release_cb_t: Callback Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 55)
|
|
Packit |
d7e8d0 |
* gpgme_data_rewind: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 138)
|
|
Packit |
d7e8d0 |
* gpgme_data_seek: Data Buffer I/O Operations.
|
|
Packit |
d7e8d0 |
(line 26)
|
|
Packit |
d7e8d0 |
* gpgme_data_seek_cb_t: Callback Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 46)
|
|
Packit |
d7e8d0 |
* gpgme_data_set_encoding: Data Buffer Meta-Data.
|
|
Packit |
d7e8d0 |
(line 87)
|
|
Packit |
d7e8d0 |
* gpgme_data_set_file_name: Data Buffer Meta-Data.
|
|
Packit |
d7e8d0 |
(line 18)
|
|
Packit |
d7e8d0 |
* gpgme_data_set_flag: Data Buffer Meta-Data.
|
|
Packit |
d7e8d0 |
(line 92)
|
|
Packit |
d7e8d0 |
* gpgme_data_t: Exchanging Data. (line 13)
|
|
Packit |
d7e8d0 |
* gpgme_data_type_t: Data Buffer Convenience.
|
|
Packit |
d7e8d0 |
(line 7)
|
|
Packit |
d7e8d0 |
* gpgme_data_write: Data Buffer I/O Operations.
|
|
Packit |
d7e8d0 |
(line 16)
|
|
Packit |
d7e8d0 |
* gpgme_data_write_cb_t: Callback Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 29)
|
|
Packit |
d7e8d0 |
* gpgme_decrypt_result_t: Decrypt. (line 101)
|
|
Packit |
d7e8d0 |
* gpgme_edit_cb_t: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 37)
|
|
Packit |
d7e8d0 |
* gpgme_encrypt_result_t: Encrypting a Plaintext.
|
|
Packit |
d7e8d0 |
(line 118)
|
|
Packit |
d7e8d0 |
* gpgme_engine_check_version: Engine Version Check.
|
|
Packit |
d7e8d0 |
(line 67)
|
|
Packit |
d7e8d0 |
* gpgme_engine_info_t: Engine Information. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_error: Error Values. (line 65)
|
|
Packit |
d7e8d0 |
* gpgme_error_from_errno: Error Values. (line 89)
|
|
Packit |
d7e8d0 |
* gpgme_error_t: Error Values. (line 24)
|
|
Packit |
d7e8d0 |
* gpgme_error_t (*gpgme_assuan_data_cb_t) (void *OPAQUE, const void *DATA, size_t DATALEN): Using the Assuan protocol.
|
|
Packit |
d7e8d0 |
(line 15)
|
|
Packit |
d7e8d0 |
* gpgme_error_t (*gpgme_assuan_inquire_cb_t) (void *OPAQUE, const char *NAME, const char *ARGS, gpgme_data_t *R_DATA): Using the Assuan protocol.
|
|
Packit |
d7e8d0 |
(line 24)
|
|
Packit |
d7e8d0 |
* gpgme_error_t (*gpgme_assuan_status_cb_t) (void *OPAQUE, const char *STATUS, const char *ARGS): Using the Assuan protocol.
|
|
Packit |
d7e8d0 |
(line 38)
|
|
Packit |
d7e8d0 |
* gpgme_error_t (*gpgme_edit_cb_t) (void *HANDLE, gpgme_status_code_t STATUS, const char *ARGS, int FD): Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 35)
|
|
Packit |
d7e8d0 |
* gpgme_error_t (*gpgme_interact_cb_t) (void *HANDLE, const char *STATUS, const char *ARGS, int FD): Advanced Key Editing.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_error_t (*gpgme_io_cb_t) (void *DATA, int FD): I/O Callback Interface.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_error_t (*gpgme_passphrase_cb_t)(void *HOOK, const char *UID_HINT, const char *PASSPHRASE_INFO, int PREV_WAS_BAD, int FD): Passphrase Callback.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_error_t (*gpgme_register_io_cb_t) (void *DATA, int FD, int DIR, gpgme_io_cb_t FNC, void *FNC_DATA, void **TAG): I/O Callback Interface.
|
|
Packit |
d7e8d0 |
(line 19)
|
|
Packit |
d7e8d0 |
* gpgme_error_t (*gpgme_status_cb_t)(void *HOOK, const char *KEYWORD, const char *ARGS): Status Message Callback.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_err_code: Error Values. (line 42)
|
|
Packit |
d7e8d0 |
* gpgme_err_code_from_errno: Error Values. (line 98)
|
|
Packit |
d7e8d0 |
* gpgme_err_code_t: Error Values. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_err_code_to_errno: Error Values. (line 103)
|
|
Packit |
d7e8d0 |
* gpgme_err_make: Error Values. (line 57)
|
|
Packit |
d7e8d0 |
* gpgme_err_make_from_errno: Error Values. (line 83)
|
|
Packit |
d7e8d0 |
* gpgme_err_source: Error Values. (line 49)
|
|
Packit |
d7e8d0 |
* gpgme_err_source_t: Error Values. (line 13)
|
|
Packit |
d7e8d0 |
* gpgme_event_io_t: I/O Callback Interface.
|
|
Packit |
d7e8d0 |
(line 59)
|
|
Packit |
d7e8d0 |
* gpgme_event_io_t <1>: Registering I/O Callbacks.
|
|
Packit |
d7e8d0 |
(line 7)
|
|
Packit |
d7e8d0 |
* gpgme_free: Destroying Data Buffers.
|
|
Packit |
d7e8d0 |
(line 25)
|
|
Packit |
d7e8d0 |
* gpgme_genkey_result_t: Generating Keys. (line 381)
|
|
Packit |
d7e8d0 |
* gpgme_get_armor: ASCII Armor. (line 13)
|
|
Packit |
d7e8d0 |
* gpgme_get_ctx_flag: Status Message Callback.
|
|
Packit |
d7e8d0 |
(line 109)
|
|
Packit |
d7e8d0 |
* gpgme_get_dirinfo: Engine Version Check.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_get_engine_info: Engine Information. (line 46)
|
|
Packit |
d7e8d0 |
* gpgme_get_include_certs: Included Certificates.
|
|
Packit |
d7e8d0 |
(line 37)
|
|
Packit |
d7e8d0 |
* gpgme_get_io_cbs: Registering I/O Callbacks.
|
|
Packit |
d7e8d0 |
(line 44)
|
|
Packit |
d7e8d0 |
* gpgme_get_key: Listing Keys. (line 178)
|
|
Packit |
d7e8d0 |
* gpgme_get_keylist_mode: Key Listing Mode. (line 83)
|
|
Packit |
d7e8d0 |
* gpgme_get_offline: Offline Mode. (line 25)
|
|
Packit |
d7e8d0 |
* gpgme_get_passphrase_cb: Passphrase Callback. (line 63)
|
|
Packit |
d7e8d0 |
* gpgme_get_pinentry_mode: Pinentry Mode. (line 18)
|
|
Packit |
d7e8d0 |
* gpgme_get_progress_cb: Progress Meter Callback.
|
|
Packit |
d7e8d0 |
(line 31)
|
|
Packit |
d7e8d0 |
* gpgme_get_protocol: Protocol Selection. (line 21)
|
|
Packit |
d7e8d0 |
* gpgme_get_protocol_name: Protocols and Engines.
|
|
Packit |
d7e8d0 |
(line 58)
|
|
Packit |
d7e8d0 |
* gpgme_get_sender: Setting the Sender. (line 29)
|
|
Packit |
d7e8d0 |
* gpgme_get_sig_key: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 641)
|
|
Packit |
d7e8d0 |
* gpgme_get_sig_status: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 489)
|
|
Packit |
d7e8d0 |
* gpgme_get_sig_string_attr: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 545)
|
|
Packit |
d7e8d0 |
* gpgme_get_sig_ulong_attr: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 579)
|
|
Packit |
d7e8d0 |
* gpgme_get_status_cb: Status Message Callback.
|
|
Packit |
d7e8d0 |
(line 31)
|
|
Packit |
d7e8d0 |
* gpgme_get_textmode: Text Mode. (line 20)
|
|
Packit |
d7e8d0 |
* gpgme_hash_algo_name: Hash Algorithms. (line 30)
|
|
Packit |
d7e8d0 |
* gpgme_hash_algo_t: Hash Algorithms. (line 10)
|
|
Packit |
d7e8d0 |
* gpgme_import_result_t: Importing Keys. (line 118)
|
|
Packit |
d7e8d0 |
* gpgme_import_status_t: Importing Keys. (line 80)
|
|
Packit |
d7e8d0 |
* gpgme_interact_cb_t: Advanced Key Editing.
|
|
Packit |
d7e8d0 |
(line 11)
|
|
Packit |
d7e8d0 |
* gpgme_invalid_key_t: Crypto Operations. (line 10)
|
|
Packit |
d7e8d0 |
* gpgme_io_cb_t: I/O Callback Interface.
|
|
Packit |
d7e8d0 |
(line 7)
|
|
Packit |
d7e8d0 |
* gpgme_keylist_result_t: Listing Keys. (line 155)
|
|
Packit |
d7e8d0 |
* gpgme_key_get_string_attr: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 286)
|
|
Packit |
d7e8d0 |
* gpgme_key_get_ulong_attr: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 300)
|
|
Packit |
d7e8d0 |
* gpgme_key_ref: Manipulating Keys. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_key_release: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 14)
|
|
Packit |
d7e8d0 |
* gpgme_key_sig_get_string_attr: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 377)
|
|
Packit |
d7e8d0 |
* gpgme_key_sig_get_ulong_attr: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 393)
|
|
Packit |
d7e8d0 |
* gpgme_key_sig_t: Key objects. (line 339)
|
|
Packit |
d7e8d0 |
* gpgme_key_t: Key objects. (line 10)
|
|
Packit |
d7e8d0 |
* gpgme_key_unref: Manipulating Keys. (line 10)
|
|
Packit |
d7e8d0 |
* gpgme_new: Creating Contexts. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_new_signature_t: Creating a Signature.
|
|
Packit |
d7e8d0 |
(line 57)
|
|
Packit |
d7e8d0 |
* gpgme_off_t: Exchanging Data. (line 24)
|
|
Packit |
d7e8d0 |
* gpgme_op_adduid: Generating Keys. (line 189)
|
|
Packit |
d7e8d0 |
* gpgme_op_adduid_start: Generating Keys. (line 215)
|
|
Packit |
d7e8d0 |
* gpgme_op_assuan_transact_ext: Using the Assuan protocol.
|
|
Packit |
d7e8d0 |
(line 64)
|
|
Packit |
d7e8d0 |
* gpgme_op_assuan_transact_start: Using the Assuan protocol.
|
|
Packit |
d7e8d0 |
(line 47)
|
|
Packit |
d7e8d0 |
* gpgme_op_card_edit: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 89)
|
|
Packit |
d7e8d0 |
* gpgme_op_card_edit_start: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 99)
|
|
Packit |
d7e8d0 |
* gpgme_op_createkey: Generating Keys. (line 14)
|
|
Packit |
d7e8d0 |
* gpgme_op_createkey_start: Generating Keys. (line 119)
|
|
Packit |
d7e8d0 |
* gpgme_op_createsubkey: Generating Keys. (line 132)
|
|
Packit |
d7e8d0 |
* gpgme_op_createsubkey_start: Generating Keys. (line 176)
|
|
Packit |
d7e8d0 |
* gpgme_op_decrypt: Decrypt. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_op_decrypt_ext: Decrypt. (line 30)
|
|
Packit |
d7e8d0 |
* gpgme_op_decrypt_ext_start: Decrypt. (line 60)
|
|
Packit |
d7e8d0 |
* gpgme_op_decrypt_result: Decrypt. (line 144)
|
|
Packit |
d7e8d0 |
* gpgme_op_decrypt_start: Decrypt. (line 20)
|
|
Packit |
d7e8d0 |
* gpgme_op_decrypt_verify: Decrypt and Verify. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_op_decrypt_verify_start: Decrypt and Verify. (line 30)
|
|
Packit |
d7e8d0 |
* gpgme_op_delete: Deleting Keys. (line 47)
|
|
Packit |
d7e8d0 |
* gpgme_op_delete_ext: Deleting Keys. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_op_delete_ext_start: Deleting Keys. (line 33)
|
|
Packit |
d7e8d0 |
* gpgme_op_delete_start: Deleting Keys. (line 52)
|
|
Packit |
d7e8d0 |
* gpgme_op_edit: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 48)
|
|
Packit |
d7e8d0 |
* gpgme_op_edit_start: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 72)
|
|
Packit |
d7e8d0 |
* gpgme_op_encrypt: Encrypting a Plaintext.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_op_encrypt_result: Encrypting a Plaintext.
|
|
Packit |
d7e8d0 |
(line 129)
|
|
Packit |
d7e8d0 |
* gpgme_op_encrypt_sign: Encrypting a Plaintext.
|
|
Packit |
d7e8d0 |
(line 140)
|
|
Packit |
d7e8d0 |
* gpgme_op_encrypt_sign_start: Encrypting a Plaintext.
|
|
Packit |
d7e8d0 |
(line 151)
|
|
Packit |
d7e8d0 |
* gpgme_op_encrypt_start: Encrypting a Plaintext.
|
|
Packit |
d7e8d0 |
(line 100)
|
|
Packit |
d7e8d0 |
* gpgme_op_export: Exporting Keys. (line 46)
|
|
Packit |
d7e8d0 |
* gpgme_op_export_ext: Exporting Keys. (line 79)
|
|
Packit |
d7e8d0 |
* gpgme_op_export_ext_start: Exporting Keys. (line 101)
|
|
Packit |
d7e8d0 |
* gpgme_op_export_keys: Exporting Keys. (line 113)
|
|
Packit |
d7e8d0 |
* gpgme_op_export_keys_start: Exporting Keys. (line 140)
|
|
Packit |
d7e8d0 |
* gpgme_op_export_start: Exporting Keys. (line 67)
|
|
Packit |
d7e8d0 |
* gpgme_op_genkey: Generating Keys. (line 304)
|
|
Packit |
d7e8d0 |
* gpgme_op_genkey_result: Generating Keys. (line 418)
|
|
Packit |
d7e8d0 |
* gpgme_op_genkey_start: Generating Keys. (line 369)
|
|
Packit |
d7e8d0 |
* gpgme_op_import: Importing Keys. (line 9)
|
|
Packit |
d7e8d0 |
* gpgme_op_import_ext: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 22)
|
|
Packit |
d7e8d0 |
* gpgme_op_import_keys: Importing Keys. (line 35)
|
|
Packit |
d7e8d0 |
* gpgme_op_import_keys_start: Importing Keys. (line 65)
|
|
Packit |
d7e8d0 |
* gpgme_op_import_result: Importing Keys. (line 168)
|
|
Packit |
d7e8d0 |
* gpgme_op_import_start: Importing Keys. (line 24)
|
|
Packit |
d7e8d0 |
* gpgme_op_interact: Advanced Key Editing.
|
|
Packit |
d7e8d0 |
(line 23)
|
|
Packit |
d7e8d0 |
* gpgme_op_interact_start: Advanced Key Editing.
|
|
Packit |
d7e8d0 |
(line 53)
|
|
Packit |
d7e8d0 |
* gpgme_op_keylist_end: Listing Keys. (line 111)
|
|
Packit |
d7e8d0 |
* gpgme_op_keylist_ext_start: Listing Keys. (line 34)
|
|
Packit |
d7e8d0 |
* gpgme_op_keylist_from_data_start: Listing Keys. (line 67)
|
|
Packit |
d7e8d0 |
* gpgme_op_keylist_next: Listing Keys. (line 94)
|
|
Packit |
d7e8d0 |
* gpgme_op_keylist_result: Listing Keys. (line 166)
|
|
Packit |
d7e8d0 |
* gpgme_op_keylist_start: Listing Keys. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_op_keysign: Signing Keys. (line 12)
|
|
Packit |
d7e8d0 |
* gpgme_op_keysign_start: Signing Keys. (line 73)
|
|
Packit |
d7e8d0 |
* gpgme_op_passwd: Changing Passphrases.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_op_passwd_start: Changing Passphrases.
|
|
Packit |
d7e8d0 |
(line 21)
|
|
Packit |
d7e8d0 |
* gpgme_op_query_swdb: Checking for updates.
|
|
Packit |
d7e8d0 |
(line 68)
|
|
Packit |
d7e8d0 |
* gpgme_op_query_swdb_result: Checking for updates.
|
|
Packit |
d7e8d0 |
(line 80)
|
|
Packit |
d7e8d0 |
* gpgme_op_revuid: Generating Keys. (line 224)
|
|
Packit |
d7e8d0 |
* gpgme_op_revuid_start: Generating Keys. (line 252)
|
|
Packit |
d7e8d0 |
* gpgme_op_set_uid_flag_start: Generating Keys. (line 293)
|
|
Packit |
d7e8d0 |
* gpgme_op_set_ui_flag: Generating Keys. (line 261)
|
|
Packit |
d7e8d0 |
* gpgme_op_sign: Creating a Signature.
|
|
Packit |
d7e8d0 |
(line 21)
|
|
Packit |
d7e8d0 |
* gpgme_op_sign_result: Creating a Signature.
|
|
Packit |
d7e8d0 |
(line 99)
|
|
Packit |
d7e8d0 |
* gpgme_op_sign_start: Creating a Signature.
|
|
Packit |
d7e8d0 |
(line 47)
|
|
Packit |
d7e8d0 |
* gpgme_op_spawn: Running other Programs.
|
|
Packit |
d7e8d0 |
(line 13)
|
|
Packit |
d7e8d0 |
* gpgme_op_spawn_start: Running other Programs.
|
|
Packit |
d7e8d0 |
(line 45)
|
|
Packit |
d7e8d0 |
* gpgme_op_tofu_policy: Changing TOFU Data. (line 29)
|
|
Packit |
d7e8d0 |
* gpgme_op_tofu_policy_start: Changing TOFU Data. (line 43)
|
|
Packit |
d7e8d0 |
* gpgme_op_trustlist_end: Listing Trust Items. (line 44)
|
|
Packit |
d7e8d0 |
* gpgme_op_trustlist_next: Listing Trust Items. (line 27)
|
|
Packit |
d7e8d0 |
* gpgme_op_trustlist_start: Listing Trust Items. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_op_verify: Verify. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_op_verify_result: Verify. (line 283)
|
|
Packit |
d7e8d0 |
* gpgme_op_verify_start: Verify. (line 26)
|
|
Packit |
d7e8d0 |
* gpgme_passphrase_cb_t: Passphrase Callback. (line 10)
|
|
Packit |
d7e8d0 |
* gpgme_pinentry_mode_t: Pinentry Mode. (line 26)
|
|
Packit |
d7e8d0 |
* gpgme_progress_cb_t: Progress Meter Callback.
|
|
Packit |
d7e8d0 |
(line 8)
|
|
Packit |
d7e8d0 |
* gpgme_protocol_t: Protocols and Engines.
|
|
Packit |
d7e8d0 |
(line 17)
|
|
Packit |
d7e8d0 |
* gpgme_protocol_t <1>: Engine Information. (line 7)
|
|
Packit |
d7e8d0 |
* gpgme_pubkey_algo_name: Public Key Algorithms.
|
|
Packit |
d7e8d0 |
(line 58)
|
|
Packit |
d7e8d0 |
* gpgme_pubkey_algo_string: Public Key Algorithms.
|
|
Packit |
d7e8d0 |
(line 68)
|
|
Packit |
d7e8d0 |
* gpgme_pubkey_algo_t: Public Key Algorithms.
|
|
Packit |
d7e8d0 |
(line 10)
|
|
Packit |
d7e8d0 |
* gpgme_query_swdb_result_t: Checking for updates.
|
|
Packit |
d7e8d0 |
(line 11)
|
|
Packit |
d7e8d0 |
* gpgme_recipient_t: Decrypt. (line 75)
|
|
Packit |
d7e8d0 |
* gpgme_register_io_cb_t: I/O Callback Interface.
|
|
Packit |
d7e8d0 |
(line 23)
|
|
Packit |
d7e8d0 |
* gpgme_release: Destroying Contexts. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_result_ref: Result Management. (line 15)
|
|
Packit |
d7e8d0 |
* gpgme_result_unref: Result Management. (line 23)
|
|
Packit |
d7e8d0 |
* gpgme_set_armor: ASCII Armor. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_set_ctx_flag: Status Message Callback.
|
|
Packit |
d7e8d0 |
(line 41)
|
|
Packit |
d7e8d0 |
* gpgme_set_engine_info: Engine Configuration.
|
|
Packit |
d7e8d0 |
(line 11)
|
|
Packit |
d7e8d0 |
* gpgme_set_global_flag: Library Version Check.
|
|
Packit |
d7e8d0 |
(line 44)
|
|
Packit |
d7e8d0 |
* gpgme_set_include_certs: Included Certificates.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_set_io_cbs: Registering I/O Callbacks.
|
|
Packit |
d7e8d0 |
(line 35)
|
|
Packit |
d7e8d0 |
* gpgme_set_keylist_mode: Key Listing Mode. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_set_locale: Locale. (line 14)
|
|
Packit |
d7e8d0 |
* gpgme_set_offline: Offline Mode. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_set_passphrase_cb: Passphrase Callback. (line 40)
|
|
Packit |
d7e8d0 |
* gpgme_set_pinentry_mode: Pinentry Mode. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_set_progress_cb: Progress Meter Callback.
|
|
Packit |
d7e8d0 |
(line 16)
|
|
Packit |
d7e8d0 |
* gpgme_set_protocol: Protocol Selection. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_set_sender: Setting the Sender. (line 13)
|
|
Packit |
d7e8d0 |
* gpgme_set_status_cb: Status Message Callback.
|
|
Packit |
d7e8d0 |
(line 17)
|
|
Packit |
d7e8d0 |
* gpgme_set_textmode: Text Mode. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_signature_t: Verify. (line 92)
|
|
Packit |
d7e8d0 |
* gpgme_signers_add: Selecting Signers. (line 18)
|
|
Packit |
d7e8d0 |
* gpgme_signers_clear: Selecting Signers. (line 11)
|
|
Packit |
d7e8d0 |
* gpgme_signers_count: Selecting Signers. (line 25)
|
|
Packit |
d7e8d0 |
* gpgme_signers_enum: Selecting Signers. (line 31)
|
|
Packit |
d7e8d0 |
* gpgme_sign_result_t: Creating a Signature.
|
|
Packit |
d7e8d0 |
(line 85)
|
|
Packit |
d7e8d0 |
* gpgme_sig_mode_t: Creating a Signature.
|
|
Packit |
d7e8d0 |
(line 7)
|
|
Packit |
d7e8d0 |
* gpgme_sig_notation_add: Signature Notation Data.
|
|
Packit |
d7e8d0 |
(line 19)
|
|
Packit |
d7e8d0 |
* gpgme_sig_notation_clear: Signature Notation Data.
|
|
Packit |
d7e8d0 |
(line 10)
|
|
Packit |
d7e8d0 |
* gpgme_sig_notation_get: Signature Notation Data.
|
|
Packit |
d7e8d0 |
(line 45)
|
|
Packit |
d7e8d0 |
* gpgme_sig_notation_t: Verify. (line 38)
|
|
Packit |
d7e8d0 |
* gpgme_sig_stat_t: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 442)
|
|
Packit |
d7e8d0 |
* gpgme_ssize_t: Exchanging Data. (line 32)
|
|
Packit |
d7e8d0 |
* gpgme_status_cb_t: Status Message Callback.
|
|
Packit |
d7e8d0 |
(line 8)
|
|
Packit |
d7e8d0 |
* gpgme_strerror: Error Strings. (line 6)
|
|
Packit |
d7e8d0 |
* gpgme_strerror_r: Error Strings. (line 15)
|
|
Packit |
d7e8d0 |
* gpgme_strsource: Error Strings. (line 26)
|
|
Packit |
d7e8d0 |
* gpgme_subkey_t: Key objects. (line 112)
|
|
Packit |
d7e8d0 |
* gpgme_tofu_info_t: Key objects. (line 275)
|
|
Packit |
d7e8d0 |
* gpgme_tofu_policy_t: Changing TOFU Data. (line 13)
|
|
Packit |
d7e8d0 |
* gpgme_trust_item_get_int_attr: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 426)
|
|
Packit |
d7e8d0 |
* gpgme_trust_item_get_string_attr: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 411)
|
|
Packit |
d7e8d0 |
* gpgme_trust_item_ref: Manipulating Trust Items.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* gpgme_trust_item_release: Deprecated Functions.
|
|
Packit |
d7e8d0 |
(line 18)
|
|
Packit |
d7e8d0 |
* gpgme_trust_item_t: Trust Item Management.
|
|
Packit |
d7e8d0 |
(line 8)
|
|
Packit |
d7e8d0 |
* gpgme_trust_item_unref: Manipulating Trust Items.
|
|
Packit |
d7e8d0 |
(line 10)
|
|
Packit |
d7e8d0 |
* gpgme_user_id_t: Key objects. (line 217)
|
|
Packit |
d7e8d0 |
* gpgme_validity_t: Information About Keys.
|
|
Packit |
d7e8d0 |
(line 9)
|
|
Packit |
d7e8d0 |
* gpgme_verify_result_t: Verify. (line 268)
|
|
Packit |
d7e8d0 |
* gpgme_wait: Waiting For Completion.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* IMPORT_FILES: UI Server Import/Export Keys.
|
|
Packit |
d7e8d0 |
(line 9)
|
|
Packit |
d7e8d0 |
* INPUT: UI Server Encrypt. (line 23)
|
|
Packit |
d7e8d0 |
* INPUT <1>: UI Server Sign. (line 12)
|
|
Packit |
d7e8d0 |
* INPUT <2>: UI Server Decrypt. (line 12)
|
|
Packit |
d7e8d0 |
* INPUT <3>: UI Server Verify. (line 16)
|
|
Packit |
d7e8d0 |
* MESSAGE: UI Server Verify. (line 10)
|
|
Packit |
d7e8d0 |
* MICALG: UI Server Sign. (line 43)
|
|
Packit |
d7e8d0 |
* off_t (*gpgme_data_seek_cb_t) (void *HANDLE, off_t OFFSET, int WHENCE): Callback Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 43)
|
|
Packit |
d7e8d0 |
* OUTPUT: UI Server Encrypt. (line 36)
|
|
Packit |
d7e8d0 |
* OUTPUT <1>: UI Server Sign. (line 18)
|
|
Packit |
d7e8d0 |
* OUTPUT <2>: UI Server Decrypt. (line 19)
|
|
Packit |
d7e8d0 |
* OUTPUT <3>: UI Server Verify. (line 23)
|
|
Packit |
d7e8d0 |
* PREP_ENCRYPT: UI Server Encrypt. (line 72)
|
|
Packit |
d7e8d0 |
* PROTOCOL: UI Server Encrypt. (line 98)
|
|
Packit |
d7e8d0 |
* RECIPIENT: UI Server Encrypt. (line 9)
|
|
Packit |
d7e8d0 |
* SENDER: Miscellaneous UI Server Commands.
|
|
Packit |
d7e8d0 |
(line 50)
|
|
Packit |
d7e8d0 |
* SESSION: Miscellaneous UI Server Commands.
|
|
Packit |
d7e8d0 |
(line 69)
|
|
Packit |
d7e8d0 |
* SIGN: UI Server Sign. (line 33)
|
|
Packit |
d7e8d0 |
* SIGN_FILES: UI Server Sign/Encrypt Files.
|
|
Packit |
d7e8d0 |
(line 10)
|
|
Packit |
d7e8d0 |
* SIGSTATUS: UI Server Verify. (line 56)
|
|
Packit |
d7e8d0 |
* ssize_t (*gpgme_data_read_cb_t) (void *HANDLE, void *BUFFER, size_t SIZE): Callback Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 10)
|
|
Packit |
d7e8d0 |
* ssize_t (*gpgme_data_write_cb_t) (void *HANDLE, const void *BUFFER, size_t SIZE): Callback Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 27)
|
|
Packit |
d7e8d0 |
* START_CONFDIALOG: Miscellaneous UI Server Commands.
|
|
Packit |
d7e8d0 |
(line 41)
|
|
Packit |
d7e8d0 |
* START_KEYMANAGER: Miscellaneous UI Server Commands.
|
|
Packit |
d7e8d0 |
(line 31)
|
|
Packit |
d7e8d0 |
* struct gpgme_data_cbs: Callback Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 59)
|
|
Packit |
d7e8d0 |
* struct gpgme_io_cbs: Registering I/O Callbacks.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* VERIFY: UI Server Verify. (line 31)
|
|
Packit |
d7e8d0 |
* VERIFY_FILES: UI Server Verify/Decrypt Files.
|
|
Packit |
d7e8d0 |
(line 10)
|
|
Packit |
d7e8d0 |
* void (*gpgme_data_release_cb_t) (void *HANDLE): Callback Based Data Buffers.
|
|
Packit |
d7e8d0 |
(line 54)
|
|
Packit |
d7e8d0 |
* void (*gpgme_event_io_cb_t) (void *DATA, gpgme_event_io_t TYPE, void *TYPE_DATA): I/O Callback Interface.
|
|
Packit |
d7e8d0 |
(line 89)
|
|
Packit |
d7e8d0 |
* void (*gpgme_progress_cb_t)(void *HOOK, const char *WHAT, int TYPE, int CURRENT, int TOTAL): Progress Meter Callback.
|
|
Packit |
d7e8d0 |
(line 6)
|
|
Packit |
d7e8d0 |
* void (*gpgme_remove_io_cb_t) (void *TAG): I/O Callback Interface.
|
|
Packit |
d7e8d0 |
(line 48)
|
|
Packit |
d7e8d0 |
* window-id: Miscellaneous UI Server Commands.
|
|
Packit |
d7e8d0 |
(line 21)
|
|
Packit |
d7e8d0 |
|