Commit graph

359 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
rugk
c3c1473dc9
Allow one-letter TLDs/host names 2018-07-01 19:49:21 +02:00
rugk
676a02619d
Fix magnet links 2018-07-01 16:31:40 +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
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
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
Peter Tabajdi
3eb4acfd32 New Hungarian translation file and languange selector added to js. 2018-05-31 17:07:42 +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
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
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
Michael van Schaik
652ba607a5
Adding 'nl' (Dutch) language to privatebin.js
(Security hash needs to be regenerated)
2018-05-18 06:36:35 +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
2fce7bb96a Merge branch 'master' of github.com:PrivateBin/PrivateBin into blob 2018-04-09 16:36:23 +00:00
Alexander Do
3f28f01b0e Switch from bind / unbind to on / off 2018-04-09 15:57:58 +00:00
Alexander Do
60cedd7fb5 Only create Blob for Download for IE upon click event 2018-04-09 04:44:37 +00:00
Alexander Do
2925fa8bfc Requested Changes, IE Download fix only 2018-04-08 22:36:55 +00:00
Alexander Do
d3b8ef44ed Download Attachment changes. Support for Edge and change to Blob 2018-04-07 06:59:26 +00:00
Alexander Do
c6950b9b56 Default to en if browser does not provide a language 2018-04-07 02:53:00 +00: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
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
28f1f41c17
removing duplicate code and unused option 2018-01-02 11:42:03 +01:00
El RIDO
85401a1513
Merge branch 'master' into js-unit-testing 2018-01-02 09:37:46 +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
d80c2f83fa
making DiscussionViewer testable, removing some inconsistency 2017-12-18 14:47:17 +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
rugk
56f4ee5c20
Revert "Try to move sanitisation & links into setElementText"
This reverts commit 8d2e19f791.
2017-11-22 16:48:54 +01:00
rugk
8d2e19f791
Try to move sanitisation & links into setElementText 2017-11-22 16:48:00 +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
El RIDO
6dbb098d7a
had to introduce a mock function to test the historyChange state 2017-10-22 09:56:44 +02:00
El RIDO
6fa2bfe30e
updated documentation, incremented version 2017-10-08 16:40:51 +02:00
thororm
28b8f878dc Fixed decryption of pastes without attachment, that have a password 2017-08-12 13:26:43 +02:00
thororm
b5c259dd72 Code review 2017-05-20 16:11:32 +02:00
thororm
39717707b3 Code review 2017-05-20 16:04:10 +02:00
thororm
2c17c35b85 Code review results and further improvements
Added english default for new translations
2017-05-15 22:05:52 +02:00