mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
* base64.c: New. Changed all other functions to use this instead
of direct creation of ksba_reader/writer. * gpgsm.c (main): Set ctrl.auto_encoding unless --no-armor is used. This way we can feed PEM encoded stuff to --verify.
This commit is contained in:
parent
5a6a2ca248
commit
944fee70bc
10 changed files with 782 additions and 331 deletions
37
sm/sign.c
37
sm/sign.c
|
@ -35,14 +35,6 @@
|
|||
#include "i18n.h"
|
||||
|
||||
|
||||
|
||||
|
||||
struct reader_cb_parm_s {
|
||||
FILE *fp;
|
||||
};
|
||||
|
||||
|
||||
|
||||
static void
|
||||
hash_data (int fd, GCRY_MD_HD md)
|
||||
{
|
||||
|
@ -112,19 +104,17 @@ gpgsm_sign (CTRL ctrl, int data_fd, int detached, FILE *out_fp)
|
|||
{
|
||||
int i, rc;
|
||||
KsbaError err;
|
||||
KsbaWriter writer = NULL;
|
||||
Base64Context b64writer = NULL;
|
||||
KsbaWriter writer;
|
||||
KsbaCMS cms = NULL;
|
||||
KsbaStopReason stopreason;
|
||||
KsbaCert cert;
|
||||
KEYDB_HANDLE kh = NULL;
|
||||
GCRY_MD_HD data_md = NULL;
|
||||
struct reader_cb_parm_s rparm;
|
||||
int signer;
|
||||
const char *algoid;
|
||||
int algo;
|
||||
|
||||
memset (&rparm, 0, sizeof rparm);
|
||||
|
||||
if (!detached)
|
||||
{
|
||||
rc = seterr (Not_Implemented);
|
||||
|
@ -140,25 +130,10 @@ gpgsm_sign (CTRL ctrl, int data_fd, int detached, FILE *out_fp)
|
|||
goto leave;
|
||||
}
|
||||
|
||||
rparm.fp = fdopen ( dup (data_fd), "rb");
|
||||
if (!rparm.fp)
|
||||
{
|
||||
log_error ("fdopen() failed: %s\n", strerror (errno));
|
||||
rc = seterr (IO_Error);
|
||||
goto leave;
|
||||
}
|
||||
|
||||
writer = ksba_writer_new ();
|
||||
if (!writer)
|
||||
{
|
||||
rc = seterr (Out_Of_Core);
|
||||
goto leave;
|
||||
}
|
||||
rc = ksba_writer_set_file (writer, out_fp);
|
||||
rc = gpgsm_create_writer (&b64writer, ctrl, out_fp, &writer);
|
||||
if (rc)
|
||||
{
|
||||
ksba_writer_release (writer);
|
||||
rc = map_ksba_err (rc);
|
||||
log_error ("can't create writer: %s\n", gnupg_strerror (rc));
|
||||
goto leave;
|
||||
}
|
||||
|
||||
|
@ -357,10 +332,8 @@ gpgsm_sign (CTRL ctrl, int data_fd, int detached, FILE *out_fp)
|
|||
|
||||
leave:
|
||||
ksba_cms_release (cms);
|
||||
ksba_writer_release (writer);
|
||||
gpgsm_destroy_writer (b64writer);
|
||||
keydb_release (kh);
|
||||
gcry_md_close (data_md);
|
||||
if (rparm.fp)
|
||||
fclose (rparm.fp);
|
||||
return rc;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue