aboutsummaryrefslogblamecommitdiffstats
path: root/community/qca/QCA
blob: c26742d9f3f486da81f1bb391aa2e6ece007dbe3 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421




































































































































































































































































































































































































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>QCA - KDE UserBase Wiki</title>
<script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script>
<script>window.RLQ = window.RLQ || []; window.RLQ.push( function () {
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":!1,"wgNamespaceNumber":0,"wgPageName":"QCA","wgTitle":"QCA","wgCurRevisionId":377461,"wgRevisionId":377461,"wgArticleId":149429,"wgIsArticle":!0,"wgIsRedirect":!1,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":!0,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"QCA","wgRelevantArticleId":149429,"wgIsProbablyEditable":!1,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgULSAcceptLanguageList":[],"wgULSCurrentAutonym":"English","wgWikiEditorEnabledModules":{"toolbar":!1,"dialogs":!1,"preview":!1,"publish"
:!1}});mw.loader.implement("user.options",function($,jQuery){mw.user.options.set({"variant":"en"});});mw.loader.implement("user.tokens",function($,jQuery){mw.user.tokens.set({"editToken":"+\\","patrolToken":"+\\","watchToken":"+\\"});});mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","ext.uls.init","ext.uls.interface"]);
} );</script>
<link rel="stylesheet" href="/load.php?debug=false&amp;lang=en&amp;modules=ext.uls.nojs%7Cmediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.sectionAnchor&amp;only=styles&amp;skin=neverland" />
<link rel="stylesheet" href="https://1088045785.rsc.cdn77.org/css/bootstrap.css" media="screen" />
<link rel="stylesheet" href="https://1088045785.rsc.cdn77.org/css/bootstrap-responsive.css" media="screen" />
<link rel="stylesheet" href="https://1088045785.rsc.cdn77.org/css/bootstrap-mediawiki.css" media="screen" />
<meta name="ResourceLoaderDynamicStyles" content="" />
<link rel="stylesheet" href="/load.php?debug=false&amp;lang=en&amp;modules=site&amp;only=styles&amp;skin=neverland" />
<style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}</style>
<script async="" src="/load.php?debug=false&amp;lang=en&amp;modules=startup&amp;only=scripts&amp;skin=neverland"></script>
<meta name="generator" content="MediaWiki 1.26.2" />
<link rel="apple-touch-icon" href="https://www.kde.org/aether/media/180x180.png" />
<link rel="shortcut icon" href="https://www.kde.org/aether/media/192x192.png" />
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch_desc.php" title="KDE UserBase Wiki (en)" />
<link rel="EditURI" type="application/rsd+xml" href="https://userbase.kde.org/api.php?action=rsd" />
<link rel="copyright" href="/KDE_UserBase_Wiki:Copyrights" />
<link rel="alternate" type="application/atom+xml" title="KDE UserBase Wiki Atom feed" href="/index.php?title=Special:RecentChanges&amp;feed=atom" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-QCA skin-neverland action-view">

	<!-- header -->
	<div id="top-small mw-head" class="navbar navbar-static-top Neverland noprint">
		<div class="navbar-inner">
			<div class="container">
				<div class="pull-right">
					
<!-- 0 -->
					<div id="p-search">
						<form action="/index.php" id="searchform" class="form-inline">
							<input id="searchInput" name="search" type="search" placeholder="Search"
								   class="input-large" autocomplete="off"
															value=""
							 />

							<input type="hidden" name="title" value="Special:Search" />
						</form>
					</div>
				
<!-- /0 -->
				</div>

				<a href="/Welcome_to_KDE_UserBase" class="brand">
					<img src="https://1088045785.rsc.cdn77.org/img/logo.plain.small.png" alt="" />
					KDE UserBase Wiki				</a>
			</div>
		</div>
	</div>
	<!-- /header -->
	
	<div id="top" class="container">
		<!-- content -->
		<div class="row">
			<div class="span9">
				<div>
					<div id="mw-js-message" class="alert alert-info" style="display:none;"
						>
					</div>

					
					<!-- page-actions -->
					
