rpm  5.4.15
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
rpmiotypes.h File Reference
#include <stdlib.h>
#include <sys/types.h>
Include dependency graph for rpmiotypes.h:

Go to the source code of this file.

Data Structures

struct  rpmioItem_s
 
struct  rpmioP_s
 

Macros

#define rpmiobUnlink(_iob)   ((rpmiob)rpmioUnlinkPoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__))
 
#define rpmiobLink(_iob)   ((rpmiob)rpmioLinkPoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__))
 
#define rpmiobFree(_iob)   ((rpmiob)rpmioFreePoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__))
 

Typedefs

typedef enum rpmRC_e rpmRC
 RPM return codes. More...
 
typedef unsigned char rpmuint8_t
 Private int typedefs to avoid C99 portability issues. More...
 
typedef unsigned short rpmuint16_t
 
typedef unsigned int rpmuint32_t
 
typedef unsigned long long rpmuint64_t
 
typedef int rpmint32_t
 
typedef struct yarnLock_syarnLock
 
typedef struct rpmioItem_srpmioItem
 
typedef struct rpmioPool_srpmioPool
 
typedef struct rpmiob_s * rpmiob
 
typedef struct rpmioP_srpmioP
 
typedef struct pgpPkt_s * pgpPkt
 
typedef struct pgpDig_s * pgpDig
 
typedef struct pgpDigParams_s * pgpDigParams
 
typedef rpmuint8_t pgpKeyID_t [8]
 
typedef rpmuint8_t pgpTime_t [4]
 
typedef enum pgpVSFlags_e pgpVSFlags
 Bit(s) to control digest and signature verification. More...
 
typedef const void * fnpyKey
 
typedef enum rpmCallbackType_e rpmCallbackType
 Bit(s) to identify progress callbacks. More...
 
typedef void * rpmCallbackData
 
typedef struct CIPHER_CTX_s * CIPHER_CTX
 
typedef enum pgpSymkeyAlgo_e pgpSymkeyAlgo
 9.2. More...
 
typedef enum rpmCryptFlags_e rpmCipherFlags
 Bit(s) to control cipher operation. More...
 
typedef struct DIGEST_CTX_sDIGEST_CTX
 
typedef enum pgpHashAlgo_e pgpHashAlgo
 9.4. More...
 
typedef enum rpmDigestFlags_e rpmDigestFlags
 Bit(s) to control digest operation. More...
 
typedef void *(* rpmCallbackFunction )(const void *h, const rpmCallbackType what, const rpmuint64_t amount, const rpmuint64_t total, fnpyKey key, rpmCallbackData data)
 

Enumerations

enum  rpmRC_e {
  RPMRC_OK = 0, RPMRC_NOTFOUND = 1, RPMRC_FAIL = 2, RPMRC_NOTTRUSTED = 3,
  RPMRC_NOKEY = 4, RPMRC_NOSIG = 5
}
 RPM return codes. More...
 
enum  pgpVSFlags_e {
  RPMVSF_DEFAULT = 0, RPMVSF_NOHDRCHK = (1 << 0), RPMVSF_NEEDPAYLOAD = (1 << 1), RPMVSF_NOSHA1HEADER = (1 << 8),
  RPMVSF_NOMD5HEADER = (1 << 9), RPMVSF_NODSAHEADER = (1 << 10), RPMVSF_NORSAHEADER = (1 << 11), RPMVSF_NOECDSAHEADER = (1 << 12),
  RPMVSF_NOSHA1 = (1 << 16), RPMVSF_NOMD5 = (1 << 17), RPMVSF_NODSA = (1 << 18), RPMVSF_NORSA = (1 << 19),
  RPMVSF_NOECDSA = (1 << 20)
}
 Bit(s) to control digest and signature verification. More...
 
enum  rpmCallbackType_e {
  RPMCALLBACK_UNKNOWN = 0, RPMCALLBACK_INST_PROGRESS = (1 << 0), RPMCALLBACK_INST_START = (1 << 1), RPMCALLBACK_INST_OPEN_FILE = (1 << 2),
  RPMCALLBACK_INST_CLOSE_FILE = (1 << 3), RPMCALLBACK_TRANS_PROGRESS = (1 << 4), RPMCALLBACK_TRANS_START = (1 << 5), RPMCALLBACK_TRANS_STOP = (1 << 6),
  RPMCALLBACK_UNINST_PROGRESS = (1 << 7), RPMCALLBACK_UNINST_START = (1 << 8), RPMCALLBACK_UNINST_STOP = (1 << 9), RPMCALLBACK_REPACKAGE_PROGRESS = (1 << 10),
  RPMCALLBACK_REPACKAGE_START = (1 << 11), RPMCALLBACK_REPACKAGE_STOP = (1 << 12), RPMCALLBACK_UNPACK_ERROR = (1 << 13), RPMCALLBACK_CPIO_ERROR = (1 << 14),
  RPMCALLBACK_SCRIPT_ERROR = (1 << 15)
}
 Bit(s) to identify progress callbacks. More...
 
enum  pgpSymkeyAlgo_e {
  PGPSYMKEYALGO_PLAINTEXT = 0, PGPSYMKEYALGO_IDEA = 1, PGPSYMKEYALGO_TRIPLE_DES = 2, PGPSYMKEYALGO_CAST5 = 3,
  PGPSYMKEYALGO_BLOWFISH = 4, PGPSYMKEYALGO_SAFER = 5, PGPSYMKEYALGO_DES_SK = 6, PGPSYMKEYALGO_AES_128 = 7,
  PGPSYMKEYALGO_AES_192 = 8, PGPSYMKEYALGO_AES_256 = 9, PGPSYMKEYALGO_TWOFISH = 10, PGPSYMKEYALGO_CAMELLIA_128 = 11,
  PGPSYMKEYALGO_CAMELLIA_192 = 12, PGPSYMKEYALGO_CAMELLIA_256 = 13, PGPSYMKEYALGO_NOENCRYPT = 110, PGPSYMKEYALGO_DES = 111
}
 9.2. More...
 
enum  rpmCryptFlags_e { RPMCIPHER_NONE = 0, RPMCIPHER_ENCRYPT = 1, RPMCIPHER_DECRYPT = 2 }
 Bit(s) to control cipher operation. More...
 
enum  pgpHashAlgo_e {
  PGPHASHALGO_ERROR = -1, PGPHASHALGO_NONE = 0, PGPHASHALGO_MD5 = 1, PGPHASHALGO_SHA1 = 2,
  PGPHASHALGO_RIPEMD160 = 3, PGPHASHALGO_MD2 = 5, PGPHASHALGO_TIGER192 = 6, PGPHASHALGO_HAVAL_5_160 = 7,
  PGPHASHALGO_SHA256 = 8, PGPHASHALGO_SHA384 = 9, PGPHASHALGO_SHA512 = 10, PGPHASHALGO_SHA224 = 11,
  PGPHASHALGO_MD4 = 104, PGPHASHALGO_RIPEMD128 = 105, PGPHASHALGO_CRC32 = 106, PGPHASHALGO_ADLER32 = 107,
  PGPHASHALGO_CRC64 = 108, PGPHASHALGO_JLU32 = 109, PGPHASHALGO_RIPEMD256 = 111, PGPHASHALGO_RIPEMD320 = 112,
  PGPHASHALGO_SALSA10 = 113, PGPHASHALGO_SALSA20 = 114, PGPHASHALGO_MD6_224 = 128+0, PGPHASHALGO_MD6_256 = 128+1,
  PGPHASHALGO_MD6_384 = 128+2, PGPHASHALGO_MD6_512 = 128+3, PGPHASHALGO_CUBEHASH_224 = 136+0, PGPHASHALGO_CUBEHASH_256 = 136+1,
  PGPHASHALGO_CUBEHASH_384 = 136+2, PGPHASHALGO_CUBEHASH_512 = 136+3, PGPHASHALGO_KECCAK_224 = 144+0, PGPHASHALGO_KECCAK_256 = 144+1,
  PGPHASHALGO_KECCAK_384 = 144+2, PGPHASHALGO_KECCAK_512 = 144+3, PGPHASHALGO_ECHO_224 = 148+0, PGPHASHALGO_ECHO_256 = 148+1,
  PGPHASHALGO_ECHO_384 = 148+2, PGPHASHALGO_ECHO_512 = 148+3, PGPHASHALGO_EDONR_224 = 152+0, PGPHASHALGO_EDONR_256 = 152+1,
  PGPHASHALGO_EDONR_384 = 152+2, PGPHASHALGO_EDONR_512 = 152+3, PGPHASHALGO_FUGUE_224 = 156+0, PGPHASHALGO_FUGUE_256 = 156+1,
  PGPHASHALGO_FUGUE_384 = 156+2, PGPHASHALGO_FUGUE_512 = 156+3, PGPHASHALGO_SKEIN_224 = 160+0, PGPHASHALGO_SKEIN_256 = 160+1,
  PGPHASHALGO_SKEIN_384 = 160+2, PGPHASHALGO_SKEIN_512 = 160+3, PGPHASHALGO_SKEIN_1024 = 160+4, PGPHASHALGO_BMW_224 = 168+0,
  PGPHASHALGO_BMW_256 = 168+1, PGPHASHALGO_BMW_384 = 168+2, PGPHASHALGO_BMW_512 = 168+3, PGPHASHALGO_SHABAL_224 = 176+0,
  PGPHASHALGO_SHABAL_256 = 176+1, PGPHASHALGO_SHABAL_384 = 176+2, PGPHASHALGO_SHABAL_512 = 176+3, PGPHASHALGO_SHAVITE3_224 = 180+0,
  PGPHASHALGO_SHAVITE3_256 = 180+1, PGPHASHALGO_SHAVITE3_384 = 180+2, PGPHASHALGO_SHAVITE3_512 = 180+3, PGPHASHALGO_BLAKE_224 = 184+0,
  PGPHASHALGO_BLAKE_256 = 184+1, PGPHASHALGO_BLAKE_384 = 184+2, PGPHASHALGO_BLAKE_512 = 184+3, PGPHASHALGO_BLAKE2B = 188+0,
  PGPHASHALGO_BLAKE2BP = 188+1, PGPHASHALGO_BLAKE2S = 188+2, PGPHASHALGO_BLAKE2SP = 188+3, PGPHASHALGO_TIB3_224 = 192+0,
  PGPHASHALGO_TIB3_256 = 192+1, PGPHASHALGO_TIB3_384 = 192+2, PGPHASHALGO_TIB3_512 = 192+3, PGPHASHALGO_RG32_256 = 196+1,
  PGPHASHALGO_SIMD_224 = 200+0, PGPHASHALGO_SIMD_256 = 200+1, PGPHASHALGO_SIMD_384 = 200+2, PGPHASHALGO_SIMD_512 = 200+3,
  PGPHASHALGO_RG64_256 = 204+1, PGPHASHALGO_ARIRANG_224 = 208+0, PGPHASHALGO_ARIRANG_256 = 208+1, PGPHASHALGO_ARIRANG_384 = 208+2,
  PGPHASHALGO_ARIRANG_512 = 208+3, PGPHASHALGO_LANE_224 = 212+0, PGPHASHALGO_LANE_256 = 212+1, PGPHASHALGO_LANE_384 = 212+2,
  PGPHASHALGO_LANE_512 = 212+3, PGPHASHALGO_LUFFA_224 = 216+0, PGPHASHALGO_LUFFA_256 = 216+1, PGPHASHALGO_LUFFA_384 = 216+2,
  PGPHASHALGO_LUFFA_512 = 216+3, PGPHASHALGO_CHI_224 = 224+0, PGPHASHALGO_CHI_256 = 224+1, PGPHASHALGO_CHI_384 = 224+2,
  PGPHASHALGO_CHI_512 = 224+3, PGPHASHALGO_JH_224 = 232+0, PGPHASHALGO_JH_256 = 232+1, PGPHASHALGO_JH_384 = 232+2,
  PGPHASHALGO_JH_512 = 232+3, PGPHASHALGO_GROESTL_224 = 240+0, PGPHASHALGO_GROESTL_256 = 240+1, PGPHASHALGO_GROESTL_384 = 240+2,
  PGPHASHALGO_GROESTL_512 = 240+3, PGPHASHALGO_HAMSI_224 = 248+0, PGPHASHALGO_HAMSI_256 = 248+1, PGPHASHALGO_HAMSI_384 = 248+2,
  PGPHASHALGO_HAMSI_512 = 248+3
}
 9.4. More...
 
enum  rpmDigestFlags_e { RPMDIGEST_NONE = 0 }
 Bit(s) to control digest operation. More...
 

Functions

void * _cphParam (CIPHER_CTX cph)
 
CIPHER_CTX rpmCipherInit (pgpSymkeyAlgo symkeyalgo, rpmCipherFlags flags)
 Initialize cipher context. More...
 
int rpmCipherNext (CIPHER_CTX cph, void *data, size_t len)
 Encrypt/Decrypt a block of data. More...
 
int rpmCipherFinal (CIPHER_CTX cph)
 Destroy cipher context. More...
 
pgpHashAlgo rpmDigestAlgo (DIGEST_CTX ctx)
 Return digest algorithm identifier. More...
 
rpmDigestFlags rpmDigestF (DIGEST_CTX ctx)
 Return digest flags. More...
 
const char * rpmDigestName (DIGEST_CTX ctx)
 Return digest name. More...
 
const char * rpmDigestASN1 (DIGEST_CTX ctx)
 Return digest ASN1 oid string. More...
 
DIGEST_CTX rpmDigestDup (DIGEST_CTX octx)
 Duplicate a digest context. More...
 
DIGEST_CTX rpmDigestInit (pgpHashAlgo hashalgo, rpmDigestFlags flags)
 Initialize digest context. More...
 
int rpmDigestUpdate (DIGEST_CTX ctx, const void *data, size_t len)
 Update context with next plain text buffer. More...
 
int rpmDigestFinal (DIGEST_CTX ctx, void *datap, size_t *lenp, int asAscii)
 Return digest and destroy context. More...
 
int rpmHmacInit (DIGEST_CTX ctx, const void *key, size_t keylen)
 Compute key material and add to digest context. More...
 
static int xislower (int c)
 
static int xisupper (int c)
 
static int xisalpha (int c)
 
static int xisdigit (int c)
 
static int xisalnum (int c)
 
static int xisblank (int c)
 
static int xisspace (int c)
 
static int xiscntrl (int c)
 
static int xisascii (int c)
 
static int xisprint (int c)
 
static int xisgraph (int c)
 
static int xispunct (int c)
 
static int xtolower (int c)
 
static int xtoupper (int c)
 
int xstrcasecmp (const char *s1, const char *s2)
 Locale insensitive strcasecmp(3). More...
 
int xstrncasecmp (const char *s1, const char *s2, size_t n)
 Locale insensitive strncasecmp(3). More...
 
const char * xstrtolocale (const char *str)
 Force encoding of string. More...
 
rpmiob rpmiobUnlink (rpmiob iob)
 Unreference a I/O buffer instance. More...
 
rpmiob rpmiobLink (rpmiob iob)
 Reference a I/O buffer instance. More...
 
rpmiob rpmiobFree (rpmiob iob)
 Destroy a I/O buffer instance. More...
 
rpmiob rpmiobNew (size_t len)
 Create an I/O buffer. More...
 
rpmiob rpmiobEmpty (rpmiob iob)
 Empty an I/O buffer. More...
 
rpmiob rpmiobRTrim (rpmiob iob)
 Trim trailing white space. More...
 
rpmiob rpmiobAppend (rpmiob iob, const char *s, size_t nl)
 Append string to I/O buffer. More...
 
rpmuint8_trpmiobBuf (rpmiob iob)
 Return I/O buffer. More...
 
char * rpmiobStr (rpmiob iob)
 Return I/O buffer (as string). More...
 
size_t rpmiobLen (rpmiob iob)
 Return I/O buffer len. More...
 
rpmioP rpmioPFree (rpmioP P)
 Destroy a rpmioP object. More...
 
rpmRC rpmioParse (rpmioP *Pptr, const char *str)
 Parse next command out of a string incrementally. More...
 
static void * _free (const void *p)
 Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. More...
 

Variables

size_t _rpmiob_chunk
 

Macro Definition Documentation

#define rpmiobFree (   _iob)    ((rpmiob)rpmioFreePoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__))

Definition at line 631 of file rpmiotypes.h.

#define rpmiobLink (   _iob)    ((rpmiob)rpmioLinkPoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__))

Definition at line 619 of file rpmiotypes.h.

#define rpmiobUnlink (   _iob)    ((rpmiob)rpmioUnlinkPoolItem((rpmioItem)(_iob), __FUNCTION__, __FILE__, __LINE__))

Definition at line 607 of file rpmiotypes.h.

Typedef Documentation

typedef struct CIPHER_CTX_s* CIPHER_CTX

Definition at line 166 of file rpmiotypes.h.

typedef struct DIGEST_CTX_s* DIGEST_CTX

Definition at line 264 of file rpmiotypes.h.

typedef const void* fnpyKey

Definition at line 134 of file rpmiotypes.h.

typedef struct pgpDig_s* pgpDig

Definition at line 97 of file rpmiotypes.h.

typedef struct pgpDigParams_s* pgpDigParams

Definition at line 101 of file rpmiotypes.h.

typedef enum pgpHashAlgo_e pgpHashAlgo

9.4.

Hash Algorithms

       ID           Algorithm                              Text Name
       --           ---------                              ---- ----
       1          - MD5                                    "MD5"
       2          - SHA-1                                  "SHA1"
       3          - RIPE-MD/160                            "RIPEMD160"
       4          - Reserved for double-width SHA (experimental)
       5          - MD2                                    "MD2"
       6          - Reserved for TIGER/192                 "TIGER192"
       7          - Reserved for HAVAL (5 pass, 160-bit)   "HAVAL-5-160"
       100 to 110 - Private/Experimental algorithm.

Implementations MUST implement SHA-1. Implementations SHOULD implement MD5.

Todo:
Add SHA256.
typedef rpmuint8_t pgpKeyID_t[8]

Definition at line 105 of file rpmiotypes.h.

typedef struct pgpPkt_s* pgpPkt

Definition at line 93 of file rpmiotypes.h.

9.2.

Symmetric Key Algorithms

       ID           Algorithm
       --           ---------
       0          - Plaintext or unencrypted data
       1          - IDEA [IDEA]
       2          - Triple-DES (DES-EDE, as per spec -
                    168 bit key derived from 192)
       3          - CAST5 (128 bit key, as per RFC 2144)
       4          - Blowfish (128 bit key, 16 rounds) [BLOWFISH]
       5          - SAFER-SK128 (13 rounds) [SAFER]
       6          - Reserved for DES/SK
       7          - AES with 128-bit key
       8          - AES with 192-bit key
       9          - AES with 256-bit key
       10         - Twofish with 256-bit key
       100 to 110 - Private/Experimental algorithm.

Implementations MUST implement Triple-DES. Implementations SHOULD implement IDEA and CAST5. Implementations MAY implement any other algorithm.

typedef rpmuint8_t pgpTime_t[4]

Definition at line 109 of file rpmiotypes.h.

typedef enum pgpVSFlags_e pgpVSFlags

Bit(s) to control digest and signature verification.

typedef void* rpmCallbackData

Definition at line 162 of file rpmiotypes.h.

typedef void*(* rpmCallbackFunction)(const void *h, const rpmCallbackType what, const rpmuint64_t amount, const rpmuint64_t total,fnpyKey key,rpmCallbackData data)

Definition at line 528 of file rpmiotypes.h.

Bit(s) to identify progress callbacks.

Bit(s) to control cipher operation.

Bit(s) to control digest operation.

typedef int rpmint32_t

Definition at line 33 of file rpmiotypes.h.

typedef struct rpmiob_s* rpmiob

Definition at line 60 of file rpmiotypes.h.

typedef struct rpmioItem_s* rpmioItem

Definition at line 41 of file rpmiotypes.h.

typedef struct rpmioP_s * rpmioP
typedef struct rpmioPool_s* rpmioPool

Definition at line 56 of file rpmiotypes.h.

typedef enum rpmRC_e rpmRC

RPM return codes.

typedef unsigned short rpmuint16_t

Definition at line 27 of file rpmiotypes.h.

typedef unsigned int rpmuint32_t

Definition at line 28 of file rpmiotypes.h.

typedef unsigned long long rpmuint64_t

Definition at line 29 of file rpmiotypes.h.

typedef unsigned char rpmuint8_t

Private int typedefs to avoid C99 portability issues.

Definition at line 26 of file rpmiotypes.h.

typedef struct yarnLock_s* yarnLock

Definition at line 37 of file rpmiotypes.h.

Enumeration Type Documentation

9.4.

Hash Algorithms

       ID           Algorithm                              Text Name
       --           ---------                              ---- ----
       1          - MD5                                    "MD5"
       2          - SHA-1                                  "SHA1"
       3          - RIPE-MD/160                            "RIPEMD160"
       4          - Reserved for double-width SHA (experimental)
       5          - MD2                                    "MD2"
       6          - Reserved for TIGER/192                 "TIGER192"
       7          - Reserved for HAVAL (5 pass, 160-bit)   "HAVAL-5-160"
       100 to 110 - Private/Experimental algorithm.

Implementations MUST implement SHA-1. Implementations SHOULD implement MD5.

Todo:
Add SHA256.
Enumerator
PGPHASHALGO_ERROR 
PGPHASHALGO_NONE 
PGPHASHALGO_MD5 

MD5

PGPHASHALGO_SHA1 

SHA-1

PGPHASHALGO_RIPEMD160 

RIPEMD-160

PGPHASHALGO_MD2 

MD2

PGPHASHALGO_TIGER192 

TIGER-192

PGPHASHALGO_HAVAL_5_160 

HAVAL-5-160

PGPHASHALGO_SHA256 

SHA-256

PGPHASHALGO_SHA384 

SHA-384

PGPHASHALGO_SHA512 

SHA-512

PGPHASHALGO_SHA224 

SHA-224

PGPHASHALGO_MD4 

(private) MD4

PGPHASHALGO_RIPEMD128 

(private) RIPEMD-128

PGPHASHALGO_CRC32 

(private) CRC-32

PGPHASHALGO_ADLER32 

(private) ADLER-32

PGPHASHALGO_CRC64 

(private) CRC-64

PGPHASHALGO_JLU32 

(private) Jenkins lookup3.c

PGPHASHALGO_RIPEMD256 

(private) RIPEMD-256

PGPHASHALGO_RIPEMD320 

(private) RIPEMD-320

PGPHASHALGO_SALSA10 

(private) SALSA-10

PGPHASHALGO_SALSA20 

(private) SALSA-20

PGPHASHALGO_MD6_224 

(private) MD6-224

PGPHASHALGO_MD6_256 

(private) MD6-256

PGPHASHALGO_MD6_384 

(private) MD6-384

PGPHASHALGO_MD6_512 

(private) MD6-512

PGPHASHALGO_CUBEHASH_224 

(private) CUBEHASH-224

PGPHASHALGO_CUBEHASH_256 

(private) CUBEHASH-256

PGPHASHALGO_CUBEHASH_384 

(private) CUBEHASH-384

PGPHASHALGO_CUBEHASH_512 

(private) CUBEHASH-512

PGPHASHALGO_KECCAK_224 

(private) KECCAK-224

PGPHASHALGO_KECCAK_256 

(private) KECCAK-256

PGPHASHALGO_KECCAK_384 

(private) KECCAK-384

PGPHASHALGO_KECCAK_512 

(private) KECCAK-384

PGPHASHALGO_ECHO_224 

(private) ECHO-224

PGPHASHALGO_ECHO_256 

(private) ECHO-256

PGPHASHALGO_ECHO_384 

(private) ECHO-384

PGPHASHALGO_ECHO_512 

(private) ECHO-384

PGPHASHALGO_EDONR_224 

(private) EDON-R-224

PGPHASHALGO_EDONR_256 

(private) EDON-R-256

PGPHASHALGO_EDONR_384 

(private) EDON-R-384

PGPHASHALGO_EDONR_512 

(private) EDON-R-512

PGPHASHALGO_FUGUE_224 

(private) FUGUE-224

PGPHASHALGO_FUGUE_256 

(private) FUGUE-256

PGPHASHALGO_FUGUE_384 

(private) FUGUE-384

PGPHASHALGO_FUGUE_512 

(private) FUGUE-512

PGPHASHALGO_SKEIN_224 

(private) SKEIN-224

PGPHASHALGO_SKEIN_256 

(private) SKEIN-256

PGPHASHALGO_SKEIN_384 

(private) SKEIN-384

PGPHASHALGO_SKEIN_512 

(private) SKEIN-512

PGPHASHALGO_SKEIN_1024 

(private) SKEIN-1024

PGPHASHALGO_BMW_224 

(private) BMW-224

PGPHASHALGO_BMW_256 

(private) BMW-256

PGPHASHALGO_BMW_384 

(private) BMW-384

PGPHASHALGO_BMW_512 

(private) BMW-512

PGPHASHALGO_SHABAL_224 

(private) SHABAL-224

PGPHASHALGO_SHABAL_256 

(private) SHABAL-256

PGPHASHALGO_SHABAL_384 

(private) SHABAL-384

PGPHASHALGO_SHABAL_512 

(private) SHABAL-512

PGPHASHALGO_SHAVITE3_224 

(private) SHAVITE3-224

PGPHASHALGO_SHAVITE3_256 

(private) SHAVITE3-256

PGPHASHALGO_SHAVITE3_384 

(private) SHAVITE3-384

PGPHASHALGO_SHAVITE3_512 

(private) SHAVITE3-512

PGPHASHALGO_BLAKE_224 

(private) BLAKE-224

PGPHASHALGO_BLAKE_256 

(private) BLAKE-256

PGPHASHALGO_BLAKE_384 

(private) BLAKE-384

PGPHASHALGO_BLAKE_512 

(private) BLAKE-512

PGPHASHALGO_BLAKE2B 

(private) BLAKE2B

PGPHASHALGO_BLAKE2BP 

(private) BLAKE2BP

PGPHASHALGO_BLAKE2S 

(private) BLAKE2S

PGPHASHALGO_BLAKE2SP 

(private) BLAKE2SP

PGPHASHALGO_TIB3_224 

(private) TIB3-224

PGPHASHALGO_TIB3_256 

(private) TIB3-256

PGPHASHALGO_TIB3_384 

(private) TIB3-384

PGPHASHALGO_TIB3_512 

(private) TIB3-512

PGPHASHALGO_RG32_256 

(private) RG32-256

PGPHASHALGO_SIMD_224 

(private) SIMD-224

PGPHASHALGO_SIMD_256 

(private) SIMD-256

PGPHASHALGO_SIMD_384 

(private) SIMD-384

PGPHASHALGO_SIMD_512 

(private) SIMD-512

PGPHASHALGO_RG64_256 

(private) RG64-256

PGPHASHALGO_ARIRANG_224 

(private) ARIRANG-224

PGPHASHALGO_ARIRANG_256 

(private) ARIRANG-256

PGPHASHALGO_ARIRANG_384 

(private) ARIRANG-384

PGPHASHALGO_ARIRANG_512 

(private) ARIRANG-512

PGPHASHALGO_LANE_224 

(private) LANE-224

PGPHASHALGO_LANE_256 

(private) LANE-256

PGPHASHALGO_LANE_384 

(private) LANE-384

PGPHASHALGO_LANE_512 

(private) LANE-512

PGPHASHALGO_LUFFA_224 

(private) LUFFA-224

PGPHASHALGO_LUFFA_256 

(private) LUFFA-256

PGPHASHALGO_LUFFA_384 

(private) LUFFA-384

PGPHASHALGO_LUFFA_512 

(private) LUFFA-512

PGPHASHALGO_CHI_224 

(private) CHI-224

PGPHASHALGO_CHI_256 

(private) CHI-256

PGPHASHALGO_CHI_384 

(private) CHI-384

PGPHASHALGO_CHI_512 

(private) CHI-512

PGPHASHALGO_JH_224 

(private) JH-224

PGPHASHALGO_JH_256 

(private) JH-256

PGPHASHALGO_JH_384 

(private) JH-384

PGPHASHALGO_JH_512 

(private) JH-512

PGPHASHALGO_GROESTL_224 

(private) GROESTL-224

PGPHASHALGO_GROESTL_256 

(private) GROESTL-256

PGPHASHALGO_GROESTL_384 

(private) GROESTL-384

PGPHASHALGO_GROESTL_512 

(private) GROESTL-512

PGPHASHALGO_HAMSI_224 

(private) HAMSI-224

PGPHASHALGO_HAMSI_256 

(private) HAMSI-256

PGPHASHALGO_HAMSI_384 

(private) HAMSI-384

PGPHASHALGO_HAMSI_512 

(private) HAMSI-512

Definition at line 286 of file rpmiotypes.h.

9.2.

Symmetric Key Algorithms

       ID           Algorithm
       --           ---------
       0          - Plaintext or unencrypted data
       1          - IDEA [IDEA]
       2          - Triple-DES (DES-EDE, as per spec -
                    168 bit key derived from 192)
       3          - CAST5 (128 bit key, as per RFC 2144)
       4          - Blowfish (128 bit key, 16 rounds) [BLOWFISH]
       5          - SAFER-SK128 (13 rounds) [SAFER]
       6          - Reserved for DES/SK
       7          - AES with 128-bit key
       8          - AES with 192-bit key
       9          - AES with 256-bit key
       10         - Twofish with 256-bit key
       100 to 110 - Private/Experimental algorithm.

Implementations MUST implement Triple-DES. Implementations SHOULD implement IDEA and CAST5. Implementations MAY implement any other algorithm.

Enumerator
PGPSYMKEYALGO_PLAINTEXT 

Plaintext

PGPSYMKEYALGO_IDEA 

IDEA

PGPSYMKEYALGO_TRIPLE_DES 

3DES

PGPSYMKEYALGO_CAST5 

CAST5

PGPSYMKEYALGO_BLOWFISH 

BLOWFISH

PGPSYMKEYALGO_SAFER 

SAFER

PGPSYMKEYALGO_DES_SK 

DES/SK

PGPSYMKEYALGO_AES_128 

AES(128-bit key)

PGPSYMKEYALGO_AES_192 

AES(192-bit key)

PGPSYMKEYALGO_AES_256 

AES(256-bit key)

PGPSYMKEYALGO_TWOFISH 

TWOFISH(256-bit key)

PGPSYMKEYALGO_CAMELLIA_128 

CAMELLIA(128-bit key)

