1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

Updated estream.

More changes for Windows.
This commit is contained in:
Werner Koch 2007-08-22 10:55:07 +00:00
parent a5743d1017
commit f81f521a72
23 changed files with 508 additions and 281 deletions

View file

@ -247,7 +247,7 @@ get_parameter_uint (struct para_data_s *para, enum para_name key)
/* Read the certificate generation parameters from FP and generate
(all) certificate requests. */
static int
read_parameters (ctrl_t ctrl, FILE *fp, ksba_writer_t writer)
read_parameters (ctrl_t ctrl, estream_t fp, ksba_writer_t writer)
{
static struct {
const char *name;
@ -275,7 +275,7 @@ read_parameters (ctrl_t ctrl, FILE *fp, ksba_writer_t writer)
err = NULL;
para = NULL;
while (fgets (line, DIM(line)-1, fp) )
while (es_fgets (line, DIM(line)-1, fp) )
{
char *keyword, *value;
@ -391,7 +391,7 @@ read_parameters (ctrl_t ctrl, FILE *fp, ksba_writer_t writer)
log_error ("line %d: %s\n", outctrl.lnr, err);
rc = gpg_error (GPG_ERR_GENERAL);
}
else if (ferror(fp))
else if (es_ferror(fp))
{
log_error ("line %d: read error: %s\n", outctrl.lnr, strerror(errno) );
rc = gpg_error (GPG_ERR_GENERAL);
@ -829,27 +829,15 @@ create_request (ctrl_t ctrl,
/* Create a new key by reading the parameters from in_fd or in_stream.
Multiple keys may be created */
/* Create a new key by reading the parameters from IN_FP. Multiple
keys may be created */
int
gpgsm_genkey (ctrl_t ctrl, int in_fd, FILE *in_stream, FILE *out_fp)
gpgsm_genkey (ctrl_t ctrl, estream_t in_stream, FILE *out_fp)
{
int rc;
FILE *in_fp;
Base64Context b64writer = NULL;
ksba_writer_t writer;
if (in_stream)
in_fp = in_stream;
else
in_fp = fdopen (dup (in_fd), "rb");
if (!in_fp)
{
gpg_error_t tmperr = gpg_error (gpg_err_code_from_errno (errno));
log_error ("fdopen() failed: %s\n", strerror (errno));
return tmperr;
}
ctrl->pem_name = "CERTIFICATE REQUEST";
rc = gpgsm_create_writer (&b64writer, ctrl, out_fp, NULL, &writer);
if (rc)
@ -858,7 +846,7 @@ gpgsm_genkey (ctrl_t ctrl, int in_fd, FILE *in_stream, FILE *out_fp)
goto leave;
}
rc = read_parameters (ctrl, in_fp, writer);
rc = read_parameters (ctrl, in_stream, writer);
if (rc)
{
log_error ("error creating certificate request: %s <%s>\n",
@ -878,8 +866,6 @@ gpgsm_genkey (ctrl_t ctrl, int in_fd, FILE *in_stream, FILE *out_fp)
leave:
gpgsm_destroy_writer (b64writer);
if (!in_stream)
fclose (in_fp);
return rc;
}