Revision control

Copy as Markdown

Other Tools

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
typedef unsigned long nsMsgKey;
typedef unsigned long nsMsgViewIndex;
typedef long nsMsgSearchScopeValue;
typedef long nsMsgPriorityValue;
typedef long nsMsgSocketTypeValue;
typedef long nsMsgAuthMethodValue;
typedef unsigned long nsMsgJunkStatus;
typedef unsigned long nsMsgJunkScore;
[scriptable, uuid(94C0D8D8-2045-11d3-8A8F-0060B0FC04D2)]
interface nsMsgPriority : nsISupports {
const nsMsgPriorityValue notSet = 0;
const nsMsgPriorityValue none = 1;
const nsMsgPriorityValue lowest = 2;
const nsMsgPriorityValue low = 3;
const nsMsgPriorityValue normal = 4;
const nsMsgPriorityValue high = 5;
const nsMsgPriorityValue highest = 6;
//the default priority (if none) is set in the message
const nsMsgPriorityValue Default = 4;
};
/**
* Defines whether to use SSL or STARTTLS or not.
* Used by @see nsIMsgIncomingServer.socketType
* and @see nsISmtpServer.socketType
*/
[scriptable, uuid(bc78bc74-1b34-48e8-ac2b-968e8dff1aeb)]
interface nsMsgSocketType : nsISupports {
/// No SSL or STARTTLS
const nsMsgSocketTypeValue plain = 0;
/// Use TLS via STARTTLS, but only if server offers it.
/// @deprecated This is vulnerable to MITM attacks
const nsMsgSocketTypeValue trySTARTTLS = 1;
/// Insist on TLS via STARTTLS.
/// Uses normal port.
const nsMsgSocketTypeValue alwaysSTARTTLS = 2;
/// Connect via SSL.
/// Needs special SSL port.
const nsMsgSocketTypeValue SSL = 3;
};
/**
* Defines which authentication schemes we should try.
* Used by @see nsIMsgIncomingServer.authMethod
* and @see nsISmtpServer.authMethod
*/
[scriptable, uuid(4a10e647-d179-4a53-b7ef-df575ff5f405)]
interface nsMsgAuthMethod : nsISupports {
// 0 is intentionally undefined and invalid
/// No login needed. E.g. IP-address-based.
const nsMsgAuthMethodValue none = 1;
/// Do not use AUTH commands (e.g. AUTH=PLAIN),
/// but the original login commands that the protocol specified
/// (POP: "USER"/"PASS", IMAP: "login", not valid for SMTP)
const nsMsgAuthMethodValue old = 2;
/// password in the clear. AUTH=PLAIN/LOGIN or old-style login.
const nsMsgAuthMethodValue passwordCleartext = 3;
/// hashed password. CRAM-MD5, DIGEST-MD5
const nsMsgAuthMethodValue passwordEncrypted = 4;
/// Kerberos / GSSAPI (Unix single-signon)
const nsMsgAuthMethodValue GSSAPI = 5;
/// NTLM is a Windows single-singon scheme.
/// Includes MSN / Passport.net, which is the same with a different name.
const nsMsgAuthMethodValue NTLM = 6;
/// Auth External is cert-based authentication
const nsMsgAuthMethodValue External = 7;
/// Encrypted password or Kerberos / GSSAPI or NTLM.
/// @deprecated - for migration only.
const nsMsgAuthMethodValue secure = 8;
/// Let us pick any of the auth types supported by the server.
/// Discouraged, because vulnerable to MITM attacks, even if server offers secure auth.
const nsMsgAuthMethodValue anything = 9;
/// Use OAuth2 to authenticate.
const nsMsgAuthMethodValue OAuth2 = 10;
};
typedef long nsMsgViewSortOrderValue;
typedef long nsMsgViewSortTypeValue;
typedef long nsMsgViewTypeValue;
typedef long nsMsgViewFlagsTypeValue;