Commit Graph

2578 Commits

Author SHA1 Message Date
christos 81e0d2b0af Add an example program that tests rexecd... I really don't want to encourage
its use though.
2005-02-23 01:27:32 +00:00
christos 62136d5653 PAMify: From John Nemeth with fixes from me. 2005-02-23 01:25:50 +00:00
christos 5029779902 Add pam glue. 2005-02-20 08:52:10 +00:00
christos 216d8f75cc Add missing goto badlogin; noticed by: Hisashi T Fujinaka 2005-02-20 06:11:51 +00:00
christos 6b2a62b742 PAMify. 2005-02-20 05:45:55 +00:00
christos 99fd5044d3 Add PAM and LOGIN_CAP support. Mostly from FreeBSD. If pam is defined,
then we don't fall back to other authentications even if PAM fails due
to a system error (e.g. configuration problem).
2005-02-20 01:45:17 +00:00
agc f27acbf4fc Make this compile after the de-__Ping round. 2005-02-06 17:30:33 +00:00
perry 4b90129081 de-__P, ANSIfy function declarations, remove obsolete "register" declarations. 2005-02-06 05:58:20 +00:00
perry 4c57dc9906 de-__P, ANSIfy function declarations, remove obsolete "register" declarations. 2005-02-06 05:11:52 +00:00
martin d7931a6191 Quote symbol names in a debug message (to make it easier to spot an empty
symbol name, a common failure mode)
2005-01-11 21:58:27 +00:00
martin d977618dcf Backout -DDEBUG that I accidently commited with the last change 2005-01-11 07:47:37 +00:00
ginsbach e793dd138a Fix thinko with last commit. 2005-01-10 19:01:09 +00:00
lukem 1e281ed227 Only #define HAVE_IPV6 if ${USE_INET6} != "no". 2005-01-10 03:11:17 +00:00
lukem 7157011597 Only compile in IPv6 support if ${USE_INET6} != "no"
MKINET6 is for providing IPv6 infrastructure.
USE_INET6 is for compiling IPv6 support into the programs (needs MKINET6).
2005-01-10 02:58:58 +00:00
martin 0a1196da3e Add LD_BIND_NOW support for sparc and remove some relocation types that
are not supposed to happen in 32bit code.
From Nick Hudson.
2005-01-09 14:58:15 +00:00
simonb c364c98f98 Don't process DT_DEBUG on MIPS as the dynamic section is mapped
read-only.  DT_MIPS_RLD_MAP is used instead.

Patch from Nick Hudson.
2005-01-09 12:43:23 +00:00
ginsbach 3596f57f42 ANSIfy; de-__P(); use STD*_FILENO rather than `magic' numbers 2005-01-08 03:14:02 +00:00
lukem 53eddbb6b4 Reorder some declarations so that parsers generated by bison can compile.
Fix from Michael Richardson.
2005-01-05 10:31:27 +00:00
martin 995d8a8e4b Add support for unaligned relocs on sparc, from PR 26858.
Should also fix PR 25901 and PR 18296.
2005-01-05 09:18:53 +00:00
martin 35130888e4 Add LD_BIND_NOW support for sparc64. 2005-01-05 09:16:03 +00:00
lha a0dab7aa39 Move linking with libdes to the common kerberos section since
libtelnet depends on the old des functions.

From Jukka Salmi in NetBSD pr misc/28727
2004-12-22 01:25:05 +00:00
mycroft ac7236712a ELF32_ST_TYPE -> ELF_ST_TYPE 2004-12-17 10:53:27 +00:00
skrll 38fb01be3a Apply fixes from Charles:
- Fix how _rtld_relocate_nonplt_self deals with REL32 relocations.

- Change the assert so that it is correct for binutils 2.14 and 2.15.

There are still problems with the libraries generated with binutils 2.15,
but at least ld.elf_so doesn't crash.
2004-12-15 10:26:29 +00:00
christos d465dbd49e change _PATH_FOO to _NAME_FOO where FOO is not a path. I'll discuss with
luke what is the best way to fix this.
2004-12-11 18:37:26 +00:00
ginsbach 93b00943e9 Fix inverted test for expired passwords. Mea culpa. 2004-12-09 20:58:39 +00:00
christos 2b9d36c223 PR/28473: Jed Davis: telnetd loses data and corrupts crypto state due to
typo in use of poll(). There was an && instead of an & (hi charles)
2004-11-30 04:13:43 +00:00
ginsbach 0211645da7 * Don't allow accounts with age expired passwords to login. Any account
that is required to change their password will not be allowed FTP
  access.  Inspired by similar functionality in other FTP daemons.
  (approved by lukem)

* Crank version to 20041119 per lukem's request.
2004-11-19 16:03:58 +00:00
soren c7dab32bb3 The /bin/rmail compat link has been in several major releases now. 2004-11-17 00:33:45 +00:00
itojun da88342476 NI_WITHSCOPEID was not picked up by IETF standardization process 2004-11-16 06:04:12 +00:00
christos c2edf6628e Oops, always store a full struct sockaddr_storage. 2004-11-15 21:01:18 +00:00
christos b904cdf4f6 - use sockaddr_storage directly.
- socklen_t instead of int.
- check ss_len for validity.
- pass -a to login so that it can record the address we've logged in from.
- constify.
2004-11-15 20:45:52 +00:00
christos 8b4b693dbe Pass -a [srrvis'd struct sockaddr] to login, so that login can record the
address where we have logged in from.
2004-11-14 18:07:56 +00:00
yamt 096fec04a9 move pf reachover makefiles into usr.sbin/pf. ok'ed by itojun.
before:
	sbin/pfctl
	usr.sbin/authpf
	usr.sbin/spamdb
	libexec/ftp-proxy
	libexec/spamd
	libexec/spamd-setup
	libexec/spamlogd
after:
	usr.sbin/pf/pfctl
	usr.sbin/pf/authpf
	usr.sbin/pf/spamdb
	usr.sbin/pf/ftp-proxy
	usr.sbin/pf/spamd
	usr.sbin/pf/spamd-setup
	usr.sbin/pf/spamlogd
2004-11-11 11:54:51 +00:00
yamt ce23bf1813 reduce diffs from the original, using dummy impl. of openlog_r and syslog_r. 2004-11-11 11:27:34 +00:00
yamt 7bd6643839 add a comment for ipf.c 2004-11-11 10:30:13 +00:00
yamt 93086a3d8d revert a function rename/move.
this kind of change is not appropriate for sources under dist/.
2004-11-11 09:49:59 +00:00
christos 3b40bfaefe Don't write trash in ut_ss; either initialize it to 0, or put in the proper
information.
2004-11-11 01:14:10 +00:00
christos b22902b65d Use non-blocking I/O when opening the tty. Otherwise we can get stuck... 2004-11-07 07:04:31 +00:00
dsl 1869f0e146 Add (unsigned char) cast to ctype functions 2004-11-05 21:56:01 +00:00
dsl 55d39107c6 Add (unsigned char) cast to ctype functions 2004-11-05 21:45:36 +00:00
dsl 49f7d8a9b1 Add (unsigned char) cast to ctype functions 2004-11-05 21:30:31 +00:00
dsl 076dc10086 Another (unsigned char) cast - for ldconfig 2004-10-28 20:18:48 +00:00
skrll 2728318e3c Add __RCSIDs.
OK'd by mycroft.
2004-10-22 05:39:56 +00:00
christos 5ec878616d Remove stray -I, noted by Adam Ciarcinski 2004-10-14 00:14:52 +00:00
christos 99e43e6d35 Fallout from ipf move.
Forgot to commit that one [oops]
2004-10-01 20:01:51 +00:00
christos 985ed5b767 PR/27097: John Klos: Talk daemon does not find additional ttys for
a particular user if the first tty is not writable. This broke in
revision 1.9 when it was strl'ified incorrectly (hi itojun). Thanks
to enami for spotting this.
2004-10-01 12:27:09 +00:00
martin b2772db1b0 Fix off by one reported by David A. Holland in PR bin/26778. 2004-09-15 08:44:02 +00:00
uwe 255de8f40e Preserve r2 in _rtld_bind_start - in r2 functions that return
aggregate types are passed the address of the memory area to store the
returned result to.

Fixes PR port-sh3/26949.
2004-09-14 21:34:01 +00:00
jrf 190b2e4c51 Replaced strncpy with strlcpy. Thanks to Peter Postma who
pointed them our in PR #25762. Approved by christos@NetBSD.org.
2004-09-07 13:20:39 +00:00
rearnsha 3fa803b523 Check the type of symbols; if it's a Thumb function, then set the Thumb
bit in the relocated value (JUMP_SLOT, ABS32 & GLOB_DAT).
2004-08-21 11:14:07 +00:00
rearnsha c3e148044f Use BX if available. 2004-08-21 11:12:03 +00:00
lukem 635a375704 Fixes from (or inspired by) OpenBSD:
* Fix yacc parser error recovery so that setjmp(3)/longjmp(3) is unnecessary.
* Fix SIGURG handler to set an urgflag that's later tested, rather than
  abusing setjmp(3)/longjmp(3).
* Use "volatile sig_atomic_t" as the type of variables modified by sig handlers.
* Use sigaction(3) instead of signal(3) to set the signal handlers.
* Only set the main SIGALRM handler once.  If we need to change it,
  cache the old handler and restore appropriately...
* Remove a bunch of signal races by improving the signal handlers.
* Fix memory leak with 'ESPV ALL'.

My stuff:
* Clean up the debug message in reply(); use vsnprintf(3) instead of vsyslog(3).
* Rework parsing of OOB commands to _not_ use the yacc parser, since the
  latter isn't reentrant and the hacks to work around that are ugly.
  We now examine urgflag at appropriate locations and call handleoobcmd()
  if it's set.  Since the only OOB commands we currently implement are
  ABOR and STAT, this isn't an issue.  (I also can't find the reference in
  RFC2228 where MIC, CONF & ENC are OOB-only commands.  Go figure.)
  I could clean up the is_oob stuff some more, but the remaining stuff
  in ftpcmd.y is harmless and it's unnecessary churn right this moment.
2004-08-09 12:56:47 +00:00
kim 7e384e20a9 The "FORMAL SYNTAX" on RFC-1314 (page 5) does not show any spaces
around the delimiters (commas and colons).  Also, at the end of
the "RESPONSE TYPES" section for "USERID" it is explicitly noted
that any spaces after the colon following the OSTYPE field *are*
part of the identifier.
2004-08-05 18:05:22 +00:00
pk facc7352d1 Newly built binary from netbsd-1-4 sources + arch/sparc/mdprologue.S, rev 1.8.
Workaround for non-executably mapped PLT in the data segment.
2004-07-20 10:17:50 +00:00
thorpej 2a63e04007 - Change the strong dlfcn names in libc to ___name, and make the __name
versions used by others in libc weak, so that we have:
	name: weak
	__name: weak
	___name: strong
- Add __name strong aliases of the dlfcn names in ld.elf_so, so that we have:
	name: strong
	__name: strong

This allows ld.elf_so to self-resolve both the name and __name variants
of the dlfcn functions, the former being required for dlfcn support in
applications, the latter being required for dlfcn support in libc.

Fixes the problem described in:

    http://mail-index.netbsd.org/tech-toolchain/2004/07/17/0000.html

Reviewed by Nick.
2004-07-18 17:26:19 +00:00
wiz 9074ea7ce0 Code is not using gethostbyaddr any longer, but getnameinfo.
Fix references. Addresses part of PR 26337 by Peter Postma.
2004-07-17 18:34:01 +00:00
wiz 6387678427 Bump date for previous. 2004-07-17 18:33:23 +00:00
wiz 24d271a979 Code is not using gethostbyaddr any longer, but getnameinfo.
Fix references. Addresses part of PR 26337 by Peter Postma.
2004-07-17 18:32:23 +00:00
petrov 1ee4832b70 Don't print relocated content (in DEBUG mode) as it can cause
misaligned access. It needs to be done differently if needed at all.
Fix PR port-sparc64/20907.
2004-07-17 05:03:33 +00:00
lukem 2b8830ba06 Correctly clamp illegal "SITE CHMOD" mode values. From OpenBSD. 2004-07-16 08:29:28 +00:00
lukem 0cd997a9f7 Fix minor memory leak with fromname. Inspired by OpenBSD. 2004-07-16 03:31:51 +00:00
chs ec3d29dac4 add some instructions at the top of rtld_entry() that use mprotect()
to make ld.so's data segment executable.  this is needed because the PLT
is in the data segment and we actually honor the execute permissions now.
2004-07-15 03:00:21 +00:00
enami 150b25198e Whitespace nits. 2004-07-10 07:11:38 +00:00
enami af9fc9cd10 Use strtoimax rather than strtol to parse a number which represents
an offset in a file.  long is insufficient on some architecture.
Problem noticed by Atsushi Onoe while ago.
2004-07-10 07:10:43 +00:00
christos f61a35eaaf stat the right file. 2004-07-10 04:00:09 +00:00
enami 66820706e0 No need to pretty print the errno with err() or warn(). 2004-07-10 00:00:58 +00:00
cube d1b3d841ee Make ld.elf_so use the new sysctl API. That allows the user to give any
sysctl variable name in /etc/ld.so.conf.  It also makes the ld.elf_so
binary slightly smaller (at least on i386), and has no impact on
performance.

Fixes PR 26100.
2004-07-05 11:50:07 +00:00
kleink 25662013ee Add the kernel to the includes search path; ipf.c depends on it. 2004-07-01 01:41:16 +00:00
darrenr b8785aabcf Modify ftp-proxy to support both ipfilter and pf. It now requires at least
one command line option to specify which firewall it is meant to interact
with.  The implementation here puts the firewall specific code into separate
files with markers for future changes that could enable a fully transparent
mode for non-private network proxying.
2004-06-30 13:29:43 +00:00
wiz 5e2319eed0 2004, not 1994. 2004-06-25 17:36:04 +00:00
christos fd55c85046 Forgot to include utmpx support for this one. 2004-06-25 17:34:38 +00:00
itojun 8f329619b8 spamlogd(8) 2004-06-25 16:34:45 +00:00
itojun 9ec960c351 add ftp-proxy from PF OpenBSD 3.5. adjust setlists 2004-06-22 22:19:36 +00:00
jwise b89fa9ed33 Remove added SUBDIR+= settings from a developer's (hi itojun!) machine which
point to directories which do not exist (and are not wanted) in our source tree.

While we're here, was `libexec/spamd' approved for import?  It conflicts with the
name of a tool in pkgsrc which a _lot_ of developers and users of NetBSD are using...
2004-06-22 19:10:48 +00:00
itojun f7c9d7b3eb make spamd compile on netbsd 2004-06-22 16:04:40 +00:00
itojun c2d7a8642b spamd-setup, comes with PF for openbsd 3.5 2004-06-22 15:53:17 +00:00
itojun 10c71795a1 build and install spamd(8) 2004-06-22 15:41:54 +00:00
skrll 701ae47cdf Fix the dynamic linker for hppa using ELF.
Lazy binding doesn't work 100% of the time so force immediate binding.
One possible reason is that the PLT stub blows away r20 which the
compiler might not take into account.
2004-05-17 13:16:02 +00:00
skrll e88c851d08 Test before commit. 2004-05-17 11:00:01 +00:00
skrll 0556cd7d3c Re-arrange/correct some asserts. 2004-05-17 10:23:58 +00:00
skrll 8431fb3c4c Wrap a couple of lines to <80 columns 2004-05-14 11:59:14 +00:00
skrll c788a1a535 Whitespace. 2004-05-14 11:11:02 +00:00
skrll 212b905081 Garbage collect the RTLD_RELOCATE_SELF error. 2004-05-12 20:23:29 +00:00
skrll c0148a0dfe Add a debug message. 2004-05-12 20:12:37 +00:00
kleink ab12386beb Also set LOGNAME in the environment. 2004-05-11 08:07:37 +00:00
kleink a87145f3fc Make sure we tzset() before chroot(); after passing that point
it may no longer be accessible for syslog() to format messages.
2004-05-05 20:15:45 +00:00
mhitch b6825b1e42 The -symbolic flag in gcc 2.95.3 is not passed to the linker, which is
required.  Restore the -Bsymbolic option in LDFLAGS on the vax.  Fixes
the problem with ld.elf_so mentioned on port-vax.
2004-04-28 02:04:56 +00:00
christos ce26902593 add const to cgetent arg. 2004-04-23 21:04:25 +00:00
christos 6bd1d6d4db Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.
2004-04-21 01:05:31 +00:00
veego 3ee69bb240 Remove duplicated include of <sys/types.h>
Fixes bin/25062.
2004-04-05 19:27:01 +00:00
fair 02c4ccaafa Apply patch from PR 24917 to correct option parse error reporting. 2004-03-26 01:26:59 +00:00
he 9dffa08363 The MLINKS needs to come before .include <bsd.prog.mk>. 2004-03-24 21:20:26 +00:00
skrll 236df38503 Be more pedantic about where we use -shared, etc. 2004-03-24 08:01:26 +00:00
fair 88327f9bbc Add FILES section to document where the daemon is.
Add some paragraph breaks to make the man page more readable.

Add the history of the talkd -> ntalkd change as I recall it to
the HISTORY section. All of this to answer PR 13433
2004-03-24 05:32:42 +00:00
fair 790f7311ff Add man page link from talkd.8 to ntalkd.8 per PR 13433
We should probably rename all of this back to talkd. XXX
2004-03-24 05:20:12 +00:00
christos ba3c0c1bd8 Oops, put back my copyright. 2004-03-20 20:30:48 +00:00
christos 1074321aa8 - remove my license
- un __P
- de-lint
2004-03-20 20:26:58 +00:00
jmc 6fe4ead562 Convert to usage of UUDECODE_FILES and standardize on filename extension 2004-03-19 08:07:22 +00:00
atatat 1de60baa7c The <sys/sysctl.h> header already provides a perfectly good struct for
this purpose, so...uh...use it.
2004-03-16 05:25:12 +00:00
enami 76eaac1d6f Whitespace. 2004-02-26 21:45:59 +00:00
skrll 52581467e2 Whitespace. 2004-02-23 21:27:20 +00:00
skrll 4d30716d36 Remove the millicode hack - its not needed anymore.
Get the entry point right.
2004-02-23 21:20:40 +00:00
uwe 8eb5ba6d09 Use CC instead of LD to link the ld.elf_so. This will correctly link
"millicode" from libgcc_pic.a on platforms that need it.

From Nick Hudson <skrll@netbsd>.
2004-02-22 01:39:43 +00:00
skrll b5330c98c7 Add the standard XXX about CPPFLAGS and -fpic here. 2004-02-21 16:02:06 +00:00
skrll d93f13855a Move common LDFLAGS into Makefile from arch/*/Makefile.inc 2004-02-21 15:56:03 +00:00
skrll 151426159b Whitespace. 2004-02-20 20:58:24 +00:00
enami 074a9e8fee Salvage the instruction to save the pointer to ps_strings for later use
so that setproctitle() works again.  The problem reported by Naoki Fukaumi
on japanese mailing list.

Approved by: Ross Harvey
2004-02-18 23:04:49 +00:00
enami f1740378ad Don't assume past the mmaped region is accessible. 2004-02-15 02:59:04 +00:00
enami 63fcb5a042 Fix warning message: the failed operation is not fstat but mmap. 2004-02-15 02:56:53 +00:00
christos 16816b44a8 PR/24320: Alan Barrett: new identd does not report random data when getpwuid()
fails. Also improve some log messages.
2004-02-05 13:18:48 +00:00
wiz 29dcd7f961 Standardize flag listing; sort options; remove ending dot in Nd argument;
sort sections and SEE ALSO; new sentence, new line; replace some man
macros with mdoc macros.
2004-01-31 22:39:24 +00:00
christos 2a56437104 add RCSID. 2004-01-31 22:03:31 +00:00
christos f9ce139688 remove unused pidentd files. 2004-01-31 21:48:22 +00:00
christos 6310d36554 new identd from Peter Postma. 2004-01-31 21:47:17 +00:00
briggs 58f4d6af26 Remove duplicated headers. Pointed out by Peter Postma in PR bin/24002. 2004-01-06 14:30:10 +00:00
yamt e2e9c6ef96 fix debug output. 2003-12-17 09:13:41 +00:00
chs 1a686b2ea3 rearrange lib stuff so that these link on non-shared-lib platforms. 2003-12-13 22:07:35 +00:00
dyoung 4758291178 Fix the checkflist for builds without Kerberos 4 (MKKERBEROS4=no)
and without Kerberos 4 & 5 (MKKERBEROS=no). Previously checkflist
complained of missing files.

* move kerberos- and kerberos 4-only files into new flists,
  distrib/sets/lists/*/krb.*

* make the flist generators grok MKKERBEROS{,4} variables

* fix Makefiles which treat MKKERBEROS=no as MKKERBEROS5=no.
  9 out of 10 experts agree that it is ludicrous to build w/
  KERBEROS4 and w/o KERBEROS5.

* fix header files, also, which treat MKKERBEROS=no as MKKERBEROS5=no.

* omit some Kerberos-only subdirectories from the build as
  MKKERBEROS{,4} indicate

(I acknowledge the sentiment that flists are the wrong way to go,
and that the makefiles should produce the metalog directly.  That
sounds to me like the right way to go, but I am not prepared to do
revamp all the makefiles.  While my approach is expedient, it fits
painlessly within the current build architecture until we are
delivered from flist purgatory, and it does not postpone our
delivery. Fair enough?)
2003-12-11 09:46:26 +00:00
agc 7db1d33cba Modify the licences of code written by Theo De Raadt from a 4-clause
to a 2-clause licence (retaining UCB clauses (1) and (2)), per PR
22409 from Joel Baker, approved by Theo de Raadt, and ratified by
myself - the only discrepancy being the handling of the original
clause 3 in src/usr.sbin/yppoll/yppoll.c.
2003-12-10 12:06:25 +00:00
lukem afca253464 Use sysconf(_SC_LOGIN_NAME_MAX) to determine the length of login
names, rather than assuming LOGIN_NAME_MAX.
Based on patch from Garrett Wollman via David O'Brien (both at FreeBSD.org)
2003-12-10 01:18:56 +00:00
mrauch f06ab72b6e Change the symbol lookup order to search RTLD_GLOBAL objects
before referencing object's DAG. This makes it possible for
C++ exceptions to work across shared libraries.

Patch taken from FreeBSD: src/libexec/rtld-elf/rtld.c: 1.67 -> 1.68,
committed there by kan@FreeBSD.org.
2003-12-07 09:36:06 +00:00
christos 1a2b5965a9 Don't try to preload an empty string. 2003-11-25 14:36:49 +00:00
simonb 28817edd35 Restore handling of reloc entries that point to unaligned locations
that seems to have disappeared in rev 1.34.

Thanks to Jason Thorpe for suggesting where to look.
Fixes the simple test case in PR port-mips/23366.
2003-11-19 19:41:57 +00:00
wiz 4bbfee09ca Various typo fixes from Jonathon Gray via jmc@openbsd. 2003-11-17 11:16:10 +00:00
wiz 59409bce25 Some improvements from the OpenBSD version of this man page. Forwarded
by jmc@openbsd.
2003-11-02 11:27:49 +00:00
lukem 171d653219 Overhaul how `build.sh tools' are used:
*	Rename "config.h" to "nbtool_config.h" and
	HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
	This makes in more obvious in the source when we're using
	tools/compat/config.h versus "standard autoconf" config.h

    *	Consistently move the inclusion of nbtool_config.h to before
    	<sys/cdefs.h> so that the former can provide __RCSID() (et al),
    	and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
	#if HAVE_NBTOOL_CONFIG_H
	#include "nbtool_config.h"
	#endif
to the top of the source files (for the general case).
2003-10-27 00:12:41 +00:00
lukem 130ab7336b Rework how MAKEVERBOSE operates:
*	Don't bother prefixing commands with a line of  ${_MKCMD}\
	and instead rely upon "make -s".  This is less intrusive on
	all the Makefiles than the former.  Idea from David Laight.

    *	Rename the variables use to print messages.  The scheme now is:
	    _MKMSG_FOO		Run  _MKMSG 'foo'
	    _MKTARGET_FOO	Run  _MKMSG_FOO ${.TARGET}
	From discussion with Alistair Crooks.
2003-10-21 10:01:19 +00:00
fvdl d83c6c4294 Don't use NULL for integers. 2003-10-21 01:19:10 +00:00
lukem ddff99b7f4 rework to use the newer _MKMSGCREATE (et al) macros 2003-10-19 04:45:01 +00:00
lukem 6cf0d872cd support MAKEVERBOSE 2003-10-19 01:19:10 +00:00
agc 9f1aac5bb3 Move Jason Downs's code from a 4-clause to a 3-clause licence by
removing the advertising clause.  Diffs provided in PR 22410 by Joel
Baker, confirmed to the board by Jason Downs.

With additional thanks to Jason Thorpe.
2003-10-13 15:36:33 +00:00
matt fd1caff7c2 Update to new reality. XXX _rtld_bind still needs to be written. 2003-10-06 16:08:35 +00:00
mycroft 65ed3bdcdd Make the effect of the hack clearer. 2003-09-24 10:25:26 +00:00
mycroft 7242c1114c One more tweak... 2003-09-24 10:18:52 +00:00
mycroft 7b234fd232 Make the comment a little more accurate. 2003-09-24 09:59:45 +00:00
mycroft 89ea37c60a Temporary workaround for some binutils/ld lossage. See the comment for more
information.
2003-09-24 09:55:35 +00:00
mycroft 5fb0b88880 Some notes... 2003-09-24 06:20:33 +00:00
enami 9c2e06fe24 Space after the keyword `if'. 2003-09-22 14:37:57 +00:00
bouyer 50a25ded2d memset(0) ext_getq_args before use. Should fix bin/22592 by Mark Davies. 2003-09-20 22:25:29 +00:00
itojun 0c4a8b5a7e realloc pedant 2003-09-19 06:01:24 +00:00
itojun 4698292ea9 realloc pedannt 2003-09-19 05:52:48 +00:00
itojun ba0ee95e6c realloc pedant 2003-09-19 05:50:41 +00:00
itojun 143464d11e realloc mistake 2003-09-19 05:41:33 +00:00
itojun 6e4e427990 realloc mistake. from openbsd 2003-09-19 05:33:15 +00:00
christos 81e1fcb367 downgrade the accept error to a warning so that we don't exit if we are being
port scanned.
2003-09-14 22:38:23 +00:00
mycroft 5bd33bcad6 Back out revision 1.100. There is something screwier going on. 2003-09-07 22:17:43 +00:00
wiz 47190e80b8 Consistently use 'RFC 1234' instead of 'RFC1234' or 'RFC-1234'.
From jmc@openbsd.
2003-09-07 16:22:20 +00:00
itojun 013cd625a4 use arc4random 2003-09-06 12:52:10 +00:00
mycroft 323a574dc3 dlsym() should not leave an error set. It confuses programs that check
dlerror() (such as pkgsrc/graphics/transcode).
2003-08-31 21:52:01 +00:00
lha afad8d1f7c libkrb depends on libdes, patch in private mail from
Harold Gutch logix at foobar franken de
2003-08-23 23:03:42 +00:00
lha be9358159d libkrb depend on libdes 2003-08-18 07:23:45 +00:00
skrll d900731978 Resolve dlsym(3) and friends directly so that dlsym(RTLD_NEXT,...) works.
Previously dlsym resolved to the version in crt0.o or libc which would
mean that the caller's shared object couldn't be determined correctly
using __builtin_return_address(0).

Mainly from FreeBSD, but adapted by me. Benefits of this solutions are:

	- backward comptibility maintained
	- existing broken binaries are fixed with a new ld.elf_so
	- __mainprog_obj can be removed from crt0.o
	- we do the same thing as FreeBSD

Fixes PR 22067.

OKed by Jason and Christos.
2003-08-12 09:18:38 +00:00
agc 8e6ab8837d Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22284, verified by myself.
2003-08-07 09:46:37 +00:00
skrll 59b0f10729 KNF 2003-08-05 19:41:53 +00:00
lha 0fe8a8550f libkrb depend on libdes
libkrb5 depends on libasn1 and libcrypto
2003-08-05 10:45:42 +00:00
salo 99410184e7 netbsd.org->NetBSD.org 2003-07-26 19:24:24 +00:00
mrg 88bb1d9b3b include <string.h> or <stdlib.h> for all prototypes 2003-07-26 15:04:38 +00:00
skrll 5f573ab68d ANSIfy and de-__P(). 2003-07-24 10:12:25 +00:00
itojun e63468d8cc split MKKERBEROS4 from MKKERBEROS. based on work by lha at stacken.kth.se
(build confirmed with both MKKERBEROS4=yes and MKKERBEROS4=no)
2003-07-23 08:01:24 +00:00
matt 9925d4a0c7 Since telnetd has ignored the USER environment variable for logging in for
quite a bit of time, make telnetd ignore it completely now.  This results
in the :if=: entry in the default gettytab entry to honored instead of
being ignored.  The -h option to telnetd will continue to suppress the
inclusion of :if=:
2003-07-22 00:03:26 +00:00
skrll ddc9322f3b Support immediate binding on arm. 2003-07-21 15:34:35 +00:00
skrll b2695e5a1f arm and sh5 also have bogus DT_TEXTRELs. sh5 was already covered so just
update the comment.
2003-07-21 15:17:55 +00:00
skrll 619dee76f6 Correct the in_plt parameter of a couple of _rtld_find_symdef calls.
The mips_reloc.c case is a no-op as _rtld_symlook_obj ignores in_plt for
MIPS.

OK'ed by Charles.
2003-07-17 13:56:32 +00:00
wiz f3a3343ca8 Bump date for -r removal. 2003-07-16 11:31:25 +00:00
itojun e26b0e0cf5 stop installing install libtelnet. build under lib/libtelnet and reference
it from usr.bin/telnet and libexec/telnetd.
(reason for separate build: compiler flags)
2003-07-16 05:42:01 +00:00
itojun 427af575fe use bounded string op. bump shlib major for libtelnet due to API change. 2003-07-15 10:14:54 +00:00
skrll d4cfd1c666 s/_rltd_obj_rtld/_rtld_objself/ in #ifdef notyet code. 2003-07-15 07:39:55 +00:00
skrll 9192c2eed4 Whitespace 2003-07-15 07:38:29 +00:00
itojun 3d8f7dcfb1 use snprintf 2003-07-15 05:03:49 +00:00
itojun 47d8f56c50 more cleanups 2003-07-14 16:23:40 +00:00
itojun 261e336de5 SIGINFO is defined 2003-07-14 16:17:37 +00:00
itojun 311ed76391 remove unused function
XXX what's the difference between #ifdef UTMPX and #ifdef SUPPORT_UTMPX
2003-07-14 16:16:42 +00:00
itojun 625dced967 remove unneeded #ifdefs. improves readability.
(confirmed that exact same *.o is produced)
2003-07-14 15:55:53 +00:00
itojun 1d041f9dd7 use bounded string op (some remains) 2003-07-13 12:04:45 +00:00
itojun e19eff3a82 asprintf is easier 2003-07-13 12:00:55 +00:00
itojun 6e7ade5e3e use bounded string ops. check malloc failure. asprintf is easier than
complicated strcat/strcpy combination.
2003-07-13 09:44:02 +00:00
itojun aa50bfde15 use bounded string op (there still are remains) 2003-07-13 09:40:20 +00:00
lukem 001c68bd94 Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO".  The new variables are:
	TOOL_ASN1_COMPILE  TOOL_CAP_MKDB  TOOL_CAT  TOOL_CKSUM  TOOL_COMPILE_ET
	TOOL_CONFIG  TOOL_CRUNCHGEN  TOOL_CTAGS  TOOL_DB  TOOL_EQN  TOOL_FGEN
	TOOL_GENCAT  TOOL_GROFF  TOOL_HEXDUMP  TOOL_INDXBIB  TOOL_INSTALLBOOT
	TOOL_INSTALL_INFO  TOOL_M4  TOOL_MAKEFS  TOOL_MAKEINFO  TOOL_MAKEWHATIS
	TOOL_MDSETIMAGE  TOOL_MENUC  TOOL_MKCSMAPPER  TOOL_MKESDB
	TOOL_MKLOCALE  TOOL_MKMAGIC  TOOL_MKTEMP  TOOL_MSGC  TOOL_MTREE
	TOOL_PAX  TOOL_PIC  TOOL_PREPMKBOOTIMAGE  TOOL_PWD_MKDB  TOOL_REFER
	TOOL_ROFF_ASCII  TOOL_ROFF_DVI  TOOL_ROFF_HTML  TOOL_ROFF_PS
	TOOL_ROFF_RAW  TOOL_RPCGEN  TOOL_SOELIM  TOOL_SUNLABEL  TOOL_TBL
	TOOL_UUDECODE  TOOL_VGRIND  TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
	TOOL_FOO?=	foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
	TOOL_FOO=	${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
2003-07-10 10:33:58 +00:00
marcus fae2567c9b Removed unused function. 2003-07-05 20:48:39 +00:00
tsutsui 0e65101f60 Add function prototype declarations. 2003-07-05 18:18:51 +00:00
tsutsui e40b9a1c1d Include <stdlib.h> for exit(3) prototype, warned by gcc-3.3. 2003-07-05 12:34:12 +00:00
wiz 13886c157c Bump date for last but one. 2003-07-04 12:11:45 +00:00
wiz a03d9214b1 s/&/and/ 2003-07-04 12:11:02 +00:00
marcus a4878b4349 Bugfix: Don't pick addend both from reloc and contents at the same time. 2003-07-02 15:29:34 +00:00
tacha 3bab95ce42 Add ftpd_loginx() and ftpd_logwtmpx() and use them to hold wtmpx file
open while a session.

Close bin/21692 by bqt@Krille.Update.UU.SE.
2003-06-30 03:06:06 +00:00
marcus 6aeeb40d4a Updated to work with current rtld code. 2003-06-30 00:50:46 +00:00
marcus 5404577abf SH also has a bogus DT_TEXTREL, it seems. 2003-06-30 00:49:25 +00:00
wiz ac4f069fda Add Ns. 2003-06-27 18:59:54 +00:00
christos 1e3cf33d74 fix botch in sysctl arg. 2003-06-27 18:37:48 +00:00
wiz 3393c12171 Add Ns where needed. 2003-06-26 18:09:39 +00:00
wiz f788cad16f Remove superfluous Ns and quoting. 2003-06-26 18:09:06 +00:00
christos cf96f20a95 Rewrite from scratch; modify sysctl so that it does not abuse the new pointer. 2003-06-26 17:31:12 +00:00
christos be4bd83a25 No need to define _KERNEL 2003-06-26 16:23:53 +00:00
joff 2c4a7474a0 use TCP_NODELAY 2003-06-14 22:43:31 +00:00
wiz 9e7c0f3178 Do not hardcode "nroff", allow it to be overridden by defining NROFF. Useful for tools/makewhatis. 2003-06-14 17:56:24 +00:00
wiz fee392c197 Report on which file nroff returned an error. 2003-06-14 16:58:00 +00:00
drochner 96b62d8a69 no need to #include <sys/dkstat.h> 2003-06-11 17:26:31 +00:00
briggs 4441128638 Support negotiation and use of TFTP Option Extension (rfc 2347) for the
'blksize' option (rfc 2348) and the 'timeout' and 'tsize' options (rfc 2349).

Contributed by Wasabi Systems, Inc.
2003-06-11 01:43:52 +00:00
simonb a9f5b3f871 KNF- blank lines before code at start of functions. 2003-06-05 10:41:32 +00:00
christos 683092605c Add RTLD_FIRST, RTLD_NEXT, RTLD_DEFAULT, from FreeBSD 2003-05-30 15:43:33 +00:00
petrov 458dbd70ac Fix alignment problem in debug output.
Happens only under RTLD_DEBUG_RELOC.
2003-05-23 20:13:50 +00:00
wiz cb04db5a91 Bump date for "nn" capability. 2003-05-20 19:40:53 +00:00
thorpej 2c1e482672 Add a "nn" (no name) capability to getty. If set in gettytab, getty
will not prompt for a login name, and will not pass one along to the
login program.  This can be used to accomodate login programs that have
an alternate way of selecting the user to log in.
2003-05-20 19:20:03 +00:00
lukem 826a14607a Now that <bsd.prog.mk> DTRT if HOSTPROG is defined (i.e, it is a no-op),
there's no need to special-case .include-ing it.
2003-05-18 07:57:31 +00:00
itojun 22795e9102 use strlcpy 2003-05-17 22:57:30 +00:00
itojun 3e6b78200d use strlcat 2003-05-17 22:56:31 +00:00
itojun bf792c0c43 string manipulation audit 2003-05-17 22:54:55 +00:00
itojun f4a82bcf1f strlcat is easier here 2003-05-17 22:50:29 +00:00
itojun 936d35bb1b use strlcpy 2003-05-17 21:28:53 +00:00
itojun 5a8065df69 string manipulation cleanup 2003-05-17 21:26:47 +00:00
itojun bb3fc85900 use snprintf 2003-05-17 21:24:38 +00:00
itojun 792f67c795 string manipulation cleanup 2003-05-17 21:20:09 +00:00
itojun c5f76786a4 use strlcpy 2003-05-17 21:18:46 +00:00
itojun 0f00216d14 string manipulation cleanup 2003-05-17 21:17:43 +00:00
wiz d43e332f1e setup -> set up. 2003-05-14 12:11:03 +00:00
christos cc1171039e PR/21233: Onno van der Linden: -U option does not work as advertised. 2003-05-09 20:50:35 +00:00
christos ac8c3de3b3 PR/21515: Onno van der Linden: Fix typo preventing %v from working. 2003-05-09 20:43:47 +00:00
agc 0134b3c484 Pull in <sys/param.h> explicitly. 2003-04-29 17:22:01 +00:00
mycroft f57f7ac072 Back out previous change for now -- it needs more work. 2003-04-24 16:55:29 +00:00
mycroft 8826c5e475 Attempt to give dlsym() the same symbol-searching semantics as _rtld_bind().
Tested in a handful of cases.
Reviewed by: a dead silence
2003-04-23 17:40:25 +00:00
tron 8e10566c2f Output a usefull error message if sysctl(3) fails. 2003-04-22 16:42:00 +00:00
itojun 39d6020d8a backout 1.18 and 1.19 2003-04-22 03:51:07 +00:00
itojun e2d8f394cc free vis_user 2003-04-22 03:03:16 +00:00
itojun 750506085f malloc vis_user (why 1.6 branch has the fix already?) 2003-04-22 03:02:14 +00:00
scw 0b8f02edad Handle unaligned relocations, and RELATIVE relocs with non-zero addends.
This gets binaries linked against libstdc++ working (FSVO "working").
2003-04-21 11:54:46 +00:00
christos 99437fe16f PR/2352: Tor Egge: Use sysctl to get uid. 2003-04-19 20:57:35 +00:00
perry 626a48a033 rmail really shouldn't be invoking sendmail with "-odq" ("queue only")
any more -- this drastically slows delivery because the next queue run
might be an hour away.
Pointed out by Takahiro Yugawa PR bin/21018
He suggested changing to -odi, but I've changed to -odb (background
delivery) instead.
I've left an #ifdef QUEUE_ONLY for those who would like to build the
old way, but I'm not expecting any. I've also heavily commented this
line of code to explain the issues to anyone reading it later on.

