Index: head/mail/mboxgrep/Makefile =================================================================== --- head/mail/mboxgrep/Makefile (revision 549718) +++ head/mail/mboxgrep/Makefile (revision 549719) @@ -1,45 +1,45 @@ # Created by: Anders Nordby # $FreeBSD$ PORTNAME= mboxgrep PORTVERSION= 0.7.9 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= mail MASTER_SITES= SF MAINTAINER= ports@FreeBSD.org COMMENT= Utility to scan mailboxes for messages matching a regular expression LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING USES= localbase ssl GNU_CONFIGURE= yes CFLAGS+= -I${OPENSSLINC} LIBS+= -L${OPENSSLLIB} INFO= mboxgrep PORTDOCS= ChangeLog NEWS README TODO PLIST_FILES= bin/mboxgrep \ man/man1/mboxgrep.1.gz OPTIONS_DEFINE= DOCS PCRE PCRE_LIB_DEPENDS= libpcre.so:devel/pcre -post-patch: +pre-build: @${REINPLACE_CMD} -e 's,void \*tmpp,FILE \*tmpp,g' ${WRKSRC}/src/main.c @${REINPLACE_CMD} -e 's,$$(prefix),$$(DESTDIR)$$(prefix),g' \ -e 's,$$(mandir),$$(DESTDIR)$$(mandir),g' \ -e 's,$$(infodir),$$(DESTDIR)$$(infodir),g' \ ${WRKSRC}/src/Makefile.in ${WRKSRC}/doc/Makefile.in post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} .for f in ${PORTDOCS} ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}/ .endfor .include Index: head/mail/mboxgrep/files/patch-noredundancy =================================================================== --- head/mail/mboxgrep/files/patch-noredundancy (revision 549718) +++ head/mail/mboxgrep/files/patch-noredundancy (nonexistent) @@ -1,16 +0,0 @@ ---- src/Makefile.in Sun Mar 30 18:07:10 2003 -+++ src/Makefile.in Tue Feb 27 16:50:18 2007 -@@ -22,10 +22,10 @@ - CC = @CC@ - OBJS = info.o main.o mh.o scan.o maildir.o mbox.o misc.o \ -- wrap.o getopt.o getopt1.o md5.o -+ wrap.o - SRCS = info.c main.c mh.c scan.c maildir.c mbox.c misc.c \ -- wrap.c getopt.c getopt1.c md5.c -+ wrap.c - TARGET = mboxgrep - CFLAGS = @CFLAGS@ --LIBS = @LIBS@ -+LIBS = @LIBS@ -lcrypto - INSTALL = @INSTALL@ - prefix = @prefix@ Property changes on: head/mail/mboxgrep/files/patch-noredundancy ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/mboxgrep/files/patch-md5 =================================================================== --- head/mail/mboxgrep/files/patch-md5 (revision 549718) +++ head/mail/mboxgrep/files/patch-md5 (nonexistent) @@ -1,160 +0,0 @@ ---- src/mboxgrep.h Sun Apr 6 17:01:49 2003 -+++ src/mboxgrep.h Tue Feb 27 17:24:30 2007 -@@ -29,4 +29,5 @@ - - #include -+#include - - #include /* for tm structure */ -@@ -100,8 +101,13 @@ - folder_t; - -+typedef union { -+ uint64_t halves[2]; -+ unsigned char bytes[16]; -+} md5_t; -+ - typedef struct - { -- char **md5; - int n; -+ md5_t md5s[]; - } - checksum_t; ---- src/scan.c Sun Apr 6 17:01:49 2003 -+++ src/scan.c Tue Feb 27 17:19:23 2007 -@@ -60,5 +60,5 @@ - #include "maildir.h" - #include "wrap.h" --#include "md5.h" -+#include - #ifdef HAVE_FTS_OPEN - # include -@@ -74,5 +74,8 @@ - #endif /* HAVE_LIBDMALLOC */ - --void scan_mailbox (char path[]) -+static int md5_check_message (const char *body, size_t bbytes); -+ -+void -+scan_mailbox (const char path[]) - /* {{{ */ - { -@@ -96,5 +99,4 @@ - time_t tt; - struct tm *ct; -- extern checksum_t *cs; - - extern option_t config; -@@ -145,10 +147,10 @@ - if ((config.format == MBOX) || (config.format == ZMBOX) || - (config.format == BZ2MBOX)) -- msg = (message_t *) mbox_read_message (mbox); -+ msg = mbox_read_message (mbox); - else if ((config.format == MH) || (config.format == NNMH) || - (config.format == NNML)) -- msg = (message_t *) mh_read_message (boxd); -+ msg = mh_read_message (boxd); - else if (config.format == MAILDIR) -- msg = (message_t *) maildir_read_message (maildird); -+ msg = maildir_read_message (maildird); - - if (msg == NULL) break; -@@ -179,5 +181,5 @@ - - if (config.dedup) -- isdup = md5_check_message (msg->body, cs); -+ isdup = md5_check_message (msg->body, msg->bbytes); - - if (((res1 == 0) | (res2 == 0)) ^ ((config.invert ^ delete)) && -@@ -282,5 +284,6 @@ - /* }}} */ - --void recursive_scan (char path[]) -+void -+recursive_scan (const char path[]) - /* {{{ */ - -@@ -313,5 +316,5 @@ - } - #else -- ftw (path, (void *) scan_mailbox, 1); -+ ftw (path, (int (*)(const char *, const struct *, int))scan_mailbox, 1); - #endif /* HAVE_FTS_OPEN */ - } -@@ -319,29 +322,33 @@ - /* }}} */ - --int md5_check_message (char *body, checksum_t *chksum) -+static int -+md5_check_message (const char *body, size_t bbytes) - /* {{{ */ - { -- struct md5_ctx a; -- unsigned char b[16]; -+ MD5_CTX a; -+ md5_t b; - int i; -+ extern checksum_t *cs; - -- md5_init_ctx (&a); -+ MD5_Init(&a); - if (body == NULL) -- md5_process_bytes ("", 0, &a); -+ MD5_Update(&a, "", 0); - else -- md5_process_bytes (body, strlen(body), &a); -- md5_finish_ctx(&a, b); -+ MD5_Update(&a, body, bbytes); -+ MD5_Final(b.bytes, &a); - -- for (i = 0; i < chksum->n; i++) -+ for (i = 0; i < cs->n; i++) - { -- if (0 == strncmp (chksum->md5[i], b, 16)) -+ if (b.halves[0] == cs->md5s[i].halves[0] && -+ b.halves[1] == cs->md5s[i].halves[1]) - return 1; - } - -- chksum->md5 = -- (char **) xrealloc (chksum->md5, (1 + chksum->n) * sizeof (char *)); -- chksum->md5[chksum->n] = xstrdup (b); -+ cs = -+ xrealloc (cs, sizeof(checksum_t) + (i + 1) * sizeof (md5_t)); -+ cs->md5s[i].halves[0] = b.halves[0]; -+ cs->md5s[i].halves[1] = b.halves[1]; - -- (chksum->n)++; -+ cs->n++; - - return 0; ---- src/scan.h Sun Mar 30 18:07:10 2003 -+++ src/scan.h Tue Feb 27 16:51:58 2007 -@@ -24,7 +24,6 @@ - #include "mboxgrep.h" - --void scan_mailbox (char path[]); --void recursive_scan (char path[]); --int md5_check_message (char *body, checksum_t *chksum); -+void scan_mailbox(const char path[]); -+void recursive_scan(const char path[]); - - #endif /* SCAN_H */ ---- src/main.c Sun Aug 24 15:23:50 2003 -+++ src/main.c Tue Feb 27 17:25:30 2007 -@@ -56,5 +56,5 @@ - int maildir_count = 0; - int count = 0; --void *tmpp; -+FILE *tmpp; - checksum_t *cs; - -@@ -239,6 +239,5 @@ - } - -- cs = (checksum_t *) xmalloc (sizeof (checksum_t)); -- cs->md5 = (char **) xcalloc (1, sizeof (char **)); -+ cs = xmalloc (sizeof (checksum_t)); - cs->n = 0; - Property changes on: head/mail/mboxgrep/files/patch-md5 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/mail/mboxgrep/files/patch-src_Makefile.in =================================================================== --- head/mail/mboxgrep/files/patch-src_Makefile.in (nonexistent) +++ head/mail/mboxgrep/files/patch-src_Makefile.in (revision 549719) @@ -0,0 +1,28 @@ +--- src/Makefile.in.orig 2003-03-30 23:07:10 UTC ++++ src/Makefile.in +@@ -21,12 +21,12 @@ srcdir = @srcdir@ + + CC = @CC@ + OBJS = info.o main.o mh.o scan.o maildir.o mbox.o misc.o \ +- wrap.o getopt.o getopt1.o md5.o ++ wrap.o + SRCS = info.c main.c mh.c scan.c maildir.c mbox.c misc.c \ +- wrap.c getopt.c getopt1.c md5.c ++ wrap.c + TARGET = mboxgrep + CFLAGS = @CFLAGS@ +-LIBS = @LIBS@ ++LIBS = @LIBS@ -lcrypto + INSTALL = @INSTALL@ + prefix = @prefix@ + SHELL = /bin/sh +@@ -51,7 +51,7 @@ distclean: + + .PHONY: install + install: mboxgrep +- $(INSTALL) -d $(prefix)/bin +- $(INSTALL) -s $(TARGET) $(prefix)/bin ++ $(INSTALL) -d $(DESTDIR)$(prefix)/bin ++ $(INSTALL) -s $(TARGET) $(DESTDIR)$(prefix)/bin + + .NOEXPORT: Property changes on: head/mail/mboxgrep/files/patch-src_Makefile.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/mboxgrep/files/patch-src_main.c =================================================================== --- head/mail/mboxgrep/files/patch-src_main.c (nonexistent) +++ head/mail/mboxgrep/files/patch-src_main.c (revision 549719) @@ -0,0 +1,23 @@ +--- src/main.c.orig 2003-08-24 19:23:50 UTC ++++ src/main.c +@@ -55,8 +55,9 @@ pcre_extra *hints; + char *boxname, *outboxname, *pipecmd, *tmpfilename; + int maildir_count = 0; + int count = 0; +-void *tmpp; ++FILE *tmpp; + checksum_t *cs; ++option_t config; + + int + main (int argc, char **argv) +@@ -238,8 +239,7 @@ main (int argc, char **argv) + config.pid = (int) getpid (); + } + +- cs = (checksum_t *) xmalloc (sizeof (checksum_t)); +- cs->md5 = (char **) xcalloc (1, sizeof (char **)); ++ cs = xmalloc (sizeof (checksum_t)); + cs->n = 0; + + if (optind < argc && ! haveregex) Property changes on: head/mail/mboxgrep/files/patch-src_main.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/mboxgrep/files/patch-src_mboxgrep.h =================================================================== --- head/mail/mboxgrep/files/patch-src_mboxgrep.h (nonexistent) +++ head/mail/mboxgrep/files/patch-src_mboxgrep.h (revision 549719) @@ -0,0 +1,35 @@ +--- src/mboxgrep.h.orig 2003-04-06 21:01:49 UTC ++++ src/mboxgrep.h +@@ -28,6 +28,7 @@ + #define HOST_NAME_SIZE 256 + + #include ++#include + + #include /* for tm structure */ + +@@ -99,10 +100,15 @@ typedef struct + } + folder_t; + ++typedef union { ++ uint64_t halves[2]; ++ unsigned char bytes[16]; ++} md5_t; ++ + typedef struct + { +- char **md5; + int n; ++ md5_t md5s[]; + } + checksum_t; + +@@ -129,6 +135,6 @@ typedef struct + } + option_t; + +-option_t config; ++extern option_t config; + + #endif /* MBOXGREP_H */ Property changes on: head/mail/mboxgrep/files/patch-src_mboxgrep.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/mboxgrep/files/patch-src_scan.c =================================================================== --- head/mail/mboxgrep/files/patch-src_scan.c (nonexistent) +++ head/mail/mboxgrep/files/patch-src_scan.c (revision 549719) @@ -0,0 +1,122 @@ +--- src/scan.c.orig 2003-04-06 21:01:49 UTC ++++ src/scan.c +@@ -59,7 +59,7 @@ + #include "mh.h" + #include "maildir.h" + #include "wrap.h" +-#include "md5.h" ++#include + #ifdef HAVE_FTS_OPEN + # include + # include +@@ -73,7 +73,10 @@ + #include + #endif /* HAVE_LIBDMALLOC */ + +-void scan_mailbox (char path[]) ++static int md5_check_message (const char *body, size_t bbytes); ++ ++void ++scan_mailbox (const char path[]) + /* {{{ */ + { + static FILE *outf; +@@ -95,7 +98,6 @@ void scan_mailbox (char path[]) + int isdup = 0; + time_t tt; + struct tm *ct; +- extern checksum_t *cs; + + extern option_t config; + +@@ -144,12 +146,12 @@ void scan_mailbox (char path[]) + + if ((config.format == MBOX) || (config.format == ZMBOX) || + (config.format == BZ2MBOX)) +- msg = (message_t *) mbox_read_message (mbox); ++ msg = mbox_read_message (mbox); + else if ((config.format == MH) || (config.format == NNMH) || + (config.format == NNML)) +- msg = (message_t *) mh_read_message (boxd); ++ msg = mh_read_message (boxd); + else if (config.format == MAILDIR) +- msg = (message_t *) maildir_read_message (maildird); ++ msg = maildir_read_message (maildird); + + if (msg == NULL) break; + +@@ -178,7 +180,7 @@ void scan_mailbox (char path[]) + } + + if (config.dedup) +- isdup = md5_check_message (msg->body, cs); ++ isdup = md5_check_message (msg->body, msg->bbytes); + + if (((res1 == 0) | (res2 == 0)) ^ ((config.invert ^ delete)) && + ((config.dedup && !isdup) || !config.dedup)) +@@ -281,7 +283,8 @@ void scan_mailbox (char path[]) + } + /* }}} */ + +-void recursive_scan (char path[]) ++void ++recursive_scan (const char path[]) + /* {{{ */ + + { +@@ -312,37 +315,41 @@ void recursive_scan (char path[]) + fts_close (ftsfoo); + } + #else +- ftw (path, (void *) scan_mailbox, 1); ++ ftw (path, (int (*)(const char *, const struct *, int))scan_mailbox, 1); + #endif /* HAVE_FTS_OPEN */ + } + + /* }}} */ + +-int md5_check_message (char *body, checksum_t *chksum) ++static int ++md5_check_message (const char *body, size_t bbytes) + /* {{{ */ + { +- struct md5_ctx a; +- unsigned char b[16]; ++ MD5_CTX a; ++ md5_t b; + int i; ++ extern checksum_t *cs; + +- md5_init_ctx (&a); ++ MD5_Init(&a); + if (body == NULL) +- md5_process_bytes ("", 0, &a); ++ MD5_Update(&a, "", 0); + else +- md5_process_bytes (body, strlen(body), &a); +- md5_finish_ctx(&a, b); ++ MD5_Update(&a, body, bbytes); ++ MD5_Final(b.bytes, &a); + +- for (i = 0; i < chksum->n; i++) ++ for (i = 0; i < cs->n; i++) + { +- if (0 == strncmp (chksum->md5[i], b, 16)) ++ if (b.halves[0] == cs->md5s[i].halves[0] && ++ b.halves[1] == cs->md5s[i].halves[1]) + return 1; + } + +- chksum->md5 = +- (char **) xrealloc (chksum->md5, (1 + chksum->n) * sizeof (char *)); +- chksum->md5[chksum->n] = xstrdup (b); ++ cs = ++ xrealloc (cs, sizeof(checksum_t) + (i + 1) * sizeof (md5_t)); ++ cs->md5s[i].halves[0] = b.halves[0]; ++ cs->md5s[i].halves[1] = b.halves[1]; + +- (chksum->n)++; ++ cs->n++; + + return 0; + } Property changes on: head/mail/mboxgrep/files/patch-src_scan.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/mboxgrep/files/patch-src_scan.h =================================================================== --- head/mail/mboxgrep/files/patch-src_scan.h (nonexistent) +++ head/mail/mboxgrep/files/patch-src_scan.h (revision 549719) @@ -0,0 +1,13 @@ +--- src/scan.h.orig 2003-03-30 23:07:10 UTC ++++ src/scan.h +@@ -23,8 +23,7 @@ + + #include "mboxgrep.h" + +-void scan_mailbox (char path[]); +-void recursive_scan (char path[]); +-int md5_check_message (char *body, checksum_t *chksum); ++void scan_mailbox(const char path[]); ++void recursive_scan(const char path[]); + + #endif /* SCAN_H */ Property changes on: head/mail/mboxgrep/files/patch-src_scan.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property