--- pine/osdep/os-lnx.h-orig 2003-04-23 12:48:08.000000000 +0200 +++ pine/osdep/os-lnx.h 2003-04-23 12:51:59.000000000 +0200 @@ -74,7 +74,7 @@ default-composer-hdrs or customized-hdrs to get at it. Instead of defining NEVER_ALLOW_CHANGING_FROM, an easier way of preventing From changing is to put the feature "no-allow-changing-from" in the - /usr/local/lib/pine.conf.fixed file. + /etc/pine.conf.fixed file. ----*/ /* #define NEVER_ALLOW_CHANGING_FROM */ @@ -163,10 +163,10 @@ /*----- System-wide config file ----------------------------------------*/ #ifndef SYSTEM_PINERC -#define SYSTEM_PINERC "/usr/local/lib/pine.conf" +#define SYSTEM_PINERC "/etc/pine.conf" #endif #ifndef SYSTEM_PINERC_FIXED -#define SYSTEM_PINERC_FIXED "/usr/local/lib/pine.conf.fixed" +#define SYSTEM_PINERC_FIXED "/etc/pine.conf.fixed" #endif --- imap/src/osdep/unix/Makefile-orig 2003-04-23 13:02:13.000000000 +0200 +++ imap/src/osdep/unix/Makefile 2003-04-23 13:03:07.000000000 +0200 @@ -636,7 +636,7 @@ SPOOLDIR=/var/spool \ ACTIVEFILE=/var/lib/news/active \ RSHPATH=/usr/bin/rsh \ - BASECFLAGS="-g -fno-omit-frame-pointer $(GCCOPTLEVEL)" \ + BASECFLAGS="-fno-omit-frame-pointer $(GCCOPTLEVEL)" \ BASELDFLAGS="-lcrypt" sl4: # Secure Linux using libc4 --- doc/tech-notes/config-notes.html-orig 2003-04-23 13:04:42.000000000 +0200 +++ doc/tech-notes/config-notes.html 2003-04-23 13:06:37.000000000 +0200 @@ -952,10 +952,10 @@

The fixed configuration file is normally -/usr/local/lib/pine.conf.fixed. +/etc/pine.conf.fixed.

The system-wide configuration file is normally -/usr/local/lib/pine.conf for Unix Pine and is normally not +/etc/pine.conf for Unix Pine and is normally not set for PC-Pine. For PC-Pine, if the environment variable $PINECONF is set, that is used for the system-wide configuration. @@ -1273,8 +1273,8 @@

  • An entry in /etc/inetd.conf for the alternate service. -
  • An entry in /usr/local/lib/pine.conf, -/usr/local/lib/pine.conf.fixed or ~/.pinerc. +
  • An entry in /etc/pine.conf, +/etc/pine.conf.fixed or ~/.pinerc. @@ -1285,7 +1285,7 @@ Pine's MIME-TYPE support is based on code contributed by Hans Drexler <drexler@mpi.nl>. Pine assigns MIME Content-Types according to file name extensions found in the system-wide files -/usr/local/lib/mime.types and /etc/mime.types, +/etc/mime.types and /etc/mime.types, and a user specific ~/.mime.types file.

    In DOS and OS/2, --- doc/tech-notes/installation.html-orig 2003-04-23 14:27:06.000000000 +0200 +++ doc/tech-notes/installation.html 2003-04-23 14:29:54.000000000 +0200 @@ -218,7 +218,7 @@

    The name of the file which holds Pine configuration information for all users on the system. Default on UNIX systems is -/usr/local/lib/pine.conf. +/etc/pine.conf.
    SYSTEM_PINERC_FIXED @@ -226,7 +226,7 @@ SYSTEM_PINERC, but only for variables that the administrator wants to keep fixed. That is, users are not allowed to change variables that are specified in the FIXED file. Default on UNIX systems is -/usr/local/lib/pine.conf.fixed. +/etc/pine.conf.fixed.

    @@ -529,9 +529,9 @@ are no required auxiliary files.

    There are, however, three optional auxiliary files: -/usr/local/lib/pine.info, -/usr/local/lib/pine.conf, and -/usr/local/lib/pine.conf.fixed. The file +/etc/pine.info, +/etc/pine.conf, and +/etc/pine.conf.fixed. The file pine.info contains text on how to get further help on the local system. It is part of the help text for the main menu and should probably refer to the local help desk or the system @@ -650,15 +650,15 @@

    -
    /usr/local/lib/pine.conf +
    /etc/pine.conf
    Pine's global configuration file. -
    /usr/local/lib/pine.conf.fixed +
    /etc/pine.conf.fixed
    Non-overridable global configuration file. -
    /usr/local/lib/pine.info +
    /etc/pine.info
    Local pointer to system administrator. --- doc/pine.1-orig 2003-04-23 14:32:22.000000000 +0200 +++ doc/pine.1 2003-04-23 14:32:54.000000000 +0200 @@ -333,11 +333,11 @@ .br /etc/mime.types System-wide file ext. to MIME type mapping .br -/usr/local/lib/pine.info Local pointer to system administrator. +/etc/pine.info Local pointer to system administrator. .br -/usr/local/lib/pine.conf System-wide configuration file. +/etc/pine.conf System-wide configuration file. .br -/usr/local/lib/pine.conf.fixed Non-overridable configuration file. +/etc/pine.conf.fixed Non-overridable configuration file. .br /tmp/.\\usr\\spool\\mail\\xxxx Per-folder mailbox lock files. .br --- pine/reply.c-orig 2003-04-23 14:57:00.000000000 +0200 +++ pine/reply.c 2003-04-23 15:04:21.000000000 +0200 @@ -5456,8 +5456,8 @@ if(!hostpart) hostpart = cpystr("huh"); - sprintf(id,"", - SYSTYPE, pine_version, (now_x->tm_year) % 100, now_x->tm_mon + 1, + sprintf(id,"<%04d%02d%02d%02d%02d%02d%X.%d@%.50s>", + now_x->tm_year, now_x->tm_mon + 1, now_x->tm_mday, now_x->tm_hour, now_x->tm_min, now_x->tm_sec, cnt, getpid(), hostpart); --- pine/init.c-orig 2003-04-23 14:34:50.000000000 +0200 +++ pine/init.c 2003-04-23 15:59:08.000000000 +0200 @@ -428,7 +428,7 @@ /*---------------------------------------------------------------------- These are the variables that control a number of pine functions. They -come out of the .pinerc and the /usr/local/lib/pine.conf files. Some can +come out of the .pinerc and the /etc/pine.conf files. Some can be set by the user while in Pine. Eventually all the local ones should be so and maybe the global ones too. @@ -2669,6 +2669,8 @@ F_ENABLE_INCOMING, h_config_enable_incoming, PREF_FLDR}, {"enable-lame-list-mode", F_FIX_BROKEN_LIST, h_config_lame_list_mode, PREF_FLDR}, + {"enable-lock-world-writable", + F_ENABLE_LOCK_0666, h_config_lock_0666, PREF_FLDR}, {"expanded-view-of-folders", F_EXPANDED_FOLDERS, h_config_expanded_folders, PREF_FLDR}, {"quell-empty-directories", @@ -3149,6 +3151,12 @@ mail_parameters(NULL, SET_LOCKEACCESERROR, (void *) 0); /* + * Turn off pine lock world writability... + */ + if(F_OFF(F_ENABLE_LOCK_0666, ps)) + mail_parameters(NULL, SET_LOCKPROTECTION, (void *) 0600); + + /* * Turn on quelling of pseudo message. */ if(F_ON(F_QUELL_INTERNAL_MSG,ps_global)) --- pine/other.c-orig 2003-04-23 16:01:51.000000000 +0200 +++ pine/other.c 2003-04-23 16:03:32.000000000 +0200 @@ -11943,6 +11943,11 @@ (void *)(F_ON(f->id, ps) ? 1 : 0)); break; + case F_ENABLE_LOCK_0666 : + q_status_message(SM_ORDER | SM_DING, 3, 4, + "Lock mode changes will take effect your next pine session."); + break; + case F_QUELL_INTERNAL_MSG : mail_parameters(NULL,SET_USERHASNOLIFE, (void *)(F_ON(f->id, ps) ? 1 : 0)); --- pine/pine.hlp-orig 2003-04-23 14:37:36.000000000 +0200 +++ pine/pine.hlp 2003-04-23 16:11:31.000000000 +0200 @@ -1307,7 +1307,9 @@ Pine?
    No. Pine also creates lockfiles in the /tmp directory. For normal Unix mailbox format folders, these are used to coordinate access between -multiple Pine sessions.

    +multiple Pine sessions. Their protection mode by default is 0600. You +may change it to 0666 turning on the +enable-lock-world-writable feature.

  • What about the "quell-lock-failure-warnings" feature added in Pine 4.01?
    @@ -20127,6 +20129,39 @@ <End of help on this topic> +====== h_config_lock_0666 ===== + + +FEATURE: enable-lock-world-writable + + +

    FEATURE: enable-lock-world-writable

    +This feature may become necessary when you need in shared mailboxes. +It's reasonable to turn it on only in friendly and trusted networking. +It is strongly not recommended to enable it in super-user's profile. +

    +The usual Pine's behaviour when it can't get lock from another process +is to open the mailbox read-only, that more than enough in most cases. +If somebody's Pine with lock mode 0600 locked the mailbox you need to +modify and then had been killed with SIGKILL, it is reasonable to ask +your system administrator to remove the stuck lock. +

    +Note that turning this feature on you become to the potential risk of +denial-of-service attacks of two kinds, when leaving it off allows only +one kind of those - the stuck lock. Even when some badguy in your +environment becomes kinda stupid to make the continuous locking of some +mailbox, admins may simply catch him by owner of such locks, but world +writable lock can be corrupted by anyone. +

    +See also: Notes about Pine file locking + +

    +

    +<End of help on this topic> + + ====== h_config_signature_file ===== @@ -24599,7 +24634,7 @@ So, here are some example entries:

     URL-Viewers = _TEST("test -n '${DISPLAY}'")_  /usr/local/bin/netscape
    -              "/usr/local/bin/lynx _URL_"
    +              "/usr/bin/lynx _URL_"
                   C:\BIN\NETSCAPE.BAT
     

    @@ -24607,7 +24642,7 @@ the environment variable "DISPLAY" must be defined. If it is, then the path and file "/usr/local/bin/netscape" must exist. If neither condition is met, -then the path and file "/usr/local/bin/lynx" must exist. +then the path and file "/usr/bin/lynx" must exist. If it does, then the "_URL_" token is replaced by the selected URL. If the path to "lynx" is invalid, then the final path and file C:\BIN\NETSCAPE.BAT must exist. @@ -24703,7 +24738,7 @@ url-viewers = _TEST("test -L /myhomedir/.netscape/lock")_ "/usr/local/bin/netscape -remote 'openURL(_URL_, new-window)' &"
    _TEST("test -n '${DISPLAY}'")_ "/usr/local/bin/netscape &"
    - "/usr/local/bin/lynx '_URL_'" + "/usr/bin/lynx '_URL_'"

    --- pico/makefile.lnx-orig 2003-04-23 16:13:59.000000000 +0200 +++ pico/makefile.lnx 2003-04-23 16:14:22.000000000 +0200 @@ -36,9 +36,9 @@ RM= rm -f LN= ln -s MAKE= make -OPTIMIZE= # -O +OPTIMIZE= -O3 PROFILE= # -pg -DEBUG= -g -DDEBUG +DEBUG= # -g -DDEBUG STDCFLAGS= -Dlnx -DJOB_CONTROL -DPOSIX -DMOUSE CFLAGS= $(OPTIMIZE) $(PROFILE) $(DEBUG) $(EXTRACFLAGS) $(STDCFLAGS) --- pine/makefile.lnx-orig 2003-04-23 16:24:18.000000000 +0200 +++ pine/makefile.lnx 2003-04-23 16:24:54.000000000 +0200 @@ -45,9 +45,9 @@ RM= rm -f LN= ln -s MAKE= make -OPTIMIZE= # -O2 +OPTIMIZE= -O3 PROFILE= # -pg -DEBUG= -g -DDEBUG -DDEBUGJOURNAL +DEBUG= # -g -DDEBUG -DDEBUGJOURNAL CCLIENTDIR= ../c-client PICODIR= ../pico --- pine/pine.h-orig 2003-04-23 16:07:17.000000000 +0200 +++ pine/pine.h 2003-04-23 16:08:08.000000000 +0200 @@ -1301,6 +1301,7 @@ F_RET_INBOX_NO_CONFIRM, F_CHECK_MAIL_ONQUIT, F_NO_FCC_ATTACH, + F_ENABLE_LOCK_0666, F_DO_MAILCAP_PARAM_SUBST, F_PREFER_ALT_AUTH, F_SLCTBL_ITEM_NOBOLD, --- pine/send.c-orig 2003-04-23 14:54:04.000000000 +0200 +++ pine/send.c 2003-04-23 14:56:26.000000000 +0200 @@ -4349,34 +4349,6 @@ outgoing->return_path = rfc822_cpy_adr(outgoing->from); - /* - * Don't ever believe the sender that is there. - * If From doesn't look quite right, generate our own sender. - */ - if(outgoing->sender) - mail_free_address(&outgoing->sender); - - /* - * If the LHS of the address doesn't match, or the RHS - * doesn't match one of localdomain or hostname, - * then add a sender line (really X-X-Sender). - * - * Don't add a personal_name since the user can change that. - */ - if(F_OFF(F_DISABLE_SENDER, ps_global) - && - (!outgoing->from - || !outgoing->from->mailbox - || strucmp(outgoing->from->mailbox, ps_global->VAR_USER_ID) != 0 - || !outgoing->from->host - || !(strucmp(outgoing->from->host, ps_global->localdomain) == 0 - || strucmp(outgoing->from->host, ps_global->hostname) == 0))){ - - outgoing->sender = mail_newaddr(); - outgoing->sender->mailbox = cpystr(ps_global->VAR_USER_ID); - outgoing->sender->host = cpystr(ps_global->hostname); - } - /*----- Message is edited, now decide what to do with it ----*/ if(editor_result & (COMP_SUSPEND | COMP_GOTHUP | COMP_CANCEL)){ /*=========== Postpone or Interrupted message ============*/ @@ -10234,9 +10206,6 @@ { char **p; static char *forbidden_headers[] = { - "sender", - "x-sender", - "x-x-sender", "date", "received", "message-id",