⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eap_notification.hxx

📁 Diameter协议栈
💻 HXX
字号:
/* BEGIN_COPYRIGHT                                                        *//*                                                                        *//* Open Diameter: Open-source software for the Diameter and               *//*                Diameter related protocols                              *//*                                                                        *//* Copyright (C) 2002-2004 Open Diameter Project                          *//*                                                                        *//* This library is free software; you can redistribute it and/or modify   *//* it under the terms of the GNU Lesser General Public License as         *//* published by the Free Software Foundation; either version 2.1 of the   *//* License, or (at your option) any later version.                        *//*                                                                        *//* This library is distributed in the hope that it will be useful,        *//* but WITHOUT ANY WARRANTY; without even the implied warranty of         *//* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU      *//* Lesser General Public License for more details.                        *//*                                                                        *//* You should have received a copy of the GNU Lesser General Public       *//* License along with this library; if not, write to the Free Software    *//* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307    *//* USA.                                                                   *//*                                                                        *//* In addition, when you copy and redistribute some or the entire part of *//* the source code of this software with or without modification, you     *//* MUST include this copyright notice in each copy.                       *//*                                                                        *//* If you make any changes that are appeared to be useful, please send    *//* sources that include the changed part to                               *//* diameter-developers@lists.sourceforge.net so that we can reflect your  *//* changes to one unified version of this software.                       *//*                                                                        *//* END_COPYRIGHT                                                          */// $Id: eap_notification.hxx,v 1.15 2004/06/17 21:13:36 yohba Exp $// eap_notification.hxx:  Notification method state machine// Written by Yoshihiro Ohba#ifndef __EAP_NOTIFICATION_HXX__#define __EAP_NOTIFICATION_HXX__/*  Notification Request/Response    According to RFC2284bis, there are the following rules on    processing Notification Request/Response messages.    Section 2.1. Support for sequences:      A Notification Response is only used as confirmation that the      peer received the Notification Request, not that it has      processed it, or displayed the message to the user. It cannot be      assumed that the contents of the Notification Request or      Response is available to another method.      Given these considerations, the Success, Failure, Nak Response      and Notification Request/Response messages MUST NOT used to      carry data destined for delivery to other EAP methods.    Section 4.2.1.  Processing of success and failure:      In order to provide additional protection against tampering, EAP      methods MAY support a MIC that covers some or all of the EAP      packet, including headers. In addition, such a MIC MAY include      coverage of previous Request and Response messages, so as to      enable protection of other packets to that do not contain MICs,      such as Identity Request/Response, Notification Request/Response      and Nak Response.    Section 5.2.  Notification:      Description         The Notification Type is optionally used to convey a         displayable message from the authenticator to the peer. An         authenticator MAY send a Notification Request to the peer at         any time, The peer MUST respond to a Notification Request         with a Notification Response; a Nak Response MUST NOT be         sent.         The peer SHOULD display this message to the user or log it if         it cannot be displayed. The Notification Type is intended to         provide an acknowledged notification of some imperative         nature, but it is not an error indication, and therefore does         not change the state of the peer. Examples include a password         with an expiration time that is about to expire, an OTP         sequence integer which is nearing 0, an authentication         failure warning, etc. In most circumstances, Notification         should not be required.      Type         2      Type-Data         The Type-Data field in the Request contains a displayable         message greater than zero octets in length, containing UTF-8         encoded ISO 10646 characters [RFC2279].  The length of the         message is determined by Length field of the Request packet.         The message MUST NOT be null terminated.  A Response MUST be         sent in reply to the Request with a Type field of 2         (Notification).  The Type-Data field of the Response is zero         octets in length.  The Response should be sent immediately         (independent of how the message is displayed or logged). */#include "eap_fsm.hxx"#include "eap_authfsm.hxx"#include "eap_peerfsm.hxx"#include "eap_log.hxx"#include "eap_method_registrar.hxx"/// Authenticator application can directly use this class for sending/// Notification Request and receiving Notification Response messages./// An application is not allowed to send Notification Request any/// time.  Instead, a policy element needs to be inserted to the/// policy tree, meaning that sending Notification Request message is/// allowed between the end of a method and the beggining of another/// method.class EAP_EXPORTS EapAuthNotificationStateMachine :  public EapMethodStateMachine,  public EapStateMachine<EapAuthNotificationStateMachine>{  friend class EapMethodStateMachineCreator<EapAuthNotificationStateMachine>;  friend class EapAuthNotificationStateTable_S;public:  /// Reimplemented from EapMethodStateMachine  void Start() throw(AAA_Error)  {    EapStateMachine<EapAuthNotificationStateMachine>::Start();  }  /// Reimplemented from EapMethodStateMachine  inline void Notify(AAA_Event ev)  {    EapStateMachine<EapAuthNotificationStateMachine>::Notify(ev);  }  void Receive(AAAMessageBlock *b) {}  EapAuthNotificationStateMachine(EapSwitchStateMachine &s);  ~EapAuthNotificationStateMachine() {} private:};#endif // __EAP_NOTIFICATION_HXX__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -