зеркало из https://github.com/mozilla/gecko-dev.git
changes for news over SSL. initial changes needed for SMTP over SSL, but
that isn't going to happen yet. cleanup changes for nsNewsDownloadDialogArgs (still not used yet.)
This commit is contained in:
Родитель
bcb86c8e55
Коммит
fa9ec86bb0
|
@ -54,7 +54,7 @@ nsMsgProtocol::nsMsgProtocol(nsIURI * aURL, nsIURI* originalURI)
|
||||||
nsMsgProtocol::~nsMsgProtocol()
|
nsMsgProtocol::~nsMsgProtocol()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
nsresult nsMsgProtocol::OpenNetworkSocketWithInfo(const char * aHostName, PRInt32 aGetPort)
|
nsresult nsMsgProtocol::OpenNetworkSocketWithInfo(const char * aHostName, PRInt32 aGetPort, const char *connectionType)
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG(aHostName);
|
NS_ENSURE_ARG(aHostName);
|
||||||
|
|
||||||
|
@ -65,14 +65,14 @@ nsresult nsMsgProtocol::OpenNetworkSocketWithInfo(const char * aHostName, PRInt3
|
||||||
m_readCount = -1; // with socket connections we want to read as much data as arrives
|
m_readCount = -1; // with socket connections we want to read as much data as arrives
|
||||||
m_startPosition = 0;
|
m_startPosition = 0;
|
||||||
|
|
||||||
rv = socketService->CreateTransport(aHostName, aGetPort, nsnull, 0, 0, getter_AddRefs(m_channel));
|
rv = socketService->CreateTransportOfType(connectionType, aHostName, aGetPort, nsnull, 0, 0, getter_AddRefs(m_channel));
|
||||||
if (NS_FAILED(rv)) return rv;
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
|
||||||
m_socketIsOpen = PR_FALSE;
|
m_socketIsOpen = PR_FALSE;
|
||||||
return SetupTransportState();
|
return SetupTransportState();
|
||||||
}
|
}
|
||||||
|
|
||||||
nsresult nsMsgProtocol::OpenNetworkSocket(nsIURI * aURL) // open a connection on this url
|
nsresult nsMsgProtocol::OpenNetworkSocket(nsIURI * aURL, const char *connectionType) // open a connection on this url
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG(aURL);
|
NS_ENSURE_ARG(aURL);
|
||||||
nsresult rv = NS_OK;
|
nsresult rv = NS_OK;
|
||||||
|
@ -83,7 +83,7 @@ nsresult nsMsgProtocol::OpenNetworkSocket(nsIURI * aURL) // open a connection on
|
||||||
aURL->GetPort(&port);
|
aURL->GetPort(&port);
|
||||||
aURL->GetHost(getter_Copies(hostName));
|
aURL->GetHost(getter_Copies(hostName));
|
||||||
|
|
||||||
return OpenNetworkSocketWithInfo(hostName, port);
|
return OpenNetworkSocketWithInfo(hostName, port, connectionType);
|
||||||
}
|
}
|
||||||
|
|
||||||
nsresult nsMsgProtocol::OpenFileSocket(nsIURI * aURL, const nsFileSpec * aFileSpec, PRUint32 aStartPosition, PRInt32 aReadCount)
|
nsresult nsMsgProtocol::OpenFileSocket(nsIURI * aURL, const nsFileSpec * aFileSpec, PRUint32 aStartPosition, PRInt32 aReadCount)
|
||||||
|
|
|
@ -68,8 +68,8 @@ protected:
|
||||||
// methods for opening and closing a socket with core netlib....
|
// methods for opening and closing a socket with core netlib....
|
||||||
// mscott -okay this is lame. I should break this up into a file protocol and a socket based
|
// mscott -okay this is lame. I should break this up into a file protocol and a socket based
|
||||||
// protocool class instead of cheating and putting both methods here...
|
// protocool class instead of cheating and putting both methods here...
|
||||||
virtual nsresult OpenNetworkSocket(nsIURI * aURL); // open a connection on this url
|
virtual nsresult OpenNetworkSocket(nsIURI * aURL, const char *connectionType); // open a connection on this url
|
||||||
virtual nsresult OpenNetworkSocketWithInfo(const char * aHostName, PRInt32 aGetPort); // open a connection with a specific host and port
|
virtual nsresult OpenNetworkSocketWithInfo(const char * aHostName, PRInt32 aGetPort, const char *connectionType); // open a connection with a specific host and port
|
||||||
virtual nsresult OpenFileSocket(nsIURI * aURL, const nsFileSpec * aFileSpec, PRUint32 aStartPosition, PRInt32 aReadCount); // used to open a file socket connection
|
virtual nsresult OpenFileSocket(nsIURI * aURL, const nsFileSpec * aFileSpec, PRUint32 aStartPosition, PRInt32 aReadCount); // used to open a file socket connection
|
||||||
|
|
||||||
// a Protocol typically overrides this method. They free any of their own connection state and then
|
// a Protocol typically overrides this method. They free any of their own connection state and then
|
||||||
|
|
|
@ -317,8 +317,10 @@ void nsSmtpProtocol::Initialize(nsIURI * aURL)
|
||||||
rv = RequestOverrideInfo(smtpServer);
|
rv = RequestOverrideInfo(smtpServer);
|
||||||
// if we aren't waiting for a login override, then go ahead an
|
// if we aren't waiting for a login override, then go ahead an
|
||||||
// open the network connection like we normally would have.
|
// open the network connection like we normally would have.
|
||||||
if (NS_FAILED(rv) || !TestFlag(SMTP_WAIT_FOR_REDIRECTION))
|
if (NS_FAILED(rv) || !TestFlag(SMTP_WAIT_FOR_REDIRECTION)) {
|
||||||
rv = OpenNetworkSocket(aURL);
|
// pass in "ssl" for the last arg if you want this to be over SSL
|
||||||
|
rv = OpenNetworkSocket(aURL, nsnull);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const char * nsSmtpProtocol::GetUserDomainName()
|
const char * nsSmtpProtocol::GetUserDomainName()
|
||||||
|
@ -1647,7 +1649,8 @@ NS_IMETHODIMP nsSmtpProtocol::OnLogonRedirectionReply(const PRUnichar * aHost, u
|
||||||
|
|
||||||
// now that we have a host and port to connect to,
|
// now that we have a host and port to connect to,
|
||||||
// open up the channel...
|
// open up the channel...
|
||||||
rv = OpenNetworkSocketWithInfo(nsCAutoString(aHost), aPort);
|
// pass in "ssl" for the last arg if you want this to be over SSL
|
||||||
|
rv = OpenNetworkSocketWithInfo(nsCAutoString(aHost), aPort, nsnull);
|
||||||
|
|
||||||
// we are no longer waiting for a logon redirection reply
|
// we are no longer waiting for a logon redirection reply
|
||||||
ClearFlag(SMTP_WAIT_FOR_REDIRECTION);
|
ClearFlag(SMTP_WAIT_FOR_REDIRECTION);
|
||||||
|
|
|
@ -89,6 +89,12 @@ typedef enum _PrefAuthMethod {
|
||||||
PREF_AUTH_TLS_ONLY = 4
|
PREF_AUTH_TLS_ONLY = 4
|
||||||
} PrefAuthMethod;
|
} PrefAuthMethod;
|
||||||
|
|
||||||
|
typedef enum _PrefTrySSL {
|
||||||
|
PREF_NO_SSL = 0,
|
||||||
|
PREF_TRY_SSL = 1,
|
||||||
|
PREF_ALWAYS_SSL = 2
|
||||||
|
} PrefTrySSL;
|
||||||
|
|
||||||
class nsSmtpProtocol : public nsMsgProtocol,
|
class nsSmtpProtocol : public nsMsgProtocol,
|
||||||
public nsIMsgLogonRedirectionRequester
|
public nsIMsgLogonRedirectionRequester
|
||||||
{
|
{
|
||||||
|
|
|
@ -418,7 +418,8 @@ nsresult nsPop3Protocol::Initialize(nsIURI * aURL)
|
||||||
}
|
}
|
||||||
|
|
||||||
m_url = do_QueryInterface(aURL);
|
m_url = do_QueryInterface(aURL);
|
||||||
rv = OpenNetworkSocket(aURL);
|
// if the server is secure, pass in "ssl" for the last arg
|
||||||
|
rv = OpenNetworkSocket(aURL, nsnull);
|
||||||
if(NS_FAILED(rv))
|
if(NS_FAILED(rv))
|
||||||
return rv;
|
return rv;
|
||||||
} // if we got a url...
|
} // if we got a url...
|
||||||
|
|
|
@ -148,5 +148,4 @@
|
||||||
0x196b4b30, 0xe18c, 0x11d2, \
|
0x196b4b30, 0xe18c, 0x11d2, \
|
||||||
{ 0x80, 0x6e, 0x0, 0x60, 0x8, 0x12, 0x8c, 0x4e } }
|
{ 0x80, 0x6e, 0x0, 0x60, 0x8, 0x12, 0x8c, 0x4e } }
|
||||||
|
|
||||||
|
|
||||||
#endif // nsMsgNewsCID_h__
|
#endif // nsMsgNewsCID_h__
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include "nsISupports.idl"
|
#include "nsISupports.idl"
|
||||||
|
|
||||||
[scriptable, uuid(b5037f06-1dd1-11b2-bf61-fcab5b5837a7)]
|
[scriptable, uuid(b5037f06-1dd1-11b2-bf61-fcab5b5837a7)]
|
||||||
interface nsINewsDownloadHeadersDialogArgs: nsISupports {
|
interface nsINewsDownloadDialogArgs: nsISupports {
|
||||||
attribute string groupName;
|
attribute string groupName;
|
||||||
attribute long articleCount;
|
attribute long articleCount;
|
||||||
attribute string serverKey;
|
attribute string serverKey;
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
* Rights Reserved.
|
* Rights Reserved.
|
||||||
*
|
*
|
||||||
* Contributor(s):
|
* Contributor(s):
|
||||||
|
* Seth Spitzer <sspitzer@netscape.com>
|
||||||
* Pierre Phaneuf <pp@ludusdesign.com>
|
* Pierre Phaneuf <pp@ludusdesign.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,9 @@
|
||||||
#include "nsINetPrompt.h"
|
#include "nsINetPrompt.h"
|
||||||
#include "nntpCore.h"
|
#include "nntpCore.h"
|
||||||
|
|
||||||
|
#undef GetPort // XXX Windows!
|
||||||
|
#undef SetPort // XXX Windows!
|
||||||
|
|
||||||
#define DEFAULT_NEWS_CHUNK_SIZE -1
|
#define DEFAULT_NEWS_CHUNK_SIZE -1
|
||||||
|
|
||||||
// ***jt -- the following were pirated from xpcom/io/nsByteBufferInputStream
|
// ***jt -- the following were pirated from xpcom/io/nsByteBufferInputStream
|
||||||
|
@ -465,6 +468,7 @@ nsresult nsNNTPProtocol::Initialize(void)
|
||||||
{
|
{
|
||||||
nsresult rv = NS_OK;
|
nsresult rv = NS_OK;
|
||||||
net_NewsChunkSize = DEFAULT_NEWS_CHUNK_SIZE;
|
net_NewsChunkSize = DEFAULT_NEWS_CHUNK_SIZE;
|
||||||
|
PRBool isSecure = PR_FALSE;
|
||||||
|
|
||||||
rv = m_url->GetHost(getter_Copies(m_hostName));
|
rv = m_url->GetHost(getter_Copies(m_hostName));
|
||||||
if (NS_FAILED(rv)) return rv;
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
@ -472,8 +476,7 @@ nsresult nsNNTPProtocol::Initialize(void)
|
||||||
if (NS_FAILED(rv)) return rv;
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
|
||||||
// retrieve the AccountManager
|
// retrieve the AccountManager
|
||||||
NS_WITH_SERVICE(nsIMsgAccountManager, accountManager,
|
NS_WITH_SERVICE(nsIMsgAccountManager, accountManager, NS_MSGACCOUNTMANAGER_PROGID, &rv);
|
||||||
NS_MSGACCOUNTMANAGER_PROGID, &rv);
|
|
||||||
if (NS_FAILED(rv)) return rv;
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
|
||||||
// find the news host
|
// find the news host
|
||||||
|
@ -492,8 +495,25 @@ nsresult nsNNTPProtocol::Initialize(void)
|
||||||
net_NewsChunkSize = max_articles;
|
net_NewsChunkSize = max_articles;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rv = server->GetIsSecure(&isSecure);
|
||||||
|
if (NS_FAILED(rv)) return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PRInt32 port = 0;
|
||||||
|
rv = m_url->GetPort(&port);
|
||||||
|
if (NS_FAILED(rv) || !port || (port == -1)) {
|
||||||
|
if (isSecure) {
|
||||||
|
port = SECURE_NEWS_PORT;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
port = NEWS_PORT;
|
||||||
|
}
|
||||||
|
|
||||||
|
rv = m_url->SetPort(port);
|
||||||
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
}
|
||||||
|
|
||||||
NS_PRECONDITION(m_url, "invalid URL passed into NNTP Protocol");
|
NS_PRECONDITION(m_url, "invalid URL passed into NNTP Protocol");
|
||||||
|
|
||||||
// Right now, we haven't written an nsNNTPURL yet. When we do, we'll pull the event sink
|
// Right now, we haven't written an nsNNTPURL yet. When we do, we'll pull the event sink
|
||||||
|
@ -517,9 +537,13 @@ nsresult nsNNTPProtocol::Initialize(void)
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// call base class to set up the transport
|
// call base class to set up the transport
|
||||||
rv = OpenNetworkSocket(m_url);
|
if (isSecure) {
|
||||||
|
rv = OpenNetworkSocket(m_url, "ssl");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
rv = OpenNetworkSocket(m_url, nsnull);
|
||||||
|
}
|
||||||
|
|
||||||
m_dataBuf = (char *) PR_Malloc(sizeof(char) * OUTPUT_BUFFER_SIZE);
|
m_dataBuf = (char *) PR_Malloc(sizeof(char) * OUTPUT_BUFFER_SIZE);
|
||||||
m_dataBufSize = OUTPUT_BUFFER_SIZE;
|
m_dataBufSize = OUTPUT_BUFFER_SIZE;
|
||||||
|
@ -624,7 +648,6 @@ nsresult nsNNTPProtocol::LoadUrl(nsIURI * aURL, nsISupports * aConsumer)
|
||||||
if (!m_newsHost)
|
if (!m_newsHost)
|
||||||
{
|
{
|
||||||
PRInt32 port = 0;
|
PRInt32 port = 0;
|
||||||
aURL->GetPort(&port);
|
|
||||||
|
|
||||||
rv = nsComponentManager::CreateInstance(kNNTPHostCID,
|
rv = nsComponentManager::CreateInstance(kNNTPHostCID,
|
||||||
nsnull,
|
nsnull,
|
||||||
|
@ -637,20 +660,38 @@ nsresult nsNNTPProtocol::LoadUrl(nsIURI * aURL, nsISupports * aConsumer)
|
||||||
// m_newsHost holds m_runningURL (make this a weak reference)
|
// m_newsHost holds m_runningURL (make this a weak reference)
|
||||||
// m_runningURL holds m_newsHost
|
// m_runningURL holds m_newsHost
|
||||||
// need to make sure there is no cycle.
|
// need to make sure there is no cycle.
|
||||||
m_newsHost->Initialize(m_runningURL, m_userName, m_hostName, port ? port : NEWS_PORT);
|
|
||||||
|
// retrieve the AccountManager
|
||||||
|
NS_WITH_SERVICE(nsIMsgAccountManager, accountManager, NS_MSGACCOUNTMANAGER_PROGID, &rv);
|
||||||
|
if (NS_FAILED(rv)) goto FAIL;
|
||||||
|
|
||||||
|
// find the news host
|
||||||
|
nsCOMPtr<nsIMsgIncomingServer> server;
|
||||||
|
rv = accountManager->FindServer(m_userName,
|
||||||
|
m_hostName,
|
||||||
|
"nntp",
|
||||||
|
getter_AddRefs(server));
|
||||||
|
if (NS_FAILED(rv)) goto FAIL;
|
||||||
|
|
||||||
|
PRBool isSecure = PR_FALSE;
|
||||||
|
rv = server->GetIsSecure(&isSecure);
|
||||||
|
if (NS_FAILED(rv)) goto FAIL;
|
||||||
|
|
||||||
|
if (!port) {
|
||||||
|
if (isSecure) {
|
||||||
|
port = SECURE_NEWS_PORT;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
port = NEWS_PORT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_newsHost->Initialize(m_runningURL, m_userName, m_hostName, port);
|
||||||
|
|
||||||
// save it on our url for future use....
|
// save it on our url for future use....
|
||||||
m_runningURL->SetNntpHost(m_newsHost);
|
m_runningURL->SetNntpHost(m_newsHost);
|
||||||
|
|
||||||
#if SETH_HACK
|
if (NS_FAILED(rv)) goto FAIL;
|
||||||
// read in the newsrc file now, to build up the host correctly.
|
|
||||||
char *newshosturi = PR_smprintf("%s/%s", kNewsRootURI, hostAndPort /* really just hostname */);
|
|
||||||
rv = m_newsHost->LoadNewsrc(newshosturi);
|
|
||||||
PR_FREEIF(newshosturi);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (NS_FAILED(rv))
|
|
||||||
goto FAIL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (NS_FAILED(rv))
|
if (NS_FAILED(rv))
|
||||||
|
|
|
@ -21,10 +21,10 @@
|
||||||
* Seth Spitzer <sspitzer@netscape.com>
|
* Seth Spitzer <sspitzer@netscape.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "nsNewsDownloadHeadersDialogArgs.h"
|
#include "nsNewsDownloadDialogArgs.h"
|
||||||
#include "nsCRT.h"
|
#include "nsCRT.h"
|
||||||
|
|
||||||
nsNewsDownloadHeadersDialogArgs::nsNewsDownloadHeadersDialogArgs()
|
nsNewsDownloadDialogArgs::nsNewsDownloadDialogArgs()
|
||||||
{
|
{
|
||||||
NS_INIT_REFCNT();
|
NS_INIT_REFCNT();
|
||||||
|
|
||||||
|
@ -35,13 +35,13 @@ nsNewsDownloadHeadersDialogArgs::nsNewsDownloadHeadersDialogArgs()
|
||||||
mDownloadAll = PR_FALSE;
|
mDownloadAll = PR_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
nsNewsDownloadHeadersDialogArgs::~nsNewsDownloadHeadersDialogArgs()
|
nsNewsDownloadDialogArgs::~nsNewsDownloadDialogArgs()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMPL_ISUPPORTS(nsNewsDownloadHeadersDialogArgs, NS_GET_IID(nsINewsDownloadHeadersDialogArgs));
|
NS_IMPL_ISUPPORTS(nsNewsDownloadDialogArgs, NS_GET_IID(nsINewsDownloadDialogArgs));
|
||||||
|
|
||||||
NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::GetGroupName(char * *aGroupName)
|
NS_IMETHODIMP nsNewsDownloadDialogArgs::GetGroupName(char * *aGroupName)
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG_POINTER(aGroupName);
|
NS_ENSURE_ARG_POINTER(aGroupName);
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::GetGroupName(char * *aGroupName)
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::SetGroupName(const char * aGroupName)
|
NS_IMETHODIMP nsNewsDownloadDialogArgs::SetGroupName(const char * aGroupName)
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG_POINTER(aGroupName);
|
NS_ENSURE_ARG_POINTER(aGroupName);
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::SetGroupName(const char * aGroupN
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::GetArticleCount(PRInt32 *aArticleCount)
|
NS_IMETHODIMP nsNewsDownloadDialogArgs::GetArticleCount(PRInt32 *aArticleCount)
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG_POINTER(aArticleCount);
|
NS_ENSURE_ARG_POINTER(aArticleCount);
|
||||||
|
|
||||||
|
@ -65,20 +65,20 @@ NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::GetArticleCount(PRInt32 *aArticle
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::SetArticleCount(PRInt32 aArticleCount)
|
NS_IMETHODIMP nsNewsDownloadDialogArgs::SetArticleCount(PRInt32 aArticleCount)
|
||||||
{
|
{
|
||||||
mArticleCount = aArticleCount;
|
mArticleCount = aArticleCount;
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::GetServerKey(char * *aServerKey)
|
NS_IMETHODIMP nsNewsDownloadDialogArgs::GetServerKey(char * *aServerKey)
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG_POINTER(aServerKey);
|
NS_ENSURE_ARG_POINTER(aServerKey);
|
||||||
|
|
||||||
*aServerKey = nsCRT::strdup((const char *)mServerKey);
|
*aServerKey = nsCRT::strdup((const char *)mServerKey);
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::SetServerKey(const char * aServerKey)
|
NS_IMETHODIMP nsNewsDownloadDialogArgs::SetServerKey(const char * aServerKey)
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG_POINTER(aServerKey);
|
NS_ENSURE_ARG_POINTER(aServerKey);
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::SetServerKey(const char * aServer
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::GetHitOK(PRBool *aHitOK)
|
NS_IMETHODIMP nsNewsDownloadDialogArgs::GetHitOK(PRBool *aHitOK)
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG_POINTER(aHitOK);
|
NS_ENSURE_ARG_POINTER(aHitOK);
|
||||||
|
|
||||||
|
@ -94,13 +94,13 @@ NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::GetHitOK(PRBool *aHitOK)
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::SetHitOK(PRBool aHitOK)
|
NS_IMETHODIMP nsNewsDownloadDialogArgs::SetHitOK(PRBool aHitOK)
|
||||||
{
|
{
|
||||||
mHitOK = aHitOK;
|
mHitOK = aHitOK;
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::GetDownloadAll(PRBool *aDownloadAll)
|
NS_IMETHODIMP nsNewsDownloadDialogArgs::GetDownloadAll(PRBool *aDownloadAll)
|
||||||
{
|
{
|
||||||
NS_ENSURE_ARG_POINTER(aDownloadAll);
|
NS_ENSURE_ARG_POINTER(aDownloadAll);
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::GetDownloadAll(PRBool *aDownloadA
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
NS_IMETHODIMP nsNewsDownloadHeadersDialogArgs::SetDownloadAll(PRBool aDownloadAll)
|
NS_IMETHODIMP nsNewsDownloadDialogArgs::SetDownloadAll(PRBool aDownloadAll)
|
||||||
{
|
{
|
||||||
mDownloadAll = aDownloadAll;
|
mDownloadAll = aDownloadAll;
|
||||||
|
|
||||||
|
|
|
@ -21,20 +21,20 @@
|
||||||
* Seth Spitzer <sspitzer@netscape.com>
|
* Seth Spitzer <sspitzer@netscape.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef nsNewsDownloadHeadersDialogArgs_h__
|
#ifndef nsNewsDownloadDialogArgs_h__
|
||||||
#define nsNewsDownloadHeadersDialogArgs_h__
|
#define nsNewsDownloadDialogArgs_h__
|
||||||
|
|
||||||
#include "nsINewsDownloadHeadersDialogArgs.h"
|
#include "nsINewsDownloadDialogArgs.h"
|
||||||
#include "nsString.h"
|
#include "nsString.h"
|
||||||
|
|
||||||
class nsNewsDownloadHeadersDialogArgs : public nsINewsDownloadHeadersDialogArgs
|
class nsNewsDownloadDialogArgs : public nsINewsDownloadDialogArgs
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
nsNewsDownloadHeadersDialogArgs();
|
nsNewsDownloadDialogArgs();
|
||||||
virtual ~nsNewsDownloadHeadersDialogArgs();
|
virtual ~nsNewsDownloadDialogArgs();
|
||||||
|
|
||||||
NS_DECL_ISUPPORTS
|
NS_DECL_ISUPPORTS
|
||||||
NS_DECL_NSINEWSDOWNLOADHEADERSDIALOGARGS
|
NS_DECL_NSINEWSDOWNLOADDIALOGARGS
|
||||||
|
|
||||||
private:
|
private:
|
||||||
nsCString mGroupName;
|
nsCString mGroupName;
|
||||||
|
@ -44,4 +44,4 @@ private:
|
||||||
PRBool mDownloadAll;
|
PRBool mDownloadAll;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // nsNewsDownloadHeadersDialogArgs_h__
|
#endif // nsNewsDownloadDialogArgs_h__
|
||||||
|
|
|
@ -1195,7 +1195,20 @@ nsresult nsMsgNewsFolder::CreateNewsgroupUrlForSignon(const char *inUriStr, cons
|
||||||
if (NS_FAILED(rv)) return rv;
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
|
||||||
if (port <= 0) {
|
if (port <= 0) {
|
||||||
rv = url->SetPort(NEWS_PORT);
|
nsCOMPtr<nsIMsgIncomingServer> server;
|
||||||
|
rv = GetServer(getter_AddRefs(server));
|
||||||
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
|
||||||
|
PRBool isSecure = PR_FALSE;
|
||||||
|
rv = server->GetIsSecure(&isSecure);
|
||||||
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
|
||||||
|
if (isSecure) {
|
||||||
|
rv = url->SetPort(SECURE_NEWS_PORT);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
rv = url->SetPort(NEWS_PORT);
|
||||||
|
}
|
||||||
if (NS_FAILED(rv)) return rv;
|
if (NS_FAILED(rv)) return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
* Rights Reserved.
|
* Rights Reserved.
|
||||||
*
|
*
|
||||||
* Contributor(s):
|
* Contributor(s):
|
||||||
|
* Seth Spitzer <sspitzer@netscape.com>
|
||||||
|
* Scott MacGregor <mscott@netscape.com>
|
||||||
* Pierre Phaneuf <pp@ludusdesign.com>
|
* Pierre Phaneuf <pp@ludusdesign.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -747,7 +749,6 @@ nsresult nsNntpService::PostMessage(nsIFileSpec *fileToPost, const char *newsgro
|
||||||
if (!mailnewsurl) return NS_ERROR_FAILURE;
|
if (!mailnewsurl) return NS_ERROR_FAILURE;
|
||||||
|
|
||||||
mailnewsurl->SetSpec((const char *)newsUrlSpec);
|
mailnewsurl->SetSpec((const char *)newsUrlSpec);
|
||||||
mailnewsurl->SetPort(NEWS_PORT);
|
|
||||||
|
|
||||||
if (aUrlListener) // register listener if there is one...
|
if (aUrlListener) // register listener if there is one...
|
||||||
mailnewsurl->RegisterListener(aUrlListener);
|
mailnewsurl->RegisterListener(aUrlListener);
|
||||||
|
@ -793,7 +794,6 @@ nsresult nsNntpService::ConstructNntpUrl(const char * urlString, const char * ne
|
||||||
// don't worry this cast is really okay...there'a bug in XPIDL compiler that is preventing
|
// don't worry this cast is really okay...there'a bug in XPIDL compiler that is preventing
|
||||||
// a "cont char *" in paramemter for uri SetSpec...
|
// a "cont char *" in paramemter for uri SetSpec...
|
||||||
mailnewsurl->SetSpec((char *) urlString);
|
mailnewsurl->SetSpec((char *) urlString);
|
||||||
mailnewsurl->SetPort(NEWS_PORT);
|
|
||||||
|
|
||||||
if (newsgroupName != "") {
|
if (newsgroupName != "") {
|
||||||
nsCOMPtr <nsINNTPNewsgroup> newsgroup;
|
nsCOMPtr <nsINNTPNewsgroup> newsgroup;
|
||||||
|
@ -1039,7 +1039,6 @@ NS_IMETHODIMP nsNntpService::NewURI(const char *aSpec, nsIURI *aBaseURI, nsIURI
|
||||||
// don't worry this cast is really okay...there'a bug in XPIDL compiler that is preventing
|
// don't worry this cast is really okay...there'a bug in XPIDL compiler that is preventing
|
||||||
// a "cont char *" in paramemter for uri SetSpec...
|
// a "cont char *" in paramemter for uri SetSpec...
|
||||||
(*_retval)->SetSpec((char *) aSpec);
|
(*_retval)->SetSpec((char *) aSpec);
|
||||||
(*_retval)->SetPort(NEWS_PORT);
|
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче