From 0425aadc78680e53000fd0108b540d6eca048516 Mon Sep 17 00:00:00 2001 From: gmcdonald Date: Sat, 13 Feb 2010 01:32:03 +0000 Subject: Moving axis svn, part of TLP move INFRA-2441 git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@909681 13f79535-47bb-0310-9956-ffa450edef68 --- tools/md5/src/Makefile.am | 14 +++++++++ tools/md5/src/md5.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 tools/md5/src/Makefile.am create mode 100644 tools/md5/src/md5.c (limited to 'tools/md5/src') diff --git a/tools/md5/src/Makefile.am b/tools/md5/src/Makefile.am new file mode 100644 index 0000000..40be3c9 --- /dev/null +++ b/tools/md5/src/Makefile.am @@ -0,0 +1,14 @@ +prgbindir=$(prefix)/bin/tools/md5 + +prgbin_PROGRAMS = md5 + +md5_SOURCES = md5.c + +md5_LDADD = \ + ../../../util/src/libaxutil.la + +INCLUDES = -I$(top_builddir)/include \ + -I ../../../util/include \ + -I ../../../include \ + -I ../include + diff --git a/tools/md5/src/md5.c b/tools/md5/src/md5.c new file mode 100644 index 0000000..81ae359 --- /dev/null +++ b/tools/md5/src/md5.c @@ -0,0 +1,80 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include + +static void md5_file (char *filename, const axutil_env_t * env) +{ + FILE * file; + axutil_md5_ctx_t * context; + int len, i; + unsigned char buffer[1024], digest[16]; + + if ((file = fopen (filename, "rb")) == NULL) + { + printf ("%s can't be opened\n", filename); + } + else + { + context = axutil_md5_ctx_create(env); + while ((len = fread (buffer, 1, 1024, file)) != 0) + { + axutil_md5_update(context, env, buffer, len); + } + axutil_md5_final(context, env, digest); + axutil_md5_ctx_free(context, env); + fclose (file); + printf ("MD5 (%s) = ", filename); + for (i = 0; i < 16; i++) + { + printf ("%02x", digest[i]); + } + printf ("\n"); + } +} + +int +main( + int argc, + char **argv) +{ + const axutil_env_t *env = NULL; + + env = axutil_env_create_all("md5.log", AXIS2_LOG_LEVEL_DEBUG); + if (argc > 1) + { + if (axutil_strcmp(argv[1], "-h") == 0) + { + printf("Usage : %s [file_name]\n", argv[0]); + printf("use -h for help\n"); + return 0; + } + else + { + md5_file(argv[1], env); + } + } + if (env) + { + axutil_env_free((axutil_env_t *) env); + env = NULL; + } + return 0; +} -- cgit v1.1-32-gdbae