Commit Graph

614 Commits

Author SHA1 Message Date
El RIDO 8cf0c86ebb
simplify case statement, update documentation 2019-11-02 17:18:22 +01:00
El RIDO b23fd48d49
Merge branch 'master' of https://github.com/AndriiZ/PrivateBin into AndriiZ-master 2019-11-02 17:11:05 +01:00
Haocen Xu e079f6c830
Implement Email button 2019-10-31 15:07:13 -04:00
Haocen Xu 63fdd2eba3
Fix missing semi colon 2019-10-30 14:04:10 -04:00
Haocen Xu 56222d6cfb
Bugfix when password is disabled in config no new paste can be
created
2019-10-25 13:05:09 -04:00
Andriy Zhuk 65b7077756 Added plural rules for ukrainian 2019-10-18 12:31:40 +03:00
El RIDO 71797d1dd4
changes required for jsdoc, adding legacy.js to code coverage 2019-09-22 21:18:19 +02:00
El RIDO 2d4edfe401
incrementing version number in preparation of release 2019-09-22 19:42:04 +02:00
El RIDO e9eeeacdf0
addressing jsverifyRngState 0f5ea3f961827b0c4d 2019-09-19 20:48:05 +02:00
El RIDO 8da382f7c6
Merge branch 'master' into better-feature-detection 2019-09-19 20:19:35 +02:00
El RIDO 28d70a1b18
upgrading DOMpurify, fixes #520 2019-09-19 20:13:47 +02:00
El RIDO 955317d924
make codacy a bit happier 2019-09-19 19:47:19 +02:00
El RIDO 7c61f59dcd
removing untranslated string for non-human entities, moving insecure notice to template, so it can remains translated 2019-09-19 19:14:48 +02:00
El RIDO 70c38db81d
adding ES6 and async feature detection to correctly flag old chromes and operas with the modern browser error 2019-09-18 07:47:26 +02:00
El RIDO 4332d0edb0
making legacy.js work even on IE 6 by avoiding jQuery 2019-09-18 07:31:32 +02:00
El RIDO 5810f17c31
fixing HTTP only error detection in Chrome and Android by ensuring all logic is contained in legacy.js 2019-09-17 21:41:25 +02:00
El RIDO 1a42158dd1
address Codacy's concern about missing semicolons 2019-09-14 09:53:22 +02:00
El RIDO 713ce148a4
address Codacy's concern that i is already defined 2019-09-14 09:50:47 +02:00
El RIDO 63426d6f8b
splitting out PrivateBin.InitialCheck class into Legacy.Check and working on making it compatible with IE 11 2019-09-14 09:41:52 +02:00
El RIDO c2962af4f8
trying different approach to convince codacy about false positive 2019-09-08 09:08:21 +02:00
El RIDO b1c9ca65fa
trying to address eslint false positives 2019-09-08 08:39:28 +02:00
El RIDO 5471757fa7
making webassembly optional, ensuring retry button works when wrong password is provided
Tested configurations:
- browser with WASM support (Firefox 68.0.2)
  - creates paste with zlib compression, no password
  - creates paste with zlib compression, with password
  - reads paste with zlib compression, no password
  - reads paste with zlib compression, with password + retry button works
  - reads paste without compression, no password
  - reads paste without compression, with password + retry button works
- browser without WASM support (Chromium 76.0.3809.100, started via `chromium-browser --js-flags=--noexpose_wasm`)
  - creates paste without compression, no password, but shows WASM warning
  - creates paste without compression, with password, but shows WASM warning
  - fails to read paste with zlib compression, no password + shows WASM error
  - fails to read paste with zlib compression, with password + shows WASM error
  - reads paste without compression, no password
  - reads paste without compression, with password + retry button works