PGPSYMKEYALGO_CAMELLIA_192 

CAMELLIA(192-bit key)

PGPSYMKEYALGO_CAMELLIA_256 

CAMELLIA(256-bit key)

PGPSYMKEYALGO_NOENCRYPT 

no encryption

PGPSYMKEYALGO_DES 

Definition at line 194 of file rpmiotypes.h.

Bit(s) to control digest and signature verification.

Enumerator
RPMVSF_DEFAULT 
RPMVSF_NOHDRCHK 
RPMVSF_NEEDPAYLOAD 
RPMVSF_NOSHA1HEADER 
RPMVSF_NOMD5HEADER 
RPMVSF_NODSAHEADER 
RPMVSF_NORSAHEADER 
RPMVSF_NOECDSAHEADER 
RPMVSF_NOSHA1 
RPMVSF_NOMD5 
RPMVSF_NODSA 
RPMVSF_NORSA 
RPMVSF_NOECDSA 

Definition at line 114 of file rpmiotypes.h.

Bit(s) to identify progress callbacks.

Enumerator
RPMCALLBACK_UNKNOWN 
RPMCALLBACK_INST_PROGRESS 
RPMCALLBACK_INST_START 
RPMCALLBACK_INST_OPEN_FILE 
RPMCALLBACK_INST_CLOSE_FILE 
RPMCALLBACK_TRANS_PROGRESS 
RPMCALLBACK_TRANS_START 
RPMCALLBACK_TRANS_STOP 
RPMCALLBACK_UNINST_PROGRESS 
RPMCALLBACK_UNINST_START 
RPMCALLBACK_UNINST_STOP 
RPMCALLBACK_REPACKAGE_PROGRESS 
RPMCALLBACK_REPACKAGE_START 
RPMCALLBACK_REPACKAGE_STOP 
RPMCALLBACK_UNPACK_ERROR 
RPMCALLBACK_CPIO_ERROR 
RPMCALLBACK_SCRIPT_ERROR 

Definition at line 140 of file rpmiotypes.h.

Bit(s) to control cipher operation.

Enumerator
RPMCIPHER_NONE 
RPMCIPHER_ENCRYPT 
RPMCIPHER_DECRYPT 

Definition at line 217 of file rpmiotypes.h.

Bit(s) to control digest operation.

Enumerator
RPMDIGEST_NONE 

Definition at line 427 of file rpmiotypes.h.

enum rpmRC_e

RPM return codes.

Enumerator
RPMRC_OK 

Generic success code

RPMRC_NOTFOUND 

Generic not found code.

RPMRC_FAIL 

Generic failure code.

RPMRC_NOTTRUSTED 

Signature is OK, but key is not trusted.

RPMRC_NOKEY 

Public key is unavailable.

RPMRC_NOSIG 

Signature is unavailable.

Definition at line 14 of file rpmiotypes.h.

Function Documentation

void* _cphParam ( CIPHER_CTX  cph)
static void* _free ( const void *  p)
inlinestatic

Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.

Parameters
pmemory to free
Returns
NULL always

Definition at line 756 of file rpmiotypes.h.

