aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-smime-context.h
blob: 19f0e8464b35cc8d194ff5d959ac60321bee91fa (plain) (blame)
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
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
 *  Authors: Jeffrey Stedfast <fejj@ximian.com>
 *           Michael Zucchi <notzed@ximian.com>
 *
 *  Copyright 2002,2003 Ximian, Inc. (www.ximian.com)
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
 *
 */

#ifndef __CAMEL_SMIME_CONTEXT_H__
#define __CAMEL_SMIME_CONTEXT_H__

#ifdef __cplusplus
extern "C" {
#pragma }
#endif /* __cplusplus */

#include <camel/camel-cipher-context.h>

#define CAMEL_SMIME_CONTEXT_TYPE    (camel_smime_context_get_type())
#define CAMEL_SMIME_CONTEXT(obj)    (CAMEL_CHECK_CAST((obj), CAMEL_SMIME_CONTEXT_TYPE, CamelSMIMEContext))
#define CAMEL_SMIME_CONTEXT_CLASS(k)(CAMEL_CHECK_CLASS_CAST((k), CAMEL_SMIME_CONTEXT_TYPE, CamelSMIMEContextClass))
#define CAMEL_IS_SMIME_CONTEXT(o)   (CAMEL_CHECK_TYPE((o), CAMEL_SMIME_CONTEXT_TYPE))

typedef enum _camel_smime_sign_t {
    CAMEL_SMIME_SIGN_CLEARSIGN,
    CAMEL_SMIME_SIGN_ENVELOPED
} camel_smime_sign_t;

typedef enum _camel_smime_describe_t {
    CAMEL_SMIME_SIGNED = 1<<0,
    CAMEL_SMIME_ENCRYPTED = 1<<1,
    CAMEL_SMIME_CERTS = 1<<2,
    CAMEL_SMIME_CRLS = 1<<3,
} camel_smime_describe_t;

typedef struct _CamelSMIMEContext CamelSMIMEContext;
typedef struct _CamelSMIMEContextClass CamelSMIMEContextClass;

struct _CamelSMIMEContext {
    CamelCipherContext cipher;

    struct _CamelSMIMEContextPrivate *priv;
};

struct _CamelSMIMEContextClass {
    CamelCipherContextClass cipher_class;
};

CamelType camel_smime_context_get_type(void);

CamelCipherContext *camel_smime_context_new(CamelSession *session);

/* nick to use for SMIMEEncKeyPrefs attribute for signed data */
void camel_smime_context_set_encrypt_key(CamelSMIMEContext *context, gboolean use, const char *key);
/* set signing mode, clearsigned multipart/signed or enveloped */
void camel_smime_context_set_sign_mode(CamelSMIMEContext *context, camel_smime_sign_t type);

guint32 camel_smime_context_describe_part(CamelSMIMEContext *, struct _CamelMimePart *);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __CAMEL_SMIME_CONTEXT_H__ */
75196af73b7a5b'>- Update to 2.4miwi2013-07-153-11/+11 * - Update to 2.17.22gahr2013-07-152-3/+3 * - Update to 1.4.2swills2013-07-142-3/+3 * Add new port print/hplip-plugin:makc2013-07-145-0/+83 * Update to 3.13.6makc2013-07-143-4/+15 * Add support for HPLIP binary plugins.makc2013-07-132-1/+36 * - Update to 7.31.0sunpoet2013-07-121-2/+2 * Remove expired ports:rene2013-07-116-1606/+0 * Mark as job unsafe (fails with -j24)bapt2013-07-102-4/+4 * Mark job unsafe and convert to USES=gmakebapt2013-07-101-2/+2 * Convert from USE_MOTIF to USES=motifbapt2013-07-101-2/+1 * Convert from USE_MOTIF to USES=motifbapt2013-07-102-5/+2 * - Update to 2.17.21gahr2013-07-092-3/+3 * Convert remanent USE_PKGCONFIG to USES=pkgconfigbapt2013-07-061-5/+1 * Update the KDE Software Compilation to 4.10.5.rakuco2013-07-051-2/+2 * Update to KDE SC 4.10.4, proudly presented by the KDE on FreeBSD team.rakuco2013-07-032-3/+2 * - Update to version 3.40pawel2013-06-293-10/+11 * Remove USE_IMAKE leftoverbapt2013-06-291-1/+0 * Convert to USES=imakebapt2013-06-292-7/+4 * New USES imake to handle the dependency on imake.bapt2013-06-283-14/+6 * Update with new version of texinfo.texjohans2013-06-252-6/+4 * - Update to 0.12.0.4swills2013-06-232-7/+4 * - Update to 0.12.0swills2013-06-222-11/+6 * The PDF::Reader library implements a PDF parser conforming as much as possibleswills2013-06-224-0/+30 * A simple library to read Adobe Font Metrics files and use the data convenientlyswills2013-06-224-0/+22 * Font Metrics Parser for Prawnswills2013-06-224-0/+22 * - Use bsd.port.mk instead of bsd.port.pre.mk + bsd.port.post.mksunpoet2013-06-221-3/+1 * plistkwm2013-06-222-0/+5 * Update to 0.9.18.kwm2013-06-222-4/+4 * Fix build with latest clang:bsam2013-06-202-1/+15 * Reset g.gonter@ieee.org: mbox full.linimon2013-06-201-6/+2 * - Cleanup outdated checks. (PERL_LEVEL < 5.12)az2013-06-181-5/+0 * - Fix i18n manpagesmiwi2013-06-141-0/+4 * Fix package with bmake. The makefiles use :U and :L in .for loops.tijl2013-06-142-0/+2 * . fix build with clang (CFLAGS+=-Wno-return-type);bsam2013-06-131-4/+2 * - Fix plistmiwi2013-06-121-0/+1 * . fix build with clang;bsam2013-06-122-7/+12 * - Update to 2.17.20gahr2013-06-112-3/+3 * Deprecate print/lyx16 and expire it in 1 month.rakuco2013-06-111-0/+3 * Add a workaround to unbreak the build.hrs2013-06-101-0/+1 * - Unbreak buildmiwi2013-06-061-0/+1 * Enable disabled support for cairo, graphite and icu support. It was pointedkwm2013-06-063-660/+8 * * add LICENSEcrees2013-06-052-3/+6 * - Update The Glorious Glasgow Haskell Compiler to version 7.6.3pgj2013-06-051-4/+1 * ifluatex –- provides the \ifluatex switchpgj2013-06-055-0/+67 * - Update to 2.17.19gahr2013-06-032-3/+3 * * update to 0.9.13pawel2013-06-035-82/+8 * Remove bin/biber. This is a prebuilt binary in the distfile for a specifichrs2013-06-032-2/+2 * Update to version 0.4.3pawel2013-06-033-7/+11 * - Fix typo w.r.t. XDG_OPEN optioneadler2013-06-022-2/+29 * Explicitly use another name for the distfile.rakuco2013-06-022-3/+2 * Adjust the Python dependency; LyX does not support Python3 yet.rakuco2013-06-021-1/+1 * Fix pkg-plist.hrs2013-06-013-2/+4 * - Do not try to remove dirs. not created by the portmiwi2013-05-311-3/+0 * Unbreak with clang using -Wno-error=return-type (old K&R code)antoine2013-05-311-0/+1 * - Update MASTER_SITES and WWW: linewg2013-05-292-2/+2 * - Update to 1.3.8.araujo2013-05-272-8/+4 * Do not try to delete directories not created by the portbapt2013-05-272-7/+1 * - Forgot to trim header on my latest commit.araujo2013-05-271-4/+1 * - Update to 6.6.22.araujo2013-05-272-3/+3 * Do not remove directories not actually created by the portbapt2013-05-271-2/+0 * USE_GNOME=desktopfileutils -> USES=desktop-file-utilsbsam2013-05-272-7/+2 * The FreeBSD x11 team proudly presentszeising2013-05-251-3/+2 * Remove a debugging information forgotten at the previous commit.bsam2013-05-251-1/+0 * . update to version 1.4.2;bsam2013-05-254-32/+423 * Remove duplicate files with print/texlive-infra.hrs2013-05-232-3/+3 * Fix build.hrs2013-05-231-1/+1 * Fix build.hrs2013-05-231-1/+1 * Fix dependency.hrs2013-05-231-9/+8 * - Fix duplicated pkg-plist entries.hrs2013-05-2220-30073/+30389 * Use USE_TEX for dependency.hrs2013-05-211-6/+2 * - Trim old-style header.hrs2013-05-214-95/+28 * Add USE_TEX=texhash-bootstrap to fix initial ls-R file catalog generation.hrs2013-05-212-6/+6 * - Remove obsolete print/yatex-xemacs.hrs2013-05-2115-352/+52 * Set USE_TEX=tetex. This conflicts with print/tex-dvipdfmx.hrs2013-05-211-8/+3 * Set USE_TEX=tetex because CJK 4.8.3 is included in TeXLive.hrs2013-05-211-2/+2 * Update to 0.0.6.jkim2013-05-213-5/+4 * Add USE_TEX=texlive for TeXLive-specific ports.hrs2013-05-199-9/+9 * KDE/FreeBSD team presents KDE SC 4.10.3 ports!makc2013-05-191-2/+2 * Adjust Qt dependencies to fix a bug which prevented images from being shown.rakuco2013-05-191-3/+3 * Update to 0.9.16.kwm2013-05-184-63/+168 * Unbreak after update to 2.4.12.kwm2013-05-172-1/+2 * Update to 2.4.12 and add a new option, CFF_HINTING_ADOBE. Themezz2013-05-174-13/+19 * Fix fmtutil.cnf issue (missing %D).hrs2013-05-172-2/+3 * Mark USE_TEX=texlive in TeXLive-specific ports.hrs2013-05-154-7/+4 * - Add explicit perl dependency (build + run)johans2013-05-151-0/+2 * Fix typo in OPTIONS_DEFINE, the second PYTHON should be PANGO.rakuco2013-05-151-1/+1 * Update to 9.5.5.hrs2013-05-152-3/+3 * - Fix build with clangmiwi2013-05-154-13/+25 * Remove sk2ps from dependency.hrs2013-05-131-2/+3 * Fix all shebang linesbapt2013-05-131-2/+9 * Use USE_TEX=full.hrs2013-05-131-1/+2 * - Convert to PEAR_AUTOINSTALLmiwi2013-05-131-14/+3 * - Update to 2.17.18gahr2013-05-132-3/+3 * - Add missing sharedmime to the list of USE_KDE4 components. It will bemakc2013-05-132-6/+1 * Use shared HUNSPELL description added in r317928.rakuco2013-05-121-1/+0 * Update to 1.12.rakuco2013-05-122-3/+3 * Temporarily disable MAKE_JOBS_SAFE=yes until the cause becomes clear.hrs2013-05-121-1/+1 * Rectify USE_TEX to support both of teTeX and TeXLive.hrs2013-05-1264-79/+70 * Fix circular dependency via USE_TEX.hrs2013-05-101-1/+1 * Fix the case when LANG is not set.hrs2013-05-102-5/+9 * - Update to 2.0.6.rakuco2013-05-106-109/+8 * Split off print/tex-dvipsk from print/texlive-base. libpaper supporthrs2013-05-1012-1714/+1822