rpmns.c File Reference
`#include "system.h"`
`#include <rpmiotypes.h>`
`#include <rpmio.h>`
`#include <rpmmacro.h>`
`#include <rpmcb.h>`
`#include <rpmpgp.h>`
`#include <rpmtypes.h>`
`#include <rpmtag.h>`
`#include <rpmevr.h>`
`#include <rpmns.h>`
`#include <rpmdb.h>`
`#include <rpmps.h>`
`#include <rpmts.h>`
`#include "debug.h"`
Include dependency graph for rpmns.c:

Go to the source code of this file.

## Data Structures

struct | _rpmnsProbes_s
| Dependency probe table. More...

## Macros

#define | _RPMIOB_INTERNAL /* XXX rpmiobSlurp */
#define | _RPMPGP_INTERNAL
#define | _RPMEVR_INTERNAL
#define | _RPMNS_INTERNAL
#define | _RPMTS_INTERNAL /* XXX ts->pkpkt, ts->pkpktlen */

## Functions

nsType | rpmnsArch (const char *str)
| Is string a known arch suffix? More...
nsType | rpmnsProbe (const char *str)
| Is string a known probe namespace? More...
nsType | rpmnsClassify (const char *str)
| Classify a string as a dependency type. More...
int | rpmnsParse (const char *str, rpmns ns)
| Split NS string into namespace, name and arch components. More...
static unsigned char | nibble (char c)
| Convert hex to binary nibble. More...
rpmRC | rpmnsProbeSignature (void *_ts, const char *fn, const char *sigfn, const char *pubfn, const char *pubid, int flags)
| Verify OpenPGP signature on a file. More...

## Variables

int | _rpmns_debug = 0
const char * | _rpmns_N_at_A = "."
static const char * | rpmnsArches []
static struct _rpmnsProbes_s | rpmnsProbes []

## Macro Definition Documentation

#define _RPMEVR_INTERNAL

Definition at line 17 of file rpmns.c.

#define _RPMIOB_INTERNAL /* XXX rpmiobSlurp */

Definition at line 6 of file rpmns.c.

#define _RPMNS_INTERNAL

Definition at line 19 of file rpmns.c.

#define _RPMPGP_INTERNAL

Definition at line 12 of file rpmns.c.

#define _RPMTS_INTERNAL /* XXX ts->pkpkt, ts->pkpktlen */

Definition at line 24 of file rpmns.c.

## Function Documentation

static unsigned char nibble | ( | char | c | ) |

inline static

Convert hex to binary nibble.

Parameters

  c | hex character

Returns
  binary nibble

Definition at line 280 of file rpmns.c.

Referenced by rpmnsProbeSignature().

rpmRC rpmnsProbeSignature | ( | void * | _ts,
|  | const char * | fn,
|  | const char * | sigfn,
|  | const char * | pubfn,
|  | const char * | pubid,
|  | int | flags
| ) |  |

Verify OpenPGP signature on a file.

Parameters

  _ts | transaction set
  fn | plaintext (or clearsign) file
  sigfn | binary/pem encoded signature file (NULL iff clearsign)
  pubfn | binary/pem encoded pubkey file (NULL uses rpmdb keyring)
  pubid | pubkey fingerprint hex string (NULL disables check)
  flags | (unused)

Returns
  RPMRC_OK if verified, RPMRC_FAIL if not verified

Definition at line 292 of file rpmns.c.

References _free(), _rpmns_debug, alloca(), nibble(), PGPARMOR_PUBKEY, PGPARMOR_SIGNATURE, pgpFindPubkey(), pgpGetPubkey(), pgpGetSignature(), pgpGrab(), pgpImplSetDSA(), pgpImplSetRSA(), pgpImplVerifyDSA(), pgpImplVerifyRSA(), pgpPrtPkts(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_RSA, pgpReadPkts(), RPMDIGEST_NONE, rpmDigestInit(), rpmDigestUpdate(), rpmExpand(), rpmiobFree(), rpmiobSlurp(), RPMRC_FAIL, RPMRC_NOKEY, RPMRC_OK, rpmtsCleanDig(), and rpmtsDig().

Referenced by unsatisfiedDepend().

## Variable Documentation

int _rpmns_debug = 0

Definition at line 33 of file rpmns.c.

Referenced by rpmnsProbeSignature().

const char* _rpmns_N_at_A = "."

Definition at line 36 of file rpmns.c.

Referenced by rpmdsNewDNEVR(), rpmnsClassify(), and rpmnsParse().

const char* rpmnsArches[]

static

Initial value:
= {
"i386", "i486", "i586", "i686", "athlon", "pentium3", "pentium4",
"x86_64", "amd64", "ia32e",
"alpha", "alphaev5", "alphaev56", "alphapca56", "alphaev6", "alphaev67",
"sparc", "sun4", "sun4m", "sun4c", "sun4d", "sparcv8",
"sparcv9", "sparcv9b", "sparcv9v", "sparcv9v2",
"sparc64", "sun4u", "sparc64v",
"mips", "mipsel", "IP",
"ppc", "ppciseries", "ppcpseries",
"ppc64", "ppc64iseries", "ppc64pseries",
"m68k",
"rs6000",
"ia64",
"armv3l", "armv4b", "armv4l",
"armv5teb", "armv5tel", "armv5tejl",
"armv6l",
"s390", "i370", "s390x",
"sh", "sh3", "sh4", "sh4a", "xtensa",
"noarch", "fat",
NULL,
}

Definition at line 40 of file rpmns.c.

Referenced by rpmnsArch().

struct _rpmnsProbes_s rpmnsProbes[]

static

Referenced by rpmnsProbe().