I would have made this a run time command line flag, but it isn't like
you can change rmail's arguments given the uucp architecture, and
besides, UUCP is mostly dead...
2003-04-05 17:45:11 +00:00
fvdl 42614ed3f3 Add support for UFS2. UFS2 is an enhanced FFS, adding support for
64 bit block pointers, extended attribute storage, and a few
other things.

This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.

Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.
2003-04-02 10:39:19 +00:00
perry 01788f947d behaviour->behavior
I actually really like the UK spelling on this, but consistency among
our man pages is also a virtue.
2003-03-31 17:05:12 +00:00
perry 29e8ef357f spell fixes (most from me, one from Igor Sobrado in PR misc/19700) 2003-03-31 01:51:01 +00:00
jdolecek bcc4e12368 s/USER-ID/USERID/ in response when -L is used
fixes PR bin/20911 by der Mouse
2003-03-27 22:32:59 +00:00
scw e6b13790fa SH5 needs __HAVE_FUNCTION_DESCRIPTORS defined in order for ld.elf_so
to resolve SHmedia function pointers correctly.
2003-03-26 14:46:32 +00:00
scw d174ad2eab Add support for shared libraries/dynamically linked binaries on sh5.
With the latest SuperH toolchain, NetBSD/evbsh5 can now
run with a fully dynamic userland (modulo a few remaining
gremlins affecting a couple of binaries).
2003-03-25 13:11:53 +00:00
wiz 83de4abed2 Use "its" instead of "it's" where appropriate.
From Soren Jacobsen in PR 20730.
2003-03-15 23:48:27 +00:00
wiz a6bd266319 Correct spelling of "preferred". From PR 20716 by Igor Sobrado. 2003-03-15 19:15:58 +00:00
hannken a775363fd5 Dont call gettimeofday on a rpc timeval.
This fails on sparc64 because rpc timeval elements are int
and timeval elements are long.
2003-03-09 10:33:04 +00:00
taca 28d2056e12 make it compile in /usr/src/rescue directory. 2003-03-06 17:01:27 +00:00
matt 7b28c56025 Align psections to their specified alignment (if possible). Use
mmap(2) MAP_ALIGNED.
2003-03-06 07:34:56 +00:00
dsl 0e023253c0 Call setsid so we get our own logname.
(approved by christos)
2003-03-03 19:05:09 +00:00
dsl 41880aca75 Call setsid so we don't change inetd's logname (and that of our peers).
(approved by christos)
2003-03-03 18:57:53 +00:00
dsl 2bc2d2208d Call setsid() before (setusercontext() calls) setlogin() so we don't change
the username of inetd and everyone else that is logged in.
(approved by christos)
2003-03-03 18:29:55 +00:00
dsl de1c071819 Call setsid() so that setlogname doesn't affect our parent and siblings.
(approved by christos)
2003-03-03 17:14:36 +00:00
lukem b018fb8971 Don't declare "yylex()" static; AFAICT it shouldn't be, and it causes
build problems with the output of some versions of yacc.
2003-03-03 02:14:57 +00:00
lukem 2cc6fff994 Fix typos accidentally introduced in rev 1.70 as part of the large
number support.
(NetBSD yacc didn't barf on these, although Solaris and HP/UX's did...)
2003-03-03 01:52:13 +00:00
mycroft 7cbba1750d Shorten rtld_start() by 2 instructions or 8 bytes, and make it not use GOT
entries.
2003-03-02 22:56:14 +00:00
mycroft d2fd5f837d Shorten rtld_start() slightly -- there's a base-relative _DYNAMIC pointer at
the beginning of the GOT, so we don't need an extra one here.  Also, remove a
bogus comment -- we do in fact have to do fixups, because there are pointers in
ld.elf_so's data segment that need to be relocated.
2003-03-02 22:03:40 +00:00
perseant 5646727e5a Let the cleaner use LFCNRECLAIM to help empty segments along, if it
thinks it needs to clean and segments are tantalizingly lingering
in the "empty but dirty" state.
2003-03-02 04:38:20 +00:00
mycroft 33131cb294 Update copyright. 2003-03-01 15:14:59 +00:00
christos 861ff9be73 we have constants for all this crap. don't hard-code things. 2003-02-28 23:05:24 +00:00
mycroft 9939b38056 Eliminate GOT usage in rtld_start() on this platform, too. 2003-02-28 22:37:35 +00:00
thorpej 527c1efca7 Use the "__NetBSD_Version__" constant rather than the "NetBSD" constant
in the NetBSD version note.  The old "NetBSD" constant was stuck in stone,
and thus didn't really convey any useful information.
2003-02-28 18:20:33 +00:00
mycroft 9cb7d16b11 Similar to other rela platforms, do not use any GOT entries (other than the
first entry, which is a special case) in rtld_start, because they could be
all 0s.  Instead we use the difference between the real _DYNAMIC address
(which we can determine on 68k with a "lea (%pc,_DYNAMIC),..." and the
base-relative one (at the beginning of the GOT) to figure out the relocation
offset.

Not needed for binutils-current, but I might as well fix it now.
2003-02-28 07:06:16 +00:00
lukem ceba77be0a it's actually 2003 ... 2003-02-28 03:06:14 +00:00
mycroft eea1001a73 Adjust for the fact that the GOT is all 0s in new binutils -- do the trick of
disassembling a call to _DYNAMIC to determine its real address, and using the
first entry of the GOT as its base-relative address.

It's evil, but it works.
2003-02-27 05:39:42 +00:00
christos dc7c6aef2a The following changes make ftpd able to remove its own entries. Ftpd
calls pututxline() with ruid = 0, euid = current-ftp-user. This ends
up calling update_utmp:
- if the real uid is root, don't do password or tty ownership checks
- if we cannot open the tty line, assume that it is a daemon that does
  not use ttys and allow it to change a live entry to a dead one if
  indeed it is the same process that created the entry.
2003-02-26 18:16:50 +00:00
lukem 0263859762 Add '-L xferlogfile', to write xferlog entries there rather than syslog them.
Based on work from Dmitry Sivachenko.
2003-02-26 12:27:04 +00:00
uwe 6a4d4259ae Do not add ${LIBC_PIC} to DPADD if MKPICINSTALL is "no". 2003-02-26 06:03:40 +00:00
perseant 6f5626d112 Make fs-specific fcntl macros take three arguments (approved wrstuden).
Let LFS use fcntl for cleaner functions.
2003-02-25 23:12:06 +00:00
wiz 990562bfef .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
2003-02-25 10:34:36 +00:00
erh dadb4ce1cf Fix uninitialized variable "notglob" in send_file_list() that was causing
transfers to fail due to an abort in free().
2003-02-24 19:26:49 +00:00
erh 6697099535 Fix uninitialized variable in mlsname() 2003-02-24 19:25:25 +00:00
lukem 6c12b8f0d2 use LLT and STRTOLL() instead of off_t and strtoull() for parsing the
"larger than int" arguments from commands.  improves portability.
2003-02-24 12:57:06 +00:00
perseant d5bdd23d68 Convert lfs_cleanerd over to use the new ioctl calls instead of the
lfs syscalls.
2003-02-24 08:48:17 +00:00
lukem 558032443d rename local copies of login(), logout() and logwtmp() to
ftpd_login(), ftpd_logout() and ftpd_logwtmp() respectively.
(makes utmp support much easier in tnftpd).

per suggestion in mail from Mike Heffner <mheffner@vt.edu>, who
forwarded patch from Michael Ranner <mranner@inode.at>.
2003-02-23 13:04:37 +00:00
lukem 49230d68b3 crank version for:
Stop ftpd changing inetd's 'logname'
Stop buffer overrun if {NGROUPS_MAX} is greater than the compile time
NGROUPS_MAX.
2003-02-23 08:33:13 +00:00
mycroft c42fd7b479 Revert previous change. 2003-02-21 01:12:56 +00:00
matt 0f3ffeff6a gidlist is nolonger an array. 2003-02-19 23:12:20 +00:00
dsl 3dfa0d0485 Stop ftpd changing inetd's 'logname'
Stop buffer overrun if {NGROUPS_MAX} is greater than the compile time
NGROUPS_MAX.
(approved by christos)
2003-02-19 18:26:48 +00:00
perseant b397c875ae Add code to UBCify LFS. This is still behind "#ifdef LFS_UBC" for now
(there are still some details to work out) but expect that to go
away soon.  To support these basic changes (creation of lfs_putpages,
lfs_gop_write, mods to lfs_balloc) several other changes were made, to
wit:

* Create a writer daemon kernel thread whose purpose is to handle page
  writes for the pagedaemon, but which also takes over some of the
  functions of lfs_check().  This thread is started the first time an
  LFS is mounted.

* Add a "flags" parameter to GOP_SIZE.  Current values are
  GOP_SIZE_READ, meaning that the call should return the size of the
  in-core version of the file, and GOP_SIZE_WRITE, meaning that it
  should return the on-disk size.  One of GOP_SIZE_READ or
  GOP_SIZE_WRITE must be specified.

* Instead of using malloc(...M_WAITOK) for everything, reserve enough
  resources to get by and use malloc(...M_NOWAIT), using the reserves if
  necessary.  Use the pool subsystem for structures small enough that
  this is feasible.  This also obsoletes LFS_THROTTLE.

And a few that are not strictly necessary:

* Moves the LFS inode extensions off onto a separately allocated
  structure; getting closer to LFS as an LKM.  "Welcome to 1.6O."

* Unified GOP_ALLOC between FFS and LFS.

* Update LFS copyright headers to correct values.

* Actually cast to unsigned in lfs_shellsort, like the comment says.

* Keep track of which segments were empty before the previous
  checkpoint; any segments that pass two checkpoints both dirty and
  empty can be summarily cleaned.  Do this.  Right now lfs_segclean
  still works, but this should be turned into an effectless
  compatibility syscall.
2003-02-17 23:48:08 +00:00
bouyer 234e340664 Remove bug section, we now support group quotas. 2003-02-14 14:58:42 +00:00
bouyer a39a98c45d Implement rquota RPC version 2, compatible with the linux implementation,
as proposed on tech-userlevel on Dec 06 2002. This allows to retrieve
group quota informations from NFS servers.
2003-02-14 14:55:58 +00:00
fvdl 180fbdb32f Use int32_t for block adresses in segment summary structures. 2003-02-10 21:17:53 +00:00
fvdl c8ba6436ed If fstat info was passed, and from it it can be seen that the file size
is smaller than an ELF header, don't even bother to try to look at it.
Avoids coredumps with zero-sized files.
2003-02-06 12:38:17 +00:00
perry 1f4ad37fe3 "Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
2003-02-05 00:02:24 +00:00
perry 8a49ec08e4 "Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
2003-02-04 23:07:28 +00:00
christos 580d21c8c2 undo mallocvar.h change! 2003-02-02 02:31:14 +00:00
tron edb9087c05 Include "sys/mallocvar.h" with "_KERNEL" defined in time to avoid
build failure because MALLOC_DECLARE() is not defined.
2003-02-01 21:12:25 +00:00
tron 3125c302ff Fix build problem by rearranging the order of "#include" statements so
that "sys/mallocvar.h" gets include while "_KERNEL" is defined.
2003-02-01 17:59:47 +00:00
mrg a9119e2a88 make this build on alpha after daddr_t->64bit 2003-01-28 08:34:17 +00:00
fvdl a3ff3a3038 Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
2003-01-24 21:55:02 +00:00
lukem 1075c8325b Apply DoS fix as described by Crist J. Clark <crist.clark@attbi.com>
on <security@freebsd.org>, and subsequently in FreeBSD's cvs repository
as libexec/ftpd/ftpd.c rev 1.133:

	The FTP daemon was vulnerable to a DoS where an attacker could bind()
	up port 20 for an extended period of time and thus lock out all other
	users from establishing PORT data connections. Don't hold on to the
	bind() while we loop around waiting to see if we can make our
	connection.

Bump version to 20030122.
2003-01-22 04:46:08 +00:00
lukem 6d15ebd30b Fixes from Dmitry Sivachenko <demon@freebsd.org>:
- always set "curname" to something appropriate (even when logging is
  not in effect).
- fix usage for "PORT" command
2003-01-22 04:33:35 +00:00
kleink b3df6303a9 Rename `sigset' locals to avoid symbol shadowing warning. 2003-01-16 09:38:37 +00:00
itohy 4e2a4fe8fc Fix problem where dlclose() falls into infinite loop. 2003-01-16 08:45:56 +00:00
matt 0655a07988 Fix bug where only 2/3 of the PLT was being synched with the icache.
PLT entries are 12 bytes.  Add a #define for that and replace the
explicit values with the PLT_ENTRY_SIZE.  This bug can cause random
SIGILL signals to happen.
2003-01-11 01:33:56 +00:00
manu 32adf030a4 ftpd was unable to service the pwd request once you entered a directory
without search permission. This confused some ftp clients.

We fix this problem by maitaining a cached path when getcwd() does not work.
The symbolic links and ../ are resolved in the cached path, and it is finnally
checked for accuracy by comparing ./ and the cached path with stat (device
and inode comparison). If the comparison fails, pwd fails as it did before,
and if the comparison succeeds, the cached path is displayed.

If paths are too long, we should just compare ./ with a truncated path and
fail, thus making pwd displaying an error as it did before.
2003-01-08 18:07:31 +00:00
christos 5bae7276e8 Make this work finally, by prepending _PATH_DEV to the tty name. 2002-12-18 15:20:47 +00:00
wiz 7d87739e31 Add man page for utmp_update(8), reviewed by Christos. 2002-12-16 22:45:15 +00:00
yamt c2484eff3b - fix memory leak.
- add more error checks.
- spaces -> tab
2002-12-15 08:38:17 +00:00
yamt ad4e5e5793 for -b, use ssize instead of segshift.
segshift is invalid for v2 filesystems.
2002-12-15 07:25:37 +00:00
junyoung 8707cd2a36 Gracefully exit when invoked directly. Use of assert() here caused a segfault.
Address PR#11785.
2002-12-14 15:37:57 +00:00
junyoung 9e11602ee9 Remove comment which is not true any more. alpha and i386 support
R_xxx_COPY relocations.
2002-12-14 09:13:00 +00:00
thorpej e8cc3884de Rename __LDPGSZ to AOUT_LDPGSZ, to accurately reflect what it is. 2002-12-10 17:14:02 +00:00
thorpej 65c75a7f06 Avoid conflict with reserved identifer "log". 2002-12-06 02:03:18 +00:00
thorpej 7ec31d736f Avoid conflict with reserved identifier "log". 2002-12-06 01:59:22 +00:00
junyoung fd1f5e8f1b A bit speedup: in _rtld_load_object(), save the number of calls to
strcmp() by performing path name length comparison first. In the test
with Mozilla, the number was reduced to 1068 from 7182 (yes, we saved
6114 strcmp()!).
2002-12-05 04:56:56 +00:00
yamt eef82bb71b fix a typo in previous.
PR 19278 from Ryo HAYASAKA.
2002-12-05 02:03:56 +00:00
thorpej 044aeabaad Bintuils-current initializes the GOT entries to 0 (instead of the
base-relative offsets that were placed there previously), so we
must use a different mechanism to compute our reloc base.

Patch from Charles Hannum.
2002-12-04 01:19:37 +00:00
lukem 20b1f73235 revert previous; this *DOES* use -lutil 2002-11-30 21:56:34 +00:00
lukem 764c86e2b1 don't need -lutil here 2002-11-30 03:16:14 +00:00
wiz f5cc72e57b -1 -> \-1. 2002-11-29 19:22:01 +00:00
christos 8f7c885f66 clean this up a bit. avoid annoying code duplication on opening files,
and make error messages consistent.
2002-11-29 17:15:46 +00:00
lukem ee2d1afbb4 - convert to using libc's strsuftoll(3)
- use LLT (aka 'long long type') for all numeric class parameters
- improve description of various ftpd.conf(5) options
- statcmd(): print out:  mmapsize readsize writesize sendbufsize sendlowat
2002-11-29 14:39:59 +00:00
mycroft be3692c5a7 Back out the last two changes. They were misguided, and the code worked
correctly before.
2002-11-25 19:49:25 +00:00
fvdl 100e201ec6 Replace return -1 in rtld_bind with _rtld_die() call. 2002-11-24 18:19:23 +00:00
fvdl d93db1cfce Implement self-relocation as is required now. 2002-11-24 18:16:45 +00:00
fvdl 5505734fa9 For the debug case, print relocbase as well at the start of _rtld(). 2002-11-24 18:13:30 +00:00
yamt 84677ad64e fix calculation bugs that prevents coalescing from working properly.
PR 19133.
2002-11-24 08:47:28 +00:00
simonb 11823a584d Only warn on double-word displacements for displacements less
than -0x20000000, not -0x1f000000.  Quells the endless stream
of
	ld: Double word displacement -535682276, out of range
style warnings that have annoyed my once too often.
2002-11-22 12:40:20 +00:00
junyoung 2cc0cde8f5 Now _rtld_relocate_objects() returns with error as soon as any of
subsequent calls in it fails.

Spotted by wiz and enami.
2002-11-22 04:39:37 +00:00
junyoung b5ffe4c33c Simplify code a bit. 2002-11-21 19:09:56 +00:00
itojun b39cb313c6 verify strvis() buffer length is enough. make sure string termination before
use.  remove extra ntohs() which is not needed.  from Charles Blundell
2002-11-20 21:01:57 +00:00
itojun 35ddf151dc die if strdup fails 2002-11-16 15:41:17 +00:00
itojun 92ebc57756 audit use of strto* - beware of ERANGE, as well as typecast on result. 2002-11-16 03:10:34 +00:00
nathanw 15f633fbd3 In _rtld_load_library(), ensure that the old _rtld_error state (a message from
a previous error, or NULL) is preserved if the search eventually succeeds.

Addresses the problem pointed out in PR pkg/19024.
2002-11-14 21:07:46 +00:00
nathanw 6c24ccfd1f Remove "extern const chat *_rtld_error_message;". There is no such
variable, and never has been.
2002-11-14 20:11:48 +00:00
itohy cbb1f0fb0f MKDYNAMICROOT for a.out 2002-11-12 14:33:48 +00:00
christos 511dcb963a PR/18929: Kimmo Suominen: rpc.rusersd ignores utmpx 2002-11-04 22:03:38 +00:00
mrg c066bc7b3a update to new dkstats.c interface; no changes to how this program works.
pointed out by uwe@ in private email.
2002-11-02 01:59:24 +00:00
matt 01ba93bc3c Convert to register prefixes. 2002-10-31 20:23:25 +00:00
wiz 64ffd490cb Fix typos. Found by Adrian Mrva. 2002-10-29 16:19:49 +00:00
lukem f0349d3444 tweak reference to me 2002-10-26 04:21:12 +00:00
lukem 02c9f40f67 crank version for statfilecmd() 'fix' 2002-10-26 04:19:56 +00:00
itojun 4af2926283 Turns out that our implementation of STAT wasn't RFC 959 compliant.
This version is now RFC 959 compliant, using a patch adapted from one
sent in by david.leonard@eecs.uq.edu.au

openbsd libexec/ftpd/ftpd.c revision 1.69.

(see RFC959 page 36)
2002-10-25 01:45:37 +00:00
itojun 1d2f66eb21 add DPADD 2002-10-23 01:11:09 +00:00
itojun e39579269f add DPADD 2002-10-23 01:06:11 +00:00
itojun b4dcfbab07 correct libvers DPADD 2002-10-23 01:04:25 +00:00
itojun 24fcff9a4a add DPADD based on LDADD (not sure if the value is perfectly right) 2002-10-23 01:02:49 +00:00
thorpej b777dba640 _rtld_bind(): Don't use "rela" until after we've (potentially) adjusted
it.
2002-10-18 20:35:25 +00:00
darrenr 672b9a1044 * enclose unknown command strings inside a pair of 's to clearly mark the
text as being the 'whole' part received.
* change a HELP reply from 214 to 504 when there is an error looking for
  help on a command.
2002-10-12 08:35:16 +00:00
darrenr 256e201705 "Command not implemented." is 502, not 501 (RFC959, 4.2.1) 2002-10-11 10:57:51 +00:00
itojun 6701e6929b sa_family on wire format is network byteorder
from Alexander Yurchenko <grange@rt.mipt.ru>
2002-10-08 02:50:51 +00:00
lukem 0acfaa653a Change arguments of login_utmp(line, name, host) (to be consistent
with logwtmp(3)/logwtmpx(3)), and call correctly.
Resolves [bin/18498] by Geoff Wing, who identified that the previous
version was being called incorrectly, albiet in a different manner.
2002-10-07 13:29:59 +00:00
junyoung d0c512001c Embedded whitespace in dirname is supported again. 2002-10-06 01:36:36 +00:00
junyoung 2036ad0c3f A line whose length is 0 always begins with '#'. 2002-10-05 16:26:37 +00:00
junyoung e4d4608a8b Minor cleanup. 2002-10-05 16:13:31 +00:00
junyoung 1b5e50eb7b Disable DEBUG again. 2002-10-05 15:52:15 +00:00
junyoung 2e85345237 Better fix of parser bug. 2002-10-05 15:43:56 +00:00
junyoung 89342b95bb Don't call _rtld_process_mapping() with null string. 2002-10-05 15:04:49 +00:00
mycroft 80b0665a93 Simplify the hint file parser a bit. 2002-10-05 12:23:39 +00:00
mycroft ad8ccd6290 Minor cleanup. 2002-10-05 11:59:03 +00:00
mycroft 5d4bc1adf5 Make this work for ldd again. 2002-10-05 00:13:27 +00:00
mycroft 2a88686d7a Recode _rtld_elf_hash() so it compiles better (at least on i386 and arm).
Still could be better on i386, but only written in assembler...
2002-10-04 20:34:10 +00:00
mycroft 6f56cdc91f Rearrange _rtld_map_object() a little, so that we don't have to have the first
page of the object double-mapped.  Not that it matters much, but someone was
whinging about it.
While I'm at it, nuke obj->phdr and obj->phsize; they're unused.
2002-10-04 18:50:43 +00:00
mycroft 0a519951b5 Pull out some objlist functions in ldd. 2002-10-04 04:04:26 +00:00
mycroft 3c57a33db5 Don't actually bother maintaining _rtld_list_main and _rtld_list_global in
ldd.
2002-10-04 04:01:13 +00:00
mycroft dfaba15604 Move the definition of _rtld_list_main so ldd builds again. 2002-10-04 03:59:40 +00:00
mycroft 4172074119 Skip the lazy PLT relocation if relocbase==0 (useful if libraries are loaded
at their VMA address).
2002-10-03 20:39:22 +00:00
mycroft 7a48cdb883 As seen on tech-userlevel...
There are several optimizations here:

1) Objects on _rtld_list_main do not participate in the DAG structures
   at all.  This is okay because all symbols must be resolvable at
   link/load time, and _rtld_list_main is always searched first, so
   any references from those objects must necessarily be resolved to
   other objects on _rtld_list_main.

   (Making this work completely required setting obj->main a bit
   earlier; hence the RTLD_MAIN hack.)

2) Objects on _rtld_list_main are not put on _rtld_list_global,
   preventing an extra search.

3) A bit is used to keep track of whether an object is on
   _rtld_list_global, so we don't have to do a silly linear search.

4) A small attempt is made to prevent objects being put on the DAG
   lists multiple times (using a silly linear search).

The sum of this appears to be a ~10% (.3s) reduction in Mozilla's
startup time on my 800MHz box.

Also, make sure _rtld_objmain->path is always set, just to make the
debug output nicer.
2002-10-03 20:35:19 +00:00
lukem adbaddc918 Enable GLOB_BRACE for ftpd.conf(5)'s `notify' directive.
Now it's much easier to list multiple files...
2002-10-03 02:56:47 +00:00
mycroft f66c66a92c Do not put objects on _rtld_list_main on any DAG member list -- any symbol we
will have already been found during the _rtld_list_main walk, so there's no
point in doing it again.
2002-10-03 01:09:21 +00:00
wiz 917e421ecb especially and interpretation instead of espcially and intrepretation.
By Adrian Mrva.
2002-10-02 11:10:38 +00:00
junyoung a189aa3eba Store pathnames of shared objects not found in search paths in cache
and utilize it. This greatly reduces the number of calls to open(2) and
malloc(3) for programs like mozilla that depend on many shared objects
while it doesn't affect performance of small programs.
2002-10-01 14:16:53 +00:00
wiz d6285bbf1d Begin new sentences on new lines.
Patch from Robert Elz (kre at munnari oz au).
2002-09-29 14:05:52 +00:00
wiz b6e0393610 End .Bl with .El. While here, sort options and improve markup a bit. 2002-09-29 14:04:59 +00:00
wiz 560a739939 Remove some unneeded backslashes. 2002-09-29 13:57:57 +00:00
junyoung b615e15549 Call NEW() rather than CNEW(). 2002-09-28 05:00:27 +00:00
thorpej 09a0767aa9 Only use the MKDYNAMICROOT semantics (i.e. -rpath=/lib,/usr/lib and
-dynamic-linker=/libexec/ld.elf_so) if the BINDIR of the program being
built is /bin or /sbin.

The reason we do this is because now all programs *except* those in
/bin and /sbin (i.e. the "special cases") match the default the compiler
uses, which is what is used for things in e.g. xsrc, pkgsrc, and other
random 3rd party programs.

This is done by decoupling where a shlib is installed from how it
is located.  Two new variables, SHLIBINSTALLDIR and SHLINKINSTALLDIR,
contain the former information, and key off MKDYNAMICROOT only.  SHLIBDIR
and SHLINKDIR contain the latter, and key off MKDYNAMICROOT and BINDIR.

The SHLIBINSTALLDIR, SHLIBDIR, _LIBSODIR, SHLINKINSTALLDIR, and
SHLINKDIR parameters are moved to a new <bsd.shlib.mk>; see bsd.README
for usage details.
2002-09-27 21:37:50 +00:00
mycroft c5739d43db Change the munmap() of the text-data gap to mprotect(PROT_NONE). This avoids
having scattered little mappings, although it's probably not the best way...
2002-09-27 19:48:24 +00:00
mycroft 0a20e1e977 We don't need to save r7, either... 2002-09-27 03:46:12 +00:00
mycroft b95736d94a Put back the short-circuiting code -- Matt claims there are functions that rely
on it.
OTOH, don't bother saving r6 a second time.
2002-09-27 03:34:22 +00:00
mycroft 6d8d08304c 1) There is no reason to flush the I$ here, given that we do not modify any
instructions.  Function calls use GOT indirection, and we only patch the
   GOT.
2) The mask-comparison optimization always fails, because the saved mask
   always has 0x2000 set, and the PLT stub mask never does.  So, remove it.
2002-09-27 02:46:05 +00:00
mycroft 42fb5b53c2 Save one more instruction. 2002-09-27 02:14:38 +00:00
mycroft 06f9fa98b0 Save relocbase in %r10, not %r1.
Also, save one instruction.
2002-09-26 23:28:52 +00:00
mycroft d437f6520b Implement a self-relocate function for the VAX. 2002-09-26 22:26:26 +00:00
mycroft 1c495430dd Remove the `self' args to _rtld_relocate_objects() and
_rtld_relocate_nonplt_objects().
2002-09-26 20:42:10 +00:00
mycroft 7d4bbc7f4e Add an iffy heuristic that allows us to do lazy binding with new objects, but
detect old objects and deal with them.
2002-09-26 20:41:34 +00:00
mycroft 73a80999b7 Clean up _rtld_init() -- there is no need to avoid globals.
Remove the call to _rtld_relocate_objects() completely -- except on VAX, where
we TEMPORARILY call _rtld_relocate_nonplt_objects() directly.
Also add more assertions -- ld.elf_so should never have PLT relocations.
2002-09-26 20:35:56 +00:00
mycroft 5f24ee89f3 Don't bogusly set obj->pltrela{,lim} if there is no DT_PLTREL. 2002-09-26 20:27:50 +00:00
mycroft a217e118cd *poof*
-fomit-frame-pointer works on 68k.
2002-09-26 14:30:47 +00:00
mycroft 3e9c6b1044 -vomit-frame-pointer is buggy on 68k. *sigh* 2002-09-26 13:56:01 +00:00
mycroft 273d2b19b4 Hm, the const isn't going to work. 2002-09-26 13:43:52 +00:00
mycroft 00088c228c Do not attempt to free(_rtld_objself.path) -- it's a pointer into our data
segment.
2002-09-26 13:42:05 +00:00
mycroft f4f740de3a By default, compile without DEBUG, and with -fomit-frame-pointer. 2002-09-26 12:59:29 +00:00
mycroft 15025431b4 Update a comment. 2002-09-26 03:25:29 +00:00
mycroft fd7e0d92f3 Add a rdbg() in _rtld_bind(). 2002-09-26 02:52:05 +00:00
mycroft 723a5f8a50 Remove a meaningless bit from a rdbg(). 2002-09-26 02:51:27 +00:00
mycroft ee398b4d07 Remove vestigal comments about _rtld_bind_start_0() -- it works now. 2002-09-26 02:25:57 +00:00
mycroft 26043b23b0 Make room for the argument save area in _rtld_start(). The PLT stub already
made room from _rtld_bind_start(), but add a comment explaining the instruction
it uses.
2002-09-26 02:14:10 +00:00
mycroft f1c792d648 Make the stack frame 96 bytes, like GCC does. 2002-09-26 02:05:41 +00:00
mycroft bde7a965da Tweak the save instruction in the PLT stub rather than adding an instruction
to the binder entry stub...
2002-09-26 01:59:16 +00:00
mycroft d314d82b47 Allocate space for the argument space area in both _rtld_start() and
_rtld_bind_start().  Not needed normally, but if we compile ld.elf_so with
-g, it blows up without this.
2002-09-26 01:54:52 +00:00
mycroft 6bff9ffc3d For consistency, use Elf_Word* to point to code, not Elf_Addr*. 2002-09-25 22:33:54 +00:00
mycroft 0079455251 Add a comment explaining some of the magick. 2002-09-25 22:29:12 +00:00
mycroft f6db390b5a Fix a bug that caused PLT entries to effectively not be patched.
Also, fix more bugs in the large-PLT case -- my test program works now.
2002-09-25 22:25:11 +00:00
mycroft 2997d64776 Make this work with PLTs larger than 8192 entries (64KB). Not tested
exhaustively, but it works in some simple cases.
2002-09-25 21:11:18 +00:00
mycroft d4e6f3ff08 Swap registers %o0 and %o1 in the binder stub to say one instruction.
Fix an obvious bug in the 64-bit PLT fixup: the SLLX was by 12 bits, when it
should be 32.

Fix what *appear* to be two bugs in the >32768 PLT entry stub:
* One division was wrong (/14 rather than /24).
* We need to subtract 1048576 (to make the offset relative to the beginning of
  the upper section), not add it.
This path is still untested, and buggy.
2002-09-25 16:35:08 +00:00
mycroft 9e31b44846 There is no need to save and restore a second register window in the binder
stub.
2002-09-25 14:38:51 +00:00
mycroft afb1082706 _rtld_bind_start_0_stub() is not actually used. 2002-09-25 14:36:37 +00:00
mycroft 028dd5150a Push a multiple from _rtld_bind_start_[01]() to _rtld_bind(). 2002-09-25 14:35:39 +00:00
mycroft 23b2275ee8 Partly fix this port -- still needs a self-reloc function. 2002-09-25 08:37:57 +00:00
mycroft a9c999925c We don't need to save quite as many registers in the stub. 2002-09-25 08:00:26 +00:00
mycroft 729925dfb9 Push the _rtld_bind() interface into MD code -- it's just a trivial wrapper
anyway.
2002-09-25 07:27:49 +00:00
mycroft 305b0ffce5 #if defined -> #ifdef 2002-09-25 06:43:46 +00:00
itojun d80101c91c Allocate vis_user on the stack instead of using malloc(). This
way we don't have to worry about malloc() failure.  Also closes
a memory leak since vis_user was never free()d.  Lack of malloc()
checking pointed out by Peter Werner.
from openbsd
2002-09-25 04:57:59 +00:00
mycroft 896795d8a3 Minor cleanup, for clarity. 2002-09-25 03:57:15 +00:00
mycroft a3c903f7cb Resolve the GOT before doing relocations. Then, when doing relocations, for
symbols in the global part of the symbol table, use the updated GOT entry
rather than doing a lookup.  (This provides the same effect as `-z combreloc'
on other platforms -- at most one lookup is done per symbol.)

Unfortunately, it is necessary to turn off lazy binding on MIPS.  As the
comment says:

                         * XXX DANGER WILL ROBINSON!
                         * You might think this is stupid, as it intentionally
                         * defeats lazy binding -- and you'd be right.
                         * Unfortunately, for lazy binding to work right, we
                         * need to a way to force the GOT slots used for
                         * function pointers to be resolved immediately.  This
                         * is supposed to be done automatically by the linker,
                         * by not outputting a PLT slot and setting st_value
                         * to 0, but GNU ld does not do so reliably.
2002-09-25 03:52:06 +00:00
mycroft 646628d7fa DOH! Adjust all the stack slots in _rtld_bind_start() so that the saved $a0
is not in _rtld_bind_mips()'s $a3 argument save area.
2002-09-24 21:57:20 +00:00
mycroft fb3dfbb81b Add a comment about the function pointer nonsense. 2002-09-24 20:27:07 +00:00
mycroft 216a20fcc4 Put back the `in_plt' nonsense for now.
It turns out there is some deep-seated wackiness WRT function pointer
comparisons...
2002-09-24 20:23:11 +00:00
mycroft 9d1d2c30c8 Reverse the previous patch, but make the dbg()s more informative. 2002-09-24 18:28:42 +00:00
mycroft 8510028476 Touch up a little more -- some of the dbg()s never actually printed anything. 2002-09-24 18:25:54 +00:00
mycroft 1ad20cb78f Previous change was done wrong. 2002-09-24 18:23:14 +00:00
junyoung d0e76e42b6 G/c dbg()'s. 2002-09-24 18:03:46 +00:00
junyoung 5afbf1cbce Make sure that dbg() is disabled if LD_DEBUG is not defined. Now
debugging is easier with RTLD_DEBUG_RELOC.
2002-09-24 17:51:11 +00:00
mycroft 64d3d6215a Ignore JMP_SLOT relocs when doing non-PLT relocations. The relalim trimming
hack doesn't always work, because ld(1) sometimes puts the sections in the
wrong order.
2002-09-24 15:04:48 +00:00
mycroft bddb0d021d Similarly, remove support for short arguments. 2002-09-24 14:09:43 +00:00
mycroft fa344ccc4b Remove quad support. We don't need it, and it wastes a lot of space. (It
pulls in {,u}{div,mod}di3() and qdivrem().)
2002-09-24 14:05:33 +00:00
mycroft 56288dc0e5 %ld -> %p 2002-09-24 13:59:31 +00:00
mycroft fa5df29420 Include xassert() only if DEBUG, like the real assert().
Also, xassert() calls abort(), so there's no need to do it in all of the
callers.
2002-09-24 13:06:07 +00:00
mycroft 7f44855294 Remove the SVR4_LIBDIR madness. 2002-09-24 12:52:20 +00:00
mycroft 3c16ffb1dd Woops, unmap the first page in the `win' case, too.
Tidy up a bit.
2002-09-24 12:44:58 +00:00
mycroft 72b0e512c3 Change the comment about l_offs. 2002-09-24 12:18:32 +00:00
mycroft 9d8c69b929 Remove vestiges of VARPSZ. 2002-09-24 12:12:07 +00:00
junyoung 175c20cbcf Nuke PAGESIZE. 2002-09-24 09:45:59 +00:00
junyoung 4b4a707c66 Use _rtld_pagesz instead of PAGESIZE. 2002-09-24 09:35:13 +00:00
junyoung d190613fbb space -> tab. 2002-09-24 09:26:43 +00:00
junyoung 93f2d9023a Don't need to use union any longer. 2002-09-24 09:22:51 +00:00
junyoung 272e959468 Remove '\n' at the end of dbg strings. 2002-09-24 08:56:30 +00:00
junyoung 61e1361da6 END_SYM is no longer used. 2002-09-24 06:43:14 +00:00
mycroft 97aed9957d -I${.CURDIR} is done at the top-level, so there's no need to do it here. 2002-09-24 01:59:44 +00:00
mycroft b59c269424 Nuke reference to RTLD_RELOCATE_SELF. 2002-09-24 01:58:44 +00:00
mycroft c3ece2a45f Use/require AT_PAGESZ on all platforms. (The kernel has exported it for ~3
years now.)  Use _rtld_pagesz instead of getpagesize() to determine the page
size in our local malloc().  Saves a system call.

