Commit graph

4115 commits

Author SHA1 Message Date
John Polstra 07f643a52b Make a somewhat unsatisfactory attempt to describe the effects of
the RTLD_GLOBAL and RTLD_LOCAL flags which can be passed to dlopen().
2000-09-19 04:02:05 +00:00
Robert Watson 9f3aa35641 o cap_set_flag() was not correctly clearing capabilities when value
was CAP_CLEAR.

Obtained from:	TrustedBSD Project
2000-09-19 00:10:39 +00:00
Gregory Neil Shapiro cf1fec423a Give users a way to alter the sendmail (and related utilities) build
environment so they can enable functionality such as SASL, LDAP, Hesiod.
2000-09-17 00:41:33 +00:00
Poul-Henning Kamp 3cea595248 Pickup SPECNAMELEN from <sys/param.h> and use it.
A missing _PATH_DEVDB ("/var/run/dev.db") is not cause for a warning
anymore, the file is effectively optional these days.
2000-09-16 21:58:53 +00:00
Poul-Henning Kamp fc87418be0 Turn dkcksum() into an __inline function.
Change its type to u_int_16_t.
2000-09-16 13:43:00 +00:00
Ruslan Ermilov 4996f02545 Add -Wmissing-prototypes. 2000-09-15 15:37:16 +00:00
Mike Smith 53ea88cdd1 Teach libdisk about 'aac' 2000-09-13 05:04:48 +00:00
Paul Saab 0c893d623c Change from using poll(2) to kqueue/kevent when waiting for a DNS
response to return.  This will stop processes waiting on DNS requests
from being woken up when a select collision occurs.  This was tested
on mx1.FreeBSD.org (outgoing mail for the FreeBSD.org mailing
lists.)

Reviewed by:	jlemon, peter
2000-09-12 11:37:20 +00:00
Jacques Vidrine 6737f02e97 Set h_errno when an error is encountered.
PR:		bin/21092
Submitted by:	Alexander Kabaev <ak03@gte.com>
2000-09-10 19:06:05 +00:00
Paul Saab 4d3367540c Backout last commit. It was wrong.. *sigh* 2000-09-10 01:17:47 +00:00
Paul Saab 6b9a6703e9 include string.h to silence a warning. 2000-09-10 01:10:15 +00:00
Poul-Henning Kamp 8d25eb2c3a Add code to devname(3) so it can find the names of devices which
were not present when dev_mkdb(8) was run.

First the dev_mkdb(8) database is searched, this caters for non-DEVFS
cases where people have renamed a device.

If that fails we ask the kernel using sysctl kern.devname if the device
driver has put a name in the dev_t.  This covers DEVFS cloned devices.

If that also fails we format a string which isn't entirely useless.
2000-09-09 11:39:59 +00:00
Andrey A. Chernov 86797bf956 Prevent buffer overflow if NLSPATH is too long 2000-09-08 11:42:37 +00:00
Kris Kennaway b777873ec1 Disallow '/' characters in LC_* environment variables which might
be used to point to a bad locale file. This is only believed to be a
minor security risk - the only risk is if some program uses the result
of a localized string as a format specifier in a vulnerable function
like sprintf(). No such code is believed to exist in the FreeBSD base
system, although it is possible that badly written third party code
would do that.

Submitted by:	imp
Approved by:	ache
2000-09-08 07:29:48 +00:00
Jacques Vidrine cb0600bd54 Fix getipnodebyname(3) bug.
Submitted by:	ume
2000-09-07 02:18:22 +00:00
Jacques Vidrine 248aee623c Add nsswitch support. By creating an /etc/nsswitch.conf file, you can
configure FreeBSD so that various databases such as passwd and group can be
looked up using flat files, NIS, or Hesiod.

= Hesiod has been added to libc (see hesiod(3)).

= A library routine for parsing nsswitch.conf and invoking callback
  functions as specified has been added to libc (see nsdispatch(3)).

= The following C library functions have been modified to use nsdispatch:
    . getgrent, getgrnam, getgrgid
    . getpwent, getpwnam, getpwuid
    . getusershell
    . getaddrinfo
    . gethostbyname, gethostbyname2, gethostbyaddr
    . getnetbyname, getnetbyaddr
    . getipnodebyname, getipnodebyaddr, getnodebyname, getnodebyaddr

= host.conf has been removed from src/etc.  rc.network has been modified
  to warn that host.conf is no longer used at boot time.  In addition, if
  there is a host.conf but no nsswitch.conf, the latter is created at boot
  time from the former.

Obtained from:	NetBSD
2000-09-06 18:16:48 +00:00
Andrey A. Chernov 60cff0a75c Add .El 2000-09-06 16:52:01 +00:00
Mike Smith 6910d080a2 Expose the NFS root node, so that an evil consumer can use it to get the
NFS filehandle for the root mount.
2000-09-05 22:11:41 +00:00
Andrey A. Chernov 89817a4122 Document %-macros and NLSPATH better. 2000-09-05 19:14:34 +00:00
Andrey A. Chernov f3ed913592 Fully implement NLSPATH processing as described in SUSv2 2000-09-05 14:04:21 +00:00
Alexey Zelkin 316321ebdf Oops! don't set errno to ENOMEM explicitly if malloc() failed.
Found by:	ache
2000-09-05 12:23:08 +00:00
Mike Smith ba20acfdb2 Implement readahead buffering for non-raw files. This drastically improves
the efficiency of byte-by-byte read operations on filesystems not already
supported by the block cache (especially NFS).

This should be a welcome change for users booting via PXE, as the loader
now reads its startup files almost instantly, instead of taking tens of
seconds.
2000-09-05 09:52:50 +00:00
Peter Wemm 7aa1d9cd4a Remove the SIGSYS handler and wrapper around the __getcwd() syscall.
It was kinda silly since the sigaction() syscall that it used to setup
the handler is more recent than __getcwd(), therefore it was useless
as the wrapper would have died before even getting as far as __getcwd(2).

Reminded by:	bde
2000-09-05 09:35:36 +00:00
Peter Wemm 8cae7cc3d6 Yank out the NOPOLL conditionals. libc_r no longer needs it, and this
library depends on other things that come *way* later than poll() now
(sigset size changes in particular)
2000-09-04 21:28:16 +00:00
Warner Losh f741619cb2 Use .St -susv2 rather than "The Single UNIX Specification".
Submitted by: sheldonh
2000-09-04 15:38:58 +00:00
Alexey Zelkin 7dc5eb443d * move $FreeBSD$ tag to its usual place (bottom of copyright)
* mdoc cleanup
* document missing errno values (ERRORS section)

Reviewed by:	sheldonh
2000-09-04 13:20:56 +00:00
Alexey Zelkin 49b8dd0db5 Finaly cleanup libc/nls code:
* rewrite catopen() to remove duplicate code chunks and optimize
* if empty string is passed to catopen() as name argument then
   catopen() will set errno to ENOENT (File not found), not EINVAL
* move search code to LOOKUP() macro to shrink amount of duplicated code
* move common resource freeing actions to __nls_free_resources() function
* exclude from build code related to MCLoadAll defintion since it is not
  using at all
* style(9) related whitespace changes

Reviewed by:	ache
2000-09-04 12:09:40 +00:00
Peter Wemm 8cfadb8904 Constify the arg to logout(3). It is const-safe.
(cosmetic: drop some "register" qualifications too.)
2000-09-04 08:13:49 +00:00
Warner Losh 5f7da319ab Get errno from <errno.h>, not from extern int.
Add $FreeBSD$ to hopefully the right place.
2000-09-04 03:54:23 +00:00
Warner Losh e9d918edb6 Don't print an error message if the bad option is '?'. This has been
in my tree for a long time.  bde reviewed this once upon a time and
said it was OK, iirc.  This also obviates the need to put ? in the
optstring argument to preclude the extra warning message which some
people think confuses users.  When I made my getopt cleanups of a long
time ago, this was the compromise reached.  I just neglected to commit
it until now.
2000-09-04 03:49:22 +00:00
Warner Losh 12b92015dd The comparison against 0 should be against LC_ALL. category isn't a
boolean and it is LC_ALL that's special.

Someone submitted this to me a long time ago, but I can't find the
mail now.
2000-09-04 03:43:24 +00:00
Warner Losh 71300cb5db Soften the statement about select's timeout argument. This part of
the system likely won't change in the future, but the warning is a
good idea.
2000-09-04 03:32:30 +00:00
Andrey A. Chernov 08ba69b8a4 Rewrite using stdio. It cause program speedup since eliminates lots of small
read() syscalls.  It not cause static binary size increasing because stdio
already picked via setlocale() called from catopen()
2000-09-03 21:05:10 +00:00
Andrey A. Chernov e426928478 Add:
The implementation will behave as if no library function calls strtok().
2000-09-03 13:24:28 +00:00
Peter Wemm 06a3891a49 Make libstand compile 2000-09-03 11:29:18 +00:00
Brian Somers 1357c5d3cc setproctitle() requires unistd.h and not libutil.h/-lutil 2000-09-02 02:25:34 +00:00
Brian Somers 9feac5c218 Move setproctitle() from libutil to libc (after a repo-copy)
and bump __FreeBSD_version to 500012 to mark the occasion.

