aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-multipart-signed.h
blob: be0a8b4d9dad6dcb94fe30f42fcf9f14a8d140bb (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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
 * camel-signed--multipart.h : class for a signed-multipart 
 *
 * Authors: Michael Zucchi <notzed@ximian.com>
 *
 * Copyright 2002 Ximian, Inc. (www.ximian.com)
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of version 2 of the GNU General Public
 * License as published by the Free Software Foundation.
 *
 * 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 Place, Suite 330, Boston, MA 02111-1307
 * USA
 */

/* Should this be a subclass of multipart?
   No, because we dont have different parts?
   I'm not really sure yet ... ? */

#ifndef CAMEL_MULTIPART_SIGNED_H
#define CAMEL_MULTIPART_SIGNED_H 1

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

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

#define CAMEL_MULTIPART_SIGNED_TYPE     (camel_multipart_signed_get_type ())
#define CAMEL_MULTIPART_SIGNED(obj)     (CAMEL_CHECK_CAST((obj), CAMEL_MULTIPART_SIGNED_TYPE, CamelMultipartSigned))
#define CAMEL_MULTIPART_SIGNED_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_MULTIPART_SIGNED_TYPE, CamelMultipartSignedClass))
#define CAMEL_IS_MULTIPART_SIGNED(o)    (CAMEL_CHECK_TYPE((o), CAMEL_MULTIPART_SIGNED_TYPE))

/*
enum {
    CAMEL_MULTIPART_EMPTY,
    CAMEL_MULTIPART_CONST,
    CAMEL_MULTIPART_SIGN,
    CAMEL_MULTIPART_ENCR,
};
*/

/* 'handy' enums for getting the internal parts of the multipart */
enum {
    CAMEL_MULTIPART_SIGNED_CONTENT,
    CAMEL_MULTIPART_SIGNED_SIGNATURE,
};

typedef struct _CamelMultipartSigned CamelMultipartSigned;

struct _CamelMultipartSigned
{
    CamelMultipart parent_object;

    /* these are the client visible parts, decoded forms of our data wrapper content */
    CamelMimePart *content;
    CamelMimePart *signature;

    /* the raw content which must go over the wire, if we have generated it */
    /* perhaps this should jsut set data_wrapper->stream and update start1/end1 accordingly, as it is done
       for other parts, or visa versa? */
    CamelStream *contentraw;

    /*int state;*/

    /* just cache some info we use */
    char *protocol;
    char *micalg;

    /* offset pointers of start of boundary in content object */
    off_t start1, end1;
    off_t start2, end2;
};

typedef struct {
    CamelMultipartClass parent_class;
} CamelMultipartSignedClass;

/* Standard Camel function */
CamelType camel_multipart_signed_get_type (void);

/* public methods */
CamelMultipartSigned *camel_multipart_signed_new           (void);

int           camel_multipart_signed_sign      (CamelMultipartSigned *mps, CamelCipherContext *context,
                                CamelMimePart *content, const char *uiserid,
                                CamelCipherHash hash, CamelException *ex);
CamelCipherValidity  *camel_multipart_signed_verify    (CamelMultipartSigned *mps, CamelCipherContext *context,
                                CamelException *ex);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* CAMEL_MULTIPART_SIGNED_H */


lost characters in filter.ui.Matthew Barnes2009-11-221-3/+3 * Bug #602178 - [regression] Missing widget in Search folder dialogMilan Crha2009-11-181-4/+1 * Remove markup from translatable strings in ui filesClaude Paroz2009-11-171-2/+4 * Bug #592294 - Output an error message on system filter rules loading errorYan Li2009-11-171-3/+11 * Bug 589153 - Use GtkBuilder instead of libgladeMatthew Barnes2009-11-176-781/+662 * Fix a typo in EFilterPart.Matthew Barnes2009-10-271-1/+1 * Cleanup and rename filter classes.Matthew Barnes2009-10-2748-6787/+7175 * Prefer G_N_ELEMENTS over sizeof calculations.Matthew Barnes2009-10-271-2/+1 * Bug #458173 - Date selection window in "Advanced Search" inconsistentMilan Crha2009-10-161-1/+1 * Bug #594471 - Shouldn't call e_error_new/run with NULL 'parent'Milan Crha2009-10-1311-54/+35 * Bug 596848 - Use per-target CPPFLAGS in automake filesH.Habighorst2009-10-011-5/+4 * Bug #595501 - Crash on a changed filter rule removalMilan Crha2009-09-231-2/+6 * Chip away at GSEAL compliance.Matthew Barnes2009-08-174-8/+25 * More whitespace cleanup.Matthew Barnes2009-07-191-1/+1 * Fix excessive whitespace.Matthew Barnes2009-07-1413-24/+0 * Merge branch 'master' into kill-bonoboMatthew Barnes2009-07-011-2/+2 |\ | * Use AM_CPPFLAGS instead of INCLUDE in all Makefile.am.Matthew Barnes2009-07-011-1/+1 | * Hide proper widgets from filter.glade for searchesMilan Crha2009-07-011-2/+2 | * Use G_BEGIN_DECLS / G_END_DECLS macros.Matthew Barnes2009-06-191-7/+2 | * Remove a horrible hack and stuff the localizable strings into if-zero-ed blockFridrich Strba2009-06-041-16/+22 | * More code cleanup.Matthew Barnes2009-06-0211-33/+33 | * Whitespace cleanup.Matthew Barnes2009-05-292-2/+2 | * Prefer GLib basic types over C types.Matthew Barnes2009-05-2921-371/+371 | * Remove trailing whitespace, again.Matthew Barnes2009-05-2924-26/+26 * | Fix "make distcheck" errors and other build cleanups.Matthew Barnes2009-07-011-1/+1 * | Use G_BEGIN_DECLS / G_END_DECLS macros.Matthew Barnes2009-06-181-7/+2 * | More code cleanup.Matthew Barnes2009-06-0211-33/+33 * | Whitespace cleanup.Matthew Barnes2009-05-292-2/+2 * | Prefer GLib basic types over C types.Matthew Barnes2009-05-2721-371/+371 * | Merge branch 'master' into kill-bonoboMatthew Barnes2009-05-2724-29/+29 |\ \ | * | Remove trailing whitespace, again.Matthew Barnes2009-05-2724-26/+26 | |/ | * Fix compiler warnings in filter.Matthew Barnes2009-05-263-3/+3 | * Install filter/ headers to filter/ for Anjal's usage.Srinivasa Ragavan2009-05-221-0/+16 | * Fix several types of pedantic compiler warnings.Matthew Barnes2009-05-175-5/+5 | * Use Behdad's brilliant git.mk to generate .gitignore files.Matthew Barnes2009-05-021-0/+2 * | Install filter/ headers to filter/ for Anjal's usage.Srinivasa Ragavan2009-05-241-0/+16 * | Fix several types of pedantic compiler warnings.Matthew Barnes2009-05-215-5/+5 * | Use Behdad's brilliant git.mk to generate .gitignore files.Matthew Barnes2009-05-041-0/+2 * | Merge branch 'master' into kill-bonoboMatthew Barnes2009-04-292-1/+11 |\| | * Fix filter breakage after deprecated Gtk+ symbols removalMilan Crha2009-04-282-1/+11 * | Manual conflict resolutionMatthew Barnes2009-04-251-23/+0 * | Merge branch 'master' into kill-bonoboMatthew Barnes2009-04-255-243/+124 |\| | * GN-bug #572348 - Removed deprecated Gtk+ symbolsMilan Crha2009-04-245-243/+101 | * Bug 577929 – Consolidate marshallersMatthew Barnes2009-04-234-10/+2 | * Add cast to avoid warning.Tor Lillqvist2009-01-122-1/+6 | * ** Bug #567244Tor Lillqvist2009-01-112-6/+12 | * ** Fix for bug #567031Milan Crha2009-01-082-1/+8 | * ** Fix for bug #339879Milan Crha2009-01-084-6/+30 | * ** Part of fix for bug #563669Milan Crha2008-12-152-1/+8 | * ** Fix for bug #563870Milan Crha2008-12-107-409/+63 | * ** Fix for bug #563669Milan Crha2008-12-092-1/+8 | * ** Fix for bug #332629Milan Crha2008-12-064-6/+115 | * ** Fix for bug #503898Matthew Barnes2008-10-172-3/+9 | * ** Fix for bug #554566Lucian Langa2008-10-062-2/+34 | * Change License from GPL to LGPL.Sankarasivasubramanian Pasupathilingam2008-10-012-13/+20 | * License changes from GPL to LGPLSankarasivasubramanian Pasupathilingam2008-09-292-14/+20 | * License change from GPL to LGPLSankarasivasubramanian Pasupathilingam2008-09-254-44/+50 | * License changes from GPL to LGPLSankarasivasubramanian Pasupathilingam2008-09-242-13/+20 | * License changes from GPL to LGPLSankarasivasubramanian Pasupathilingam2008-09-163-28/+35 | * Change License from GPL to LGPL. 2nd batch.Sankarasivasubramanian Pasupathilingam2008-09-0315-191/+215 | * License ChangesSankarasivasubramanian Pasupathilingam2008-08-275-59/+69 | * Reviewed by Srinivasa Ragavan <sragavan@novell.com>Takao Fujiwara2008-07-302-3/+12 | * ** Fix for bug #530388Milan Crha2008-07-282-16/+28 * | Merge revisions 36866:37046 from trunk.Matthew Barnes2009-01-127-14/+63 * | Merge revisions 36811:36865 from trunk.Matthew Barnes2008-12-119-393/+163 * | Merge revisions 36534:36684 from trunk.Matthew Barnes2008-10-253-5/+43 * | Merge revisions 36016:36533 from trunk.Matthew Barnes2008-10-029-112/+145 * | Progress update:Matthew Barnes2008-09-184-10/+2 * | Merge revisions 36016:36303 from trunk.Matthew Barnes2008-09-1119-250/+284 * | Progress update:Matthew Barnes2008-09-071-1/+0 * | Merge revisions 35747:35930 from trunk.Matthew Barnes2008-08-083-19/+40 |/ * ** Fix for bug #243201Milan Crha2008-07-032-1/+12 * Patch from Maciej Piechotka <uzytkownik2@gmail.com>Tobias Mueller2008-06-283-2/+10 * fixed copyright noticesJeffrey Stedfast2008-06-2126-26/+26 * ** Fix for bug #382783Milan Crha2008-06-202-0/+41 * ** Fix for bug #201011Milan Crha2008-06-094-5/+75 * ** Allow evolution to build with G_DISABLE_SINGLE_INCLUDES andMatthew Barnes2008-06-065-13/+5 * gtk_window_set_policy -> gtk_window_set_resizable + other cleanups.Kjartan Maraas2008-06-042-7/+12 * ** Fixes bug #534360Matthew Barnes2008-05-233-5/+13 * ** Fix for bug #211353Milan Crha2008-01-104-46/+208 * Removing cyclic dependency caused by mail_config_get_labels.Srinivasa Ragavan2007-12-172-22/+39 * ** Fix for bug #211353Milan Crha2007-12-172-33/+28 * Patch from Bob Mauchin <zebob.m@pengzone.org>: Fix for bug #438769 (UI: Chan...Suman Manjunath2007-12-072-1/+9 * ** Remove trailing whitespace from source code.Matthew Barnes2007-11-1526-723/+723 * Warning fixes: - NULL vs 0 - ANSIfication of declarations - mixing codeKjartan Maraas2007-10-264-4/+18 * ** Fix for bug #323977Milan Crha2007-10-112-1/+9 * ** Fixes bug #437579Matthew Barnes2007-10-102-1/+7 * Fix for bug #461195 from Hiroyuki Ikezoe.Matthew Barnes2007-09-284-6/+12 * Remove the --enable-file-chooser configure option.Matthew Barnes2007-09-142-18/+8 * 2007-09-12 mcrha Fix for bug #473514Milan Crha2007-09-124-4/+15 * 2007-09-12 mcrha Fix for bug #231178Milan Crha2007-09-122-2/+13 * ** Fix for bug #471791 (Move away from asserts to g_ret*)Srinivasa Ragavan2007-09-035-54/+77 * Update FSF address in header comments (#469886). Patch from TobiasMatthew Barnes2007-09-0226-46/+46 * Remove unused include.Ross Burton2007-08-132-1/+5 * ** Fix for bug #455799Hiroyuki Ikezoe2007-08-041-10/+0 * calendar/gui/dialogs/memo-page.glade:Andre Klapper2007-07-312-2/+7 * 2007-07-27 Johnny Jacob Fix for bug #457523.Milan Crha2007-07-272-2/+12 * ** Fix for bug #263207Srinivasa Ragavan2007-06-183-4/+32 * Added a new element for percentage.Chenthill Palanisamy2007-06-042-0/+10 * Fix compilation warnings in filter directory (#439118).Matthew Barnes2007-06-0312-109/+128 * Fix for bug #211058Srinivasa Ragavan2007-05-114-30/+91 * Fix for bug #430559Srinivasa Ragavan2007-04-202-1/+8 * Massive code cleanup (bug #429422)Matthew Barnes2007-04-201-1/+0 * ** Fixes bug #373116Matthew Barnes2007-04-024-64/+74 * ** Fixes bug #419524Matthew Barnes2007-03-2110-9/+15 * Add mnemonic to "Find items". Fixes bug #404242.Andre Klapper2007-02-042-1/+7 * Move a var into #ifndef #USE_FILECOOSER to get rid of a warning. bugKjartan Maraas2006-10-012-1/+9 * ** Fixes bug #324882 Alignment corrected for the date filtering rule.Ushveen Kaur2006-09-292-104/+188 * ** Fixes bug #341369Hiroyuki Ikezoe2006-07-082-0/+7 * ** Fixes Bug #323853Shi Pu2006-04-302-15/+32 * Remove unused code Move around some code to avoid unneccesary prototypes.Kjartan Maraas2006-02-083-94/+96 * Added new thread-matching mode 'single' for messages not part of anyNot Zed2006-01-253-2/+17 * adding top/bottom buttons for filter manager dialog. Fixes bug 205616.Matthew Hall2005-12-311-0/+5 * adding top/bottom buttons for filter manager dialog (#205616) (committingMatthew Hall2005-12-212-0/+59 * ** Fixes bug #246225 ** Fixes bug #246227Srinivasa Ragavan2005-12-202-4/+13 * filter-file.c Use libedataserver's e_xml_parse_file(). Use gstdioTor Lillqvist2005-12-183-23/+25 * Use gstdio wrappers.Tor Lillqvist2005-12-182-5/+13 * cast.Not Zed2005-08-242-1/+5 * Use privsolib instead of privlib. On Unix they are the same, on Win32Tor Lillqvist2005-08-104-4/+43 * Retired GAL from Head. The relevant files have moved inside evolution.Kaushal Kumar2005-06-171-1/+1 * moved e-error to e-utilNot Zed2005-05-1611-71/+50 * Remove markup from translatable string. Fixes #268390 Patch submitted bySarfraaz Ahmed2005-05-062-1/+9 * Fix for 72676.Harry Lu2005-02-182-0/+15 * Install shared libraries to privlibdir.Hans Petter Jansson2005-02-102-1/+5 * cast lenght specifiers to int.Not Zed2005-01-122-2/+7 * Added label "Show filters for mail:".Diego Sevilla Ruiz2004-12-073-1/+29 * Moved stuff from e-util to libedataserver.Not Zed2004-12-038-7/+13 * add mnemonic widget in search box.Mengjie Yu2004-12-012-2/+7 * added the "use_filechooser" property to the GnomeFileEntryCarlos Garnacho Parro2004-08-132-0/+6 * encode entities. fixes bug #46677.Jeffrey Stedfast2004-06-222-0/+8 * Re-added - THIS IS NOT TO BE REMOVED!!!!Jeffrey Stedfast2004-06-182-0/+28 * Remove this generated file from CVSRodney Dawes2004-06-172-24/+4 * ** See #59885.Not Zed2004-06-1738-5731/+159 * give the junk test a unique name. #59567.Not Zed2004-06-082-1/+5 * Require e-error-toolRodney Dawes2004-05-282-0/+5 * Removed from CVS Generated files don't belong in CVSRodney Dawes2004-05-262-65/+5 * don't dist the error .h fileJP Rosevear2004-05-202-1/+4 * fix for folder selector api change, change the ok button to "Add".Not Zed2004-05-182-1/+6 * Same.Jeffrey Stedfast2004-05-123-0/+8 * load threading option if threading enabled. (xml_encode): write outNot Zed2004-05-126-27/+142 * fix i18n file generation rules.Not Zed2004-05-125-55/+106 * Added the Junk status flag to the xml definition so you can vfolder onJeffrey Stedfast2004-05-032-0/+8 * updateDan Winship2004-05-03