GMimeFilterOpenPGP

GMimeFilterOpenPGP — Detect OpenPGP markers.

Object Hierarchy

    GObject
    ╰── GMimeFilter
        ╰── GMimeFilterOpenPGP

Description

A GMimeFilter for detecting OpenPGP markers and filtering out any content outside the bounds of said markers.

Functions

g_mime_filter_openpgp_new ()

GMimeFilter *
g_mime_filter_openpgp_new (void);

Creates a new GMimeFilterOpenPGP filter.

Returns

a new GMimeFilterOpenPGP filter.

Since: 3.2


g_mime_filter_openpgp_get_data_type ()

GMimeOpenPGPData
g_mime_filter_openpgp_get_data_type (GMimeFilterOpenPGP *openpgp);

Gets the type of OpenPGP data that has been detected.

Parameters

openpgp

A GMimeFilterOpenPGP filter

 

Returns

a GMimeOpenPGPData value.

Since: 3.2


g_mime_filter_openpgp_get_begin_offset ()

gint64
g_mime_filter_openpgp_get_begin_offset
                               (GMimeFilterOpenPGP *openpgp);

Gets the stream offset of the beginning of the OpenPGP data block, if any have been found.

Parameters

openpgp

A GMimeFilterOpenPGP filter

 

Returns

The stream offset or -1 if no OpenPGP block was found.

Since: 3.2


g_mime_filter_openpgp_get_end_offset ()

gint64
g_mime_filter_openpgp_get_end_offset (GMimeFilterOpenPGP *openpgp);

Gets the stream offset of the end of the OpenPGP data block, if any have been found.

Parameters

openpgp

A GMimeFilterOpenPGP filter

 

Returns

The stream offset or -1 if no OpenPGP block was found.

Since: 3.2

Types and Values

enum GMimeOpenPGPData

The type of OpenPGP data found, if any.

Members

GMIME_OPENPGP_DATA_NONE

No OpenPGP data found.

 

GMIME_OPENPGP_DATA_ENCRYPTED

The content contains OpenPGP encrypted data.

 

GMIME_OPENPGP_DATA_SIGNED

The content contains OpenPGP signed data.

 

GMIME_OPENPGP_DATA_PUBLIC_KEY

The content contains OpenPGP public key data.

 

GMIME_OPENPGP_DATA_PRIVATE_KEY

The content contains OpenPGP private key data.

 

enum GMimeOpenPGPState

The current state of the GMimeFilterOpenPGP filter.

Members

GMIME_OPENPGP_NONE

No OpenPGP markers have been found (yet).

 

GMIME_OPENPGP_BEGIN_PGP_MESSAGE

The "-----BEGIN PGP MESSAGE-----" marker has been found.

 

GMIME_OPENPGP_END_PGP_MESSAGE

The "-----END PGP MESSAGE-----" marker has been found.

 

GMIME_OPENPGP_BEGIN_PGP_SIGNED_MESSAGE

The "-----BEGIN PGP SIGNED MESSAGE-----" marker has been found.

 

GMIME_OPENPGP_BEGIN_PGP_SIGNATURE

The "-----BEGIN PGP SIGNATURE-----" marker has been found.

 

GMIME_OPENPGP_END_PGP_SIGNATURE

The "-----END PGP SIGNATURE-----" marker has been found.

 

GMIME_OPENPGP_BEGIN_PGP_PUBLIC_KEY_BLOCK

The "-----BEGIN PGP PUBLIC KEY BLOCK-----" marker has been found.

 

GMIME_OPENPGP_END_PGP_PUBLIC_KEY_BLOCK

The "-----END PGP PUBLIC KEY BLOCK-----" marker has been found.

 

GMIME_OPENPGP_BEGIN_PGP_PRIVATE_KEY_BLOCK

The "-----BEGIN PGP PRIVATE KEY BLOCK-----" marker has been found.

 

GMIME_OPENPGP_END_PGP_PRIVATE_KEY_BLOCK

The "-----END PGP PRIVATE KEY BLOCK-----" marker has been found.

 

Since: 3.2


GMimeOpenPGPMarker

typedef struct {
	const char *marker;
	size_t len;
	GMimeOpenPGPState before;
	GMimeOpenPGPState after;
	gboolean is_end_marker;
} GMimeOpenPGPMarker;

An OpenPGP marker for use with GMime's internal state machines used for detecting OpenPGP blocks.

Members

const char *marker;

The OpenPGP marker.

 

size_t len;

The length of the OpenPGP marker.

 

GMimeOpenPGPState before;

The GMimeOpenPGPState that the state machine must be in before encountering this marker.

 

GMimeOpenPGPState after;

The GMimeOpenPGPState that the state machine will transition into once this marker is found.

 

gboolean is_end_marker;

TRUE if the marker is an end marker; otherwise, FALSE.

 

Since: 3.2


struct GMimeFilterOpenPGP

struct GMimeFilterOpenPGP;

A filter to detect OpenPGP markers.

Members

Since: 3.2