Comments (3)
tls supported added in #59
from chewie.
Something to think about:
Do we need to explicitly support all the different EAP types?
Instead could we have a generic 'catch all' type that hides the details of the packet. For example Chewie only really requires the identity, and maybe message ids, so the rest can be classified as extra data.
So in theory we could have EAPFailure, EAPSuccess, EAPIdentity, EAPGeneric.
Instead of EAPFailure, EAPSuccess, EAPIdentity, EAPGeneric, EAPTLS, EAPTTLS, EAPLegacyNAK, EAPMD5....
I don't see why Chewie actually needs to care about the specific EAP type, it's passed through to the RADIUS server anyway. - could still parse the type field to report that.
Pros:
- Simplifies the implementation.
- Hopefully all EAP types will be supported.
Cons:
- Won't be able to access some fields. (but do we even need to)
EAP
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+
TTLS
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Flags | Message Length
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Length | Data...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
FAST
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Flags | Ver | Message Length :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Message Length | Data... +
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
New format Generic
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type - (maybe)| Extra data ......
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
from chewie.
PEAP in #93
from chewie.
Related Issues (20)
- Add Checks and logging for Chewie Socket Setup HOT 3
- Go through TODO's and Clean up Code
- Add Pylintrc to Ignore Generated Libraries (such as Eventlet.green) HOT 2
- Shard Tests for Travis HOT 1
- Move Pre-emptive requests and reauthentication jobs out of Chewie
- Change set_port_status to be a Property
- Docker infrastructure is broken and packaging has some issues HOT 7
- Architect-out the circular dependencies in Chewie
- Remove Sleeps From UnitTests HOT 2
- MacAddress objects are not being provided in UnitTests
- Chewie uses PAE Group address as SA HOT 1
- Chewie mab only listens to dhcp discover packets HOT 1
- Radius requests not getting sent HOT 4
- Action Required: Fix Renovate Configuration
- Fix pylint scores on files not being currently checked by pylint
- test_smoke_mab test flake
- test_logoff_dot1x test flake HOT 1
- Dependency Dashboard
- Windows 10 and windows server test case HOT 1
- User-Name in RADIUS message is arbitrary HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chewie.