summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-11-09libports: fix the thread counts in case the thread creation failsJustus Winter
Previously the number of total threads and the number of unused threads was wrong if at one point the creation of a thread failed. Fix this by decrementing both counters that were previously optimistically incremented. Adjust the comment accordingly. * libports/manage-multithread.c (ports_manage_port_operations_multithread): Fix the thread counts in case the thread creation fails.
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-06pfinet: fix emission on the loopback deviceRichard Braun
Unlike other devices, sending packets on the loopback device causes the netif_rx() function to be called from the net_bh worker thread. Since the thread is already running, it can't wake itself up when calling mark_bh(). Use a new variable to indicate when net_bh work is pending. * glue-include/linux/interrupt.h (net_bh_raised): Declare new global variable. (mark_bh): Set net_bh_raised to 1 before waking up net_bh worker thread. * loopback.c (loopback_xmit): Add comment giving details about locking. * sched.c (net_bh_raised): Define new global variable. (net_bh_worker): Wait for net_bh_raised to become true and reset it before processing net_bh work.
2013-11-01libports: fix error handling in _ports_create_port_internalJustus Winter
Previously any err value set before reaching lose: was overwritten and thus not properly propagated. Found using the Clang Static Analyzer. * libports/create-internal.c (_ports_create_port_internal): Fix error handling.
2013-11-01Fix use after freeSamuel Thibault
Reported by Justus Winter * libtrivfs/protid-clean.c (trivfs_clean_protid): New variable `cntl` factorizes access to `cred->po->cntl`, and fixes use after free of cred->po.
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-11-01exec: Remove the remaining BFD related bitsJustus Winter
* exec/Makefile: Remove commented out lines related to BFD. * exec/hostarch.c: Remove all BFD related code. * exec/main.c: Likewise.
2013-10-31configure.ac: properly escape the test for X11/keysymdef.hJustus Winter
* configure.ac: Properly escape the test for X11/keysymdef.h using AC_LANG_SOURCE.
2013-10-28Make boot script accept more fsck valuesSamuel Thibault
* daemons/rc.sh: Accept fsck returning 5 and 9 too.
2013-10-22Add xenl to hurd.tiSamuel Thibault
* console/hurd.ti (xenl): Add capability.
2013-10-22Make CUD more usualSamuel Thibault
Whether CUD scrolls the screen or not is implementation-dependant. Applications are not supposed to assume one way or the other, but they sometimes do, and most implementations do scroll, so let's stick to common practice. * console/display.c (handle_esc_bracket): On CUD/VPR, scroll the screen instead of capping the cursor position.
2013-10-22Make boot script reboot when fsck told soSamuel Thibault
* daemons/rc.sh: When fsck returned 2 or 3, reboot the system.
2013-10-18pflocal: fix message flags on receiveRichard Braun
* pflocal/socket.c (S_socket_recv): Set the memory pointed by out_flags to 0 instead of the pointer.
2013-10-18pflocal: fix port leak when receiving port rightsRichard Braun
The socket_send and socket_recv routines can be used to transmit port rights along data. Unfortunately, pflocal retains a copy of these rights in the socket_recv RPC. These lingering references would in turn lead to other leaks in servers waiting for a no-sender notification to clean their resources. Since these copied rights aren't used at all by the server, it is safe to simply move them to the recipient instead. * pflocal/socket.c (S_socket_recv): Transmit port rights using MACH_MSG_TYPE_MOVE_SEND transfer type instead of MACH_MSG_TYPE_COPY_SEND.
2013-10-18libdiskfs: fix removal of socket nodesRichard Braun
When the file system supports ifsock shortcuts, a socket node can obtain a right on a socket address. This reference is only lost if the address is destroyed, through a dead-name notification. On the other hand, pflocal keeps the address around until all references are dropped. This leads to a situation where socket nodes, addresses, and their associated sockets are leaked. To remedy the situation, make addresses get a light reference on socket nodes, and properly deallocate it when the node is destroyed, which will in turn make pflocal correctly remove the matching address and socket. * libdiskfs/ifsock.c (diskfs_S_ifsock_getsockaddr): Add a light reference instead of a hard one. * libdiskfs/node-nput.c (diskfs_nput): Deallocate right to socket address when cleaning light references.
2013-10-18pflocal: fix destruction of explicitely bound socketsRichard Braun
Sockets must have a weak reference on the address they're bound to so that addr_unbind is properly called before addr_clean. For sockets that are automatically bound, this weak reference is created in ensure_addr. Do the same in sock_bind. * pflocal/sock.c (sock_bind): Handle weak reference on addr.
2013-10-14term: fix read on a closed PTYRichard Braun
* term/ptyio.c (pty_io_read): Return EIO if the terminal has been closed.
2013-10-13console-client: replace function epilogue with console_exitJustus Winter
* console-client/console.c (main): Replace epilogue with console_exit.
2013-10-13console-client: minor stylistic fixJustus Winter
* console-client/console.c (main): Minor stylistic fix.
2013-10-13console-client: fix error handlingJustus Winter
Fix the error handling in console_move_mouse. This also appeases the compiler. * console-client/console.c (console_move_mouse): Fix error handing.
2013-10-13console-client: entitle console_exit with the noreturn attributeJustus Winter
* console-client/input.h (console_exit): Add noreturn attribute.
2013-10-13console-client: remove the pid file on clean exitsJustus Winter
Remove the pid file if the console client exits either cleanly using console_exit or because of an error during daemonization. * console-client/console.c (console_exit): Remove the pid file. (daemon_error): Likewise.
2013-10-08libfshelp: properly free active translator entriesJustus Winter
Previously the dynamically allocated field name leaks. Fix this by properly freeing the objects of type struct translator. * libfshelp/translator-list.c (translator_ihash_cleanup): Fix memory leak.
2013-10-08trans: rename a global variableJustus Winter
Rename the global variable "path" to "target_path" to make it more unambiguous. * trans/mtab.c: Rename global variable "path".
2013-10-08Revert "tmpfs: drop privileges in the tmpfs translator"Justus Winter
This reverts commit 7075bc11289355478659cd1610632a9299734afc. Dropping the unix privileges of the tmpfs translator causes problems with the passive translator startup. The function fshelp_fetch_root creates an auth handle containing the processes original UID and GID. But if the privileges were dropped before, this operation fails with EPERM. This commit also broke mkfifo(3), possibly for similar or related reasons. * tmpfs/tmpfs.c (main): Do not drop all privileges.
2013-10-08Fix memory leak in execRichard Braun
* exec/hashexec.c (check_hashbang): Unmap command arguments.
2013-10-04Fix memory leak in libnetfsRichard Braun
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Properly jump to the single exit point if fshelp_fetch_root fails.
2013-10-02Check for negative sizes in file_set_sizeRichard Braun
* libdiskfs/file-set-size.c (diskfs_S_file_set_size): Return EINVAL if size is negative. * libnetfs/file-set-size.c (netfs_S_file_set_size): Likewise. * libtreefs/s-file.c (treefs_S_file_set_size): Likewise. * storeio/io.c (trivfs_S_file_set_size): Likewise. * term/users.c (trivfs_S_file_set_size): Likewise. * trans/null.c (trivfs_S_file_set_size): Likewise. * trans/streamio.c (trivfs_S_file_set_size): Likewise.
2013-09-28Fix memory leak in libdiskfsRichard Braun
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Properly jump to the single exit point if fshelp_fetch_root fails.
2013-09-27GNU Hurd 0.5.Thomas Schwinge
* configure.ac (AC_INIT): Set version to 0.5. (AC_REVISION): Remove. * NEWS: Finalize changes for 0.5. * INSTALL: Update. * INSTALL-cross: Likewise. * README.CVS: Delete, but move some content... * README: ... here. Update.
2013-09-27Decouple the Hurd version from the package version.Thomas Schwinge
* config.make.in (package-version): New variable. (hurd-version): Set to 0.3. * Makeconf (%: %.sh): Use package-version instead of hurd-version. * Makefile (stamp-version): Likewise. * doc/Makefile (stamp-version): Likewise.
2013-09-27Generate ChangeLog files for distributions.Thomas Schwinge
* gitlog-to-changelog: New file; import from gnulib's 9fc81090f6c5590bd1b0e0fa5087577a2ee43a3e:build-aux/gitlog-to-changelog. * Makefile (ChangeLog.tar, gen-ChangeLog): New targets. ($(dist-version).tar): Depend on and use the former. (clean-misc): Clean up the generated files.
2013-09-27UFS is no more.Thomas Schwinge
* ChangeLog: Don't refer to bsdfsck/ChangeLog, ufs/ChangeLog, ufs-fsck/ChangeLog, ufs-utils/ChangeLog. Fixup for commit 84cf9c0f312637b670cc87224ff7e7c4da659e36.
2013-09-27* ChangeLog: Don't refer to serverboot/ChangeLog; it is no more.Thomas Schwinge
Fixup for commit a8744157214a302d84c8959b1ae99abe3ae2d7d2.
2013-09-26Update mailing listsSamuel Thibault
* README: Update mailing lists.
2013-09-24Drop dead linksSamuel Thibault
* doc/hurd.texi (BSD Unix FS): Remove link to dropped section.
2013-09-24Fix missing renamesSamuel Thibault
* pflocal/sock.c (sock_connect, sock_shutdown): Rename SOCK_CONNECTED to PFLOCAL_SOCK_CONNECTED.
2013-09-24Add --without-daemon option to configureSamuel Thibault
* configure.ac (--without-daemon): Add option to disable libdaemon pkgconfig test.
2013-09-21Fix spurious port deallocationSamuel Thibault
* utils/storeinfo.c (parse_opt): Do not deallocate `file` port, `store_free` does it already.
2013-09-21include: make /hurd/proc PID 3Justus Winter
Using PID 0 is problematic for various reasons. Make /hurd/proc run as PID 3 instead. * include/pids.h: Make /hurd/proc PID 3.
2013-09-21proc: do not hand out PID 0Justus Winter
Using PID 0 causes various problems. This makes genpid skip PID 0. * proc/mgt.c (genpid): Start PIDs at 1.
2013-09-21Fix sscanf format for c99Samuel Thibault
* utils/rpctrace.c (parse_msgid_list): Use %ms instead of %as in sscanf format.
2013-09-21Fix gcc warningSamuel Thibault
* console-client/pc-mouse.c (input_loop): Return NULL.
2013-09-21Fix gcc warningSamuel Thibault
* console-client/xkb/kstoucs.c (find_ucs): Return 0 by default.
2013-09-21Fix gcc warningSamuel Thibault
* console-client/pc-kbd.c (gnumach_v1_input_next) [XKB_SUPPORT]: Do not define `up` and `sc` variables.
2013-09-21Rename SOCK_* into PFLOCAL_SOCK_*Samuel Thibault
To avoid conflicting with glibc's SOCK_* * pflocal/io.c, pflocal/sock.c, pflocal/sock.h, pflocal/socket.c: Rename SOCK_CONNECTED into PFLOCAL_SOCK_CONNECTED, SOCK_NONBLOCK into PFLOCAL_SOCK_NONBLOCK, SOCK_SHUTDOWN_READ into PFLOCAL_SOCK_SHUTDOWN_READ, SOCK_SHUTDOWN_WRITE into PFLOCAL_SOCK_SHUTDOWN_WRITE.
2013-09-21Fix gcc warningSamuel Thibault
* pflocal/io.c (copy_time): Make `to_nsec` parameter a long * instead of an unsigned long *.
2013-09-21Properly return errorSamuel Thibault
* isofs/pager.c (pager_read_page): Return error returned by `store_read`, if any.
2013-09-21Fix gcc warningSamuel Thibault
* isofs/lookup.c (dirscanblock): Cast entry->name into const char * before passing to isonamematch.
2013-09-21Fix gcc warningSamuel Thibault
* isofs/inode.c (read_disknode): Cast dr->date into char* before calling `isodate_915`.