<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr; font-family: Tahoma; color: rgb(0, 0, 0); font-size: 13px;">
<font color="black" face="Tahoma" size="1"><span dir="ltr" style="font-size: 13px;"><span style="font-family: Courier New;">- Adding MSSF manifest and domain tags into lib/rpmtag.h.<br>
- Adding file attribute for the manifest file in lib/rpmfi.h.<br>
&nbsp; Note that it's exactly like RPMFILE_POLICY (and even has the<br>
&nbsp; same id) which was unfortunately removed in selinux collections<br>
&nbsp; plugin pathes.<br>
---<br>
&nbsp;build/files.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; 12 &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;-<br>
&nbsp;build/parsePreamble.c |&nbsp;&nbsp;&nbsp; 1 &#43;<br>
&nbsp;lib/rpmfi.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp; 1 &#43;<br>
&nbsp;lib/rpmtag.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp; 2 &#43;&#43;<br>
&nbsp;4 files changed, 15 insertions(&#43;), 1 deletions(-)<br>
<br>
diff --git a/build/files.c b/build/files.c<br>
index 8d7fb2e..c86119c 100644<br>
--- a/build/files.c<br>
&#43;&#43;&#43; b/build/files.c<br>
@@ -847,6 &#43;847,7 @@ static VFA_t virtualFileAttributes[] = {<br>
&nbsp;&nbsp;&nbsp;&nbsp; { &quot;%readme&quot;,&nbsp;&nbsp;&nbsp; 0,&nbsp;&nbsp;&nbsp; RPMFILE_README },<br>
&nbsp;&nbsp;&nbsp;&nbsp; { &quot;%license&quot;,&nbsp;&nbsp;&nbsp; 0,&nbsp;&nbsp;&nbsp; RPMFILE_LICENSE },<br>
&nbsp;&nbsp;&nbsp;&nbsp; { &quot;%pubkey&quot;,&nbsp;&nbsp;&nbsp; 0,&nbsp;&nbsp;&nbsp; RPMFILE_PUBKEY },<br>
&#43;&nbsp;&nbsp;&nbsp; { &quot;%mssf&quot;,&nbsp;&nbsp;&nbsp; 0,&nbsp;&nbsp;&nbsp; RPMFILE_MSSF },<br>
&nbsp;&nbsp;&nbsp;&nbsp; { NULL, 0, 0 }<br>
&nbsp;};<br>
&nbsp;<br>
@@ -914,7 &#43;915,7 @@ static rpmRC parseForSimple(rpmSpec spec, Package pkg, char * buf,<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (fl-&gt;currentFlags &amp; RPMFILE_DOC) {<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rstrscat(&amp;specialDocBuf, &quot; &quot;, s, NULL);<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else<br>
-&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (fl-&gt;currentFlags &amp; RPMFILE_PUBKEY)<br>
&#43;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (fl-&gt;currentFlags &amp; (RPMFILE_PUBKEY|RPMFILE_MSSF))<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; *fileName = s;<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br>
@@ -1612,6 &#43;1613,13 @@ static rpmRC processMetadataFile(Package pkg, FileList fl,<br>
&nbsp;&nbsp;&nbsp;&nbsp; apkt = pgpArmorWrap(PGPARMOR_PUBKEY, pkt, pktlen);<br>
&nbsp;&nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&#43;&nbsp;&nbsp;&nbsp; case RPMTAG_MSSFMANIFEST:<br>
&#43;&nbsp;&nbsp;&nbsp; if ((xx = rpmioSlurp(fn, &amp;pkt, &amp;pktlen)) != 0 || pkt == NULL) {<br>
&#43;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; rpmlog(RPMLOG_ERR, _(&quot;%s: MSSF manifest file read failed.\n&quot;), fn);<br>
&#43;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; goto exit;<br>
&#43;&nbsp;&nbsp;&nbsp; }<br>
&#43;&nbsp;&nbsp;&nbsp; apkt = b64encode(pkt, pktlen, -1);<br>
&#43;&nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp; if (!apkt) {<br>
@@ -1856,6 &#43;1864,8 @@ static rpmRC processPackageFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags,<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; dupAttrRec(&amp;fl.cur_ar, specialDocAttrRec);<br>
&nbsp;&nbsp;&nbsp;&nbsp; } else if (fl.currentFlags &amp; RPMFILE_PUBKEY) {<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (void) processMetadataFile(pkg, &amp;fl, fileName, RPMTAG_PUBKEYS);<br>
&#43;&nbsp;&nbsp;&nbsp; } else if (fl.currentFlags &amp; RPMFILE_MSSF) {<br>
&#43;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (void) processMetadataFile(pkg, &amp;fl, fileName, RPMTAG_MSSFMANIFEST);<br>
&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (void) processBinaryFile(pkg, &amp;fl, fileName);<br>
&nbsp;&nbsp;&nbsp;&nbsp; }<br>
diff --git a/build/parsePreamble.c b/build/parsePreamble.c<br>
index 3d8b859..44703c8 100644<br>
--- a/build/parsePreamble.c<br>
&#43;&#43;&#43; b/build/parsePreamble.c<br>
@@ -894,6 &#43;894,7 @@ static struct PreambleRec_s const preambleList[] = {<br>
&nbsp;&nbsp;&nbsp;&nbsp; {RPMTAG_BUGURL,&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 0, 0, LEN_AND_STR(&quot;bugurl&quot;)},<br>
&nbsp;&nbsp;&nbsp;&nbsp; {RPMTAG_COLLECTIONS,&nbsp;&nbsp;&nbsp; 0, 0, LEN_AND_STR(&quot;collections&quot;)},<br>
&nbsp;&nbsp;&nbsp;&nbsp; {RPMTAG_ORDERFLAGS,&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 2, 0, LEN_AND_STR(&quot;orderwithrequires&quot;)},<br>
&#43;&nbsp;&nbsp;&nbsp; {RPMTAG_MSSFMANIFEST,&nbsp;&nbsp;&nbsp; 0, 0, LEN_AND_STR(&quot;mssf&quot;)},<br>
&nbsp;&nbsp;&nbsp;&nbsp; {0, 0, 0, 0}<br>
&nbsp;};<br>
&nbsp;<br>
diff --git a/lib/rpmfi.h b/lib/rpmfi.h<br>
index 3dcf61b..56fb87e 100644<br>
--- a/lib/rpmfi.h<br>
&#43;&#43;&#43; b/lib/rpmfi.h<br>
@@ -60,6 &#43;60,7 @@ enum rpmfileAttrs_e {<br>
&nbsp;&nbsp;&nbsp;&nbsp; RPMFILE_EXCLUDE&nbsp;&nbsp;&nbsp; = (1 &lt;&lt;&nbsp; 9),&nbsp;&nbsp;&nbsp; /*!&lt; from %%exclude, internal */<br>
&nbsp;&nbsp;&nbsp;&nbsp; RPMFILE_UNPATCHED&nbsp;&nbsp;&nbsp; = (1 &lt;&lt; 10),&nbsp;&nbsp;&nbsp; /*!&lt; placeholder (SuSE) */<br>
&nbsp;&nbsp;&nbsp;&nbsp; RPMFILE_PUBKEY&nbsp;&nbsp;&nbsp; = (1 &lt;&lt; 11),&nbsp;&nbsp;&nbsp; /*!&lt; from %%pubkey */<br>
&#43;&nbsp;&nbsp;&nbsp; RPMFILE_MSSF&nbsp;&nbsp;&nbsp; = (1 &lt;&lt; 12),&nbsp;&nbsp;&nbsp; /*!&lt; from %%mssf */<br>
&nbsp;};<br>
&nbsp;<br>
&nbsp;typedef rpmFlags rpmfileAttrs;<br>
diff --git a/lib/rpmtag.h b/lib/rpmtag.h<br>
index 50939c6..5e6b609 100644<br>
--- a/lib/rpmtag.h<br>
&#43;&#43;&#43; b/lib/rpmtag.h<br>
@@ -299,6 &#43;299,8 @@ typedef enum rpmTag_e {<br>
&nbsp;&nbsp;&nbsp;&nbsp; RPMTAG_ORDERNAME&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = 5035,&nbsp;&nbsp;&nbsp; /* s[] */<br>
&nbsp;&nbsp;&nbsp;&nbsp; RPMTAG_ORDERVERSION&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = 5036,&nbsp;&nbsp;&nbsp; /* s[] */<br>
&nbsp;&nbsp;&nbsp;&nbsp; RPMTAG_ORDERFLAGS&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = 5037,&nbsp;&nbsp;&nbsp; /* i[] */<br>
&#43;&nbsp;&nbsp;&nbsp; RPMTAG_MSSFMANIFEST&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = 5038,&nbsp;&nbsp;&nbsp; /* s[] mssf manifest file */<br>
&#43;&nbsp;&nbsp;&nbsp; RPMTAG_MSSFDOMAIN&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; = 5039,&nbsp;&nbsp;&nbsp; /* s[] mssf source domain */<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp; RPMTAG_FIRSTFREE_TAG&nbsp;&nbsp;&nbsp; /*!&lt; internal */<br>
&nbsp;} rpmTag;<br>
-- <br>
1.7.2.3<br>
<br>
</span><br>
</span></font>
<div style="font-family: Times New Roman; color: rgb(0, 0, 0); font-size: 16px;">
<div>
<div style="direction: ltr; font-family: Tahoma; color: rgb(0, 0, 0); font-size: 13px;">
</div>
</div>
</div>
</div>
</body>
</html>