Skip to content

Commit

Permalink
try to create rundir if missing
Browse files Browse the repository at this point in the history
Runtime dir changed from /run to /run/pppd in commit 66a8c74 ("Let
./configure control the paths for pppd") and is likely to not exist on
some distros, in which case the pppdb will not be created.

See: ppp-project#419 (lock directory moved in ppp-2.5.0)
Signed-off-by: Dominique Martinet <[email protected]>
  • Loading branch information
martinetd committed Oct 10, 2023
1 parent 45718cf commit 1ee1505
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions pppd/tdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1728,7 +1728,12 @@ TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
goto internal;
}

again:
if ((tdb->fd = open(name, open_flags, mode)) == -1) {
if ((open_flags & O_CREAT) && errno == ENOENT &&
mkdir_recursive(PPP_PATH_VARRUN) == 0)
goto again;

TDB_LOG((tdb, 5, "tdb_open_ex: could not open file %s: %s\n",
name, strerror(errno)));
goto fail; /* errno set by open(2) */
Expand Down

0 comments on commit 1ee1505

Please sign in to comment.