Commit Graph

347 Commits

Author SHA1 Message Date
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
thororm 24aea957b3 Added possibility to paste an image from the clipboard 2017-05-13 21:43:32 +02:00
thororm 838ca3d38e Call removeAttachment on a new paste
Improved disabled attachments handling
2017-05-13 21:27:41 +02:00
thororm 23f5dfbff8 Merge remote-tracking branch 'remotes/thororm/master' into attachment-handling
# Conflicts:
#	tpl/bootstrap.php
#	tpl/page.php
2017-05-13 19:48:25 +02:00
thororm b9075d7708 Removed attachmentHelpers and moved functionality to AttachmentViewer 2017-05-13 19:46:22 +02:00
rugk 9b6748c54d
Adjust requested changes 2017-04-13 10:46:09 +02:00
rugk 073b52ce96
Pass on event
Thus the receiving function also had to be adjusted, so the right data is passed on.
2017-04-11 22:36:25 +02:00
rugk d53207e404
Add password retry feature 2017-04-11 22:21:30 +02:00
rugk 183ebe518b
Force JSON request for getting paste data 2017-04-11 16:34:13 +02:00
thororm 1a1369ff53 scrutinizer issues 2017-04-02 19:11:49 +02:00
thororm ec9fb750b4 Adapted attachment handling to refactoring 2017-04-02 18:58:11 +02:00
El RIDO 37f5d99bc4
finalizing tests for I18n class, AJAX loading of translations needs to be tested in browser, mocked for now 2017-03-26 09:24:42 +02:00
El RIDO 6fb3fe51b2
Merge branch 'master' into js-unit-testing 2017-03-26 06:46:42 +02:00