Hello all,
I have posted this question in the 'apr-dev' mailing list as well. Hoping
someone here can answer my question.
I have an apache module which receives various HTTP requests and processes
it. The incoming HTTP requests (PUT, POST) have the Content-MD5 header set.
I want to compute the md5 hash of the request body to verify that it matches
with the Content-MD5 header. Also, when responding to a GET request, I want
to compute the md5 hash of the response body and set the Content-MD5 header
again.
I thought I could use the functions defined in the apr_md5.h file. I started
out to write a test program but I am not even able to compile. I must be
making some obvious mistake but I am not able to figure it out. I would
appreciate any help. Here is the relevant information:
******Compiler Command***********
*
gcc -I /usr/include/apr-0/ -L /usr/lib/ -l apr-0 aprmd5test.c*
*********************************
******This is the error I get:***********
*/tmp/ccSamLQy.o(.text+0x6b): In function `main':
: undefined reference to `apr_md5'
collect2: ld returned 1 exit status
*
*********************************************
************And here is my test program:*************
#include <apr.h>
#include <apr_md5.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
*//char *base64(const unsigned char *input, int length);*
int main(int argc, char **argv)
{
void *buf;
unsigned long n = 17;
buf = malloc(n);
int fd = open("test", O_RDONLY);
read(fd, buf, n);
unsigned char md5Hash[16];
apr_md5(md5Hash, buf, n);
printf("md5: *%s*\n", md5Hash);
free(buf);
}
***********************************************************
Thanks,
Subra