<!-- 0 -->
					<div class="btn-group pull-right page-actions"> <!-- Is closed later in the 'actions' section -->
																	<a href="/QCA" class="btn btn-mini
																	btn-primary
								"
								>

																	<i class="icon-ca-view																							icon-white
											"></i>
									View															</a>
													<a href="/index.php?title=QCA&amp;action=edit" class="btn btn-mini
								"
								 title="This page is protected.&#10;You can view its source [e]" accesskey="e">

																	<i class="icon-ca-viewsource																							icon-black
											"></i>
									View source															</a>
													<a href="/index.php?title=QCA&amp;action=history" class="btn btn-mini
								"
								 title="Past revisions of this page [h]" accesskey="h">

																	<i class="icon-ca-history																							icon-black
											"></i>
									History															</a>
											
<!-- /0 -->

<!-- 1 -->
					</div> <!-- Opened in the 'views' section -->
				
<!-- /1 -->
					<!-- /page-actions -->

					<!-- top-navigation -->
					
<!-- 0 -->
						<ul class="nav nav-tabs">
															<li class="active">
									<a href="#"  title="View the content page [c]" accesskey="c">
										Page									</a>
								</li>
																<li>
										<a href="/index.php?title=Talk:QCA&amp;action=edit&amp;redlink=1"  title="Discussion about the content page [t]" accesskey="t">
										Discussion										</a>
									</li>
													</ul>
					
<!-- /0 -->
					<!-- /top-navigation -->

					<!-- firstHeading -->
					<h1 id="firstHeading">
						QCA					</h1>
					<!-- /firstHeading -->

					<!-- bodyContent -->
					<div id="bodyContent">
						<!-- subtitle -->
						<div id="contentSub"></div>
						<!-- /subtitle -->

						
						
													<!-- jumpto -->
							<div id="jump-to-nav" class="mw-jump">
								Jump to: <a href="#mw-head">navigation</a>,
								<a href="#p-search">search</a>
							</div>
							<!-- /jumpto -->
						
						<!-- bodycontent -->
						<div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#QCA"><span class="tocnumber">1</span> <span class="toctext">QCA</span></a>
<ul>
<li class="toclevel-2 tocsection-2"><a href="#What_is_it.3F"><span class="tocnumber">1.1</span> <span class="toctext">What is it?</span></a></li>
<li class="toclevel-2 tocsection-3"><a href="#What_do_I_need_to_be_able_to_use_it.3F"><span class="tocnumber">1.2</span> <span class="toctext">What do I need to be able to use it?</span></a></li>
<li class="toclevel-2 tocsection-4"><a href="#What_features_are_supported.3F"><span class="tocnumber">1.3</span> <span class="toctext">What features are supported?</span></a></li>
<li class="toclevel-2 tocsection-5"><a href="#How_does_it_work.3F"><span class="tocnumber">1.4</span> <span class="toctext">How does it work?</span></a></li>
<li class="toclevel-2 tocsection-6"><a href="#What_is_the_development_plan.3F"><span class="tocnumber">1.5</span> <span class="toctext">What is the development plan?</span></a></li>
<li class="toclevel-2 tocsection-7"><a href="#Compatibility"><span class="tocnumber">1.6</span> <span class="toctext">Compatibility</span></a></li>
<li class="toclevel-2 tocsection-8"><a href="#Documentation"><span class="tocnumber">1.7</span> <span class="toctext">Documentation</span></a></li>
<li class="toclevel-2 tocsection-9"><a href="#Where_can_I_get_it.3F"><span class="tocnumber">1.8</span> <span class="toctext">Where can I get it?</span></a></li>
</ul>
</li>
</ul>
</div>

<h1><span class="mw-headline" id="QCA">QCA</span></h1>
<p>Language: English | <a rel="nofollow" class="external text" href="http://science.webhostinggeeks.com/qca">Serbo-Croatian</a> | <a rel="nofollow" class="external text" href="http://weknownyourdreamz.com/qca.html">Bulgarian</a>
</p><p><a href="/File:Kde_password_icon.png" class="image"><img alt="Kde password icon.png" src="/images.userbase/b/bb/Kde_password_icon.png" width="64" height="64" /></a>
</p>
<h2><span class="mw-headline" id="What_is_it.3F">What is it?</span></h2>
<p>Taking a hint from the similarly-named <a rel="nofollow" class="external text" href="http://java.sun.com/j2se/1.3/docs/guide/security/CryptoSpec.html">Java Cryptography Architecture</a>, QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes and conventions. QCA separates the API from the implementation, using plugins known as Providers. The advantage of this model is to allow applications to avoid linking to or explicitly depending on any particular cryptographic library. This allows one to easily change or upgrade crypto implementations without even needing to recompile the application! QCA should work everywhere Qt does, including Windows/Unix/MacOSX.
</p>
<h2><span class="mw-headline" id="What_do_I_need_to_be_able_to_use_it.3F">What do I need to be able to use it?</span></h2>
<p>QCA depends on <a rel="nofollow" class="external text" href="https://www.qt.io/">Qt 4.2+</a>.
</p>
<h2><span class="mw-headline" id="What_features_are_supported.3F">What features are supported?</span></h2>
<ul><li> SSL/TLS</li>
<li> X.509</li>
<li> OpenPGP</li>
<li> Cryptographic Message Syntax (for S/MIME)</li>
<li> SASL</li>
<li> PKCS#12</li>
<li> Smart cards and other key storage</li>
<li> Secure memory</li>
<li> Secure random</li>
<li> RSA/DSA/Diffie-Hellman</li>
<li> Hash/Cipher/MAC algorithms</li>
<li> Threading considerations</li>
<li> Access operating system root certificates</li></ul>
<h2><span class="mw-headline" id="How_does_it_work.3F">How does it work?</span></h2>
<p>The application includes &lt;QtCrypto&gt; and links to libqca, which provides the 'wrapper API' and plugin loader. Crypto functionality is determined during runtime, and plugins are loaded from the 'crypto' subfolder of the Qt Library Paths.
</p>
<h2><span class="mw-headline" id="What_is_the_development_plan.3F">What is the development plan?</span></h2>
<p>The base QCA library is considered mostly complete. Future development may include OCSP, shared certificate management, and improving the plugin API. However, there is no development plan for the base library at this time. Work will continue on the various plugins though, in order to get them into a release-quality state.
</p>
<h2><span class="mw-headline" id="Compatibility">Compatibility</span></h2>
<p>QCA follows a typical API/ABI compatibility scheme. Versions use the "major.minor.patch" format. Major versions of QCA may be incompatible with each other, minor versions are backwards compatible within the same major version, and patch versions are forwards and backwards compatible within the same minor version. This is the same scheme that Qt itself uses.
</p>
<h2><span class="mw-headline" id="Documentation">Documentation</span></h2>
<p>API documentation in HTML format is included in the source distribution.
</p>
<h2><span class="mw-headline" id="Where_can_I_get_it.3F">Where can I get it?</span></h2>
<p>Source: <a rel="nofollow" class="external text" href="http://download.kde.org/stable/qca/2.1.3/src/qca-2.1.3.tar.xz">qca-2.1.3.tar.gz</a>
</p><p>QCA has built-in support for the SHA1 and MD5 hash algorithms, and a weak random number source. To perform any other crypto operations (or to utilize improved versions of the built-in ones), an appropriate provider plugin is needed. There are several available so far, and you could always write your own, too.
</p><p>As of QCA 2.1, the latest plugins are included in the main tarball and don’t need to be downloaded separately.
</p>
<table border="1">
<tr>
<th>Provider</th>
<th>Capabilities</th>
<th>Depends on</th>
</tr>
<tr>
<td>qca-ossl</td>
<td>TLS, CMS, X.509, RSA, DSA, Diffie-Hellman, PKCS#7, PKCS#12, SHA0, SHA1, SHA224, SHA256, SHA384, SHA512, MD2, MD4, MD5, RIPEMD160, Blowfish, DES, 3DES, AES128, AES192, AES256, CAST5, HMAC(SHA1, MD5, RIPEMD160), PBKDF1(MD2, SHA1), PBKDF2(SHA1)</td>
<td>OpenSSL 0.9.6+</td>
</tr>
<tr>
<td>qca-cyrus-sasl</td>
<td>SASL</td>
<td>Cyrus SASL2</td>
</tr>
<tr>
<td>qca-gnupg</td>
<td>OpenPGP</td>
<td>GnuPG 1.x or 2.x (runtime dependency only)</td>
</tr>
<tr>
<td>qca-pkcs11</td>
<td>PKCS#11 (for smart cards)</td>
<td><a rel="nofollow" class="external text" href="http://www.opensc-project.org/">pkcs11-helper</a> 1.02+</td>
</tr>
<tr>
<td>qca-wingss</td>
<td>SASL GSSAPI (for Kerberos)</td>
<td>Windows only (uses SSPI)</td>
</tr>
<tr>
<td>qca-logger</td>
<td>Internal module logging (for debug purposes)</td>
<td>None</td>
</tr>
</table>
<p>The latest source can be found in the 'qca' module of the KDE Git.  The code can also be browsed <a rel="nofollow" class="external text" href="https://cgit.kde.org/qca.git/">on the web</a>.
</p><p><i>"keys" icon from KDE.</i>
</p>
<!-- 
NewPP limit report
Cached time: 20181105105049
Cache expiry: 86400
Dynamic content: false
CPU time usage: 0.008 seconds
Real time usage: 0.010 seconds
Preprocessor visited node count: 35/1000000
Preprocessor generated node count: 42/1000000
Post‐expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
Highest expansion depth: 2/40
Expensive parser function count: 0/100
-->

