summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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`.
2013-09-21Fix test for block compressionSamuel Thibault
* ext2fs/dir.c (dirscanblock): Test ds->stat against LOOKING and COMPRESS, instead of ds->type.
2013-09-21Fix gcc warningSamuel Thibault
* ext2fs/dir.c (dirscanblock): Test ds->type against LOOKUP instead of LOOKING. They happened to have the same value.
2013-09-21Fix setting modem control linesSamuel Thibault
* term/hurdio.c (hurdio_mdmctl): Pass `newbits` intead of `oldbits` to `tioctl_tiocmods`.
2013-09-21Fix gcc warningSamuel Thibault
* term/users.c (trivfs_S_io_read): Add parentheses to make expression evaluation priority clear.
2013-09-21Fix S_tioctl_tiocsetd returning errorsSamuel Thibault
* term/users.c (S_tioctl_tiocsetd): Properly return `err`.
2013-09-21Fix test for term open modeSamuel Thibault
* term/users.c (S_term_open_ctty): Properly test for `openmodes` containing at least O_READ or O_WRITE.
2013-09-21Fix gcc warningSamuel Thibault
* exec/hostarch.c (elf_machine_matches_host): Cast `&hostinfo` into host_info_t instead of natural_t *.
2013-09-21Fix gcc warningSamuel Thibault
* libfshelp/fshelp.h (fshelp_set_options): Make `argp` pointer const. * libfshelp/set-options.c (fshelp_set_options): Likewise. * doc/hurd.texi (fshelp_set_options): Likewise.
2013-09-21Fix gcc warningSamuel Thibault
* libpipe/pipe.c: Include <stdlib.h>
2013-09-21Fix ENOMEM handling in *_make_peropenSamuel Thibault
* libdiskfs/peropen-make.c (diskfs_make_peropen): Move `strdup` before port reference modifications, to fix abortion. * libnetfs/make-peropen.c (netfs_make_peropen): Check for `malloc` failure. Move `strdup` before port reference modifications, to fix abortion.
2013-09-21Fix gcc warning:Samuel Thibault
* libps/write.c (noise_write): Make `t` parameter a char * instead of unsigned char *.
2013-09-21Fix gcc warningSamuel Thibault
* libtrivfs/io-restrict-auth.c (listmember): Use uid_t type instead of int. (trivfs_S_io_restrict_auth): Make `i` variable an unsigned int, like the `num` field it is compared with
2013-09-19hurd: add _reply suffix to the routines in fsys_reply.defsJustus Winter
* hurd/fsys_reply.defs: Add _reply suffix.
2013-09-19hurd: add _reply suffix to the routines in process_reply.defsJustus Winter
* hurd/process_reply.defs: Add _reply suffix.
2013-09-19sutils: set up /dev/null using /bin/nullpriv in MAKEDEV.shJustus Winter
This patch makes MAKEDEV.sh use the /bin/nullpriv wrapper so that the storeio translator serving /dev/zero is started without any unix privileges. * sutils/MAKEDEV.sh (mkdev): Use /bin/nullpriv for /dev/zero.
2013-09-19daemons: make sure / is writable before setting up pflocalJustus Winter
runsystem.sh checks whether /servers/socket/1 exists and creates it using settrans -c if it does not. But at this point in the boot the root filesystem is normally not writable. This patch fixes this. * daemons/runsystem.sh: Make sure / is writable before attempting to set up pflocal.
2013-09-19Fix cursor sizeSamuel Thibault
The VGA card might have a bogus cursor end value, so better always write a value in there. * console-client/vga-dynafont.c (dynafont_set_cursor): Always pass height - 1 as end parameter for vga_set_cursor_size.
2013-09-17Remove UFS supportSamuel Thibault
It has been unused/untested/unmaintained for a decade now, and its 4-clause BSD licence poses problem. * configure.ac (default_static): Remove ufs. * Makefile (prog-subdirs): Remove ufs, ufs-fsck and ufs-utils. * NEWS, TODO: doc/hurd.texi, doc/navigating: Remove UFS notes. * ufs: Remove directory * ufs-fsck: Remove directory * ufs-utils: Remove directory * bsdfsck: Remove directory
2013-09-16Add match-options to utils sourcesJustus Winter
* utils/Makefile (SRCS): Add match-options.c
2013-09-16Use fsys_get_children from libcSamuel Thibault
* trans/Makefile (OBJS): Remove fsysUser.o.
2013-09-16Add missing includeSamuel Thibault
* libfshelp/translator-list.c: Include <libgen.h> to get `dirname' prototype.
2013-09-16Large store support for ext2fsRichard Braun
This is a revised version of the large store patch for ext2fs, written by Ognyan Kulev. It provides support for stores larger than 2 GiB. * ext2fs/balloc.c: Use the new disk_cache_block_ref and disk_cache_block_deref functions to access blocks from the disk cache. * ext2fs/ext2fs.c (main): Update initialization call to pokel_init, and call map_hypermetadata instead of get_hypermetadata. * ext2fs/ext2fs.h: Include <hurd/store.h> and <hurd/ihash.h>. (DISK_CACHE_BLOCKS): New macro. (DC_INCORE): Likewise. (DC_UNTOUCHED): Likewise. (DC_FIXED): Likewise. (DC_DONT_REUSE): Likewise. (DC_NO_BLOCK): Likewise. (DISK_CACHE_LAST_READ_XOR) [!NDEBUG]: Likewise. (struct disk_cache_info): New structure. (disk_cache): New external variable. (disk_cache_size): Likewise. (disk_cache_blocks): Likewise. (disk_cache_bptr): Likewise. (disk_cache_info): Likewise. (disk_cache_lock): Likewise. (disk_cache_reassociation): Likewise. (disk_cache_block_ref): New declaration. (disk_cache_block_ref_ptr): Likewise. (disk_cache_block_deref): Likewise. (disk_cache_block_is_ref): Likewise. (map_hypermetadata): Likewise. (trunc_block): Cast to off_t. (round_block): Likewise. (boffs): Likewise. (bptr_index): New macro. (boffs_ptr): Rewrite as an inline function to make it look up a block from the disk cache. (bptr_offs): Likewise. (dino): Remove function, replaced with ... (dino_ref): ... this one, which adds a reference to the inode block. (dino_deref): New inline function. (record_global_poke): Make sure block is referenced. (record_indir_poke): Likewise. (sync_global_ptr): Remove block reference, and adjust call to pager_sync_some. (sync_global): Add debug call to print wait parameter. * ext2fs/getblk.c: Use the new disk_cache_block_ref and disk_cache_block_deref functions to access blocks from the disk cache. * ext2fs/hyper.c (get_hypermetadata): Read the superblock from the store now that it's not directly mapped in memory. Move the initialization of zeroblock here from ... (map_hypermetadata): ... here. Also, set the superblock pointer. (diskfs_set_hypermetadata): Add a reference to the superblock. (diskfs_readonly_changed): Update call to mprotect. * ext2fs/ialloc.c: Use the new disk_cache_block_ref, disk_cache_block_ref_ptr and disk_cache_block_deref functions to access blocks from the disk cache. * ext2fs/inode.c: Update calls that used the disk image to use the disk cache, and use the new reference handling functions where appropriate. * ext2fs/pager.c: Include <unistd.h> and "../libpager/priv.h". (disk_image): Remove global variable. (disk_pager_read_page): Update cache information. (disk_pager_write_page): Likewise. (disk_pager_notify_evict): New function. (pager_notify_evict): Call disk_pager_notify_evict appropriately. (disk_cache): New global variable. (disk_cache_size): Likewise. (disk_cache_blocks): Likewise. (disk_cache_bptr): Likewise. (disk_cache_info): Likewise. (disk_cache_hint): Likewise. (disk_cache_lock): Likewise. (disk_cache_reassociation): Likewise. (disk_cache_init): New function. (disk_cache_return_unused): Likewise. (disk_cache_block_ref): Likewise. (disk_cache_block_ref_ptr): Likewise. (disk_cache_block_deref): Likewise. (disk_cache_block_is_ref): Likewise. (create_disk_pager): Update initialization of the disk pager. * ext2fs/pokel.c (pokel_add): Drop block references with disk_cache_block_deref. (_pokel_exec): Likewise. * ext2fs/truncate.c (trunc_indirect): Use the new disk_cache_block_ref and disk_cache_block_deref functions to access blocks from the disk cache.
2013-09-16Handle notification on page evictionRichard Braun
If requested by the user, make libpager call pager_notify_evict when a page is flushed out by the kernel. Based on work by Ognyan Kulev. * console/pager.c (pager_notify_evict): New function. (user_pager_create): Update call to pager_create. * ext2fs/pager.c: (pager_notify_evict): New function. (create_disk_pager): Update call to diskfs_start_disk_pager. (diskfs_get_filemap): Update call to pager_create. * fatfs/pager.c: (pager_notify_evict): New function. (create_fat_pager): Update call to diskfs_start_disk_pager. (diskfs_get_filemap): Update call to pager_create. * isofs/pager.c: (pager_notify_evict): New function. (create_disk_pager): Update call to diskfs_start_disk_pager. (diskfs_get_filemap): Update call to pager_create. * libdiskfs/disk-pager.c (diskfs_start_disk_pager): Update definition and call to pager_create. * libdiskfs/diskfs-pager.h (diskfs_start_disk_pager): Update declaration. * libpager/data-request.c (_pager_seqnos_memory_object_data_request): Take pager's `notify_on_evict' member into account when calling memory_object_data_supply. * libpager/data-return.c (_pager_do_write_request): Handle user notification on page flush. * libpager/pager-create.c (pager_create): Update definition and set pager's `notify_on_evict' member. * libpager/pager.h (pager_create): Update declaration. (pager_notify_evict): New declaration. * libpager/priv.h (struct pager): New `notify_on_evict' member. * storeio/pager.c: (pager_notify_evict): New function. (dev_get_memory_object): Update call to pager_create. * tmpfs/pager-stubs.c (pager_notify_evict): New function. * ufs/pager.c (pager_notify_evict): New function. (create_disk_pager): Update call to diskfs_start_disk_pager. (diskfs_get_filemap): Update call to pager_create.