Subject: [AAA-WG]: RE: API, latest draft

From: Cain Brian-BCAIN1 <[email-masked]>
Date: Tue, 24 Apr 2001 13:04:59 -0500

James, et. al,

from AAASessionManager, section 4.4.1:
>      public int getSessionCode(InetAddress host)
>
>   Return the session code corresponding to the host. If no session is
>   currently active with the host, return NO_SESSION_CODE

It is possible (and VERY likely) for several AAA sessions to exist with one AAA peer.  Ergo, an IP is an insufficient key for session lookups.  Alternative: return ALL sessions associated w/given peer.  (This presumes that the API's internal session code is one-to-one w/AAA Session Identifier).

~~~

AAAClientSessionManager:
>      public static
>      registerUnsolictedExceptionHandler(UnsolicitedExceptionHandler handler)
>
>   Register a handler for exceptions that occur during input of unsolicited
>   messages, for example, parse errors. This handler is global for all
>   sessions and all client application code in this executing instance of the
>   Java virtual machine.

How about "registerUnsolicitedMessageExceptionHandler()"?  Yes, it is a bit long; but still, no one solicits an exception, right?  If the method name stays, fix the typo: "registerUnsolictedExceptionHandler" -> "registerUnsolicitedExceptionHandler".

Naming aside, I think parse errors should not be listed as an example for an exceptional condition that can be handled.  A parse error seems like a protocol issue that should be handled internal to the library.  If the protocol calls for an MRI to be sent, the library should do it, and not rely on the UnsolicitedExceptionHandler to take this action.  If it's the case that the handler is called in addition to library handling, that's better, but I still have to wonder why anyone would want to know about messages that have parse errors.  (The above goes the same for solicited messages, too, for that matter).

~~~

Section numbering:
>     4.2   Errors and Exceptions
>       4.2.1 Class AAAException
>       4.2.2 Class AAAMessageException
>     4.3 Library Management and Dictionary Management
>       4.3.1 Class AAA
>       4.3.2 Class AAACommandDictionary
>       4.3.3 Class AVPDescriptor
>       4.3.4 Class AAACommandDescriptor
-       4.2.5 Class AAAExtension
+       4.3.5 Class AAAExtension

Duplicate '4.3's:
-     4.3 Messages and AVPs
+     4.4 Messages and AVPs
-       4.3.1 Class AAAMessage
+       4.4.1 Class AAAMessage
-       4.3.2 Class AVP
+       4.4.2 Class AVP
-       4.3.3 Class EncapsulatingAVP
+       4.4.3 Class EncapsulatingAVP
(... etc ... continue shifting sections below....)
>     4.4 Session Management
>       4.4.1 Class AAASessionManager
>       4.4.2 Class AAAClientSessionManager
>       4.4.3 Class AAAServerSessionManager
>       4.4.4 Class UnsolicitedExceptionHandler
>       4.4.5 Class AAAMessageListener

--
-Brian
[email-masked]