Skip to content

Conversation

@cssim22
Copy link
Contributor

@cssim22 cssim22 commented Jul 1, 2021

Checklist

  • Bugfix
  • New feature
  • Refactor

Related Issue

  • Obsidian 3.0 does not support GraphQL variables and directives, which are features that allow dynamic changes to a query's fields and structure. Additionally, GraphQL servers are known to be susceptible to various forms of malicious activity due to the ability to craft individual queries that are complex and expensive. Obsidian 3.0 does not have any features to mitigate these risks.

Solution

  • Obsidian 3.1 has been updated to support variables and directives using standard GraphQL syntax. The parsing algorithm has been modified to account for variables and directives, altering the input query before resuming the existing destructuring algorithm.
  • Obsidian 3.1 enables the ability to limit query depth on the Obsidian Router app. Query depth is determined before being sent to GraphQL runtime and if the desired limit is exceeded, obsidian responds with a null query and throws an error. The depth limit is disabled by default, but can be enabled when invoking the Obsidian Router.

kyunglee1 and others added 30 commits June 15, 2021 15:28
Co-authored-by: Justin McKay justinmckay99@gmail.com
Co-authored-by: Raymond Ahn ray.ahn@gmail.com
…query nesting depth value, above which, queries will be rejected.
Co-authored-by: kyunglee1 <kyunglee3@yahoo.com>
Co-authored-by: raymondcodes <ray.ahn@gmail.com>
Co-authored-by: cssim22 <cssim22@gmail.com>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
Co-authored-by: kyunglee1 <kyunglee3@yahoo.com>
Co-authored-by: raymondcodes <ray.ahn@gmail.com>
Co-authored-by: cssim22 <cssim22@gmail.com>
Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
Co-authored-by: kyunglee1 <kyunglee3@yahoo.com>
Co-authored-by: raymondcodes <ray.ahn@gmail.com>
Co-authored-by: cssim22 <cssim22@gmail.com>
Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
Co-authored-by: raymondcodes <ray.ahn@gmail.com>
Co-authored-by: cssim22 <cssim22@gmail.com>
Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
Co-authored-by: raymondcodes <ray.ahn@gmail.com>
Co-authored-by: cssim22 <cssim22@gmail.com>
Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
Co-authored-by: raymondcodes <ray.ahn@gmail.com>
Co-authored-by: cssim22 <cssim22@gmail.com>
Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Implemented DoS security module. Now queries and mutations have selectable nesting depth limit.
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
Co-authored-by: raymondcodes <ray.ahn@gmail.com>
Co-authored-by: cssim22 <cssim22@gmail.com>
Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
Co-authored-by: raymondcodes <ray.ahn@gmail.com>
Co-authored-by: cssim22 <cssim22@gmail.com>
Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
Co-authored-by: kyunglee1 <kyunglee3@yahoo.com>
Co-authored-by: raymondcodes <ray.ahn@gmail.com>
Co-authored-by: cssim22 <cssim22@gmail.com>
Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
Co-authored-by: kyunglee1 <kyunglee3@yahoo.com>
Co-authored-by: raymondcodes <ray.ahn@gmail.com>
Co-authored-by: cssim22 <cssim22@gmail.com>
Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
    Co-authored-by: raymondcodes <ray.ahn@gmail.com>
    Co-authored-by: cssim22 <cssim22@gmail.com>
    Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Co-authored-by: justinwmckay <justinmckay99@gmail.com>
    Co-authored-by: raymondcodes <ray.ahn@gmail.com>
    Co-authored-by: cssim22 <cssim22@gmail.com>
    Co-authored-by: pjmsullivan <patrick@jsullivan.org>
justinwmckay and others added 8 commits June 29, 2021 11:05
Updated Readme to indicate new features and contributors
    Co-authored-by: justinwmckay <justinmckay99@gmail.com>
    Co-authored-by: raymondcodes <ray.ahn@gmail.com>
    Co-authored-by: cssim22 <cssim22@gmail.com>
    Co-authored-by: pjmsullivan <patrick@jsullivan.org>
Merged new directive and variable pull req
Copy link
Contributor

@pjmsullivan pjmsullivan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commits merged in beta, successfully tested, and ready for release

@pjmsullivan pjmsullivan merged commit 893f1a8 into open-source-labs:master Jul 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants