Page MenuHome GnuPG

gpgmeProject
ActivePublic

Milestones

Details

Description

GnuPG Made Easy (GPGME) is a C language library that allows to add support for cryptography to a program. It is designed to make access to public key crypto engines like GnuPG or GpgSM easier for applications. GPGME provides a high-level crypto API for encryption, decryption, signing, signature verification and key management.

GPGME comes with language bindings for Common Lisp, C++, QT, Python2 and Python 3.

GPGME uses GnuPG and GpgSM as its backends to support OpenPGP and the Cryptographic Message Syntax (CMS).

Recent Activity

Today

qyliss added a comment to D600: posix: don't use LFS64 types in struct linux_dirent64.

Ah, I see what's up with the man page. It's documenting the Glibc getdents64() wrapper interface, so that's why it uses the Glibc types. But gpgme isn't using that wrapper, it's doing the syscall directly, so it should use the types the kernel uses, which as you've noticed are just generic unsigned and signed 64-bit integers, matching what my patch does.

Fri, May 10, 10:48 AM · gpgme

Wed, May 8

ikloecker added a comment to D600: posix: don't use LFS64 types in struct linux_dirent64.

/include/linux/dirent.h defines

struct linux_dirent64 {
	u64		d_ino;
	s64		d_off;
	unsigned short	d_reclen;
	unsigned char	d_type;
	char		d_name[];
};
Wed, May 8, 3:35 PM · gpgme
qyliss added a comment to D600: posix: don't use LFS64 types in struct linux_dirent64.

$ man getdents64

getdents64()
    The  original  Linux getdents() system call did not handle large filesystems and large file offsets.  Consequently, Linux 2.4
    added getdents64(), with wider types for the d_ino and d_off fields.  In addition, getdents64() supports an  explicit  d_type
    field.

    The  getdents64()  system call is like getdents(), except that its second argument is a pointer to a buffer containing struc‐
    tures of the following type:

        struct linux_dirent64 {
            ino64_t        d_ino;    /* 64-bit inode number */
            off64_t        d_off;    /* 64-bit offset to next structure */
            unsigned short d_reclen; /* Size of this dirent */
            unsigned char  d_type;   /* File type */
            char           d_name[]; /* Filename (null-terminated) */
        };
Wed, May 8, 1:19 PM · gpgme
ikloecker added a revision to T6880: GPGME (++/qt): Add support for --quick-add-adsk: D572: cpp,qt: Implement adding ADSKs.
Wed, May 8, 10:14 AM · gpgme, vsd33, Restricted Project
ikloecker added a comment to D600: posix: don't use LFS64 types in struct linux_dirent64.

$ man getdents64

getdents64()
    The  original  Linux getdents() system call did not handle large filesystems and large file offsets.  Consequently, Linux 2.4
    added getdents64(), with wider types for the d_ino and d_off fields.  In addition, getdents64() supports an  explicit  d_type
    field.
Wed, May 8, 10:01 AM · gpgme
qyliss added a comment to D600: posix: don't use LFS64 types in struct linux_dirent64.
In D600#6445, @gniibe wrote:

If it is intentional change by musl (requiring some changes by an application), we can use __ino64_t_defined and __off64_t_defined macro to see if those types are defined or not.

Wed, May 8, 9:45 AM · gpgme
gniibe closed T6466: gpgme python example code contains insecure code pattern / chmod permission race condition as Resolved.

Fixed in gpgme 1.21.0.

Wed, May 8, 8:37 AM · Python, Documentation, gpgme
gniibe added a comment to D600: posix: don't use LFS64 types in struct linux_dirent64.

If it is intentional change by musl (requiring some changes by an application), we can use __ino64_t_defined and __off64_t_defined macro to see if those types are defined or not.

Wed, May 8, 7:46 AM · gpgme

Tue, May 7

ikloecker moved T7036: gpgme: gpgme_op_receive_keys does not return an error if keyserver lookup is disabled from Backlog to WiP on the vsd33 board.
Tue, May 7, 11:57 AM · vsd33, Restricted Project, gpgme
ikloecker moved T6351: Kleopatra: Performance problems when encrypting large files from Backlog to WiP on the vsd33 board.
Tue, May 7, 10:40 AM · vsd33, Restricted Project, kleopatra
ikloecker added a project to T6351: Kleopatra: Performance problems when encrypting large files: vsd33.
Tue, May 7, 10:40 AM · vsd33, Restricted Project, kleopatra

Mon, May 6

ballapete added a comment to T7056: GPGme 1.23.2 has Undefined symbols: "strcasecmp(char const*, char const*)" on Mac OS X 10.4.11, PPC Tiger.

Meanwhile version 1.32.2 builds. Greatest change is Python 3.12 instead of 3.11…

Mon, May 6, 11:29 PM · gpgme, MacOS, Bug Report
qyliss added a comment to D600: posix: don't use LFS64 types in struct linux_dirent64.

off64_t mat not the same as int64_t

Mon, May 6, 3:42 PM · gpgme
werner added a comment to D600: posix: don't use LFS64 types in struct linux_dirent64.

Breaks them how?

Mon, May 6, 3:17 PM · gpgme
qyliss added a comment to D600: posix: don't use LFS64 types in struct linux_dirent64.
In D600#6438, @werner wrote:

This breaks existing 32 bit systems with the 64 bit types.

Mon, May 6, 10:37 AM · gpgme
werner requested changes to D600: posix: don't use LFS64 types in struct linux_dirent64.

This breaks existing 32 bit systems with the 64 bit types. Thus a test for off64_t is required which redefines it to int64_t if it does not exist.

Mon, May 6, 9:52 AM · gpgme
ikloecker claimed T7110: Distribute the GpgME bindings separately from GpgME.
Mon, May 6, 9:45 AM · gpgme, Restricted Project
ikloecker triaged T7110: Distribute the GpgME bindings separately from GpgME as Normal priority.
Mon, May 6, 9:44 AM · gpgme, Restricted Project

Fri, May 3

qyliss requested review of D600: posix: don't use LFS64 types in struct linux_dirent64.
Fri, May 3, 1:46 PM · gpgme

Tue, Apr 30

werner removed a project from T7089: Kleopatra: Integrate "disabled" feature from gpg: vsd33.
Tue, Apr 30, 3:01 PM · vsd33, Feature Request, kleopatra, Restricted Project
werner moved T6880: GPGME (++/qt): Add support for --quick-add-adsk from WiP to Backlog on the vsd33 board.
Tue, Apr 30, 2:47 PM · gpgme, vsd33, Restricted Project
ebo removed a project from T6876: GPGME(++) Add "include-key-block" and "auto-key-import" to context flags: vsd33.
Tue, Apr 30, 11:27 AM · Restricted Project, gpgme

Mon, Apr 29

ballapete added a comment to T7056: GPGme 1.23.2 has Undefined symbols: "strcasecmp(char const*, char const*)" on Mac OS X 10.4.11, PPC Tiger.

Sorry, I meant they do *not* arrive at the web interface, they are not visible to me.

Mon, Apr 29, 10:09 PM · gpgme, MacOS, Bug Report
ballapete added a comment to T7056: GPGme 1.23.2 has Undefined symbols: "strcasecmp(char const*, char const*)" on Mac OS X 10.4.11, PPC Tiger.

It seems my eMails to gnupg-devel@gnupg.org do reach the list …

Mon, Apr 29, 10:06 PM · gpgme, MacOS, Bug Report

Wed, Apr 17

alexk updated the task description for T7089: Kleopatra: Integrate "disabled" feature from gpg.
Wed, Apr 17, 1:36 PM · vsd33, Feature Request, kleopatra, Restricted Project
alexk added a comment to T7089: Kleopatra: Integrate "disabled" feature from gpg.