Also, since we're now relocated early, we don't need to be careful to avoid
globals, so most of the VARPSZ hacks are eliminated.
2002-09-24 01:24:44 +00:00
mycroft d1351c627c Um, a little bit of sanity here:
l_addr is always supposed to be obj->relocbase -- or so says the GDB code that
uses it.  So, set it to this on all platforms.  It already was on VAX
explicitly, and on everything else except MIPS implicitly (because
mapbase==relocbase for all existing shlibs).  For some silly/stupid reason, a
new field was created that the MIPS GDB currently uses.
Another MD #ifdef bites it.
2002-09-24 00:33:39 +00:00
mycroft f1184d192e Very minor cleanup of the previous. 2002-09-24 00:02:46 +00:00
mycroft 86103e2f0e Several small changes that shave 7-8% off the simple-exec-loop test:
* Rename _rtld_find_library() to _rtld_load_library().  It now calls
  _rtld_load_object() if necessary to actually load the object, rather
  than having the caller do it.  To do this, it also takes the `mode'
  argument that gets passed to _rtld_load_object().

* On a related note, remove _rtld_check_library(), and instead call
  _rtld_load_object() to instead try actually loading the object.  We
  save two extra namei's and a bunch of redundant work (almost
  literally the same code) this way.

* In _rtld_map_object(), mmap(2) the first page read-only, rather than
  read(2)ing it.

* In _rtld_symlook_obj(), compare the *second* character of the symbol
  name before calling strcmp().  (This first character is too
  frequently `_', and turns out to not be helpful, in libc.)

* Also in _rtld_symlook_obj(), remove the bogus STT_FUNC special case
  -- this also allows removing the `in_plt' argument to
  _rtld_symlook_list() and _rtld_symlook_obj().

Also:

* In _rtld_obj_from_addr(), rather than trying to look up `_end' in
  the each object, instead use obj->mapsize as the upper bound.
2002-09-23 23:56:46 +00:00
mycroft aae6c28cf9 null commit 2002-09-23 12:44:34 +00:00
itojun a9fc5f306a poll.h, not sys/poll.h 2002-09-23 03:32:34 +00:00
mycroft c3a2d8b7ba Add combreloc code here too. 2002-09-21 17:51:44 +00:00
junyoung 930998f892 Print the name of dynamic linker actually loaded. 2002-09-21 05:24:17 +00:00
mycroft 9a36a8340f Use the argument to stilloob() for the poll... 2002-09-20 19:13:24 +00:00
mycroft e62e5a8b1a Remove dead code. 2002-09-20 19:11:17 +00:00
mycroft 49ac051d58 Remove a small piece of dead code. 2002-09-20 19:07:34 +00:00
junyoung 48910dcfc1 Cosmetic changes (long lines). 2002-09-20 03:39:22 +00:00
itojun 89b1e287f7 find_user() in process.c does an unbounded copy into a destination
buffer that is smaller in size than the source buffer.

also, there is no guarantee that any of the string components of
the request packet are null terminated.

in some cases, not all elements of the response buffer are
explicitly set. specifically pad and addr. a talk client can spy to
see which host is talking to which host by sending out regular
packets, to which talkd responds without clearing the addr element.

from xs@kittenz.org
2002-09-19 14:39:51 +00:00
junyoung 18139870a5 Cosmetic changes. 2002-09-19 14:05:37 +00:00
christos 6d0f752a65 don't core dump setting progname if argv[0] == NULL. From xs@kittenz.org 2002-09-19 13:59:46 +00:00
lukem e3b1a0e70b use NETBSDSRCDIR as appropriate 2002-09-19 03:17:50 +00:00
mycroft 720a68f0ca select() -> poll() 2002-09-18 20:58:56 +00:00
mycroft 51581bcb01 select() -> poll() 2002-09-18 20:37:11 +00:00
mycroft 015ea63be5 Fix an error message. 2002-09-18 20:20:28 +00:00
mycroft 315144beb5 select() -> poll() 2002-09-18 20:17:55 +00:00
mycroft 5580adb284 select() -> poll() and nanosleep() 2002-09-18 20:04:51 +00:00
junyoung a5390eb121 _rtld_setup_pltgot() belongs to reloc.c. 2002-09-18 07:35:40 +00:00
lukem bafe5da620 use bsd.own.mk instead of the (obvious typo of) bsd.obj.mk 2002-09-18 06:24:33 +00:00
lukem 99fe9d3e76 minor makefile delint 2002-09-18 06:17:38 +00:00
junyoung 9754fa4d8e Make immediate binding work again by actually implementing
_rtld_relocate_plt_objects(). Note that this is for i386 only;
any efforts to make it work on other platforms are left to
those who are using them...
2002-09-17 07:29:46 +00:00
thorpej 7e6d181789 No PC24 relocs will ever be unaligned. Pointed out by mycroft. 2002-09-15 01:08:04 +00:00
thorpej 672853f217 It is possible for reloc entries to point to unaligned locations; handle
this.
2002-09-15 00:52:08 +00:00
thorpej a2130a3a09 It is possible for reloc entries to point to unaligned locations; handle
this.
2002-09-14 23:53:21 +00:00
thorpej b01748bb26 It is possible for reloc entries to point to unaligned locations; handle
this.
2002-09-14 23:21:13 +00:00
mycroft a95d62a38e In _rtld_bind_mips(), if the symbol is undefined, die. 2002-09-13 20:32:24 +00:00
mycroft 712b838f43 Kill the extra newline in assert messages. 2002-09-13 19:50:00 +00:00
mycroft cc2b1e9844 Add an explanatory comment. 2002-09-13 19:27:19 +00:00
mycroft e3db70741f Turn DEBUG back on by default. It doesn't take much space. 2002-09-13 18:28:58 +00:00
mycroft 60330f4a69 The sense of the SHN_ABS test has always been reversed. Fortunately nobody
ever tried to reference stuff like _DYNAMIC_LINK and _gp_disp in C code...
2002-09-13 17:36:00 +00:00
mycroft 8f7fa0cfde Put back the lazy binding. For some bizarre reason, the linker occasionally
does not create a PLT entry for a symbol, so we test st_value!=0 to see
whether we can do a PLT fixup.
2002-09-13 17:07:12 +00:00
mycroft a8dd8878cf Er, turn off lazy binding for the moment. It doesn't seem to be fully working. 2002-09-13 16:54:14 +00:00
mycroft c1cf8538ec Simplify the GOT relocation code somewhat. 2002-09-13 16:31:28 +00:00
mycroft e8b2fe1d2a Actually do lazy binding on this platform. 2002-09-13 16:03:20 +00:00
thorpej 7c96dd1581 Rename man/config.{c,h} to man/manconf.{c,h}, so we don't have to
worry about problems including "config.h" when building as a host
tool.
2002-09-13 15:56:37 +00:00
mycroft 89a39bb54e The textrel special case is only needed for MIPS (due to a bug in BFD). 2002-09-13 15:27:30 +00:00
mycroft 7a962f974a Kill the sparc64 argc conversion hack. 2002-09-13 14:23:07 +00:00
mycroft a18c524897 Figure out obj->pltrel(a) after the dynamic section is parsed, so the relative
order of DT_PLTREL and DT_JMPREL is irrelevant.  Removes the need for yet
another weird #ifdef.
Also, be slightly more careful with the rel(a)lim trimming.
2002-09-13 13:28:43 +00:00
mycroft c74fdd7069 Use the addend on GLOB_DAT relocs (same as ABS32). 2002-09-13 05:45:46 +00:00
mycroft c65330320a Do not use the implicit addend on REFQUAD relocs (same as GLOB_DAT). 2002-09-13 05:45:13 +00:00
mycroft daf8118731 Remove an old comment. 2002-09-13 04:09:49 +00:00
mycroft 2f59687514 Almost all of the items in here are done. 2002-09-13 04:05:00 +00:00
mycroft 777a2b8bb0 If we match a symbol name, but it's undefined, do not continue searching the
hash chain.
2002-09-13 03:40:40 +00:00
mycroft bbe45a0623 Remove a dumb #ifdef -- if VARPSZ is not defined on sparc, the build will
bomb anyway.
2002-09-13 03:22:08 +00:00
mycroft 4de09f873b Nuke an unneeded hack for the Alpha. 2002-09-13 03:17:21 +00:00
mycroft 807a6ace45 Nuke two frivolous assert()s. 2002-09-13 03:12:40 +00:00
mycroft 4b55da479c _rtld_bind() is not used on MIPS. Should probably move it to MD code. 2002-09-13 03:09:38 +00:00
itojun a05a73b5b6 revert previous. wtmp{,x} entries need not be \0-terminated, so
strncpy is more proper.
2002-09-13 02:58:54 +00:00
mycroft f64e457cee Remove one more `dodebug' argument. 2002-09-12 23:11:37 +00:00
mycroft a3b892d178 Nuke -DRTLD_RELOCATE_SELF and `dodebug' from orbit. 2002-09-12 22:56:28 +00:00
mycroft f13bdd9850 Add some consts. 2002-09-12 21:06:38 +00:00
mycroft 5ad776fbd2 Move another declaration that doesn't belong in MI source. 2002-09-12 20:27:34 +00:00
mycroft de4565ee93 Prototype different functions. 2002-09-12 20:24:03 +00:00
mycroft 547bc13b97 _rtld_bind_start() is not used in MI code, so declare it in the MD code. 2002-09-12 20:20:58 +00:00
mycroft bf04efbfda ld.elf_so has no textrels on arm, i386 or vax -- and shouldn't on any platform,
but that's beside the point.
2002-09-12 19:43:03 +00:00
mycroft 6530c89689 Slight tweak. 2002-09-12 18:43:17 +00:00
mycroft 326f270bfb The GOT is Elf_Addr[], not Elf_Word[]... 2002-09-12 18:36:43 +00:00
mycroft 6f0bda739f This ld script is now unnecessary. 2002-09-12 18:33:39 +00:00
mycroft 1165ce6f38 Clean up a little. 2002-09-12 18:28:53 +00:00
mycroft 2346aaad04 Move GOT relocation code from _rtld_setup_pltgot() to
_rtld_relocate_nonplt_objects().  Add GOT self-relocation in
_rtld_relocate_nonplt_self().
MIPS ld.elf_so can now relocate itself.
2002-09-12 18:21:18 +00:00
mycroft 2b2534febf Add a `relocbase' argument to _rtld() and _rtld_init(), which is passed in
from the glue code in _rtld_start().  This is used to set objself.relocbase,
rather than assuming that it's the same as objself.mapbase (or 0 on MIPS).
Now -- with a bug fix to the kernel -- ld.elf_so can be linked at any VMA.
2002-09-12 17:45:41 +00:00
mycroft d04429c6a7 Figure out the relocation offset and pass it to _rtld(). 2002-09-12 17:43:30 +00:00
mycroft ebf50cdfbc Update comments. 2002-09-12 17:18:37 +00:00
mycroft ac81e3266b Snapshot of work to make MIPS ld.elf_so relocatable. 2002-09-12 17:08:32 +00:00
mycroft 5ee0e5e1c4 Pass the calculated relocation offset down to _rtld(). 2002-09-12 17:07:25 +00:00
wiz c4de963fb8 Bump date for -8. 2002-09-12 10:06:51 +00:00
wiz d5d10ab7d3 Sort options. 2002-09-12 09:34:24 +00:00
itojun 57afbee27d use strl*, not strn*. 2002-09-12 08:55:31 +00:00
lukem 38a05c7450 Use LOGIN_NAME_MAX instead of `10' for the size of the curname[] buffer.
Allows /etc/ftpchroot to work correctly for usernames > 9 characters.

