summaryrefslogtreecommitdiff
path: root/lib (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-10-04Added customizable og-metadata to notesErik Michelson2-2/+15
Signed-off-by: Erik Michelson <erik@liltv.de>
2019-09-18Updated forbiddenNoteIDsErik Michelson1-1/+1
Signed-off-by: Erik Michelson <erik@liltv.de>
2019-09-04Refactored note-creation with given noteIdErik Michelson2-14/+18
Known bugs/features: - pushing towards an existing note results in an error 500 Signed-off-by: Erik Michelson <erik@liltv.de>
2019-09-04Added endpoint for note-creation with given aliasErik Michelson2-2/+4
Signed-off-by: Erik Michelson <erik@liltv.de>
2019-09-03Docker Secrets: Use Encoding Parameter DirectlyJonas Thelemann1-1/+1
Signed-off-by: Jonas Thelemann <e-mail@jonas-thelemann.de>
2019-09-03Config: Return String Instead Of Buffer For Docker SecretsJonas Thelemann1-1/+1
Prevents "TypeError: Cannot freeze array buffer views with elements". Signed-off-by: Jonas Thelemann <e-mail@jonas-thelemann.de>
2019-09-02Docker Secrets: Correct Source PathJonas Thelemann1-1/+1
Signed-off-by: Jonas Thelemann <e-mail@jonas-thelemann.de>
2019-08-26Add link to imprintMatthias Lindinger1-0/+1
Signed-off-by: Matthias Lindinger <m.lindinger@live.de>
2019-08-15Disable PDF export due to security issueSheogorath1-0/+6
As a temporary fix, to keep you and your users save, this patch disables the PDF export feature. Details of the attack along with a fix for future versions of CodiMD will be released in future. I hope you can live with this solution for this release because I'm super short on time and the alternative would be to ship no fix at all. This appears to be the better solution for this release. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-08-15Fix variable names for docker secretsSheogorath1-5/+5
It seems like since we switched to camelcase we missed to update some variable names in the config section. This patch fixes those. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-08-12fix: migration should return promisechandi3-18/+18
Signed-off-by: chandi <git@chandi.it>
2019-07-01Docker Secrets: Add DB URL SupportJonas Thelemann1-0/+1
As the connection string may include a password it should be supported by Docker Secrets. Signed-off-by: Jonas Thelemann <e-mail@jonas-thelemann.de>
2019-06-18Add SVG image detection based on file extensionLennart Weller1-0/+2
Add simple SVG image detecetion base on the file extension .svg. This fixes the SVG being delivered as binary/octet-stream and makes it possible to embedd the SVG. Signed-off-by: Lennart Weller <lennart.weller@hansemerkur.de>
2019-06-11fix: upgrade sequelize to latest version to fix CVEBoHong Li5-745/+752
Signed-off-by: BoHong Li <a60814billy@gmail.com>
2019-06-08Respect DNT headerSheogorath1-2/+4
Do Not Track (DNT) is an old web standard in order to notify pages that the user doesn't want to be tracked. Even while a lot of pages either ignore this header or even worse, use it for tracking purposes, the orignal intention of this header is good and should be adopted. This patch implements a respect of the DNT header by no longer including the optional Google Analytics and disqus integrations when sending a DNT header. This should reduce outside resource usage and help to stay more private. This should later-on extended towards other document content (i.e. iframe based content). The reason to not change the CDN handling is that CDNs will be deprecated with next release and removed in long term. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-06-08Rework debug loggingSheogorath15-69/+54
We have various places with overly simple if statements that could be handled by our logging library. Also a lot of those logs are not marked as debug logs but as info logs, which can cause confusion during debugging. This patch removed unneeded if clauses around debug logging statements, reworks debug log messages towards ECMA templates and add some new logging statements which might be helpful in order to debug things like image uploads. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-05-31Fix eslint warningsSheogorath39-86/+94
Since we are about to release it's time to finally fix our linting. This patch basically runs eslint --fix and does some further manual fixes. Also it sets up eslint to fail on every warning on order to make warnings visable in the CI process. There should no functional change be introduced. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-05-26Fix missing pictures for OpenIDSheogorath1-0/+3
Currently a problem appears when using OpenID for authentication as there is no method to add a profile picture right now. This patch makes sure that all undefined login methods get a profile picture. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-05-25Add config for toobusy middlewareSheogorath3-0/+7
With very low CPU frequency or bad IO situation, as well as not-loaded JS CodiMD happens to present unneeded "I'm busy"-messages to users. This patch allows to configure the lag. The default is taken from the libray but set in our own default configs. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-05-13polyfilling scrypt for node 8.5+Claudius1-4/+13
Signed-off-by: Claudius <opensource@amenthes.de>
2019-05-13asyncified setting and verifying the passwordClaudius2-11/+15
Signed-off-by: Claudius <opensource@amenthes.de>
2019-05-13getting password hashing into a hook where it could be asyncClaudius1-6/+14
Signed-off-by: Claudius <opensource@amenthes.de>
2019-04-10Add lutim supportDylan Dervaux4-3/+40
Signed-off-by: Dylan Dervaux <dylanderv05@gmail.com>
2019-04-06Added a configuration option for passport-saml:Emmanuel Ormancey4-1/+5
disableRequestedAuthnContext: true|false By default only Password authmethod is accepted, this option allows any other method. Issue and option described here: https://github.com/bergie/passport-saml/issues/226 Signed-off-by: Emmanuel Ormancey <emmanuel.ormancey@cern.ch>
2019-04-06Hide port from minio URL for protocol default portThor771-1/+3
Signed-off-by: Thor77 <thor77@thor77.org>
2019-04-05change default mode to "both" when clicking editStéphane Guillou1-2/+2
Add "both" mode to URLs because I assume most people want to straight away see the code when they click the "edit" button in a published note. Fixes https://github.com/codimd/server/issues/27 Not tested, followed instructions from @ccoenen , please do review! :) Signed-off-by: Stéphane Guillou <stephane.guillou@member.fsf.org>
2019-03-27Update links to new repositoriesSheogorath1-1/+1
After a long discussion, it turned out that CodiMD as community project and HackMD as a company, have fundamental different views on the project governance. Due to this, it came to point where the decision for a fork was made. After the fork and move towards an own organisation, this patch updates all links inside the project to the new repositories. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-03-17Use libravatar as drop-in replacement for gravatarSheogorath1-1/+1
Since libravatar got a default fallback to Gravatar and in generell allows federated image hosting for avatars this shouldn't break any existing implementations. The federation functionality is not added yet. This would require to use the libravatar library. Details: https://wiki.libravatar.org/api/ Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-03-09Add required change for Google+ API deprecationSheogorath1-1/+2
Since Google+ is shutting down soon, we need to get the profile data from another URL. Since the library already supports it, all we need to do is adding a single line of code. Details: https://github.com/hackmdio/codimd/issues/1160 Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-03-05Fix shown but broken GitLab snippetsSheogorath1-1/+1
To provide a GitLab integration we need the GitLab integration to be configured. Otherwise we shouldn't show the Snippet button. This patch adds the requirement to the variable that decides if the import from snippets button shows up or not. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-03-04Fix wrong value type for HSTS environment variableSheogorath2-2/+2
Seem like also environment variables are affected. This patch fixes that as well. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-03-04Fix empty serverURL did not redirect properlytoshi01231-1/+1
Signed-off-by: toshi0123 <7948737+toshi0123@users.noreply.github.com>
2019-03-03Fix names with spaces in letter-avatarsSheogorath1-0/+1
Seems like there is a possible problem when a name containing a space is passed to this function. using urlencode on the name should fix possible problems here. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-02-11make aws s3 endpoint configurableMathias Merscher2-2/+5
Signed-off-by: Mathias Merscher <Mathias.Merscher@dg-i.net>
2019-01-25Disable OpenID by defaultSheogorath1-1/+1
We talked about that during a community call. It turned out that not everyone likes to have OpenID on their instance. This patch disables OpenID by default. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2019-01-24Fix broken PDF export by wrong unlink callSheogorath1-1/+1
We used `fs.unlink()` to remove the pdf file after we send it out to the client. This breaks in Node 10, when no function as second parameter is supplied. This patches changes it to the `fs.unlinkSync` function that doesn't have this requirement and this way doesn't crash. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-12-22Remove blueimp-md5 dependencyDaan Sprenkels1-3/+7
Signed-off-by: Daan Sprenkels <hello@dsprenkels.com>
2018-12-21Update upload provider error messageDaan Sprenkels1-1/+1
Fixes #1107. Signed-off-by: Daan Sprenkels <hello@dsprenkels.com>
2018-12-20Fix broken Gist embeddingSheogorath1-1/+1
Looks like GitHub changed their asset system and our CSP prevented them from getting loaded. This patch should fix the Gist embedding with enabled CSP by replacing the old URL `https://assets-cdn.github.com` with the new `https://github.githubassets.com`. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-12-18Fix usage of new URL APISheogorath1-2/+2
Due to the deprecation of the old `url`-API provided by NodeJS we replaced `url.resolve` with `url.URL.resolve`, which doesn't exist. This patch fixes the local filesystem upload of CodiMD by using the new API correctly. Creating an URL object and using its href. Some more background: https://nodejs.org/api/url.html#url_url_href https://nodejs.org/api/url.html#url_url_resolve_from_to Fixes https://github.com/hackmdio/codimd/issues/1102 Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-12-05Fix disqus CSPSheogorath1-1/+1
Disqus loads it's embed config.js from its root domain (https://disqus.com). Our CSPs only allow subdomains (e.g.: https://codimd.disqus.com). This causes the disqus embedding to fail. This patch should fix this problem by adding https://disqus.com to the CSP setting. From a security perspective there is no real change. Since still the same parties are involved. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-12-05Fix CSP for speaker notesSheogorath1-1/+1
Looks like I was wrong in my previous commit to update revealjs.[1] The speaker notes broke again with the CSPs. So this patch updates the hash and this way the speaker notes. [1]: bcebf1e8d285184f8c905f00e0270621790e7b80 Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-11-28Warn on missing serverURLSheogorath1-0/+4
We see some issues that are based on not properly configured `config.serverURL`. This patch adds a warning when `config.serverURL` is an empty value. This should provide users direct feedback about how to improve their configs. Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-11-28Prevent subdirectories in user exportDaan Sprenkels1-9/+11
This commit also refactors the code a bit, and adds a '-' separator between a filename and its duplicate index. This commit fixes #1079. Signed-off-by: Daan Sprenkels <hello@dsprenkels.com>
2018-11-27Fix typoCloudYu2-4/+4
Signed-off-by: CloudYu <cloudyu322@gmail.com>
2018-11-21Switch scrypt library to a successorSheogorath1-1/+1
Since our previous scrypt library is unmaintained since 3 years, it's time to look for an alternative. A refactoring towards another password algorithm was worked on and this is probably still the way to go. But for now the successor of our previous library should already be enough. https://www.npmjs.com/package/scrypt (old library) https://github.com/ml1nk/node-scrypt (new library) Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-11-19Fix wrong maxAgeSeconds multiplicationSheogorath1-1/+1
It seems like the inital work on the hsts module expected milliseconds. This has either changed or was never true. Either way, it caused that the current defaults resulted in theory in a 1000 year HSTS policy. Luckily helmet was smart enough to not go higher than 1 year. Anyway, this patch fixes the multiplication of the configured size with 1000 by removing this multiplication. Also to simplify the reading of the defaults, we split them into their components, 60 times 60 seconds so we get one hour. 24 of those hours so we get a day and finally 365 days to get our original wanted default of one year. Reference: https://github.com/hackmdio/CodiMD/commit/d69d65ea7434eee85db4b905f0852f4d8fa7ecce Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
2018-11-17Disallow creation of robots.txt in freeurlDaan Sprenkels3-1/+3
Add a configuration setting to "hard"-disable creation of notes as set by the configuration value. This defaults to `['robots.txt', 'favicon.ico']`, because these files are often accidentally created by bots and browsers. This commit fixes #1052. Signed-off-by: Daan Sprenkels <hello@dsprenkels.com>
2018-11-16Update error message text checksCarles Bruguera8-8/+8
Signed-off-by: Carles Bruguera <carlesba@gmail.com>
2018-11-16Fix streaming for winstonSheogorath1-1/+9
During the upgrade of winston in c3584770f24205d84b9399abd9535cb27dc7b00c a the class extension for streaming was removed. This caused silent crashes. Somehow winston simply called `process.exit(1)` whenever `logger.write()` was called. This is really bad and only easy to debug because of the testing right after upgrading. However, reimplementing the stream interface as it was, didn't work, due to the fact that `logger.write()` is already implemented and causes the mentioned problem. So we extent the object with an `stream` object that implements `write()` for streams and pass that to morgan. So this patch fixes unexpected exiting for streaming towards our logging module. References: https://www.digitalocean.com/community/tutorials/how-to-use-winston-to-log-node-js-applications https://github.com/hackmdio/codimd/commit/c3584770f24205d84b9399abd9535cb27dc7b00c https://stackoverflow.com/a/28824464 Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>