Referenced by _fnTag(), _GetPass(), _orgrpmtsOrder(), _rpmmc_free(), _rpmtsCheck(), _rpmtsOrder(), _rpmvtAppendCols(), _tagGenerate(), _tagName(), _tagValue(), addChangelog(), addFile(), addFileToTag(), addFileToTagAux(), addOrAppendListEntry(), addReqProv(), addSource(), addTE(), archScore(), argiFree(), argvFree(), argvSplit(), armorFormat(), avClosedir(), avxFini(), base64Format(), bncdataFormat(), buildSpec(), cdataFormat(), checkForDuplicates(), checkForValidArchitectures(), checkPackageSet(), checkUnpackagedFiles(), Chroot(), closeCallback(), closeSpec(), cmd_ls(), cmd_match(), collectSCC(), compare(), compressFilelist(), cpio_doio(), cpioHeaderRead(), createDir(), ctxFini(), db3Acallback(), db3associate(), db3associate_foreign(), db3close(), db3open(), db3stat(), db_init(), dbiFindMatches(), dbiFreeIndexSet(), dbiMireKeys(), dbiTagsInit(), debevrfmtTag(), debevrTag(), debmd5sumsTag(), defaultMachine(), delTE(), detectSCCs(), dnlFreeIterator(), dodigest(), doIcon(), doPatch(), doPrimary(), doSetupMacro(), doUntar(), ensureOlder(), expandMacro(), extractRegular(), fdFini(), FDGsqlTag(), FDGxmlTag(), FDGyamlTag(), fiIntersect(), filestatTag(), fillOutMainPackage(), findErases(), findPreambleTag(), Fopen(), formatValue(), fpLookupSubdir(), freeAttrRec(), freeBadDeps(), freeFileList(), freeFormat(), freeFSM(), freeGlobs(), freeHardLink(), freeIOSM(), freeItem(), freeItems(), freeNames(), freeSl(), freeSources(), freeSt(), freeTriggerFiles(), fsmCommitLinks(), fsmMakeLinks(), fsmMapPath(), fsmMkdirs(), fsmStage(), fsmTeardown(), fssizesTag(), ftsCacheUpdate(), genCpioListAndHeader(), genSourceRpmName(), getFilesystemList(), getMachineInfo(), getOutputFrom(), getSignid(), getSourceDir(), grabArgs(), grabData(), grepArgCallback(), handleInstInstalledFile(), handleOneTrigger(), handleOverlappedFiles(), handlePreambleTag(), hBlobDigest(), hCopyTag(), hdr_subscript(), hdrColumn(), hdrKeyList(), hdrSprintf(), hdrUnload(), headerCheck(), headerCopy(), headerCopyTags(), headerFini(), headerLoad(), headerMacrosLoad(), headerMacrosUnload(), headerMap(), headerMergeLegacySigs(), headerModifyEntry(), headerNEVRA(), headerRegenSigHeader(), headerReload(), headerRemoveEntry(), headerScrub(), headerSetBaseURL(), headerSetDigest(), headerSetOrigin(), headerSetParent(), headerSprintf(), headerUnload(), hFree(), hGetColor(), hGetNVRA(), hLoadTID(), htFini(), i18nTag(), IDTXfree(), IDTXglob(), IDTXload(), ignoreDep(), initGlobs(), initSourceHeader(), installArgCallback(), instprefixTag(), iosmCommitLinks(), iosmMakeLinks(), iosmMapPath(), iosmMkdirs(), iosmStage(), iosmTeardown(), isMemberInEntry(), isPart(), jsonFormat(), loadDBT(), localeTag(), lookupPackage(), main(), makeGPGSignature(), makeHDRSignature(), mapFreeIterator(), miFreeHeader(), mireClean(), mireSkip(), mongo_cmd_authenticate(), mongo_pass_digest(), mtreeVisitD(), mtreeVisitF(), needswhatTag(), nwlookupTag(), odbcConnect(), odbcFini(), Open(), open_dso(), packageBinaries(), packageSources(), parse_options(), parseBuildInstallClean(), parseChangelog(), parseCVOG(), parseDescription(), parseExpressionBoolean(), parseExpressionString(), parseFiles(), parseForRegexLang(), parseForSimple(), parsePreamble(), parseRCPOT(), parseScript(), parseSimplePart(), parseSpec(), pgpArmorUnwrap(), pgpArmorWrap(), pgpDigClean(), pgpDigFini(), pgpDigSetAlgos(), pgpExtractPubkeyFingerprint(), pgpGrabPkts(), pgpPrtPkts(), pgpPrtUserID(), pgpPubkeyFingerprint(), pkgFini(), pkgUnpackagedSubdirs(), pointRpmEVR(), popMacro(), populateInstallHeader(), PRCOsqlTag(), PRCOxmlTag(), PRCOyamlTag(), prepFetch(), prepFetchVerbose(), printFileInfo(), printNewSpecfile(), processBinaryFile(), processBinaryFiles(), processMetadataFile(), processPackageFiles(), processSourceFiles(), providePackageNVR(), queryArgCallback(), rdLead(), rdSignature(), readFile(), readLine(), readLineFromOFI(), Realpath(), rebuildCompatTables(), relocateFileList(), rpmalAllSatisfiesDepend(), rpmalFini(), rpmalFreeIndex(), rpmasnFini(), rpmaugFini(), rpmaugFprintf(), rpmaugRun(), rpmbagDel(), rpmbagFini(), rpmbcClean(), rpmbcFree(), rpmbcMpiItem(), rpmbcSetDSA(), rpmbcSetELG(), rpmbcSetRSA(), rpmCheckPassPhrase(), rpmcliAllArgCallback(), rpmcliConfigured(), rpmcliFini(), rpmcliImportPubkey(), rpmcliImportPubkeys(), rpmcliInit(), rpmcliInstall(), rpmcliInstallElementPath(), rpmcliInstallSuggests(), rpmcliQuery(), rpmcvsFini(), rpmdbAdd(), rpmdbClose(), rpmdbExportHR_MIB(), rpmdbNew(), rpmdbRemove(), rpmdbURIPath(), rpmdcParseZeroInstall(), rpmdcPrintFile(), rpmDigestFinal(), rpmds_compare(), rpmdsCompare(), rpmdsCpuinfo(), rpmdsELF(), rpmdsEVRorder(), rpmdsFini(), rpmdsFreePRCO(), rpmdsGetconf(), rpmdsLdconfig(), rpmdsMerge(), rpmdsNew(), rpmdsNext(), rpmdsNVRMatchesDep(), rpmdsPipe(), rpmdsSysinfo(), rpmdsThis(), rpmecFree(), rpmEVRfree(), rpmEVRmire(), rpmEVRorder(), rpmExpandNumeric(), rpmfcClassify(), rpmfcExec(), rpmfcExpandRegexps(), rpmfcGenerateDepends(), rpmfcGenerateDependsHelper(), rpmfcGenerateScriptletDeps(), rpmfcSCRIPT(), rpmfd_Fopen(), rpmfi_FClass_get(), rpmfiBuildFClasses(), rpmfiBuildFDeps(), rpmfiBuildFNames(), rpmfiFini(), rpmfiFreeRelocations(), rpmfiNew(), rpmfiOpendir(), rpmFreeFilesystems(), rpmFreeMacros(), rpmFreeRpmrc(), rpmfts_dealloc(), rpmfts_initialize(), rpmGenPath(), rpmGetFilesystemUsage(), rpmgiFini(), rpmgiGlobArgv(), rpmgiInitFilter(), rpmgiLoadReadHeader(), rpmgiNext(), rpmgiOpen(), rpmgitClose(), rpmgitCmdCommit(), rpmgitCmdInit(), rpmgitCmdStatus(), rpmgitFini(), rpmgitNew(), rpmgitOpen(), rpmgitPopt(), rpmGlob(), rpmhdrLoadTag(), rpmHeadersIdentical(), rpmheClean(), rpmheRealloc(), rpmhkpFindKey(), rpmhkpFini(), rpmhkpLookup(), rpmhkpVerifyHash(), rpmHmacInit(), rpmInitMacros(), rpmInstallSourcePackage(), rpmioAllArgCallback(), rpmiobFini(), rpmiobSlurp(), rpmioFreePool(), rpmioInit(), rpmioParse(), rpmioPFree(), rpmioPutPool(), rpmlibMarkers(), rpmlioPostin(), rpmlioPostun(), rpmlioPrein(), rpmlioPreun(), rpmLoadMacroFile(), rpmlock_free(), rpmlock_new(), rpmlogClose(), rpmmdbFini(), rpmmgFile(), rpmmgFini(), rpmmgoFini(), rpmmiAddPattern(), rpmmiFini(), rpmmiInit(), rpmnsArch(), rpmnsClean(), rpmnsProbeSignature(), rpmperlNew(), rpmPlatform(), rpmps_ass_sub(), rpmpsFini(), rpmpsFreeIterator(), rpmpsmFini(), rpmpsmStage(), rpmpsPrint(), rpmpythonNew(), rpmpythonRun(), rpmQueryVerify(), rpmrbLoadClasses(), rpmrbLoadFile(), rpmReadConfigFiles(), rpmReadHeader(), rpmReadHeaders(), rpmReadPackageFile(), rpmReadPackageManifest(), rpmReadRC(), rpmRebuildTargetVars(), rpmrepoCloseMDFile(), rpmrepoDoFinalMove(), rpmrepoDoPkgMetadata(), rpmrepoDoRepoMetadata(), rpmrepoFini(), rpmrepoInitPopt(), rpmrepoMkdir(), rpmrepoOpenMDFile(), rpmrepoReadHeader(), rpmrepoRfileDigest(), rpmrepoTestSetupDirs(), rpmReSign(), rpmrfileXMLWrite(), rpmRollback(), rpmsetFini(), rpmSetMachine(), rpmShowProgress(), rpmShowRC(), rpmSingleHeaderFromFD(), rpmsmFini(), rpmsmList(), rpmspFini(), rpmsqlFini(), rpmsqlNew(), rpmsqlRun(), rpmsvnFini(), rpmsxFini(), rpmsxNew(), rpmte_free(), rpmteChain(), rpmteFreeTSI(), rpmTempFile(), rpmteNew(), rpmtpmFini(), rpmts_Check(), rpmts_HdrCheck(), rpmts_IDTXglob(), rpmtsAddInstallElement(), rpmtsAddObsoletes(), rpmtsAddUpgrades(), rpmtsAvailable(), rpmtsCallback(), rpmtsCheckInstalledFiles(), rpmtsClean(), rpmtsEraseDebuginfo(), rpmtsFindPubkey(), rpmtsFini(), rpmtsInitDSI(), rpmtsOpenDB(), rpmtsOpenSDB(), rpmtsPRCO(), rpmtsPrepare(), rpmtsProcess(), rpmtsRebuildDB(), rpmtsRollback(), rpmtsSanityCheck(), rpmtsSetCurrDir(), rpmtsSetRootDir(), rpmtsSetup(), rpmtsSkipFiles(), rpmtsSolve(), rpmVerifySignatures(), rpmVersionCompare(), rpmvfFree(), rpmvtNew(), rpmwfScrub(), rpmWriteHeader(), rpmWriteHeaders(), rpmxarFini(), rpmxarPull(), rpmxarStat(), rpmxarSwapBuf(), rpmzFini(), rpmzLogFree(), rpmzMsgShow(), runImmedTriggers(), runInstScript(), runScript(), runTriggers(), runTriggersLoop(), saveHardLink(), scpFini(), scpReset(), scpResetAv(), scpResetKeys(), shownode(), showQueryPackage(), showVerifyPackage(), spec_get_buildroot(), specFini(), spewescapeFormat(), sql_cclose(), sql_cget(), sql_close(), sql_exec(), sql_initDB(), sql_open(), sql_stat(), stashSt(), statFormat(), str2uuid(), strdup_iconv_check(), strsubFormat(), tag2uuidv1(), tag2uuidv5(), tagAppendCols(), tagClean(), tagLoadArgv(), tagLoadATags(), tagStoreFree(), tagValidate(), tarHeaderReadName(), timeCheck(), triggercondsTag(), triggertypeTag(), tv2uuidv1(), unsatisfiedDepend(), urlFind(), urlFini(), urlFreeCache(), urlGetFile(), urlSplit(), uuidFormat(), valueFree(), verifyMD5(), verifySHA1(), vrpmlog(), whatneedsTag(), wnlookupTag(), writeLinkedFile(), writeRPM(), xarSize(), xmlFormat(), yamlFormat(), and zapRelation().

