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

Annotation 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 - (hide annotations) (download)
Tue Nov 13 04:49:39 2018 UTC (5 years, 7 months ago) by jpp
Branch: MAIN
zlib patch

1 jpp 1.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