2019-09-08 08:21:54 +02:00
El RIDO 813e72d871
don't encode HTML entities in translations if they contain links 2019-08-28 20:37:14 +02:00
El RIDO c56d777c11
fixing logic when there are no icons and warning icons, add more test cases 2019-08-28 20:29:23 +02:00
El RIDO 7f65fe9218
fixing conflicting icons when using error message div for warnings in bootstrap template 2019-08-28 19:25:11 +02:00
El RIDO ad570c391a
extend Alert class unit testing 2019-08-28 19:23:58 +02:00
El RIDO a6aef109cc
making feature detection work as intended in chrome 2019-08-27 23:16:06 +02:00
El RIDO 6fcd82fb85
making the feature detection more robust, let users with no WASM create uncompressed pastes, remove dead & duplicate code 2019-08-27 07:38:27 +02:00
Haocen Xu 00b886c492
Refactor attachment editable logic to avoid undesired assumption 2019-08-25 12:00:59 -04:00
El RIDO ad096b80a1
refactoring logic, to make intention more clear and reduce complexity 2019-08-25 17:24:22 +02:00
Haocen Xu ab75b183fb
Fix click on new paste on clone paste editing view not removing custom
attachment

Fix cloning paste with attachment

Update CSP in sample and default configuration

Ensure clone paste also clone format

Fix clone button hiding logic when paste is burn after read

Remove attachment name when new paste clicked on

Enable file operation only when editing
2019-08-25 02:16:58 -04:00
El RIDO 121b1e75d2
remove debug statement, fixes #462 2019-08-24 08:42:33 +02:00
Haocen Xu 2eed7a8a1c
Update SRI
Remove dejavu
2019-08-17 15:39:13 -04:00
Haocen Xu 078b8d8fd6
Clear attachment if user cancel file select 2019-08-17 15:14:40 -04:00
Haocen Xu 3a9730f883
Improve file upload UX
Fix incorrect highlight logic

Fix transition on fileupload highlight

Handle drag leave

Fix draghover

Minor style improvements
2019-08-17 15:13:58 -04:00
El RIDO 30ddcacca6
fixing unit tests 2019-08-17 10:20:46 +02:00
El RIDO e7fab8439d
documenting showdown fix and incrementing library version to circumvent browser caching 2019-08-17 10:04:54 +02:00
El RIDO f22449ffd1
Merge branch 'fix-showdown' of https://github.com/macropin/PrivateBin into macropin 2019-08-17 09:59:44 +02:00
Andrew Cutler 49b358b1ee patch showdown.js to allow 100 nested spans. Ref https://github.com/PrivateBin/PrivateBin/issues/485 2019-08-15 13:41:41 +10:00
Haocen Xu 71931b0f18
Clear discussion if new/clone paste clicked 2019-08-14 20:40:50 -04:00
Haocen Xu 1af7b536a5
Fix an edge case where we cannot find any shortUrl 2019-08-14 00:06:51 -04:00
Haocen Xu a5cd8696e6
Ensure shortener button re-enable after creating new paste 2019-08-13 21:55:35 -04:00
Haocen Xu cd5ede5670
Enhance URL shortener integration, clear address bar when create new paste from existing paste 2019-08-13 21:44:53 -04:00
El RIDO d63a0d10d3
fixing npm package version number 2019-07-27 08:11:29 +02:00
El RIDO b0d1a3949e
add bulgarian to the supported languages 2019-07-11 16:50:32 +02:00
El RIDO 07018e5876
incrementing version number in preparation of release 2019-07-08 18:35:34 +02:00
El RIDO c707c87cac
addressing rngState 0ef2c5e06719a8b43d 2019-06-27 21:37:40 +02:00
El RIDO 2cbf528894
fixing failing unit tests in travisCI 2019-06-27 21:18:46 +02:00
El RIDO 67b9b5f0d8
correcting old browser detection logic, fixes #446 2019-06-27 20:11:22 +02:00
El RIDO fdc532b3c1
simplify npm install instructions 2019-06-24 07:41:12 +02:00
El RIDO ddb1c550f5
remove alerts when missing showdown & prettify libraries, if the are missing it is intentionally done in the configuration, fixes #237 2019-06-23 19:55:25 +02:00
El RIDO c2e060d464
made compression configurable, fixes #38 2019-06-23 19:45:40 +02:00
El RIDO 47944ba3b1
updating DOMpurify to 1.0.11, fixes #442 2019-06-23 12:15:36 +02:00
El RIDO 8dc9db90c9
added translation for Czech, provided by @info-path, fixes #424 2019-06-23 12:06:36 +02:00
El RIDO 40493dfb3a
simplify logic, adding test cases for all combinations of URLs that are regarded as secure context 2019-06-23 10:38:08 +02:00
El RIDO 61fde53de0
adding IPv6 localhost to exceptions 2019-06-23 09:56:18 +02:00
El RIDO dc193f7555
Revert "removing exceptions - in these cases server admins can opt to disable the warning message in the configuration"
This reverts commit d0365faf76.
2019-06-23 09:54:48 +02:00
El RIDO d9f27fb004
avoid instability of tests due to Alert callback testing, which can prevent notifications from getting displayed 2019-06-23 09:39:21 +02:00
El RIDO 603f7fd911
adding tests for all cases 2019-06-22 15:44:54 +02:00
El RIDO 59153633b8
adding test for bot UAs 2019-06-22 09:12:31 +02:00
El RIDO d0365faf76
removing exceptions - in these cases server admins can opt to disable the warning message in the configuration 2019-06-22 08:39:46 +02:00
rugk e5974d4663
Prefer isSecureContext if available 2019-06-21 19:48:16 +02:00
El RIDO 50cc6995e0
making use of the URL object in the existing tests 2019-06-20 22:30:49 +02:00
El RIDO 1958a55651
adding new dev dependency to support the URL object 2019-06-20 21:38:29 +02:00
El RIDO 77419ec2c1
Merge branch 'master' into httpinsecure 2019-06-20 21:01:00 +02:00
El RIDO b1be74a56f
support processing of Error types in notifications, adresses #441 2019-06-18 19:45:52 +02:00
El RIDO 42c2003220
made notice configurable, fixing a few CSS glitches 2019-06-17 21:40:37 +02:00
El RIDO a67c9ab129
reworded the message, added the missing translation strings 2019-06-17 21:18:30 +02:00
El RIDO fc914b4b84
moved bad bot check into InitialCheck, changed old ie notice into generic update warning, when unsupported user agent is detected and made the other IE alert show in all versions as it is now entirely unsupported 2019-06-17 21:09:21 +02:00
El RIDO 748b85e025
Merge branch master into httpinsecure 2019-06-17 19:51:33 +02:00
El RIDO 8515c9d223
upgrading DOMpurify library 2019-06-16 10:23:14 +02:00
El RIDO 8a69411d50
upgrading showdown library 2019-06-16 10:19:44 +02:00
El RIDO 49e118a8b3
updated kjua library 2019-06-16 10:13:53 +02:00
El RIDO 3259cabfb3
revert bootstraps JS to 3.3.7 as 3.4.1 breaks the navbar toggle 2019-06-16 10:06:01 +02:00
El RIDO b527bc6208
upgrade jQuery library 2019-06-16 09:30:59 +02:00
El RIDO 0a88b3043c
upgrading bootstrap CSS 2019-06-16 09:27:11 +02:00
El RIDO b4ceb4078d
removed obsolete code and comments, tested with a PDF of 9 MiB and it works fine in Firefox and Chrome 2019-06-15 09:47:55 +02:00
El RIDO 451a4817c4
replace data-URL method usage with blob-URL one 2019-06-15 09:35:26 +02:00
El RIDO 6cf52f4cf3
mocking window.URL.createObjectURL to have tests working with blob URLs 2019-06-15 08:56:47 +02:00
R4SAS abd71413c3 Store Blob URL in variable 2019-06-12 06:29:36 +03:00
R4SAS d3f9670bc2 Remove data length detection, because we work with URL 2019-06-12 06:05:55 +03:00
R4SAS dcbefcc1c3 Use blob for previews 2019-06-12 05:29:19 +03:00
R4SAS ff6b9bd8f9 Use blob URI for saving attachments (#432) 2019-06-12 04:37:17 +03:00
El RIDO a459c4692c
correcting API use, avoid history glitch 2019-06-01 23:49:40 +02:00
El RIDO ebbb850b27
clone array instead of passing the reference, adresses #436 2019-05-31 07:05:40 +02:00
El RIDO c4b84b2b6b
extract version logic into paste & comment classes 2019-05-25 13:20:39 +02:00
El RIDO d73c68ad85
insert Paste class to wrap the data, to be able to extend the paste with getters and format version handling 2019-05-25 10:10:59 +02:00
El RIDO b44e729a1a
fixing display of version 1 pastes without attachments 2019-05-19 13:31:17 +02:00
El RIDO 353d08daf6
handle regression due to base58 stripping NULL bytes, discovered via JSVerify RNG state 0dec6b2a5f04d19873 2019-05-19 09:54:40 +02:00
El RIDO 8fd3e680e4
base58 will left trim NULL bytes, handling JSVerify RNG state 0dec6b2a5f04d19873 2019-05-19 09:05:56 +02:00
El RIDO 86b4e0e7a4
revert autoformatting applied by IDE 2019-05-19 08:43:07 +02:00
El RIDO 3b0ab7e99f
fixing regression handling v1 key format (un-decoded base64) 2019-05-19 08:36:18 +02:00
El RIDO 0e71211fad
v2 paste can successfully en- and decrypt the particular message, fixes #260 2019-05-19 08:25:34 +02:00
El RIDO 7111e38898
Merge branch 'empty-paste' into webcrypto 2019-05-19 07:52:37 +02:00
El RIDO 6f480bf014
Merge branch 'master' into webcrypto, implementing base58, fixes #377 2019-05-15 21:20:54 +02:00
El RIDO 5779d87788
integrating compression test case that failed in rawdeflate in webcrypto + zlib testing, proving this fixes #328 2019-05-15 18:56:42 +02:00
El RIDO e77eb1de13
Merge branch 'truncation' into webcrypto 2019-05-15 18:44:26 +02:00
El RIDO 09162a3c57
fix display of v2 pastes in JS, fixing parsing of comments in PHP, avoid exposing expiration date (we provide time_to_live, would allow calculation of creation date of paste) 2019-05-15 07:44:03 +02:00
El RIDO cc1c55129f
switching to full JSON API without POST array use, ensure all JSON operations are done with error detection 2019-05-13 22:31:52 +02:00
El RIDO dfb16ea61d
switching to JS code coverage nyc, maintained fork of istanbul 2019-05-11 20:51:18 +02:00
El RIDO 50af37507f
fixing v2 TTL 2019-05-11 10:46:30 +02:00
El RIDO 788ea67b49
fixing server interaction in JS, simple pastes now work 2019-05-11 10:39:42 +02:00
El RIDO 5b3286df4d
making zlib usable in browsers 2019-05-11 10:38:14 +02:00
El RIDO 0f42bd818f
quiescing JS unit tests 2019-05-10 21:01:34 +02:00
El RIDO 54d21a7803
making base-x compatible with node & browser 2019-05-08 19:00:22 +02:00
Harald Leithner 4aab3c0061 Encode key as base58 2019-05-08 15:25:42 +02:00
El RIDO ed676acac3
breaking all the things (by replacing v1 with v2 formats) 2019-05-03 20:51:01 +02:00
El RIDO 5652a43d1d
adding js test to generate v2 example pastes to be used in the development of the server side logic, adding one of these into the helper class of the php tests 2019-04-16 07:45:04 +02:00
rugk ba3efefc7b Add warning for insecure HTTP 2019-02-13 11:59:07 +01:00
El RIDO e418b083e8
Merge branch 'master' into webcrypto 2019-01-22 20:11:42 +01:00
rugk c2a46b7af7
Make JS function more robust 2019-01-22 00:07:28 +01:00
El RIDO 79a858f176
extracting only the 16 hex characters of the query string as paste ID, addressing #396 2019-01-20 12:20:37 +01:00
El RIDO cc53d95ed1
extending test cases to reproduce the issue from #396, causing the existing logic to now fail the tests 2019-01-20 11:05:34 +01:00
El RIDO 0ee86f33da
key in version 2 is raw value instead of base64 (which reduces its complexity), made PasteDecryptor support both versions of the format, refactoring method names, replacing var by let / const, reducing zlib compression level from 9 to 7 to half the time spent on compression 2018-12-29 18:40:59 +01:00
El RIDO be69e4a50f
simplify password catenation in version 2, to avoid potential key derivation weakening 2018-12-28 05:49:34 +01:00
El RIDO 0ad5b3e900
implement zlib via web assembly, replacing rawdeflate library 2018-12-27 21:32:13 +01:00
El RIDO 5ce3aa2817
increase PBKDF2 iterations further, as suggested in #350 2018-12-25 20:19:57 +01:00
El RIDO 210870590c
improving cleanup between tests in order to combat the frequent test failures seen recently 2018-12-25 20:16:41 +01:00
El RIDO 0ab06e34ec
initial refactoring for support of version 2 paste format, some cleanup on the side 2018-12-25 17:34:39 +01:00
El RIDO f3165f0cab
suppress current jsDOMs errors 2018-12-25 17:17:49 +01:00
El RIDO 70007285bf
remove console suppression, fixing I18n mock 2018-12-25 16:42:18 +01:00
El RIDO 4edbb66c91
re-add CreationTime, still used in comment 2018-12-24 08:20:39 +01:00
El RIDO 3883e3fb30
adjusting test to make it work in latest jsDOM versions that don't support arbitrary bytes in a URLs hash anymore 2018-12-24 08:19:58 +01:00
El RIDO 9348cbe2a1
address security concerns reg. paste creation date by removing it in the API, keep comment creation date exposed, displayed in discussion - resolves #390 2018-12-23 20:10:24 +01:00
El RIDO 2bb3df5bee
adressing rngStates 013286cb47a0f51d9e & 83975e102a4db8f3c6 that frequently fail in latest jsDOM env, showing URL hashes can't contain certain unicode sequences after all 2018-12-18 06:04:17 +01:00
El RIDO 1de57c874e
reduce duplication in format 2018-12-17 21:42:49 +01:00
El RIDO c15351b793
designing v2 paste & comment format 2018-12-17 19:43:16 +01:00
El RIDO 5b00f4ead7
further code deduplication 2018-10-20 23:08:13 +02:00
El RIDO 4c3fb3fe63
reduce code duplication 2018-10-20 22:34:36 +02:00
El RIDO 717e5b0e57
addressing issues found by codacy 2018-10-20 22:05:35 +02:00
El RIDO 0f76b9066d
remove SJCL library 2018-10-20 19:53:21 +02:00
El RIDO 2d7996570e
typos, documentation 2018-10-20 17:57:21 +02:00
El RIDO 2929d5c17a
fixing async comment nicknames 2018-10-20 13:54:17 +02:00
El RIDO a08fed1add
ensure promises can be collected 2018-10-20 12:40:08 +02:00
El RIDO 35045bb69a
improving error handling 2018-10-20 11:40:37 +02:00
El RIDO 100d955e1a
address decryptComments() async compatibility 2018-10-20 10:20:32 +02:00
El RIDO ff8ec5a1a0
address decryptOrPromptPassword(), decryptPaste() and decryptAttachment() async compatibility 2018-10-20 09:56:05 +02:00
rugk 17131f3172
Add verys important return to ensure Promise chain works 2018-10-08 21:04:13 +02:00
rugk 746debf586
Adjust functions using Uploader.setData to handle promises 2018-10-08 21:03:10 +02:00
rugk 94a352e7f5
Fix eslint config and issues
Note EcmaScript 2017 looks recent amd also is, e.g. we loose suport for IE and we loose support for some Android browsers, also Android <5 built-in browser.
2018-10-08 20:36:50 +02:00
El RIDO 762386efd7
reverting to promises, since done can cause timeouts, indicating that the async execution can be really slow 2018-09-02 12:12:55 +02:00
El RIDO f3eaee206c
using done() instead of promise, to enforce mocha to wait on the tests 2018-09-02 11:52:57 +02:00
El RIDO 176264f135
making tests use promises instead of async 2018-09-02 11:49:55 +02:00
El RIDO b791157717
fix unit tests after merge from master, issues due to newly async tests that cause environment changes across test scripts 2018-09-02 11:33:27 +02:00
El RIDO b191e2c437
Merge remote-tracking branch 'origin/master' into webcrypto 2018-09-02 10:07:57 +02:00
El RIDO 8b71cb0b2f
properly escaping HTML in raw text mode, fixes #358 2018-09-02 09:14:36 +02:00
El RIDO 30b7be0781
async test, finding error for rngState 00b15fc0a8247e693d, due to failure in decompressing 2018-09-01 22:55:52 +02:00
El RIDO b97ac08003
improving tests, correcting cipher 2018-09-01 22:22:10 +02:00
El RIDO 0dbbb61d11
implementing web crypto API for encryption 2018-09-01 19:42:22 +02:00
El RIDO bd6888687f
Merge branch 'master' into webcrypto 2018-08-14 06:59:47 +02:00