TinyRadius-Netty is a Java Radius library, loosely based off the TinyRadius Radius library, rebuilt with Java 8 and Netty patterns/features.
- Sends/receives Radius packets
- Signs and verifies Request Authenticator for Access and Accounting requests/responses
- Supports verifying and encoding for PAP, CHAP, and EAP (Message-Authenticator)
- Attach arbitrary attributes to packets
- Loads dictionaries recursively from file system or classpath (Radiator/FreeRadius format)
- Netty for async IO, timeouts, thread management
- Handlers follow Netty's interceptor filter pattern, blocking calls use promises
- log4j2 instead of commons-logging
- Java 6-11 features (generics, NIO, lambdas, streams)
- Packets and Attributes are fully immutable
- 80%+ test coverage
- Proxy no longer a separate implementation, but a promise-based adapter between the client and server classes
See the e2e tests on usage as Client/Server/Proxy.
Set credentials for signing and Nexus in ~/.gradle/gradle.properties
:
signing.keyId=3D6EA292
signing.password=******
signing.secretKeyRingFile=C:\\Users\\user1\\secring.gpg
sonatypeUsername=myUser
sonatypePassword=***************
Push to staging repository (manually verify/release via Nexus UI):
./gradlew publishToSonatype closeSonatypeStagingRepository
Publish directly to Maven Central:
./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository
Copyright Matthias Wuttke and contributors:
- http://tinyradius.sourceforge.net/
- https://github.com/ctran/TinyRadius
- https://github.com/globalreachtech/tinyradius-netty
Licensed under LGPL 2.1