source: pst/printing/libppd.xml@ 23dd524

trunk
Last change on this file since 23dd524 was 23dd524, checked in by Douglas R. Reno <renodr@…>, 3 days ago

Fix a chain of remote code execution vulnerabilities in CUPS (#20456).

These include the following CVE numbers:

  • CVE-2024-47176
  • CVE-2024-47076
  • CVE-2024-47175
  • CVE-2024-47177
  • CVE-2024-47850
  • Property mode set to 100644
File size: 7.4 KB
RevLine 
[ab4fdfc]1<?xml version="1.0" encoding="UTF-8"?>
[488f2fd]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY libppd-download-http
8 "https://github.com/OpenPrinting/libppd/releases/download/&libppd-version;/libppd-&libppd-version;.tar.xz">
9 <!ENTITY libppd-download-ftp " ">
10 <!ENTITY libppd-md5sum "ab889cbcdaa23689d9a425769f208da9">
11 <!ENTITY libppd-size "567 KB">
12 <!ENTITY libppd-buildsize "13 MB (with tests)">
13 <!ENTITY libppd-time "less than 0.1 SBU (Using parallelism=4; with tests)">
14]>
15
16<sect1 id="libppd" xreflabel="libppd-&libppd-version;">
17 <?dbhtml filename="libppd.html"?>
18
19
20 <title>libppd-&libppd-version;</title>
21
22 <indexterm zone="libppd">
23 <primary sortas="a-libppd">libppd</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to libppd</title>
28
29 <para>
30 The <application>libppd</application> library contains
31 functions for handling legacy printers using PPD description files.
32 </para>
33
[3c9b5e9]34 &lfs122_checked;
[488f2fd]35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>
40 Download (HTTP): <ulink url="&libppd-download-http;"/>
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 Download (FTP): <ulink url="&libppd-download-ftp;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download MD5 sum: &libppd-md5sum;
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download size: &libppd-size;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Estimated disk space required: &libppd-buildsize;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated build time: &libppd-time;
66 </para>
67 </listitem>
68 </itemizedlist>
69
[23dd524]70 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
71 <itemizedlist spacing="compact">
72 <listitem>
73 <para>
74 Required patch:
75 <ulink url="&patch-root;/libppd-&libppd-version;-upstream_fixes-1.patch"/>
76 </para>
77 </listitem>
78 </itemizedlist>
79
[488f2fd]80 <bridgehead renderas="sect3">libppd Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Required</bridgehead>
83 <para role="required">
84 <xref linkend="libcupsfilters"/>
85 </para>
86
87 </sect2>
88
89 <sect2 role="installation">
90 <title>Installation of libppd</title>
91
[23dd524]92 <para>
93 First, fix a security vulnerability that could allow for remote code
94 execution:
95 </para>
96
97<screen><userinput remap="pre">patch -Np1 -i ../libppd-&libppd-version;-upstream_fixes-1.patch</userinput></screen>
98
[488f2fd]99 <para>
100 Install <application>libppd</application> by running the
101 following commands:
102 </para>
103
104<screen><userinput>./configure --prefix=/usr \
105 --disable-static \
106 --with-cups-rundir=/run/cups \
107 --enable-ppdc-utils \
108 --docdir=/usr/share/doc/libppd-&libppd-version; &amp;&amp;
109make</userinput></screen>
110
111 <para>
112 To test the results, issue <command>make check</command>.
113 </para>
114
115 <para>
116 Now, as the <systemitem class="username">root</systemitem> user:
117 </para>
118
119<screen role="root"><userinput>make install</userinput></screen>
120
121 </sect2>
122
123 <sect2 role="commands">
124 <title>Command Explanations</title>
125
126 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
127 href="../../xincludes/static-libraries.xml"/>
128
129 <para>
130 <parameter>--with-cups-rundir=/run/cups</parameter>:
[eebff7b]131 Defines the directory containing transient printing data. The default
[488f2fd]132 <filename class="directory">/var/run/cups</filename> is obsolete.
133 </para>
134
135 <para>
136 <parameter>--enable-ppdc-utils</parameter>:
137 Allows building utilities to manipulate <emphasis>.ppd</emphasis> files.
138 <!-- This is not required until cups v3 is out, since those utilities
139 are also installed by cups v2. But since cups v3 should be out before
140 our next release, I put it here. Pierre -->
141 </para>
142
143 </sect2>
144
145 <sect2 role="content">
146 <title>Contents</title>
147
148 <segmentedlist>
149 <segtitle>Installed Programs</segtitle>
150 <segtitle>Installed Libraries</segtitle>
151 <segtitle>Installed Directories</segtitle>
152
153 <seglistitem>
154 <seg>
155 ppdc,
156 ppdhtml,
157 ppdi,
158 ppdmerge, and
[ee5cb1d]159 ppdpo
[488f2fd]160 </seg>
161 <seg>
162 libppd.so
163 </seg>
164 <seg>
165 /usr/include/ppd,
166 /usr/share/ppdc, and
167 /usr/share/doc/libppd-&libppd-version;
168 </seg>
169 </seglistitem>
170 </segmentedlist>
171
172 <variablelist>
173 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
174 <?dbfo list-presentation="list"?>
175 <?dbhtml list-presentation="table"?>
176
177 <varlistentry id="libppd-ppdc">
178 <term><command>ppdc</command></term>
179 <listitem>
180 <para>
181 compiles PPDC source files into one or more PPD files
182 </para>
183 <indexterm zone="libppd libppd-ppdc">
184 <primary sortas="b-ppdc">ppdc</primary>
185 </indexterm>
186 </listitem>
187 </varlistentry>
188
189 <varlistentry id="libppd-ppdhtml">
190 <term><command>ppdhtml</command></term>
191 <listitem>
192 <para>
193 reads a driver information file and produces a HTML summary
194 page that lists all of the drivers in a file and the
195 supported options
196 </para>
197 <indexterm zone="libppd libppd-ppdhtml">
198 <primary sortas="b-ppdhtml">ppdhtml</primary>
199 </indexterm>
200 </listitem>
201 </varlistentry>
202
203 <varlistentry id="libppd-ppdi">
204 <term><command>ppdi</command></term>
205 <listitem>
206 <para>
207 imports one or more PPD files into a PPD compiler source file
208 </para>
209 <indexterm zone="libppd libppd-ppdi">
210 <primary sortas="b-ppdi">ppdi</primary>
211 </indexterm>
212 </listitem>
213 </varlistentry>
214
215 <varlistentry id="libppd-ppdmerge">
216 <term><command>ppdmerge</command></term>
217 <listitem>
218 <para>
219 merges two or more PPD files into a single, multi-language
220 PPD file
221 </para>
222 <indexterm zone="libppd libppd-ppdmerge">
223 <primary sortas="b-ppdmerge">ppdmerge</primary>
224 </indexterm>
225 </listitem>
226 </varlistentry>
227
228 <varlistentry id="libppd-ppdpo">
229 <term><command>ppdpo</command></term>
230 <listitem>
231 <para>
232 extracts UI strings from PPDC source files and
233 updates either a GNU gettext or Mac OS X strings
234 format message catalog source file for translation
235 </para>
236 <indexterm zone="libppd libppd-ppdpo">
237 <primary sortas="b-ppdpo">ppdpo</primary>
238 </indexterm>
239 </listitem>
240 </varlistentry>
241
242 <varlistentry id="libppd-lib">
243 <term><filename class="libraryfile">libppd.so</filename></term>
244 <listitem>
245 <para>
246 contains API functions for manipulating <emphasis>.ppd</emphasis>
247 files
248 </para>
249 <indexterm zone="libppd libppd-lib">
250 <primary sortas="c-libppd">libppd.so</primary>
251 </indexterm>
252 </listitem>
253 </varlistentry>
254
255 </variablelist>
256
257 </sect2>
258
259</sect1>
Note: See TracBrowser for help on using the repository browser.