-
Notifications
You must be signed in to change notification settings - Fork 118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fuzzing SIP parser #7
Comments
Fuzzing is an even smarter way to do it than the RFC torture tests. I'd welcome a change like this. |
Did you have considered to move the SIP, SDP parser into a separate repository? This would reduce the scope and mby gain more search hit's? Since I've used Ragel in some projects myself (like fast CSeq parser) I know that it's mby not the fastest way to build a SIP parser BUT it's a good way to build a fast and correct one. Your implementation has a good quality, better than the most others you can find for Go on Github. Just thinking out loud ;) |
Would that help people only link the parts they need? If so I say let's do that. |
I still think there is a lack of a fast and correct general purpose SIP/SDP parser in Go. Probably because of this some of the existing SIP stacks in Go on Github come with their own implementations.
With the current function names this would result in ...parse.Parse() (for SDP) Go also has a parser package https://golang.org/pkg/go/parser Shadowing that style it could be sip/parser/ and sdp/parser/ like: |
Ah yes that's a good point, regarding Go readability. Taking a quick glance at the Effective Go guide, how about Out of curiosity, does the Go linker do the equivalent of |
+1
Go's nearest equivalent of -ffunction-sections are Build Constraints better known as build tags. Currently you don't use any external dependencies and without having a huge codebase I think it's probably not worth the effort. |
Fuzzit was acquired by GitLab, so I think it's not an option anymore? Let's use good old gofuzz.
https://github.com/google/gofuzz
The text was updated successfully, but these errors were encountered: