summaryrefslogtreecommitdiffstats
path: root/mailnews/base/public/MailNewsTypes2.idl
blob: 5c6d922cca00129450ce96bcb364b928ec68f030 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/* -*- 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/. */

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 {
    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 {
    /// 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 {
    // 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 unsigned long nsMsgLabelValue;

typedef long nsMsgViewSortOrderValue;
typedef long nsMsgViewSortTypeValue;
typedef long nsMsgViewTypeValue;
typedef long nsMsgViewFlagsTypeValue;