aboutsummaryrefslogtreecommitdiff
path: root/eperd/sslgetcert.c
diff options
context:
space:
mode:
authorBjørn Mork <bjorn@mork.no>2015-05-15 10:25:18 +0200
committerBjørn Mork <bjorn@mork.no>2015-05-15 10:25:18 +0200
commitb1b227fa5e00d08af047ab9a012211b66c6b0f13 (patch)
tree5d891e417ab726a2627dccc40586c43f64b87e55 /eperd/sslgetcert.c
parentc9c35747c0d20cff54561c0b8fe15813c7a8e0ff (diff)
ripe-atlas-fw: imported version 46104610
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Diffstat (limited to 'eperd/sslgetcert.c')
-rw-r--r--eperd/sslgetcert.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/eperd/sslgetcert.c b/eperd/sslgetcert.c
index 5b18b33..2b71cc4 100644
--- a/eperd/sslgetcert.c
+++ b/eperd/sslgetcert.c
@@ -909,7 +909,7 @@ static int eat_server_hello(struct state *state)
static int eat_certificate(struct state *state)
{
- int i, n, r, first, slen;
+ int i, n, r, first, slen, need_nl;
size_t o, len;
uint8_t *p;
struct msgbuf *msgbuf;
@@ -1019,14 +1019,23 @@ static int eat_certificate(struct state *state)
buf_add_b64(&tmpbuf, p+o+3, slen);
fprintf(fh, "%s\"-----BEGIN CERTIFICATE-----\\n",
!first ? ", " : "");
+ need_nl= 0;
for (i= tmpbuf.offset; i<tmpbuf.size; i++)
{
if (tmpbuf.buf[i] == '\n')
+ {
fputs("\\n", fh);
+ need_nl= 0;
+ }
else
+ {
fputc(tmpbuf.buf[i], fh);
+ need_nl= 1;
+ }
}
- fprintf(fh, "\\n-----END CERTIFICATE-----\"");
+ if (need_nl)
+ fputs("\\n", fh);
+ fprintf(fh, "-----END CERTIFICATE-----\"");
tmpbuf.size= tmpbuf.offset;
o += 3+slen;
first= 0;