Commit Graph

442 Commits

Author SHA1 Message Date
Matthieu Gautier 82cba79179 Do not make unnecessary copy when serving binary content.
Binary content do not need to be modified, so we don't need to copy it.
We can directly serve it from the internal zim (cluster) buffer.

The handle_content function now getArticleObjectByDecodedUrl instead of
getContentByDecodedUrl.

This is to get the mimetype of the article and copy the content only when
needed (getContentByDecodedUrl always copy the content).
Thus, handle_content is a bit more complex as it need to do some
manipulation previously made in getContentByDecodedUrl.

The main change is that if the content is binary, we serve the content
with a callback response who will get the content chunks directly from
the blob buffer.
2016-10-07 18:23:47 +02:00
Matthieu Gautier 657fc05225 Fix url of the fulltext index.
The fulltext index in the zim is at the url /Z/fulltextIndex/xapian.
We do not need to specifie the Z in the url as this is automatically add with the namespace.
2016-10-03 15:39:00 +02:00
Matthieu Gautier e526026407 Properly fail when creating XapianSearcher on a zim without embedded index.
The XapianSearcher creation must fail with a exception if we cannot open
the xapian database.
So, if we try to open a zim and there is no embedded index, we must fail.

We raise the custom exception NoXapianIndexInZim in this case.
2016-10-03 13:32:59 +02:00
kelson42 e3c2a13fa6 Add Reader::hasFulltextIndex 2016-10-02 18:29:08 +02:00
kelson42 39ad3313df Add Reader::urlExists 2016-10-02 17:16:39 +02:00
kelson42 c1b5eb42bf Fix a problem with 'name' metatag 2016-09-11 10:26:12 +02:00
kelson42 934a15a0b4 Fix kiwix-mange problem with relative paths 2016-09-04 21:43:26 +02:00
Kelson 1500cb8329 Implement ZIM reader getTags() and getName() 2016-09-04 20:41:10 +02:00
Kelson fc9f3a3a25 Implement ZIM reader getTags() and getName() 2016-09-04 19:59:22 +02:00
Matthieu Gautier 6074b5e557 Add support of embedded ft-index in zim for kiwix-serve and kiwix-search.
- kiwix-search will try the embedded ft-index if no indexPath is specified
  in the library.xml or command argument.
- kiwix-search also uses xapianSearcher and xapianSearcher needs zimlib,
  so add zimlib in compilation flag for searcher.
- kiwix-serve already depends on zimlib.
2016-08-11 17:50:25 +02:00
kelson42 d384131341 remove useless code 2016-07-04 21:31:11 +02:00
Chris Li 801e622644 add "eng" to stop word map + pragma mark in indexer.cpp + progress calculation 2016-07-04 21:10:03 +02:00
Chris Li 566a01ce7f optional progress callback + progress calculation fix 2016-07-04 20:59:57 +02:00
Kelson d5e5cd9340 Deal with new glass/single_file Xapian indexes 2016-06-20 23:35:13 +02:00
dattaz 8c443855c7 correction of double inclusion 2016-05-21 19:08:44 +02:00
Emmanuel Engelhart 009d08fe89 Simplify suggestion init 2015-08-22 15:42:21 +02:00
Emmanuel Engelhart a1486e05d3 Fix regression by suggestion search 2015-08-16 19:22:10 +02:00
Emmanuel Engelhart f3c4556431 Fix to get new getSuggestions() working on Android 2015-08-16 18:09:18 +02:00
Emmanuel Engelhart e829d7428d Better suggestion search 2015-08-16 17:18:29 +02:00
kelson42 7903458e38 Fix hardlinking in copyFile() 2015-04-09 14:26:11 +02:00
Kelson42 54d9445148 Update 2015-03-02 16:17:06 +01:00
Emmanuel Engelhart dc60455cd3 in copyFile() try to make a link if possible, copy the content otherwise 2015-02-21 16:56:38 +01:00
Emmanuel Engelhart b2c38ebfc2 update 2015-02-19 16:43:02 +01:00
Emmanuel Engelhart 999a5b07ae New version 2015-02-19 16:20:49 +01:00
Kelson42 78db06e127 Merge branch 'master' of ssh://git.code.sf.net/p/kiwix/kiwix
Conflicts:
	CHANGELOG
2015-01-08 12:55:53 +01:00
Kelson42 8287a64172 FIXED: kiwix-serve XSS attack vulnerability (#763) 2015-01-08 12:51:42 +01:00
Kelson42 45ad751d89 New function getMimeTypeByUrl() 2014-12-08 01:37:06 +01:00
Kelson42 d7fd4064ab FIXED: Buggy pagination in fulltext result page 2014-11-24 20:52:46 +01:00
Kelson42 4290eaf751 + Avoid to load the welcome page by loading random ones 2014-10-18 18:14:46 +02:00
Julian Harty 378c66e16c Revert "Re move ANDROID pragma. This is not useful anymore (libicu) is now included"
This reverts commit 8a458417aa612409b8da9a44b9015786c2063244.
2014-10-08 10:44:55 +01:00
kelson42 f6f49a63ce Re move ANDROID pragma. This is not useful anymore (libicu) is now included 2014-10-01 20:26:43 +02:00
Kelson42 49d13f09f1 + search filter addtionaly on language ISO code 2014-09-23 13:20:46 +02:00
Kelson42 bc161034c1 + Fix unstable fulltext library search 2014-09-20 16:05:19 +02:00
Kelson42 517a02b814 + fix taskbar CSS 2014-09-18 14:54:49 +02:00
Kelson42 4beccfbc0b + improve taskbar CSS 2014-09-18 14:50:11 +02:00
Kelson42 ec6c0b2ea3 + fix kiwix-serve taskbar css 2014-09-18 14:22:47 +02:00
Kelson42 f6dedb11b9 + fix tasbar css 2014-09-18 14:17:56 +02:00
Kelson42 436d57976e + improve kiwix-serve taskbar css 2014-09-18 14:08:36 +02:00
Kelson42 d8a924121b + more robus mimetype retrieving 2014-09-14 18:40:39 +02:00
kelson42 c1a8b4a206 + small optim 2014-08-31 19:27:23 -06:00
kelson42 45fccb2e38 + bool Manager::setBookIndex(const string id, const string path) 2014-08-30 10:37:52 -06:00
kelson42 baf8e37b4f Speedup mimetype detection in kiwix-serve 2014-08-29 19:10:01 -06:00
kelson42 f585bed1cb FIXED: kiwix-serve crash if unattended search "start" & "end" values 2014-08-28 13:36:58 -06:00
kelson42 518ce6635d + fix a few problem with the autocompletebox on kiwix-serve 2014-08-27 21:08:14 -06:00
kelson42 1cc94e1b95 + simplifaction of the code = cleaning 2014-08-27 17:13:29 -06:00
kelson42 a353513c9c NEW: Improve file size display in kiwix-serve 2014-08-27 13:22:34 -06:00
Kelson42 86ef9800cc + new smaller version 2014-07-28 13:38:54 +02:00
kelson42 beae77db89 Avoid kiwix-serve taskbar jquery dependencies to conflict with potential other version (in the ZIM file) 2014-07-20 22:06:52 +02:00
kelson42 d6d7274b0f + Fix code in ZIM reader class breaking DOM integrity 2014-07-19 19:29:51 +02:00
kelson42 17724fe70b + fix Doctype HTML line (was breaking Opera output) 2014-07-09 21:11:34 +02:00
Cristian Patrasciuc 5a695963d5 Port networkTools.cpp to Mac OS X.
On Mac OS X the ioctl(SIOCGIFCONF) call will return all IPv4, IPv6
and MAC addresses, so we have to filter only the ones that have
sa_family equal to AF_INET.

I also added the common interface names for Mac OS X (en0 and en1),
to the getBestPublicIp() function. I refactored a bit the code so
that addition and reordering are easier.

Bugs: https://sourceforge.net/p/kiwix/bugs/658/
2014-06-17 17:46:54 +02:00
renaud gaudin 1b192c2557 Added 10.0.0.0 private network scheme 2014-05-31 13:53:46 +00:00
Shivam a37fd98585 Updated resourceTools.h to reflect moved toolbar css file (not sure if necessary) 2014-05-25 18:10:44 -04:00
Shivam b341b9654d Added a random article button for server mode 2014-05-25 12:25:13 -04:00
kelson42 0411b0988c + update license header 2014-05-22 19:08:10 +02:00
kelson42 e885cc342a + Avoid buffer overflow on linux 2014-05-22 19:05:42 +02:00
Kelson42 f69edcf9c0 + fix fileExists() for Windows 2014-05-19 23:55:56 +02:00
Kelson42 b3c352f71a + use _strdup on Windows 2014-05-16 15:06:06 +02:00
Kelson42 1faca99274 Merge branch 'master' of ssh://git.code.sf.net/p/kiwix/kiwix 2014-05-16 14:40:36 +02:00
Kelson42 2c530906c5 + XR29 port for Windows 2014-05-16 14:39:50 +02:00
rgaudin 38108f064e moved loadICUExternalTables code to stringTools so it can be used by kiwix-serve 2014-05-16 01:19:27 +00:00
Kelson42 c3ae9d06b1 + Windows fix 2014-05-14 18:43:49 +02:00
Kelson42 1209e27e8c + Fix path computation functions for Windows 2014-05-14 18:33:11 +02:00
rgaudin 9b32647fa4 Added ICU external dat table support for components (req. check for binaries) 2014-05-08 20:22:23 +00:00
rgaudin 8c574270cf merged with master on zimAccessor/VMStringLoader/configure.ac 2014-05-06 08:40:19 +00:00
kelson42 587b76bf6d + Fix deal with relative urls 2014-05-07 17:33:38 +02:00
kelson42 005b75f7ab + Introduction of base url in kiwix-serve (to handle relative urls in ZIM files) 2014-05-07 16:08:43 +02:00
rgaudin f1dc03d5aa removed duplicate type declaration on OSX (needed by c++11) 2014-05-06 08:09:25 +00:00
kelson42 4e05d0dea6 Change CTPP2 #include paths (add 'ctpp2/') 2014-05-05 14:14:11 +02:00
rgaudin 26b2e504f3 fixed includes for CTPP2 2014-05-04 20:11:48 +00:00
Kelson42 8573f9eda0 make kiwix::urlDecode() available for Android 2014-05-04 14:41:48 +02:00
kelson42 9a5e6d70d6 + Change license header 2014-05-03 18:00:54 +02:00
kelson42 1c2a03e287 + getContentByEncodedUrl() and getContentByDecodedUrl() 2014-04-29 17:42:46 +02:00
kelson42 8397c81e6f * merge unescapeurl() with the kiwix:urlDecode()
* create getContentByDecodedUrl() and getContentByEncodedUrl()
2014-04-29 17:41:52 +02:00
kelson42 5e974f67c6 + merge Reader::unescapeUrl() and Kiwix::urlDecode() 2014-04-29 17:40:12 +02:00
kelson42 3265de1579 + Use now kiwix::sleep(0 2014-04-02 17:04:19 +02:00
kelson42 69684009e3 + Add necessary header includes 2014-04-02 17:03:53 +02:00
kelson42 aeaede3834 + add kiwix::sleep() method 2014-04-02 16:55:35 +02:00
kelson42 ae390de24b + Stub class to store custom generic varia functions 2014-04-02 16:43:56 +02:00
kelson42 71082cf581 + Add indexer destructor (to avoid compilation warning with "non-virtual destructor") 2014-04-02 16:38:15 +02:00
kelson42 84b8a86c3e Try to fix some problem with unicode path loading on windows 2014-01-06 03:27:03 +01:00
kelson42 fc6254090a + remove clucene source files 2013-12-16 15:22:21 +01:00
kelson42 840442fccd + remove debug messages 2013-12-16 13:33:29 +01:00
renaud gaudin 6ed0acfde4 Merge branch 'master' into extern_zimlib 2013-12-09 12:07:38 +00:00
renaud gaudin fd9c9ac17e catching up with master 2013-12-09 12:02:58 +00:00
rgaudin fcf84811c6 Fixed extern compile (static) on linux and removed Clucene dependency 2013-12-09 10:51:06 +00:00
Kelson42 bf4381d4f4 Remove usage of UnicodeString.tempSubString() which is only available in recent versions of ICU 2013-11-24 13:22:05 +01:00
renaud gaudin 8bb7c040b1 Fixed CTPP2 loader to use resource instead of file 2013-11-14 18:50:26 +00:00
renaud gaudin 2a8d7fde56 Fixed CTPP2 not working
* Fixed templates
* Changed behavior of getHtml() to use higher level VM API
2013-11-13 19:58:56 +00:00
kelson42 ad20fde08f + android integrates now libicu 2013-11-12 02:03:34 +01:00
kelson42 39fa510af5 + improve suggestions search, search also entitled words 2013-11-10 17:54:11 +01:00
kelson42 987d6f672f + take care the nore than maxsuggestions is delivered 2013-11-10 17:42:52 +01:00
kelson42 2ad238f095 + fix kiwix:ucFirst and kiwix:lcFirst 2013-11-05 12:08:43 +01:00
kelson42 835388daf9 cleaner unescapeUrl() 2013-10-07 13:10:37 +02:00
kelson42 48fa26028f + fix small regression in the unescape_url() code 2013-10-06 20:58:20 +02:00
kelson42 696cfc90c3 + small beautifying of the code 2013-09-22 16:56:16 +02:00
kelson42 0bab890203 + fix small regression 2013-09-22 13:17:11 +02:00
kelson42 c9d1f562ff + fix a few typo/style stuff 2013-09-22 13:11:19 +02:00
Kiran Mathew Koshy 1299c4c264 wix::Manager::getBooksIDs() now returns diff files too. 2013-09-22 15:09:23 +05:30
Kiran Mathew Koshy 14a4394f6d Permanant fix for bug651.
Kiwix manager class is back to original state, additional function for obtaining origID has been added to Kiwix::Reader class.
Kiwix-manage and Kiwix-serve back to normal.
2013-09-20 18:35:20 +05:30