Commit graph

351 commits

Author SHA1 Message Date
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
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
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
b527bc6208
upgrade jQuery library 2019-06-16 09:30:59 +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
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
rugk
4f17dde5ee
Merge branch 'master' of https://github.com/PrivateBin/PrivateBin 2018-07-01 20:23:17 +02:00
rugk
c1ab1dd8c5
Enable auto-linking in Markdown
This get's feature-completition to plain-text auto-linking.
Fixes https://github.com/PrivateBin/PrivateBin/issues/336
2018-07-01 20:22:42 +02:00
El RIDO
17a468a4e5
updating prettify library to 453bd5f 2018-07-01 19:17:05 +02:00
rugk
119c3931cc
Try new RegEx for creating links 2018-07-01 15:13:24 +02:00
El RIDO
2a3017a3bd making comments on pretty printed pastes work again 2018-07-01 12:49:35 +00:00
El RIDO
bd1e40ac36
updating DOMpurify library to 1.0.5 2018-07-01 13:36:16 +02:00
El RIDO
30d9cb45cc
updating Showdown library to 1.8.6 2018-07-01 13:29:57 +02:00
El RIDO
91baef389d
updating Base64 library to 2.4.5 (keeping old 1.7 library for legacy ZeroBin support) 2018-07-01 13:23:39 +02:00
El RIDO
cfe60db8fd
increment version number 2018-07-01 13:11:32 +02:00
El RIDO
c22537c979 fix sending anonymous comments 2018-07-01 07:18:21 +00:00
El RIDO
5eebd27e82
fixing rngState 858b17ef69dc30a542, upgrade to jQuery 3.3.1 made event queue load callback too late, hence highlight right away and only handle highlight disable in the callback, after scrolling to comment 2018-07-01 08:59:55 +02:00
El RIDO
f92330443e
updating jQuery 2018-07-01 08:08:21 +02:00
El RIDO
da11d2e729
fixing SRI hash generation, broken by yesterdays Cloudflare fix that changed the script tag format 2018-07-01 07:51:05 +02:00
El RIDO
ded3767803
updated SJCL to 1.0.7
no change log was published, the one non-build related commit seems to be about an issue on Android:
6bb1978510
2018-07-01 07:29:49 +02:00
El RIDO
e35342e3a4
tell Cloudflare not to mess with our JS, fixes #284 2018-06-30 17:55:59 +02:00
El RIDO
a7029cc564
fixes #282 2018-06-30 15:59:54 +02:00
El RIDO
6225a8ef16
updating translators in credits 2018-06-11 20:29:47 +02:00
rugk
848efde4a6
Regenerate SRI hashes 2018-05-31 17:42:21 +02:00
El RIDO
d6f203dc4c
Removed option to hide clone button on expiring pastes, since this requires reading the paste for rendering the template, which leaks information on the pastes state 2018-05-27 15:05:31 +02:00
El RIDO
2d09a6d73c
Merge branch 'master' into burnafterreading-fix 2018-05-27 14:00:38 +02:00
El RIDO
57754fa440
Merge branch 'master' of github.com:PrivateBin/PrivateBin 2018-05-27 13:49:11 +02:00
El RIDO
c3db83aa12
fixing message IDs, updating SRI hashes 2018-05-27 13:44:40 +02:00
rugk
1985dff67c
Clear file input on pste event, too
Fixes https://github.com/PrivateBin/PrivateBin/issues/318
2018-05-22 13:09:15 +02:00
rugk
567fa8b61f
Add semicolon required by codacy 2018-05-22 11:43:44 +02:00
rugk
0b98e444d6
Update SRI hashes 2018-05-22 11:42:28 +02:00
rugk
1bf910480b
Do not show error, when paste is deleted manually
Prior to this commit, if the paste has been deleted manually (clicking
on "delete paste" after creation) it tried to fetch the now deleted
paste and display an error. This makes, of course, no sense.
2018-05-22 11:41:35 +02:00
rugk
626b4450e3
Merge branch 'master' into burnafterreading-fix 2018-05-22 10:57:30 +02:00
rugk
733cc70967
Improve code style of function names
Thx
429d43dc78 (r29068381)
2018-05-22 10:19:53 +02:00
rugk
429d43dc78
Make some functions of AttachmentHandler private
They are only used/referenced in the same module, so there is no need to
make them public.
2018-05-22 00:43:24 +02:00
rugk
14a7fd7091
Fix https://github.com/PrivateBin/PrivateBin/issues/315
Fixes some display issues related to file display.
2018-05-22 00:41:02 +02:00
rugk
da45d347e2
Fix attachment issues
Fixes https://github.com/PrivateBin/PrivateBin/issues/315
The attachment viewer is also used for storing to be uploaded
attachments, which caused some confusion in handling them.
I also tried to add some comments clarifying it as it seems to work.

