BIND 10 #1542: socket creator protocol should distinguish socket level and other errors

BIND 10 Development do-not-reply at isc.org
Wed Jan 4 22:28:22 UTC 2012


#1542: socket creator protocol should distinguish socket level and other errors
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  defect        |                       Status:  new
            Priority:  blocker       |                    Milestone:  Next-
           Component:  Boss of BIND  |  Sprint-Proposed
           Sensitive:  0             |                     Keywords:
         Sub-Project:  DNS           |              Defect Severity:  N/A
Estimated Difficulty:  0             |  Feature Depending on Ticket:
         Total Hours:  0             |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
 Currently (based on master and #1522), if (e.g.) a requested socket
 cannot be created or bound to the specified address/port (such as
 due to missing privilege or duplicate use), the boss simply returns a
 CC message with the rcode of 1.  The requestor code will then throw
 CCSessionError.

 Since the non 0 return code and CCSessionError from the requestor can
 happen for other unusual errors (such as connection reset or bogus
 return data from the boss, possibly due to a bug), the application
 won't be able to detect how serious this situation is and how/whether
 to recover from this situation.

 The boss should return a specific result code or something for the
 possible and more likely-to-happen errors like a socket binding
 failure from other errors (e.g., it could return a specific non 0
 rcode for this purpose).  The requestor should also distinguish these
 cases for the return value to the caller.

 I'd personally suggest using a non exception way for socket level
 errors, but it could also be a separate exception than CCSessionError
 and SocketError.

-- 
Ticket URL: <http://bind10.isc.org/ticket/1542>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list