FreeBSD Bugzilla – Attachment 136260 Details for
Bug 181431
maintainer-update of mail/mutt
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 9.73 KB, created by
Udo.Schweigert
on 2013-08-20 14:50:00 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Udo.Schweigert
Created:
2013-08-20 14:50:00 UTC
Size:
9.73 KB
patch
obsolete
>diff -ru /usr/ports/mail/mutt/Makefile ./Makefile >--- /usr/ports/mail/mutt/Makefile 2013-07-17 06:07:43.000000000 +0200 >+++ ./Makefile 2013-08-20 12:45:15.000000000 +0200 >@@ -9,7 +9,7 @@ > > PORTNAME= mutt > PORTVERSION= 1.5.21 >-PORTREVISION= 3 >+PORTREVISION= 4 > CATEGORIES+= mail ipv6 > MASTER_SITES= ftp://ftp.mutt.org/mutt/devel/ \ > ftp://ftp.fu-berlin.de/pub/unix/mail/mutt/devel/ \ >@@ -66,8 +66,8 @@ > MAILDIR_HEADER_CACHE MAILDIR_MTIME_PATCH \ > NNTP PARENT_CHILD_MATCH_PATCH \ > QUOTE_PATCH REVERSE_REPLY_PATCH SGMLFORMAT SIDEBAR_PATCH \ >- SIGNATURE_MENU SMIME_OUTLOOK_COMPAT SMTP TOKYOCABINET \ >- TRASH_PATCH XML >+ SIGNATURE_MENU SMART_DATE SMIME_OUTLOOK_COMPAT SMTP \ >+ TOKYOCABINET TRASH_PATCH XML > > OPTIONS_SINGLE= SCREEN > OPTIONS_RADIO= SPELL >@@ -97,6 +97,7 @@ > SIDEBAR_PATCH_DESC= Sidebar support > SIGNATURE_MENU_DESC= Signature menu > SLANG_DESC= SLANG support >+SMART_DATE_DESC= Dynamic date formatting with "%@" > SMIME_OUTLOOK_COMPAT_DESC= SMIME outlook compatibility > SMTP_DESC= SMTP relay support > TOKYOCABINET_DESC= Use tokyocabinet instead of Berkley DB >@@ -194,6 +195,11 @@ > @${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-smime-outlook > .endif > >+.if ${PORT_OPTIONS:MSMART_DATE} >+post-patch:: >+ @${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-smartdate >+.endif >+ > .if ${PORT_OPTIONS:MSIGNATURE_MENU} > IGNORE= the WITH_SIGNATURE_MENU does not work at the moment > XML_NEEDED= yes >@@ -390,7 +396,7 @@ > SCRIPTS_ENV+= QUOTE_PATCH="yes" > .endif > >-.if ${PORT_OPTIONS:MIMAP_HEADER_CACHE} >+.if ${PORT_OPTIONS:MIMAP_HEADER_CACHE} || ${PORT_OPTIONS:MMAILDIR_HEADER_CACHE} > .if ${PORT_OPTIONS:MTOKYOCABINET} > CONFIGURE_ARGS+= --enable-hcache --without-gdbm --without-bdb --with-tokyocabinet > LIB_DEPENDS+= tokyocabinet.9:${PORTSDIR}/databases/tokyocabinet >diff -ru /usr/ports/mail/mutt/files/extra-patch-smartdate ./files/extra-patch-smartdate >--- /usr/ports/mail/mutt/files/extra-patch-smartdate 1970-01-01 01:00:00.000000000 +0100 >+++ ./files/extra-patch-smartdate 2013-08-20 12:16:50.000000000 +0200 >@@ -0,0 +1,126 @@ >+--- mutt.h >++++ mutt.h >+@@ -133,6 +133,16 @@ >+ M_FORMAT_NOFILTER = (1<<7) /* do not allow filtering on this pass */ >+ } format_flag; >+ >++/* flags for SmartDate */ >++typedef enum { >++ FUTURE = 1, >++ SMARTTIME = 2, >++ YESTERDAY = 3, >++ WEEKDAY = 4, >++ STANDARD = 5, >++ ANCIENT = 6 >++} smartdate_type; >++ >+ /* types for mutt_add_hook() */ >+ #define M_FOLDERHOOK 1 >+ #define M_MBOXHOOK (1<<1) >+--- hdrline.c >++++ hdrline.c >+@@ -231,6 +231,89 @@ >+ * %Y = `x-label:' field (if present, tree unfolded, and != parent's x-label) >+ * %Z = status flags */ >+ >++static void >++format_smartdate( char *buf, size_t max, struct tm *tm, smartdate_type type ) >++{ >++ char *strftime_fmt = NULL; >++ >++ switch( type ) { >++ case FUTURE: /* Date in the future */ >++ strftime_fmt = "%d%h%y!"; >++ break; >++ case SMARTTIME: /* Today */ >++ strftime_fmt = "%I:%M %p"; >++ break; >++ case YESTERDAY: /* Yesterday */ >++ strncpy( buf, "Yesterday", max ); >++ break; >++ case WEEKDAY: /* Within the last 7 days */ >++ strftime_fmt = "%A"; >++ break; >++ case STANDARD: /* Within the last six months */ >++ strftime_fmt = "%h %d"; >++ break; >++ case ANCIENT: /* Older than 6 months */ >++ strftime_fmt = "%h %Y"; >++ break; >++ } >++ >++ if( strftime_fmt != NULL ) { >++ strftime( buf, max, strftime_fmt, tm ); >++ } >++} >++ >++static void >++smartdate( char *buf, size_t max, struct tm *tm ) >++{ >++ smartdate_type type = 0; >++ >++ struct tm now; >++ >++ time_t sse = mktime( tm ); /* Seconds since epoch */ >++ time_t sse_now = time(NULL); /* Seconds since epoch until now */ >++ >++ int dse = 0; /* Days since epoch */ >++ int dse_now = 0; /* Days since epoch until today */ >++ >++ /* Calculate the number of days since epoch */ >++ dse = sse / (60*60*24); >++ dse_now = sse_now / (60*60*24); >++ >++ /* Default display type */ >++ type = STANDARD; >++ >++ /* Check if the date is in the future */ >++ if( dse > dse_now ) { >++ type = FUTURE; >++ } >++ else { >++ int diff = dse_now - dse; >++ if( diff == 0 ) type = SMARTTIME; >++ else if( diff == 1 ) type = YESTERDAY; >++ else if( diff < 7 ) type = WEEKDAY; >++ else if( diff > 215 ) type = ANCIENT; /* Surely older than six >++ months */ >++ else if( diff > 180 ) { >++ /* >++ * Slightly heavy calculation to check if the date is more >++ * than six months in the past. This calculation uses >++ * calendar months and not the exact number of days. So, >++ * January 31, 2003 would be considered more than six months >++ * old whether today's date is August 1 or August 31, 2003 >++ */ >++ int monthdiff; >++ localtime_r( &sse_now, &now ); >++ monthdiff = ( now.tm_mon - tm->tm_mon ) >++ + ( ( now.tm_year - tm->tm_year ) * 12 ); >++ if( monthdiff > 6 ) { >++ type = ANCIENT; >++ } >++ } >++ } >++ >++ format_smartdate( buf, max, tm, type ); >++} >++ >+ static const char * >+ hdr_format_str (char *dest, >+ size_t destlen, >+@@ -462,7 +545,13 @@ >+ tm = gmtime (&T); >+ } >+ >+- strftime (buf2, sizeof (buf2), dest, tm); >++ /* Identify the non-strftime smartdate pattern (%@) */ >++ if( strncmp( dest, "%@", 2 ) == 0 ) { >++ smartdate( buf2, sizeof( buf2 ), tm ); >++ } >++ else { >++ strftime (buf2, sizeof (buf2), dest, tm); >++ } >+ >+ if (do_locales) >+ setlocale (LC_TIME, "C"); >diff -ru /usr/ports/mail/mutt/files/patch-tls-version ./files/patch-tls-version >--- /usr/ports/mail/mutt/files/patch-tls-version 1970-01-01 01:00:00.000000000 +0100 >+++ ./files/patch-tls-version 2013-08-20 13:52:56.000000000 +0200 >@@ -0,0 +1,112 @@ >+--- init.h.orig 2010-09-15 08:39:31.000000000 -0700 >++++ init.h 2012-03-28 10:58:42.870572835 -0700 >+@@ -2972,6 +2972,18 @@ struct option_t MuttVars[] = { >+ ** SSL authentication process. >+ */ >+ #ifdef USE_SSL_OPENSSL >++ { "ssl_use_tlsv1_1", DT_BOOL, R_NONE, OPTTLSV1_1, 1 }, >++ /* >++ ** .pp >++ ** This variable specifies whether to attempt to use TLSv1.1 in the >++ ** SSL authentication process. >++ */ >++ { "ssl_use_tlsv1_2", DT_BOOL, R_NONE, OPTTLSV1_2, 1 }, >++ /* >++ ** .pp >++ ** This variable specifies whether to attempt to use TLSv1.2 in the >++ ** SSL authentication process. >++ */ >+ { "ssl_usesystemcerts", DT_BOOL, R_NONE, OPTSSLSYSTEMCERTS, 1 }, >+ /* >+ ** .pp >+--- mutt.h 2010-09-13 10:19:55.000000000 -0700 >++++ mutt.h 2012-03-28 10:59:24.437237530 -0700 >+@@ -376,6 +376,8 @@ enum >+ # endif /* USE_SSL_GNUTLS */ >+ OPTSSLV3, >+ OPTTLSV1, >++ OPTTLSV1_1, >++ OPTTLSV1_2, >+ OPTSSLFORCETLS, >+ OPTSSLVERIFYDATES, >+ OPTSSLVERIFYHOST, >+--- mutt_ssl.c.orig 2010-08-25 18:31:40.000000000 +0200 >++++ mutt_ssl.c 2013-08-20 13:51:14.000000000 +0200 >+@@ -100,12 +100,33 @@ >+ goto bail; >+ >+ ssldata = (sslsockdata*) safe_calloc (1, sizeof (sslsockdata)); >+- /* the ssl_use_xxx protocol options don't apply. We must use TLS in TLS. */ >+- if (! (ssldata->ctx = SSL_CTX_new (TLSv1_client_method ()))) >++ /* the ssl_use_xxx protocol options don't apply. We must use TLS in TLS. >++ * TLSv1.2 support was added in OpenSSL 1.0.1. RHEL6 shipped with 1.0.0 so >++ * our configure script checks for TLSv1.2 availability. >++ */ >++ if (! (ssldata->ctx = SSL_CTX_new ( >++#ifdef HAVE_TLSV1_2_CLIENT_METHOD >++ TLSv1_2_client_method () >++#else >++ TLSv1_client_method () >++#endif >++ ))) >+ { >+ dprint (1, (debugfile, "mutt_ssl_starttls: Error allocating SSL_CTX\n")); >+ goto bail_ssldata; >+ } >++#ifdef SSL_OP_NO_TLSv1_1 >++ if (!option(OPTTLSV1_1)) >++ { >++ SSL_CTX_set_options(ssldata->ctx, SSL_OP_NO_TLSv1_1); >++ } >++#endif >++#ifdef SSL_OP_NO_TLSv1_2 >++ if (!option(OPTTLSV1_2)) >++ { >++ SSL_CTX_set_options(ssldata->ctx, SSL_OP_NO_TLSv1_2); >++ } >++#endif >+ >+ ssl_get_client_cert(ssldata, conn); >+ >+@@ -303,6 +324,21 @@ >+ { >+ SSL_CTX_set_options(data->ctx, SSL_OP_NO_TLSv1); >+ } >++ /* TLSv1.1/1.2 support was added in OpenSSL 1.0.1, but some OS distros such >++ * as Fedora 17 are on OpenSSL 1.0.0. >++ */ >++#ifdef SSL_OP_NO_TLSv1_1 >++ if (!option(OPTTLSV1_1)) >++ { >++ SSL_CTX_set_options(data->ctx, SSL_OP_NO_TLSv1_1); >++ } >++#endif >++#ifdef SSL_OP_NO_TLSv1_2 >++ if (!option(OPTTLSV1_2)) >++ { >++ SSL_CTX_set_options(data->ctx, SSL_OP_NO_TLSv1_2); >++ } >++#endif >+ if (!option(OPTSSLV2)) >+ { >+ SSL_CTX_set_options(data->ctx, SSL_OP_NO_SSLv2); >+@@ -375,8 +411,8 @@ >+ if (!ssl_check_certificate (conn, ssldata)) >+ return -1; >+ >+- mutt_message (_("SSL connection using %s (%s)"), >+- SSL_get_cipher_version (ssldata->ssl), SSL_get_cipher_name (ssldata->ssl)); >++ mutt_message (_("%s connection using %s (%s)"), >++ SSL_get_version(ssldata->ssl), SSL_get_cipher_version (ssldata->ssl), SSL_get_cipher_name (ssldata->ssl)); >+ mutt_sleep (0); >+ >+ return 0; >+@@ -911,7 +947,7 @@ >+ >+ static int interactive_check_cert (X509 *cert, int idx, int len) >+ { >+- char *part[] = >++ static const char * const part[] = >+ {"/CN=", "/Email=", "/O=", "/OU=", "/L=", "/ST=", "/C="}; >+ char helpstr[LONG_STRING]; >+ char buf[STRING]; >diff -ru /usr/ports/mail/mutt/pkg-descr ./pkg-descr >--- /usr/ports/mail/mutt/pkg-descr 2013-03-14 08:34:30.338488000 +0100 >+++ ./pkg-descr 2013-08-20 12:39:32.000000000 +0200 >@@ -6,6 +6,6 @@ > RFC1522 support for encoded headers), customizable key bindings, POP3, > Delivery Status Notification (DSN) support, and PGP/MIME. > >-Mutt User Information: http://www.math.fu-berlin.de/~guckes/mutt/ >+Mutt FAQ: http://dev.mutt.org/trac/wiki/MuttFaq > > WWW: http://www.mutt.org/
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 181431
: 136260