summaryrefslogtreecommitdiff
path: root/libshouldbeinlibc
AgeCommit message (Collapse)Author
2016-11-27refcount: Fix usage in c++Samuel Thibault
g++ still doens't support non-trivial named initializers (sigh) * libshouldbeinlibc/refcount.h (REFCOUNT_REFERENCES): New macro. (refcounts_init, refcounts_unsafe_ref, refcounts_deref, refcounts_promote, refcounts_demote, refcounts_unsafe_ref_weak, refcounts_deref_weak): Use REFCOUNT_REFERENCES instead of explicit initializer.
2016-04-27libshouldbeinlibc: use the new assert in the refcount primitivesJustus Winter
* libshouldbeinlibc/refcount.h: Use 'assert_backtrace'.
2016-04-27libshouldbeinlibc: add assert(3) variant that prints backtracesJustus Winter
* libshouldbeinlibc/Makefile: Add new files * libshouldbeinlibc/assert-backtrace.{c,h}: New files.
2015-12-29fix compiler warnings in hurd/libshouldbeinlibcFlavio Cruz
2015-10-05Add missing null checks in libshouldbeinlibcJames Clarke
The getpwnam_r and similar functions only return non-zero on error, but not finding the given name/UID/GID does not count as an error. When they return 0, the value of the result (*result when looking at the arguments in the man pages) still needs to be checked for null. * libshouldbeinlibc/idvec-rep.c (lookup_uid): Check result for null. (lookup_gid): Likewise. * libshouldbeinlibc/idvec-verify.c (verify_passwd): Likewise. (verify_id): Likewise.
2015-09-09libshouldbeinlibc/maptime: use memory fencesJustus Winter
* libshouldbeinlibc/maptime.h (maptime_read): Use memory fences.
2015-01-03libshouldbeinlibc: Fix typo in local variable nameStefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-01-03lib*: Fix typos in comments (found by codespell)Stefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2014-12-10Replace `bzero' with `memset'Justus Winter
For reference, this patch was created using the following semantic patch, and then manually applying the change in all functions containing nested functions, as those are not supported by Coccinelle. @@ expression A, B; @@ - bzero (A, B) + memset (A, 0, B) * auth/auth.c: Replace `bzero' with `memset'. * boot/boot.c: Likewise. * defpager/defpager.c: Likewise. * exec/exec.c: Likewise. Also, drop `safe_bzero' and just use `hurd_safe_memset' directly. * ext2fs/ext2fs.c: Likewise. * ext2fs/getblk.c: Likewise. * ext2fs/pager.c: Likewise. * fatfs/pager.c: Likewise. * ftpfs/dir.c: Likewise. * ftpfs/netfs.c: Likewise. * isofs/inode.c: Likewise. * isofs/pager.c: Likewise. * libdiskfs/file-getfh.c: Likewise. * libdiskfs/file-statfs.c: Likewise. * libfshelp/fetch-root.c: Likewise. * libfshelp/start-translator.c: Likewise. * libftpconn/create.c: Likewise. * libftpconn/open.c: Likewise. * libftpconn/unix.c: Likewise. * libpipe/pipe.c: Likewise. * libps/procstat.c: Likewise. * libps/spec.c: Likewise. * libshouldbeinlibc/cacheq.c: Likewise. * libshouldbeinlibc/idvec.c: Likewise. * libshouldbeinlibc/ugids.c: Likewise. * libstore/argp.c: Likewise. * libstore/enc.c: Likewise. * libstore/kids.c: Likewise. * libthreads/alpha/thread.c: Likewise. * libtreefs/fsys.c: Likewise. * libtrivfs/file-statfs.c: Likewise. * mach-defpager/default_pager.c: Likewise. * pfinet/glue-include/asm/uaccess.h: Likewise. * pfinet/io-ops.c: Likewise. * pfinet/options.c: Likewise. * pfinet/socket.c: Likewise. * pfinet/timer-emul.c: Likewise. * pflocal/io.c: Likewise. * startup/startup.c: Likewise. * storeio/storeio.c: Likewise. * sutils/fstab.c: Likewise. * usermux/usermux.c: Likewise. * utils/fakeauth.c: Likewise. * utils/frobauth.c: Likewise. * utils/login.c: Likewise. * utils/x.c: Likewise.
2014-12-01libshouldbeinlibc: move the reference counting primitives hereJustus Winter
Declare all functions `extern inline' instead of `static inline'. This allows us to use them in functions declared as `extern inline'. * libshouldbeinlibc/refcount.h: Move here, and declare all functions `extern inline'. * libshouldbeinlibc/refcount.c: And define the functions here. * libshouldbeinlibc/Makefile: Add `refcount.{c,h}'.
2014-06-18libshouldbeinlibc: fix dead initialization in fmt_named_intervalJustus Winter
Found using the Clang Static Analyzer. * libshouldbeinlibc/timefmt.c (fmt_named_interval): Fix dead initialization.
2014-05-30build: Remove checks for 'getgrouplist' and 'uselocale'.Ludovic Courtès
GNU libc has had them for a long time. * configure.ac: Remove checks for 'getgrouplist' and 'uselocale'. * libshouldbeinlibc/idvec-impgids.c (_merge_implied_gids): Remove #ifdef HAVE_GETGROUPLIST and remove #else arm. * libthreads/cthreads.c: Remove #ifdef HAVE_USELOCALE, keeping its bodies.
2014-01-19Rename variables with the name "error" to "err".Justus Winter
The canonical name for variables of the type error_t is err. There are, however, places where the variable is called error instead. This is unfortunate, as this shadows the error function. Rename such variables to err. For reference, this is accomplished using the following semantic patch: @@ expression E; @@ -error_t error = E; +error_t err = E; <... -error +err ...> @@ @@ -error_t error; +error_t err; <... -error +err ...> * libdiskfs/dir-link.c: Rename error to err. * libdiskfs/dir-unlink.c: Likewise. * libdiskfs/file-get-trans.c: Likewise. * libdiskfs/file-get-transcntl.c: Likewise. * libdiskfs/file-set-trans.c: Likewise. * libdiskfs/fsys-getroot.c: Likewise. * libshouldbeinlibc/wire.c: Likewise.
2013-11-28libshouldbeinlibc: fix minor port leak in maptime_mapJustus Winter
Deallocate the device port after creating the mapping. The mapping is independent of the device port. * libshouldbeinlibc/maptime.c (maptime_map): Deallocate device port.
2013-11-21libshouldbeinlibc: fix error handling in maptime_mapJustus Winter
Found using the Clang Static Analyzer. * libshouldbeinlibc/maptime.c (maptime_map): Fix error handling.
2013-11-16Clean up the included header filesJustus Winter
* libihash/ihash.c: Clean up the included header files. * libshouldbeinlibc/cacheq.c: Likewise. * libshouldbeinlibc/canon-host.c: Likewise. * libshouldbeinlibc/fsysops.c: Likewise. * libshouldbeinlibc/idvec-auth.c: Likewise. * libshouldbeinlibc/idvec.c: Likewise. * libshouldbeinlibc/idvec.h: Likewise. * libshouldbeinlibc/localhost.c: Likewise. * libshouldbeinlibc/maptime.c: Likewise. * libshouldbeinlibc/nullauth.c: Likewise. * libshouldbeinlibc/portxlate.c: Likewise. * libshouldbeinlibc/shared-dom.c: Likewise. * libshouldbeinlibc/ugids-argp.c: Likewise. * libshouldbeinlibc/ugids-auth.c: Likewise. * libshouldbeinlibc/ugids-imply.c: Likewise. * libshouldbeinlibc/ugids-merge.c: Likewise. * libshouldbeinlibc/ugids-subtract.c: Likewise. * libshouldbeinlibc/ugids-verify-auth.c: Likewise. * libshouldbeinlibc/ugids-verify.c: Likewise. * libshouldbeinlibc/ugids.c: Likewise. * libshouldbeinlibc/ugids.h: Likewise. * libshouldbeinlibc/wire.c: Likewise.
2013-11-15libshouldbeinlibc: fix dead assignmentJustus Winter
Found using the Clang Static Analyzer. * libshouldbeinlibc/timefmt.c (fmt_past_time): Fix dead assignment, normalize adjacent white space.
2013-11-10libshouldbeinlibc: fix reference counting in port_name_xlator_createJustus Winter
Both task ports are deallocated in the destructor, so they must be referenced in the constructor. * libshouldbeinlibc/portxlate.c (port_name_xlator_create): Fix reference counting.
2013-11-09Normalize whitespace at the end of each file to '\n'Justus Winter
Some files were not normalized. In console/motd.UTF8 the additional newline is intentional. Empty files were excluded as well.
2013-11-01libshouldbeinlibc: fix error handling in maptime_mapJustus Winter
Found using the Clang Static Analyzer. * libshouldbeinlibc/maptime.c (maptime_map): Fix error handling.
2013-08-28libshouldbeinlibc: Add nullauth.{c,h}Justus Winter
setnullauth () obtains an empty authentication handle and uses it for further authentication purposes. This effectively drops all Unix privileges. * libshouldbeinlibc/nullauth.c: New file. * libshouldbeinlibc/nullauth.h: Likewise. * libshouldbeinlibc/Makefile: Add nullauth.{c,h}.
2012-09-22Fix spurious destroy during RPC to self with rendez-vousSamuel Thibault
In that case we have two receive right references, which we should consume one per one, instead of destroying them all at once (and thus fail on second destroy) http://lists.gnu.org/archive/html/bug-hurd/2011-03/msg00045.html * libfshelp/fetch-root.c (fshelp_fetch_root): Unreference rendez-vous port receive right instead of destroying the port. * libshouldbeinlibc/exec-reauth.c (exec_reauth): Likewise.
2012-06-30Address gcc warningsBob Ham
* exec-reauth.c (exec_reauth): Change type of temp var i to unsigned int to address gcc warning. * idvec-impgids.c (idvec_merge_implied_gids) Change type of temp var i to unsigned int to address gcc warning. * idvec-impgids.c (idvec_merge_implied_gids): Change type of temp var i to unsigned int to address gcc warning. * idvec-rep.c (idvec_rep): Change type of temp var i to unsigned int to address gcc warning. * idvec-verify (idvec_verify): Change type of temp var i to unsigned int to address gcc warning. * idvec.c (idvec_merge_ids, idvec_remove): Change type of temp var i to unsigned int to address gcc warning. * portxlate.c (port_name_xlator_create, port_name_xlator_free): Change type of temp var i to unsigned int to address gcc warning. * timefmt.c (fmt_seconds): Cast width to int in test to modify frac_places to address gcc warning. * (ugids_verify_make_auth): Change type of temp var i to unsigned int to address gcc warning.
2012-04-08Replace fragile manual »make dist« system with one based on »git archive«.Thomas Schwinge
* Makeconf (lndist): Remove target. (dist-hook, dist.tar): New targets. * Makefile (dist): Rewrite this target's as well as accompanying rules. (%-lndist, cp-linked-files, $(lf-inst)): Remove targets. (%.bz2, %.gz, %/dist-hook): New targets. (DISTFILES): Set. * doc/Makefile (DISTFILES): Set. * doc/Makefile (lndist, lndist-info-targets): Remove targets. * include/Makefile (lndist): Remove target. * libthreads/Makefile (lndist, lndist-i386-files, lndist-map-file): Remove targets. * pfinet/Makefile (lndist, lndist-linux-src-net-core-files) (lndist-linux-src-net-ethernet-files, lndist-linux-src-net-ipv4-files) (lndist-linux-src-net-ipv6-files, lndist-linux-src-asm-files) (lndist-linux-src-include-linux-files, lndist-linux-src-include-net-files) (lndist-linux-src-include-asm-files, lndist-glue-include-linux-files) (lndist-glue-include-asm-files): Remove targets. * auth/Makefile (LCLHDRS): Don't set. * boot/Makefile (LCLHDRS, DIST_FILES): Likewise. * bsdfsck/Makefile (LCLHDRS): Likewise. * config/Makefile (DIST_FILES): Likewise. * console-client/Makefile (LCLHDRS): Likewise. * console/Makefile (LCLHDRS, DIST_FILES): Likewise. * doc/Makefile (DIST_FILES): Likewise. * exec/Makefile (LCLHDRS, DIST_FILES): Likewise. * ext2fs/Makefile (LCLHDRS): Likewise. * fatfs/Makefile (LCLHDRS): Likewise. * ftpfs/Makefile (LCLHDRS): Likewise. * hostmux/Makefile (LCLHDRS): Likewise. * hurd/Makefile (DIST_FILES): Likewise. * include/Makefile (LCLHDRS): Likewise. * isofs/Makefile (LCLHDRS, DIST_FILES): Likewise. * libcons/Makefile (LCLHDRS): Likewise. * libdirmgt/Makefile (LCLHDRS): Likewise. * libdiskfs/Makefile (LCLHDRS): Likewise. * libfshelp/Makefile (LCLHDRS): Likewise. * libftpconn/Makefile (LCLHDRS): Likewise. * libihash/Makefile (LCLHDRS): Likewise. * libiohelp/Makefile (LCLHDRS): Likewise. * libnetfs/Makefile (LCLHDRS): Likewise. * libpager/Makefile (LCLHDRS): Likewise. * libpipe/Makefile (LCLHDRS): Likewise. * libports/Makefile (LCLHDRS): Likewise. * libps/Makefile (LCLHDRS): Likewise. * libshouldbeinlibc/Makefile (LCLHDRS): Likewise. * libstore/Makefile (LCLHDRS, DIST_FILES): Likewise. * libthreads/Makefile (LCLHDRS): Likewise. * libtreefs/Makefile (LCLHDRS): Likewise. * libtrivfs/Makefile (LCLHDRS): Likewise. * mach-defpager/Makefile (LCLHDRS): Likewise. * nfs/Makefile (LCLHDRS): Likewise. * nfsd/Makefile (LCLHDRS): Likewise. * pfinet/Makefile (LCLHDRS): Likewise. * pflocal/Makefile (LCLHDRS): Likewise. * proc/Makefile (LCLHDRS, DIST_FILES): Likewise. * release/Makefile (DIST_FILES): Likewise. * storeio/Makefile (LCLHDRS): Likewise. * sutils/Makefile (LCLHDRS): Likewise. * term/Makefile (LCLHDRS, DIST_FILES): Likewise. * tmpfs/Makefile (LCLHDRS): Likewise. * ufs-fsck/Makefile (LCLHDRS): Likewise. * ufs/Makefile (LCLHDRS): Likewise. * usermux/Makefile (LCLHDRS): Likewise. * utils/Makefile (LCLHDRS): Likewise.
2012-03-25Fix extern inline useSamuel Thibault
* ext2fs/Makefile (SRCS): Add xinl.c * libtreefs/Makefile (OTHERSRCS): Likewise. * term/Makefile (SRCS): Likewise. * ufs/Makefile (SRCS): Likewise. * hostmux/hostmux-xinl.c: Define HOSTMUX_DEFINE_EI instead of HOSTMUX_EI. * libdiskfs/extern-inline.c: Define DISKFS_DEFINE_EXTERN_INLINE instead of DISKFS_EXTERN_INLINE. * libftpconn/xinl.c: Define FTP_CONN_DEFINE_EI instead of FTP_CONN_EI. * libpipe/pipe-funcs.c: Define PIPE_DEFINE_EI instead of PIPE_EI. * libpipe/pq-funcs.c: Define PQ_DEFINE_EI instead of PQ_EI. * libshouldbeinlibc/idvec-funcs.c: Define IDVEC_DEFINE_EI instead of IDVEC_EI. * libshouldbeinlibc/maptime-funcs.c: Define MAPTIME_DEFINE_EI instead of MAPTIME_EI. * libshouldbeinlibc/ugids-xinl.c: Define UGIDS_DEFINE_EI instead of UGIDS_EI. * libstore/xinl.c: Define STORE_DEFINE_EI instead of STORE_EI. * libthreads/rwlock.c: Define RWLOCK_DEFINE_EI instead of RWLOCK_EI. * ext2fs/xinl.c: New file, define EXT2FS_DEFINE_EI and include "ext2fs.h" * libtreefs/xinl.c: New file, define TREEFS_DEFINE_EI and include "treefs.h" and "mig-decls.h". * term/xinl.c: New file, define TERM_DEFINE_EI and include "term.h". * ufs/xinl.c: New file, define UFS_DEFINE_EI and include "ufs.h" * ext2fs/ext2fs.h: Include <features.h>, define EXT2FS_EI to __extern_inline instead of "extern inline", define it to empty when EXT2FS_DEFINE_EI is defined. Always declare extern inline prototypes, and define extern inlines content only if __USE_EXTERN_INLINES or EXT2FS_DEFINE_EI is defined. * libdiskfs/diskfs.h: Likewise with DISKFS_EXTERN_INLINE and DISKFS_DEFINE_EXTERN_INLINE. * libftpconn/ftpconn.h: Likewise with FTP_CONN_EI and FTP_CONN_DEFINE_EI. * libftpconn/priv.h: Likewise. * libpipe/pipe.h: Likewise with PIPE_EI and PIPE_DEFINE_EI. * libpipe/pq.h: Likewise with PQ_EI and PQ_DEFINE_EI. * libshouldbeinlibc/idvec.h: Likewise with IDVEC_EI and IDVEC_DEFINE_EI. * libshouldbeinlibc/maptime.h: Likewise with MAPTIME_EI and MAPTIME_DEFINE_EI. * libshouldbeinlibc/ugids.h: Likewise with UGIDS_EI and UGIDS_DEFINE_EI. * libstore/store.h: Likewise with STORE_EI and STORE_DEFINE_EI. * libthreads/rwlock.h: Likewise with RWLOCK_EI and RWLOCK_DEFINE_EI. * term/term.h: Likewise with TERM_EI and TERM_DEFINE_EI. * ufs/ufs.h: Likewise with UFS_EI and UFS_DEFINE_EI. * libtreefs/treefs.h: Include <features.h>, define TREE_FS_EI to __extern_inline, or to empty when TREEFS_DEFINE_EI is defined. Use TREEFS_EI instead of "extern inline". * libtreefs/mig-decls.h: Use TREEFS_EI instead of "extern inline".
2011-08-20fix common misspellingsJonathan Neuschäfer
* Fix spelling with codespell[1] and manually review it. [1] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
2011-08-20Fix localhost() after memory failureSamuel Thibault
* libshouldbeinlibc/localhost.c (localhost): Free and reset buf when reallocation failed.
2011-08-20fix a realloc-related memory leak in localhost()Jonathan Neuschäfer
* libshouldbeinlibc/localhost.c (localhost): assign the return value of realloc to a temporary variable to avoid losing the old value of buf in the case of realloc failing.
2009-07-11Switch to the new ChangeLog style.Thomas Schwinge
* ChangeLog: Wipe out content, and add instructions about how to get it back. * auth/ChangeLog: Remove file. * benchmarks/ChangeLog: Likewise. * boot/ChangeLog: Likewise. * bsdfsck/ChangeLog: Likewise. * config/ChangeLog: Likewise. * console-client/ChangeLog: Likewise. * console/ChangeLog: Likewise. * daemons/ChangeLog: Likewise. * defpager/ChangeLog: Likewise. * doc/ChangeLog: Likewise. * exec/ChangeLog: Likewise. * ext2fs/ChangeLog: Likewise. * fatfs/ChangeLog: Likewise. * fstests/ChangeLog: Likewise. * ftpfs/ChangeLog: Likewise. * hostmux/ChangeLog: Likewise. * hurd/ChangeLog: Likewise. * include/ChangeLog: Likewise. * init/ChangeLog: Likewise. * isofs/ChangeLog: Likewise. * libcons/ChangeLog: Likewise. * libdirmgt/ChangeLog: Likewise. * libdiskfs/ChangeLog: Likewise. * libfshelp/ChangeLog: Likewise. * libftpconn/ChangeLog: Likewise. * libhurdbugaddr/ChangeLog: Likewise. * libihash/ChangeLog: Likewise. * libiohelp/ChangeLog: Likewise. * libnetfs/ChangeLog: Likewise. * libpager/ChangeLog: Likewise. * libpipe/ChangeLog: Likewise. * libports/ChangeLog: Likewise. * libps/ChangeLog: Likewise. * libshouldbeinlibc/ChangeLog: Likewise. * libstore/ChangeLog: Likewise. * libthreads/ChangeLog: Likewise. * libtrivfs/ChangeLog: Likewise. * login/ChangeLog: Likewise. * mach-defpager/ChangeLog: Likewise. * nfs/ChangeLog: Likewise. * nfsd/ChangeLog: Likewise. * pfinet/ChangeLog: Likewise. * pflocal/ChangeLog: Likewise. * proc/ChangeLog: Likewise. * release/ChangeLog: Likewise. * serverboot/ChangeLog: Likewise. * storeio/ChangeLog: Likewise. * sutils/ChangeLog: Likewise. * term/ChangeLog: Likewise. * tmpfs/ChangeLog: Likewise. * trans/ChangeLog: Likewise. * ufs-fsck/ChangeLog: Likewise. * ufs-utils/ChangeLog: Likewise. * ufs/ChangeLog: Likewise. * usermux/ChangeLog: Likewise. * utils/ChangeLog: Likewise.
2008-07-18Update copyright years.Thomas Schwinge
2008-07-18Convert to UTF-8.Thomas Schwinge
2008-07-172008-07-17 Flávio Cruz <flaviocruz@gmail.com>Samuel Thibault
* idvec-auth.c (idvec_merge_auth): Fix size in munmap calls.
2008-07-01Update copyright years.Thomas Schwinge
2008-04-242008-03-19 Marc-Olivier Mercier <mercier.m@sympatico.ca>Samuel Thibault
* ugids-argp.c (parse_opt): Check NULL condition for struct passwd (resp. group) pointer returned by getpwnam_r (resp. getgrnam_r).
2008-03-162008-03-16 Samuel Thibault <samuel.thibault@ens-lyon.org>Samuel Thibault
* idvec-verify.c (verify_id): Compare id to (uid_t) -1 instead of checking that is is positive or nul (which is always true). Reported by Marc-Olivier Mercier <mercier.m@sympatico.ca>.
2007-02-042007-02-04 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* maptime.h: Fix a comment.
2004-10-23hostmux/Marcus Brinkmann
2004-10-23 Marcus Brinkmann <marcus@gnu.org> * hostmux-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing. usermux/ 2004-10-23 Marcus Brinkmann <marcus@gnu.org> * usermux-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing. libshouldbeinlibc/ 2004-10-23 Marcus Brinkmann <marcus@gnu.org> * ugids-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing.
2003-08-06I am reverting this change.Marcus Brinkmann
2003-08-062003-08-06 Jeroen Dekkers <jeroen@dekkers.cx>Marcus Brinkmann
* idvec-verify.c: Remove #pragma weak crypt. (verify_passwd): Don't check if crypt exist.
2003-08-052003-08-03 Marco Gerards <metgerards@student.han.nl>Marcus Brinkmann
* idvec-verify.c: Include <crypt.h>. (crypt): Removed prototype.
2002-05-112002-05-12 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* idvec-impgids.c (_merge_implied_gids): Free CACHE on failure. Submitted by Neal H Walfield <neal@cs.uml.edu>.
2002-05-08.Roland McGrath
2002-05-082002-05-08 Roland McGrath <roland@frob.com>Roland McGrath
* portinfo.c (print_port_info): Use %z formats for port names. * xportinfo.c (print_xlated_port_info): Likewise.
2002-05-08.Roland McGrath
2002-05-082002-05-08 Roland McGrath <roland@frob.com>Roland McGrath
* portinfo.c (print_port_info): Use %z formats for port names.
2002-05-082002-05-08 Roland McGrath <roland@frob.com>Roland McGrath
* wire.c: Use ElfW(TYPE) in place of Elf32_TYPE throughout.
2002-05-082002-05-08 Roland McGrath <roland@frob.com>Roland McGrath
* portxlate.c (port_name_xlator_xlate): Use mach_msg_type_name_t instead of mach_port_type_t, to match RPC prototype.
2002-05-082002-05-08 Roland McGrath <roland@frob.com>Roland McGrath
* idvec-auth.c (idvec_merge_auth): int -> size_t.
2002-05-082002-05-08 Roland McGrath <roland@frob.com>Roland McGrath
* idvec-verify.c (verify_passwd): Cast to intptr_t before int.
2002-02-07.Roland McGrath