summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Massively extend libulog:ed2009-12-0511-158/+736
| | | | | | | | | | | | | | - Just like struct utmp, store strings inside struct utmpx itself. This is needed to make things like pututxline() work. - Add ut_id and ut_pid fields, even though they have little use in our implementation. - It turns out our "reboot" wtmp entries indicate a system boot, so remove REBOOT_TIME - Implement getutxline() and pututxline - Add getutxuser() and setutxfile(), which allows us to crawl wtmp and lastlog files as well. - Add _ULOG_POSIX_NAMES, so we can already use the POSIX names if we really want to.
* Fix many "function declaration isn't a prototype" warnings in libc.ed2009-12-0512-42/+27
| | | | | I've only fixed code that seems to be written by `us'. There are still many warnings like this present in resolv/, rpc/, stdtime/ and yp/.
* Don't let the C library depend on <utmp.h>.ed2009-12-053-14/+12
| | | | | | The maximum length of a username has nothing to do with the size of the username in the utmp files. Use MAXLOGNAME, which is defined as 17 (UT_USERSIZE + 1).
* Remove warnings from exec.c.ed2009-12-051-20/+19
| | | | | | | | The entries in the argv array are not const themselves, but sometimes we want to fill in const values. Just make the array const and use __DECONST() to make it const for the execve()-call itself. Also convert the only K&R prototype to ANSI.
* Use ANSI C prototypes inside termios.ed2009-12-051-31/+13
| | | | While there, add a missing __unused to hide a warning in tcsetbreak().
* Remove (hidden) warning about missing prototypes for fdevname(3).ed2009-12-051-0/+1
|
* Add a missing word to a sentence in the return values section.trhodes2009-12-041-1/+1
|
* - Update the Spanish NLS cataloggabor2009-12-031-5/+51
| | | | | | | | | | | Reviewed by: carvay, the.infamous.paul@gmail.com, Joan Picanyol i Puig <lists-freebsd-es@biaix.org>, Ing . Marcos Luis Ortiz Valmaseda <mlortiz@uci.cu>, eskanete@gmail.com, Jose M Rodriguez <josemi@freebsd.jazztel.es>, Guillermo Hernandez <guillermo@QuerySoft.es>, dani.doni@gmail.com
* Use USER_PROCESS instead of LOGIN_PROCESS.ed2009-12-033-6/+6
| | | | | | POSIX isn't clear about how the fields should be used, but according to utmpx(5) on Linux, LOGIN_PROCESS refers to a TTY that's still running a getty.
* Also implement ut_type.ed2009-12-033-0/+52
| | | | | I thought we couldn't emulate this field, but we can derive this field by looking at special values for ut_host, ut_line and ut_name.
* Add a new library: libulog.ed2009-12-0310-2/+693
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the things I really want to do, is to get rid of the limitations of our current utmp(5) mechanism: - It only allows 8 byte TTY device names. - The hostname only allows 16 bytes of storage. I'm not a big fan of <utmpx.h>, but I think we should at least try to add parts of it. Unfortunately we cannot implement <utmpx.h>, because we miss various fields, such as ut_id, ut_pid, etc. The API provided by libulog shares some similarities with <utmpx.h>, so it shouldn't be too hard to port these applications eventually. In most simple cases, it should just be a matter of removing the ulog_ prefix everywhere. As a bonus, it also implements a function called ulog_login_pseudo(), which allows unprivileged applications to write log entries, provided they have a valid file descriptor to a pseudo-terminal master device. libulog will allow a smoother transition to a new file format by adding a library interface to deal with utmp/wtmp/lastlog files. I initially thought about adding the functionality to libutil, but because I'm not planning on keeping this library around forever, we'd better keep it separated. Next items on the todo list: 1. Port applications in the base system (and ports) to libulog, instead of letting them use <utmp.h>. 2. Remove <utmp.h>, implement <utmpx.h> and reimplement this library on top. 3. Port as many applications as possible back to <utmpx.h>.
* The fd_mask type is an unsigned long, not an int, so treat the mask as ajhb2009-12-031-2/+2
| | | | | | | | | | long instead of an int when examining the results of select() to look for RPC requests. Previously this routine would ignore RPC requests to sockets whose file descriptor mod 64 was greater than 31 on a 64-bit platform. PR: amd64/141130 Submitted by: liujb of array networks MFC after: 3 days
* Properly support -fPIE by linking PIE binaries with specially-builtkib2009-12-029-35/+93
| | | | | | | | | | | | | | Scrt1.o instead of crt1.o, since the later is built as non-PIC. Separate i386-elf crt1.c into the pure assembler part and C code, supplying all data extracted by assembler stub as explicit parameters [1]. Hide and localize _start1 symbol used as an interface between asm and C code. In collaboration with: kan Inspired by: PR i386/127387 [1] Prodded and tested by: rdivacky [1] MFC after: 3 weeks
* Make <libutil.h> work when included by itself.ed2009-12-021-0/+28
| | | | | | | There are several reasons why it didn't work: - It was missing <sys/cdefs.h> for __BEGIN_DECLS. - It uses various primitive types that were not declared.
* Fix the dprintf() prototype.brueffer2009-12-021-2/+2
| | | | | | PR: 141087 Submitted by: Jeremy Huddleston <jeremyhu@apple.com> MFC after: 3 days
* Add an .Nm for strncat.brueffer2009-12-011-2/+3
| | | | | | PR: 141037 Submitted by: Jeremy Huddleston <jeremyhu@apple.com> MFC after: 3 days
* Temporarily revert the previous change because the linker has beengreen2009-12-011-36/+28
| | | | modified so that it will abort when the environment is bad.
* Describe what setpgid(2) does when pgid=0. The text has beenkeramida2009-12-011-0/+5
| | | | | | | | | | copied from NetBSD's manpage, and it also matches the behavior described by the Open Group's online copy of setpgid.2 at http://www.opengroup.org/onlinepubs/009695399/functions/setpgid.html Obtained from: NetBSD Submitted by: Petros Barbayiannis <petrosbarbayiannis@yahoo.gr> MFC after: 1 week
* Do not gratuitously fail *env(3) operations due to corrupt ('='-less)green2009-12-011-28/+36
| | | | | | | | | | | | | **environ entries. This puts non-getenv(3) operations in line with getenv(3) in that bad environ entries do not cause all operations to fail. There is still some inconsistency in that getenv(3) in the absence of any environment-modifying operation does not emit corrupt environ entry warnings. I also fixed another inconsistency in getenv(3) where updating the global environ pointer would not be reflected in the return values. It would have taken an intermediary setenv(3)/putenv(3)/unsetenv(3) in order to see the change.
* Update to BIND 9.6.1-P2. The vulnerability this is designed to fix isdougb2009-11-301-0/+4
| | | | | | related to DNSSEC validation on a resolving name server that allows access to untrusted users. If your system does not fall into all 3 of these categories you do not need to update immediately.
* Revert r199830 for now. Too many ports dlopen() libraries linked withkib2009-11-281-1/+1
| | | | libthr, but forgot to link main binary with it.
* - correct xref sectionsdanger2009-11-282-4/+4
| | | | | | PR: docs/140940 Submitted by: Bruce Cran <bruce@cran.org.uk> MFC after: 1 week
* Properly use the envp argument in execvPe().ed2009-11-271-2/+2
| | | | | | | | | | | | | | | execvPe() is called by _execvpe(), which we added to implement posix_spawnp(). We just took execvP() and added the envp argument. Unfortunately we forgot to change the implementation to use envp over environ. This fixes the following piece of code: | char * const arg[2] = { "env", NULL }; | char * const env[2] = { "FOO=BAR", NULL }; | posix_spawnp(NULL, "/usr/bin/env", NULL, NULL, arg, env); MFC after: 2 weeks
* Reset path name back to original correctly in fts_build() whenjh2009-11-261-5/+2
| | | | | | | | | | | FTS_NOCHDIR option is used. fts_build() could strip a trailing slash from path name in post-order visit if a path pointing to an empty directory was given for fts_open(). PR: bin/133907, kern/134513 Reviewed by: das Approved by: trasz (mentor) MFC after: 1 month
* Clarify that the value of the fts_info field is different in post-order.jh2009-11-261-4/+3
| | | | | | Discussed with: das Approved by: trasz (mentor) MFC after: 1 week
* Libthr cannot be dynamically loaded into the running process.kib2009-11-261-1/+1
| | | | | | | Mark it with -z nodlopen for now. Discussed with: jhb, kan MFC after: 3 weeks
* Implement sighold, sigignore, sigpause, sigrelse, sigset functionskib2009-11-264-8/+250
| | | | | | | | | | from SUSv4 XSI. Note that the functions are obsoleted, and only provided to ease porting from System V-like systems. Since sigpause already exists in compat with different interface, XSI sigpause is named xsi_sigpause. Reviewed by: davidxu MFC after: 3 weeks
* sigset() is the name of function specified by SUSv4.kib2009-11-261-4/+4
| | | | | | Replace it to avoid conflict. MFC after: 3 weeks
* In tac_get_av_value() empty attributes should be handled like 0-lengthattilio2009-11-251-1/+6
| | | | | | | | | | strings rather than unset strings. Fix the present wrong behaviour. Obtained from: Sandvine Incorporated Reviewed by: emaste Sponsored by: Sandvine Incorporated MFC: 1 week
* Fix a socket leak in ftp_request() after that a connection is established.attilio2009-11-251-3/+9
| | | | | | | Submitted by: Sandvine Incorporated Reviewed by: des, emaste Sponsored by: Sandvine Incorporated MFC: 1 week
* Style: use structure assignment rather than memcpy() to copy awollman2009-11-251-1/+1
| | | | structure.
* In clnt_raw_create(), avoid minor race condition initializing thewollman2009-11-251-4/+7
| | | | | | | file-scope variable clntraw_private. Found by: Clang static analyzer MFC after: 7 days
* In svc_raw_reply(), don't leave stat uninitialized if the MSG_ACCEPTEDwollman2009-11-251-3/+2
| | | | | | | && SUCCESS case succeeds. The stack garbage might be zero. Found by: Clang static analyzer MFC after: 7 days
* Eliminate more dead stores.wollman2009-11-257-10/+9
| | | | | Found by: Clang static analyzer MFC after: 7 days
* Make all three if conditions look similar by always initializing nsecwollman2009-11-251-1/+2
| | | | | | | | and moving the default initialization of prec into the else clause. The clang static analyzer erroneously thought that nsec can be used uninitialized here; it was not actually possible, but better to make the code clearer. (Clang can't know that sprintf() won't modify *pi behind the scenes.)
* In __mbsconv(), if prec was zero, nconv could have been usedwollman2009-11-251-1/+1
| | | | | | | | | uninitialized. Initialize it to a safe value so that there's no chance of returning an error if stack garbage happens to be equal to (size_t)-1 or (size_t)-2. Found by: Clang static analyzer MFC after: 7 days
* Eliminate dead store.wollman2009-11-251-1/+1
| | | | | Found by: Clang static analyzer MFC after: 7 days
* Revert the previous change to pthread_once() stub in libc. It is actuallyjhb2009-11-203-7/+3
| | | | | | | | a feature that libstdc++ depends on to simulate the behavior of libc's internal '__isthreaded' variable. One benefit of this is that _libc_once() is now private to _once_stub.c. Requested by: kan
* Replace gmt_is_set and the gmt_mutex lock with a pthread_once_t variable andjhb2009-11-201-12/+13
| | | | | | an init routine run on the first invocation via _once(). MFC after: 1 week
* Add an internal _once() method. This works identical to pthread_once(3)jhb2009-11-204-2/+78
| | | | | | | | | | | | | with the additional property that it is safe for routines in libc to use in both single-threaded and multi-threaded processes. Multi-threaded processes use the pthread_once() implementation from the threading library while single-threaded processes use a simplified "stub" version internal to libc. The libc stub-version of pthread_once() now also uses the simplified "stub" version as well instead of being a nop. Reviewed by: deischen, Matthew Fleming @ Isilon Suggested by: alc MFC after: 1 week
* Sync to P4thompsa2009-11-205-11/+155
| | | | | | | | | - fix a transfer cancelling bug/segfault [1] - correct a return code in the transfer cancel function. - add new API function, libusb20_tr_bulk_intr_sync(). Submitted by: HPS Reported by: Robert Jenssen [1]
* Make following functions be cancellation points:davidxu2009-11-181-4/+55
| | | | | | | mq_receive mq_send mq_timereceive mq_timedsend
* link libpthread because the librt really needs it to fully function.davidxu2009-11-181-0/+1
|
* Fix compiler warnings.davidxu2009-11-181-2/+2
|
* - Update Hungarian libc cataloggabor2009-11-171-0/+46
|
* Catch up with r130332 which changed the default timezone from GMT to UTC.obrien2009-11-171-2/+2
| | | | | Otherwise the tzload() (when called by gmtload()) fails to locate the UTC file and loads the posixrules.
* Sync with C.msg r199083.jkim2009-11-162-2/+94
|
* Fix grammar.brueffer2009-11-161-1/+1
| | | | | | PR: 140459 Submitted by: Jeremy Huddleston <Jeremyhu@apple.com> MFC after: 1 week
* Fix a memory leak in acl_from_text() in case the conversion succeeded.brueffer2009-11-161-0/+1
| | | | | Submitted by: Jim Wilcoxson <prirun@gmail.com> MFC after: 1 week
* Collapse devinfo_state_t with device_state_t in order to avoid aattilio2009-11-151-10/+2
| | | | | | | structure replication and improve manteneability. Reviewed by: jhb, imp Tested by: Riccardo Torrini <riccardo at torrini dot org>
OpenPOWER on IntegriCloud