Additionally I fixed the issue that you could submit an empty paste and
it was not rejected.
2018-05-21 19:32:01 +02:00
El RIDO
caf87cc6f1
Merge branch 'master' into burnafterreading-fix, regression in expired paste error 2018-04-30 20:01:38 +02:00
El RIDO
2c82279292
Merge branch 'attachment-handling' of https://github.com/thororm/PrivateBin into thororm-attachment-handling
apart from resolving conflicts:
- added missing docs
- inlined functions that were used in only one location
- updated unit test to support all previews
- fixed a regression that displayed the preview even when there was no preview and too early
2018-04-29 11:57:03 +02:00
El RIDO
de4b96c5ed
Merge branch 'blob' of https://github.com/otaku/PrivateBin into otaku-blob 2018-04-29 10:28:40 +02:00
El RIDO
e4bf41202e
Merge branch 'master' into js-unit-testing 2018-04-29 08:53:59 +02:00
Alexander Do
5bee666a6b Update SRI hashes 2018-04-09 16:40:10 +00:00
rugk
09a04b96c0
Update SRI hashes 2018-04-08 23:09:13 +02:00
El RIDO
78c186d6bc
avoid StyleCI complaint 2018-03-04 13:19:49 +01:00
El RIDO
0938b59b90
attributes contain strings, not booleans 2018-03-04 11:47:58 +01:00
El RIDO
76debde85b
found and fixed a bug in TopNav.collapseBar() while writing test for it 2018-03-03 07:55:27 +01:00
El RIDO
ce6764e97d
introduce built in asserts, working on TopNav, correcting some docs 2018-03-01 06:43:30 +01:00
El RIDO
cb2af8687e
Merge branch 'master' into js-unit-testing 2018-02-25 10:20:07 +01:00
El RIDO
4653085d2e
Merge branch 'master' into fixurlshortener 2018-02-25 10:10:05 +01:00
El RIDO
d07f8d8f96
fixing indentation, replicating change to other template 2018-02-25 10:09:19 +01:00
El RIDO
266b71bfd0
Merge branch 'master' into js-unit-testing 2018-02-25 09:51:49 +01:00
El RIDO
a3e0418b33
working on TopNav tests 2018-02-25 09:45:51 +01:00
rugk
0687448d0a
Fix some issues from ESLint 2018-02-21 22:51:31 +01:00
El RIDO
ffae6111b0
handling further JSHint warnings and TODOs 2018-01-06 13:32:07 +01:00
El RIDO
98d07e0789
improving code quality issues reported by Codacy 2018-01-06 10:57:54 +01:00
El RIDO
d92755f030
undoing code style regression 2018-01-06 09:58:19 +01:00
El RIDO
72acc95326
improving code quality issues suggested by JSHint 2018-01-06 09:26:10 +01:00
El RIDO
5e070db6a1
reverting escaping just for Markdown formatting, as discussed in #269 2018-01-03 21:18:33 +01:00
El RIDO
a95701bba8
completing DiscussionViewer testing 2018-01-02 15:38:37 +01:00
El RIDO
85401a1513
Merge branch 'master' into js-unit-testing 2018-01-02 09:37:46 +01:00
El RIDO
f135dd2667
Hrmpf, StyleCI only allows the use of either tabs or spaces for PHP code, forcing me to revert the use of tabs in the templates 2018-01-02 08:31:12 +01:00
El RIDO
ec3ed1e5ff
removing unused code and reducing size of HTML in case QR code is turned off 2018-01-02 08:23:11 +01:00
El RIDO
98a8591a27
naming JS libraries consistently 2018-01-02 08:01:39 +01:00
El RIDO
094a0c80db
Merge branch 'master' into qrcode 2018-01-02 07:56:16 +01:00
El RIDO
bb54d46c7e
updating DOMPurify library, simplifying its use, ensuring HTML entities get escaped before formatting paste - regression introduced in #258, reported in #269 2018-01-01 10:25:07 +01:00
rugk
414ab0eb71
Add config and basic page template support
* load JS file asyncronously (just HTML5 async attribut)
* add basic support for page template, where it generates the code inside
  of a simple div at the top
* added option to turn off QR code support
2017-12-25 14:59:15 +01:00
El RIDO
39860dfdc4
making AttachmentViewer testable and implementing tests 2017-12-03 14:29:07 +01:00
El RIDO
dac86eb363
making AttachmentViewer testable 2017-11-28 06:38:10 +01:00
rugk
7bf5af761b
Add QR code generation when paste is created 2017-11-26 15:59:12 +01:00
El RIDO
a0740ff79f
getting rid of htmlEntities (except for tests) and setElementText (dropping IE9 support), changing urls2links interface, all to avoid double encoding sanitized HTML 2017-11-22 22:27:38 +01:00
El RIDO
9fa2ea3373
ensuring text is sanitized in all cases, before being injected into the DOM 2017-11-22 08:05:06 +01:00
El RIDO
2d00202b42
correcting the XSS test, commenting two failing patterns, to be reviewed by @rugk 2017-11-22 07:03:29 +01:00
El RIDO
233bd65b00
Merge branch 'master' into sanitizeMarkdown, changing test to use new library 2017-11-22 06:30:38 +01:00
rugk
bbec693cab
Allow DOMPurify as a global 2017-11-21 22:26:02 +01:00
rugk
b6d7d56774
Sanitize HTML code
using DOMPurify v1.0.2
Fixes https://github.com/PrivateBin/PrivateBin/issues/183
2017-11-21 21:22:51 +01:00
El RIDO
c6ddee317d
adding tests for PasteViewer class 2017-11-21 10:53:33 +01:00
El RIDO
360a0921e2
adding tests for Prompt class, typos 2017-11-20 08:49:25 +01:00
El RIDO
9d1a9a0da7
fixing paste success message handling in page template 2017-11-16 08:57:08 +01:00
El RIDO
73bc685178
fixing error message display revealed by testing remaining time display function 2017-11-14 06:52:12 +01:00
El RIDO
6c8f57f91f
making PasteStatus testable, adding test for paste creation notification 2017-11-13 21:57:49 +01:00
El RIDO
29419d03cd
avoid logs polluting the unit test output 2017-10-30 07:04:59 +01:00
El RIDO
9c6aec86c4
making Alert class resetable and adding first tests for it 2017-10-23 21:33:07 +02:00
El RIDO
4410ddcd84
adding tests for UiHelper.reloadHome, making UiHelper unit testable and handling JSVerify RNG states 846932d5afb10ce748 & 012c1f9483adb6e750 2017-10-22 13:39:23 +02:00
El RIDO
414693fa90
testing both cases of the logic required for #167 2017-10-22 10:39:18 +02:00