<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>SIGNATURE.</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.2.17 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>SIGNATURE.</h1><table border=0 cellpadding=0 cellspacing=0> <tr><td></td></tr> <tr><td colspan=2><br><h2>Files</h2></td></tr> <tr><td nowrap align=right valign=top>file </td><td valign=bottom><a class="el" href="digest_8c.html">digest.c</a></td></tr> <tr><td nowrap align=right valign=top>file </td><td valign=bottom><a class="el" href="rpmlib_8h.html">rpmlib.h</a></td></tr> <tr><td nowrap align=right valign=top>file </td><td valign=bottom><a class="el" href="rpmpgp_8c.html">rpmpgp.c</a></td></tr> <tr><td> </td><td><font size=-1><em>Routines to handle RFC-2440 detached signatures.</em></font><br><br></td></tr> <p> <tr><td nowrap align=right valign=top>file </td><td valign=bottom><a class="el" href="signature_8c.html">signature.c</a></td></tr> <tr><td nowrap align=right valign=top>file </td><td valign=bottom><a class="el" href="signature_8h.html">signature.h</a></td></tr> <tr><td> </td><td><font size=-1><em>Generate and verify signatures.</em></font><br><br></td></tr> <p> <tr><td colspan=2><br><h2>RPMK</h2></td></tr> <tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__signature.html#a11">rpmtagSignature</a> { <br> <a class="el" href="group__signature.html#a11a398">RPMSIGTAG_SIZE</a> = 1000, <a class="el" href="group__signature.html#a11a399">RPMSIGTAG_LEMD5_1</a> = 1001, <a class="el" href="group__signature.html#a11a400">RPMSIGTAG_PGP</a> = 1002, <a class="el" href="group__signature.html#a11a401">RPMSIGTAG_LEMD5_2</a> = 1003, <br> <a class="el" href="group__signature.html#a11a402">RPMSIGTAG_MD5</a> = 1004, <a class="el" href="group__signature.html#a11a403">RPMSIGTAG_GPG</a> = 1005, <a class="el" href="group__signature.html#a11a404">RPMSIGTAG_PGP5</a> = 1006, <a class="el" href="group__signature.html#a11a405">RPMSIGTAG_PAYLOADSIZE</a> = 1007, <br> <a class="el" href="group__signature.html#a11a406">RPMSIGTAG_BADSHA1_1</a> = RPMTAG_BADSHA1_1, <a class="el" href="group__signature.html#a11a407">RPMSIGTAG_BADSHA1_2</a> = RPMTAG_BADSHA1_2, <a class="el" href="group__signature.html#a11a408">RPMSIGTAG_SHA1</a> = RPMTAG_SHA1HEADER, <a class="el" href="group__signature.html#a11a409">RPMSIGTAG_DSA</a> = RPMTAG_DSAHEADER, <br> <a class="el" href="group__signature.html#a11a410">RPMSIGTAG_RSA</a> = RPMTAG_RSAHEADER <br> }</td></tr> <tr><td nowrap align=right valign=top><a class="el" href="rpmlib_8h.html#a88">rpmVerifySignatureReturn</a> </td><td valign=bottom><a class="el" href="group__signature.html#a3">rpmVerifySignature</a> (const char *<a class="el" href="parseScript_8c.html#a2">file</a>, <a class="el" href="header_8h.html#a9">int_32</a> sigTag, const void *sig, int count, char *result)</td></tr> <tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a> </td><td valign=bottom><a class="el" href="group__signature.html#a4">rpmFreeSignature</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr> <tr><td colspan=2><br><h2>Typedefs</h2></td></tr> <tr><td nowrap align=right valign=top>typedef enum <a class="el" href="group__signature.html#a12">sigType_e</a> </td><td valign=bottom><a class="el" href="group__signature.html#a0">sigType</a></td></tr> <tr><td nowrap align=right valign=top>typedef enum <a class="el" href="group__signature.html#a13">pgpVersion_e</a> </td><td valign=bottom><a class="el" href="group__signature.html#a1">pgpVersion</a></td></tr> <tr><td colspan=2><br><h2>Enumerations</h2></td></tr> <tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__signature.html#a12">sigType_e</a> { <br> <a class="el" href="group__signature.html#a12a6">RPMSIGTYPE_NONE</a> = 0, <a class="el" href="group__signature.html#a12a7">RPMSIGTYPE_PGP262_1024</a> = 1, <a class="el" href="group__signature.html#a12a8">RPMSIGTYPE_BAD</a> = 2, <a class="el" href="group__signature.html#a12a9">RPMSIGTYPE_MD5</a> = 3, <br> <a class="el" href="group__signature.html#a12a10">RPMSIGTYPE_MD5_PGP</a> = 4, <a class="el" href="group__signature.html#a12a11">RPMSIGTYPE_HEADERSIG</a> = 5, <a class="el" href="group__signature.html#a12a12">RPMSIGTYPE_DISABLE</a> = 6 <br> }</td></tr> <tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="group__signature.html#a13">pgpVersion_e</a> { <a class="el" href="group__signature.html#a13a13">PGP_NOTDETECTED</a> = -1, <a class="el" href="group__signature.html#a13a14">PGP_UNKNOWN</a> = 0, <a class="el" href="group__signature.html#a13a15">PGP_2</a> = 2, <a class="el" href="group__signature.html#a13a16">PGP_5</a> = 5 }</td></tr> <tr><td colspan=2><br><h2>Functions</h2></td></tr> <tr><td nowrap align=right valign=top><a class="el" href="rpmlib_8h.html#a43">rpmRC</a> </td><td valign=bottom><a class="el" href="group__signature.html#a5">rpmReadSignature</a> (<a class="el" href="group__rpmio.html#a1">FD_t</a> fd, <a class="el" href="group__header.html#a6">Header</a> *headerp, <a class="el" href="group__signature.html#a0">sigType</a> sig_type)</td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group__signature.html#a6">rpmWriteSignature</a> (<a class="el" href="group__rpmio.html#a1">FD_t</a> fd, <a class="el" href="group__header.html#a6">Header</a> h)</td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group__signature.html#a7">rpmAddSignature</a> (<a class="el" href="group__header.html#a6">Header</a> h, const char *<a class="el" href="parseScript_8c.html#a2">file</a>, <a class="el" href="header_8h.html#a9">int_32</a> sigTag, const char *passPhrase)</td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group__signature.html#a8">rpmLookupSignatureType</a> (int action)</td></tr> <tr><td nowrap align=right valign=top>char * </td><td valign=bottom><a class="el" href="group__signature.html#a9">rpmGetPassPhrase</a> (const char *prompt, const int sigTag)</td></tr> <tr><td nowrap align=right valign=top>const char * </td><td valign=bottom><a class="el" href="group__signature.html#a10">rpmDetectPGPVersion</a> (<a class="el" href="group__signature.html#a1">pgpVersion</a> *pgpVer)</td></tr> <tr><td colspan=2><br><h2>Variables</h2></td></tr> <tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a> </td><td valign=bottom><a class="el" href="group__signature.html#a2">rpmNewSignature</a> (void)</td></tr> </table> <hr><h2>Typedef Documentation</h2> <a name="a1" doxytag="signature.h::pgpVersion"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef enum <a class="el" href="group__signature.html#a13">pgpVersion_e</a> pgpVersion </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Identify PGP versions. <dl compact><dt><b>Note: </b></dt><dd> Greater than 0 is a valid PGP version. </dl> <p> Referenced by <a class="el" href="signature_8c-source.html#l00783">checkPassPhrase</a>(), <a class="el" href="signature_8c-source.html#l00245">makePGPSignature</a>(), <a class="el" href="signature_8c-source.html#l00072">rpmDetectPGPVersion</a>(), and <a class="el" href="signature_8c-source.html#l00544">verifyPGPSignature</a>(). </td> </tr> </table> <a name="a0" doxytag="signature.h::sigType"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> typedef enum <a class="el" href="group__signature.html#a12">sigType_e</a> sigType </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Signature types stored in rpm lead. <p> Referenced by <a class="el" href="signature_8c-source.html#l00144">rpmReadSignature</a>(). </td> </tr> </table> <hr><h2>Enumeration Type Documentation</h2> <a name="a13" doxytag="signature.h::pgpVersion_e"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum pgpVersion_e </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Identify PGP versions. <dl compact><dt><b>Note: </b></dt><dd> Greater than 0 is a valid PGP version. </dl><dl compact><dt><b>Enumeration values: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em><a name="a13a13" doxytag="PGP_NOTDETECTED"></a><em>PGP_NOTDETECTED</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a13a14" doxytag="PGP_UNKNOWN"></a><em>PGP_UNKNOWN</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a13a15" doxytag="PGP_2"></a><em>PGP_2</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a13a16" doxytag="PGP_5"></a><em>PGP_5</em></em> </td><td> </td></tr> </table> </dl> <p> Definition at line <a class="el" href="signature_8h-source.html#l00030">30</a> of file <a class="el" href="signature_8h-source.html">signature.h</a>. </td> </tr> </table> <a name="a11" doxytag="rpmlib.h::rpmtagSignature"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum rpmtagSignature </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Tags found in signature header from package. <dl compact><dt><b>Enumeration values: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em><a name="a11a398" doxytag="RPMSIGTAG_SIZE"></a><em>RPMSIGTAG_SIZE</em></em> </td><td> Header+Payload size in bytes. </td></tr> <tr><td valign=top><em><a name="a11a399" doxytag="RPMSIGTAG_LEMD5_1"></a><em>RPMSIGTAG_LEMD5_1</em></em> </td><td> Broken MD5, take 1 </td></tr> <tr><td valign=top><em><a name="a11a400" doxytag="RPMSIGTAG_PGP"></a><em>RPMSIGTAG_PGP</em></em> </td><td> PGP 2.6.3 signature. </td></tr> <tr><td valign=top><em><a name="a11a401" doxytag="RPMSIGTAG_LEMD5_2"></a><em>RPMSIGTAG_LEMD5_2</em></em> </td><td> Broken MD5, take 2 </td></tr> <tr><td valign=top><em><a name="a11a402" doxytag="RPMSIGTAG_MD5"></a><em>RPMSIGTAG_MD5</em></em> </td><td> MD5 signature. </td></tr> <tr><td valign=top><em><a name="a11a403" doxytag="RPMSIGTAG_GPG"></a><em>RPMSIGTAG_GPG</em></em> </td><td> GnuPG signature. </td></tr> <tr><td valign=top><em><a name="a11a404" doxytag="RPMSIGTAG_PGP5"></a><em>RPMSIGTAG_PGP5</em></em> </td><td> PGP5 signature <dl compact><dt><b>Deprecated: </b></dt><dd> legacy. </dl></td></tr> <tr><td valign=top><em><a name="a11a405" doxytag="RPMSIGTAG_PAYLOADSIZE"></a><em>RPMSIGTAG_PAYLOADSIZE</em></em> </td><td> uncompressed payload size in bytes. </td></tr> <tr><td valign=top><em><a name="a11a406" doxytag="RPMSIGTAG_BADSHA1_1"></a><em>RPMSIGTAG_BADSHA1_1</em></em> </td><td> Broken SHA1, take 1. </td></tr> <tr><td valign=top><em><a name="a11a407" doxytag="RPMSIGTAG_BADSHA1_2"></a><em>RPMSIGTAG_BADSHA1_2</em></em> </td><td> Broken SHA1, take 2. </td></tr> <tr><td valign=top><em><a name="a11a408" doxytag="RPMSIGTAG_SHA1"></a><em>RPMSIGTAG_SHA1</em></em> </td><td> sha1 header digest. </td></tr> <tr><td valign=top><em><a name="a11a409" doxytag="RPMSIGTAG_DSA"></a><em>RPMSIGTAG_DSA</em></em> </td><td> DSA header signature. </td></tr> <tr><td valign=top><em><a name="a11a410" doxytag="RPMSIGTAG_RSA"></a><em>RPMSIGTAG_RSA</em></em> </td><td> RSA header signature. </td></tr> </table> </dl> <p> Definition at line <a class="el" href="rpmlib_8h-source.html#l01742">1742</a> of file <a class="el" href="rpmlib_8h-source.html">rpmlib.h</a>. </td> </tr> </table> <a name="a12" doxytag="signature.h::sigType_e"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum sigType_e </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Signature types stored in rpm lead. <dl compact><dt><b>Enumeration values: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em><a name="a12a6" doxytag="RPMSIGTYPE_NONE"></a><em>RPMSIGTYPE_NONE</em></em> </td><td> unused, legacy. </td></tr> <tr><td valign=top><em><a name="a12a7" doxytag="RPMSIGTYPE_PGP262_1024"></a><em>RPMSIGTYPE_PGP262_1024</em></em> </td><td> unused, legacy. </td></tr> <tr><td valign=top><em><a name="a12a8" doxytag="RPMSIGTYPE_BAD"></a><em>RPMSIGTYPE_BAD</em></em> </td><td> Unknown signature type. </td></tr> <tr><td valign=top><em><a name="a12a9" doxytag="RPMSIGTYPE_MD5"></a><em>RPMSIGTYPE_MD5</em></em> </td><td> unused, legacy. </td></tr> <tr><td valign=top><em><a name="a12a10" doxytag="RPMSIGTYPE_MD5_PGP"></a><em>RPMSIGTYPE_MD5_PGP</em></em> </td><td> unused, legacy. </td></tr> <tr><td valign=top><em><a name="a12a11" doxytag="RPMSIGTYPE_HEADERSIG"></a><em>RPMSIGTYPE_HEADERSIG</em></em> </td><td> Header style signature </td></tr> <tr><td valign=top><em><a name="a12a12" doxytag="RPMSIGTYPE_DISABLE"></a><em>RPMSIGTYPE_DISABLE</em></em> </td><td> Disable verification (debugging only) </td></tr> </table> </dl> <p> Definition at line <a class="el" href="signature_8h-source.html#l00014">14</a> of file <a class="el" href="signature_8h-source.html">signature.h</a>. </td> </tr> </table> <hr><h2>Function Documentation</h2> <a name="a7" doxytag="signature.c::rpmAddSignature"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int rpmAddSignature </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a> </td> <td class="mdname" nowrap> <em>h</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const char * </td> <td class="mdname" nowrap> <em>file</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a> </td> <td class="mdname" nowrap> <em>sigTag</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const char * </td> <td class="mdname" nowrap> <em>passPhrase</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Generate a signature of data in file, insert in header. <p> Definition at line <a class="el" href="signature_8c-source.html#l00446">446</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>. <p> References <a class="el" href="system_8h-source.html#l00370">_</a>, <a class="el" href="header_8c-source.html#l01700">headerAddEntry</a>(), <a class="el" href="header_8h-source.html#l00099">int_32</a>, <a class="el" href="signature_8c-source.html#l00357">makeGPGSignature</a>(), <a class="el" href="signature_8c-source.html#l00245">makePGPSignature</a>(), <a class="el" href="misc_8h-source.html#l00175">mdbinfile</a>(), <a class="el" href="header_8h.html#a93a72">RPM_BIN_TYPE</a>, <a class="el" href="header_8h.html#a93a70">RPM_INT32_TYPE</a>, <a class="el" href="rpmmessages_8h-source.html#l00012">RPMMESS_VERBOSE</a>, <a class="el" href="rpmmessages_8h-source.html#l00020">rpmMessage</a>, <a class="el" href="rpmlib_8h.html#a11a403">RPMSIGTAG_GPG</a>, <a class="el" href="rpmlib_8h.html#a11a402">RPMSIGTAG_MD5</a>, <a class="el" href="rpmlib_8h.html#a11a400">RPMSIGTAG_PGP</a>, <a class="el" href="rpmlib_8h.html#a11a404">RPMSIGTAG_PGP5</a>, and <a class="el" href="rpmlib_8h.html#a11a398">RPMSIGTAG_SIZE</a>. <p> Referenced by <a class="el" href="lib_2rpmchecksig_8c-source.html#l00105">rpmReSign</a>(), and <a class="el" href="pack_8c-source.html#l00385">writeRPM</a>(). </td> </tr> </table> <a name="a10" doxytag="signature.c::rpmDetectPGPVersion"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> const char* rpmDetectPGPVersion </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__signature.html#a1">pgpVersion</a> * </td> <td class="mdname1" valign="top" nowrap> <em>pgpVer</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Return path to pgp executable of given type, or NULL when not found. <p> Definition at line <a class="el" href="signature_8c-source.html#l00072">72</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>. <p> References <a class="el" href="poptint_8h-source.html#l00018">_free</a>(), <a class="el" href="system_8h.html#a36">alloca</a>(), <a class="el" href="signature_8h.html#a13a15">PGP_2</a>, <a class="el" href="signature_8h.html#a13a16">PGP_5</a>, <a class="el" href="signature_8h.html#a13a13">PGP_NOTDETECTED</a>, <a class="el" href="signature_8h.html#a13a14">PGP_UNKNOWN</a>, <a class="el" href="signature_8h.html#a1">pgpVersion</a>, <a class="el" href="macro_8c-source.html#l01858">rpmGetPath</a>(), and <a class="el" href="system_8h.html#a32">stpcpy</a>(). <p> Referenced by <a class="el" href="signature_8c-source.html#l00783">checkPassPhrase</a>(), <a class="el" href="rpmqv_8c-source.html#l00284">main</a>(), <a class="el" href="signature_8c-source.html#l00245">makePGPSignature</a>(), and <a class="el" href="signature_8c-source.html#l00544">verifyPGPSignature</a>(). </td> </tr> </table> <a name="a4" doxytag="rpmlib.h::rpmFreeSignature"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> rpmFreeSignature </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a> </td> <td class="mdname1" valign="top" nowrap> <em>h</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Destroy signature header from package. <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>h</em> </td><td> signature header </td></tr> </table> </dl><dl compact><dt><b>Returns :</b></dt><dd> NULL always </dl> <p> Definition at line <a class="el" href="signature_8c-source.html#l00240">240</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>. <p> References <a class="el" href="header_8c-source.html#l00126">headerFree</a>(). <p> Referenced by <a class="el" href="psm_8c-source.html#l01345">psmStage</a>(), <a class="el" href="package_8c-source.html#l00140">readPackageHeaders</a>(), <a class="el" href="package_8c-source.html#l00261">rpmReadPackageHeader</a>(), and <a class="el" href="pack_8c-source.html#l00385">writeRPM</a>(). </td> </tr> </table> <a name="a9" doxytag="signature.c::rpmGetPassPhrase"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> char* rpmGetPassPhrase </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const char * </td> <td class="mdname" nowrap> <em>prompt</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const int </td> <td class="mdname" nowrap> <em>sigTag</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Read a pass phrase from the user. <p> Definition at line <a class="el" href="signature_8c-source.html#l00883">883</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>. <p> References <a class="el" href="system_8h-source.html#l00370">_</a>, <a class="el" href="poptint_8h-source.html#l00018">_free</a>(), <a class="el" href="signature_8c-source.html#l00783">checkPassPhrase</a>(), <a class="el" href="rpmerr_8h.html#a91a86">RPMERR_SIGGEN</a>, <a class="el" href="rpmerr_8h-source.html#l00140">rpmError</a>, <a class="el" href="macro_8c-source.html#l01720">rpmExpand</a>(), <a class="el" href="rpmlib_8h.html#a11a403">RPMSIGTAG_GPG</a>, <a class="el" href="rpmlib_8h.html#a11a400">RPMSIGTAG_PGP</a>, and <a class="el" href="rpmlib_8h.html#a11a404">RPMSIGTAG_PGP5</a>. <p> Referenced by <a class="el" href="rpmqv_8c-source.html#l00284">main</a>(). </td> </tr> </table> <a name="a8" doxytag="signature.c::rpmLookupSignatureType"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int rpmLookupSignatureType </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">int </td> <td class="mdname1" valign="top" nowrap> <em>action</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Return type of signature in effect for building. <p> Definition at line <a class="el" href="signature_8c-source.html#l00035">35</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>. <p> References <a class="el" href="poptint_8h-source.html#l00018">_free</a>(), <a class="el" href="macro_8c-source.html#l01720">rpmExpand</a>(), <a class="el" href="signature_8h-source.html#l00081">RPMLOOKUPSIG_DISABLE</a>, <a class="el" href="signature_8h-source.html#l00082">RPMLOOKUPSIG_ENABLE</a>, <a class="el" href="signature_8h-source.html#l00080">RPMLOOKUPSIG_QUERY</a>, <a class="el" href="rpmlib_8h.html#a11a403">RPMSIGTAG_GPG</a>, <a class="el" href="rpmlib_8h.html#a11a400">RPMSIGTAG_PGP</a>, and <a class="el" href="strcasecmp_8c-source.html#l00009">xstrcasecmp</a>(). <p> Referenced by <a class="el" href="rpmqv_8c-source.html#l00284">main</a>(), <a class="el" href="lib_2rpmchecksig_8c-source.html#l00105">rpmReSign</a>(), and <a class="el" href="pack_8c-source.html#l00385">writeRPM</a>(). </td> </tr> </table> <a name="a5" doxytag="signature.c::rpmReadSignature"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="rpmlib_8h.html#a43">rpmRC</a> rpmReadSignature </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__rpmio.html#a1">FD_t</a> </td> <td class="mdname" nowrap> <em>fd</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group__header.html#a6">Header</a> * </td> <td class="mdname" nowrap> <em>headerp</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group__signature.html#a0">sigType</a> </td> <td class="mdname" nowrap> <em>sig_type</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Read (and verify header+archive size) signature header. If an old-style signature is found, we emulate a new style one. <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>fd</em> </td><td> file handle </td></tr> </table> </dl><dl compact><dt><b>Return values: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>headerp</em> </td><td> address of (signature) header (or NULL) </td></tr> </table> </dl><dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>sig_type</em> </td><td> type of signature header to read (from lead) </td></tr> </table> </dl><dl compact><dt><b>Returns :</b></dt><dd> rpmRC return code </dl> <p> Definition at line <a class="el" href="signature_8c-source.html#l00144">144</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>. <p> References <a class="el" href="system_8h-source.html#l00370">_</a>, <a class="el" href="signature_8c-source.html#l00115">checkSize</a>(), <a class="el" href="header_8h.html#a92a65">HEADER_MAGIC_YES</a>, <a class="el" href="header_8c-source.html#l01700">headerAddEntry</a>(), <a class="el" href="header_8c-source.html#l00126">headerFree</a>(), <a class="el" href="header_8c-source.html#l01575">headerGetEntry</a>(), <a class="el" href="header_8c-source.html#l01231">headerIsEntry</a>(), <a class="el" href="hdrinline_8h-source.html#l00035">headerNew</a>(), <a class="el" href="header_8c-source.html#l01115">headerRead</a>(), <a class="el" href="header_8c-source.html#l00247">headerSizeof</a>(), <a class="el" href="header_8h-source.html#l00099">int_32</a>, <a class="el" href="header_8h.html#a93a72">RPM_BIN_TYPE</a>, <a class="el" href="rpmerr_8h.html#a91a85">RPMERR_BADSIGTYPE</a>, <a class="el" href="rpmerr_8h-source.html#l00140">rpmError</a>, <a class="el" href="rpmmessages_8h-source.html#l00011">RPMMESS_DEBUG</a>, <a class="el" href="rpmmessages_8h-source.html#l00020">rpmMessage</a>, <a class="el" href="rpmlib_8h.html#a43">rpmRC</a>, <a class="el" href="rpmlib_8h.html#a493a91">RPMRC_FAIL</a>, <a class="el" href="rpmlib_8h.html#a493a89">RPMRC_OK</a>, <a class="el" href="rpmlib_8h.html#a493a93">RPMRC_SHORTREAD</a>, <a class="el" href="signature_8c-source.html#l00144">rpmReadSignature</a>(), <a class="el" href="rpmlib_8h.html#a11a400">RPMSIGTAG_PGP</a>, <a class="el" href="rpmlib_8h.html#a11a398">RPMSIGTAG_SIZE</a>, <a class="el" href="signature_8h.html#a12a12">RPMSIGTYPE_DISABLE</a>, <a class="el" href="signature_8h.html#a12a11">RPMSIGTYPE_HEADERSIG</a>, <a class="el" href="signature_8h.html#a12a9">RPMSIGTYPE_MD5</a>, <a class="el" href="signature_8h.html#a12a10">RPMSIGTYPE_MD5_PGP</a>, <a class="el" href="signature_8h.html#a12a6">RPMSIGTYPE_NONE</a>, <a class="el" href="signature_8h.html#a12a7">RPMSIGTYPE_PGP262_1024</a>, <a class="el" href="rpmlib_8h.html#a494a94">RPMTAG_HEADERIMAGE</a>, <a class="el" href="signature_8h.html#a0">sigType</a>, <a class="el" href="rpmio_8h-source.html#l00586">timedRead</a>, and <a class="el" href="rpmlib_8h-source.html#l01577">rpmlead::type</a>. <p> Referenced by <a class="el" href="tools_2rpmchecksig_8c-source.html#l00011">main</a>(), <a class="el" href="package_8c-source.html#l00140">readPackageHeaders</a>(), <a class="el" href="lib_2rpmchecksig_8c-source.html#l00290">rpmCheckSig</a>(), <a class="el" href="signature_8c-source.html#l00144">rpmReadSignature</a>(), and <a class="el" href="lib_2rpmchecksig_8c-source.html#l00105">rpmReSign</a>(). </td> </tr> </table> <a name="a3" doxytag="rpmlib.h::rpmVerifySignature"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="rpmlib_8h.html#a88">rpmVerifySignatureReturn</a> rpmVerifySignature </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const char * </td> <td class="mdname" nowrap> <em>file</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a> </td> <td class="mdname" nowrap> <em>sigTag</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const void * </td> <td class="mdname" nowrap> <em>sig</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>count</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>char * </td> <td class="mdname" nowrap> <em>result</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Verify a signature from a package. <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>file</em> </td><td> file name of header+payload </td></tr> <tr><td valign=top><em>sigTag</em> </td><td> type of signature </td></tr> <tr><td valign=top><em>sig</em> </td><td> signature itself </td></tr> <tr><td valign=top><em>count</em> </td><td> no. of bytes in signature </td></tr> </table> </dl><dl compact><dt><b>Return values: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>result</em> </td><td> detailed text result of signature verification </td></tr> </table> </dl><dl compact><dt><b>Returns :</b></dt><dd> result of signature verification </dl> <p> Definition at line <a class="el" href="signature_8c-source.html#l00930">930</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>. <p> References <a class="el" href="system_8h-source.html#l00370">_</a>, <a class="el" href="header_8h-source.html#l00099">int_32</a>, <a class="el" href="rpmlib_8h.html#a510a412">RPMSIG_UNKNOWN</a>, <a class="el" href="rpmlib_8h.html#a11a403">RPMSIGTAG_GPG</a>, <a class="el" href="rpmlib_8h.html#a11a399">RPMSIGTAG_LEMD5_1</a>, <a class="el" href="rpmlib_8h.html#a11a401">RPMSIGTAG_LEMD5_2</a>, <a class="el" href="rpmlib_8h.html#a11a402">RPMSIGTAG_MD5</a>, <a class="el" href="rpmlib_8h.html#a11a400">RPMSIGTAG_PGP</a>, <a class="el" href="rpmlib_8h.html#a11a404">RPMSIGTAG_PGP5</a>, <a class="el" href="rpmlib_8h.html#a11a398">RPMSIGTAG_SIZE</a>, <a class="el" href="rpmlib_8h.html#a88">rpmVerifySignatureReturn</a>, <a class="el" href="signature_8c-source.html#l00689">verifyGPGSignature</a>(), <a class="el" href="signature_8c-source.html#l00507">verifyMD5Signature</a>(), <a class="el" href="signature_8c-source.html#l00544">verifyPGPSignature</a>(), and <a class="el" href="signature_8c-source.html#l00486">verifySizeSignature</a>(). <p> Referenced by <a class="el" href="lib_2rpmchecksig_8c-source.html#l00290">rpmCheckSig</a>(). </td> </tr> </table> <a name="a6" doxytag="signature.c::rpmWriteSignature"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int rpmWriteSignature </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__rpmio.html#a1">FD_t</a> </td> <td class="mdname" nowrap> <em>fd</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group__header.html#a6">Header</a> </td> <td class="mdname" nowrap> <em>h</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Write signature header. <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>fd</em> </td><td> file handle </td></tr> <tr><td valign=top><em>h</em> </td><td> (signature) header </td></tr> </table> </dl><dl compact><dt><b>Returns :</b></dt><dd> 0 on success, 1 on error </dl> <p> Definition at line <a class="el" href="signature_8c-source.html#l00214">214</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>. <p> References <a class="el" href="system_8h-source.html#l00370">_</a>, <a class="el" href="rpmio_8c-source.html#l02626">Fwrite</a>(), <a class="el" href="header_8h.html#a92a65">HEADER_MAGIC_YES</a>, <a class="el" href="header_8c-source.html#l00247">headerSizeof</a>(), <a class="el" href="header_8c-source.html#l01190">headerWrite</a>(), <a class="el" href="rpmmessages_8h-source.html#l00011">RPMMESS_DEBUG</a>, and <a class="el" href="rpmmessages_8h-source.html#l00020">rpmMessage</a>. <p> Referenced by <a class="el" href="rpmsignature_8c-source.html#l00009">main</a>(), <a class="el" href="psm_8c-source.html#l01345">psmStage</a>(), <a class="el" href="lib_2rpmchecksig_8c-source.html#l00105">rpmReSign</a>(), and <a class="el" href="pack_8c-source.html#l00385">writeRPM</a>(). </td> </tr> </table> <hr><h2>Variable Documentation</h2> <a name="a2" doxytag="signature.h::rpmNewSignature"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> rpmNewSignature(void) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Return new, empty (signature) header instance. <dl compact><dt><b>Returns :</b></dt><dd> signature header </dl> <p> Referenced by <a class="el" href="package_8c-source.html#l00075">headerRegenSigHeader</a>(), and <a class="el" href="pack_8c-source.html#l00385">writeRPM</a>(). </td> </tr> </table> <hr><address style="align: right;"><small>Generated on Thu Sep 12 22:15:13 2002 for rpm by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.17 </small></address> </body> </html>