summaryrefslogtreecommitdiffstats
path: root/runtime/librsgt.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2013-03-07 19:00:51 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2013-03-07 19:00:51 +0100
commit212d4e4fe684a4562b284c5b07d9873b0135b10f (patch)
tree44a0dbc9a29fed3523e160eb174bbde0d332898c /runtime/librsgt.c
parent85dd75a54cc9032fce7553f284618cfbbf8508ef (diff)
downloadrsyslog-212d4e4fe684a4562b284c5b07d9873b0135b10f.tar.gz
rsyslog-212d4e4fe684a4562b284c5b07d9873b0135b10f.tar.bz2
rsyslog-212d4e4fe684a4562b284c5b07d9873b0135b10f.zip
logsig: add config parameters (for omfile)
Diffstat (limited to 'runtime/librsgt.c')
-rw-r--r--runtime/librsgt.c38
1 files changed, 33 insertions, 5 deletions
diff --git a/runtime/librsgt.c b/runtime/librsgt.c
index 4e457005..2f336e2d 100644
--- a/runtime/librsgt.c
+++ b/runtime/librsgt.c
@@ -350,15 +350,21 @@ seedIV(gtctx ctx)
}
gtctx
-rsgtCtxNew(unsigned char *logfn, enum GTHashAlgorithm hashAlg)
+rsgtCtxNew(void)
{
- char fn[MAXFNAME+1];
gtctx ctx;
- ctx = calloc(1, sizeof(struct gtctx_s));
+ ctx = calloc(1, sizeof(struct gtctx_s));
ctx->x_prev = NULL;
- ctx->hashAlg = hashAlg;
+ ctx->hashAlg = GT_HASHALG_SHA256;
ctx->timestamper = strdup(
"http://stamper.guardtime.net/gt-signingservice");
+ return ctx;
+}
+
+int
+rsgtCtxOpenFile(gtctx ctx, unsigned char *logfn)
+{
+ char fn[MAXFNAME+1];
snprintf(fn, sizeof(fn), "%s.gtsig", logfn);
fn[MAXFNAME] = '\0'; /* be on save side */
ctx->sigfilename = (uchar*) strdup(fn);
@@ -366,9 +372,31 @@ rsgtCtxNew(unsigned char *logfn, enum GTHashAlgorithm hashAlg)
fn[MAXFNAME] = '\0'; /* be on save side */
ctx->statefilename = (uchar*) strdup(fn);
tlvOpen(ctx, LOGSIGHDR, sizeof(LOGSIGHDR)-1);
- return ctx;
+ return 0;
}
+
+/* returns 0 on succes, 1 if algo is unknown */
+int
+rsgtSetHashFunction(gtctx ctx, char *algName)
+{
+ int r = 0;
+ if(!strcmp(algName, "SHA2-256"))
+ ctx->hashAlg = GT_HASHALG_SHA256;
+ else if(!strcmp(algName, "SHA2-384"))
+ ctx->hashAlg = GT_HASHALG_SHA384;
+ else if(!strcmp(algName, "SHA2-512"))
+ ctx->hashAlg = GT_HASHALG_SHA512;
+ else if(!strcmp(algName, "SHA1"))
+ ctx->hashAlg = GT_HASHALG_SHA1;
+ else if(!strcmp(algName, "RIPEMD-160"))
+ ctx->hashAlg = GT_HASHALG_RIPEMD160;
+ else if(!strcmp(algName, "SHA2-224"))
+ ctx->hashAlg = GT_HASHALG_SHA224;
+ else
+ r = 1;
+ return r;
+}
void
rsgtCtxDel(gtctx ctx)
{