setproctitle() is prototyped in unistd.h as opposed to stdlib.h
where OpenBSD and NetBSD have it.

Reviewed by: peter
2000-09-02 01:51:36 +00:00
Ruslan Ermilov 76e6ebd64e Match IPPROTO_ICMP with IP protocol field of the original IP
datagram embedded into ICMP error message, not with protocol
field of ICMP message itself (which is always IPPROTO_ICMP).

Pointed by:	Erik Salander <erik@whistle.com>
2000-09-01 16:38:53 +00:00
Andrey A. Chernov 56338d5acb Treat empty lang as "C" lang too 2000-09-01 13:19:18 +00:00
Alexey Zelkin a8a87cc61b Set rcsid to correct value
Resort #include files
Remove SYSV compatibility chunks
2000-09-01 12:19:00 +00:00
Alexey Zelkin 2873532b59 protect .h file contents correctly. 2000-09-01 12:13:33 +00:00
Alexey Zelkin 6b9175e062 Remove unused indirect references to cat* functions. 2000-09-01 12:10:59 +00:00
Alexey Zelkin a367b9700f Fix memory leak introduced by kris in rev 1.22 2000-09-01 11:56:31 +00:00
Andrey A. Chernov 460b926285 setlocale may return NULL, handle this case too by resetting to "C" 2000-09-01 11:13:38 +00:00
Andrey A. Chernov 016de69d9e Move protection code down to handle NL_CAT_LOCALE case too. 2000-09-01 11:09:34 +00:00
Andrey A. Chernov 53d620a5fb Protect from badly formed LANG variable 2000-09-01 10:54:04 +00:00
Ruslan Ermilov 816fa7febc Changed the way we handle outgoing ICMP error messages -- do
not alias `ip_src' unless it comes from the host an original
datagram that triggered this error message was destined for.

PR:		20712
Reviewed by:	brian, Charles Mott <cmott@scientech.com>
2000-09-01 09:32:44 +00:00
Dag-Erling Smørgrav 1250db8139 Import XPG4-compliant basename(3) and dirname(3) from OpenBSD.
The man pages need some adjustments.

PR:		12960, 12962
Submitted by:	James Howard <howardjp@wam.umd.edu>
Obtained from:	OpenBSD
2000-08-31 15:56:15 +00:00
Dag-Erling Smørgrav 2e83f63844 Document the FTP_PROXY and HTTP_PROXY variables better. 2000-08-31 15:13:22 +00:00
Ruslan Ermilov 0ac308534e Grab ADJUST_CHECKSUM() macro from alias_local.h. 2000-08-31 12:54:55 +00:00
Ruslan Ermilov 305d10699e Create aliasing links for incoming ICMP echo/timestamp requests.
This makes outgoing ICMP echo/timestamp replies to be de-aliased
with the right source IP, not exactly the primary aliasing IP.
2000-08-31 12:47:57 +00:00
Andrey A. Chernov b9b68e50dc catgets: detect if fd becomes invalid after exec and return default response
cosmetique, use NULL for pointers comparison
2000-08-30 11:44:44 +00:00
Andrey A. Chernov d8283f6866 Explicetely describe catalog descriptor lifetime 2000-08-30 10:22:23 +00:00
Andrey A. Chernov 6428802638 Replace strtok with strsep (strtok is not allowed in libraries)
Approved by:	markm
2000-08-30 06:26:42 +00:00
Andrey A. Chernov c515991040 strtok -> strsep (no strtok allowed in libraries) 2000-08-29 21:49:11 +00:00
Andrey A. Chernov d9e630b592 strtok -> strsep (no strtok allowed in libraries)
add unsigned char cast to ctype macro
2000-08-29 21:34:55 +00:00
Andrey A. Chernov 67ab6e9844 strtok() -> strsep() (no strtok() in libraries allowed)
small cleanup in nearby area:
pointer 0 -> NULL, according to manpages
hardcoded constant -> sizeof(buf)
2000-08-29 21:04:07 +00:00
David Malone ad8c1e6a09 According to the susv2 man pages I have, remove(3) should act as
rmdir(2) on directories and unlink(2) otherwise. This modification,
and most of the man page update has been obtined from OpenBSD. This
was spotted by someone on a mailing lists a few months ago, but
I've lost their mail.

Reviewed by:	sheldonh
2000-08-28 15:45:42 +00:00
Nick Hibma 25d1d43d78 Sync with NetBSD:
Print unknown usages with 4 digits.
Mask in page extraction.
2000-08-26 13:53:27 +00:00
Brian Feldman da140a0594 Still have to support libscrypt for now :( Add #defines to take DES
out for it.
2000-08-24 17:51:16 +00:00
Jeroen Ruigrok van der Werven de4b2114a4 Add weak symbol pragma for crypt_set_format().
Approved by:	green
2000-08-23 11:54:10 +00:00
Jason Evans f3ee83c3bf The second call to _thread_kern_sig_defer() in sem_post() should be a call
to _thread_kern_sig_undefer().
2000-08-23 07:59:50 +00:00
Brian Feldman c2534fa193 Stick login_setcryptfmt() in its own file to make pulling in of
-lcrypt only happen if truly necessary.
2000-08-23 03:45:57 +00:00
John Baldwin 183012b423 The API change mentioned in the previous revision has been backed out, so
back out the corresponding documentation.

Noticed by:	brian, ume
2000-08-22 21:50:03 +00:00
Brian Feldman 3a1030f458 How did you sneak in... 2000-08-22 02:17:54 +00:00
Brian Feldman 04c9749ff0 Add working and easy crypt(3)-switching. Yes, we need a whole new API
for crypt(3) by now.  In any case:

Add crypt_set_format(3) + documentation to -lcrypt.
Add login_setcryptfmt(3) + documentation to -lutil.
Support for switching crypt formats in passwd(8).
Support for switching crypt formats in pw(8).

The simple synopsis is:
edit login.conf; add a passwd_format field set to "des" or "md5"; go nuts :)

Reviewed by:	peter
2000-08-22 02:15:54 +00:00
John Baldwin 4f9d9dc272 Remove duplicate FreeBSD id tags. 2000-08-21 21:05:44 +00:00
Dag-Erling Smørgrav ea014d857f Grok 125 replies to passive RETR. This fixes an interoperability bug with
Microsoft FTP Service.

Reported by:	asmodai, eivind
2000-08-21 07:18:31 +00:00
Archie Cobbs c387a49c7c Fix two bugs:
- The ftpPassive()
2000-08-17 23:46:13 +00:00
Brian Feldman 8ca723793a Fix style bugs (including ones introduced from OpenBSD). 2000-08-16 23:37:16 +00:00
Ruslan Ermilov a05f06d79f Fixed PunchFW code segmentation violation bug.
Reported by:	Christian Schade <chris@cube.sax.de>
2000-08-14 15:24:47 +00:00
Ruslan Ermilov b834663f47 Use queue(3) LIST_* macros for doubly-linked lists. 2000-08-14 14:18:16 +00:00
Alfred Perlstein 022daa34f2 Fix an off-by-one error in the recursive mutex handling that made it
prematurely release recursive mutexes.

Test case provided by: Bradley T. Hughes <bhughes@trolltech.com>
Reviewed by: deischen
2000-08-13 01:30:36 +00:00
Gregory Neil Shapiro 88c75941e6 The rest of the changes needed to support the new version of sendmail (8.11.0).
Beyond changes to the build system, this includes fixing up the sample
freebsd.mc configuration for changes in defaults and syntax, removing
outdated documentation, and updating the release notes.
2000-08-12 22:39:25 +00:00
Yoshihiro Takahashi 552112cadd - Added support for installing boot0 and boot0.5 for PC-98.
- Cosmetic changes.
2000-08-12 14:20:31 +00:00
Peter Wemm 6d93919795 Add the -mpreferred-stack-boundary=2 option to reduce code bloat. We
compile the kernel with this.
2000-08-11 23:18:37 +00:00
Paul Saab 646cf5017b Add support to send the string 'PXEClient' as the Vendor class
identifier to the DHCP server.  Now you can check for this string
in your dhcp configuration to decide whether you will hand out a
lease to the client or not.
2000-08-11 08:36:17 +00:00
Hajimu UMEMOTO 2368b03bf4 Don't retry connecting via the same medium.
I changed to close to original code before merging IPv6 support.
It seems having delay before another try is useless.  However, I'm
not sure that delay means.  So, I leave it as-is.

PR:		bin/20515
2000-08-10 17:10:57 +00:00
Jun-ichiro itojun Hagino 1bf6f71909 mention getipnodeby* and get{addr,name}info are not thread-safe. (sync with kame)
s/.Os KAME/.Os/
comment From: Greg Thompson
2000-08-09 23:16:23 +00:00
Ruslan Ermilov 0eb10a0963 - Do not modify Peer's Call ID in outgoing Incoming-Call-Connected
PPTP control messages.

- Cosmetics: replace `GRE link' with `PPTP link'.

