GithubHelp home page GithubHelp logo

ed-pavlov / binstate Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 3.0 594 KB

Binstate is a simple but yet powerful state machine for .NET. Thread safe. Supports async methods. Supports hierarchically nested states.

License: Apache License 2.0

C# 100.00%
state-machine fsm state-machines state-machine-dsl finite-state-machine finite-state-automata finite-state-machines hierarchical-state-machine hierarchical-state-machines hierarchical-states

binstate's People

Contributors

ed-pavlov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

binstate's Issues

More exception detail on DefineState and AddTransition

Hi,

First of all, thanks for sharing your project. It looks really great.

I had trouble getting started, though. When I use an enum, like one in your example, an enum with value 0 (default) will throw an argument null exception on Builder.DefineState and Config.State.AddTransition. This is a little bit confusing. Could you provide some hint, that 0 on int or enum is also considered null?

Also I think your elevator example might also throw that exception, as the nullcheck is performed on Events, too. At least my enum did throw that exception.

Thanks and cheers!

Workflows are referencing vulnerable actions

Hello, there!

As part of the university research we are currently doing regarding the security of Github Actions, we noticed that one or many of the workflows that are part of this repository are referencing vulnerable versions of the third-party actions. As part of a disclosure process, we decided to open issues to notify GitHub Community.

Please note that there are could be some false positives in our methodology, thus not all of the open issues could be valid. If that is the case, please let us know, so that we can improve on our approach. You can contact me directly using an email: ikoishy [at] ncsu.edu

Thanks in advance

  1. The workflow build-and-test.yml is referencing action gittools/actions/gitversion/setup using references v0.9.9. However this reference is missing the commit 90150b4 which may contain fix to the vulnerability.
  2. The workflow build-and-test.yml is referencing action gittools/actions/gitversion/execute using references v0.9.9. However this reference is missing the commit 90150b4 which may contain fix to the vulnerability.

The vulnerability fix that is missing by actions' versions could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider updating the reference to the action.

If you end up updating the reference, please let us know. We need the stats for the paper :-)

Passing next state inside exit method

It would be nice to add some mechanics to get next state inside exit action, because FSM behaviour may differs depends on state which transition to. Currently use additional states between my basic states to customize exit action, but it makes code less readable and I think it might be unsafe.

example

Maybe it could be made by enchancing functionality of IStateController with NextState property and overloading OnExit same as OnEnter

[Security] Workflow build-and-test.yml is using vulnerable action gittools/actions/gitversion/setup

The workflow build-and-test.yml is referencing action gittools/actions/gitversion/setup using references v0.9.9. However this reference is missing the commit 90150b40fdd6c4b06d39cfd764e900cff45ccfca which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.