Of course, it should be possible to toggle "disabled" in Kleopatra.
A (context) menu entry "disable certificate" (or "enable certificate") should be sufficient.

Wed, Apr 17, 1:33 PM · vsd33, Feature Request, kleopatra, Restricted Project
werner added projects to T7089: Kleopatra: Integrate "disabled" feature from gpg: gpgme, Feature Request.
Wed, Apr 17, 1:01 PM · vsd33, Feature Request, kleopatra, Restricted Project

Tue, Apr 16

aheinecke added a comment to T6688: Kleopatra GPGME: Reported assert on exit.

This is the full GPGME log from how I can reproduce this now on windows with a KF6 build. If I repeat it the last lines look similar before the assert.

Tue, Apr 16, 3:19 PM · gpgme, kleopatra, Restricted Project

Thu, Apr 11

werner lowered the priority of T7084: gpgme sometimes keeps on polling from Normal to Low.
Thu, Apr 11, 4:22 PM · gpgme
werner closed T6575: gpgtar: General Error is emitted instead of more specific error codes as Resolved.
Thu, Apr 11, 4:21 PM · gpgme (gpgme 1.23.x), vsd32 (vsd-3.2.0), Restricted Project
werner triaged T7084: gpgme sometimes keeps on polling as Normal priority.
Thu, Apr 11, 4:20 PM · gpgme

Apr 5 2024

ikloecker reopened T6971: Kleopatra: "General Error" is given instead of "Wrong PIN" as "Testing".

Oops. I closed the task accidentally.

Apr 5 2024, 10:54 PM · gpgme, kleopatra, Restricted Project
ikloecker closed T6971: Kleopatra: "General Error" is given instead of "Wrong PIN" as Resolved.

Fixed (for GnuPG 2.4). I hope 2.2 prints the same status messages.

Apr 5 2024, 3:10 PM · gpgme, kleopatra, Restricted Project
ebo added a comment to T6971: Kleopatra: "General Error" is given instead of "Wrong PIN".

The General Error happens also when the PIN is blocked and no Pinentry opens.
As in this case, where the indicated "Generate New Keys" button was used on a blocked card.

Apr 5 2024, 2:29 PM · gpgme, kleopatra, Restricted Project
ikloecker claimed T6971: Kleopatra: "General Error" is given instead of "Wrong PIN".
Apr 5 2024, 2:12 PM · gpgme, kleopatra, Restricted Project

Mar 28 2024

ballapete added a comment to T7056: GPGme 1.23.2 has Undefined symbols: "strcasecmp(char const*, char const*)" on Mac OS X 10.4.11, PPC Tiger.

Trying to reach Ralph Seichter via the eMail address he is using failed – Osterferien?

Mar 28 2024, 12:41 PM · gpgme, MacOS, Bug Report
ebo added a project to T7036: gpgme: gpgme_op_receive_keys does not return an error if keyserver lookup is disabled: vsd33.
Mar 28 2024, 10:24 AM · vsd33, Restricted Project, gpgme

Mar 25 2024

werner triaged T7056: GPGme 1.23.2 has Undefined symbols: "strcasecmp(char const*, char const*)" on Mac OS X 10.4.11, PPC Tiger as Normal priority.

