Coder Social home page Coder Social logo

nradov / abnffuzzer Goto Github PK

View Code? Open in Web Editor NEW
32.0 5.0 6.0 1.16 MB

Java fuzz testing library for implementations of ABNF rules such as IETF RFCs

License: GNU Lesser General Public License v2.1

Java 93.86% ANTLR 6.14%
abnf antlr antlr4-java fuzzing rfc test-automation testing testing-tools

abnffuzzer's People

Contributors

dependabot[bot] avatar nradov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

abnffuzzer's Issues

Directly parse ABNF rules from IETF RFCs

The Fuzzer class can currently only parse ABNF rules from files that contain only those rules as per the ANTLR grammar. So users who want to test implementations of IETF RFCs first have to manually copy and paste the rules into a separate file.
It would improve usability if this library could take the URI for an RFC as an argument and automatically extract the ABNF rules out of the entire document. However this appears to be a difficult problem in pattern recognition; it's hard to tell whether a particular line contains an ABNF rule, narrative text, or part of the header / footer. The bap aex tool may offer a starting point, however it doesn't appear to produce correct output for some RFCs.

No enum constant com.github.nradov.abnffuzzer.Terminal.Radix.s

Seeing the following issue with https://tools.ietf.org/html/rfc7950

public class YangTest {

    /**
     * Test the {@link UUID#fromString(String)} method.
     * 
     * @throws IOException
     *             if an error occurs while reading a resource
     */
    @Test
    public void testFromFile() throws IOException {

        final Fuzzer f = new Fuzzer(
                YangTest.class.getResourceAsStream("/rfc7950.yang"));
        
    }

}

Results in

Results :

Tests in error:
  testFromFile(com.github.nradov.abnffuzzer.YangTest): No enum constant com.github.nradov.abnffuzzer.Terminal.Radix.s

Tests run: 11, Failures: 0, Errors: 1, Skipped: 0

Could you clarify why its failing please? Included the abnf in attached zip.

rfc7950.yang.zip

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.