/[smeserver]/rpms/clamav/sme9/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch
ViewVC logotype

Contents of /rpms/clamav/sme9/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Tue Nov 13 04:49:39 2018 UTC (5 years, 7 months ago) by jpp
Branch: MAIN
zlib patch

1 <!DOCTYPE html>
2 <html lang='en'>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
5 <title>Tree - rpms/clamav - Pagure</title>
6 <link rel="shortcut icon" type="image/vnd.microsoft.icon"
7 href="/static/favicon.ico"/>
8 <link href="https://apps.fedoraproject.org/global/fedora-bootstrap-1.0.1/fedora-bootstrap.css"
9 type="text/css" rel="stylesheet" />
10 <link href="/static/pagure.css"
11 type="text/css" rel="stylesheet" />
12 <link href="/static/vendor/open-iconic/css/open-iconic.min.css"
13 type="text/css" rel="stylesheet" />
14 <link href="/static/fonts/fonts.css"
15 rel="stylesheet" type="text/css" />
16 <link href="/static/vendor/hack_fonts/css/hack-extended.min.css"
17 type="text/css" rel="stylesheet" />
18 </head>
19 <body id="home">
20 <!-- start masthead -->
21 <div class="masthead">
22 <div class="container">
23 <div class="row">
24 <div class="col-sm-3">
25 <a href="/">
26 <img height=40px src="/static/pagure-logo.png"
27 alt="pagure Logo" id="pagureLogo"/>
28 </a>
29 </div>
30 <div class="col-sm-9">
31 <div class="row">
32
33 <nav class="navbar navbar-light p-t-0 p-b-0">
34 <div class="container">
35 <ul class="nav navbar-nav nav-underline pull-xs-right">
36 <li class="nav-item p-l-1">
37 <a class="nav-link btn btn-primary" href="/login/?next=https://src.fedoraproject.org/fork/robert/rpms/clamav/blob/el6/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">Log In</a>
38 </li>
39 </ul>
40 </div>
41 </nav>
42
43 </div>
44 </div>
45 </div>
46 </div>
47 </div><!-- close masthead-->
48
49 <div class="bodycontent p-b-3">
50
51
52 <div class="repo-header p-t-1">
53 <div class="container">
54 <header>
55 <h2 class="repo-name m-b-0">
56 <a href="/user/robert"><span class="oi" data-glyph="fork">
57 </span>robert</a>/<a href="/projects/rpms/%2A">rpms</a>/<a href="/fork/robert/rpms/clamav">clamav</a>
58 </h2>
59
60 <div class="m-t-0">
61 Forked from
62 <a href="/rpms/clamav">
63 rpms/clamav
64 </a>
65 </div>
66 <div class="projectinfo m-t-1 m-b-1">
67 The clamav rpms </div>
68 </header>
69
70 <ul class="nav nav-tabs nav-small">
71 <li class="nav-item">
72 <a class="nav-link" href="/fork/robert/rpms/clamav">
73 <span class="oi hidden-md-up" data-glyph="home"></span>
74 <span class="hidden-sm-down">Overview</span>
75 </a>
76 </li>
77
78 <li class="nav-item">
79 <a class="nav-link" href="/fork/robert/rpms/clamav/commits/el6">
80 <span class="oi hidden-md-up" data-glyph="spreadsheet">
81 </span><span class="hidden-sm-down">Commits</span>
82 </a>
83 </li>
84
85 <li class="nav-item">
86 <a class="active nav-link" href="/fork/robert/rpms/clamav/tree/el6">
87 <span class="oi hidden-md-up" data-glyph="file"></span>
88 <span class="hidden-sm-down">Files</span>
89 </a>
90 </li>
91
92 <li class="nav-item">
93 <a class="nav-link" href="/fork/robert/rpms/clamav/releases">
94 <span class="oi hidden-md-up" data-glyph="box"></span>
95 <span class="hidden-sm-down">Releases</span>
96 </a>
97 </li>
98
99
100
101 <li class="nav-item">
102 <a class="nav-link" href="/fork/robert/rpms/clamav/stats">
103 <span class="oi hidden-md-up" data-glyph="task"></span>
104 <span class="hidden-sm-down">Stats&nbsp;</span>
105 </a>
106 </li>
107
108
109 </ul>
110 </div>
111 </div>
112
113 <div class="container p-t-3">
114 <div class="row m-b-1">
115 <div class="col-sm-6">
116 <h3>
117 Files
118 </h3>
119 </div>
120
121 <div class="col-sm-6">
122 <div class="pull-xs-right">
123 <div class="button-label button-label-default">
124 <span class="oi" data-glyph="fork"></span>
125 robert/clamav
126
127 </div>
128 <div class="btn-group">
129 <button type="button" class="btn btn-secondary btn-sm dropdown-toggle"
130 data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
131 <span class="oi" data-glyph="random"> </span> el6
132 </button>
133 <div class="dropdown-menu dropdown-menu-right">
134 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/el4/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
135 el4
136 </a>
137 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/el5/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
138 el5
139 </a>
140 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/el6/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
141 el6
142 </a>
143 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/epel7/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
144 epel7
145 </a>
146 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f10/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
147 f10
148 </a>
149 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f11/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
150 f11
151 </a>
152 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f12/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
153 f12
154 </a>
155 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f13/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
156 f13
157 </a>
158 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f14/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
159 f14
160 </a>
161 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f15/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
162 f15
163 </a>
164 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f16/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
165 f16
166 </a>
167 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f17/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
168 f17
169 </a>
170 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f18/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
171 f18
172 </a>
173 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f19/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
174 f19
175 </a>
176 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f20/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
177 f20
178 </a>
179 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f21/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
180 f21
181 </a>
182 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f22/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
183 f22
184 </a>
185 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f23/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
186 f23
187 </a>
188 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f24/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
189 f24
190 </a>
191 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f25/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
192 f25
193 </a>
194 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f26/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
195 f26
196 </a>
197 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f27/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
198 f27
199 </a>
200 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f28/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
201 f28
202 </a>
203 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f7/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
204 f7
205 </a>
206 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f8/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
207 f8
208 </a>
209 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/f9/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
210 f9
211 </a>
212 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/fc6/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
213 fc6
214 </a>
215 <a class="dropdown-item" href="/fork/robert/rpms/clamav/blob/master/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
216 master
217 </a>
218 </div>
219 </div>
220 </div>
221 </div>
222 </div>
223 <div class="card">
224 <div class="card-header">
225 <ol class="breadcrumb">
226 <li>
227 <a href="/fork/robert/rpms/clamav/tree/el6">
228 <span class="oi" data-glyph="random">
229 </span>&nbsp; el6
230 </a>
231 </li>
232 <li class="active">
233 <span class="oi" data-glyph="file">
234 </span>&nbsp; zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch
235 </li>
236 </ol>
237 </div>
238
239 <div class="card-block p-a-0">
240 <div class="file-button-bar">
241 <form class="btn btn-sm" method="POST" name="fork_project"
242 action="/fork_edit/fork/robert/rpms/clamav/edit/el6/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch">
243 <button class="btn btn-sm btn-secondary"
244 onclick="fork_project.submit();">
245 Fork and Edit
246 </button>
247
248 </form>
249
250 <a class="btn btn-secondary btn-sm" href="/fork/robert/rpms/clamav/blob/el6/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch" title="View as blob">Blob</a>
251
252 <a class="btn btn-secondary btn-sm" href="/fork/robert/rpms/clamav/blame/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch?identifier=el6" title="View git blame">Blame</a>
253
254 <a class="btn btn-secondary btn-sm" href="/fork/robert/rpms/clamav/raw/el6/f/zlib-1.2.7-fix-serious-but-very-rare-decompression-bug-in-inftr.patch" title="View as raw">Raw</a>
255 </div>
256
257 <div class="highlight">
258 <table class="code_table">
259 <tr><td class="cell1"><a id="_1" href="#_1" data-line-number="1"></a></td>
260 <td class="cell2"><pre><span></span>From 51370f365607fe14a6a7a1a27b3bd29d788f5e5b Mon Sep 17 00:00:00 2001</pre></td>
261 </tr>
262 <tr><td class="cell1"><a id="_2" href="#_2" data-line-number="2"></a></td>
263 <td class="cell2"><pre>From: Mark Adler &lt;madler@alumni.caltech.edu&gt;</pre></td>
264 </tr>
265 <tr><td class="cell1"><a id="_3" href="#_3" data-line-number="3"></a></td>
266 <td class="cell2"><pre>Date: Mon, 18 Feb 2013 21:06:35 -0800</pre></td>
267 </tr>
268 <tr><td class="cell1"><a id="_4" href="#_4" data-line-number="4"></a></td>
269 <td class="cell2"><pre>Subject: [PATCH] Fix serious but very rare decompression bug in inftrees.c.</pre></td>
270 </tr>
271 <tr><td class="cell1"><a id="_5" href="#_5" data-line-number="5"></a></td>
272
273 <tr><td class="cell1"><a id="_6" href="#_6" data-line-number="6"></a></td>
274 <td class="cell2"><pre>inftrees.c compared the number of used table entries to the maximum</pre></td>
275 </tr>
276 <tr><td class="cell1"><a id="_7" href="#_7" data-line-number="7"></a></td>
277 <td class="cell2"><pre>allowed value using &gt;= instead of &gt;. This patch fixes those to use</pre></td>
278 </tr>
279 <tr><td class="cell1"><a id="_8" href="#_8" data-line-number="8"></a></td>
280 <td class="cell2"><pre>&gt;. The bug was discovered by Ignat Kolesnichenko of Yandex LC</pre></td>
281 </tr>
282 <tr><td class="cell1"><a id="_9" href="#_9" data-line-number="9"></a></td>
283 <td class="cell2"><pre>where they have run petabytes of data through zlib. Triggering the</pre></td>
284 </tr>
285 <tr><td class="cell1"><a id="_10" href="#_10" data-line-number="10"></a></td>
286 <td class="cell2"><pre>bug is apparently very rare, seeing as how it has been out there in</pre></td>
287 </tr>
288 <tr><td class="cell1"><a id="_11" href="#_11" data-line-number="11"></a></td>
289 <td class="cell2"><pre>the wild for almost three years before being discovered. The bug</pre></td>
290 </tr>
291 <tr><td class="cell1"><a id="_12" href="#_12" data-line-number="12"></a></td>
292 <td class="cell2"><pre>is instantiated only if the exact maximum number of decoding table</pre></td>
293 </tr>
294 <tr><td class="cell1"><a id="_13" href="#_13" data-line-number="13"></a></td>
295 <td class="cell2"><pre>entries, ENOUGH_DISTS or ENOUGH_LENS is used by the block being</pre></td>
296 </tr>
297 <tr><td class="cell1"><a id="_14" href="#_14" data-line-number="14"></a></td>
298 <td class="cell2"><pre>decoded, resulting in the false positive of overflowing the table.</pre></td>
299 </tr>
300 <tr><td class="cell1"><a id="_15" href="#_15" data-line-number="15"></a></td>
301 <td class="cell2"><pre><span style="color: #a40000; background-color: #ffdddd">---</span></pre></td>
302 </tr>
303 <tr><td class="cell1"><a id="_16" href="#_16" data-line-number="16"></a></td>
304 <td class="cell2"><pre> inftrees.c | 8 ++++----</pre></td>
305 </tr>
306 <tr><td class="cell1"><a id="_17" href="#_17" data-line-number="17"></a></td>
307 <td class="cell2"><pre> 1 file changed, 4 insertions(+), 4 deletions(-)</pre></td>
308 </tr>
309 <tr><td class="cell1"><a id="_18" href="#_18" data-line-number="18"></a></td>
310
311 <tr><td class="cell1"><a id="_19" href="#_19" data-line-number="19"></a></td>
312 <td class="cell2"><pre><span style="color: #000080; font-weight: bold">diff --git a/inftrees.c b/inftrees.c</span></pre></td>
313 </tr>
314 <tr><td class="cell1"><a id="_20" href="#_20" data-line-number="20"></a></td>
315 <td class="cell2"><pre><span style="color: #000080; font-weight: bold">index 873da59..3781399 100644</span></pre></td>
316 </tr>
317 <tr><td class="cell1"><a id="_21" href="#_21" data-line-number="21"></a></td>
318 <td class="cell2"><pre><span style="color: #a40000; background-color: #ffdddd">--- a/inftrees.c</span></pre></td>
319 </tr>
320 <tr><td class="cell1"><a id="_22" href="#_22" data-line-number="22"></a></td>
321 <td class="cell2"><pre><span style="color: #00A000; background-color: #ddffdd">+++ b/inftrees.c</span></pre></td>
322 </tr>
323 <tr><td class="cell1"><a id="_23" href="#_23" data-line-number="23"></a></td>
324 <td class="cell2"><pre><span style="color: #800080; font-weight: bold">@@ -208,8 +208,8 @@ unsigned short FAR *work;</span></pre></td>
325 </tr>
326 <tr><td class="cell1"><a id="_24" href="#_24" data-line-number="24"></a></td>
327 <td class="cell2"><pre> mask = used - 1; /* mask for comparing low */</pre></td>
328 </tr>
329 <tr><td class="cell1"><a id="_25" href="#_25" data-line-number="25"></a></td>
330 <td class="cell2"><pre> </pre></td>
331 </tr>
332 <tr><td class="cell1"><a id="_26" href="#_26" data-line-number="26"></a></td>
333 <td class="cell2"><pre> /* check available table space */</pre></td>
334 </tr>
335 <tr><td class="cell1"><a id="_27" href="#_27" data-line-number="27"></a></td>
336 <td class="cell2"><pre><span style="color: #a40000; background-color: #ffdddd">- if ((type == LENS &amp;&amp; used &gt;= ENOUGH_LENS) ||</span></pre></td>
337 </tr>
338 <tr><td class="cell1"><a id="_28" href="#_28" data-line-number="28"></a></td>
339 <td class="cell2"><pre><span style="color: #a40000; background-color: #ffdddd">- (type == DISTS &amp;&amp; used &gt;= ENOUGH_DISTS))</span></pre></td>
340 </tr>
341 <tr><td class="cell1"><a id="_29" href="#_29" data-line-number="29"></a></td>
342 <td class="cell2"><pre><span style="color: #00A000; background-color: #ddffdd">+ if ((type == LENS &amp;&amp; used &gt; ENOUGH_LENS) ||</span></pre></td>
343 </tr>
344 <tr><td class="cell1"><a id="_30" href="#_30" data-line-number="30"></a></td>
345 <td class="cell2"><pre><span style="color: #00A000; background-color: #ddffdd">+ (type == DISTS &amp;&amp; used &gt; ENOUGH_DISTS))</span></pre></td>
346 </tr>
347 <tr><td class="cell1"><a id="_31" href="#_31" data-line-number="31"></a></td>
348 <td class="cell2"><pre> return 1;</pre></td>
349 </tr>
350 <tr><td class="cell1"><a id="_32" href="#_32" data-line-number="32"></a></td>
351 <td class="cell2"><pre> </pre></td>
352 </tr>
353 <tr><td class="cell1"><a id="_33" href="#_33" data-line-number="33"></a></td>
354 <td class="cell2"><pre> /* process all codes and make table entries */</pre></td>
355 </tr>
356 <tr><td class="cell1"><a id="_34" href="#_34" data-line-number="34"></a></td>
357 <td class="cell2"><pre><span style="color: #800080; font-weight: bold">@@ -277,8 +277,8 @@ unsigned short FAR *work;</span></pre></td>
358 </tr>
359 <tr><td class="cell1"><a id="_35" href="#_35" data-line-number="35"></a></td>
360 <td class="cell2"><pre> </pre></td>
361 </tr>
362 <tr><td class="cell1"><a id="_36" href="#_36" data-line-number="36"></a></td>
363 <td class="cell2"><pre> /* check for enough space */</pre></td>
364 </tr>
365 <tr><td class="cell1"><a id="_37" href="#_37" data-line-number="37"></a></td>
366 <td class="cell2"><pre> used += 1U &lt;&lt; curr;</pre></td>
367 </tr>
368 <tr><td class="cell1"><a id="_38" href="#_38" data-line-number="38"></a></td>
369 <td class="cell2"><pre><span style="color: #a40000; background-color: #ffdddd">- if ((type == LENS &amp;&amp; used &gt;= ENOUGH_LENS) ||</span></pre></td>
370 </tr>
371 <tr><td class="cell1"><a id="_39" href="#_39" data-line-number="39"></a></td>
372 <td class="cell2"><pre><span style="color: #a40000; background-color: #ffdddd">- (type == DISTS &amp;&amp; used &gt;= ENOUGH_DISTS))</span></pre></td>
373 </tr>
374 <tr><td class="cell1"><a id="_40" href="#_40" data-line-number="40"></a></td>
375 <td class="cell2"><pre><span style="color: #00A000; background-color: #ddffdd">+ if ((type == LENS &amp;&amp; used &gt; ENOUGH_LENS) ||</span></pre></td>
376 </tr>
377 <tr><td class="cell1"><a id="_41" href="#_41" data-line-number="41"></a></td>
378 <td class="cell2"><pre><span style="color: #00A000; background-color: #ddffdd">+ (type == DISTS &amp;&amp; used &gt; ENOUGH_DISTS))</span></pre></td>
379 </tr>
380 <tr><td class="cell1"><a id="_42" href="#_42" data-line-number="42"></a></td>
381 <td class="cell2"><pre> return 1;</pre></td>
382 </tr>
383 <tr><td class="cell1"><a id="_43" href="#_43" data-line-number="43"></a></td>
384 <td class="cell2"><pre> </pre></td>
385 </tr>
386 <tr><td class="cell1"><a id="_44" href="#_44" data-line-number="44"></a></td>
387 <td class="cell2"><pre> /* point entry in root table to sub-table */</pre></td>
388 </tr>
389 <tr><td class="cell1"><a id="_45" href="#_45" data-line-number="45"></a></td>
390 <td class="cell2"><pre><span style="color: #a40000; background-color: #ffdddd">-- </span></pre></td>
391 </tr>
392 <tr><td class="cell1"><a id="_46" href="#_46" data-line-number="46"></a></td>
393 <td class="cell2"><pre>1.9.3</pre></td>
394 </tr>
395 </table></div>
396 </div>
397 </div> <!-- end .card-->
398
399
400 </div>
401 </div>
402
403 <div class="footer p-t-1 p-b-1">
404 <div class="container">
405 <p class="text-muted credit">
406 Copyright &copy; 2014-2018 Red Hat
407 <a href="https://pagure.io/pagure">pagure</a> &mdash;
408 4.0.4 &mdash; <a href="https://docs.pagure.org/pagure/usage/index.html">Documentation</a>
409 </p>
410 <p><a href="/ssh_info">SSH Hostkey/Fingerprint</a></p>
411 </div>
412 </div>
413
414 <script type="text/javascript"
415 src="/static/vendor/jquery/jquery.min.js">
416 </script>
417 <script type="text/javascript"
418 src="/static/vendor/jquery-ui/jquery-ui.min.js">
419 </script>
420 <script type="text/javascript"
421 src="https://apps.fedoraproject.org/global/fedora-bootstrap-1.0.1/fedora-bootstrap.js">
422 </script>
423 <script type="text/javascript">
424 $('[data-toggle="tooltip"]').tooltip({placement : 'bottom'});
425 </script>
426
427 <script type="text/javascript"
428 src="/static/vendor/lazyload/lazyload.min.js">
429 </script>
430 <script type="text/javascript">
431 window.addEventListener("load", function(event) {
432 lazyload();
433 });
434
435 $(document).ready(function() {
436 var currentWatchStatusButton = $('#unwatch_button');
437 currentWatchStatusButton.prepend('<span class="oi" data-glyph="circle-check" style="padding-right:0.5em"></span>');
438 $('.watch-menu a').not(currentWatchStatusButton).css('padding-left', '2.85em');
439
440 $(".watch-menu a").click(function(){
441 var selectedValue = $(this).attr('id');
442 var watchProjectForm = $("#watch_project");
443 var action = watchProjectForm.attr('action');
444
445 if (selectedValue === "watch_issues_button") {
446 action = action.replace('/settings/0', '/settings/1');
447 } else if (selectedValue === "watch_commits_button") {
448 action = action.replace('/settings/0', '/settings/2');
449 } else if (selectedValue === "watch_issues_commits_button") {
450 action = action.replace('/settings/0', '/settings/3');
451 } else if (selectedValue === "reset_button") {
452 action = action.replace('/settings/0', '/settings/-1');
453 }
454
455 watchProjectForm.attr('action', action);
456 watchProjectForm.submit();
457 });
458 });
459 </script>
460
461 <script type="text/javascript">
462 function updateHighlight() {
463 var cls = "highlighted-line";
464 $('.' + cls).removeClass(cls)
465 if (location.hash !== '') {
466 var lines = location.hash.substr(2).split('-').map(function (x) { return parseInt(x, 10) });
467 for (var i = lines[lines.length - 1]; i >= lines[0]; i--) {
468 $('[data-line-number=' + i + ']').closest('tr').addClass(cls);
469 }
470 return lines;
471 }
472 return [];
473 }
474 $(document).ready(function () {
475 var lines = updateHighlight();
476 if (lines) {
477 var offset = $('[data-line-number=' + lines[0] + ']').offset().top;
478 $('html, body').animate({scrollTop: offset}, 200);
479 }
480 });
481 $(window).on('hashchange', updateHighlight);
482 var selected = [];
483 $("[data-line-number]").click(function (ev) {
484 var line = $(this).attr('data-line-number');
485 if (ev.shiftKey) {
486 selected = selected.slice(-1).concat(line);
487 } else {
488 selected = [line];
489 }
490
491 var hash = '_' + selected[0];
492 if (selected.length === 2) {
493 hash = '_' + Math.min(selected[0], selected[1]) + '-' + Math.max(selected[0], selected[1]);
494 }
495 window.location.hash = hash;
496 return false;
497 });
498 </script>
499
500
501 </body>
502 </html>

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed