SHA256
1
0
forked from pool/alpine

Updating link to change in openSUSE:Factory/alpine revision 41.0

OBS-URL: https://build.opensuse.org/package/show/server:mail/alpine?expand=0&rev=292ceea80481d5f0ef48accc96aeae6a
This commit is contained in:
OBS User buildservice-autocommit 2017-04-12 15:37:46 +00:00 committed by Git OBS Bridge
parent 7cefe2f7ae
commit 61ba4eb0c5
19 changed files with 19354 additions and 8130 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed639b6e5bb97e6b0645c85262ca6a784316195d461ce8d8411999bf80449227
size 4841816

3
alpine-2.21.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6030b6881b8168546756ab3a5e43628d8d564539b0476578e287775573a77438
size 4720856

View File

@ -1,33 +0,0 @@
---
alpine/Makefile.am | 2 +-
configure.ac | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
Index: alpine-2.11/alpine/Makefile.am
===================================================================
--- alpine-2.11.orig/alpine/Makefile.am
+++ alpine-2.11/alpine/Makefile.am
@@ -35,7 +35,7 @@ BUILT_SOURCES = date.c
LDADD = ../pico/libpico.a ../pico/osdep/libpicoosd.a \
../pith/libpith.a ../pith/osdep/libpithosd.a \
../pith/charconv/libpithcc.a \
- osdep/libpineosd.a ../c-client/c-client.a
+ osdep/libpineosd.a ../c-client/c-client.a -lkrb5 -lcrypto
AM_CPPFLAGS = -I@top_builddir@/include -I@top_srcdir@/include -DLOCALEDIR=\"$(localedir)\"
Index: alpine-2.11/configure.ac
===================================================================
--- alpine-2.11.orig/configure.ac
+++ alpine-2.11/configure.ac
@@ -38,8 +38,9 @@ WEB_BUILD=web/src/alpined.d
dnl CHECK PROGRAMS
-AC_PROG_CC
AC_PROG_CC_STDC
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_LN_S

View File

@ -1,24 +1,3 @@
---
alpine/Makefile | 4 ++--
alpine/Makefile.am | 4 ++--
alpine/Makefile.in | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
Index: alpine-2.20/alpine/Makefile
===================================================================
--- alpine-2.20.orig/alpine/Makefile
+++ alpine-2.20/alpine/Makefile
@@ -888,8 +888,8 @@ uninstall-am: uninstall-binPROGRAMS
date.c:
- echo "char datestamp[]="\"`date`\"";" > date.c
- echo "char hoststamp[]="\"`hostname`\"";" >> date.c
+ echo 'char datestamp[]="today";' > date.c
+ echo 'char hoststamp[]="sand";' >> date.c
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
Index: alpine-2.20/alpine/Makefile.am Index: alpine-2.20/alpine/Makefile.am
=================================================================== ===================================================================
--- alpine-2.20.orig/alpine/Makefile.am --- alpine-2.20.orig/alpine/Makefile.am

View File

@ -1,3 +1,33 @@
-------------------------------------------------------------------
Tue Mar 21 21:21:06 UTC 2017 - opensuse@dstoecker.de
- add chappa patch to add own rules (chappa-rules.patch)
- add chappa patch to change from header (chappa-fromheader.patch)
- add chappa patch to better justify paragraphs (chappa-fillpara.patch)
- drop empty lint.diff
-------------------------------------------------------------------
Tue Mar 21 15:31:10 UTC 2017 - max@suse.com
- New version 2.21:
* New SHORTSUBJECT, SHORTSUBJKEY and SHORTSUBJKEYINIT token for
index format
* New SMARTTIME24 token for index screen.
* Added support for RFC 2971 - IMAP ID extension.
* SMIME: Upgrade the default signature digest from SHA-1 to
SHA-256.
* SMIME: Turn off automatic signing and encrypting of a message
when bouncing.
* The complete change list can be viewed by pressing "R"
in the Alpine main menu.
- Updated "Chappa" patches to the latest version.
- Obsolete patches:
* alpine-no-add-needed.patch
* chappa-ignoresize.patch
* chappa-unixnullbug.patch
* pico-stripwhitespace.diff
* pine-nonvoid-function.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Apr 4 14:18:00 CEST 2016 - kukuk@suse.de Mon Apr 4 14:18:00 CEST 2016 - kukuk@suse.de

View File

@ -1,7 +1,7 @@
# #
# spec file for package alpine # spec file for package alpine
# #
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -22,7 +22,7 @@ Name: alpine
Summary: Mail User Agent Summary: Mail User Agent
License: Apache-2.0 License: Apache-2.0
Group: Productivity/Networking/Email/Clients Group: Productivity/Networking/Email/Clients
Version: 2.20 Version: 2.21
Release: 0 Release: 0
Url: http://patches.freeiz.com/alpine/ Url: http://patches.freeiz.com/alpine/
@ -31,7 +31,6 @@ Url: http://patches.freeiz.com/alpine/
Source: %name-%version.tar.xz Source: %name-%version.tar.xz
Source1: %name.png Source1: %name.png
Source2: %name.desktop Source2: %name.desktop
Patch1: pine-nonvoid-function.patch
Patch2: make-use-of-strncat-safer.diff Patch2: make-use-of-strncat-safer.diff
Patch3: operation-may-be-undefined-warning.diff Patch3: operation-may-be-undefined-warning.diff
Patch4: fix-implicit.patch Patch4: fix-implicit.patch
@ -39,21 +38,19 @@ Patch5: alpine-gcc44.diff
Patch6: alpine-timestamp.patch Patch6: alpine-timestamp.patch
Patch10: pico-fix-spurious-undef-warnings.diff Patch10: pico-fix-spurious-undef-warnings.diff
Patch20: pine-expression-warnings.diff Patch20: pine-expression-warnings.diff
Patch40: pico-stripwhitespace.diff
Patch60: signal-and-panic-improvements.diff Patch60: signal-and-panic-improvements.diff
Patch61: lint.diff
# #
# Eduardo Chappa's patches. # Eduardo Chappa's patches.
# http://patches.freeiz.com/alpine/ # http://patches.freeiz.com/alpine/
# #
Patch600: chappa-colortext.patch Patch600: chappa-colortext.patch
Patch601: chappa-fancy.patch Patch601: chappa-fancy.patch
Patch602: chappa-ignoresize.patch
Patch603: chappa-insertpat.patch Patch603: chappa-insertpat.patch
Patch604: chappa-maildir.patch Patch604: chappa-maildir.patch
Patch605: chappa-WrtAcc.patch Patch605: chappa-WrtAcc.patch
Patch606: chappa-unixnullbug.patch Patch614: chappa-fillpara.patch
Patch613: alpine-no-add-needed.patch Patch615: chappa-fromheader.patch
Patch616: chappa-rules.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf >= 2.69 BuildRequires: autoconf >= 2.69
BuildRequires: imap-devel BuildRequires: imap-devel
@ -121,16 +118,15 @@ fi
# #
%patch600 -p1 %patch600 -p1
%patch601 -p1 %patch601 -p1
%patch602 -p1
%patch603 -p1 %patch603 -p1
%patch604 -p1 %patch604 -p1
%patch605 -p1 %patch605 -p1
%patch606 -p1 %patch614 -p1
%patch613 -p1 %patch615 -p1
%patch616 -p1
# #
# SuSE patches - warning fixes, etc: # SuSE patches - warning fixes, etc:
# #
%patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
@ -138,9 +134,7 @@ fi
%patch6 -p1 %patch6 -p1
%patch10 -p1 %patch10 -p1
%patch20 -p1 %patch20 -p1
%patch40 -p1
%patch60 -p1 %patch60 -p1
%patch61 -p1
%endif # End of "if !{build_vanilla}" %endif # End of "if !{build_vanilla}"
%build %build
@ -214,7 +208,7 @@ install -D -m644 %{SOURCE2} $RPM_BUILD_ROOT/usr/share/applications/%name.desktop
ln -sf alpine $RPM_BUILD_ROOT%{_bindir}/pine ln -sf alpine $RPM_BUILD_ROOT%{_bindir}/pine
: :
install -m755 pico/{pico,pilot} $RPM_BUILD_ROOT%{_bindir} install -m755 pico/{pico,pilot} $RPM_BUILD_ROOT%{_bindir}
install -m644 doc/{pico.1,pilot.1} $RPM_BUILD_ROOT%{_mandir}/man1/ install -m644 doc/man1/{pico.1,pilot.1} $RPM_BUILD_ROOT%{_mandir}/man1/
%check %check
#since where are no logs in the package at the moment, there are no checks, #since where are no logs in the package at the moment, there are no checks,

View File

@ -1,18 +1,9 @@
--- diff -rc alpine-2.21/pico/basic.c alpine-2.21.WrtAcc/pico/basic.c
pico/basic.c | 183 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *** alpine-2.21/pico/basic.c Sun Feb 5 16:02:36 2017
pico/composer.c | 9 ++ --- alpine-2.21.WrtAcc/pico/basic.c Sun Feb 5 16:15:24 2017
pico/display.c | 7 +- ***************
pico/ebind.h | 8 +- *** 342,347 ****
pico/efunc.h | 3 --- 342,530 ----
pico/main.c | 6 +
pico/search.c | 6 -
7 files changed, 214 insertions(+), 8 deletions(-)
Index: alpine-2.20/pico/basic.c
===================================================================
--- alpine-2.20.orig/pico/basic.c
+++ alpine-2.20/pico/basic.c
@@ -342,6 +342,189 @@ gotobop(int f, int n)
return(TRUE); return(TRUE);
} }
@ -202,20 +193,29 @@ Index: alpine-2.20/pico/basic.c
/* /*
* go forword to the end of the current paragraph * go forword to the end of the current paragraph
Index: alpine-2.20/pico/composer.c diff -rc alpine-2.21/pico/composer.c alpine-2.21.WrtAcc/pico/composer.c
=================================================================== *** alpine-2.21/pico/composer.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pico/composer.c --- alpine-2.21.WrtAcc/pico/composer.c Sun Feb 5 16:15:24 2017
+++ alpine-2.20/pico/composer.c ***************
@@ -2015,7 +2015,7 @@ LineEdit(int allowedit, UCS *lastch) *** 2015,2021 ****
tbufp = &strng[ods.p_len]; tbufp = &strng[ods.p_len];
if(VALID_KEY(ch)){ /* char input */ if(VALID_KEY(ch)){ /* char input */
- /* ! /*
+insert_char:/*
* if we are allowing editing, insert the new char * if we are allowing editing, insert the new char
* end up leaving tbufp pointing to newly * end up leaving tbufp pointing to newly
* inserted character in string, and offset to the * inserted character in string, and offset to the
@@ -2095,6 +2095,13 @@ LineEdit(int allowedit, UCS *lastch) --- 2015,2021 ----
tbufp = &strng[ods.p_len];
if(VALID_KEY(ch)){ /* char input */
! insert_char:/*
* if we are allowing editing, insert the new char
* end up leaving tbufp pointing to newly
* inserted character in string, and offset to the
***************
*** 2095,2100 ****
--- 2095,2107 ----
} }
else { /* interpret ch as a command */ else { /* interpret ch as a command */
switch (ch = normalize_cmd(ch, ckm, 2)) { switch (ch = normalize_cmd(ch, ckm, 2)) {
@ -229,11 +229,12 @@ Index: alpine-2.20/pico/composer.c
case (CTRL|KEY_LEFT): /* word skip left */ case (CTRL|KEY_LEFT): /* word skip left */
if(ods.p_ind > 0) /* Scoot one char left if possible */ if(ods.p_ind > 0) /* Scoot one char left if possible */
ods.p_ind--; ods.p_ind--;
Index: alpine-2.20/pico/display.c diff -rc alpine-2.21/pico/display.c alpine-2.21.WrtAcc/pico/display.c
=================================================================== *** alpine-2.21/pico/display.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pico/display.c --- alpine-2.21.WrtAcc/pico/display.c Sun Feb 5 16:15:24 2017
+++ alpine-2.20/pico/display.c ***************
@@ -1751,6 +1751,11 @@ mlreplyd(UCS *prompt, UCS *buf, int nbuf *** 2196,2201 ****
--- 2196,2206 ----
b = &buf[ucs4_strlen(buf)]; b = &buf[ucs4_strlen(buf)];
continue; continue;
@ -245,53 +246,85 @@ Index: alpine-2.20/pico/display.c
case (CTRL|'F') : /* CTRL-F forward a char*/ case (CTRL|'F') : /* CTRL-F forward a char*/
case KEY_RIGHT : case KEY_RIGHT :
if(*b == '\0') if(*b == '\0')
@@ -1881,7 +1886,7 @@ mlreplyd(UCS *prompt, UCS *buf, int nbuf ***************
*** 2314,2320 ****
#endif #endif
default : default :
- !
+text:
/* look for match in extra_v */ /* look for match in extra_v */
for(i = 0; i < 12; i++) for(i = 0; i < 12; i++)
if(c && c == extra_v[i]){ if(c && c == extra_v[i]){
Index: alpine-2.20/pico/ebind.h --- 2319,2325 ----
=================================================================== #endif
--- alpine-2.20.orig/pico/ebind.h
+++ alpine-2.20/pico/ebind.h default :
@@ -61,7 +61,7 @@ KEYTAB keytab[NBINDS] = { ! text:
/* look for match in extra_v */
for(i = 0; i < 12; i++)
if(c && c == extra_v[i]){
diff -rc alpine-2.21/pico/ebind.h alpine-2.21.WrtAcc/pico/ebind.h
*** alpine-2.21/pico/ebind.h Sun Feb 5 16:02:36 2017
--- alpine-2.21.WrtAcc/pico/ebind.h Sun Feb 5 16:15:24 2017
***************
*** 61,67 ****
#ifdef MOUSE #ifdef MOUSE
{KEY_MOUSE, mousepress}, {KEY_MOUSE, mousepress},
#ifndef _WINDOWS #ifndef _WINDOWS
- {CTRL|'\\', toggle_xterm_mouse}, ! {CTRL|'\\', toggle_xterm_mouse},
+ {CTRL|'|', toggle_xterm_mouse},
#endif #endif
#endif #endif
{CTRL|'A', gotobol}, {CTRL|'A', gotobol},
@@ -100,7 +100,9 @@ KEYTAB keytab[NBINDS] = { --- 61,67 ----
#ifdef MOUSE
{KEY_MOUSE, mousepress},
#ifndef _WINDOWS
! {CTRL|'|', toggle_xterm_mouse},
#endif
#endif
{CTRL|'A', gotobol},
***************
*** 100,106 ****
{CTRL|KEY_HOME, gotobob}, {CTRL|KEY_HOME, gotobob},
{CTRL|KEY_END, gotoeob}, {CTRL|KEY_END, gotoeob},
{0x7F, backdel}, {0x7F, backdel},
- {0, NULL} ! {0, NULL}
+ {CTRL|'\\', pineaccent},
+ {0,
+NULL}
}; };
@@ -123,7 +125,7 @@ KEYTAB pkeytab[NBINDS] = { --- 100,108 ----
{CTRL|KEY_HOME, gotobob},
{CTRL|KEY_END, gotoeob},
{0x7F, backdel},
! {CTRL|'\\', pineaccent},
! {0,
! NULL}
};
***************
*** 123,129 ****
#ifdef MOUSE #ifdef MOUSE
{KEY_MOUSE, mousepress}, {KEY_MOUSE, mousepress},
#ifndef _WINDOWS #ifndef _WINDOWS
- {CTRL|'\\', toggle_xterm_mouse}, ! {CTRL|'\\', toggle_xterm_mouse},
+ {CTRL|'|', toggle_xterm_mouse},
#endif #endif
#endif #endif
{CTRL|'A', gotobol}, {CTRL|'A', gotobol},
Index: alpine-2.20/pico/efunc.h --- 125,131 ----
=================================================================== #ifdef MOUSE
--- alpine-2.20.orig/pico/efunc.h {KEY_MOUSE, mousepress},
+++ alpine-2.20/pico/efunc.h #ifndef _WINDOWS
@@ -54,6 +54,9 @@ extern int forwline(int, int); ! {CTRL|'|', toggle_xterm_mouse},
#endif
#endif
{CTRL|'A', gotobol},
diff -rc alpine-2.21/pico/efunc.h alpine-2.21.WrtAcc/pico/efunc.h
*** alpine-2.21/pico/efunc.h Sun Feb 5 16:02:36 2017
--- alpine-2.21.WrtAcc/pico/efunc.h Sun Feb 5 16:15:24 2017
***************
*** 54,59 ****
--- 54,62 ----
extern int backline(int, int); extern int backline(int, int);
extern int gotobop(int, int); extern int gotobop(int, int);
extern int gotoeop(int, int); extern int gotoeop(int, int);
@ -301,11 +334,12 @@ Index: alpine-2.20/pico/efunc.h
extern int forwpage(int, int); extern int forwpage(int, int);
extern int backpage(int, int); extern int backpage(int, int);
extern int scrollupline(int, int); extern int scrollupline(int, int);
Index: alpine-2.20/pico/main.c diff -rc alpine-2.21/pico/main.c alpine-2.21.WrtAcc/pico/main.c
=================================================================== *** alpine-2.21/pico/main.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pico/main.c --- alpine-2.21.WrtAcc/pico/main.c Sun Feb 5 16:15:24 2017
+++ alpine-2.20/pico/main.c ***************
@@ -416,6 +416,12 @@ main(int argc, char *argv[]) *** 451,456 ****
--- 451,462 ----
emlwrite(_("You may possibly have new mail."), NULL); emlwrite(_("You may possibly have new mail."), NULL);
} }
@ -318,34 +352,3 @@ Index: alpine-2.20/pico/main.c
if(km_popped) if(km_popped)
switch(c){ switch(c){
case NODATA: case NODATA:
Index: alpine-2.20/pico/search.c
===================================================================
--- alpine-2.20.orig/pico/search.c
+++ alpine-2.20/pico/search.c
@@ -291,7 +291,7 @@ forwsearch(int f, int n)
}
if(status + curwp->w_doto >= llength(curwp->w_dotp) ||
- !eq(defpat[status],lgetc(curwp->w_dotp, curwp->w_doto + status).c))
+ !eq((unsigned char) defpat[status],lgetc(curwp->w_dotp, curwp->w_doto + status).c))
break;
status++;
}
@@ -1096,7 +1096,7 @@ forscan(int *wrapt, /* boolean indicatin
c = lgetc(curline, curoff++).c; /* get the char */
/* test it against first char in pattern */
- if (eq(c, patrn[0]) != FALSE) { /* if we find it..*/
+ if (eq(c, (unsigned char)patrn[0]) != FALSE) { /* if we find it..*/
/* setup match pointers */
matchline = curline;
matchoff = curoff;
@@ -1117,7 +1117,7 @@ forscan(int *wrapt, /* boolean indicatin
return(FALSE);
/* and test it against the pattern */
- if (eq(*patptr, c) == FALSE)
+ if (eq((unsigned char) *patptr, c) == FALSE)
goto fail;
}

View File

@ -1,21 +1,9 @@
--- diff -rc alpine-2.21/alpine/confscroll.c alpine-2.21.colortext/alpine/confscroll.c
alpine/confscroll.c | 3 *** alpine-2.21/alpine/confscroll.c Sun Feb 5 16:02:36 2017
pith/conf.c | 14 +++ --- alpine-2.21.colortext/alpine/confscroll.c Sun Feb 5 16:15:26 2017
pith/conf.h | 4 + ***************
pith/conftype.h | 3 *** 5222,5227 ****
pith/mailview.c | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++++ --- 5222,5230 ----
pith/mailview.h | 15 ++++
pith/pine.hlp | 63 +++++++++++++++++
pith/state.c | 3
pith/state.h | 2
pith/text.c | 9 ++
10 files changed, 308 insertions(+)
Index: alpine-2.20/alpine/confscroll.c
===================================================================
--- alpine-2.20.orig/alpine/confscroll.c
+++ alpine-2.20/alpine/confscroll.c
@@ -5196,6 +5196,9 @@ fix_side_effects(struct pine *ps, struct
clear_index_cache(ps->mail_stream, 0); clear_index_cache(ps->mail_stream, 0);
} }
@ -25,11 +13,12 @@ Index: alpine-2.20/alpine/confscroll.c
else if(var == &ps->vars[V_INIT_CMD_LIST]){ else if(var == &ps->vars[V_INIT_CMD_LIST]){
if(!revert) if(!revert)
q_status_message(SM_ASYNC, 0, 3, q_status_message(SM_ASYNC, 0, 3,
Index: alpine-2.20/pith/conf.c diff -rc alpine-2.21/pith/conf.c alpine-2.21.colortext/pith/conf.c
=================================================================== *** alpine-2.21/pith/conf.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/conf.c --- alpine-2.21.colortext/pith/conf.c Sun Feb 5 16:15:26 2017
+++ alpine-2.20/pith/conf.c ***************
@@ -228,6 +228,8 @@ CONF_TXT_T cf_text_deadlets[] = "Specif *** 232,237 ****
--- 232,239 ----
CONF_TXT_T cf_text_fillcol[] = "Specifies the column of the screen where the composer should wrap."; CONF_TXT_T cf_text_fillcol[] = "Specifies the column of the screen where the composer should wrap.";
@ -38,8 +27,10 @@ Index: alpine-2.20/pith/conf.c
CONF_TXT_T cf_text_replystr[] = "Specifies the string to insert when replying to a message."; CONF_TXT_T cf_text_replystr[] = "Specifies the string to insert when replying to a message.";
CONF_TXT_T cf_text_quotereplstr[] = "Specifies the string to replace quotes with when viewing a message."; CONF_TXT_T cf_text_quotereplstr[] = "Specifies the string to replace quotes with when viewing a message.";
@@ -562,6 +564,8 @@ static struct variable variables[] = { ***************
NULL, cf_text_speller}, *** 572,577 ****
--- 574,581 ----
#endif /* _WINDOWS */
{"composer-wrap-column", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, {"composer-wrap-column", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
NULL, cf_text_fillcol}, NULL, cf_text_fillcol},
+ {"special-text-color", 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, + {"special-text-color", 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0,
@ -47,7 +38,9 @@ Index: alpine-2.20/pith/conf.c
{"reply-indent-string", 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, {"reply-indent-string", 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0,
NULL, cf_text_replystr}, NULL, cf_text_replystr},
{"reply-leadin", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, {"reply-leadin", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
@@ -821,6 +825,8 @@ static struct variable variables[] = { ***************
*** 833,838 ****
--- 837,844 ----
{"incoming-unseen-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0}, {"incoming-unseen-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
{"signature-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0}, {"signature-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
{"signature-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0}, {"signature-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
@ -56,16 +49,20 @@ Index: alpine-2.20/pith/conf.c
{"prompt-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0}, {"prompt-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
{"prompt-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0}, {"prompt-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
{"header-general-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0}, {"header-general-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
@@ -1990,6 +1996,8 @@ init_vars(struct pine *ps, void (*cmds_f ***************
set_current_val(&vars[V_FORM_FOLDER], TRUE, TRUE); *** 2021,2026 ****
set_current_val(&vars[V_EDITOR], TRUE, TRUE); --- 2027,2034 ----
set_current_val(&vars[V_SPELLER], TRUE, TRUE); set_current_val(&vars[V_DICTIONARY], TRUE, TRUE);
#endif /* _WINDOWS */
set_current_val(&vars[V_IMAGE_VIEWER], TRUE, TRUE);
+ set_current_val(&vars[V_SPECIAL_TEXT], TRUE, TRUE); + set_current_val(&vars[V_SPECIAL_TEXT], TRUE, TRUE);
+ regex_pattern(VAR_SPECIAL_TEXT); + regex_pattern(VAR_SPECIAL_TEXT);
set_current_val(&vars[V_IMAGE_VIEWER], TRUE, TRUE);
set_current_val(&vars[V_BROWSER], TRUE, TRUE); set_current_val(&vars[V_BROWSER], TRUE, TRUE);
set_current_val(&vars[V_HISTORY], TRUE, TRUE);
set_current_val(&vars[V_SMTP_SERVER], TRUE, TRUE); set_current_val(&vars[V_SMTP_SERVER], TRUE, TRUE);
@@ -6549,6 +6557,7 @@ set_current_color_vals(struct pine *ps) ***************
*** 6567,6572 ****
--- 6575,6581 ----
set_color_val(&vars[V_IND_OP_FORE_COLOR], 0); set_color_val(&vars[V_IND_OP_FORE_COLOR], 0);
set_color_val(&vars[V_INCUNSEEN_FORE_COLOR], 0); set_color_val(&vars[V_INCUNSEEN_FORE_COLOR], 0);
set_color_val(&vars[V_SIGNATURE_FORE_COLOR], 0); set_color_val(&vars[V_SIGNATURE_FORE_COLOR], 0);
@ -73,7 +70,9 @@ Index: alpine-2.20/pith/conf.c
set_current_val(&ps->vars[V_INDEX_TOKEN_COLORS], TRUE, TRUE); set_current_val(&ps->vars[V_INDEX_TOKEN_COLORS], TRUE, TRUE);
set_current_val(&ps->vars[V_VIEW_HDR_COLORS], TRUE, TRUE); set_current_val(&ps->vars[V_VIEW_HDR_COLORS], TRUE, TRUE);
@@ -7732,6 +7741,8 @@ config_help(int var, int feature) ***************
*** 7755,7760 ****
--- 7764,7771 ----
return(h_config_scroll_margin); return(h_config_scroll_margin);
case V_DEADLETS : case V_DEADLETS :
return(h_config_deadlets); return(h_config_deadlets);
@ -82,7 +81,9 @@ Index: alpine-2.20/pith/conf.c
case V_FILLCOL : case V_FILLCOL :
return(h_config_composer_wrap_column); return(h_config_composer_wrap_column);
case V_TCPOPENTIMEO : case V_TCPOPENTIMEO :
@@ -7897,6 +7908,9 @@ config_help(int var, int feature) ***************
*** 7922,7927 ****
--- 7933,7941 ----
case V_SIGNATURE_FORE_COLOR : case V_SIGNATURE_FORE_COLOR :
case V_SIGNATURE_BACK_COLOR : case V_SIGNATURE_BACK_COLOR :
return(h_config_signature_color); return(h_config_signature_color);
@ -92,20 +93,23 @@ Index: alpine-2.20/pith/conf.c
case V_PROMPT_FORE_COLOR : case V_PROMPT_FORE_COLOR :
case V_PROMPT_BACK_COLOR : case V_PROMPT_BACK_COLOR :
return(h_config_prompt_color); return(h_config_prompt_color);
Index: alpine-2.20/pith/conf.h diff -rc alpine-2.21/pith/conf.h alpine-2.21.colortext/pith/conf.h
=================================================================== *** alpine-2.21/pith/conf.h Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/conf.h --- alpine-2.21.colortext/pith/conf.h Sun Feb 5 16:15:26 2017
+++ alpine-2.20/pith/conf.h ***************
@@ -161,6 +161,8 @@ *** 165,170 ****
#define GLO_EDITOR vars[V_EDITOR].global_val.l --- 165,172 ----
#define VAR_SPELLER vars[V_SPELLER].current_val.p #define VAR_DICTIONARY vars[V_DICTIONARY].current_val.l
#define GLO_SPELLER vars[V_SPELLER].global_val.p #define GLO_DICTIONARY vars[V_DICTIONARY].global_val.l
#endif /* _WINDOWS */
+ #define VAR_SPECIAL_TEXT vars[V_SPECIAL_TEXT].current_val.l + #define VAR_SPECIAL_TEXT vars[V_SPECIAL_TEXT].current_val.l
+ #define GLO_SPECIAL_TEXT vars[V_SPECIAL_TEXT].global_val.l + #define GLO_SPECIAL_TEXT vars[V_SPECIAL_TEXT].global_val.l
#define VAR_FILLCOL vars[V_FILLCOL].current_val.p #define VAR_FILLCOL vars[V_FILLCOL].current_val.p
#define GLO_FILLCOL vars[V_FILLCOL].global_val.p #define GLO_FILLCOL vars[V_FILLCOL].global_val.p
#define VAR_DEADLETS vars[V_DEADLETS].current_val.p #define VAR_DEADLETS vars[V_DEADLETS].current_val.p
@@ -458,6 +460,8 @@ ***************
*** 463,468 ****
--- 465,472 ----
#define GLO_SIGNATURE_FORE_COLOR vars[V_SIGNATURE_FORE_COLOR].global_val.p #define GLO_SIGNATURE_FORE_COLOR vars[V_SIGNATURE_FORE_COLOR].global_val.p
#define VAR_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].current_val.p #define VAR_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].current_val.p
#define GLO_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].global_val.p #define GLO_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].global_val.p
@ -114,19 +118,22 @@ Index: alpine-2.20/pith/conf.h
#define VAR_PROMPT_FORE_COLOR vars[V_PROMPT_FORE_COLOR].current_val.p #define VAR_PROMPT_FORE_COLOR vars[V_PROMPT_FORE_COLOR].current_val.p
#define VAR_PROMPT_BACK_COLOR vars[V_PROMPT_BACK_COLOR].current_val.p #define VAR_PROMPT_BACK_COLOR vars[V_PROMPT_BACK_COLOR].current_val.p
#define VAR_VIEW_HDR_COLORS vars[V_VIEW_HDR_COLORS].current_val.l #define VAR_VIEW_HDR_COLORS vars[V_VIEW_HDR_COLORS].current_val.l
Index: alpine-2.20/pith/conftype.h diff -rc alpine-2.21/pith/conftype.h alpine-2.21.colortext/pith/conftype.h
=================================================================== *** alpine-2.21/pith/conftype.h Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/conftype.h --- alpine-2.21.colortext/pith/conftype.h Sun Feb 5 16:15:26 2017
+++ alpine-2.20/pith/conftype.h ***************
@@ -80,6 +80,7 @@ typedef enum { V_PERSONAL_NAME = 0 *** 83,88 ****
, V_EDITOR --- 83,89 ----
, V_SPELLER , V_DICTIONARY
#endif /* _WINDOWS */
, V_FILLCOL , V_FILLCOL
+ , V_SPECIAL_TEXT + , V_SPECIAL_TEXT
, V_REPLY_STRING , V_REPLY_STRING
, V_REPLY_INTRO , V_REPLY_INTRO
, V_QUOTE_REPLACE_STRING , V_QUOTE_REPLACE_STRING
@@ -231,6 +232,8 @@ typedef enum { V_PERSONAL_NAME = 0 ***************
*** 235,240 ****
--- 236,243 ----
, V_INCUNSEEN_BACK_COLOR , V_INCUNSEEN_BACK_COLOR
, V_SIGNATURE_FORE_COLOR , V_SIGNATURE_FORE_COLOR
, V_SIGNATURE_BACK_COLOR , V_SIGNATURE_BACK_COLOR
@ -135,11 +142,12 @@ Index: alpine-2.20/pith/conftype.h
, V_PROMPT_FORE_COLOR , V_PROMPT_FORE_COLOR
, V_PROMPT_BACK_COLOR , V_PROMPT_BACK_COLOR
, V_HEADER_GENERAL_FORE_COLOR , V_HEADER_GENERAL_FORE_COLOR
Index: alpine-2.20/pith/mailview.c diff -rc alpine-2.21/pith/mailview.c alpine-2.21.colortext/pith/mailview.c
=================================================================== *** alpine-2.21/pith/mailview.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/mailview.c --- alpine-2.21.colortext/pith/mailview.c Sun Feb 5 16:15:26 2017
+++ alpine-2.20/pith/mailview.c ***************
@@ -282,6 +282,14 @@ format_body(long int msgno, BODY *body, *** 282,287 ****
--- 282,295 ----
if((flgs & FM_DISPLAY) if((flgs & FM_DISPLAY)
&& !(flgs & FM_NOCOLOR) && !(flgs & FM_NOCOLOR)
&& pico_usingcolor() && pico_usingcolor()
@ -154,7 +162,9 @@ Index: alpine-2.20/pith/mailview.c
&& ps_global->VAR_SIGNATURE_FORE_COLOR && ps_global->VAR_SIGNATURE_FORE_COLOR
&& ps_global->VAR_SIGNATURE_BACK_COLOR){ && ps_global->VAR_SIGNATURE_BACK_COLOR){
gf_link_filter(gf_line_test, gf_line_test_opt(color_signature, &is_in_sig)); gf_link_filter(gf_line_test, gf_line_test_opt(color_signature, &is_in_sig));
@@ -2503,6 +2511,190 @@ hdr_color(char *fieldname, char *value, ***************
*** 2503,2508 ****
--- 2511,2700 ----
return(color_pair); return(color_pair);
} }
@ -345,11 +355,12 @@ Index: alpine-2.20/pith/mailview.c
/* /*
* The argument fieldname is something like "Subject:..." or "Subject". * The argument fieldname is something like "Subject:..." or "Subject".
Index: alpine-2.20/pith/mailview.h diff -rc alpine-2.21/pith/mailview.h alpine-2.21.colortext/pith/mailview.h
=================================================================== *** alpine-2.21/pith/mailview.h Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/mailview.h --- alpine-2.21.colortext/pith/mailview.h Sun Feb 5 16:15:26 2017
+++ alpine-2.20/pith/mailview.h ***************
@@ -30,6 +30,12 @@ *** 30,35 ****
--- 30,41 ----
#include "../pith/color.h" #include "../pith/color.h"
@ -362,7 +373,9 @@ Index: alpine-2.20/pith/mailview.h
/* format_message flags */ /* format_message flags */
#define FM_DISPLAY 0x0001 /* result is headed for display */ #define FM_DISPLAY 0x0001 /* result is headed for display */
#define FM_NEW_MESS 0x0002 /* a new message so zero out attachment descrip */ #define FM_NEW_MESS 0x0002 /* a new message so zero out attachment descrip */
@@ -126,6 +132,15 @@ char *format_body(long int, BODY *, HAND ***************
*** 126,131 ****
--- 132,146 ----
int url_hilite(long, char *, LT_INS_S **, void *); int url_hilite(long, char *, LT_INS_S **, void *);
int handle_start_color(char *, size_t, int *, int); int handle_start_color(char *, size_t, int *, int);
int handle_end_color(char *, size_t, int *); int handle_end_color(char *, size_t, int *);
@ -378,11 +391,12 @@ Index: alpine-2.20/pith/mailview.h
/* /*
* BUG: BELOW IS UNIX/PC ONLY since config'd browser means nothing to webpine * BUG: BELOW IS UNIX/PC ONLY since config'd browser means nothing to webpine
Index: alpine-2.20/pith/pine.hlp diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.colortext/pith/pine.hlp
=================================================================== *** alpine-2.21/pith/pine.hlp Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/pine.hlp --- alpine-2.21.colortext/pith/pine.hlp Sun Feb 5 16:15:26 2017
+++ alpine-2.20/pith/pine.hlp ***************
@@ -3833,6 +3833,7 @@ There are also additional details on *** 4227,4232 ****
--- 4227,4233 ----
<li><a href="h_config_print_cat">OPTION: <!--#echo var="VAR_personal-print-category"--></a> <li><a href="h_config_print_cat">OPTION: <!--#echo var="VAR_personal-print-category"--></a>
<li><a href="h_config_print_command">OPTION: <!--#echo var="VAR_personal-print-command"--></a> <li><a href="h_config_print_command">OPTION: <!--#echo var="VAR_personal-print-command"--></a>
<li><a href="h_config_post_char_set">OPTION: <!--#echo var="VAR_posting-character-set"--></a> <li><a href="h_config_post_char_set">OPTION: <!--#echo var="VAR_posting-character-set"--></a>
@ -390,7 +404,9 @@ Index: alpine-2.20/pith/pine.hlp
<li><a href="h_config_postponed_folder">OPTION: <!--#echo var="VAR_postponed-folder"--></a> <li><a href="h_config_postponed_folder">OPTION: <!--#echo var="VAR_postponed-folder"--></a>
<li><a href="h_config_print_font_char_set">OPTION: Print-Font-Char-Set</a> <li><a href="h_config_print_font_char_set">OPTION: Print-Font-Char-Set</a>
<li><a href="h_config_print_font_name">OPTION: Print-Font-Name</a> <li><a href="h_config_print_font_name">OPTION: Print-Font-Name</a>
@@ -3861,6 +3862,7 @@ There are also additional details on ***************
*** 4255,4260 ****
--- 4256,4262 ----
<li><a href="h_config_sending_filter">OPTION: <!--#echo var="VAR_sending-filters"--></a> <li><a href="h_config_sending_filter">OPTION: <!--#echo var="VAR_sending-filters"--></a>
<li><a href="h_config_sendmail_path">OPTION: <!--#echo var="VAR_sendmail-path"--></a> <li><a href="h_config_sendmail_path">OPTION: <!--#echo var="VAR_sendmail-path"--></a>
<li><a href="h_config_signature_color">OPTION: Signature Color</a> <li><a href="h_config_signature_color">OPTION: Signature Color</a>
@ -398,7 +414,9 @@ Index: alpine-2.20/pith/pine.hlp
<li><a href="h_config_signature_file">OPTION: <!--#echo var="VAR_signature-file"--></a> <li><a href="h_config_signature_file">OPTION: <!--#echo var="VAR_signature-file"--></a>
<li><a href="h_config_smtp_server">OPTION: <!--#echo var="VAR_smtp-server"--></a> <li><a href="h_config_smtp_server">OPTION: <!--#echo var="VAR_smtp-server"--></a>
<li><a href="h_config_sort_key">OPTION: <!--#echo var="VAR_sort-key"--></a> <li><a href="h_config_sort_key">OPTION: <!--#echo var="VAR_sort-key"--></a>
@@ -23234,6 +23236,43 @@ That won't work because spell works in a ***************
*** 23729,23734 ****
--- 23731,23773 ----
&lt;End of help on this topic&gt; &lt;End of help on this topic&gt;
</BODY> </BODY>
</HTML> </HTML>
@ -442,7 +460,9 @@ Index: alpine-2.20/pith/pine.hlp
====== h_config_display_filters ===== ====== h_config_display_filters =====
<HTML> <HTML>
<HEAD> <HEAD>
@@ -31851,6 +31890,30 @@ the Quote3 Color is black characters on ***************
*** 32340,32345 ****
--- 32379,32408 ----
<P> <P>
<A HREF="h_color_setup">Descriptions of the available commands</A> <A HREF="h_color_setup">Descriptions of the available commands</A>
<P> <P>
@ -473,11 +493,12 @@ Index: alpine-2.20/pith/pine.hlp
Look <A HREF="h_edit_nav_cmds">here</A> Look <A HREF="h_edit_nav_cmds">here</A>
to see the available Editing and Navigation commands. to see the available Editing and Navigation commands.
<P> <P>
Index: alpine-2.20/pith/state.c diff -rc alpine-2.21/pith/state.c alpine-2.21.colortext/pith/state.c
=================================================================== *** alpine-2.21/pith/state.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/state.c --- alpine-2.21.colortext/pith/state.c Sun Feb 5 16:15:26 2017
+++ alpine-2.20/pith/state.c ***************
@@ -131,6 +131,9 @@ free_pine_struct(struct pine **pps) *** 134,139 ****
--- 134,142 ----
if((*pps)->folders_dir != NULL) if((*pps)->folders_dir != NULL)
fs_give((void **)&(*pps)->folders_dir); fs_give((void **)&(*pps)->folders_dir);
@ -487,11 +508,12 @@ Index: alpine-2.20/pith/state.c
if((*pps)->ui.homedir) if((*pps)->ui.homedir)
fs_give((void **)&(*pps)->ui.homedir); fs_give((void **)&(*pps)->ui.homedir);
Index: alpine-2.20/pith/state.h diff -rc alpine-2.21/pith/state.h alpine-2.21.colortext/pith/state.h
=================================================================== *** alpine-2.21/pith/state.h Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/state.h --- alpine-2.21.colortext/pith/state.h Sun Feb 5 16:15:26 2017
+++ alpine-2.20/pith/state.h ***************
@@ -331,6 +331,8 @@ struct pine { *** 338,343 ****
--- 338,345 ----
char *display_charmap; /* needs to be freed */ char *display_charmap; /* needs to be freed */
char *keyboard_charmap; /* needs to be freed */ char *keyboard_charmap; /* needs to be freed */
void *input_cs; void *input_cs;
@ -500,11 +522,12 @@ Index: alpine-2.20/pith/state.h
char *posting_charmap; /* needs to be freed */ char *posting_charmap; /* needs to be freed */
Index: alpine-2.20/pith/text.c diff -rc alpine-2.21/pith/text.c alpine-2.21.colortext/pith/text.c
=================================================================== *** alpine-2.21/pith/text.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/text.c --- alpine-2.21.colortext/pith/text.c Sun Feb 5 16:15:26 2017
+++ alpine-2.20/pith/text.c ***************
@@ -171,6 +171,15 @@ decode_text(ATTACH_S *att, *** 171,176 ****
--- 171,185 ----
gf_url_hilite_opt(&uh,handlesp,0)); gf_url_hilite_opt(&uh,handlesp,0));
} }

File diff suppressed because it is too large Load Diff

4114
chappa-fillpara.patch Normal file

File diff suppressed because it is too large Load Diff

159
chappa-fromheader.patch Normal file
View File

@ -0,0 +1,159 @@
diff -rc alpine-2.21/alpine/send.c alpine-2.21.fromheader/alpine/send.c
*** alpine-2.21/alpine/send.c Sun Feb 5 16:02:36 2017
--- alpine-2.21.fromheader/alpine/send.c Sun Feb 5 16:15:24 2017
***************
*** 913,919 ****
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE},
{"From : ", "From", h_composer_from, 10, 0, NULL,
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete,
! 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK},
{"Reply-To: ", "Reply To", h_composer_reply_to, 10, 0, NULL,
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete,
0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK},
--- 913,919 ----
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE},
{"From : ", "From", h_composer_from, 10, 0, NULL,
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete,
! 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK},
{"Reply-To: ", "Reply To", h_composer_reply_to, 10, 0, NULL,
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete,
0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK},
***************
*** 2367,2372 ****
--- 2367,2377 ----
he->rich_header = 0;
}
}
+ if (F_ON(F_ALLOW_CHANGING_FROM, ps_global) &&
+ !ps_global->never_allow_changing_from){
+ he->display_it = 1; /* show it */
+ he->rich_header = 0;
+ }
he_from = he;
break;
***************
*** 3104,3110 ****
if(outgoing->return_path)
mail_free_address(&outgoing->return_path);
! outgoing->return_path = rfc822_cpy_adr(outgoing->from);
/*
* Don't ever believe the sender that is there.
--- 3109,3117 ----
if(outgoing->return_path)
mail_free_address(&outgoing->return_path);
! outgoing->return_path = F_ON(F_USE_DOMAIN_NAME,ps_global)
! ? rfc822_cpy_adr(generate_from())
! : rfc822_cpy_adr(outgoing->from);
/*
* Don't ever believe the sender that is there.
diff -rc alpine-2.21/pith/conf.c alpine-2.21.fromheader/pith/conf.c
*** alpine-2.21/pith/conf.c Sun Feb 5 16:02:36 2017
--- alpine-2.21.fromheader/pith/conf.c Sun Feb 5 16:15:24 2017
***************
*** 2884,2889 ****
--- 2884,2891 ----
F_NO_FCC_ATTACH, h_config_no_fcc_attach, PREF_SEND, 0},
{"fcc-on-bounce", "Include Fcc When Bouncing Messages",
F_FCC_ON_BOUNCE, h_config_fcc_on_bounce, PREF_SEND, 0},
+ {"return-path-uses-domain-name", NULL,
+ F_USE_DOMAIN_NAME, h_config_use_domain, PREF_SEND, 0},
{"mark-fcc-seen", NULL,
F_MARK_FCC_SEEN, h_config_mark_fcc_seen, PREF_SEND, 0},
{"fcc-only-without-confirm", "Send to Fcc Only Without Confirming",
diff -rc alpine-2.21/pith/conftype.h alpine-2.21.fromheader/pith/conftype.h
*** alpine-2.21/pith/conftype.h Sun Feb 5 16:02:36 2017
--- alpine-2.21.fromheader/pith/conftype.h Sun Feb 5 16:15:24 2017
***************
*** 399,404 ****
--- 399,405 ----
F_AUTO_REPLY_TO,
F_VERBOSE_POST,
F_FCC_ON_BOUNCE,
+ F_USE_DOMAIN_NAME,
F_SEND_WO_CONFIRM,
F_USE_SENDER_NOT_X,
F_BLANK_KEYMENU,
diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.fromheader/pith/pine.hlp
*** alpine-2.21/pith/pine.hlp Sun Feb 5 16:02:36 2017
--- alpine-2.21.fromheader/pith/pine.hlp Sun Feb 5 16:15:24 2017
***************
*** 28940,28945 ****
--- 28940,28961 ----
&lt;End of help on this topic&gt;
</BODY>
</HTML>
+ ====== h_config_use_domain =====
+ <HTML>
+ <HEAD>
+ <TITLE>FEATURE: <!--#echo var="FEAT_return-path-uses-domain-name"--> </TITLE>
+ </HEAD>
+ <BODY>
+ <H1>FEATURE: <!--#echo var="FEAT_return-path-uses-domain-name"--></H1>
+
+ If you enable this configuration option Pine will use your domain name and your
+ username in that domain name to construct your Return-Path header, if not Pine
+ will use the address that you have set in the From: field to construct it.
+
+ <P>
+ &lt;End of help on this topic&gt;
+ </BODY>
+ </HTML>
====== h_config_use_sender_not_x =====
<HTML>
<HEAD>
diff -rc alpine-2.21/pith/send.c alpine-2.21.fromheader/pith/send.c
*** alpine-2.21/pith/send.c Sun Feb 5 16:02:36 2017
--- alpine-2.21.fromheader/pith/send.c Sun Feb 5 16:15:24 2017
***************
*** 53,59 ****
/* name::type::canedit::writehdr::localcopy::rcptto */
PINEFIELD pf_template[] = {
{"X-Auth-Received", FreeText, 0, 1, 1, 0}, /* N_AUTHRCVD */
! {"From", Address, 0, 1, 1, 0},
{"Reply-To", Address, 0, 1, 1, 0},
{TONAME, Address, 1, 1, 1, 1},
{CCNAME, Address, 1, 1, 1, 1},
--- 53,59 ----
/* name::type::canedit::writehdr::localcopy::rcptto */
PINEFIELD pf_template[] = {
{"X-Auth-Received", FreeText, 0, 1, 1, 0}, /* N_AUTHRCVD */
! {"From", Address, 1, 1, 1, 0},
{"Reply-To", Address, 0, 1, 1, 0},
{TONAME, Address, 1, 1, 1, 1},
{CCNAME, Address, 1, 1, 1, 1},
***************
*** 1232,1238 ****
*p = *(p+4);
pf->type = pf_template[i].type;
! pf->canedit = pf_template[i].canedit;
pf->rcptto = pf_template[i].rcptto;
pf->writehdr = pf_template[i].writehdr;
pf->localcopy = pf_template[i].localcopy;
--- 1232,1238 ----
*p = *(p+4);
pf->type = pf_template[i].type;
! pf->canedit = (i == N_FROM) ? CAN_EDIT(ps_global) : pf_template[i].canedit;
pf->rcptto = pf_template[i].rcptto;
pf->writehdr = pf_template[i].writehdr;
pf->localcopy = pf_template[i].localcopy;
diff -rc alpine-2.21/pith/send.h alpine-2.21.fromheader/pith/send.h
*** alpine-2.21/pith/send.h Sun Feb 5 16:02:36 2017
--- alpine-2.21.fromheader/pith/send.h Sun Feb 5 16:15:24 2017
***************
*** 159,164 ****
--- 159,166 ----
unsigned text_written:1;
};
+ #define CAN_EDIT(x) (!((x)->never_allow_changing_from) && \
+ F_ON(F_ALLOW_CHANGING_FROM, (x)))
#define TONAME "To"
#define CCNAME "cc"

View File

@ -1,112 +0,0 @@
---
alpine/mailcmd.c | 3 +++
pith/conf.c | 2 ++
pith/conftype.h | 1 +
pith/pine.hlp | 35 +++++++++++++++++++++++++++++++++++
pith/save.c | 1 +
5 files changed, 42 insertions(+)
Index: alpine-2.20/alpine/mailcmd.c
===================================================================
--- alpine-2.20.orig/alpine/mailcmd.c
+++ alpine-2.20/alpine/mailcmd.c
@@ -3491,6 +3491,9 @@ save_size_changed_prompt(long msgno, int
{-1, 0, NULL, NULL}
};
+ if(F_ON(F_IGNORE_SIZE, ps_global))
+ return 'y';
+
if(flags & SSCP_INIT || flags & SSCP_END){
if(flags & SSCP_END && possible_corruption)
q_status_message(SM_ORDER, 3, 3, "There is possible data corruption, check the results");
Index: alpine-2.20/pith/conf.c
===================================================================
--- alpine-2.20.orig/pith/conf.c
+++ alpine-2.20/pith/conf.c
@@ -3140,6 +3140,8 @@ feature_list(int index)
F_FULL_AUTO_EXPUNGE, h_config_full_auto_expunge, PREF_MISC, 0},
{"force-arrow-cursor", NULL,
F_FORCE_ARROW, h_config_force_arrow, PREF_MISC, 0},
+ {"ignore-size-changes", NULL,
+ F_IGNORE_SIZE, h_config_ignore_size, PREF_MISC, 0},
{"maildrops-preserve-state", NULL,
F_MAILDROPS_PRESERVE_STATE, h_config_maildrops_preserve_state,
PREF_MISC, 0},
Index: alpine-2.20/pith/conftype.h
===================================================================
--- alpine-2.20.orig/pith/conftype.h
+++ alpine-2.20/pith/conftype.h
@@ -347,6 +347,7 @@ typedef enum {
F_FORCE_ARROW,
F_PRUNE_USES_ISO,
F_ALT_ED_NOW,
+ F_IGNORE_SIZE,
F_SHOW_DELAY_CUE,
F_CANCEL_CONFIRM,
F_AUTO_OPEN_NEXT_UNREAD,
Index: alpine-2.20/pith/pine.hlp
===================================================================
--- alpine-2.20.orig/pith/pine.hlp
+++ alpine-2.20/pith/pine.hlp
@@ -3565,6 +3565,7 @@ There are also additional details on
<li><a href="h_config_full_auto_expunge">FEATURE: <!--#echo var="FEAT_expunge-without-confirm-everywhere"--></a>
<li><a href="h_config_no_fcc_attach">FEATURE: <!--#echo var="FEAT_fcc-without-attachments"--></a>
<li><a href="h_config_force_arrow">FEATURE: <!--#echo var="FEAT_force-arrow-cursor"--></a>
+<li><a href="h_config_ignore_size">FEATURE: <!--#echo var="FEAT_ignore-size-changes"--></a>
<li><a href="h_config_forward_as_attachment">FEATURE: <!--#echo var="FEAT_forward-as-attachment"--></a>
<li><a href="h_config_preserve_field">FEATURE: <!--#echo var="FEAT_preserve-original-fields"--></a>
<li><a href="h_config_quell_empty_dirs">FEATURE: <!--#echo var="FEAT_quell-empty-directories"--></a>
@@ -31183,6 +31184,40 @@ but that is not implemented.
<P>
&lt;End of help on this topic&gt;
+</BODY>
+</HTML>
+====== h_config_ignore_size =====
+<HTML>
+<HEAD>
+<TITLE>FEATURE: <!--#echo var="FEAT_ignore-size-changes"--></TITLE>
+</HEAD>
+<BODY>
+<H1>FEATURE: <!--#echo var="FEAT_ignore-size-changes"--></H1>
+
+When you have an account residing in an IMAP server, Alpine gets the size of
+each message from the server. However, when Alpine saves a message residing
+in an IMAP server, Alpine computes the size of the message independently. If
+these two numbers do not match for a message, Alpine asks you if you still
+want to take the risk of saving the message, since data corruption or loss
+of data could result of this save.
+
+<P>
+Sometimes the root of this problem is that the server is defective, and
+there will not be loss of information when saving such message. Enabling
+this feature will make Aline ignore such error and continue saving the
+message. If you can determine that this is the case, enable this feature
+so that the saving operation will succeed. An example of a defective server
+is the Gmail IMAP server. Another example is some versions of the Exchange
+server.
+
+<P>
+It is recommended that this feature be disabled most of the time and only
+enabled when you find a server which you can determine that has the above
+mentioned defect, but be disabled again after making this operation
+succeed.
+
+<P>
+&lt;End of help on this topic&gt;
</BODY>
</HTML>
====== h_config_force_low_speed =====
Index: alpine-2.20/pith/save.c
===================================================================
--- alpine-2.20.orig/pith/save.c
+++ alpine-2.20/pith/save.c
@@ -1157,6 +1157,7 @@ long save_fetch_append_cb(MAILSTREAM *st
snprintf(buf, sizeof(buf),
"Message to save shrank: source msg # %ld may be saved incorrectly",
mn_raw2m(pkg->msgmap, raw));
+ if(F_OFF(F_IGNORE_SIZE, ps_global))
q_status_message(SM_ORDER, 0, 3, buf);
}
else{

View File

@ -1,13 +1,9 @@
--- diff -rc alpine-2.21/pico/display.c alpine-2.21.insertpat/pico/display.c
pico/display.c | 12 ++++++++++++ *** alpine-2.21/pico/display.c Sun Feb 5 16:02:36 2017
pico/search.c | 4 ++++ --- alpine-2.21.insertpat/pico/display.c Sun Feb 5 16:15:26 2017
2 files changed, 16 insertions(+) ***************
*** 2205,2210 ****
Index: alpine-2.20/pico/display.c --- 2205,2222 ----
===================================================================
--- alpine-2.20.orig/pico/display.c
+++ alpine-2.20/pico/display.c
@@ -1760,6 +1760,18 @@ mlreplyd(UCS *prompt, UCS *buf, int nbuf
continue; continue;
@ -26,11 +22,12 @@ Index: alpine-2.20/pico/display.c
case (CTRL|'G') : /* CTRL-G help */ case (CTRL|'G') : /* CTRL-G help */
if(term.t_mrow == 0 && km_popped == 0){ if(term.t_mrow == 0 && km_popped == 0){
movecursor(term.t_nrow-2, 0); movecursor(term.t_nrow-2, 0);
Index: alpine-2.20/pico/search.c diff -rc alpine-2.21/pico/search.c alpine-2.21.insertpat/pico/search.c
=================================================================== *** alpine-2.21/pico/search.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pico/search.c --- alpine-2.21.insertpat/pico/search.c Sun Feb 5 16:15:26 2017
+++ alpine-2.20/pico/search.c ***************
@@ -81,6 +81,10 @@ N_(" brackets. This string is th *** 122,127 ****
--- 122,131 ----
N_("~ Hitting only ~R~e~t~u~r~n or at the prompt will cause the"), N_("~ Hitting only ~R~e~t~u~r~n or at the prompt will cause the"),
N_(" search to be made with the default value."), N_(" search to be made with the default value."),
" ", " ",

View File

@ -1,28 +1,9 @@
--- diff -rc alpine-2.21/README.maildir alpine-2.21.maildir/README.maildir
README.maildir | 149 ++ *** alpine-2.21/README.maildir Sun Feb 5 16:15:21 2017
alpine/alpine.c | 5 --- alpine-2.21.maildir/README.maildir Sun Feb 5 16:15:21 2017
alpine/confscroll.c | 6 ***************
imap/src/c-client/mail.c | 11 *** 0 ****
imap/src/c-client/mail.h | 4 --- 1,149 ----
imap/src/osdep/unix/Makefile | 8
imap/src/osdep/unix/dummy.c | 48
imap/src/osdep/unix/maildir.c | 2671 ++++++++++++++++++++++++++++++++++++++++++
imap/src/osdep/unix/maildir.h | 226 +++
imap/src/osdep/unix/os_cyg.h | 1
pith/conf.c | 30
pith/conf.h | 4
pith/conftype.h | 6
pith/init.c | 3
pith/pattern.c | 30
pith/pine.hlp | 139 ++
pith/send.c | 10
17 files changed, 3334 insertions(+), 17 deletions(-)
Index: alpine-2.20/README.maildir
===================================================================
--- /dev/null
+++ alpine-2.20/README.maildir
@@ -0,0 +1,149 @@
+ --------------------------------------- + ---------------------------------------
+ +
+ Maildir Driver for Alpine 2.0 + Maildir Driver for Alpine 2.0
@ -172,11 +153,12 @@ Index: alpine-2.20/README.maildir
+ point to the same place. + point to the same place.
+ +
+ Last Updated May 28, 2011 + Last Updated May 28, 2011
Index: alpine-2.20/alpine/alpine.c diff -rc alpine-2.21/alpine/alpine.c alpine-2.21.maildir/alpine/alpine.c
=================================================================== *** alpine-2.21/alpine/alpine.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/alpine/alpine.c --- alpine-2.21.maildir/alpine/alpine.c Sun Feb 5 16:15:20 2017
+++ alpine-2.20/alpine/alpine.c ***************
@@ -560,6 +560,11 @@ main(int argc, char **argv) *** 576,581 ****
--- 576,586 ----
if(F_ON(F_MAILDROPS_PRESERVE_STATE, ps_global)) if(F_ON(F_MAILDROPS_PRESERVE_STATE, ps_global))
mail_parameters(NULL, SET_SNARFPRESERVE, (void *) TRUE); mail_parameters(NULL, SET_SNARFPRESERVE, (void *) TRUE);
@ -188,11 +170,12 @@ Index: alpine-2.20/alpine/alpine.c
rvl = 0L; rvl = 0L;
if(pine_state->VAR_NNTPRANGE){ if(pine_state->VAR_NNTPRANGE){
if(!SVAR_NNTPRANGE(pine_state, rvl, tmp_20k_buf, SIZEOF_20KBUF)) if(!SVAR_NNTPRANGE(pine_state, rvl, tmp_20k_buf, SIZEOF_20KBUF))
Index: alpine-2.20/alpine/confscroll.c diff -rc alpine-2.21/alpine/confscroll.c alpine-2.21.maildir/alpine/confscroll.c
=================================================================== *** alpine-2.21/alpine/confscroll.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/alpine/confscroll.c --- alpine-2.21.maildir/alpine/confscroll.c Sun Feb 5 16:15:20 2017
+++ alpine-2.20/alpine/confscroll.c ***************
@@ -5556,6 +5556,12 @@ fix_side_effects(struct pine *ps, struct *** 5545,5550 ****
--- 5545,5556 ----
(void *)var->current_val.p); (void *)var->current_val.p);
} }
#endif #endif
@ -205,20 +188,29 @@ Index: alpine-2.20/alpine/confscroll.c
else if(revert && standard_radio_var(ps, var)){ else if(revert && standard_radio_var(ps, var)){
cur_rule_value(var, TRUE, FALSE); cur_rule_value(var, TRUE, FALSE);
Index: alpine-2.20/imap/src/c-client/mail.c diff -rc alpine-2.21/imap/src/c-client/mail.c alpine-2.21.maildir/imap/src/c-client/mail.c
=================================================================== *** alpine-2.21/imap/src/c-client/mail.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/imap/src/c-client/mail.c --- alpine-2.21.maildir/imap/src/c-client/mail.c Sun Feb 5 16:15:20 2017
+++ alpine-2.20/imap/src/c-client/mail.c ***************
@@ -1011,7 +1011,7 @@ long mail_create (MAILSTREAM *stream,cha *** 1017,1023 ****
MAILSTREAM *ts; MAILSTREAM *ts;
char *s,*t,tmp[MAILTMPLEN]; char *s,*t,tmp[MAILTMPLEN];
size_t i; size_t i;
- DRIVER *d; ! DRIVER *d;
+ DRIVER *d, *md;
/* never allow names with newlines */ /* never allow names with newlines */
if (s = strpbrk (mailbox,"\015\012")) { if ((s = strpbrk (mailbox,"\015\012")) != NULL) {
MM_LOG ("Can't create mailbox with such a name",ERROR); MM_LOG ("Can't create mailbox with such a name",ERROR);
@@ -1035,6 +1035,8 @@ long mail_create (MAILSTREAM *stream,cha --- 1017,1023 ----
MAILSTREAM *ts;
char *s,*t,tmp[MAILTMPLEN];
size_t i;
! DRIVER *d, *md;
/* never allow names with newlines */
if ((s = strpbrk (mailbox,"\015\012")) != NULL) {
MM_LOG ("Can't create mailbox with such a name",ERROR);
***************
*** 1041,1046 ****
--- 1041,1048 ----
return NIL; return NIL;
} }
@ -227,7 +219,9 @@ Index: alpine-2.20/imap/src/c-client/mail.c
/* see if special driver hack */ /* see if special driver hack */
if ((mailbox[0] == '#') && ((mailbox[1] == 'd') || (mailbox[1] == 'D')) && if ((mailbox[0] == '#') && ((mailbox[1] == 'd') || (mailbox[1] == 'D')) &&
((mailbox[2] == 'r') || (mailbox[2] == 'R')) && ((mailbox[2] == 'r') || (mailbox[2] == 'R')) &&
@@ -1065,6 +1067,13 @@ long mail_create (MAILSTREAM *stream,cha ***************
*** 1071,1076 ****
--- 1073,1085 ----
(((*mailbox == '{') || (*mailbox == '#')) && (((*mailbox == '{') || (*mailbox == '#')) &&
(stream = mail_open (NIL,mailbox,OP_PROTOTYPE | OP_SILENT)))) (stream = mail_open (NIL,mailbox,OP_PROTOTYPE | OP_SILENT))))
d = stream->dtb; d = stream->dtb;
@ -241,11 +235,12 @@ Index: alpine-2.20/imap/src/c-client/mail.c
else if ((*mailbox != '{') && (ts = default_proto (NIL))) d = ts->dtb; else if ((*mailbox != '{') && (ts = default_proto (NIL))) d = ts->dtb;
else { /* failed utterly */ else { /* failed utterly */
sprintf (tmp,"Can't create mailbox %.80s: indeterminate format",mailbox); sprintf (tmp,"Can't create mailbox %.80s: indeterminate format",mailbox);
Index: alpine-2.20/imap/src/c-client/mail.h diff -rc alpine-2.21/imap/src/c-client/mail.h alpine-2.21.maildir/imap/src/c-client/mail.h
=================================================================== *** alpine-2.21/imap/src/c-client/mail.h Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/imap/src/c-client/mail.h --- alpine-2.21.maildir/imap/src/c-client/mail.h Sun Feb 5 16:15:20 2017
+++ alpine-2.20/imap/src/c-client/mail.h ***************
@@ -354,6 +354,10 @@ *** 366,371 ****
--- 366,375 ----
#define SET_SCANCONTENTS (long) 573 #define SET_SCANCONTENTS (long) 573
#define GET_MHALLOWINBOX (long) 574 #define GET_MHALLOWINBOX (long) 574
#define SET_MHALLOWINBOX (long) 575 #define SET_MHALLOWINBOX (long) 575
@ -256,60 +251,103 @@ Index: alpine-2.20/imap/src/c-client/mail.h
/* Driver flags */ /* Driver flags */
Index: alpine-2.20/imap/src/osdep/unix/Makefile diff -rc alpine-2.21/imap/src/osdep/unix/Makefile alpine-2.21.maildir/imap/src/osdep/unix/Makefile
=================================================================== *** alpine-2.21/imap/src/osdep/unix/Makefile Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/imap/src/osdep/unix/Makefile --- alpine-2.21.maildir/imap/src/osdep/unix/Makefile Sun Feb 5 16:15:20 2017
+++ alpine-2.20/imap/src/osdep/unix/Makefile ***************
@@ -147,7 +147,7 @@ DEFAULTAUTHENTICATORS=ext md5 pla log *** 147,153 ****
# However, mh needs to be before any sysinbox formats (such as mmdf or unix) # However, mh needs to be before any sysinbox formats (such as mmdf or unix)
# since otherwise INBOX won't work correctly when mh_allow_inbox is set. # since otherwise INBOX won't work correctly when mh_allow_inbox is set.
# #
-DEFAULTDRIVERS=imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile ! DEFAULTDRIVERS=imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile
+DEFAULTDRIVERS=maildir courier imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile
CHUNKSIZE=65536 CHUNKSIZE=65536
# Normally no need to change any of these # Normally no need to change any of these
@@ -156,7 +156,7 @@ ARCHIVE=c-client.a --- 147,153 ----
# However, mh needs to be before any sysinbox formats (such as mmdf or unix)
# since otherwise INBOX won't work correctly when mh_allow_inbox is set.
#
! DEFAULTDRIVERS=maildir courier imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile
CHUNKSIZE=65536
# Normally no need to change any of these
***************
*** 156,162 ****
BINARIES=osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o \ BINARIES=osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o \
dummy.o pseudo.o netmsg.o flstring.o fdstring.o \ dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
rfc822.o nntp.o smtp.o imap4r1.o pop3.o \ rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
- unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o ! unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o
+ unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o maildir.o
CFLAGS=-g CFLAGS=-g
CAT=cat CAT=cat
@@ -293,7 +293,7 @@ cvx: # Convex --- 156,162 ----
BINARIES=osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o \
dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
! unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o maildir.o
CFLAGS=-g
CAT=cat
***************
*** 293,299 ****
cyg: # Cygwin - note that most local file drivers don't work!! cyg: # Cygwin - note that most local file drivers don't work!!
$(BUILD) `$(CAT) SPECIALS` OS=$@ \ $(BUILD) `$(CAT) SPECIALS` OS=$@ \
- DEFAULTDRIVERS="imap nntp pop3 mbx unix phile" \ ! DEFAULTDRIVERS="imap nntp pop3 mbx unix phile" \
+ DEFAULTDRIVERS="imap nntp pop3 mbx unix maildir phile" \
SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \ SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
SPOOLDIR=/var \ SPOOLDIR=/var \
ACTIVEFILE=/usr/local/news/lib/active \ ACTIVEFILE=/usr/local/news/lib/active \
@@ -911,7 +911,7 @@ tenex.o: mail.h misc.h osdep.h dummy.h --- 293,299 ----
cyg: # Cygwin - note that most local file drivers don't work!!
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
! DEFAULTDRIVERS="imap nntp pop3 mbx unix maildir phile" \
SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
SPOOLDIR=/var \
ACTIVEFILE=/usr/local/news/lib/active \
***************
*** 911,917 ****
unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h
utf8.o: mail.h misc.h osdep.h utf8.h tmap.c widths.c utf8.o: mail.h misc.h osdep.h utf8.h tmap.c widths.c
utf8aux.o: mail.h misc.h osdep.h utf8.h utf8aux.o: mail.h misc.h osdep.h utf8.h
- !
+maildir.o: mail.h misc.h osdep.h maildir.h dummy.h
# OS-dependent # OS-dependent
Index: alpine-2.20/imap/src/osdep/unix/dummy.c --- 911,917 ----
=================================================================== unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h
--- alpine-2.20.orig/imap/src/osdep/unix/dummy.c utf8.o: mail.h misc.h osdep.h utf8.h tmap.c widths.c
+++ alpine-2.20/imap/src/osdep/unix/dummy.c utf8aux.o: mail.h misc.h osdep.h utf8.h
@@ -103,13 +103,19 @@ MAILSTREAM dummyproto = {&dummydriver}; ! maildir.o: mail.h misc.h osdep.h maildir.h dummy.h
# OS-dependent
diff -rc alpine-2.21/imap/src/osdep/unix/dummy.c alpine-2.21.maildir/imap/src/osdep/unix/dummy.c
*** alpine-2.21/imap/src/osdep/unix/dummy.c Sun Feb 5 16:02:36 2017
--- alpine-2.21.maildir/imap/src/osdep/unix/dummy.c Sun Feb 5 16:15:20 2017
***************
*** 103,115 ****
* Accepts: mailbox name * Accepts: mailbox name
* Returns: our driver if name is valid, NIL otherwise * Returns: our driver if name is valid, NIL otherwise
*/ */
- !
+char * maildir_remove_root(char *);
DRIVER *dummy_valid (char *name) DRIVER *dummy_valid (char *name)
{ {
- char *s,tmp[MAILTMPLEN]; ! char *s,tmp[MAILTMPLEN];
+ char *s,tmp[MAILTMPLEN], *rname; struct stat sbuf;
/* must be valid local mailbox */
! if (name && *name && (*name != '{') && (s = mailboxfile (tmp,name))) {
/* indeterminate clearbox INBOX */
if (!*s) return &dummydriver;
else if (!stat (s,&sbuf)) switch (sbuf.st_mode & S_IFMT) {
--- 103,121 ----
* Accepts: mailbox name
* Returns: our driver if name is valid, NIL otherwise
*/
! char * maildir_remove_root(char *);
DRIVER *dummy_valid (char *name)
{
! char *s,tmp[MAILTMPLEN], *rname;
struct stat sbuf; struct stat sbuf;
+ +
+ if(strlen(name) > MAILTMPLEN) + if(strlen(name) > MAILTMPLEN)
@ -318,23 +356,33 @@ Index: alpine-2.20/imap/src/osdep/unix/dummy.c
+ strcpy(tmp, name); + strcpy(tmp, name);
+ rname = maildir_remove_root(tmp); + rname = maildir_remove_root(tmp);
/* must be valid local mailbox */ /* must be valid local mailbox */
- if (name && *name && (*name != '{') && (s = mailboxfile (tmp,name))) { ! if (rname && *rname && (*rname != '{') && (s = mailboxfile (tmp,rname))) {
+ if (rname && *rname && (*rname != '{') && (s = mailboxfile (tmp,rname))) {
/* indeterminate clearbox INBOX */ /* indeterminate clearbox INBOX */
if (!*s) return &dummydriver; if (!*s) return &dummydriver;
else if (!stat (s,&sbuf)) switch (sbuf.st_mode & S_IFMT) { else if (!stat (s,&sbuf)) switch (sbuf.st_mode & S_IFMT) {
@@ -118,8 +124,9 @@ DRIVER *dummy_valid (char *name) ***************
*** 118,125 ****
return &dummydriver; return &dummydriver;
} }
/* blackbox INBOX does not exist yet */ /* blackbox INBOX does not exist yet */
- else if (!compare_cstring (name,"INBOX")) return &dummydriver; ! else if (!compare_cstring (name,"INBOX")) return &dummydriver;
+ else if (!compare_cstring (rname,"INBOX")) return &dummydriver; }
return NIL;
}
--- 124,132 ----
return &dummydriver;
}
/* blackbox INBOX does not exist yet */
! else if (!compare_cstring (rname,"INBOX")) return &dummydriver;
} }
+ if(rname) fs_give((void **)&rname); + if(rname) fs_give((void **)&rname);
return NIL; return NIL;
} }
@@ -452,6 +459,8 @@ long dummy_create (MAILSTREAM *stream,ch ***************
*** 452,457 ****
--- 459,466 ----
{ {
char *s,tmp[MAILTMPLEN]; char *s,tmp[MAILTMPLEN];
long ret = NIL; long ret = NIL;
@ -343,7 +391,9 @@ Index: alpine-2.20/imap/src/osdep/unix/dummy.c
/* validate name */ /* validate name */
if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) { if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) {
sprintf (tmp,"Can't create %.80s: invalid name",mailbox); sprintf (tmp,"Can't create %.80s: invalid name",mailbox);
@@ -517,6 +526,14 @@ long dummy_delete (MAILSTREAM *stream,ch ***************
*** 517,522 ****
--- 526,539 ----
{ {
struct stat sbuf; struct stat sbuf;
char *s,tmp[MAILTMPLEN]; char *s,tmp[MAILTMPLEN];
@ -358,43 +408,68 @@ Index: alpine-2.20/imap/src/osdep/unix/dummy.c
if (!(s = dummy_file (tmp,mailbox))) { if (!(s = dummy_file (tmp,mailbox))) {
sprintf (tmp,"Can't delete - invalid name: %.80s",s); sprintf (tmp,"Can't delete - invalid name: %.80s",s);
MM_LOG (tmp,ERROR); MM_LOG (tmp,ERROR);
@@ -542,12 +559,23 @@ long dummy_delete (MAILSTREAM *stream,ch ***************
*** 542,553 ****
long dummy_rename (MAILSTREAM *stream,char *old,char *newname) long dummy_rename (MAILSTREAM *stream,char *old,char *newname)
{ {
struct stat sbuf; struct stat sbuf;
- char c,*s,tmp[MAILTMPLEN],mbx[MAILTMPLEN],oldname[MAILTMPLEN]; ! char c,*s,tmp[MAILTMPLEN],mbx[MAILTMPLEN],oldname[MAILTMPLEN];
+ char c,*s,tmp[MAILTMPLEN],mbx[MAILTMPLEN],oldname[MAILTMPLEN], *rold, *rnewname;
+
+ if(strlen(old) > MAILTMPLEN)
+ old[MAILTMPLEN] = '\0';
+
+ if(strlen(newname) > MAILTMPLEN)
+ newname[MAILTMPLEN] = '\0';
+
+ strcpy(tmp, old);
+ rold = maildir_remove_root(tmp);
+ strcpy(tmp, newname);
+ rnewname = maildir_remove_root(tmp);
/* no trailing / allowed */ /* no trailing / allowed */
- if (!dummy_file (oldname,old) || !(s = dummy_file (mbx,newname)) || ! if (!dummy_file (oldname,old) || !(s = dummy_file (mbx,newname)) ||
+ if (!dummy_file (oldname,rold) || !(s = dummy_file (mbx,rnewname)) ||
stat (oldname,&sbuf) || ((s = strrchr (s,'/')) && !s[1] && stat (oldname,&sbuf) || ((s = strrchr (s,'/')) && !s[1] &&
((sbuf.st_mode & S_IFMT) != S_IFDIR))) { ((sbuf.st_mode & S_IFMT) != S_IFDIR))) {
- sprintf (mbx,"Can't rename %.80s to %.80s: invalid name",old,newname); ! sprintf (mbx,"Can't rename %.80s to %.80s: invalid name",old,newname);
+ sprintf (mbx,"Can't rename %.80s to %.80s: invalid name",rold,rnewname);
MM_LOG (mbx,ERROR); MM_LOG (mbx,ERROR);
return NIL; return NIL;
} }
@@ -563,14 +591,16 @@ long dummy_rename (MAILSTREAM *stream,ch --- 559,581 ----
long dummy_rename (MAILSTREAM *stream,char *old,char *newname)
{
struct stat sbuf;
! char c,*s,tmp[MAILTMPLEN],mbx[MAILTMPLEN],oldname[MAILTMPLEN], *rold, *rnewname;
!
! if(strlen(old) > MAILTMPLEN)
! old[MAILTMPLEN] = '\0';
!
! if(strlen(newname) > MAILTMPLEN)
! newname[MAILTMPLEN] = '\0';
!
! strcpy(tmp, old);
! rold = maildir_remove_root(tmp);
! strcpy(tmp, newname);
! rnewname = maildir_remove_root(tmp);
/* no trailing / allowed */
! if (!dummy_file (oldname,rold) || !(s = dummy_file (mbx,rnewname)) ||
stat (oldname,&sbuf) || ((s = strrchr (s,'/')) && !s[1] &&
((sbuf.st_mode & S_IFMT) != S_IFDIR))) {
! sprintf (mbx,"Can't rename %.80s to %.80s: invalid name",rold,rnewname);
MM_LOG (mbx,ERROR);
return NIL;
}
***************
*** 563,576 ****
} }
} }
/* rename of non-ex INBOX creates dest */ /* rename of non-ex INBOX creates dest */
- if (!compare_cstring (old,"INBOX") && stat (oldname,&sbuf)) ! if (!compare_cstring (old,"INBOX") && stat (oldname,&sbuf))
+ if (!compare_cstring (rold,"INBOX") && stat (oldname,&sbuf))
return dummy_create (NIL,mbx); return dummy_create (NIL,mbx);
if (rename (oldname,mbx)) { if (rename (oldname,mbx)) {
- sprintf (tmp,"Can't rename mailbox %.80s to %.80s: %.80s",old,newname, ! sprintf (tmp,"Can't rename mailbox %.80s to %.80s: %.80s",old,newname,
+ sprintf (tmp,"Can't rename mailbox %.80s to %.80s: %.80s",rold,rnewname, strerror (errno));
MM_LOG (tmp,ERROR);
return NIL;
}
return T; /* return success */
}
--- 591,606 ----
}
}
/* rename of non-ex INBOX creates dest */
! if (!compare_cstring (rold,"INBOX") && stat (oldname,&sbuf))
return dummy_create (NIL,mbx);
if (rename (oldname,mbx)) {
! sprintf (tmp,"Can't rename mailbox %.80s to %.80s: %.80s",rold,rnewname,
strerror (errno)); strerror (errno));
MM_LOG (tmp,ERROR); MM_LOG (tmp,ERROR);
return NIL; return NIL;
@ -404,11 +479,12 @@ Index: alpine-2.20/imap/src/osdep/unix/dummy.c
return T; /* return success */ return T; /* return success */
} }
Index: alpine-2.20/imap/src/osdep/unix/maildir.c diff -rc alpine-2.21/imap/src/osdep/unix/maildir.c alpine-2.21.maildir/imap/src/osdep/unix/maildir.c
=================================================================== *** alpine-2.21/imap/src/osdep/unix/maildir.c Sun Feb 5 16:15:21 2017
--- /dev/null --- alpine-2.21.maildir/imap/src/osdep/unix/maildir.c Sun Feb 5 16:15:20 2017
+++ alpine-2.20/imap/src/osdep/unix/maildir.c ***************
@@ -0,0 +1,2671 @@ *** 0 ****
--- 1,2671 ----
+ /* + /*
+ * Maildir driver for Alpine 2.20 + * Maildir driver for Alpine 2.20
+ * + *
@ -3080,11 +3156,12 @@ Index: alpine-2.20/imap/src/osdep/unix/maildir.c
+ LOCAL->uidtempfile = cpystr(tmp); + LOCAL->uidtempfile = cpystr(tmp);
+ } + }
+ } + }
Index: alpine-2.20/imap/src/osdep/unix/maildir.h diff -rc alpine-2.21/imap/src/osdep/unix/maildir.h alpine-2.21.maildir/imap/src/osdep/unix/maildir.h
=================================================================== *** alpine-2.21/imap/src/osdep/unix/maildir.h Sun Feb 5 16:15:21 2017
--- /dev/null --- alpine-2.21.maildir/imap/src/osdep/unix/maildir.h Sun Feb 5 16:15:20 2017
+++ alpine-2.20/imap/src/osdep/unix/maildir.h ***************
@@ -0,0 +1,226 @@ *** 0 ****
--- 1,226 ----
+ /* + /*
+ * A few definitions that try to make this module portable to other + * A few definitions that try to make this module portable to other
+ * platforms (e.g. Cygwin). This module is based on the information from + * platforms (e.g. Cygwin). This module is based on the information from
@ -3311,11 +3388,12 @@ Index: alpine-2.20/imap/src/osdep/unix/maildir.h
+ void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid); + void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
+ void maildir_uid_renew_tempfile(MAILSTREAM *stream); + void maildir_uid_renew_tempfile(MAILSTREAM *stream);
+ +
Index: alpine-2.20/imap/src/osdep/unix/os_cyg.h diff -rc alpine-2.21/imap/src/osdep/unix/os_cyg.h alpine-2.21.maildir/imap/src/osdep/unix/os_cyg.h
=================================================================== *** alpine-2.21/imap/src/osdep/unix/os_cyg.h Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/imap/src/osdep/unix/os_cyg.h --- alpine-2.21.maildir/imap/src/osdep/unix/os_cyg.h Sun Feb 5 16:15:20 2017
+++ alpine-2.20/imap/src/osdep/unix/os_cyg.h ***************
@@ -47,6 +47,7 @@ *** 47,52 ****
--- 47,53 ----
#define setpgrp setpgid #define setpgrp setpgid
#define SYSTEMUID 18 /* Cygwin returns this for SYSTEM */ #define SYSTEMUID 18 /* Cygwin returns this for SYSTEM */
@ -3323,11 +3401,12 @@ Index: alpine-2.20/imap/src/osdep/unix/os_cyg.h
#define geteuid Geteuid #define geteuid Geteuid
uid_t Geteuid (void); uid_t Geteuid (void);
Index: alpine-2.20/pith/conf.c diff -rc alpine-2.21/pith/conf.c alpine-2.21.maildir/pith/conf.c
=================================================================== *** alpine-2.21/pith/conf.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/conf.c --- alpine-2.21.maildir/pith/conf.c Sun Feb 5 16:15:20 2017
+++ alpine-2.20/pith/conf.c ***************
@@ -436,6 +436,9 @@ CONF_TXT_T cf_text_window_position[] = " *** 438,443 ****
--- 438,446 ----
CONF_TXT_T cf_text_newsrc_path[] = "Full path and name of NEWSRC file"; CONF_TXT_T cf_text_newsrc_path[] = "Full path and name of NEWSRC file";
@ -3337,7 +3416,9 @@ Index: alpine-2.20/pith/conf.c
/*---------------------------------------------------------------------- /*----------------------------------------------------------------------
These are the variables that control a number of pine functions. They These are the variables that control a number of pine functions. They
@@ -642,6 +645,10 @@ static struct variable variables[] = { ***************
*** 644,649 ****
--- 647,656 ----
NULL, cf_text_news_active}, NULL, cf_text_news_active},
{"news-spool-directory", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, {"news-spool-directory", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
NULL, cf_text_news_spooldir}, NULL, cf_text_news_spooldir},
@ -3348,7 +3429,9 @@ Index: alpine-2.20/pith/conf.c
{"upload-command", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, {"upload-command", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
NULL, cf_text_upload_cmd}, NULL, cf_text_upload_cmd},
{"upload-command-prefix", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, {"upload-command-prefix", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
@@ -2283,6 +2290,12 @@ init_vars(struct pine *ps, void (*cmds_f ***************
*** 2301,2306 ****
--- 2308,2319 ----
mail_parameters(NULL, SET_NEWSSPOOL, mail_parameters(NULL, SET_NEWSSPOOL,
(void *)VAR_NEWS_SPOOL_DIR); (void *)VAR_NEWS_SPOOL_DIR);
@ -3361,7 +3444,9 @@ Index: alpine-2.20/pith/conf.c
/* guarantee a save default */ /* guarantee a save default */
set_current_val(&vars[V_DEFAULT_SAVE_FOLDER], TRUE, TRUE); set_current_val(&vars[V_DEFAULT_SAVE_FOLDER], TRUE, TRUE);
if(!VAR_DEFAULT_SAVE_FOLDER || !VAR_DEFAULT_SAVE_FOLDER[0]) if(!VAR_DEFAULT_SAVE_FOLDER || !VAR_DEFAULT_SAVE_FOLDER[0])
@@ -2921,6 +2934,10 @@ feature_list(int index) ***************
*** 2930,2935 ****
--- 2943,2952 ----
F_SORT_DEFAULT_SAVE_ALPHA, h_config_sort_save_alpha, PREF_FLDR, 0}, F_SORT_DEFAULT_SAVE_ALPHA, h_config_sort_save_alpha, PREF_FLDR, 0},
{"vertical-folder-list", "Use Vertical Folder List", {"vertical-folder-list", "Use Vertical Folder List",
F_VERTICAL_FOLDER_LIST, h_config_vertical_list, PREF_FLDR, 0}, F_VERTICAL_FOLDER_LIST, h_config_vertical_list, PREF_FLDR, 0},
@ -3372,16 +3457,26 @@ Index: alpine-2.20/pith/conf.c
/* Addr book */ /* Addr book */
{"combined-addrbook-display", "Combined Address Book Display", {"combined-addrbook-display", "Combined Address Book Display",
@@ -7047,7 +7064,7 @@ toggle_feature(struct pine *ps, struct v ***************
*** 7036,7042 ****
int just_flip_value, EditWhich ew) int just_flip_value, EditWhich ew)
{ {
char **vp, *p, **lval, ***alval; char **vp, *p, **lval, ***alval;
- int og, on_before, was_set; ! int og, on_before, was_set;
+ int og, on_before, was_set, i;
char *err; char *err;
long l; long l;
@@ -7100,6 +7117,13 @@ toggle_feature(struct pine *ps, struct v --- 7053,7059 ----
int just_flip_value, EditWhich ew)
{
char **vp, *p, **lval, ***alval;
! int og, on_before, was_set, i;
char *err;
long l;
***************
*** 7089,7094 ****
--- 7106,7118 ----
break; break;
@ -3395,7 +3490,9 @@ Index: alpine-2.20/pith/conf.c
case F_COLOR_LINE_IMPORTANT : case F_COLOR_LINE_IMPORTANT :
case F_DATES_TO_LOCAL : case F_DATES_TO_LOCAL :
clear_index_cache(ps->mail_stream, 0); clear_index_cache(ps->mail_stream, 0);
@@ -7887,6 +7911,10 @@ config_help(int var, int feature) ***************
*** 7877,7882 ****
--- 7901,7910 ----
return(h_config_newmailwidth); return(h_config_newmailwidth);
case V_NEWSRC_PATH : case V_NEWSRC_PATH :
return(h_config_newsrc_path); return(h_config_newsrc_path);
@ -3405,12 +3502,13 @@ Index: alpine-2.20/pith/conf.c
+ #endif + #endif
case V_BROWSER : case V_BROWSER :
return(h_config_browser); return(h_config_browser);
#if defined(DOS) || defined(OS2) case V_HISTORY :
Index: alpine-2.20/pith/conf.h diff -rc alpine-2.21/pith/conf.h alpine-2.21.maildir/pith/conf.h
=================================================================== *** alpine-2.21/pith/conf.h Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/conf.h --- alpine-2.21.maildir/pith/conf.h Sun Feb 5 16:15:20 2017
+++ alpine-2.20/pith/conf.h ***************
@@ -257,6 +257,10 @@ *** 256,261 ****
--- 256,265 ----
#define GLO_NEWS_ACTIVE_PATH vars[V_NEWS_ACTIVE_PATH].global_val.p #define GLO_NEWS_ACTIVE_PATH vars[V_NEWS_ACTIVE_PATH].global_val.p
#define VAR_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].current_val.p #define VAR_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].current_val.p
#define GLO_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].global_val.p #define GLO_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].global_val.p
@ -3421,11 +3519,12 @@ Index: alpine-2.20/pith/conf.h
#define VAR_DISABLE_DRIVERS vars[V_DISABLE_DRIVERS].current_val.l #define VAR_DISABLE_DRIVERS vars[V_DISABLE_DRIVERS].current_val.l
#define VAR_DISABLE_AUTHS vars[V_DISABLE_AUTHS].current_val.l #define VAR_DISABLE_AUTHS vars[V_DISABLE_AUTHS].current_val.l
#define VAR_REMOTE_ABOOK_METADATA vars[V_REMOTE_ABOOK_METADATA].current_val.p #define VAR_REMOTE_ABOOK_METADATA vars[V_REMOTE_ABOOK_METADATA].current_val.p
Index: alpine-2.20/pith/conftype.h diff -rc alpine-2.21/pith/conftype.h alpine-2.21.maildir/pith/conftype.h
=================================================================== *** alpine-2.21/pith/conftype.h Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/conftype.h --- alpine-2.21.maildir/pith/conftype.h Sun Feb 5 16:15:20 2017
+++ alpine-2.20/pith/conftype.h ***************
@@ -118,6 +118,9 @@ typedef enum { V_PERSONAL_NAME = 0 *** 119,124 ****
--- 119,127 ----
, V_NEWSRC_PATH , V_NEWSRC_PATH
, V_NEWS_ACTIVE_PATH , V_NEWS_ACTIVE_PATH
, V_NEWS_SPOOL_DIR , V_NEWS_SPOOL_DIR
@ -3435,7 +3534,9 @@ Index: alpine-2.20/pith/conftype.h
, V_UPLOAD_CMD , V_UPLOAD_CMD
, V_UPLOAD_CMD_PREFIX , V_UPLOAD_CMD_PREFIX
, V_DOWNLOAD_CMD , V_DOWNLOAD_CMD
@@ -395,6 +398,9 @@ typedef enum { ***************
*** 395,400 ****
--- 398,406 ----
F_PASS_C1_CONTROL_CHARS, F_PASS_C1_CONTROL_CHARS,
F_SINGLE_FOLDER_LIST, F_SINGLE_FOLDER_LIST,
F_VERTICAL_FOLDER_LIST, F_VERTICAL_FOLDER_LIST,
@ -3445,11 +3546,12 @@ Index: alpine-2.20/pith/conftype.h
F_TAB_CHK_RECENT, F_TAB_CHK_RECENT,
F_AUTO_REPLY_TO, F_AUTO_REPLY_TO,
F_VERBOSE_POST, F_VERBOSE_POST,
Index: alpine-2.20/pith/init.c diff -rc alpine-2.21/pith/init.c alpine-2.21.maildir/pith/init.c
=================================================================== *** alpine-2.21/pith/init.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/init.c --- alpine-2.21.maildir/pith/init.c Sun Feb 5 16:15:20 2017
+++ alpine-2.20/pith/init.c ***************
@@ -408,6 +408,9 @@ get_mail_list(CONTEXT_S *list_cntxt, cha *** 408,413 ****
--- 408,416 ----
&& stricmp(filename, folder_base)){ && stricmp(filename, folder_base)){
#else #else
if(strncmp(filename, folder_base, folder_base_len) == 0 if(strncmp(filename, folder_base, folder_base_len) == 0
@ -3459,22 +3561,31 @@ Index: alpine-2.20/pith/init.c
&& strcmp(filename, folder_base)){ && strcmp(filename, folder_base)){
#endif #endif
#endif #endif
Index: alpine-2.20/pith/pattern.c diff -rc alpine-2.21/pith/pattern.c alpine-2.21.maildir/pith/pattern.c
=================================================================== *** alpine-2.21/pith/pattern.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/pattern.c --- alpine-2.21.maildir/pith/pattern.c Sun Feb 5 16:15:20 2017
+++ alpine-2.20/pith/pattern.c ***************
@@ -49,7 +49,9 @@ static char rcsid[] = "$Id: pattern.c 12 *** 49,55 ****
#include "../pith/icache.h" #include "../pith/icache.h"
#include "../pith/ablookup.h" #include "../pith/ablookup.h"
#include "../pith/keyword.h" #include "../pith/keyword.h"
- !
+#ifndef _WINDOWS
+int maildir_file_path(char *name, char *tmp, size_t sizeoftmp);
+#endif /* _WINDOWS */
/* /*
* Internal prototypes * Internal prototypes
@@ -5485,6 +5487,15 @@ match_pattern_folder_specific(PATTERN_S --- 49,57 ----
#include "../pith/icache.h"
#include "../pith/ablookup.h"
#include "../pith/keyword.h"
! #ifndef _WINDOWS
! int maildir_file_path(char *name, char *tmp, size_t sizeoftmp);
! #endif /* _WINDOWS */
/*
* Internal prototypes
***************
*** 5485,5490 ****
--- 5487,5501 ----
break; break;
case '#': case '#':
@ -3490,16 +3601,26 @@ Index: alpine-2.20/pith/pattern.c
if(!strcmp(patfolder, stream->mailbox)) if(!strcmp(patfolder, stream->mailbox))
match++; match++;
@@ -7905,7 +7916,7 @@ move_filtered_msgs(MAILSTREAM *stream, M ***************
*** 7905,7911 ****
int we_cancel = 0, width; int we_cancel = 0, width;
CONTEXT_S *save_context = NULL; CONTEXT_S *save_context = NULL;
char buf[MAX_SCREEN_COLS+1], sbuf[MAX_SCREEN_COLS+1]; char buf[MAX_SCREEN_COLS+1], sbuf[MAX_SCREEN_COLS+1];
- char *save_ref = NULL; ! char *save_ref = NULL;
+ char *save_ref = NULL, *save_dstfldr = NULL, *save_dstfldr2 = NULL;
#define FILTMSG_MAX 30 #define FILTMSG_MAX 30
if(!stream) if(!stream)
@@ -7939,6 +7950,16 @@ move_filtered_msgs(MAILSTREAM *stream, M --- 7916,7922 ----
int we_cancel = 0, width;
CONTEXT_S *save_context = NULL;
char buf[MAX_SCREEN_COLS+1], sbuf[MAX_SCREEN_COLS+1];
! char *save_ref = NULL, *save_dstfldr = NULL, *save_dstfldr2 = NULL;
#define FILTMSG_MAX 30
if(!stream)
***************
*** 7939,7944 ****
--- 7950,7965 ----
if(F_OFF(F_QUELL_FILTER_MSGS, ps_global)) if(F_OFF(F_QUELL_FILTER_MSGS, ps_global))
we_cancel = busy_cue(buf, NULL, 0); we_cancel = busy_cue(buf, NULL, 0);
@ -3516,7 +3637,9 @@ Index: alpine-2.20/pith/pattern.c
if(!is_absolute_path(dstfldr) if(!is_absolute_path(dstfldr)
&& !(save_context = default_save_context(ps_global->context_list))) && !(save_context = default_save_context(ps_global->context_list)))
save_context = ps_global->context_list; save_context = ps_global->context_list;
@@ -8002,6 +8023,11 @@ move_filtered_msgs(MAILSTREAM *stream, M ***************
*** 8002,8007 ****
--- 8023,8033 ----
if(we_cancel) if(we_cancel)
cancel_busy_cue(buf[0] ? 0 : -1); cancel_busy_cue(buf[0] ? 0 : -1);
@ -3528,11 +3651,12 @@ Index: alpine-2.20/pith/pattern.c
return(buf[0] != '\0'); return(buf[0] != '\0');
} }
Index: alpine-2.20/pith/pine.hlp diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.maildir/pith/pine.hlp
=================================================================== *** alpine-2.21/pith/pine.hlp Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/pine.hlp --- alpine-2.21.maildir/pith/pine.hlp Sun Feb 5 16:15:21 2017
+++ alpine-2.20/pith/pine.hlp ***************
@@ -22060,6 +22060,102 @@ your account's home directory). *** 22364,22369 ****
--- 22364,22465 ----
&lt;End of help on this topic&gt; &lt;End of help on this topic&gt;
</BODY> </BODY>
</HTML> </HTML>
@ -3635,7 +3759,9 @@ Index: alpine-2.20/pith/pine.hlp
====== h_config_literal_sig ===== ====== h_config_literal_sig =====
<HTML> <HTML>
<HEAD> <HEAD>
@@ -30086,6 +30182,49 @@ than across the columns as is the defaul ***************
*** 30446,30451 ****
--- 30542,30590 ----
<P> <P>
&lt;End of help on this topic&gt; &lt;End of help on this topic&gt;
</BODY> </BODY>
@ -3685,11 +3811,12 @@ Index: alpine-2.20/pith/pine.hlp
</HTML> </HTML>
====== h_config_verbose_post ===== ====== h_config_verbose_post =====
<HTML> <HTML>
Index: alpine-2.20/pith/send.c diff -rc alpine-2.21/pith/send.c alpine-2.21.maildir/pith/send.c
=================================================================== *** alpine-2.21/pith/send.c Sun Feb 5 16:02:36 2017
--- alpine-2.20.orig/pith/send.c --- alpine-2.21.maildir/pith/send.c Sun Feb 5 16:15:21 2017
+++ alpine-2.20/pith/send.c ***************
@@ -47,6 +47,9 @@ static char rcsid[] = "$Id: send.c 1204 *** 47,52 ****
--- 47,55 ----
#include "../c-client/smtp.h" #include "../c-client/smtp.h"
#include "../c-client/nntp.h" #include "../c-client/nntp.h"
@ -3699,7 +3826,9 @@ Index: alpine-2.20/pith/send.c
/* this is used in pine_send and pine_simple_send */ /* this is used in pine_send and pine_simple_send */
@@ -257,6 +260,13 @@ postponed_stream(MAILSTREAM **streamp, c ***************
*** 257,262 ****
--- 260,272 ----
if(exists & FEX_ISFILE){ if(exists & FEX_ISFILE){
context_apply(tmp, p_cntxt, mbox, sizeof(tmp)); context_apply(tmp, p_cntxt, mbox, sizeof(tmp));

6242
chappa-rules.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,35 +0,0 @@
---
imap/src/c-client/mail.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
Index: alpine-2.20/imap/src/c-client/mail.c
===================================================================
--- alpine-2.20.orig/imap/src/c-client/mail.c
+++ alpine-2.20/imap/src/c-client/mail.c
@@ -3400,13 +3400,13 @@ unsigned long mail_filter (char *text,un
long flags)
{
STRINGLIST *hdrs;
- int notfound;
+ int notfound, fix = text[len - 1] == '\0';
unsigned long i;
char c,*s,*e,*t,tmp[MAILTMPLEN];
char *src = text;
char *dst = src;
char *end = text + len;
- text[len] = '\012'; /* guard against running off buffer */
+ text[fix ? len - 1 : len] = '\012'; /* guard against running off buffer */
while (src < end) { /* process header */
/* slurp header line name */
for (s = src,e = s + MAILTMPLEN - 1,e = (e < end ? e : end),t = tmp;
@@ -3447,6 +3447,10 @@ unsigned long mail_filter (char *text,un
}
}
*dst = '\0'; /* tie off destination */
+ if(fix){
+ text[len] = '\012';
+ text[len-1] = '\0';
+ }
return dst - text;
}

View File

@ -1,69 +0,0 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2015-03-25 18:25:22.663262139 +0100
rpmlint:
W: alpine implicit-pointer-decl dmail.c:160
W: alpine implicit-pointer-decl mlock.c:114
W: alpine implicit-pointer-decl tmail.c:168
E: alpine no-return-in-nonvoid-function imap.c:2790
gcc:
dmail.c:160:5: warning: implicit declaration of function 'isdigit' [-Wimplicit-function-declaration]
mlock.c:114:5: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
tmail.c:168:7: warning: implicit declaration of function 'isdigit' [-Wimplicit-function-declaration]
imap.c:2790:1: warning: control reaches end of non-void function [-Wreturn-type]
---
alpine/imap.c | 1 +
imap/src/dmail/dmail.c | 1 +
imap/src/mlock/mlock.c | 1 +
imap/src/tmail/tmail.c | 1 +
4 files changed, 4 insertions(+)
Index: alpine-2.20/alpine/imap.c
===================================================================
--- alpine-2.20.orig/alpine/imap.c
+++ alpine-2.20/alpine/imap.c
@@ -2786,6 +2786,7 @@ if(F_OFF(F_DISABLE_PASSWORD_FILE_SAVING,
return(want_to(_("Preserve password on DISK for next login"),
'y', 'x', NO_HELP, WT_NORM)
== 'y');
+return 0;
#endif /* PASSFILE */
}
Index: alpine-2.20/imap/src/dmail/dmail.c
===================================================================
--- alpine-2.20.orig/imap/src/dmail/dmail.c
+++ alpine-2.20/imap/src/dmail/dmail.c
@@ -24,6 +24,7 @@
*
*/
+#include <ctype.h>
#include <stdio.h>
#include <pwd.h>
#include <errno.h>
Index: alpine-2.20/imap/src/mlock/mlock.c
===================================================================
--- alpine-2.20.orig/imap/src/mlock/mlock.c
+++ alpine-2.20/imap/src/mlock/mlock.c
@@ -32,6 +32,7 @@
#include <stdio.h>
#include <sysexits.h>
#include <syslog.h>
+#include <time.h>
#include <grp.h>
#include <sys/types.h>
#include <sys/file.h>
Index: alpine-2.20/imap/src/tmail/tmail.c
===================================================================
--- alpine-2.20.orig/imap/src/tmail/tmail.c
+++ alpine-2.20/imap/src/tmail/tmail.c
@@ -23,6 +23,7 @@
*
*/
+#include <ctype.h>
#include <stdio.h>
#include <pwd.h>
#include <errno.h>

View File

@ -1,33 +0,0 @@
--- pine4.61/pico/pico.c 2004/08/12 15:24:12 1.1
+++ pine4.61/pico/pico.c 2004/08/12 15:24:42
@@ -898,30 +898,6 @@
}
/*
- * Remove all trailing white space from the text
- */
-int
-stripwhitespace(void)
-{
- int i;
- LINE *cur_line = lforw(curbp->b_linep);
-
- do{
- /* we gotta test for the sigdash case here */
- if(!(cur_line->l_used == 3 &&
- lgetc(cur_line, 0).c == '-' &&
- lgetc(cur_line, 1).c == '-' &&
- lgetc(cur_line, 2).c == ' '))
- for(i = cur_line->l_used - 1; i >= 0; i--)
- if(ucs4_isspace(lgetc(cur_line, i).c))
- cur_line->l_used--;
- else
- break;
- }while((cur_line = lforw(cur_line)) != curbp->b_linep);
- return 0;
-}
-
-/*
* Abort.
* Beep the beeper. Kill off any keyboard macro, etc., that is in progress.
* Sometimes called as a routine, to do general aborting of stuff.

View File

@ -1,16 +0,0 @@
---
pith/filter.c | 1 +
1 file changed, 1 insertion(+)
Index: alpine-2.10/pith/filter.c
===================================================================
--- alpine-2.10.orig/pith/filter.c
+++ alpine-2.10/pith/filter.c
@@ -7710,6 +7710,7 @@ html_element_comment(FILTER_S *f, char *
}
}
}
+ return(1); /* Is this correct? */
}