本文整理汇总了Java中net.jradius.packet.RadiusPacket.removeAttribute方法的典型用法代码示例。如果您正苦于以下问题:Java RadiusPacket.removeAttribute方法的具体用法?Java RadiusPacket.removeAttribute怎么用?Java RadiusPacket.removeAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.jradius.packet.RadiusPacket
的用法示例。
在下文中一共展示了RadiusPacket.removeAttribute方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: processChallenge
import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
/**
* EAP requires a challenge/response. The request packet is reset with a new
* RADIUS identifier and the EAP-Message is encoded.
* @throws NoSuchAlgorithmException
* @see net.jradius.client.auth.RadiusAuthenticator#processChallenge(net.jradius.packet.RadiusPacket, net.jradius.packet.RadiusPacket)
*/
public void processChallenge(RadiusPacket p, RadiusPacket r) throws RadiusException, NoSuchAlgorithmException
{
super.processChallenge(p, r);
p.setIdentifier(-1);
byte[] eapReply = AttributeFactory.assembleAttributeList(r.getAttributes(), AttributeDictionary.EAP_MESSAGE);
byte[] eapMessage = doEAP(eapReply);
RadiusAttribute a = p.findAttribute(AttributeDictionary.EAP_MESSAGE);
if (a != null) p.removeAttribute(a);
AttributeFactory.addToAttributeList(p.getAttributes(),
AttributeDictionary.EAP_MESSAGE, eapMessage, p.isRecyclable());
RadiusLog.debug("Sending Challenge:\n" + p.toString());
}
示例2: processRequest
import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public void processRequest(RadiusPacket p) throws RadiusException, NoSuchAlgorithmException
{
if (password == null) throw new RadiusException("no password given");
p.removeAttribute(password);
RadiusAttribute attr;
byte authChallenge[] = RadiusRandom.getBytes(16);
byte chapResponse[] = MSCHAP.doMSCHAPv1(password.getValue().getBytes(), authChallenge);
p.addAttribute(attr = AttributeFactory.newAttribute("MS-CHAP-Challenge"));
attr.setValue(authChallenge);
p.addAttribute(attr = AttributeFactory.newAttribute("MS-CHAP-Response"));
attr.setValue(chapResponse);
}
示例3: processRequest
import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public void processRequest(RadiusPacket p) throws RadiusException, NoSuchAlgorithmException
{
if (password == null) throw new RadiusException("no password given");
p.removeAttribute(password);
RadiusAttribute attr;
byte authChallenge[] = RadiusRandom.getBytes(16);
byte chapResponse[] = CHAP.chapResponse((byte)p.getIdentifier(), password.getValue().getBytes(), authChallenge);
p.addAttribute(attr = AttributeFactory.newAttribute("CHAP-Challenge"));
attr.setValue(authChallenge);
p.addAttribute(attr = AttributeFactory.newAttribute("CHAP-Password"));
attr.setValue(chapResponse);
}
示例4: handle
import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public boolean handle(JRadiusRequest request) throws Exception
{
JRadiusSession session = request.getSession();
if (session == null) return noSessionFound(request);
// System.err.println(this.getClass().getName());
RadiusPacket req = request.getRequestPacket();
byte[] packetClass = (byte[])req.getAttributeValue(Attr_Class.TYPE);
byte[][] sessionClass = session.getRadiusClass();
if (packetClass != null || sessionClass != null)
{
if (sessionClass == null)
{
session.addLogMessage(request, "Request has Class attribute when it should not");
}
else
{
session.addLogMessage(request, "Missing Class Attribute (added)");
req.removeAttribute(Attr_Class.TYPE);
for (byte[] a : sessionClass) {
req.addAttribute(AttributeFactory.newAttribute(Attr_Class.TYPE, a, req.isRecyclable()));
}
}
}
if (req instanceof AccessRequest)
{
byte[] sessionState = session.getRadiusState();
if (sessionState != null)
{
// System.out.println("Missing State Attribute (added) "+sessionState.length+" "+sessionState[0]);
req.overwriteAttribute(AttributeFactory.newAttribute(Attr_State.TYPE, sessionState, req.isRecyclable()));
}
}
return false;
}
示例5: handle
import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public boolean handle(JRadiusRequest request) throws RadiusException
{
RadiusPacket req = request.getRequestPacket();
AttributeList ci = request.getConfigItems();
JRadiusSession session = request.getSession();
if (session == null) return false;
String proxyToRealm = session.getProxyToRealm();
if (proxyToRealm != null)
{
/*
* If this session was the result of a terminated EAP Tunnel,
* then proxy accounting to the home realm after adjusting
* the User-Name to that in the EAP Tunnel.
*/
RadiusAttribute a;
if ((a = req.findAttribute(Attr_StrippedUserName.TYPE)) != null) req.removeAttribute(a);
if ((a = req.findAttribute(Attr_Realm.TYPE)) != null) req.removeAttribute(a);
req.overwriteAttribute(new Attr_UserName(session.getUsername() + "@" + session.getRealm()));
ci.add(new Attr_ProxyToRealm(proxyToRealm));
request.setReturnValue(JRadiusServer.RLM_MODULE_UPDATED);
return true;
}
return false;
}
示例6: handle
import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public boolean handle(JRadiusRequest request) throws RadiusException
{
JRadiusSession session = request.getSession();
if (session == null) return noSessionFound(request);
RadiusPacket req = request.getRequestPacket();
byte[] bClass = (byte[]) req.getAttributeValue(Attr_Class.TYPE);
if (bClass != null)
{
String sClass = new String(bClass);
if (sClass.startsWith(ClassPrefix))
{
req.removeAttribute(Attr_Class.TYPE);
byte[][] classes = session.getRadiusClass();
if (classes != null)
{
for (byte[] c : classes)
{
RadiusAttribute cattr = AttributeFactory.newAttribute(Attr_Class.TYPE, c, req.isRecyclable());
req.addAttribute(cattr);
}
}
return false;
}
}
session.addLogMessage(request, "Accounting without Class Attribute");
return false;
}
示例7: processRequest
import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
/**
* @see net.jradius.client.auth.RadiusAuthenticator#processRequest(net.jradius.packet.RadiusPacket)
*/
public void processRequest(RadiusPacket p) throws RadiusException
{
p.removeAttribute(AttributeDictionary.USER_PASSWORD);
RadiusAttribute a = AttributeFactory.newAttribute(AttributeDictionary.EAP_MESSAGE,
isStartWithIdentity() ? eapResponse(EAP_IDENTITY, (byte)0, getUsername()) : null, p.isRecyclable());
p.overwriteAttribute(a);
}
示例8: processRequest
import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public void processRequest(RadiusPacket p) throws RadiusException
{
if (password == null) throw new RadiusException("no password given");
p.removeAttribute(password);
RadiusAttribute attr;
p.addAttribute(attr = AttributeFactory.newAttribute("User-Password"));
attr.setValue(RadiusUtils.encodePapPassword(
password.getValue().getBytes(),
// Create an authenticator (AccessRequest just needs shared secret)
p.createAuthenticator(null, 0, 0, client.getSharedSecret()),
client.getSharedSecret()));
}
示例9: processRequest
import net.jradius.packet.RadiusPacket; //导入方法依赖的package包/类
public void processRequest(RadiusPacket p) throws RadiusException, NoSuchAlgorithmException
{
if (password == null) throw new RadiusException("Password required");
p.removeAttribute(password);
RadiusAttribute attr;
byte authChallenge[] = RadiusRandom.getBytes(16);
byte chapResponse[] = MSCHAP.doMSCHAPv2(username.getValue().getBytes(), password.getValue().getBytes(), authChallenge);
p.addAttribute(attr = AttributeFactory.newAttribute("MS-CHAP-Challenge"));
attr.setValue(authChallenge);
p.addAttribute(attr = AttributeFactory.newAttribute("MS-CHAP2-Response"));
attr.setValue(chapResponse);
}