Commit Graph

509 Commits

Author SHA1 Message Date
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
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
rugk
c3c1473dc9
Allow one-letter TLDs/host names 2018-07-01 19:49:21 +02:00
El RIDO
17a468a4e5
updating prettify library to 453bd5f 2018-07-01 19:17:05 +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
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
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
a7029cc564
fixes #282 2018-06-30 15:59:54 +02:00
El RIDO
c76957b3cb
adding unit test for truncation issue #328 2018-06-26 22:31:26 +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
rugk
3b90020559
Add explanation
Ref https://github.com/PrivateBin/PrivateBin/pull/297#issuecomment-379586428
2018-04-09 14:13:18 +02: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
944c8c2912 Add test for missing browser language 2018-04-07 03:22: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
3538a8bec5
concluding tests for TopNav 2018-03-04 14:55:18 +01:00
El RIDO
4857a92a0e
testing file input access 2018-03-04 14:13:24 +01: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
b40e6305ca
Merge branch 'master' into empty-paste 2018-02-27 05:20:04 +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
0041445e5f
starting to test TopNav 2018-01-06 18:39:12 +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
2db412873b
implementing ESlint suggestions 2018-01-06 07:17:33 +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
fcb4249e01
actually IDs are hexadecimal, not base64, so not a problem 2018-01-02 11:51:11 +01:00
El RIDO
95bf37be8f
implementing DiscussionViewer test, found an issue with slashes in the paste or comment IDs (as per Base64 encoding) 2018-01-02 11:44:54 +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
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
d80c2f83fa
making DiscussionViewer testable, removing some inconsistency 2017-12-18 14:47:17 +01:00
El RIDO
928215dc5e
splitting out PasteViewer, DiscussionViewer, AttachmentViewer tests 2017-12-18 14:25:08 +01:00
El RIDO
893d29a046
splitting out Alert, Editor, PasteStatus, Prompt, UiHelper tests 2017-12-15 07:20:51 +01:00
El RIDO
be358a6804
splitting out Model tests 2017-12-14 07:31:09 +01:00
El RIDO
5b9ac67504
splitting out CryptTool tests 2017-12-14 07:23:38 +01:00
El RIDO
3fed63ce28
ensuring internal variables of common module are not changed by providing getter functions, splitting out I18n tests 2017-12-14 07:19:05 +01:00
El RIDO
dfd906900b
started to split humongous test.js into separate files 2017-12-13 07:40:48 +01:00
El RIDO
5582c05414
decrypting a particular message encrypted with v1.1.1 fails (#260) 2017-12-10 07:04:54 +01:00
El RIDO
ee8ffdc51b
en- & decrypting the particular message works without issues 2017-12-10 07:02:32 +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
d9c6b634b9
remove dangling comma 2017-11-22 22:44:38 +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
d0cccce7a8
removing patterns that don't get sanitized, but also don't get interpreted when inserted into the HTML 2017-11-22 20:49:23 +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
rugk
3d2dbabaec
add some more tests from OWASP 2017-11-22 15:41:49 +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
El RIDO
f2628a0bf3
added a test for #183, fails at this point, #258 should fix this 2017-11-22 06:15:09 +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
35ea65b797
handling JSVerify RNG state 89fdc94018a35b672e 2017-11-21 10:56:58 +01:00