int rpmCipherFinal ( CIPHER_CTX  cph)

Destroy cipher context.

Parameters
cphcipher context
Returns
0 on success
CIPHER_CTX rpmCipherInit ( pgpSymkeyAlgo  symkeyalgo,
rpmCipherFlags  flags 
)

Initialize cipher context.

Set bit count to 0 and buffer to mysterious initialization constants.

Parameters
symkeyalgotype of cipher
flagsbit(s) to control cipher operation
Returns
cipher context
int rpmCipherNext ( CIPHER_CTX  cph,
void *  data,
size_t  len 
)

Encrypt/Decrypt a block of data.

Parameters
cphcipher context
datanext data buffer
lenno. bytes of data
Returns
0 on success
pgpHashAlgo rpmDigestAlgo ( DIGEST_CTX  ctx)

Return digest algorithm identifier.

Parameters
ctxdigest context
Returns
digest hash algorithm identifier

Definition at line 191 of file digest.c.

References DIGEST_CTX_s::hashalgo, and PGPHASHALGO_NONE.

Referenced by fdFiniDigest(), fdStealDigest(), rpmbcSetDSA(), rpmbcSetECDSA(), rpmbcSetELG(), rpmbcSetRSA(), verifyDSA(), verifyECDSA(), and verifyRSA().

const char* rpmDigestASN1 ( DIGEST_CTX  ctx)

Return digest ASN1 oid string.

Values from PKCS#1 v2.1 (aka RFC-3447).

Parameters
ctxdigest context
Returns
digest ASN1 oid string

Definition at line 206 of file digest.c.

References DIGEST_CTX_s::asn1.

Referenced by rpmbcSetRSA().

DIGEST_CTX rpmDigestDup ( DIGEST_CTX  octx)
rpmDigestFlags rpmDigestF ( DIGEST_CTX  ctx)

Return digest flags.

Parameters
ctxdigest context
Returns
digest flags

Definition at line 196 of file digest.c.

References DIGEST_CTX_s::flags, and RPMDIGEST_NONE.

int rpmDigestFinal ( DIGEST_CTX  ctx,
void *  datap,
size_t *  lenp,
int  asAscii 
)
DIGEST_CTX rpmDigestInit ( pgpHashAlgo  hashalgo,
rpmDigestFlags  flags 
)

Initialize digest context.

Set bit count to 0 and buffer to mysterious initialization constants.

Parameters
hashalgotype of digest
flagsbit(s) to control digest operation
Returns
digest context

Definition at line 247 of file digest.c.

References __adler32(), __adler32_combine(), __crc32(), __crc32_combine(), __crc64(), __crc64_combine(), DIGEST_CTX_s::asn1, DIGEST_CTX_s::blocksize, sum32Param::combine, sum64Param::combine, ctxGetPool(), d, DIGEST_CTX_s::Digest, DIGEST_CTX_s::digestsize, DPRINTF, DRD_xcalloc, DIGEST_CTX_s::flags, flags, DIGEST_CTX_s::hashalgo, L, md6_Update(), DIGEST_CTX_s::name, noopReset(), DIGEST_CTX_s::param, DIGEST_CTX_s::paramsize, PGPHASHALGO_ADLER32, PGPHASHALGO_ARIRANG_224, PGPHASHALGO_ARIRANG_256, PGPHASHALGO_ARIRANG_384, PGPHASHALGO_ARIRANG_512, PGPHASHALGO_BLAKE2B, PGPHASHALGO_BLAKE2BP, PGPHASHALGO_BLAKE2S, PGPHASHALGO_BLAKE2SP, PGPHASHALGO_BLAKE_224, PGPHASHALGO_BLAKE_256, PGPHASHALGO_BLAKE_384, PGPHASHALGO_BLAKE_512, PGPHASHALGO_BMW_224, PGPHASHALGO_BMW_256, PGPHASHALGO_BMW_384, PGPHASHALGO_BMW_512, PGPHASHALGO_CHI_224, PGPHASHALGO_CHI_256, PGPHASHALGO_CHI_384, PGPHASHALGO_CHI_512, PGPHASHALGO_CRC32, PGPHASHALGO_CRC64, PGPHASHALGO_CUBEHASH_224, PGPHASHALGO_CUBEHASH_256, PGPHASHALGO_CUBEHASH_384, PGPHASHALGO_CUBEHASH_512, PGPHASHALGO_ECHO_224, PGPHASHALGO_ECHO_256, PGPHASHALGO_ECHO_384, PGPHASHALGO_ECHO_512, PGPHASHALGO_EDONR_224, PGPHASHALGO_EDONR_256, PGPHASHALGO_EDONR_384, PGPHASHALGO_EDONR_512, PGPHASHALGO_FUGUE_224, PGPHASHALGO_FUGUE_256, PGPHASHALGO_FUGUE_384, PGPHASHALGO_FUGUE_512, PGPHASHALGO_GROESTL_224, PGPHASHALGO_GROESTL_256, PGPHASHALGO_GROESTL_384, PGPHASHALGO_GROESTL_512, PGPHASHALGO_HAMSI_224, PGPHASHALGO_HAMSI_256, PGPHASHALGO_HAMSI_384, PGPHASHALGO_HAMSI_512, PGPHASHALGO_HAVAL_5_160, PGPHASHALGO_JH_224, PGPHASHALGO_JH_256, PGPHASHALGO_JH_384, PGPHASHALGO_JH_512, PGPHASHALGO_JLU32, PGPHASHALGO_KECCAK_224, PGPHASHALGO_KECCAK_256, PGPHASHALGO_KECCAK_384, PGPHASHALGO_KECCAK_512, PGPHASHALGO_LANE_224, PGPHASHALGO_LANE_256, PGPHASHALGO_LANE_384, PGPHASHALGO_LANE_512, PGPHASHALGO_LUFFA_224, PGPHASHALGO_LUFFA_256, PGPHASHALGO_LUFFA_384, PGPHASHALGO_LUFFA_512, PGPHASHALGO_MD2, PGPHASHALGO_MD4, PGPHASHALGO_MD5, PGPHASHALGO_MD6_224, PGPHASHALGO_MD6_256, PGPHASHALGO_MD6_384, PGPHASHALGO_MD6_512, PGPHASHALGO_RG32_256, PGPHASHALGO_RG64_256, PGPHASHALGO_RIPEMD128, PGPHASHALGO_RIPEMD160, PGPHASHALGO_RIPEMD256, PGPHASHALGO_RIPEMD320, PGPHASHALGO_SALSA10, PGPHASHALGO_SALSA20, PGPHASHALGO_SHA1, PGPHASHALGO_SHA224, PGPHASHALGO_SHA256, PGPHASHALGO_SHA384, PGPHASHALGO_SHA512, PGPHASHALGO_SHABAL_224, PGPHASHALGO_SHABAL_256, PGPHASHALGO_SHABAL_384, PGPHASHALGO_SHABAL_512, PGPHASHALGO_SHAVITE3_224, PGPHASHALGO_SHAVITE3_256, PGPHASHALGO_SHAVITE3_384, PGPHASHALGO_SHAVITE3_512, PGPHASHALGO_SIMD_224, PGPHASHALGO_SIMD_256, PGPHASHALGO_SIMD_384, PGPHASHALGO_SIMD_512, PGPHASHALGO_SKEIN_1024, PGPHASHALGO_SKEIN_224, PGPHASHALGO_SKEIN_256, PGPHASHALGO_SKEIN_384, PGPHASHALGO_SKEIN_512, PGPHASHALGO_TIB3_224, PGPHASHALGO_TIB3_256, PGPHASHALGO_TIB3_384, PGPHASHALGO_TIB3_512, PGPHASHALGO_TIGER192, DIGEST_CTX_s::Reset, rpmioFreePoolItem(), rpmioLinkPoolItem(), DIGEST_CTX_s::salt, sum32Digest(), sum32Reset(), sum32Update(), sum64Digest(), sum64Reset(), sum64Update(), sum32Param::update, sum64Param::update, and DIGEST_CTX_s::Update.

Referenced by _tagGenerate(), digestFormat(), dodigest(), fdInitDigest(), hBlobDigest(), makeHDRSignature(), mongo_cmd_authenticate(), mongo_pass_digest(), pgpPubkeyFingerprint(), readFile(), rpmcliImportPubkey(), rpmdcParseZeroInstall(), rpmDigestFinal(), rpmhkpHashKey(), rpmHmacInit(), rpmnsProbeSignature(), rpmrepoRfileDigest(), and unsatisfiedDepend().

const char* rpmDigestName ( DIGEST_CTX  ctx)

Return digest name.

Parameters
ctxdigest context
Returns
digest name

Definition at line 201 of file digest.c.

References DIGEST_CTX_s::name.

Referenced by rpmhkpVerifyHash(), verifyDSA(), verifyECDSA(), verifyMD5(), verifyRSA(), and verifySHA1().

int rpmDigestUpdate ( DIGEST_CTX  ctx,
const void *  data,
size_t  len 
)
int rpmHmacInit ( DIGEST_CTX  ctx,
const void *  key,
size_t  keylen 
)

Compute key material and add to digest context.

Parameters
ctxdigest context
keyHMAC key (NULL does digest instead)
keylenHMAC key length(bytes) (0 uses strlen(key))
Returns
0 on success

Definition at line 1062 of file digest.c.

References _free(), DIGEST_CTX_s::blocksize, DPRINTF, DRD_xcalloc, DIGEST_CTX_s::hashalgo, HMAC_IPAD, i, DIGEST_CTX_s::name, RPMDIGEST_NONE, rpmDigestFinal(), rpmDigestInit(), rpmDigestUpdate(), and DIGEST_CTX_s::salt.

Referenced by dodigest(), fdInitHmac(), and rpmdcParseZeroInstall().

rpmiob rpmiobAppend ( rpmiob  iob,
const char *  s,
size_t  nl 
)
rpmuint8_t* rpmiobBuf ( rpmiob  iob)

Return I/O buffer.

Parameters
iobI/O buffer
Returns
I/O buffer (as octets)

Definition at line 102 of file rpmiob.c.

References _rpmiob_debug.

rpmiob rpmiobEmpty ( rpmiob  iob)

Empty an I/O buffer.

Parameters
iobI/O buffer
Returns
I/O buffer

Definition at line 57 of file rpmiob.c.

References _rpmiob_debug.

Referenced by rpmfcGenerateScriptletDeps(), rpmficlNew(), and rpmsmRun().

rpmiob rpmiobFree ( rpmiob  iob)
size_t rpmiobLen ( rpmiob  iob)

Return I/O buffer len.

Parameters
iobI/O buffer
Returns
I/O buffer length

Definition at line 122 of file rpmiob.c.

References _rpmiob_debug.

Referenced by rpmfcExec(), and rpmsmRun().

rpmiob rpmiobLink ( rpmiob  iob)

Reference a I/O buffer instance.

Parameters
iobI/O buffer
Returns
new I/O buffer reference

Referenced by rpmiobNew().

rpmiob rpmiobNew ( size_t  len)
rpmiob rpmiobRTrim ( rpmiob  iob)

Trim trailing white space.

Parameters
iobI/O buffer
Returns
I/O buffer

Definition at line 67 of file rpmiob.c.

References _rpmiob_debug, and xisspace().

Referenced by parseDescription(), parseScript(), rpmfcGenerateScriptletDeps(), rpmsmRun(), and rpmsqlRun().

char* rpmiobStr ( rpmiob  iob)
rpmiob rpmiobUnlink ( rpmiob  iob)

Unreference a I/O buffer instance.

Parameters
iobhash table
Returns
NULL if free'd
rpmRC rpmioParse ( rpmioP Pptr,
const char *  str 
)

Parse next command out of a string incrementally.

Parameters
*Pptrparser state
strstring to parse
Returns
RPMRC_OK on success

Definition at line 966 of file poptIO.c.

References _free(), rpmioP_s::ac, argvAdd(), argvFree(), rpmioP_s::av, b, matchchar(), rpmioP_s::next, RPMRC_FAIL, RPMRC_NOTFOUND, RPMRC_OK, rpmioP_s::str, xcalloc(), and xstrdup().

Referenced by rpmaugRun().

rpmioP rpmioPFree ( rpmioP  P)

Destroy a rpmioP object.

Parameters
Pparser state
Returns
NULL

Definition at line 956 of file poptIO.c.

References _free(), argvFree(), rpmioP_s::av, and rpmioP_s::str.

static int xisalnum ( int  c)
inlinestatic
static int xisalpha ( int  c)
inlinestatic

Definition at line 543 of file rpmiotypes.h.

References xislower(), and xisupper().

Referenced by doDefine(), doUndefine(), doUnglobal(), dpkgEVRctype(), parseBits(), rdToken(), xisalnum(), and xisrpmalpha().

static int xisascii ( int  c)
inlinestatic

Definition at line 561 of file rpmiotypes.h.

Referenced by xisgraph(), and xisprint().

static int xisblank ( int  c)
inlinestatic

Definition at line 552 of file rpmiotypes.h.

Referenced by xisspace().

static int xiscntrl ( int  c)
inlinestatic

Definition at line 558 of file rpmiotypes.h.

static int xisdigit ( int  c)
inlinestatic
static int xisgraph ( int  c)
inlinestatic

Definition at line 567 of file rpmiotypes.h.

References xisascii().

Referenced by xispunct().

static int xislower ( int  c)
inlinestatic

Definition at line 537 of file rpmiotypes.h.

Referenced by xisalpha(), and xtoupper().

static int xisprint ( int  c)
inlinestatic

Definition at line 564 of file rpmiotypes.h.

References xisascii().

Referenced by fmtDBT().

static int xispunct ( int  c)
inlinestatic

Definition at line 570 of file rpmiotypes.h.

References xisalnum(), and xisgraph().

Referenced by xisrpmalpha().

static int xisspace ( int  c)
inlinestatic
static int xisupper ( int  c)
inlinestatic

Definition at line 540 of file rpmiotypes.h.

Referenced by xisalpha(), and xtolower().

int xstrcasecmp ( const char *  s1,
const char *  s2 
)
int xstrncasecmp ( const char *  s1,
const char *  s2,
size_t  n 
)

Locale insensitive strncasecmp(3).

Definition at line 30 of file strcasecmp.c.

References xtolower().

Referenced by findPreambleTag(), isPart(), Link(), matchTok(), pgpHashAlgoStringToNumber(), and Rename().

const char* xstrtolocale ( const char *  str)

Force encoding of string.

Definition at line 15 of file strtolocale.c.

References errno, str, xmalloc, and xrealloc.

Referenced by i18nTag(), localeTag(), and parseChangelog().

static int xtolower ( int  c)
inlinestatic

Definition at line 574 of file rpmiotypes.h.

References xisupper().

Referenced by _tagCanonicalize(), myTagName(), rpmRebuildTargetVars(), xstrcasecmp(), and xstrncasecmp().

static int xtoupper ( int  c)
inlinestatic

Definition at line 577 of file rpmiotypes.h.

References xislower().

Referenced by _tagCanonicalize().

Variable Documentation

size_t _rpmiob_chunk

Definition at line 11 of file rpmiob.c.

Referenced by rpmiobAppend(), and rpmiobNew().