diff options
-rw-r--r-- | mail/alpine/Makefile | 18 | ||||
-rw-r--r-- | mail/alpine/distinfo | 12 | ||||
-rw-r--r-- | mail/alpine/patches/patch-imap_src_mtest_mtest.c | 216 |
3 files changed, 19 insertions, 227 deletions
diff --git a/mail/alpine/Makefile b/mail/alpine/Makefile index 1594d1a882b..17311b188e1 100644 --- a/mail/alpine/Makefile +++ b/mail/alpine/Makefile @@ -1,16 +1,24 @@ -# $NetBSD: Makefile,v 1.47 2020/11/23 16:36:03 bsiegert Exp $ +# $NetBSD: Makefile,v 1.48 2021/10/17 09:49:09 nia Exp $ -DISTNAME= alpine-2.24 +DISTNAME= alpine-2.25 CATEGORIES= mail MASTER_SITES= http://alpine.x10host.com/alpine/release/src/ +DIST_SUBDIR= ${DISTNAME} EXTRACT_SUFX= .tar.xz +PATCH_SITES= https://alpine.x10host.com/alpine/patches/alpine-${PKGVERSION_NOREV}/ +PATCHFILES+= maildir.patch.gz +PATCH_DIST_STRIP= -p1 + MAINTAINER= pkgsrc-users@NetBSD.org -#HOMEPAGE= http://patches.freeiz.com/alpine/release/ +HOMEPAGE= http://alpine.x10host.com/index.html COMMENT= Program for Internet News and E-mail LICENSE= apache-2.0 -GNU_CONFIGURE= yes +GNU_CONFIGURE= yes +USE_TOOLS+= msgfmt msgmerge xgettext +USE_LIBTOOL= yes + CONFIGURE_ARGS+= --with-ssl-dir=${SSLBASE} CONFIGURE_ARGS+= --with-ssl-certs-dir=${SSLCERTS:Q} CONFIGURE_ARGS+= --with-ssl-include-dir=${SSLBASE}/include @@ -21,8 +29,6 @@ CONFIGURE_ARGS+= --with-passfile=.pine-passfile # disabled, for Web Alpine Support CONFIGURE_ARGS+= --without-tcl -USE_LIBTOOL= yes - MAKE_JOBS_SAFE= no INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 diff --git a/mail/alpine/distinfo b/mail/alpine/distinfo index 13fa11e9ae2..7e5d7735444 100644 --- a/mail/alpine/distinfo +++ b/mail/alpine/distinfo @@ -1,9 +1,11 @@ -$NetBSD: distinfo,v 1.26 2021/10/07 14:25:12 nia Exp $ +$NetBSD: distinfo,v 1.27 2021/10/17 09:49:09 nia Exp $ -RMD160 (alpine-2.24.tar.xz) = 1612ff9edfdd66a0ef145f338fa9db26177360e0 -SHA512 (alpine-2.24.tar.xz) = 642a51f73732ebdf7c40e2b66370aa2f48fb13b349b477871b26295c3e8b860a0cc78dec9f80efc6ea74c548a080ceff04181eb18c35a9c8cae8d8ef831178c5 -Size (alpine-2.24.tar.xz) = 7341676 bytes +RMD160 (alpine-2.25/alpine-2.25.tar.xz) = 3035891df0de21d15adc0b1665fcb4127b9b5ffd +SHA512 (alpine-2.25/alpine-2.25.tar.xz) = 76c214cf66f4ac7af3de40357ad3a592ff2a119e327e5f6c256125b7865d46b09197435fe6ac8077ab7a498e4821925939f3f902431ca77baa786e149466a193 +Size (alpine-2.25/alpine-2.25.tar.xz) = 7495372 bytes +RMD160 (alpine-2.25/maildir.patch.gz) = 5c402d391c399763fcf5714cfa7cca7cfbd65964 +SHA512 (alpine-2.25/maildir.patch.gz) = eea454796cab4e96b83869e880fe17d20799bf3a606712367f42deb0f3870b30f620fc77c307e40303ffc8492e828bb7772965b21614b2c27d4fc972f18ff346 +Size (alpine-2.25/maildir.patch.gz) = 34758 bytes SHA1 (patch-imap_src_c-client_auth_gss.c) = e6da9ee9dbe0751872d1400237a030112eaa56c6 -SHA1 (patch-imap_src_mtest_mtest.c) = 8c5282047e165fee4b6fe74c230e41d63d3cdc69 SHA1 (patch-imap_src_osdep_unix_Makefile.gss) = ca09bc26a139c68afe8ac1f99be54bd1fc0e77f0 SHA1 (patch-imap_src_osdep_unix_kerb_mit.c) = c77d5ee1e8aee30811c2df0562caa375ed270c0e diff --git a/mail/alpine/patches/patch-imap_src_mtest_mtest.c b/mail/alpine/patches/patch-imap_src_mtest_mtest.c deleted file mode 100644 index ec82381d148..00000000000 --- a/mail/alpine/patches/patch-imap_src_mtest_mtest.c +++ /dev/null @@ -1,216 +0,0 @@ -$NetBSD: patch-imap_src_mtest_mtest.c,v 1.3 2018/07/24 12:39:36 bsiegert Exp $ - -- patch up buffer handling (required to build on openbsd) - ---- imap/src/mtest/mtest.c.orig 2017-02-06 00:06:22.499218141 +0000 -+++ imap/src/mtest/mtest.c -@@ -151,6 +151,7 @@ void mm (MAILSTREAM *stream,long debug) - void *sdb = NIL; - char cmd[MAILTMPLEN],tmp[MAILTMPLEN]; - char *s, *arg; -+ size_t argmax; - unsigned long i; - unsigned long last = 0; - BODY *body; -@@ -158,7 +159,9 @@ void mm (MAILSTREAM *stream,long debug) - while (stream) { - prompt ("MTest> ",cmd, sizeof(cmd)); /* prompt user, get command */ - /* get argument */ -- if ((arg = strchr (cmd,' ')) != NULL) *arg++ = '\0'; -+ if (arg) -+ argmax = sizeof(cmd) - (arg - cmd); -+ - switch (*ucase (cmd)) { /* dispatch based on command */ - case 'B': /* Body command */ - if (arg) last = atoi (arg); -@@ -185,7 +188,8 @@ void mm (MAILSTREAM *stream,long debug) - break; - } - arg = cmd; -- sprintf (arg,"%lu",last); -+ argmax = sizeof(cmd); -+ snprintf (arg, argmax, "%lu",last); - } - if (last && (last <= stream->nmsgs)) - mail_setflag (stream,arg,"\\DELETED"); -@@ -198,6 +202,7 @@ void mm (MAILSTREAM *stream,long debug) - case 'F': /* Find command */ - if (!arg) { - arg = "%"; -+ argmax = 0; - if ((s = sm_read (tmp,&sdb)) != NULL) { - puts ("Local network subscribed mailboxes:"); - do if (*s == '{') (mm_lsub (NIL,NIL,s,NIL)); -@@ -251,7 +256,7 @@ void mm (MAILSTREAM *stream,long debug) - } - /* get the new mailbox */ - while (!(stream = mail_open (stream,arg,debug))) { -- prompt ("Mailbox: ",arg, sizeof(arg)); -+ prompt ("Mailbox: ",arg, argmax); - if (!arg[0]) break; - } - last = 0; -@@ -323,7 +328,8 @@ void mm (MAILSTREAM *stream,long debug) - break; - } - arg = cmd; -- sprintf (arg,"%lu",last); -+ argmax = sizeof(cmd); -+ snprintf (arg, argmax, "%lu",last); - } - if (last > 0 && last <= stream->nmsgs) - mail_clearflag (stream,arg,"\\DELETED"); -@@ -384,7 +390,7 @@ void overview_header (MAILSTREAM *stream - tmp[3] = elt->answered ? 'A' : ' '; - tmp[4] = elt->deleted ? 'D' : ' '; - mail_parse_date (&selt,ov->date); -- sprintf (tmp+5,"%4lu) ",elt->msgno); -+ snprintf (tmp+5, sizeof(tmp)-5, "%4lu) ",elt->msgno); - mail_date (tmp+11,&selt); - tmp[17] = ' '; - tmp[18] = '\0'; -@@ -394,11 +400,12 @@ void overview_header (MAILSTREAM *stream - for (adr = ov->from; adr && !adr->host; adr = adr->next); - if (adr) { /* if a personal name exists use it */ - if (!(t = adr->personal)) -- sprintf (t = tmp+400,"%s@%s",adr->mailbox,adr->host); -+ snprintf (t = tmp+400, sizeof(tmp)-400, "%s@%s",adr->mailbox,adr->host); - memcpy (tmp+18,t,(size_t) min (20,(long) strlen (t))); - } - strcat (tmp," "); - if ((i = elt->user_flags) != 0L) { -+ /* XXX bounds? */ - strcat (tmp,"{"); - while (i) { - strcat (tmp,stream->user_flags[find_rightmost_bit (&i)]); -@@ -406,7 +413,7 @@ void overview_header (MAILSTREAM *stream - } - strcat (tmp,"} "); - } -- sprintf (tmp + strlen (tmp),"%.25s (%lu chars)", -+ snprintf (tmp + strlen (tmp), 400 - strlen(tmp), "%.25s (%lu chars)", - ov->subject ? ov->subject : " ",ov->optional.octets); - puts (tmp); - } -@@ -423,6 +430,7 @@ void header (MAILSTREAM *stream,long msg - unsigned long i; - char tmp[MAILTMPLEN]; - char *t; -+ size_t len; - MESSAGECACHE *cache = mail_elt (stream,msgno); - mail_fetchstructure (stream,msgno,NIL); - tmp[0] = cache->recent ? (cache->seen ? 'R': 'N') : ' '; -@@ -430,7 +438,7 @@ void header (MAILSTREAM *stream,long msg - tmp[2] = cache->flagged ? 'F' : ' '; - tmp[3] = cache->answered ? 'A' : ' '; - tmp[4] = cache->deleted ? 'D' : ' '; -- sprintf (tmp+5,"%4lu) ",cache->msgno); -+ snprintf (tmp+5, sizeof(tmp)-5, "%4lu) ",cache->msgno); - mail_date (tmp+11,cache); - tmp[17] = ' '; - tmp[18] = '\0'; -@@ -445,7 +453,9 @@ void header (MAILSTREAM *stream,long msg - strcat (tmp,"} "); - } - mail_fetchsubject (t = tmp + strlen (tmp),stream,msgno,(long) 25); -- sprintf (t += strlen (t)," (%lu chars)",cache->rfc822_size); -+ len = strlen (t); -+ t += len; -+ snprintf (t, sizeof(tmp)-len, " (%lu chars)",cache->rfc822_size); - puts (tmp); - } - -@@ -459,31 +469,57 @@ void display_body (BODY *body,char *pfx, - { - char tmp[MAILTMPLEN]; - char *s = tmp; -+ size_t len, smax = sizeof(tmp); - PARAMETER *par; - PART *part; /* multipart doesn't have a row to itself */ - if (body->type == TYPEMULTIPART) { - /* if not first time, extend prefix */ -- if (pfx) sprintf (tmp,"%s%ld.",pfx,++i); -+ if (pfx) snprintf (tmp, sizeof(tmp), "%s%ld.",pfx,++i); - else tmp[0] = '\0'; - for (i = 0,part = body->nested.part; part; part = part->next) - display_body (&part->body,tmp,i++); - } - else { /* non-multipart, output oneline descriptor */ - if (!pfx) pfx = ""; /* dummy prefix if top level */ -- sprintf (s," %s%ld %s",pfx,++i,body_types[body->type]); -- if (body->subtype) sprintf (s += strlen (s),"/%s",body->subtype); -- if (body->description) sprintf (s += strlen (s)," (%s)",body->description); -- if ((par = body->parameter) != NULL) do -- sprintf (s += strlen (s),";%s=%s",par->attribute,par->value); -+ snprintf (s, smax, " %s%ld %s",pfx,++i,body_types[body->type]); -+ if (body->subtype) { -+ len = strlen(s); -+ s += len; -+ smax -= len; -+ snprintf (s, smax, "/%s",body->subtype); -+ } -+ if (body->description) { -+ len = strlen(s); -+ s += len; -+ smax -= len; -+ snprintf (s, smax, " (%s)",body->description); -+ } -+ if (par = body->parameter) do { -+ len = strlen(s); -+ s += len; -+ smax -= len; -+ snprintf (s, smax, ";%s=%s",par->attribute,par->value); -+ } - while ((par = par->next) != NULL); -- if (body->id) sprintf (s += strlen (s),", id = %s",body->id); -+ if (body->id) { -+ len = strlen(s); -+ s += len; -+ smax -= len; -+ snprintf (s, smax, ", id = %s",body->id); -+ } - switch (body->type) { /* bytes or lines depending upon body type */ - case TYPEMESSAGE: /* encapsulated message */ - case TYPETEXT: /* plain text */ -- sprintf (s += strlen (s)," (%lu lines)",body->size.lines); -+ len = strlen(s); -+ s += len; -+ smax -= len; -+ snprintf (s, smax, " (%lu lines)",body->size.lines); - break; - default: -- sprintf (s += strlen (s)," (%lu bytes)",body->size.bytes); -+ len = strlen(s); -+ s += len; -+ smax -= len; -+ snprintf (s, smax, " (%lu bytes)",body->size.bytes); - break; - } - puts (tmp); /* output this line */ -@@ -492,7 +528,7 @@ void display_body (BODY *body,char *pfx, - (body = body->nested.msg->body)) { - if (body->type == TYPEMULTIPART) display_body (body,pfx,i-1); - else { /* build encapsulation prefix */ -- sprintf (tmp,"%s%ld.",pfx,i); -+ snprintf (tmp, sizeof(tmp), "%s%ld.",pfx,i); - display_body (body,tmp,(long) 0); - } - } -@@ -711,10 +747,13 @@ void mm_login (NETMBX *mb,char *user,cha - if (curhst) fs_give ((void **) &curhst); - curhst = (char *) fs_get (1+strlen (mb->host)); - strcpy (curhst,mb->host); -- sprintf (s = tmp,"{%s/%s",mb->host,mb->service); -- if (*mb->user) sprintf (tmp+strlen (tmp),"/user=%s",strcpy (user,mb->user)); -- if (*mb->authuser) sprintf (tmp+strlen (tmp),"/authuser=%s",mb->authuser); -- if (*mb->user) strcat (s = tmp,"} password:"); -+ snprintf (s = tmp, sizeof(tmp), "{%s/%s",mb->host,mb->service); -+ if (*mb->user) snprintf (tmp+strlen (tmp), sizeof(tmp)-strlen(tmp), "/user=%s",strcpy (user,mb->user)); -+ if (*mb->authuser) snprintf (tmp+strlen (tmp), sizeof(tmp)-strlen(tmp), "/authuser=%s",mb->authuser); -+ if (*mb->user) { -+ s = tmp; -+ snprintf(tmp+strlen(tmp), sizeof(tmp)-strlen(tmp), "%s", "} password:"); -+ } - else { - printf ("%s} username: ",tmp); - fgets (user,NETMAXUSER-1,stdin); |