Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Hello, dear release team, Please unblock package alpine. I'd like to ask you for a freeze exception for a few fixes to alpine. Some might say they are "cosmetic" fixes, but I want to try to convince you that they matter to alpine users. The -2 release adds two patches to fix two bugs. Attached, please find the debdiff against testing. #631758 -- Broken usage tracking Right now, when alpine launches, it asks you if you if you want to be tracked as a user of alpine. If you say yes, it then emails a nonexistent server and you get a bounce message. This is not really suitable for release. Discussion with upstream is still ongoing as to the right fix. For now: Fix: Add a patch that removes the phone-home code. #414264 -- If you use mbox format, you receive a scary warning about data corruption Right now, when alpine reads an mbox folder on Debian, it tells you the permissions are wrong. However, the permission are right, according to policy. The warning comes from alpine's ability to use 'mlock' to lock the mbox file as needed. Fix: Add one dependency for alpine: mlock I am but a humble maintainer, asking for changes past the freeze. I'm uploading to unstable now, and attaching the debdiff. Again, sorry about the late handling of these issues. Thank you. unblock alpine/2.02+dfsg-2 -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.4-trunk-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -Nru alpine-2.02+dfsg/debian/changelog alpine-2.02+dfsg/debian/changelog --- alpine-2.02+dfsg/debian/changelog 2012-09-08 08:07:59.000000000 -0700 +++ alpine-2.02+dfsg/debian/changelog 2012-09-30 11:56:54.000000000 -0700 @@ -1,3 +1,17 @@ +alpine (2.02+dfsg-2) unstable; urgency=low + + * Adding patch from Geoffrey Thomas to disable broken phone- + home functionality. (Thank you!) (Closes: #631758) + * Adding dependency on mlock so that alpine no longer warns + the user about permissions on /var/spool/mail (or /var/mail). + (In theory, this new dependency is only required if you are using + an mbox file, but since reading system mail is within the core + functionality of alpine, it seems sensible that alpine should do that + without warnings out of the box.) (Closes: #414264) + * ACKing NMU by Johnathan McCrohan. Thank you! + + -- Asheesh Laroia <ashe...@asheesh.org> Sun, 26 Aug 2012 13:23:07 -0700 + alpine (2.02+dfsg-1.1) unstable; urgency=low * Non-maintainer upload. diff -Nru alpine-2.02+dfsg/debian/control alpine-2.02+dfsg/debian/control --- alpine-2.02+dfsg/debian/control 2012-07-02 16:45:53.000000000 -0700 +++ alpine-2.02+dfsg/debian/control 2012-08-29 08:31:10.000000000 -0700 @@ -14,7 +14,7 @@ Package: alpine Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Depends: mlock, ${shlibs:Depends}, ${misc:Depends} Recommends: alpine-doc Suggests: aspell, mail-transport-agent | exim4 Conflicts: pine diff -Nru alpine-2.02+dfsg/debian/patches/80_remove_phone_home.patch alpine-2.02+dfsg/debian/patches/80_remove_phone_home.patch --- alpine-2.02+dfsg/debian/patches/80_remove_phone_home.patch 1969-12-31 16:00:00.000000000 -0800 +++ alpine-2.02+dfsg/debian/patches/80_remove_phone_home.patch 2012-09-30 11:14:06.000000000 -0700 @@ -0,0 +1,349 @@ +From 01674610679e4af4a6c6d890659573133609cec5 Mon Sep 17 00:00:00 2001 +From: Geoffrey Thomas <geo...@ldpreload.com> +Date: Sun, 13 Nov 2011 22:12:38 -0500 +Subject: [PATCH] Remove phone_home code (that sends usage counts to UW) + +Presumably the usage counts did nothing to encourage UW to keep developing +pine. :-( Also, in any case, the address bounces... + +Signed-off-by: Geoffrey Thomas <geo...@ldpreload.com> +--- + alpine/mailview.c | 10 --------- + alpine/newuser.c | 26 +++-------------------- + alpine/send.c | 60 ----------------------------------------------------- + alpine/send.h | 1 - + pith/filter.c | 2 -- + pith/pine.hlp | 38 --------------------------------- + pith/send.c | 42 ------------------------------------- + pith/send.h | 2 -- + pith/state.h | 1 - + 9 files changed, 3 insertions(+), 179 deletions(-) + +diff --git a/alpine/mailview.c b/alpine/mailview.c +index a7eb839..783e965 100644 +--- a/alpine/mailview.c ++++ b/alpine/mailview.c +@@ -177,7 +177,6 @@ struct view_write_s { + int url_local_nntp(char *); + int url_local_news(char *); + int url_local_file(char *); +-int url_local_phone_home(char *); + static int print_to_printer(SCROLL_S *); + int search_text(int, long, int, char **, Pos *, int *); + void update_scroll_titlebar(long, int); +@@ -1697,7 +1696,6 @@ struct view_write_s { + {"news:", 5, url_local_news}, + {"x-alpine-gripe:", 15, gripe_gripe_to}, + {"x-alpine-help:", 14, url_local_helper}, +- {"x-alpine-phone-home:", 20, url_local_phone_home}, + {"x-alpine-config:", 16, url_local_config}, + {"x-alpine-cert:", 14, url_local_certdetails}, + {"#", 1, url_local_fragment}, +@@ -2252,14 +2250,6 @@ struct view_write_s { + } + + +-int +-url_local_phone_home(char *url) +-{ +- phone_home(url + strlen("x-alpine-phone-home:")); +- return(2); +-} +- +- + /* + * Format editorial comment referencing screen offering + * List-* header supplied commands +diff --git a/alpine/newuser.c b/alpine/newuser.c +index d273e99..ac094f3 100644 +--- a/alpine/newuser.c ++++ b/alpine/newuser.c +@@ -68,20 +68,6 @@ + shown_text = text; + + /* +- * Set it if the major revision number +- * (the first after the dot) has changed. +- */ +- ps->phone_home = (first_time_alpine_user +- || (ps->pine_pre_vers +- && isdigit((unsigned char) ps->pine_pre_vers[0]) +- && ps->pine_pre_vers[1] == '.' +- && isdigit((unsigned char) ps->pine_pre_vers[2]) +- && isdigit((unsigned char) vers[0]) +- && vers[1] == '.' +- && isdigit((unsigned char) vers[2]) +- && strncmp(ps->pine_pre_vers, vers, 3) < 0)); +- +- /* + * At this point, shown_text is a charstarstar with html + * Turn it into a charstar with digested html + */ +@@ -139,15 +125,9 @@ + (nuov_keymenu.how_many * 12) * sizeof(struct key)); + setbitmap(sargs.keys.bitmap); + +- if(ps->phone_home){ +- km.keys[NUOV_EXIT].label = "Exit this greeting"; +- km.keys[NUOV_EXIT].bind.nch = 1; +- } +- else{ +- km.keys[NUOV_EXIT].label = "[Exit this greeting]"; +- km.keys[NUOV_EXIT].bind.nch = 3; +- clrbitn(NUOV_VIEW, sargs.keys.bitmap); +- } ++ km.keys[NUOV_EXIT].label = "[Exit this greeting]"; ++ km.keys[NUOV_EXIT].bind.nch = 3; ++ clrbitn(NUOV_VIEW, sargs.keys.bitmap); + + if(ps->first_time_user) + clrbitn(NUOV_RELNOTES, sargs.keys.bitmap); +diff --git a/alpine/send.c b/alpine/send.c +index 27bc4e8..01c8098 100644 +--- a/alpine/send.c ++++ b/alpine/send.c +@@ -70,9 +70,6 @@ + PARAMETER *parameter; + } BODY_PARTICULARS_S; + +-#define PHONE_HOME_VERSION "-count" +-#define PHONE_HOME_HOST "docserver.cac.washington.edu" +- + /* + * macro to bind pico's headerentry pointer to PINEFIELD "extdata" hook + */ +@@ -5462,63 +5459,6 @@ stored in a storage object (see filter.c). + + + /*---------------------------------------------------------------------- +- Generate and send a message back to the pine development team +- +-Args: none +- +-Returns: none +-----*/ +-void +-phone_home(char *addr) +-{ +- char tmp[MAX_ADDRESS]; +- ENVELOPE *outgoing; +- BODY *body; +- +- outgoing = mail_newenvelope(); +- if(!addr || !strindex(addr, '@')){ +- snprintf(addr = tmp, sizeof(tmp), "alpine%s@%s", PHONE_HOME_VERSION, PHONE_HOME_HOST); +- tmp[sizeof(tmp)-1] = '\0'; +- } +- +- rfc822_parse_adrlist(&outgoing->to, addr, ps_global->maildomain); +- +- outgoing->message_id = generate_message_id(); +- outgoing->subject = cpystr("Document Request"); +- outgoing->from = phone_home_from(); +- +- body = mail_newbody(); +- body->type = TYPETEXT; +- +- if((body->contents.text.data = (void *)so_get(PicoText,NULL,EDIT_ACCESS)) != NULL){ +- so_puts((STORE_S *)body->contents.text.data, "Document request: "); +- so_puts((STORE_S *)body->contents.text.data, "Alpine-"); +- so_puts((STORE_S *)body->contents.text.data, ALPINE_VERSION); +- if(ps_global->first_time_user) +- so_puts((STORE_S *)body->contents.text.data, " for New Users"); +- +- if(ps_global->VAR_INBOX_PATH && ps_global->VAR_INBOX_PATH[0] == '{') +- so_puts((STORE_S *)body->contents.text.data, " and IMAP"); +- +- if(ps_global->VAR_NNTP_SERVER && ps_global->VAR_NNTP_SERVER[0] +- && ps_global->VAR_NNTP_SERVER[0][0]) +- so_puts((STORE_S *)body->contents.text.data, " and NNTP"); +- +- (void)pine_simple_send(outgoing, &body, NULL,NULL,NULL,NULL, SS_NULLRP); +- +- q_status_message(SM_ORDER, 1, 3, "Thanks for being counted!"); +- } +- else +- q_status_message(SM_ORDER | SM_DING, 3, 4, +- "Problem creating space for message text."); +- +- mail_free_envelope(&outgoing); +- pine_free_body(&body); +- +-} +- +- +-/*---------------------------------------------------------------------- + Set up fields for passing to pico. Assumes first text part is + intended to be passed along for editing, and is in the form of + of a storage object brought into existence sometime before pico_send(). +diff --git a/alpine/send.h b/alpine/send.h +index ed7955b..b82d709 100644 +--- a/alpine/send.h ++++ b/alpine/send.h +@@ -41,7 +41,6 @@ + void pine_send(ENVELOPE *, BODY **, char *, ACTION_S *, char *, REPLY_S *, + REDRAFT_POS_S *, char *, PINEFIELD *, int); + int upload_msg_to_pico(char *, size_t, long *); +-void phone_home(char *); + void create_message_body(BODY **, PATMT *, int); + char *pine_send_status(int, char *, char *, size_t, int *); + int confirm_daemon_send(void); +diff --git a/pith/filter.c b/pith/filter.c +index 3b9689c..9d9f3e5 100644 +--- a/pith/filter.c ++++ b/pith/filter.c +@@ -7515,8 +7515,6 @@ + HD(f)->bitbucket = 0; + else if(!strucmp(s, "running")) + HD(f)->bitbucket = 0; +- else if(!strucmp(s, "phone_home") && ps_global->phone_home) +- HD(f)->bitbucket = 0; + #ifdef _WINDOWS + else if(!strucmp(s, "os_windows")) + HD(f)->bitbucket = 0; +diff --git a/pith/pine.hlp b/pith/pine.hlp +index b6f2693..1b5d9a6 100644 +--- a/pith/pine.hlp ++++ b/pith/pine.hlp +@@ -1286,18 +1286,6 @@ this link now to send a message to it:<BR> + We hope you will explore Alpine's many capabilities. From the MAIN MENU, + select Setup/Config to see many of the options available to you. Also note + that all screens have context-sensitive help text available.<P> +-<!--chtml if pinemode="phone_home"--> +-SPECIAL REQUEST: +-This software is made available as a public service of the +-University of Washington in Seattle. We are no longer actively developing +-the software, but it is still helpful to us to have an idea of how many +-people are using Alpine. Are you willing to be counted as an Alpine user? Pressing +-<A HREF="X-Alpine-Phone-Home:">Return</A> +-will send an anonymous (meaning, your real email address will not be revealed) +-message to the Alpine team at the University of Washington for purposes of tallying. +-<P> +-<!--To Exit this screen and continue your Alpine session press "E".--> +-<!--chtml else--> + To Exit this screen and continue your Alpine session press "Return". + <!--chtml endif--> + </BODY> +@@ -1319,20 +1307,7 @@ Your Pine configuration file is automatically used for Alpine. + The Release Notes may be viewed by pressing + "R" now or while in the MAIN MENU. + <P> +-<!--chtml if pinemode="phone_home"--> +-SPECIAL REQUEST: +-This software is made available as a public service of the +-University of Washington in Seattle. We are no longer actively developing +-the software, but it is still helpful to us to have an idea of how many +-people are using Alpine. Are you willing to be counted as an Alpine user? Pressing +-<A HREF="X-Alpine-Phone-Home:">Return</A> +-will send an anonymous (meaning, your real email address will not be revealed) +-message to the Alpine team at the University of Washington for purposes of tallying. +-<P> +-<!--To Exit this screen and continue your Alpine session press "E".--> +-<!--chtml else--> + To Exit this screen and continue your Alpine session press "Return". +-<!--chtml endif--> + </BODY> + </HTML> + ===== new_version_greeting ====== +@@ -1349,20 +1324,7 @@ this version of Alpine before. This version's significant changes are + documented in the Release Notes, which may be viewed by pressing + "R" now or while in the MAIN MENU. + <P> +-<!--chtml if pinemode="phone_home"--> +-SPECIAL REQUEST: +-This software is made available as a public service of the +-University of Washington in Seattle. We are no longer actively developing +-the software, but it is still helpful to us to have an idea of how many +-people are using Alpine. Are you willing to be counted as an Alpine user? Pressing +-<A HREF="X-Alpine-Phone-Home:">Return</A> +-will send an anonymous (meaning, your real email address will not be revealed) +-message to the Alpine team at the University of Washington for purposes of tallying. +- +-<!--To Exit this screen and continue your Alpine session press "E".--> +-<!--chtml else--> + To Exit this screen and continue your Alpine session press "Return". +-<!--chtml endif--> + </BODY> + </HTML> + +diff --git a/pith/send.c b/pith/send.c +index 4af4b40..9068104 100644 +--- a/pith/send.c ++++ b/pith/send.c +@@ -1676,48 +1676,6 @@ char *mta_parse_post(METAENV *, BODY *, char *, char *, size_t, void (*)(char + } + + +-/* +- * phone_home_from - make phone home request's from address IMpersonal. +- * Doesn't include user's personal name. +- */ +-ADDRESS * +-phone_home_from(void) +-{ +- ADDRESS *addr = mail_newaddr(); +- char tmp[32]; +- +- /* garble up mailbox name */ +- snprintf(tmp, sizeof(tmp), "hash_%08u", phone_home_hash(ps_global->VAR_USER_ID)); +- tmp[sizeof(tmp)-1] = '\0'; +- addr->mailbox = cpystr(tmp); +- addr->host = cpystr(ps_global->maildomain); +- return(addr); +-} +- +- +-/* +- * one-way-hash a username into an 8-digit decimal number +- * +- * Corey Satten, co...@cac.washington.edu, 7/15/98 +- */ +-unsigned int +-phone_home_hash(char *s) +-{ +- unsigned int h; +- +- for (h=0; *s; ++s) { +- if (h & 1) +- h = (h>>1) | (PH_MAXHASH/2); +- else +- h = (h>>1); +- +- h = ((h+1) * ((unsigned char) *s)) & (PH_MAXHASH - 1); +- } +- +- return (h); +-} +- +- + /*---------------------------------------------------------------------- + Call the mailer, SMTP, sendmail or whatever + +diff --git a/pith/send.h b/pith/send.h +index b1d0d33..22a9890 100644 +--- a/pith/send.h ++++ b/pith/send.h +@@ -224,8 +224,6 @@ int redraft_work(MAILSTREAM **, long, ENVELOPE **, BODY **, char **, char ** + void pine_free_env(METAENV **); + int check_addresses(METAENV *); + void update_answered_flags(REPLY_S *); +-ADDRESS *phone_home_from(void); +-unsigned int phone_home_hash(char *); + int call_mailer(METAENV *, BODY *, char **, int, void (*)(char *, int), + void (*)(PIPE_S *, int, void *)); + int write_postponed(METAENV *, BODY *); +diff --git a/pith/state.h b/pith/state.h +index 565ab9f..3981791 100644 +--- a/pith/state.h ++++ b/pith/state.h +@@ -187,7 +187,6 @@ struct pine { + unsigned force_prefer_plain:1; + unsigned force_no_prefer_plain:1; + +- unsigned phone_home:1; + unsigned painted_body_on_startup:1; + unsigned painted_footer_on_startup:1; + unsigned open_readonly_on_startup:1; +-- +1.7.10 + diff -Nru alpine-2.02+dfsg/debian/patches/series alpine-2.02+dfsg/debian/patches/series --- alpine-2.02+dfsg/debian/patches/series 2012-09-08 08:09:09.000000000 -0700 +++ alpine-2.02+dfsg/debian/patches/series 2012-09-30 11:17:02.000000000 -0700 @@ -9,3 +9,4 @@ 50_danchev_malloc_once.patch 60_fix_string_error.patch 70_des56_rfc5751.patch +80_remove_phone_home.patch