strcasecmp is pretty standard on Unix. However, in GnuPG we test for it and mostly use our own ascii_strcasecmp to avoid fun with locales. Ralph Seichter is providing macOS builds for GnuPG (https://sourceforge.net/p/gpgosx/docu/Download/) . Maybe it is worth to contact him via the gnugp-devel mailing list and ask him whether he has experience with your toochain.

Mar 25 2024, 1:27 PM · gpgme, MacOS, Bug Report
ballapete added a comment to T7056: GPGme 1.23.2 has Undefined symbols: "strcasecmp(char const*, char const*)" on Mac OS X 10.4.11, PPC Tiger.

By adding "-Wl,-t" to the arguments g++ reported:

Mar 25 2024, 10:35 AM · gpgme, MacOS, Bug Report
ballapete added a comment to T7056: GPGme 1.23.2 has Undefined symbols: "strcasecmp(char const*, char const*)" on Mac OS X 10.4.11, PPC Tiger.

Libtool invocation has "--tag=CXX --mode=link /opt/local/bin/g++-mp-7 -std=c++11 -pipe -Os -std=c++17 -D_GLIBCXX_USE_CXX11_ABI=0", but g++ then has no -lstdc++ – in C -lc is automatically used because there all C library functions can be taken from… (same for mathematical functions and -lm)

Mar 25 2024, 9:52 AM · gpgme, MacOS, Bug Report
ikloecker added a comment to T7056: GPGme 1.23.2 has Undefined symbols: "strcasecmp(char const*, char const*)" on Mac OS X 10.4.11, PPC Tiger.

It seems libtool fails to add the standard C and C++ libraries to the link command line. On Linux I have "[...] -lstdc++ -lm -lc [...]" in the libtool link command line. Looks like a bug in the tooling (macports or libtool).

Mar 25 2024, 9:12 AM · gpgme, MacOS, Bug Report

Mar 24 2024

werner edited projects for T7056: GPGme 1.23.2 has Undefined symbols: "strcasecmp(char const*, char const*)" on Mac OS X 10.4.11, PPC Tiger, added: gpgme; removed gpgme (gpgme 1.23.x).
Mar 24 2024, 7:10 PM · gpgme, MacOS, Bug Report

Mar 23 2024

werner closed T7003: 2.2 gpg-agent doesn't allow KEYINFO when restricted (was: gpgme-1.23.2 test failure (t-json)) as Resolved.
Mar 23 2024, 1:29 PM · gpgagent, gnupg22, gpgme, Gentoo, Bug Report
thesamesam added a comment to T7003: 2.2 gpg-agent doesn't allow KEYINFO when restricted (was: gpgme-1.23.2 test failure (t-json)).

Thanks, that patch works for me.

Mar 23 2024, 12:24 PM · gpgagent, gnupg22, gpgme, Gentoo, Bug Report

Mar 18 2024

werner moved T7003: 2.2 gpg-agent doesn't allow KEYINFO when restricted (was: gpgme-1.23.2 test failure (t-json)) from Backlog to QA on the gnupg22 board.
Mar 18 2024, 4:24 PM · gpgagent, gnupg22, gpgme, Gentoo, Bug Report

Mar 15 2024

ikloecker merged T3321: Make it possible to combine GpgMEpp and QGpgme with MSVC compiled binaries into T6587: GpgME++ / QGpgME MSVC build.
Mar 15 2024, 5:45 PM · gpgme, Restricted Project
ikloecker merged task T3321: Make it possible to combine GpgMEpp and QGpgme with MSVC compiled binaries into T6587: GpgME++ / QGpgME MSVC build.
Mar 15 2024, 5:45 PM · Feature Request, gpgme
ikloecker updated subscribers of T6587: GpgME++ / QGpgME MSVC build.

We have discussed this yesterday. The idea/plan is to release the core library and the bindings as separate tarballs (created from the same repo) in the future.

Mar 15 2024, 2:02 PM · gpgme, Restricted Project

Mar 11 2024

ikloecker changed the status of T7036: gpgme: gpgme_op_receive_keys does not return an error if keyserver lookup is disabled from Open to Testing.

This can be tested with Kleopatra by configuring an invalid keyserver and then updating an OpenPGP certificate.

Mar 11 2024, 3:45 PM · vsd33, Restricted Project, gpgme
ikloecker moved T7036: gpgme: gpgme_op_receive_keys does not return an error if keyserver lookup is disabled from Restricted Project Column to Restricted Project Column on the Restricted Project board.
Mar 11 2024, 1:08 PM · vsd33, Restricted Project, gpgme