Commit Graph

27 Commits

Author SHA1 Message Date
Sean Farley
2966d28c32 Significantly reduce the memory leak as noted in BUGS section for
setenv(3) by tracking the size of the memory allocated instead of using
strlen() on the current value.

Convert all calls to POSIX from historic BSD API:
 - unsetenv returns an int.
 - putenv takes a char * instead of const char *.
 - putenv no longer makes a copy of the input string.
 - errno is set appropriately for POSIX.  Exceptions involve bad environ
   variable and internal initialization code.  These both set errno to
   EFAULT.

Several patches to base utilities to handle the POSIX changes from
Andrey Chernov's previous commit.  A few I re-wrote to use setenv()
instead of putenv().

New regression module for tools/regression/environ to test these
functions.  It also can be used to test the performance.

Bump __FreeBSD_version to 700050 due to API change.

PR:		kern/99826
Approved by:	wes
Approved by:	re (kensmith)
2007-07-04 00:00:41 +00:00
Andrey A. Chernov
ba174a5e38 Back out all POSIXified *env() changes.
Not because I admit they are technically wrong and not because of bug
reports (I receive nothing). But because I surprisingly meets so
strong opposition and resistance so lost any desire to continue that.

Anyone who interested in POSIX can dig out what changes and how
through cvs diffs.
2007-05-01 16:02:44 +00:00
Andrey A. Chernov
f03351ff2a Prepare for upcoming POSIXed putenv() rewrite:
don't allow putenv() arg be on the stack, replace putenv() with setenv()
2007-04-30 12:27:58 +00:00
Ruslan Ermilov
ee3b44f521 Sync program's usage() with manpage's SYNOPSIS. 2005-02-09 20:36:12 +00:00
Hartmut Brandt
89624a3490 Replace all uses of the old netgraph constants NG_*LEN by the new
constants NG_*SIZ that include the trailing NUL byte. This change
is mostly mechanical except for the replacement of a couple of snprintf()
and sprintf() calls with strlcpy.
2003-11-15 15:26:35 +00:00
Brian Somers
629d0dd5e0 Understand the new NGM_PPPOE_SESSIONID message and set SESSIONID
in the environment to it's value.

Approved by:	archie (after a very cursory glance)
2002-05-14 12:33:40 +00:00
Dag-Erling Smørgrav
d397408818 Usage style sweep: spell "usage" with a small 'u'.
Also change one case of blatant __progname abuse (several more remain)
This commit does not touch anything in src/{contrib,crypto,gnu}/.
2002-04-22 13:44:47 +00:00
Brian Somers
7f77b55938 Handle NGM_PPPOE_ACNAME messages.
Submitted by:	Andre Albsmeier <andre@albsmeier.net>
Approved by:	julian
2002-02-20 15:52:20 +00:00
Warner Losh
71233f4fa4 o __P removal
o use Ansi-style function definitions
2002-02-17 19:09:20 +00:00
Kris Kennaway
219736e4b8 Prototype a function as __printflike() to avoid a FORMAT_AUDIT warning.
MFC after:	1 week
2002-02-04 01:34:52 +00:00
Brian Somers
b5c025b829 Don't leave dodgy looking spaces in HISMACADDR 2001-11-22 04:38:02 +00:00
Brian Somers
49bc93d736 Set HISMACADDR in the environment before envoking ppp.
MFC after:	1 week
2001-11-21 03:29:43 +00:00
Brian Somers
d1c27021a4 Put a parenthesis in the right place (DUH!).
This fixes the apparent immediate client timeout problem.
2001-08-25 23:41:37 +00:00
Brian Somers
321d268b28 Understand that a return value of 0 from NgRecvMsg() means that the
socket was closed.

This prevents erroneous ``Unexpected netgraph version'' from turning
up in the log.
2001-08-24 14:52:38 +00:00
Brian Somers
a63c2b97d7 Don't use SA_RESETHAND here. We gain nothing.
Suggested by: bde
2001-07-31 15:29:50 +00:00
Brian Somers
e9ffffff4b Add a -l flag used to specify a label when no -p flag is given.
Start new sentences on new lines in pppoed.8.

MFC after: 1 week
2001-07-31 11:45:53 +00:00
Brian Somers
7042cfcdd6 Use sigaction() without SA_RESTART rather than signal() so that we
don't block in NgRecvData() after receiving a signal.

MFC after: 1 week
2001-07-31 09:53:20 +00:00
Brian Somers
5d2ed9f13b Remove an extraneous space 2001-07-11 23:02:07 +00:00
Brian Somers
7bc6d0158f Fix the type of the NULL arg to execl()
Idea from: Theo de Raadt <deraadt@openbsd.org>
2001-07-09 09:24:06 +00:00
Julian Elischer
05eff81e04 Add support for advertising the service we support if the
PADI packet contains a NULL service.  This is apparently the desired
behaviour in this case, though we only allow advertising one
service. You could run multiple pppoeds to advertise multiple services.
2000-12-13 00:27:33 +00:00
Brian Somers
b884490bc0 Drop out of our main loop due to a signal rather than handling things in the
signal handler.
Fix a spelling error.

Subtley pointed out by: bde

Make some stuff static
2000-12-04 22:13:30 +00:00
Kris Kennaway
ffd4007070 Format string paranoia 2000-11-19 13:30:36 +00:00
Brian Somers
80e2e6b62f Go back to populating data_len in struct ngpppoe_init_data. 2000-11-16 23:15:42 +00:00
Brian Somers
fbf0385368 Use the new-style ngpppoe_init_data structure.
Approved by: archie
2000-10-31 02:46:12 +00:00
Brian Somers
fd845ee4c3 o Load netgraph.ko, ng_ether.ko and ng_pppoe.ko as required (I'm sure this
used not to be necessary).
o Allow ``-n ngdebug'' to specify something to pass to NgSetDebug()
  and redirect NgSetDebug() output to syslog(8) in daemon() mode.
o Xref ng_ether(8) and NgSetDebug(4).
o Correct the type of the response passed to NgRecvData.
2000-10-03 20:41:00 +00:00
Brian Somers
97cba131dc Add a ``-P pidfile'' option 1999-11-23 00:21:20 +00:00
Brian Somers
dbc7ba8d31 pppoed(8) - a server to accept PPPoE connections 1999-11-21 23:39:14 +00:00