Noted by Max Khon in the freebsd-stable mailing list, via Thomas Vogt in
private email.
2002-09-12 06:40:43 +00:00
kim 968e6be5e6 Replace -i with -8, which enables new 8-bit pass-through on the client. 2002-09-12 01:40:54 +00:00
bjh21 3cc5ae01bc Correct somewhere where, in rev 1.3, two new sentences had been dropped
into the middle of an existing sentence, and put them after it instead.
2002-09-11 23:11:41 +00:00
mycroft 1da1ca49f2 Do the _rtld_relocate_nonplt_self() thing here, and nuke the ld script. 2002-09-11 22:28:32 +00:00
mycroft fb69b8bec4 Implement _rtld_relocate_nonplt_self() here. 2002-09-11 21:14:08 +00:00
mycroft a57ae642a3 We don't use _GLOBAL_OFFSET_TABLE_ any more, so don't .global it. 2002-09-11 20:56:09 +00:00
mycroft fa0b5c37b2 This is a gratuitous null commit to force rtld.o to be rebuilt. 2002-09-11 20:48:21 +00:00
mycroft f1725abea5 Add a _rtld_relocate_nonplt_self() here too. 2002-09-11 20:45:52 +00:00
mycroft 403e42f619 Do self-relocation similar to sparc. 2002-09-11 19:46:40 +00:00
mycroft e46eb805f1 This ld script is no longer necessary. 2002-09-11 19:46:04 +00:00
mycroft aa1330ce71 Do the _rtld_relocate_nonplt_self() thing for SPARC. 2002-09-11 19:11:05 +00:00
mycroft 82148aec74 The ld script is no longer necessary. 2002-09-11 18:20:47 +00:00
mycroft d603bed369 Implement _rtld_relocate_nonplt_self() on Alpha. 2002-09-11 18:18:37 +00:00
mycroft 735f9f38c0 Split the `self' case out of _rtld_relocate_nonplt_objects, into a new function
_rtld_relocate_nonplt_self(), which is called from _rtld_start.
Now we're completely relocated before main() is called.
We also no longer need _GOT_END_, so junk the ld script.

This code assumes that ld.elf_so only contains RELATIVE relocs, but that's
supposed to be the case for -Bsymbolic anyway.
2002-09-11 17:23:23 +00:00
junyoung b240241362 Add $NetBSD$. 2002-09-11 14:19:30 +00:00
joda a55a6f7fef now gone 2002-09-10 22:44:28 +00:00
joda 7d3aba796f don't build kfd; there are security issues with heimdal 0.4e, and we
don't actually need it
2002-09-10 22:17:04 +00:00
mycroft db439ed878 Only one linker script is needed. 2002-09-10 14:19:18 +00:00
itojun 6c581a525d tabify 2002-09-10 04:06:26 +00:00
kim 5d2f386289 Add a switch for easy enabling of single-byte 8-bit output.
This is somewhat of a hack, but I find it better than having
to run env(1) from inetd(8), or changing the environment for
inetd(8) itself (and thus all daemons started by it).
2002-09-10 03:29:01 +00:00
mycroft 289d4ac1a5 Remove unneeded cruft from _rtld_start. 2002-09-10 02:52:33 +00:00
mycroft d048e19122 Shorten the startup sequence by a few instructions. 2002-09-10 02:24:51 +00:00
mycroft 9f0e145106 Nuke RTLD_RELOCATE_SELF on ARM. 2002-09-09 19:28:36 +00:00
mycroft d22977bb61 Indent branch delay instructions. 2002-09-09 19:01:52 +00:00
mycroft c127ff08fb Nuke RTLD_RELOCATE_SELF for SPARC. 2002-09-09 18:10:20 +00:00
mycroft 89520a5f6e Sync with current binutils. 2002-09-09 14:41:25 +00:00
mycroft ae0c8dfbc2 Get rid of RTLD_RELOCATE_SELF on i386.
* Add a ld.so.script that exports _GOT_END_.
* Prebind the GOT in _rtld_start.
* Skip over GOT relocs in _rtld_relocate_nonplt_objects().
This makes debugging work better at least.
2002-09-09 14:08:07 +00:00
wiz 221d594f18 Mention that -DDEBUG compilation is needed to get LD_DEBUG support.
Noted by Julio Merino in misc/18231.
2002-09-08 23:44:09 +00:00
thorpej 6a37882ec7 Fix a serious performance problem for large programs on the Alpha.
Large programs need multiple GOTs.  The lazy binding stub in the PLT
can be reached from any of these GOTs, but the dynamic linker only
has enough information to fix up the first GOT entry.  Thus, calls
through the other GOTs went through the time-consuming lazy binding
process on every call.

This fix rewrites the PLT entries themselves to bypass the lazy binding
for those GOT entries that the dynamic linker can't fixup.

Fix from FreeBSD.

Note that now that we patch up the PLT, we need to put back the "imb"
that was removed from the binder exit path.
2002-09-08 02:48:28 +00:00
mycroft 492895a9f9 Expand the comment about the R_TYPE(RELATIVE) special-case, as it's not quite
obvious from the code.  Also, just do it all the time, as an optimization.
2002-09-06 15:51:23 +00:00
mycroft 3eee01c5b9 Make the reloc tables const. 2002-09-06 15:32:56 +00:00
mycroft 6f0fac5efa Pass down an additional flag to _rtld_relocate_nonplt_objects() which
indicates whether we're relocating ld.elf_so itself.  Use this in some places
rather than hackish tests on `dodebug'.  (The Alpha and HPPA `dodebug' tests
were actually noops, because RTLD_RELOCATE_SELF is not set, and therefore
dodebug is always true.)
2002-09-06 15:17:53 +00:00
junyoung 3ffe941c3a Remove typedef which was never used. Meaningless comment as well. 2002-09-06 13:27:48 +00:00
mycroft 0df8d18100 Introduce a new flag, `isdynamic', which is used to remember whether the
executable was of type ET_DYN.  Use this instead of `mainprog' to determine
whether we need to do base-relative fixups of the PLT.  (This allows loading
non-relocatable objects, should we desire to do that at some point...)
2002-09-06 13:20:29 +00:00
mycroft 69b9a24021 More const poisoning. Now the entire _rtld_bind() path useds a const Obj_Entry. 2002-09-06 12:00:40 +00:00
mycroft b97e4047b7 Re-poison a lot of consts, now that the mark shite is gone. 2002-09-06 03:12:04 +00:00
mycroft a04012e731 Split _rtld_relocate_plt_object() into two MD functions:
* _rtld_relocate_plt_lazy() fixes up all the relocs pointing to the PLT.  (On
  most platforms it just does a simple base-relative fixup; on SPARC it does
  nothing.)
* _rtld_relocate_plt_object() does immediate binding for a PLT entry.
The basic gist is that this saves a bit of time on SPARC (where the iteration
through the pltrela table was gratuitous), and a little less time on all other
platforms.  A whole lot of #ifdef'ed crap is moved out of reloc.c, too.

NOT tested on: hppa sh x86_64
2002-09-06 03:05:35 +00:00
mycroft 5f016a11ef Repair a slight biff I made earlier -- do not exit the loop in
_rtld_relocate_nonplt_objects() early.
2002-09-06 02:01:39 +00:00
mycroft c59ffb0cc4 Remove all of the `mark' code. This is responsible for the `undefined PLT
symbol' errors, probably because the increment gets interrupted occasionally by
a signal.  In general, _rtld_bind() should not modify ANY internal state.
2002-09-05 21:57:09 +00:00
mycroft ac191986f3 Partially fix up some debug printf()s that don't need to use defobj. 2002-09-05 21:31:30 +00:00
mycroft bdc2ac1520 A few things:
* Pass a symbol number to _rtld_find_symdef(), not a r_info.
* Don't try to do a symbol lookup when we find an unsupported relocation;
  instead get the symbol name from the referencing object's strtab.
* Add preliminary support for `-z combreloc'-style startup optimization on
  i386, `#ifdef COMBRELOC'.
2002-09-05 21:21:06 +00:00
mycroft 1fa950d044 Fix one indentation error. 2002-09-05 20:12:43 +00:00
mycroft 74444a2ddb Rename _rtld_relocate_nonplt_object() to _rtld_relocate_nonplt_objects(),
and push the outer loop into it.  This actually shaves a couple % off startup
time at least on PCs.
2002-09-05 20:08:14 +00:00
mycroft 00c3ad1f56 Split _rtld_relocate_nonplt_object() into separate MD files. 2002-09-05 18:25:45 +00:00
mycroft b4a8cd2dbf Split MIPS relocation goo into mips_reloc.c. 2002-09-05 17:58:02 +00:00
mycroft ae16986458 Simplify a couple of tests to !__mips__. 2002-09-05 17:06:11 +00:00
mycroft 9e3442dc47 Combine the code that skips COPY relocs on most platforms (other than MIPS).
Remove the code that skips JMP_SLOT relocs (thus making ld.elf_so bomb if it
hits one in the non-PLT relocation table).
2002-09-05 17:01:13 +00:00
mycroft cf2d41da85 If REL(A)SZ extends into .rel(a).plt, trim rel(a)lim. This is actually due to
what is arguably a bug in BFD on some platforms (at least PPC and SPARC), but
I can't fix old binaries.
2002-09-05 16:58:16 +00:00
junyoung 515622e6db Remove unused arguments of _rtld_find_symdef(). 2002-09-05 16:33:57 +00:00
mycroft 1ea7e8253b Remove support for PowerPC static relocations, which are not present in shared
objects, and in any case are implemented WRONG.  (They're symbol-relative, not
base-relative.)
2002-09-05 15:47:52 +00:00
mycroft f4cbd3d6e2 Remove unused prototypes (including one for a non-existant function!). 2002-09-05 15:45:54 +00:00
mycroft 2635aa544a Make _rtld_setup_pltgot() a consistent interface on all platforms. 2002-09-05 15:38:22 +00:00
mycroft 1e06edb63b There is no need to do an imb after each call to the binder, because we only
patch the GOT, not the PLT.  However, do an imb when setting up the PLT thunk,
just in case.
2002-09-04 19:13:00 +00:00
junyoung 937e5f4f83 Previous commit broke the normal build; this should really fix the
problem, toolchain/18020. From Frederick Bruckman <fredb@immanent.net>.
2002-09-04 16:57:47 +00:00
junyoung 9cc71f17e2 Fix a problem that 'make obj' doesn't work within tools/makewhatis. 2002-09-04 06:39:58 +00:00
mycroft 1b6aaa02a2 Turn off DEBUG by default, and compile with -O3. (Tested on Alpha, ARM,
x86 and PowerPC.)
2002-08-31 18:18:14 +00:00