瀏覽代碼

pv: added {s.sha1} transformation

Daniel-Constantin Mierla 2 天之前
父節點
當前提交
205f10161e
共有 2 個文件被更改,包括 14 次插入0 次删除
  1. 13 0
      src/modules/pv/pv_trans.c
  2. 1 0
      src/modules/pv/pv_trans.h

+ 13 - 0
src/modules/pv/pv_trans.c

@@ -313,6 +313,16 @@ int tr_eval_string(
 			val->rs.s = _tr_buffer;
 			val->rs.s = _tr_buffer;
 			val->rs.len = MD5_LEN;
 			val->rs.len = MD5_LEN;
 			break;
 			break;
+		case TR_S_SHA1:
+			if(!(val->flags & PV_VAL_STR))
+				val->rs.s = int2str(val->ri, &val->rs.len);
+			compute_sha1(_tr_buffer, (u_int8_t *)val->rs.s, val->rs.len);
+			_tr_buffer[SHA1_DIGEST_STRING_LENGTH - 1] = '\0';
+			val->flags = PV_VAL_STR;
+			val->ri = 0;
+			val->rs.s = _tr_buffer;
+			val->rs.len = SHA1_DIGEST_STRING_LENGTH - 1;
+			break;
 		case TR_S_SHA256:
 		case TR_S_SHA256:
 			if(!(val->flags & PV_VAL_STR))
 			if(!(val->flags & PV_VAL_STR))
 				val->rs.s = int2str(val->ri, &val->rs.len);
 				val->rs.s = int2str(val->ri, &val->rs.len);
@@ -2946,6 +2956,9 @@ char *tr_parse_string(str *in, trans_t *t)
 	} else if(name.len == 6 && strncasecmp(name.s, "rmhlws", 6) == 0) {
 	} else if(name.len == 6 && strncasecmp(name.s, "rmhlws", 6) == 0) {
 		t->subtype = TR_S_RMHLWS;
 		t->subtype = TR_S_RMHLWS;
 		goto done;
 		goto done;
+	} else if(name.len == 1 && strncasecmp(name.s, "sha1", 1) == 0) {
+		t->subtype = TR_S_SHA1;
+		goto done;
 	} else if(name.len == 6 && strncasecmp(name.s, "sha256", 6) == 0) {
 	} else if(name.len == 6 && strncasecmp(name.s, "sha256", 6) == 0) {
 		t->subtype = TR_S_SHA256;
 		t->subtype = TR_S_SHA256;
 		goto done;
 		goto done;

+ 1 - 0
src/modules/pv/pv_trans.h

@@ -50,6 +50,7 @@ enum _tr_s_subtype
 	TR_S_LEN,
 	TR_S_LEN,
 	TR_S_INT,
 	TR_S_INT,
 	TR_S_MD5,
 	TR_S_MD5,
+	TR_S_SHA1,
 	TR_S_SHA256,
 	TR_S_SHA256,
 	TR_S_SHA384,
 	TR_S_SHA384,
 	TR_S_SHA512,
 	TR_S_SHA512,