aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-format.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mail-format.c')
-rw-r--r--mail/mail-format.c248
1 files changed, 136 insertions, 112 deletions
diff --git a/mail/mail-format.c b/mail/mail-format.c
index 8c1f6c3088..729fa5f42a 100644
--- a/mail/mail-format.c
+++ b/mail/mail-format.c
@@ -41,57 +41,56 @@ struct mail_format_data {
GtkHTMLStream *stream;
};
-static void handle_text_plain (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_text_plain_flowed (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_text_enriched (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_text_html (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_image (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_multipart_mixed (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_multipart_related (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_multipart_alternative (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_multipart_appledouble (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_audio (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_message_rfc822 (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_message_external_body (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-
-static void handle_unknown_type (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
-static void handle_via_bonobo (CamelMimePart *part,
- const char *mime_type,
- struct mail_format_data *mfd);
+static gboolean handle_text_plain (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_text_plain_flowed (char *text,
+ struct mail_format_data *mfd);
+static gboolean handle_text_enriched (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_text_html (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_image (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_multipart_mixed (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_multipart_related (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_multipart_alternative (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_multipart_appledouble (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_audio (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_message_rfc822 (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_message_external_body (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+
+static gboolean handle_unknown_type (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
+static gboolean handle_via_bonobo (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
/* writes the header info for a mime message into an html stream */
static void write_headers (CamelMimeMessage *message,
struct mail_format_data *mfd);
/* dispatch html printing via mimetype */
-static void call_handler_function (CamelMimePart *part,
- struct mail_format_data *mfd);
+static gboolean call_handler_function (CamelMimePart *part,
+ struct mail_format_data *mfd);
static void free_urls (gpointer data);
@@ -172,8 +171,9 @@ get_cid (CamelMimePart *part, struct mail_format_data *mfd)
/* We're maintaining a hashtable of mimetypes -> functions;
* Those functions have the following signature...
*/
-typedef void (*mime_handler_fn) (CamelMimePart *part, const char *mime_type,
- struct mail_format_data *mfd);
+typedef gboolean (*mime_handler_fn) (CamelMimePart *part,
+ const char *mime_type,
+ struct mail_format_data *mfd);
static GHashTable *mime_function_table, *mime_fallback_table;
@@ -299,13 +299,13 @@ lookup_handler (const char *mime_type, gboolean *generic)
return handler_function;
}
-static void
+static gboolean
call_handler_function (CamelMimePart *part, struct mail_format_data *mfd)
{
CamelDataWrapper *wrapper;
char *mime_type;
mime_handler_fn handler_function = NULL;
- gboolean generic;
+ gboolean generic, output;
wrapper = camel_medium_get_content_object (CAMEL_MEDIUM (part));
mime_type = camel_data_wrapper_get_mime_type (wrapper);
@@ -313,11 +313,12 @@ call_handler_function (CamelMimePart *part, struct mail_format_data *mfd)
handler_function = lookup_handler (mime_type, &generic);
if (handler_function)
- (*handler_function) (part, mime_type, mfd);
+ output = (*handler_function) (part, mime_type, mfd);
else
- handle_unknown_type (part, mime_type, mfd);
+ output = handle_unknown_type (part, mime_type, mfd);
g_free (mime_type);
+ return output;
}
static void
@@ -420,21 +421,32 @@ write_headers (CamelMimeMessage *message, struct mail_format_data *mfd)
}
-
+/* Return the contents of a text-based data wrapper, or NULL if it
+ * contains only whitespace.
+ */
static char *
get_data_wrapper_text (CamelDataWrapper *data)
{
CamelStream *memstream;
GByteArray *ba;
- char *text;
+ char *text, *end;
ba = g_byte_array_new ();
memstream = camel_stream_mem_new_with_byte_array (ba);
camel_data_wrapper_write_to_stream (data, memstream);
- text = g_malloc (ba->len + 1);
- memcpy (text, ba->data, ba->len);
- text[ba->len] = '\0';
+
+ for (text = ba->data, end = ba->data + ba->len; text < end; text++) {
+ if (!isspace ((unsigned char)*text))
+ break;
+ }
+
+ if (text < end) {
+ text = g_malloc (ba->len + 1);
+ memcpy (text, ba->data, ba->len);
+ text[ba->len] = '\0';
+ } else
+ text = NULL;
gtk_object_unref (GTK_OBJECT (memstream));
return text;
@@ -444,7 +456,7 @@ get_data_wrapper_text (CamelDataWrapper *data)
* Mime handling functions
*----------------------------------------------------------------------*/
-static void
+static gboolean
handle_text_plain (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -454,42 +466,38 @@ handle_text_plain (CamelMimePart *part, const char *mime_type,
GMimeContentField *type;
const char *format;
+ text = get_data_wrapper_text (wrapper);
+ if (!text)
+ return FALSE;
+
/* Check for RFC 2646 flowed text. */
type = camel_mime_part_get_content_type (part);
format = gmime_content_field_get_parameter (type, "format");
- if (format && !g_strcasecmp (format, "flowed")) {
- handle_text_plain_flowed (part, mime_type, mfd);
- return;
- }
+ if (format && !g_strcasecmp (format, "flowed"))
+ return handle_text_plain_flowed (text, mfd);
mail_html_write (mfd->html, mfd->stream,
"\n<!-- text/plain -->\n<pre>\n");
- text = get_data_wrapper_text (wrapper);
- if (text && *text) {
- htmltext = e_text_to_html (text, E_TEXT_TO_HTML_CONVERT_URLS);
- mail_html_write (mfd->html, mfd->stream, "%s", htmltext);
- g_free (htmltext);
- }
+ htmltext = e_text_to_html (text, E_TEXT_TO_HTML_CONVERT_URLS);
g_free (text);
+ mail_html_write (mfd->html, mfd->stream, "%s", htmltext);
+ g_free (htmltext);
mail_html_write (mfd->html, mfd->stream, "</pre>\n");
+ return TRUE;
}
-static void
-handle_text_plain_flowed (CamelMimePart *part, const char *mime_type,
- struct mail_format_data *mfd)
+static gboolean
+handle_text_plain_flowed (char *buf, struct mail_format_data *mfd)
{
- CamelDataWrapper *wrapper =
- camel_medium_get_content_object (CAMEL_MEDIUM (part));
- char *buf, *text, *line, *eol, *p;
+ char *text, *line, *eol, *p;
int prevquoting = 0, quoting, len;
gboolean br_pending = FALSE;
mail_html_write (mfd->html, mfd->stream,
"\n<!-- text/plain, flowed -->\n<tt>\n");
- buf = get_data_wrapper_text (wrapper);
for (line = buf; *line; line = eol + 1) {
/* Process next line */
eol = strchr (line, '\n');
@@ -539,6 +547,7 @@ handle_text_plain_flowed (CamelMimePart *part, const char *mime_type,
g_free (buf);
mail_html_write (mfd->html, mfd->stream, "</tt>\n");
+ return TRUE;
}
static void
@@ -548,7 +557,7 @@ free_byte_array (GtkWidget *widget, gpointer user_data)
}
/* text/enriched (RFC 1896) or text/richtext (included in RFC 1341) */
-static void
+static gboolean
handle_text_enriched (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -556,9 +565,8 @@ handle_text_enriched (CamelMimePart *part, const char *mime_type,
CamelDataWrapper *wrapper =
camel_medium_get_content_object (CAMEL_MEDIUM (part));
GString *string;
- CamelStream *memstream;
GByteArray *ba;
- char *p, *xed;
+ char *text, *p, *xed;
int len, nofill = 0;
gboolean enriched;
@@ -595,6 +603,10 @@ handle_text_enriched (CamelMimePart *part, const char *mime_type,
g_hash_table_insert (translations, "np", "<hr>");
}
+ text = get_data_wrapper_text (wrapper);
+ if (!text)
+ return FALSE;
+
if (!g_strcasecmp (mime_type, "text/richtext")) {
enriched = FALSE;
mail_html_write (mfd->html, mfd->stream,
@@ -608,13 +620,7 @@ handle_text_enriched (CamelMimePart *part, const char *mime_type,
/* This is not great code, but I don't feel like fixing it right
* now. I mean, it's just text/enriched...
*/
-
- ba = g_byte_array_new ();
- memstream = camel_stream_mem_new_with_byte_array (ba);
- camel_data_wrapper_write_to_stream (wrapper, memstream);
- g_byte_array_append (ba, "", 1);
-
- p = ba->data;
+ p = text;
string = g_string_sized_new (2 * strlen (p));
while (p) {
@@ -695,7 +701,7 @@ handle_text_enriched (CamelMimePart *part, const char *mime_type,
p++;
}
}
- gtk_object_unref (GTK_OBJECT (memstream));
+ g_free (text);
ba = g_byte_array_new ();
g_byte_array_append (ba, (const guint8 *)string->str,
@@ -709,9 +715,11 @@ handle_text_enriched (CamelMimePart *part, const char *mime_type,
mail_html_write (mfd->html, mfd->stream,
"<iframe src=\"%s\" frameborder=0 scrolling=no>"
"</iframe>", xed);
+
+ return TRUE;
}
-static void
+static gboolean
handle_text_html (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -719,17 +727,19 @@ handle_text_html (CamelMimePart *part, const char *mime_type,
mail_html_write (mfd->html, mfd->stream,
"<iframe src=\"%s\" frameborder=0 scrolling=no>"
"</iframe>", get_cid (part, mfd));
+ return TRUE;
}
-static void
+static gboolean
handle_image (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
mail_html_write (mfd->html, mfd->stream, "<img src=\"%s\">",
get_cid (part, mfd));
+ return TRUE;
}
-static void
+static gboolean
handle_multipart_mixed (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -737,23 +747,26 @@ handle_multipart_mixed (CamelMimePart *part, const char *mime_type,
camel_medium_get_content_object (CAMEL_MEDIUM (part));
CamelMultipart *mp;
int i, nparts;
+ gboolean output = FALSE;
- g_return_if_fail (CAMEL_IS_MULTIPART (wrapper));
+ g_return_val_if_fail (CAMEL_IS_MULTIPART (wrapper), FALSE);
mp = CAMEL_MULTIPART (wrapper);
nparts = camel_multipart_get_number (mp);
for (i = 0; i < nparts; i++) {
- if (i != 0)
+ if (i != 0 && output)
mail_html_write (mfd->html, mfd->stream, "<hr>\n");
part = camel_multipart_get_part (mp, i);
- call_handler_function (part, mfd);
+ output = call_handler_function (part, mfd);
}
+
+ return TRUE;
}
/* As seen in RFC 2387! */
-static void
+static gboolean
handle_multipart_related (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -765,7 +778,7 @@ handle_multipart_related (CamelMimePart *part, const char *mime_type,
const char *start;
int i, nparts;
- g_return_if_fail (CAMEL_IS_MULTIPART (wrapper));
+ g_return_val_if_fail (CAMEL_IS_MULTIPART (wrapper), FALSE);
mp = CAMEL_MULTIPART (wrapper);
nparts = camel_multipart_get_number (mp);
@@ -794,7 +807,7 @@ handle_multipart_related (CamelMimePart *part, const char *mime_type,
if (!display_part) {
/* Oops. Hrmph. */
- handle_multipart_mixed (part, mime_type, mfd);
+ return handle_multipart_mixed (part, mime_type, mfd);
}
} else {
/* No start parameter, so it defaults to the first part. */
@@ -811,7 +824,7 @@ handle_multipart_related (CamelMimePart *part, const char *mime_type,
}
/* Now, display the displayed part. */
- call_handler_function (display_part, mfd);
+ return call_handler_function (display_part, mfd);
}
/* RFC 2046 says "display the last part that you are able to display". */
@@ -838,7 +851,7 @@ find_preferred_alternative (CamelMultipart *multipart)
return preferred_part;
}
-static void
+static gboolean
handle_multipart_alternative (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -847,18 +860,18 @@ handle_multipart_alternative (CamelMimePart *part, const char *mime_type,
CamelMultipart *multipart;
CamelMimePart *mime_part;
- g_return_if_fail (CAMEL_IS_MULTIPART (wrapper));
+ g_return_val_if_fail (CAMEL_IS_MULTIPART (wrapper), FALSE);
multipart = CAMEL_MULTIPART (wrapper);
mime_part = find_preferred_alternative (multipart);
if (mime_part)
- call_handler_function (mime_part, mfd);
+ return call_handler_function (mime_part, mfd);
else
- handle_unknown_type (part, mime_type, mfd);
+ return handle_unknown_type (part, mime_type, mfd);
}
/* RFC 1740 */
-static void
+static gboolean
handle_multipart_appledouble (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -866,7 +879,7 @@ handle_multipart_appledouble (CamelMimePart *part, const char *mime_type,
camel_medium_get_content_object (CAMEL_MEDIUM (part));
CamelMultipart *multipart;
- g_return_if_fail (CAMEL_IS_MULTIPART (wrapper));
+ g_return_val_if_fail (CAMEL_IS_MULTIPART (wrapper), FALSE);
multipart = CAMEL_MULTIPART (wrapper);
/* The first part is application/applefile and is not useful
@@ -874,7 +887,7 @@ handle_multipart_appledouble (CamelMimePart *part, const char *mime_type,
* likely it's application/octet-stream though.
*/
part = camel_multipart_get_part (multipart, 1);
- call_handler_function (part, mfd);
+ return call_handler_function (part, mfd);
}
static const char *
@@ -980,7 +993,7 @@ handle_mystery (CamelMimePart *part, struct mail_format_data *mfd,
mail_html_write (mfd->html, mfd->stream, "</td></tr></table>");
}
-static void
+static gboolean
handle_audio (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -997,24 +1010,28 @@ handle_audio (CamelMimePart *part, const char *mime_type,
handle_mystery (part, mfd, get_cid (part, mfd), "gnome-audio2.png",
id, "play it");
g_free (id);
+
+ return TRUE;
}
-static void
+static gboolean
handle_message_rfc822 (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
CamelDataWrapper *wrapper =
camel_medium_get_content_object (CAMEL_MEDIUM (part));
- g_return_if_fail (CAMEL_IS_MIME_MESSAGE (wrapper));
+ g_return_val_if_fail (CAMEL_IS_MIME_MESSAGE (wrapper), FALSE);
mail_html_write (mfd->html, mfd->stream, "<blockquote>");
mail_format_mime_message (CAMEL_MIME_MESSAGE (wrapper),
mfd->html, mfd->stream, mfd->root);
mail_html_write (mfd->html, mfd->stream, "</blockquote>");
+
+ return TRUE;
}
-static void
+static gboolean
handle_message_external_body (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -1120,9 +1137,10 @@ handle_message_external_body (CamelMimePart *part, const char *mime_type,
g_free (desc);
g_free (url);
+ return TRUE;
}
-static void
+static gboolean
handle_undisplayable (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -1137,9 +1155,11 @@ handle_undisplayable (CamelMimePart *part, const char *mime_type,
handle_mystery (part, mfd, get_cid (part, mfd), "gnome-question.png",
id, "save it to disk");
g_free (id);
+
+ return TRUE;
}
-static void
+static gboolean
handle_unknown_type (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -1149,14 +1169,14 @@ handle_unknown_type (CamelMimePart *part, const char *mime_type,
type = mail_identify_mime_part (part);
if (type) {
mime_handler_fn handler_function;
- gboolean generic;
+ gboolean generic, output;
handler_function = lookup_handler (type, &generic);
if (handler_function &&
handler_function != handle_unknown_type) {
- (*handler_function) (part, type, mfd);
+ output = (*handler_function) (part, type, mfd);
g_free (type);
- return;
+ return output;
}
} else
type = g_strdup (mime_type);
@@ -1164,9 +1184,11 @@ handle_unknown_type (CamelMimePart *part, const char *mime_type,
/* OK. Give up. */
handle_undisplayable (part, type, mfd);
g_free (type);
+
+ return TRUE;
}
-static void
+static gboolean
handle_via_bonobo (CamelMimePart *part, const char *mime_type,
struct mail_format_data *mfd)
{
@@ -1181,6 +1203,8 @@ handle_via_bonobo (CamelMimePart *part, const char *mime_type,
handle_undisplayable (part, mime_type, mfd);
mail_html_write (mfd->html, mfd->stream, "</object>");
+
+ return TRUE;
}
static char *
an> * - fix include and prototype problems with ansi patchesdinoex2016-11-0834-628/+28 * Update slrn to 1.0.3 (bugfix release)johans2016-11-072-6/+8 * Fix character encoding issuesriggs2016-11-062-1/+2 * ${RM} already has -f.mat2016-10-212-3/+3 * news/golded+: honor LDFLAGSmarino2016-10-181-5/+5 * - Double-quote $@ to properly propagate parameters down the execution pathdanfe2016-10-171-2/+1 * Update rawdog to 2.22.tdb2016-10-123-13/+14 * Update to 1.4.3ehaupt2016-10-062-5/+5 * Update to 1.1.5-20160322.fjoe2016-10-059-110/+18 * - Update devel/icu to 57.1.tijl2016-09-241-1/+1 * - Update to 1.1.0amdmi32016-09-233-30/+26 * - fix cstd fior FreeBSD-12dinoex2016-09-161-0/+1 * Mark NO_ARCH and define LICENSEehaupt2016-09-101-0/+4 * Fix package install failure when /var/spool/news already exists.tijl2016-09-082-6/+4 * - Add NO_ARCHamdmi32016-08-181-10/+10 * - Add LICENSEamdmi32016-08-171-1/+7 * - fix regressions on FreeBSD 10.3dinoex2016-08-121-2/+3 * USE_BDB cleanup.mat2016-08-081-2/+2 * news/atp: Remove redundant dependency on unzipmarino2016-08-041-2/+1 * news/mmail: Remove redundant dependency on unzipmarino2016-08-041-2/+1 * Fix build with clang and getline(3)bapt2016-07-311-2/+6 * Prevent collision with getline(3)bapt2016-07-304-0/+53 * Don't echo in post-install, use pkg-message. Also, don't "fix"mat2016-07-192-4/+2 * Bump PORTREVISION for the icu revert.mat2016-07-071-1/+1 * devel/icu: bump PORTREVISION on missing dependent portsgahr2016-07-061-0/+1 * Remove expired ports without open PRs:rene2016-07-057-118/+0 * - Update to tin 2.3.4johans2016-06-292-11/+11 * With the power of USES=dos2unix, get rid of most patches and filesmat2016-06-216-120/+121 * news/sabnzbdplus: 1.0.2 -> 1.0.3pi2016-06-153-10/+11 * Deprecate ports broken for more than 6 monthsantoine2016-06-041-0/+2 * Remove NLS, DOCS, EXAMPLES and IPV6 from OPTIONS_DEFAULT, they are enabled by...amdmi32016-05-241-1/+1 * Prevent collision with getline(3)bapt2016-05-233-0/+39 * - Fix trailing whitespace in pkg-messagesamdmi32016-05-191-1/+1 * - Fix trailing whitespace in pkg-descrs, categories [g-n]*amdmi32016-05-1914-22/+22 * - No need to specify master site subdirectory when it's the same as defaultamdmi32016-05-181-1/+1 * - Fix build on 9.x (extract of build error, below)olivierd2016-05-181-3/+4 * news/sabnzbdplus: update 1.0.1 -> 1.0.2robak2016-05-173-3/+4 * - strip all binariesdinoex2016-05-161-0/+3 * Prevent collision with get_linebapt2016-05-122-0/+31 * news/sabnzbdplus: update 1.0.0 -> 1.0.1robak2016-05-042-3/+3 * Update to tin 2.3.3 "Kinloch"johans2016-04-272-3/+3 * - Update to 1.06sunpoet2016-04-252-7/+12 * news/pan: 0.139 -> 0.140pi2016-04-103-54/+53 * Remove ${PORTSDIR}/ from dependencies, categories m, n, o, and p.mat2016-04-0148-116/+116 * news/nzbget: Add pkg-message to inform users how to drop privsfeld2016-03-292-1/+4 * - Update security/gnutls to 3.4.10.tijl2016-03-271-1/+1 * * Add gnutls options for SSL news servers (default on)kwm2016-03-251-22/+24 * news/sabnzbdplus: Update to 1.0.0feld2016-03-184-152/+114 * news/sabnzbdplus: fix RUN_DEPENDSpi2016-03-131-3/+3 * news/sabnzbdplus: Revert removal of PATH in rc scriptfeld2016-03-102-1/+2 * news/sabnzbdplus: Port cleanupfeld2016-03-094-29/+13 * - Makefile.local for slave ports is included by bsd.port.mk r397519dinoex2016-02-281-4/+0 * Set `command' before using it in the startup script.rakuco2016-02-162-1/+2 * news/trn4: document ncurses requirement (USES+=ncurses)marino2016-02-053-1/+19 * news/trn: document ncurses rqmt (USES+=ncurses), respect LDFLAGSmarino2016-02-053-5/+14 * news/tin: document ncurses requirement (USES+=ncurses)marino2016-02-051-1/+1 * news/mmail: USES+= ncurses, respect LDFLAGS, link ncurses, not cursesmarino2016-02-051-2/+2 * news/golded+: document ncurses rqmt (USES+=ncurses), respect LDFLAGSmarino2016-02-052-1/+12 * - Add LICENSEamdmi32016-02-051-2/+7 * Update tin to 2.3.2johans2016-01-175-22/+23 * Fix staging (as a regular user) / packaging (as root)antoine2016-01-031-0/+21 * Cleanup and update.mandree2015-12-302-17/+14 * Fix build as a user.mat2015-12-293-22/+10 * Old homepage disappeared, link to Russ Allbery's INN pagejohans2015-12-281-1/+1 * Fix usage of ${PERL5}.mat2015-12-181-7/+3 * Make build as a user.mat2015-12-1518-164/+116 * Staticly link to libgcc and libstdc++. This fixes a segmentation faultkwm2015-12-131-2/+3 * news/nzbget: Update to 16.4feld2015-12-122-3/+3 * - Modernize plistamdmi32015-12-012-41/+35 * - fix build with new inndinoex2015-11-221-2/+1 * - use USES=tardinoex2015-11-221-2/+1 * - use post-install-DOCS-ondinoex2015-11-222-4/+2 * - fix build with custom CNEWS_PORTdinoex2015-11-221-7/+9 * news/nzbget: 16.1 -> 16.3pi2015-11-222-3/+3 * Mark a few ports BROKEN: unfetchableantoine2015-11-091-0/+2 * Fix ports that confused the meaning of WRKDIR and WRKSRC.mat2015-11-052-3/+3 * Bump portrevision of ports that might have been built with a broken post-installbapt2015-10-311-1/+1 * news/nzbget: Update to 16.1feld2015-10-223-5/+7 * Improve shebangfix frameworkamdmi32015-10-192-4/+0 * - Fix permissions, fix install by non-rootamdmi32015-10-132-17/+12 * - Add missing directories to plist, fixing stage-qaamdmi32015-10-132-10/+19 * Remove #pragma to fix build with all compiler versionsjohans2015-10-111-0/+1 * Remove trailing whitespace from Makefiles, M-X.olgeni2015-10-081-1/+1 * - cleanupdinoex2015-10-081-13/+11 * - cleanupdinoex2015-10-082-20/+3 * Move BROKEN to the correct place, suck-cnews slave builds fineantoine2015-10-041-2/+1 * Mark BROKEN: fails to linkantoine2015-10-041-0/+2 * - cleanupdinoex2015-09-292-27/+1 * Fix leftover directory.mandree2015-09-241-1/+0 * - Remove obsolete MAN1amdmi32015-09-231-1/+0 * Rework husky ports to use a more conventional MASTER/SLAVE port pattern.bdrewery2015-09-228-54/+34 * Update to INN 2.6.0johans2015-09-226-66/+66 * Make all GNUstep ports install into the System domain so that the Local domai...theraven2015-09-192-13/+13 * - Fix shebangsamdmi32015-09-021-2/+3 * - Switch to options helpersamdmi32015-09-021-7/+4 * - Add NO_ARCHamdmi32015-08-282-11/+3 * Update to new upstream release 1.11.11. (Bugfixes)mandree2015-08-254-15/+38 * - Add LICENSEamdmi32015-08-211-0/+3 * Reset maintainererwin2015-08-191-1/+1 * Remove UNIQUENAME and LATEST_LINK.mat2015-08-172-3/+0 * - support disk with more than 4G blocks freedinoex2015-08-012-1/+12 * - Fix shebangsamdmi32015-08-011-1/+26 * Switch default python_CMD used by shebangfix to ${PYTHON_CMD} for portsantoine2015-07-301-2/+1 * Update to 2.21.svnmir2015-07-202-3/+3 * - Drop @dirrm* from plistamdmi32015-07-161-4/+0 * - Update to INN 2.5.5johans2015-07-133-58/+36 * - Drop @dirrm* from plistamdmi32015-07-131-2/+0 * Update tin to 2.3.1johans2015-07-102-4/+3 * Convert to USES=jpegantoine2015-06-231-3/+2 * - Strip binaryamdmi32015-06-191-1/+4 * Reset maintainership for obrienerwin2015-06-131-1/+1 * - Switch to USES=autoreconfamdmi32015-06-112-26/+3 * - Add NO_ARCHsunpoet2015-06-111-1/+2 * - Update to 15.2.1sunpoet2015-06-102-3/+3 * - Add LICENSEamdmi32015-06-082-7/+7 * - Update to 15.0madpilot2015-05-274-9/+10 * Remove $FreeBSD$ from patches files everywhere.mat2015-05-231-3/+0 * - remove option broken by r385280dinoex2015-05-192-34/+7 * - Add CPE infoamdmi32015-05-181-1/+2 * MASTER_SITES cleanup.mat2015-05-1411-22/+11 * - Update to 14.2wen2015-05-072-4/+3 * Remove _*OWNGRP, with staging it's not useful anymoreantoine2015-05-041-1/+1 * Allow packaging as a user by overwriting OWNER/GROUPbapt2015-05-031-1/+2 * Overwrite variables via MAKE_ARGS instead of patching a filebapt2015-05-031-15/+3 * - Update to 15.1.0sunpoet2015-04-222-3/+3 * Bump PORTREVISION after r384253 and r384264jbeich2015-04-191-1/+1 * news/husky-(fidoconf|htick|hpt) : builds INFO pages everywhere againmarino2015-04-193-19/+7 * Add patches to unbreak INFO build on DragonFly and FreeBSD 11+jbeich2015-04-192-0/+45 * news/husky-fidoconf: Test feature rather than OPSYS/OSVERSIONmarino2015-04-181-4/+2 * news/husky-(hpt|htick): Restore build on FreeBSD 11 and DFmarino2015-04-182-6/+17 * news/husky(-fidoconf): Unbreak F11 and DragonFly (old texi files)marino2015-04-183-23/+35 * converters/libiconv:tijl2015-04-151-14/+0 * Consolidate LICENSEsfeld2015-04-102-51/+3