Reviewed by:	Erik Salander <erik@whistle.com>
2000-08-09 11:25:44 +00:00
Kelly Yancey 7e32b20d95 This is an overhaul of the mode page handling in camcontrol as well as
related patches. These include:
	* Mode page editting can be scripted. This involves two
	  things: first, if stdin is not a tty, changes are read from
	  stdin rather than invoking $EDITOR. Second, and more
	  importantly, not all modepage entries must be included in the
	  change set. This means that camcontrol can now gracefully handle
	  more intrusive editting from the $EDITOR, including removal or
	  rearrangement of lines. It also means that you can do stuff
	  like:
		# echo "WCE: 1" | camcontrol modepage da3 -m 8 -e
		# newfs /dev/da3
		# echo "WCE: 0" | camcontrol modepage da3 -m 8 -e
	* Range-checking on user-supplied input values. modeedit.c now
	  uses the field width specifiers to determine the maximum
	  allowable value for a field. If the user enters a value larger
	  than the maximum, it clips the value to the max and warns the
	  user. This also involved patching cam_cmdparse.c to be more
	  consistent with regards to the "count" parameter to arg_put
	  (previously is was the length of strings and 1 for all integral
	  types). The cam_cdbparse(3) man page was also updated to reflect
	  the revised semantics.
	* In the process, I removed the 64 entry limit on mode pages (not
	  that we were even close to hitting that limit). This was a nice
	  side-effect of the other changes.
	* Technically, the new mode editting functionality allows editting
	  of character array entries in mode pages (type 'c' or 'z'),
	  however since buff_encode doesn't grok them it is currently
	  useless.
	* Camcontrol gained two new options related to mode pages: -l and
	  -b. The former lists all available mode pages for a given
	  device. The latter forces mode page display in binary format
	  (the default when no mode page definition was found in
	  scsi_modes).
	* Added support for mode page names to scsi_modes. Allows names to
	  be displayed alongside mode numbers in the mode page
	  listing. Updated scsi_modes to use the new functionality. This
	  also adds the semicolon into the scsi_modes syntax as an
	  optional mode page definition terminator. This is needed to name
	  pages without providing a page format definition.
	* Updated scsi_all.h to include a structure describing mode page
	  headers.
	* Added $FreeBSD$ line to scsi_modes.

