OpenBSD CVS

CVS log for src/usr.bin/vi/common/recover.c


[BACK] Up to [local] / src / usr.bin / vi / common

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.32 / (download) - annotate - [select for diffs], Sun Feb 20 19:45:51 2022 UTC (2 years, 3 months ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, HEAD
Changes since 1.31: +3 -1 lines
Diff to previous 1.31 (colored)

Fix vi recovery mode.

From trondd, tested by various

ok afresh1

Revision 1.31 / (download) - annotate - [select for diffs], Sun Oct 24 21:24:17 2021 UTC (2 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant.  Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk.  They could all be 0xdeafbeef.
ok millert

Revision 1.30 / (download) - annotate - [select for diffs], Mon Jul 22 12:39:02 2019 UTC (4 years, 10 months ago) by schwarze
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.29: +10 -1 lines
Diff to previous 1.29 (colored)

In secure mode (-S), skip sending mail when executing the :pre[serve]
command or when dying from SIGTERM.  This way, creating the recovery
file works again without re-adding "proc exec" to the pledge(2).
As reported by Jesper Wallin <jesper at ifconfig dot se>, this got
broken by common/main.c rev. 1.29 (Nov 19, 2015).
The general direction of the fix was suggested by brynet@.
OK brynet@ and no opposition when shown on tech@

Revision 1.29 / (download) - annotate - [select for diffs], Fri Nov 10 18:25:48 2017 UTC (6 years, 7 months ago) by martijn
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

Fix a use after free when sending SIGHUP or SIGTERM to vi when in editing
mode.

Found while testing previous commit by millert@

OK millert@ and tb@

Revision 1.28 / (download) - annotate - [select for diffs], Fri Nov 10 16:33:11 2017 UTC (6 years, 7 months ago) by millert
Branch: MAIN
Changes since 1.27: +60 -58 lines
Diff to previous 1.27 (colored)

Add rcv_openat() function that does the open, makes sure it is a
regular file with the expected permissions and locks it.  Inspired
by changes in NetBSD by Christos.  OK martijn@

Revision 1.27 / (download) - annotate - [select for diffs], Fri Nov 10 16:19:35 2017 UTC (6 years, 7 months ago) by millert
Branch: MAIN
Changes since 1.26: +33 -10 lines
Diff to previous 1.26 (colored)

Avoid using system(3) when running "sendmail -t".  We already have
the recover file fd open so just run sendmail with stdin set to
the recover file.  OK martijn@

Revision 1.26 / (download) - annotate - [select for diffs], Mon Jun 12 18:38:57 2017 UTC (6 years, 11 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.25: +12 -12 lines
Diff to previous 1.25 (colored)

Use openat() and unlinkat() instead of chdir()ing to the recovery dir.
Since we use flock() and not fcntl() locking we can open the recovery
file read-only.  OK martijn@

Revision 1.25 / (download) - annotate - [select for diffs], Wed Jun 29 20:38:39 2016 UTC (7 years, 11 months ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1, OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.24: +5 -10 lines
Diff to previous 1.24 (colored)

If /tmp/vi.recover doesn't exist, don't create it. Warn once
that it doesn't exist, afterwards fail silently.

ok millert

Revision 1.24 / (download) - annotate - [select for diffs], Sat Jan 30 21:23:50 2016 UTC (8 years, 4 months ago) by martijn
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.23: +4 -4 lines
Diff to previous 1.23 (colored)

replace progname variable in gs structure with getprogname

OK zhuk@ and tb@

Revision 1.23 / (download) - annotate - [select for diffs], Wed Jan 6 22:28:52 2016 UTC (8 years, 5 months ago) by millert
Branch: MAIN
Changes since 1.22: +18 -18 lines
Diff to previous 1.22 (colored)

Remove the numeric identifiers at the beginning of the messages
which used to be used as the message number to lookup in the
catalog.  From Martijn van Duren

Revision 1.22 / (download) - annotate - [select for diffs], Fri Apr 24 21:48:31 2015 UTC (9 years, 1 month ago) by brynet
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.21: +7 -10 lines
Diff to previous 1.21 (colored)

struct timespec/clock_gettime(3) conversion for vi(1).

ok guenther@

Revision 1.21 / (download) - annotate - [select for diffs], Fri Mar 27 04:11:25 2015 UTC (9 years, 2 months ago) by brynet
Branch: MAIN
Changes since 1.20: +1 -4 lines
Diff to previous 1.20 (colored)

Some vi cleanup, unifdef's some signal blocking code that has never been
enabled in our tree, also removes some stragglers from a global struct
referencing nonexistent Tcl/TK and "IP support". And finally.. deletes
an empty file missed by earlier cleanup by bentley@.

Inspired by and ok bcallah@

Revision 1.20 / (download) - annotate - [select for diffs], Fri Jan 16 06:40:14 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.19: +7 -8 lines
Diff to previous 1.19 (colored)

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible.  Annotate <sys/param.h> lines with their current reasons.  Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc.  Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution.  These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)

Revision 1.19 / (download) - annotate - [select for diffs], Fri Nov 14 20:27:03 2014 UTC (9 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

from natano:
_PATH_BSHELL, _PATH_SENDMAIL, _PATH_TMP and _PATH_TTY are defined in
<paths.h> and _PATH_SYSV_TTY is unused. All of them can be removed from
pathnames.h. The other defines can be made unconditionally.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Nov 12 16:29:04 2014 UTC (9 years, 7 months ago) by millert
Branch: MAIN
Changes since 1.17: +1 -2 lines
Diff to previous 1.17 (colored)

Remove more portability bits for older systems; from Martin Natano

Revision 1.17 / (download) - annotate - [select for diffs], Wed Nov 12 04:28:41 2014 UTC (9 years, 7 months ago) by bentley
Branch: MAIN
Changes since 1.16: +11 -34 lines
Diff to previous 1.16 (colored)

Ansify vi.

ok bcallah@ millert@

Revision 1.16 / (download) - annotate - [select for diffs], Mon Nov 10 21:31:42 2014 UTC (9 years, 7 months ago) by tedu
Branch: MAIN
Changes since 1.15: +1 -10 lines
Diff to previous 1.15 (colored)

remove old, unnecessary compat code. from Martin Natano

Revision 1.15 / (download) - annotate - [select for diffs], Tue Oct 27 23:59:47 2009 UTC (14 years, 7 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5, OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.14: +1 -5 lines
Diff to previous 1.14 (colored)

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable).  these days, people use source.  these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms

Revision 1.14 / (download) - annotate - [select for diffs], Thu Sep 25 11:37:03 2008 UTC (15 years, 8 months ago) by sobrado
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

do not hardcode the editor name in the message displayed by "-r"
when there are no files to recover as this flag is used by ex(1)
and view(1) too.

problem found by jsing@,  Sven Verdoolaege did some suggestions
to improve its portability.

diff committed upstream.

ok jsing@

Revision 1.13 / (download) - annotate - [select for diffs], Fri Sep 14 14:29:20 2007 UTC (16 years, 9 months ago) by chl
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4, OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.12: +3 -2 lines
Diff to previous 1.12 (colored)

remove some warnings:
unused variable `variable'
`variable' might be used uninitialized in this function

ok gilles@ ray@

Revision 1.12 / (download) - annotate - [select for diffs], Tue Sep 11 15:47:17 2007 UTC (16 years, 9 months ago) by gilles
Branch: MAIN
Changes since 1.11: +2 -3 lines
Diff to previous 1.11 (colored)

use strcspn to properly overwrite '\n' in fgets returned buffer

ok pyr@, ray@, millert@, moritz@, chl@

Revision 1.11 / (download) - annotate - [select for diffs], Mon Dec 11 20:50:55 2006 UTC (17 years, 6 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE, OPENBSD_4_2, OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.10: +4 -3 lines
Diff to previous 1.10 (colored)

rfc 3834 support: Auto-Submitted: auto-generated on lots of things; from Tamas TEVESZ; ok millert

Revision 1.10 / (download) - annotate - [select for diffs], Fri Apr 28 19:48:15 2006 UTC (18 years, 1 month ago) by jaredy
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.9: +2 -1 lines
Diff to previous 1.9 (colored)

ensure NUL termination after read(); ok ray

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jul 2 00:21:16 2003 UTC (20 years, 11 months ago) by avsm
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9, OPENBSD_3_8_BASE, OPENBSD_3_8, OPENBSD_3_7_BASE, OPENBSD_3_7, OPENBSD_3_6_BASE, OPENBSD_3_6, OPENBSD_3_5_BASE, OPENBSD_3_5, OPENBSD_3_4_BASE, OPENBSD_3_4
Changes since 1.8: +4 -4 lines
Diff to previous 1.8 (colored)

bump randomness of mktemp to from 6 to 10 X's, as recommended by mktemp(3)

Revision 1.8 / (download) - annotate - [select for diffs], Sat Feb 16 21:27:57 2002 UTC (22 years, 3 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_3_BASE, OPENBSD_3_3, OPENBSD_3_2_BASE, OPENBSD_3_2, OPENBSD_3_1_BASE, OPENBSD_3_1
Changes since 1.7: +11 -11 lines
Diff to previous 1.7 (colored)

Part one of userland __P removal.  Done with a simple regexp with some minor hand editing to make comments line up correctly.  Another pass is forthcoming that handles the cases that could not be done automatically.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Jun 18 21:39:26 2001 UTC (22 years, 11 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_0_BASE, OPENBSD_3_0
Changes since 1.6: +10 -7 lines
Diff to previous 1.6 (colored)

When creating temp files, use fchmod() to set the perms to be what we
expect since the mode mkstemp() uses can be modified by the umask.
This fixes a problem where vi would spin trying to create temp
files, eating up inodes; reported by xyntrix@bitz.org

This fix has the side effect of letting you create files with
silly modes (like 0000), but that is probably OK.

Revision 1.6 / (download) - annotate - [select for diffs], Mon May 28 22:41:35 2001 UTC (23 years ago) by pvalchev
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Print SYSERR instead of ERR when recdir does not exist.
Makes the message more useful for the user; from NetBSD, millert@ ok

Revision 1.5 / (download) - annotate - [select for diffs], Mon Jan 29 01:58:31 2001 UTC (23 years, 4 months ago) by niklas
Branch: MAIN
CVS Tags: OPENBSD_2_9_BASE, OPENBSD_2_9
Changes since 1.4: +2 -0 lines
Diff to previous 1.4 (colored)

$OpenBSD$

Revision 1.4 / (download) - annotate - [select for diffs], Tue Sep 17 17:18:56 1996 UTC (27 years, 8 months ago) by michaels
Branch: MAIN
CVS Tags: OPENBSD_2_8_BASE, OPENBSD_2_8, OPENBSD_2_7_BASE, OPENBSD_2_7, OPENBSD_2_6_BASE, OPENBSD_2_6, OPENBSD_2_5_BASE, OPENBSD_2_5, OPENBSD_2_4_BASE, OPENBSD_2_4, OPENBSD_2_3_BASE, OPENBSD_2_3, OPENBSD_2_2_BASE, OPENBSD_2_2, OPENBSD_2_1_BASE, OPENBSD_2_1, OPENBSD_2_0_BASE, OPENBSD_2_0
Changes since 1.3: +1 -2 lines
Diff to previous 1.3 (colored)

nvi 1.76:
        + Fix bug where ^V didn't keep input mapping from happening.
        + Fix a core dump bug in the R command.
        + Give up on licensing: no more shareware, adware, whatever.
        + Fix cursor positioning bug for C, S and c$ in an empty file.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jul 24 16:15:22 1996 UTC (27 years, 10 months ago) by mickey
Branch: MAIN
Changes since 1.2: +10 -6 lines
Diff to previous 1.2 (colored)

bring vi/ex up to 1.71

Revision 1.2 / (download) - annotate - [select for diffs], Wed May 22 11:34:13 1996 UTC (28 years ago) by deraadt
Branch: MAIN
Changes since 1.1: +135 -129 lines
Diff to previous 1.1 (colored)

new vi

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Wed Oct 18 08:46:39 1995 UTC (28 years, 7 months ago) by deraadt
CVS Tags: netbsd_1_1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

initial import of NetBSD tree

Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 18 08:46:39 1995 UTC (28 years, 7 months ago) by deraadt
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.