<!-- 
Transclusion expansion time report (%,ms,calls,template)
100.00%    0.000      1 - -total
-->

<!-- Saved in parser cache with key userbase:pcache:idhash:149429-0!*!*!!en!5!* and timestamp 20181105105049 and revision id 377461
 -->
</div>						<!-- /bodycontent -->

													<!-- printfooter -->
							<div class="printfooter">
								Retrieved from "<a dir="ltr" href="https://userbase.kde.org/index.php?title=QCA&amp;oldid=377461">https://userbase.kde.org/index.php?title=QCA&amp;oldid=377461</a>"							</div>
						<!-- /printfooter -->
						
													<!-- catlinks -->
							<div id='catlinks' class='catlinks catlinks-allhidden'></div>							<!-- /catlinks -->
						
						
						<div class="visualClear"></div>

						<!-- debughtml -->
												<!-- /debughtml -->

						<!-- pagestats -->
																<br />
										<div class="page-info">
																							 This page was last modified on 17 February 2017, at 01:13.																							Content is available under <a class="external" rel="nofollow" href="/KDE_UserBase_Wiki:Copyrights">Creative Commons License SA 4.0</a> unless otherwise noted.																					</div>
															<!-- /pagestats -->
					</div>
					<!-- /bodyContent -->
				</div>
				</div>

				<!-- panel -->
				<div class="span3 sidebar noprint" valign="top">
					<div class="well">
						<ul class="unstyled">
							<!-- logo -->
								<img src="/skins/Neverland/images/sidebar-logo.png" alt="" />
							<!-- /logo -->

							
<!-- 0 -->

<!-- /0 -->

<!-- Navigation -->
			<li class="list-header" id='p-Navigation' >
				Navigation			</li>
		<li id="n-ub-home"><a href="/Special:MyLanguage/Welcome_to_KDE_UserBase">Home</a></li><li id="n-ub-start-contributing"><a href="/Special:MyLanguage/Quick_Start">Quick Start</a></li><li id="n-recentchanges"><a href="/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r">Recent changes</a></li>
<!-- /Navigation -->

<!-- ub-contributors -->
			<li class="list-header" id='p-ub-contributors' >
				Contributors			</li>
		<li id="n-ub-helpfiles"><a href="/Special:MyLanguage/Tasks_and_Tools">Start Contributing</a></li><li id="n-ub-helpfiles-modify"><a href="/Ub-helpfiles-modify-redirect">Modify Existing Pages</a></li><li id="n-ub-helpfiles-new-content"><a href="/Ub-helpfiles-new-content-redirect">Add New Pages</a></li><li id="n-ub-helpfiles-page-elements"><a href="/Special:MyLanguage/PageLayout">Page Elements Explained</a></li><li id="n-ub-helpfiles-typographical-guidelines"><a href="/Special:MyLanguage/Typographical_Guidelines">Display elements markup</a></li><li id="n-ub-helpfiles-markup"><a href="/Special:MyLanguage/Toolbox">More Markup Help</a></li>
<!-- /ub-contributors -->

<!-- ub-translators -->
			<li class="list-header" id='p-ub-translators' >
				Translators			</li>
		<li id="n-ub-get-trans-account"><a href="/Special:MyLanguage/Translator_Account">Get a Translator Account</a></li><li id="n-ub-languages-represented"><a href="/Special:MyLanguage/Special:SupportedLanguages">Languages represented</a></li><li id="n-ub-helpfiles-languages"><a href="/Ub-helpfiles-languages-redirect">Working with Languages</a></li><li id="n-ub-trans-tool"><a href="/Special:MyLanguage/Special:LanguageStats">Start Translating</a></li><li id="n-ub-release-request"><a href="/ReadyForTranslation">Request Release</a></li>
<!-- /ub-translators -->

<!-- SEARCH -->

<!-- /SEARCH -->

<!-- TOOLBOX -->
			<li class="list-header" id='p-tb' >
				Tools			</li>
		<li id="t-whatlinkshere"><a href="/Special:WhatLinksHere/QCA" title="A list of all wiki pages that link here [j]" accesskey="j">What links here</a></li><li id="t-recentchangeslinked"><a href="/Special:RecentChangesLinked/QCA" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li><li id="t-specialpages"><a href="/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q">Special pages</a></li><li id="t-print"><a href="/index.php?title=QCA&amp;printable=yes" rel="alternate" title="Printable version of this page [p]" accesskey="p">Printable version</a></li><li id="t-permalink"><a href="/index.php?title=QCA&amp;oldid=377461" title="Permanent link to this revision of the page">Permanent link</a></li><li id="t-info"><a href="/index.php?title=QCA&amp;action=info" title="More information about this page">Page information</a></li>
<!-- /TOOLBOX -->

<!-- LANGUAGES -->

<!-- /LANGUAGES -->

<!-- 0 -->
						<li class="list-header">
							Personal tools						</li>

													<li id="pt-uls" class="active"><a href="#" class="uls-trigger autonym">English</a></li>													<li id="pt-anon_oauth_login"><a href="/Special:PhabricatorLogin/redirect">Login with Phabricator</a></li>											
<!-- /0 -->
						</ul>
					</div>
				</div>
				<!-- /panel -->
			</div>

		<!-- /content -->

		<!-- footer -->
		<div id="footerRow">
			<div class="navbar navbar-bottom Neverland" >
				<div class="navbar-inner">
					<div class="container">
																<ul id="footer-places" class="nav">
																							<li>
													<i class="icon-privacy icon-white"></i>
													<a href="/KDE_UserBase_Wiki:Privacy_policy" title="KDE UserBase Wiki:Privacy policy">Privacy policy</a>												</li>
																							<li>
													<i class="icon-about icon-white"></i>
													<a href="/KDE_UserBase_Wiki:About" title="KDE UserBase Wiki:About">About KDE UserBase Wiki</a>												</li>
																							<li>
													<i class="icon-disclaimer icon-white"></i>
													<a href="/KDE_UserBase_Wiki:General_disclaimer" title="KDE UserBase Wiki:General disclaimer">Disclaimers</a>												</li>
																					</ul>
									
						<ul class="nav pull-right">
							<li id="global-nav-links" class="dropdown dropdown-hover">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown" data-target="#global-nav-links">
									<i class="icon-list icon-white"></i>
									KDE Links
									<b class="caret-up"></b>
								</a>

								<ul id="global-nav" class="dropdown-menu bottom-up"></ul>
							</li>
						</ul>
					</div>
				</div>
			</div>

			<footer class="Neverland">
							</footer>
		</div>
		<!-- /footer -->

		<script>window.RLQ = window.RLQ || []; window.RLQ.push( function () {
mw.loader.state({"user":"ready","user.groups":"ready"});mw.loader.load(["mediawiki.toc","mediawiki.action.view.postEdit","site","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest","ext.uls.geoclient","ext.uls.pt"]);
} );</script>
<script>/*<![CDATA[*/window.RLQ = window.RLQ || []; window.RLQ.push( function () {
var i, s, a = [
	'https://1088045785.rsc.cdn77.org/js/bootstrap.js',
	'https://1088045785.rsc.cdn77.org/js/bootstrap-neverland.js',
	'https://1088045785.rsc.cdn77.org/nav/global-nav.js'
];
for ( i = 0; i < a.length; i++ ) {
	s = document.createElement( 'script' );
	s.src = a[i];
	document.getElementsByTagName( 'head' )[0].appendChild(s);
}
} );/*]]>*/</script>
<!-- Piwik -->
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(["trackPageView"]);
  _paq.push(["enableLinkTracking"]);

  (function() {
    var u = (("https:" == document.location.protocol) ? "https" : "http") + "://"+"stats.kde.org/";
    _paq.push(["setTrackerUrl", u+"piwik.php"]);
    _paq.push(["setSiteId", "23"]);
    var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
    g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Piwik Code -->

<!-- Piwik Image Tracker -->
<noscript><img src="https://stats.kde.org/piwik.php?idsite=23&rec=1" style="border:0" alt="" /></noscript>
<!-- End Piwik --><script>window.RLQ = window.RLQ || []; window.RLQ.push( function () {
mw.config.set({"wgBackendResponseTime":48});
} );</script>		
	</body>
</html>