For a security fix, I added a new method onto nsIProtocolHandler.

    /**
     * Allows a protocol to override blacklisted ports.
     *
     * |allowPort| will be called when there is an attempt to connect to a port
     * that is blacklisted.  For example, for most protocols, port 25 (Simple Mail
     * Transfer) is banned.  When a url containing this "known-to-do-bad-things"
     * port number is encountered, this function will be called to ask if the
     * protocol handler wants to override the band.
     */

    boolean allowPort(in long port, in string scheme);
 

If you are a protocol handler implementer and want to work with 0.9.1, you must implement this new method.  For most situations, the implementation is:

NS_IMETHODIMP
YourHandler::AllowPort(PRInt32 port, const char *scheme, PRBool *_retval)
{
   *_retval = PR_FALSE;
    return NS_OK;
}

If you have any questions regarding your impelmentation, feel free to email me.  Sorry for the short notice.  The bug that required this is  http://bugzilla.mozilla.org/show_bug.cgi?id=83401. It may be still security confidential... at some point, I guess, it will be opened to the public.

--
Doug Turner
[EMAIL PROTECTED]

Reply via email to