El RIDO
685c354d0e
several changes:
...
- added tests for all 4 cases: output to string or into element vs first param contains link or not
- cleaned up logic - skip HTML entity encoding only if we can ensure insertion to text node / when output to string, we always encode
- DOMpurify sanitizes gopher, ws & wss links, which we previosly had tested for
2020-01-18 10:44:35 +01:00
El RIDO
fa9d3037ba
fixing logic & indentation
2020-01-18 07:44:32 +01:00
El RIDO
7b87dc3ca9
cleanup revert
2020-01-18 07:36:43 +01:00
El RIDO
0d08edbe55
Revert "getting rid of htmlEntities (except for tests)" a0740ff79f
2020-01-18 07:30:01 +01:00
El RIDO
cec5cb41d7
Partial revert "Do not double-encode HTML in i18n", only revert the removal of required encoding logic - still has to be moved
...
This reverts commit 01414e43ca
.
2020-01-18 07:20:05 +01:00
El RIDO
76eff6a87a
Revert "[TEST] Try to disallow vulnerable cases" to remove accidentally committed file and statement that breaks the tests
...
This reverts commit ebc2d649c4
.
2020-01-18 07:12:03 +01:00
rugk
eb549d70d1
Invert conatainsLink logic
2020-01-15 17:52:51 +01:00
rugk
ebc2d649c4
[TEST] Try to disallow vulnerable cases
2020-01-13 19:56:15 +01:00
rugk
01414e43ca
Do not double-encode HTML in i18n
...
This issue got introduced in 4bf7f86
due to double
Fixes https://github.com/PrivateBin/PrivateBin/issues/557
Fixes https://github.com/PrivateBin/PrivateBin/issues/558
Also _inverted_ the logic/variable name for containsNoLinks to
the more logical one "containsLinks" to avoid too many negations.
Also verified that the attachment name is stil properly displayed
when you clone a paste.
2020-01-13 19:17:30 +01:00
El RIDO
599264e167
partially address #556 - now comments can only be added after successfull decryption
2020-01-08 19:48:42 +01:00
El RIDO
ed590ee557
incrementing version
2020-01-08 19:31:06 +01:00
El RIDO
ef8943d838
upgrading base-x library to 3.0.7
2020-01-07 20:11:12 +01:00
El RIDO
2fd649db14
upgrading showdown to released 1.9.1 version
2020-01-07 19:58:05 +01:00
El RIDO
a9bf667f8e
address error, displayed when paste has attachment, but configuration has them disabled
2020-01-04 13:33:03 +01:00
El RIDO
4bf7f863dc
more general solution addressing #554 , kudos @rugk for the suggestions
2020-01-04 13:14:53 +01:00
El RIDO
8d0ac336d2
addressing jsverifyRngState 8b8f0d4ec2a67139b5, fixes HTML injection via filename, closes #554
2019-12-25 09:14:32 +01:00
Haocen Xu
87cf61c39b
Update SRI
2019-11-21 17:49:21 -05:00
El RIDO
af8d963fd2
updating DOMpurify library, fixes #523
2019-11-02 17:31:45 +01:00
El RIDO
8cf0c86ebb
simplify case statement, update documentation
2019-11-02 17:18:22 +01:00
Haocen Xu
7d7ff34d83
Update SRI
2019-10-31 15:07:24 -04:00
Haocen Xu
e079f6c830
Implement Email button
2019-10-31 15:07:13 -04:00
Haocen Xu
6fc4303acc
Update SRI
2019-10-25 13:09:07 -04: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
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
bf0be09f09
removing old IE warning, as it is ignored by IE. The modern warning does get displayed, so let's use this more generic warning instead.
2019-09-19 20:01:10 +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
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
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
5877111ccb
Update SRI
2019-08-25 12:03:37 -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
b912c07cd1
Update SRI
2019-08-25 02:17:29 -04: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
El RIDO
d317cfbcc0
update SRI hashes
2019-08-21 07:17:24 +02:00
Haocen Xu
2eed7a8a1c
Update SRI
...
Remove dejavu
2019-08-17 15:39:13 -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
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
El RIDO
84827e19c3
Merge branch '479' of https://github.com/Haocen/PrivateBin-Contribute into Haocen-479
2019-08-17 08:42:25 +02:00
Haocen Xu
6ac425d468
Fix incorrect style on button
2019-08-15 14:58:27 -04: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
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
Haocen Xu
cb877e4494
447, Rework UX to address obscured send button and hard to click
...
shortener button
2019-08-13 19:21:26 -04: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
2cbf528894
fixing failing unit tests in travisCI
2019-06-27 21:18:46 +02:00
El RIDO
11375a4f59
moved referrer policy from CSP & meta to proper HTTP header to avoid browser console error message about unknown CSP header and to ensure it always applies before HTML is parsed, fixes #196
2019-06-27 20:31:10 +02:00
El RIDO
67b9b5f0d8
correcting old browser detection logic, fixes #446
2019-06-27 20:11:22 +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
5a1adea050
Merge branch 'patch-1' of https://github.com/brunob/PrivateBin into brunob-patch-1
2019-06-23 11:39:55 +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
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
El RIDO
57bd65225d
added new translation strings, moved URLs out of translations as they are static and it makes translation more compact
2019-06-22 07:52:18 +02:00
El RIDO
58fa7c987d
password modal is used in all flavors of the bootstrap theme
2019-06-22 07:50:25 +02:00
rugk
e5974d4663
Prefer isSecureContext if available
2019-06-21 19:48:16 +02:00
rugk
a1b1efeae2
Adjust messages
2019-06-21 19:03:45 +02:00
b_b
59dc413829
Fix #443
...
fix expiration/formater dropdown with bootstrap-compact template
2019-06-21 17:21:40 +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
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
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
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
3b0ab7e99f
fixing regression handling v1 key format (un-decoded base64)
2019-05-19 08:36:18 +02:00
El RIDO
6f480bf014
Merge branch 'master' into webcrypto, implementing base58, fixes #377
2019-05-15 21:20:54 +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
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
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
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
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
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
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
e64eaf45ee
Merge branch 'master' into webcrypto
2018-12-17 21:34:15 +01:00
rugk
ac9eac5ed6
Ask google not to translate the page
...
We already have i18n. Furthermore, Google may analyse sensitive content for
the purpose of recognising whether the page needs to be translated, see
https://support.google.com/webmasters/answer/79812?hl=en
Ref https://github.com/threema-ch/threema-web/pull/681
2018-11-21 23:32:06 +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
El RIDO
c0d3b9062b
updating SRI hashes
2018-10-20 08:40:48 +02:00
El RIDO
bc0fb5b91e
Merge branch 'master' into webcrypto
2018-10-02 20:43:40 +02:00
Benjamin Neff
538462f134
Fix download-link color in dark boostrap themes
...
This makes the "Download attachment" link white in bootstrap-dark and
boostrap-dark-page. This is an upstream bug of darkstrap, but it's not
maintained anymore.
2018-10-02 02:06:44 +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
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
El RIDO
8db98becb7
upgrading DOMpurify library
2018-08-11 19:45:57 +02:00
El RIDO
b5ebc4a3d7
incrementing version
2018-08-11 19:29:58 +02:00
El RIDO
10201dc463
expanded unit tests to cover mega links, reverted regex to old one, but fixed to cover mega links, just to prove it works
2018-08-11 07:33:33 +02:00
El RIDO
c468b74b9b
Merge branch 'master' into linkregex
2018-08-11 06:56:02 +02:00
El RIDO
c4fc7edc43
replacing Base64.js with browser built in's, except for legacy paste support
2018-08-05 08:56:03 +02:00
El RIDO
6f25d651b7
switching to client side libraries for key generation, remove legacy browser support
2018-08-04 22:30:01 +02:00
El RIDO
c9a3bb08ee
remove dead code
2018-08-04 17:49:08 +02:00
El RIDO
4f332b7719
revert legacy browser support, dropped in favour of webcrypto API
2018-08-04 17:25:59 +02:00
El RIDO
0319a16b15
support older browsers correctly and ensure the paranoia setting for the sjcl.random.isReady call matches paranoia level 10 instead of the default 6
2018-08-04 13:25:31 +02:00
El RIDO
1be1047a94
while we do start the collection of randomness even before initializing our logic, raising the 'paranoia' parameter to 10 ensures that in legacy browsers not yet supporting the webcrypto API we would get an exception, instead of a weak key
2018-08-01 21:56:23 +02:00
El RIDO
e2c04e13e8
fixing doc block for jsdoc
2018-07-22 10:24:39 +02:00
El RIDO
3fecd0f2ce
correct page template & password prompt/modal, fixes #341 , remove JS map reference leading to unnecessary load error
2018-07-21 06:44:04 +00:00