Inspired by:	dwhite
Reviewed by:	ken
2000-08-08 06:24:17 +00:00
Brian Feldman 4f0682b0f3 If using a DB_RECNO, db::put should return the new key if R_IAFTER is
set, not the previous key.

Add $FreeBSD$, not taking this off the vendor branch because it's not on.
2000-08-08 05:20:57 +00:00
Yoshihiro Takahashi 9ede9bda28 - Fixed warnings and typo.
- Recognize slice type 0x24 as FAT (only PC-98).

Submitted by:	Nobuyuki Koganemaru <kogane@koganemaru.co.jp>
2000-08-08 04:01:51 +00:00
Jason Evans f8842c0a18 kevent() is not a POSIX cancellation point, so _kevent() need not be
defined.

Remove some unnecessary header file inclusions.
2000-08-08 00:12:35 +00:00
Jonathan Lemon 532c92a865 Add wrapper for kevent() syscall
Noted as missing by: nicolas.leonard@animaths.com
2000-08-07 16:51:56 +00:00
Jonathan Lemon b275c430a5 Document return value of ENOENT for nonexistent/invalid filter entries. 2000-08-07 16:47:35 +00:00
Ruslan Ermilov 934a4fb381 Adjust TCP checksum rather than compute it afresh.
Submitted by:	Erik Salander <erik@whistle.com>
2000-08-07 09:51:04 +00:00
Yoshihiro Takahashi ce7ca0624c Don't use kern.disks sysctl on PC-98 because the wd driver doesn't call
disk_create() function.
2000-08-07 02:14:44 +00:00
Brian Feldman 1da729a59e Good, fixing the header showed incorrect usage of it! #define _KERNEL
here for the include of sys/select.h.
2000-08-06 17:03:09 +00:00
Ben Smithurst d9b1c37c3b Fix description of argv[0] passed to interpreted scripts; it's the name of
the interpreter, _not_ the argv[0] passed in the original exec() call.
2000-08-05 16:38:24 +00:00
Kris Kennaway 84b578d562 Prevent internal buffer overflow due to expansion of $LANG and/or name
argument in catopen().

Reviewed by:	chris, -audit
2000-08-05 04:56:43 +00:00
Ruslan Ermilov 6c388e8448 src/Makefile.inc1 sets DESTDIR=${WORLDTMP} for `buildworld' stage
causing pre-processed manual pages, like terminfo(5), to point to
the temporary build tree.
2000-08-04 15:38:32 +00:00
Kris Kennaway 9c9c8212ca Return an error instead of overflowing the buffer in the case of a long
$HOME in ruserpass()
2000-08-04 11:15:48 +00:00
Kris Kennaway 63c21920f9 Calculate the string length of a u_long at compile-time, instead of using a
hardcoded value.
2000-08-04 11:07:57 +00:00
Kris Kennaway dec5f6ac42 Correct factor-of-10 error in INT_STRLEN_MAXIMUM() calculation. 2000-08-04 11:03:20 +00:00
Kris Kennaway 683544bd3e Correct string length bounds checking. 2000-08-04 10:53:37 +00:00
Kris Kennaway 099d883225 Prevent TMPDIR overflow. 2000-08-04 10:50:21 +00:00
Kris Kennaway f1c418cfd4 Don't overflow the internal buffer in clnt_sperror() 2000-08-04 10:34:59 +00:00
Kris Kennaway 8f6d480067 sprintf -> snprintf paranoia 2000-08-04 10:23:42 +00:00
Kris Kennaway ba3c0383aa Limit the amount of data copied to the error buffer to _POSIX2_LINE_MAX.
This is the documented size which the user-provided buffer must be.
2000-08-04 09:23:07 +00:00
Kris Kennaway cd79a42a80 Prevent buffer overflows. 2000-08-04 06:25:30 +00:00
John Baldwin 13ba80d4ce Cleanup warnings by adding missint prototypes, removing unneeded duplicate
prototypes, and adding in several 'const's.  Also, add some missing
$FreeBSD$'s.

Found by:	BDECFLAGS
2000-08-03 09:08:29 +00:00
Dag-Erling Smørgrav be6aff992d Fix signedness bogon. 2000-08-02 11:25:21 +00:00
Jason Evans b167c9a5c1 Make sem_post() safe to call from within a signal handler, as required by
POSIX/SUSv2.
2000-08-01 21:19:09 +00:00
Peter Wemm 41cbed694a Revert the temporary hack in rev 1.79. 2000-08-01 18:50:29 +00:00
Paul Saab 305ad8f908 If the format string passed to setproctitle begins with a '-'
character, skip the program name when setting the process title.
Ansified with extreme prejudice.

Reviewed by:	peter
2000-08-01 06:37:09 +00:00
Sheldon Hearn 71845bffc3 Whitespace only:
Fix an overlong line and trailing whitespace that crept in, in the
previous commit.
2000-07-31 13:49:21 +00:00
Peter Wemm 5cb2354662 Add pointers to rfork_thread(3) 2000-07-31 05:43:43 +00:00
Peter Wemm db3c6b6b22 Add a skeleton rfork_thread(3) man page. 2000-07-29 12:12:39 +00:00
Peter Wemm 13dfe2f092 Take a shot at implementing a functional rfork_thread() for alpha. This
was not fun and I am not entirely certain of the correctness, but it seems
to work.  (in fact, side by side testing of this code vs the x86 version
turned up hidden bugs in the x86 code).
2000-07-29 11:43:21 +00:00
Peter Wemm ea3d353444 Fix some rather interesting bugs that managed to not turn up in various
testing and real-life applications:
1) If you returned from the thread function, you got a segv instead of
  calling _exit() with your return code.
2) clean up some bogus stack management.  There was also an underflow
  on function return.
3) when making syscalls, the kernel is expecting to have to leave space
  for the function's return address.  We need to duplicate this.  It was
  an accident that the rfork syscall actually worked here. :-/
2000-07-29 11:34:01 +00:00
Peter Wemm c932e5d18f rfork(2) wrapper for simple rfork-style threads. I have lost count of
the number of times I have given this to people and got asked: why isn't
it in libc?  It is impossible to do this without assembler glue to reset
the stack for the new child process.

int rfork_thread(flags, stack_addr, start_fnc, start_arg)
int flags;                 Flags to rfork system call.  See rfork(2).
void *stack_addr;          Top of stack for thread.
int (*start_fnc)(void *);  Address of thread function to call in child.
void *start_arg;           Argument to pass to the thread function in child.

This is deliberately not documented or prototyped in includes until the
corresponding alpha version is written.
2000-07-29 07:14:04 +00:00
Peter Wemm 00bc791d86 Deal with the exit entry in MIASM changing to sys_exit.
This Is A Hack(TM).
2000-07-29 00:28:44 +00:00
Andrey A. Chernov e796fe86bc Teach library about Home/End keys 2000-07-28 00:42:54 +00:00
Andrey A. Chernov 059b139f43 Fully preserve original tty settings outside of line edition mode. Old variant
preserve them only partially, so tty state becomes different after el_*
functions used.

PR:		20138
2000-07-28 00:07:40 +00:00
Andrey A. Chernov 5af16a0159 Move terminal descriptor flush before stty to eliminate potential problems
whith characters conversion changed like \n -> \r\n and so on.
2000-07-27 23:58:35 +00:00
Dag-Erling Smørgrav 0f27c7838c Don't fail if _ftp_stat() reports a protocol error, since that most likely
means that the server doesn't understand SIZE or MDTM, which should not be a
hard failure.

Submitted by:	ume
2000-07-27 08:48:48 +00:00
Andrey A. Chernov 1c9ccb6f8e Fix temp. singnals blocking. Only one signal was blocked due to typo pasted
many times.
2000-07-26 23:46:28 +00:00
Archie Cobbs 642e43b39b Add address translation support for RTSP/RTP used by RealPlayer and
Quicktime streaming media applications.

Add a BUGS section to the man page.

Submitted by:	Erik Salander <erik@whistle.com>
2000-07-26 23:15:46 +00:00
Matthew Dillon 01ba8e704f MFC 1.11.2.3 from -stable to -current 2000-07-25 18:50:22 +00:00
Dag-Erling Smørgrav 63428824c9 If the server reports the size as 0, treat it as unknown. This works around
a bug in some ftp servers (most notably ftp.vmunix.com) which report the
size of a file correctly in ascii mode, but report it as 0 in binary mode.

Reported by:	asmodai

Also remove an unneeded initialization.
2000-07-25 14:41:02 +00:00
Dag-Erling Smørgrav 10851dc4ad Centralize the default port finding code.
Work around YA Apache bug: don't send port in Host: header if it's the
default port.
2000-07-25 11:45:38 +00:00
Sheldon Hearn 3c63f48c66 Clean up some nits, with the permission of the author:
* Grammar fixes.
  * Mark up rfork and vnode as cross-references.
  * Clarify the use of the RFFDG flag to rfork(2).
2000-07-24 18:03:53 +00:00
Sheldon Hearn 8072ee08a9 Remove the reference to KERN_UPDATEINTERVAL and syncer(4), since
KERN_UPDATEINTERVAL can't be used to control sched_sync().  In
fact, there's no easy way to control the syncer with sysctls.

Reported by:	bde
2000-07-22 15:36:36 +00:00
Dag-Erling Smørgrav c78f1cc912 Ignore environment variables that are set but empty.
Sort out the size / length confusion.  Always try to report the *real* file
size in the url_stat structure, no matter how much of it is actually being
sent, and try to detect inconsistencies between sizes.

Rearrange the request loop to avoid having to add meaningless code just to
silence compiler warnings.

Switch to a more sensible and consistent interface for the _http_parse*()
functions.
2000-07-21 11:02:43 +00:00
Dag-Erling Smørgrav e0a9ca38aa Document the proxy support better. 2000-07-21 10:57:15 +00:00
Dag-Erling Smørgrav dfe7c55fcc The decision to use an HTTP proxy for FTP documents belongs in the FTP code 2000-07-21 10:46:22 +00:00
Dag-Erling Smørgrav 2e88106bd1 Don't send port number to proxy unless it's not the standard FTP port 2000-07-21 10:25:33 +00:00
Doug Rabson 678ef1b49e Call _thread_init() from pthread_once() if it has not already been called.
This fixes a segfault in some C++ programs which use exceptions before
main() has been called (i.e. from global constructors).

Reviewed by: deischen
2000-07-21 09:31:13 +00:00
Jason Evans 61e4108c41 Use _close() instead of close() in addrconfig() to keep it from becoming a
potential cancellation point in libc_r.
2000-07-21 04:22:39 +00:00
David E. O'Brien 00a5a11605 Fix problem where original author thought `unsigned long' was the best
32-bit type (rather than define his own type based on the type of box
being compiled on).

Submitted by:	Mark Abene <phiber@radicalmedia.com>
		(however I applied a slightly different fix)
2000-07-20 20:11:36 +00:00
Hajimu UMEMOTO c98e299e93 Copy canonname for *ahost, into static buffer.
Obtained from:	KAME Project
2000-07-20 18:49:35 +00:00
Alfred Perlstein 372e9eb0af use .Pp instead of faking it with an extra newline
Pointed out by: sheldonh
2000-07-20 11:05:52 +00:00
Alfred Perlstein f47d88b0b7 document get/set sockopt usage with accept_filter(9) 2000-07-20 10:33:08 +00:00
Brian Somers 732d07e535 Alocate rcmd{,_af}()'s *ahost argument using malloc() (well
strdup()) rather than pointing it at something that's free()d
(via freeaddrinfo(res)) before the function returns.

I appreciate that this is an API change, but it's the only way
(AFAIK) of doing this without breaking existing code that uses
rcmd{,_af}().

Pointed out by: phkmalloc
2000-07-20 09:05:15 +00:00
Dag-Erling Smørgrav 5e3f46b51a Fix the case where the file name is preceded by a lone slash. 2000-07-20 02:03:56 +00:00
Dag-Erling Smørgrav 87b41116cc Don't try to skip to the requested offset if the server returns more data
than requested.  Instead, inform the caller of the real offset by modifying
the offset field in the original struct url, and let him decide how to handle
the situation.
2000-07-19 23:43:49 +00:00
Jason Evans c1110eb673 pthread_once --> pthread_once_t. 2000-07-19 16:38:07 +00:00
Sheldon Hearn a6b651021d Update stale references to update(4) with references to the new
syncer(4) manual page.
2000-07-19 07:39:08 +00:00
Hajimu UMEMOTO 05c36511b9 To define A RR to root (.) is valid in DNS. So, h_name = "" shouldn't
be treated as NULL.

PR:		bin/19816
Submitted by:	Bill Fenner <fenner@research.att.com>
Reviewed by:	Atsushi Onoe <onoe@sm.sony.co.jp>
2000-07-19 06:22:01 +00:00
Archie Cobbs 6e64168369 Const'ify parameters to ethers(3) routines as appropriate. 2000-07-18 22:44:52 +00:00
Jonathan Lemon a8e65b915e Simplify kqueue API slightly.
Discussed on:	-arch
2000-07-18 19:31:52 +00:00
Sheldon Hearn 93238a0c40 Substitute UT_NAMESIZE for 8 when truncating long usernames.
PR:		19886
Reported by:	Gregory Bond <gnb@itga.com.au>
2000-07-18 11:32:27 +00:00
Sheldon Hearn 47e05f6091 Fix header inclusions in preparation for a fix for PR 19886.
The CVS Id tag FreeBSD was added to satisfy commit_prep.pl.
2000-07-18 11:29:13 +00:00
Alexander Langer 6e145859ff Drop the references to index(3) and rindex(3), which are non-standard
and people shouldn't be encouraged to use them.

Asked by:	sheldonh
2000-07-18 08:05:11 +00:00
Dag-Erling Smørgrav 269532d987 Don't take a failure to stat a file to mean that it doesn't exist, as it may
be a dynamically created file, e.g. a tarball on servers that support sending
tarballs of directories.
2000-07-18 07:12:26 +00:00
Jason Evans 8e234adf86 Change my email address in the copyright notices for the sake of consistency
(jasone@canonware.com --> jasone@freebsd.org).
2000-07-18 01:38:19 +00:00
Jason Evans 390a1cd5eb Deal correctly with statically initialized condition variables in
pthread_cond_signal(), pthread_cond_broadcast(), and pthread_cond_timedwait().

Do not dump core in pthread_cond_timedwait() (due to a NULL pointer
dereference) if attempting to wait on an uninitialized condition variable.

PR:	bin/18099
2000-07-17 22:55:05 +00:00
Jason Evans 82db3da3e1 Reshuffle the SEE ALSO section.
Prompted by:	sheldonh
2000-07-17 22:33:32 +00:00
Dag-Erling Smørgrav 1a5faa1061 Introduce fetchXGet*(), which combine the functionalities of fetchGet*() and
fetchStat*().  In most cases, either fetchGet*() or fetchXGet*() is a wrapper
around the other; in all cases, calling fetchGet*() is identical to calling
fetchXGet*() with the second argument set to NULL.
2000-07-17 21:25:00 +00:00