Commit Graph

398 Commits

Author SHA1 Message Date
agc a577a06f30 Modify the NetBSD emulation of the FreeBSD __DECONST macro to include
the cast as well. From Dag-Erling Co\xEFdan Sm\xF8rgrav.
2007-08-29 22:28:23 +00:00
agc 0920b4f20b Add a new refuse-based file system called ian - the Internet Access Node.
This utility uses FreeBSD's libfetch (updated for NetBSD, and to quieten
lint) to provide a BSD-licensed ftp/http/https file system similar to the
old alex utility. The full URL is used as the path underneath the "/ian"
mountpoint.

Sample use as follows:

	[19:09:38] agc@inspiron1300 ...examples/refuse/ian 126 > priv ian/obj/ian /ian
	[19:09:55] agc@inspiron1300 ...examples/refuse/ian 127 > cat /ian/ftp://localhost/motd
	NetBSD 4.99.27 (INSPIRON) #4: Tue Aug 7 13:04:33 BST 2007

	Welcome to NetBSD!

	This system is running a development snapshot of the NetBSD operating system,
	also known as NetBSD-current.  It is highly possible for it to contain serious
	bugs, regressions, broken features or other problems.  Please bear this in mind
	and use the system with care.

	You are encouraged to test this version as thoroughly as possible.  Should you
	encounter any problem, please report it back to the development team using the
	send-pr(1) utility (requires a working MTA).  If yours is not properly set up,
	use the web interface at: http://www.netbsd.org/support/send-pr.html

	Thank you for helping us test and improve NetBSD.

	[19:10:17] agc@inspiron1300 ...examples/refuse/ian 128 > df
	Filesystem   1K-blocks       Used      Avail %Cap Mounted on
	/dev/dk0      28101396   19491972    7204356  73% /
	kernfs               1          1          0 100% /kern
	procfs               4          4          0 100% /proc
	ptyfs                1          1          0 100% /dev/pts
	/dev/puffs           0          0          0 100% /ian
	[19:10:21] agc@inspiron1300 ...examples/refuse/ian 129 > ls -al /ian/ftp://localhost/motd
	-rw-------  1 root  wheel  705 Aug 28 19:10 /ian/ftp://localhost/motd
	[19:10:42] agc@inspiron1300 ...examples/refuse/ian 130 > ls -al ~ftp/motd
	-rw-r--r--  1 ftp  ftp  705 Aug 27 21:33 /home/ftp/motd
	[19:10:53] agc@inspiron1300 ...examples/refuse/ian 131 >
2007-08-28 19:45:02 +00:00
agc 5a236e395c Makefile for new ian file system 2007-08-28 19:39:30 +00:00
agc b143e0b001 If we're writing to a file, make sure the version we're writing is in
the topmost directory (the writable one).  If it's not there, copy the
file to there.
2007-08-20 21:55:44 +00:00
pooka 25a346d4fb Nuke PUFFSLOOKUP_FOO and move to NAMEI_FOO 2007-08-15 14:19:19 +00:00
pooka 37f06f1c57 sysctlfs was moved to base 2007-08-15 14:13:57 +00:00
pooka ba4e596bc9 move sysctlfs from examples to base 2007-08-09 22:01:25 +00:00
pooka 5b593f2aeb require standard mount_foo bar /path usage, where bar is ignored here 2007-08-09 21:54:27 +00:00
pooka 4a7c7712c6 * require standard mount_foo bar /path usage, where bar is ignored here
* allow only root callers to modify sysctl tree
2007-08-09 21:54:16 +00:00
pooka e4b63c41f0 implement node_mmap and allow to specify accepted mappings on command line 2007-07-27 08:29:10 +00:00
pooka 27c5f7cba3 Match code with comment (can't really remember doing it often that
way around .. ) and initialize storage to zero when extending a file.
2007-07-22 13:19:38 +00:00
pooka a53b2cab5e missed one place to set dirent namelen - unmiss it 2007-07-22 12:26:58 +00:00
pooka 87429c840c Oops, the cookies for nfs of course represent the *next* directory
entry offset, not the current one.
2007-07-19 10:14:53 +00:00
pooka b4d2a683de -m for setting maxreqlen 2007-07-19 07:58:56 +00:00
pooka ce80f00ff3 With fullpath support we need to check name lengths also, otherwise
lookup for "foo" will match "foobar".
2007-07-17 16:33:27 +00:00
pooka 9ee5fb2795 nuke accidental debug printf 2007-07-17 16:00:56 +00:00
pooka 0038fe558b Use "sysctlfs" as the type name instead of the mountpath.
Methinks it's nicer that way.
2007-07-17 12:03:46 +00:00
pooka 08db7d7534 * add mntfromname parameter to puffs_init()
* set it in file servers
2007-07-17 11:34:51 +00:00
dsl 1f7faf40a2 Change the entry for ptmx to use the netbsd ptm driver.
Delete the entries for pts/nnn and add a note at the tope (next to the
ptmx info) about using ptyfs for the pts devices.
2007-07-05 19:34:36 +00:00
pooka 3c01554a05 dtfs -f for PUFFS_KFLAG_LOOKUP_FULLPNBUF 2007-07-01 22:59:09 +00:00
pooka 6596e0c995 adapt: **newnode etc. pointers -> struct puffs_newinfo 2007-07-01 18:40:15 +00:00
pooka fe7bbdec69 adapt: pid -> const struct puffs_cid * 2007-07-01 17:23:44 +00:00
pooka 1776bc7796 adapt: pcn->pcn_cred is now a pointer 2007-07-01 15:32:02 +00:00
pooka 53a4105885 Actually, keep PUFFS_KFLAG_NOCACHE and -o cache around as shorthand
to neither page- nor namecache.
2007-06-24 22:25:49 +00:00
pooka 5662e7f720 PUFFS_KFLAG_NOCACHE became two, so introduce the command line options
-o nonamecache and -o nopagecache and adapt file systems where necessary.
2007-06-24 22:18:38 +00:00
pooka 3aa77bc919 Just to demonstrate namemod a bit further, make this flip the case
of filenames / contents instead of rot13 if -f is given.
2007-06-24 18:59:27 +00:00
pooka 39542808a8 cast tolower() arg to unsigned char 2007-06-24 18:57:26 +00:00
pooka 0d05db1c32 use puffs_null_setops() 2007-06-24 18:43:30 +00:00
pooka a2b6c72725 fix this also, had a similar rototill-typo as rot13fs 2007-06-24 18:37:40 +00:00
pooka eb83bd6c94 I wasn't going to add any more silly examples, but I'll bite for
this one, since it's a good exercise ..

Add icfs, which does the same thing as the refuse-based icfs agc
added earlier this week, i.e. null-mounts & converts the entire
namespace to lowercase.  However, it's a fun comparison, since this
is implemented in a completely different fashion from the refuse
version.
2007-06-24 18:32:00 +00:00
agc a08d769680 Initial import of icfs, a case-insensitive/retentive file system.
This file system is based on librefuse and puffs.

	The icfs(8) utility can be used to mount an existing directory on a
	new mount point.  icfs makes use of the virtdir(3) virtual directory
	routines.  Underneath those virtual directories, the individual
	directory entries will be displayed as an exact mirror of the original
	directory, except that any capital letters in the original entry's
	name will be substituted with an entry name consisting entirely of
	lower-case letters.

This is an unusual example of a refuse-based file system which provides
lesser functionality than the file system it sits on.
2007-06-21 22:05:28 +00:00
agc 5599c23a3d Record the root directory at initialisation time.
Add a function to "normalise" a path to condense multiple repeated '/'
characters into one.
2007-06-21 21:59:32 +00:00
pooka 1c4b40e1bc fix typo from previous rototill, makes this work again 2007-06-20 21:11:26 +00:00
pooka f8326bf98e Move puffs to a two clause license where it already isn't so. And
as agc pointed out, even files with the third clause were already
effectively two clause because of a slight bug in the language...
2007-06-06 01:54:59 +00:00
pooka ae34899ec3 make getopt() actually accept -t also 2007-06-05 12:20:35 +00:00
agc d49e2683be Another day, another file system.
dmesgfs is another example file system, which displays the device tree
information gained from dmesg(8) as a directory hierarchy. The information
can be displayed in files, or as targets of symbolic links.

% l /mnt/mainbus0
total 320
drwxr-xr-x  2 agc   agc    512 May 21 22:21 .
drwxr-xr-x  2 root  wheel    0 Jan  1  1970 ..
drwxr-xr-x  2 agc   agc    512 May 21 22:21 acpi0
lrwxr-xr-x  1 agc   agc     41 May 21 22:21 cpu0 -> cpu0 at mainbus0 apid 0: (boot processor)
lrwxr-xr-x  1 agc   agc     40 May 21 22:21 ioapic -> ioapic at mainbus0 apid 1 not configured
drwxr-xr-x  2 agc   agc    512 May 21 22:21 pci0
% l /mnt/mainbus0/pci0/piixide0/atabus1/atapibus0
total 256
drwxr-xr-x  2 agc  agc  512 May 21 22:21 .
drwxr-xr-x  2 agc  agc  512 May 21 22:21 ..
lrwxr-xr-x  1 agc  agc   31 May 21 22:21 Description -> atapibus0 at atabus1: 2 targets
lrwxr-xr-x  1 agc  agc  104 May 21 22:21 cd0 -> cd0 at atapibus0 drive 0: <VMware Virtual IDE CDROM Drive, 1000000000000000000, 0000000> cdrom removable
%
2007-05-21 21:29:23 +00:00
agc cfb41894f8 Adapt to new signature for virtdir_add(). 2007-05-21 21:19:25 +00:00
agc 12eda41239 Add a size parameter to virtdir_add, so that binary information can be
attached to a virtual directory entry.
2007-05-21 21:15:34 +00:00
agc c048d63924 Add a function to return the virtual offset in the virtdir_t tree. 2007-05-19 06:15:38 +00:00
pooka 1d9d9332f5 Use SETBACK_NOREF instead of SETBACK_INACT to control node removal.
Avoids one round of inactive (wheee!).
2007-05-18 15:53:07 +00:00
pooka 48d5a49e1f "support" vop_poll enough for testing purposes. In short, yield every
poll request for a few seconds before returning.
2007-05-18 13:55:21 +00:00
pooka c8b0a89198 reflect changes in fs mount: use puffs_mount() instead of
puffs_domount() & puffs_start()
2007-05-17 14:13:04 +00:00
pooka 9550017a8d Adapt to changes with mounting file systems.
Introduce a parameter -r to control the root node type.  For example
"dtfs -r 'lnk /etc' /puffs" mounts dtfs with the root node as a
symbolic link to /etc:

jojonaru# ./dtfs -r 'lnk /etc' /puffs
jojonaru# ls -l /puffs
lrw-rw-rw-  1 root  wheel  4 May 17 14:06 /puffs -> /etc
jojonaru# cd /puffs
jojonaru# pwd
/etc
jojonaru#

Extra credit for figuring out how to unmount this file system with
umount(8).

Likewise, "dtfs -r 'chr 2 12' /puffs" makes /puffs (i386) /dev/zero etcetc.
2007-05-17 14:10:13 +00:00
agc cd3ccd9b12 Add a new, trivial file system, pcifs, which shows the devices on a
pcibus (via pcictl(8)) under the mount point:

% df /mnt
Filesystem         1K-blocks      Used     Avail Capacity  Mounted on
puffs:refuse:pcifs         0         0         0   100%    /mnt
% l /mnt
total 642
drwxr-xr-x   2 root  wheel     0 Jan  1  1970 .
drwxr-xr-x  31 root  wheel  1024 May 16 20:06 ..
lrw-r--r--   1 agc   agc      65 May 16 22:05 000:00:0: -> Intel 82443BX Host Bridge/Controller (host bridge, revision 0x01)
lrw-r--r--   1 agc   agc      55 May 16 22:05 000:01:0: -> Intel 82443BX AGP Interface (PCI bridge, revision 0x01)
lrw-r--r--   1 agc   agc      64 May 16 22:05 000:07:0: -> Intel 82371AB (PIIX4) PCI-ISA Bridge (ISA bridge, revision 0x08)
lrw-r--r--   1 agc   agc      86 May 16 22:05 000:07:1: -> Intel 82371AB (PIIX4) IDE controller (IDE mass storage, interface 0x8a, revision 0x01)
lrw-r--r--   1 agc   agc      58 May 16 22:05 000:07:2: -> Intel 82371AB (PIIX4) USB Host Controller (USB serial bus)
lrw-r--r--   1 agc   agc      87 May 16 22:05 000:07:3: -> Intel 82371AB (PIIX4) Power Management Controller (miscellaneous bridge, revision 0x08)
lrw-r--r--   1 agc   agc      36 May 16 22:05 000:15:0: -> VMware Virtual SVGA II (VGA display)
lrw-r--r--   1 agc   agc      56 May 16 22:05 000:16:0: -> Symbios Logic 53c1030 (SCSI mass storage, revision 0x01)
lrw-r--r--   1 agc   agc      75 May 16 22:05 000:17:0: -> Advanced Micro Devices PCnet-PCI Ethernet (ethernet network, revision 0x10)
lrw-r--r--   1 agc   agc      53 May 16 22:05 000:18:0: -> Ensoniq AudioPCI 97 (audio multimedia, revision 0x02)
%

pcifs uses the virtdir routines, librefuse and puffs.
2007-05-16 21:44:30 +00:00
pooka d583f4a1ec Unmount frequently requires some test code, so define it here as
a dummy instead of libpuffs to make plugging the test code in easier.
2007-05-07 17:22:50 +00:00
pooka 2893a07834 Default to inactive-on-demand, use inactive setback to request inactive
to be called for a removed node (for unix open file semantics).
2007-05-07 17:18:50 +00:00
pooka 65b2578e0c allow to mount nullfs types only from directories
TODO: generalize
2007-04-24 21:38:32 +00:00
pooka 2878c03588 mount with write-through page cache if command line -t is given 2007-04-22 18:03:18 +00:00
pooka 9a3c4f612c remove assertion now done in libpuffs 2007-04-20 08:29:28 +00:00
agc af7508ae15 Take advantage of the new functionality in virtdir_add() to create
intermediate directories automatically.
2007-04-18 20:33:59 +00:00
agc 9448d95472 When adding virtual directory entries, check the path to see that
intermediate directories have already been created. If not, then
create the intermediate directories. This means that callers don't
need to create the intermediate directories themselves.

When reading a virtual directory, don't return a zero-length
virtual directory entry.
2007-04-18 20:32:16 +00:00
agc 41c7d6fedc Don't allow duplicate directory entries to be created.
Correct a comment.
2007-04-17 22:51:53 +00:00
pooka 66efb94d3b use PUFFS_STORE_DCOOKIE 2007-04-17 11:43:32 +00:00
pooka 558edb1195 update usage 2007-04-16 13:52:38 +00:00
pooka 4609dd7023 lessen file handle size sanity checks: kernel does it already (mostly) 2007-04-16 13:25:09 +00:00
pooka b173dac692 adapt to kernel changes with file handles 2007-04-16 13:06:39 +00:00
agc aac1680082 Add id3fs, a virtual file system, based on librefuse, for accessing
mp3-based files according to artist, genre or year.

Three virtual directories are made available under the mount point -

	artists/
	genre/
	year/

and then virtual directory entries (see virtdir(3)) are created under
these heading directories.

The pkgsrc/audio/id3 package is needed for this file system to function
properly.

Two shell scripts, id3info.sh and id3db.sh, are included to build up
the music database for id3fs to use to build up its virtual
directories.
2007-04-15 15:22:44 +00:00
agc 777436c8cf Add routines to manipulate virtual directory entries, for use with
librefuse-based file systems.

These are especially useful for file systems which present virtual
directory hierarchies to the caller.

The routines build up and manage an array of virtual directory
entries, indexed upon full pathname within the file system.  This is
analogous to the way refuse indexes its own entries.  Routines are
available to add, delete, and find entries.  Each entry can be one of
3 types - file ('f'), directory ('d') or symbolic link ('l').  Each
entry can also be associated with a target, which is a character
string allocated upon addition.  This can be useful for virtual
directory entries of the symbolic link type.

The virtual directory entries can be traversed as an ordered list
(the entries are ordered alphabetically), or can be accessed by
directory component, using routines analogous to opendir(3), readdir(3),
and closedir(3).
2007-04-15 15:10:56 +00:00
pooka 37dd7942fc Instead of keeping on adding parameters to puffs_mount(), make it
only take the bare essentials, which currently means removing
"maxreqlen" from the argument list (all current callers I'm aware
of set it as 0 anyway).  Introduce puffs_init(), which provides a
context for setting various parameters and puffs_domount(), which
can be used to mount the file system.  Keep puffs_mount() as a
shortcut for the above two for simple file systems.

Bump development ABI version to 13.  After all, it's Friday the 13th.
Watch out!  Bad things can happen on Friday the 13th. --No carrier--
2007-04-13 13:35:46 +00:00
pooka 95a18d20b9 Hide struct puffs_usermount from the rest of the world and provide
accessors for interesting data in it.  Namely, you can now get
pu->pu_privdata with puffs_getspecific(), pu->pu_pn_root with
puffs_set/getroot() and pu->pu_maxreqlen with puffs_getmaxreqlen().
2007-04-12 15:09:00 +00:00
pooka 7ed53cb9ec adapt to new readdir signature. no functional change 2007-04-11 21:10:49 +00:00
pooka 5af002af7d support nfs exporting sysctlfs. it is now possible to manage the
sysctl tree for a host over nfs (for however megaexciting that is)
2007-04-11 21:08:52 +00:00
pooka 3e65ff17b5 support nfs exporting dtfs 2007-04-11 21:07:54 +00:00
pooka c6d7dea8d5 use dev_t from puffs_node instead of duplicating it into
fs specific structures
2007-04-10 13:32:02 +00:00
pooka d99ec1ff38 g/c leftovers 2007-04-10 12:29:29 +00:00
pooka 4a480ffabb Allocate file memory in blocks instead of one big chunk. Makes
writing large files much cheaper since there's no longer a need to
realloc $lots of memory when the file grows.
2007-04-01 10:55:38 +00:00
agc f44794b224 Add a refuse-based "fanout" file system. This is more commonly known in
the BSD world as a "union" file system.

This fanout file system takes a number of directories and makes them
available under a single mount point.

This is more of an example file sytsem than anything else, but is used
as the basis of a number of other file systems which will be forthcoming
"real soon now".
2007-03-31 21:05:56 +00:00
pooka 27eb6005d2 reflect libpuffs change of puffs_access argument unification 2007-03-22 16:59:34 +00:00
pooka 4370dd6320 check puffs_access_{chmod,chown,times} in setattr 2007-03-21 19:56:49 +00:00
pooka 6d03fb0803 add support for permissions and file ownership 2007-03-20 18:30:30 +00:00
pooka 19dd9ef4ee don't shrink file size when writing to the middle of an existing file
(mandatory AsiaBSDCon live commit)
2007-03-11 10:08:37 +00:00
pooka d89ebe7462 * remove rogue header
* better variable name to avoid shadowing global symbol name
2007-02-27 22:03:45 +00:00
agc 7f4005e3b0 Add dbfs, an example (re)fuse file system which mounts a Berkeley
database as a file system.

The file was created in the first place with the following commands:

	cp /etc/passwd infile
	db -E B -w -f infile -F: -C btree bdb.db

and mounted as follows:

	./dbfs bdb.db /mnt

Example use is as follows, using a btree-based database with login
names as the key, and the rest of the passwd file entry as the value:

[21:17:20] agc@inspiron1300 ~ 142 > df -i /mnt
Filesystem        1K-blocks      Used     Avail Capacity  iused    ifree  %iused  Mounted on
puffs:refuse:dbfs        32        32         0   100%        1        0   100%   /mnt
[21:17:25] agc@inspiron1300 ~ 143 > l /mnt
total 2
drwxr-xr-x   2 root  wheel     0 Jan  1  1970 .
drwxr-xr-x  29 root  wheel  1024 Jan 31 21:14 ..
-r--r--r--   1 agc   agc      55 Feb 23 14:49 _pflogd
-r--r--r--   1 agc   agc      50 Feb 23 14:49 _proxy
-r--r--r--   1 agc   agc      46 Feb 23 14:49 _rwhod
-r--r--r--   1 agc   agc      49 Feb 23 14:49 _timedc
-r--r--r--   1 agc   agc      33 Feb 23 14:49 agc
-r--r--r--   1 agc   agc      51 Feb 23 14:49 bin
-r--r--r--   1 agc   agc      40 Feb 23 14:49 daemon
-r--r--r--   1 agc   agc      46 Feb 23 14:49 games
-r--r--r--   1 agc   agc      54 Feb 23 14:49 named
-r--r--r--   1 agc   agc      56 Feb 23 14:49 nobody
-r--r--r--   1 agc   agc      53 Feb 23 14:49 ntpd
-r--r--r--   1 agc   agc      49 Feb 23 14:49 operator
-r--r--r--   1 agc   agc      55 Feb 23 14:49 postfix
-r--r--r--   1 agc   agc      32 Feb 23 14:49 root
-r--r--r--   1 agc   agc      53 Feb 23 14:49 sshd
-r--r--r--   1 agc   agc      43 Feb 23 14:49 toor
-r--r--r--   1 agc   agc      52 Feb 23 14:49 uucp
[21:17:32] agc@inspiron1300 ~ 144 > grep nologin /mnt/*
/mnt/_pflogd:*:18:18:& pseudo-user:/var/chroot/pflogd:/sbin/nologin
/mnt/_proxy:*:21:21:Proxy Services:/nonexistent:/sbin/nologin
/mnt/_rwhod:*:19:19:& pseudo-user:/var/rwho:/sbin/nologin
/mnt/_timedc:*:22:22:& pseudo-user:/nonexistent:/sbin/nologin
/mnt/bin:*:3:7:Binaries Commands and Source:/:/sbin/nologin
/mnt/daemon:*:1:1:The devil himself:/:/sbin/nologin
/mnt/games:*:7:13:& pseudo-user:/usr/games:/sbin/nologin
/mnt/named:*:14:14:& pseudo-user:/var/chroot/named:/sbin/nologin
/mnt/nobody:*:32767:39:Unprivileged user:/nonexistent:/sbin/nologin
/mnt/ntpd:*:15:15:& pseudo-user:/var/chroot/ntpd:/sbin/nologin
/mnt/operator:*:2:5:System &:/usr/guest/operator:/sbin/nologin
/mnt/postfix:*:12:12:& pseudo-user:/var/spool/postfix:/sbin/nologin
/mnt/sshd:*:16:16:& pseudo-user:/var/chroot/sshd:/sbin/nologin
/mnt/uucp:*:66:1:UNIX-to-UNIX Copy:/nonexistent:/sbin/nologin
[21:17:37] agc@inspiron1300 ~ 145 >
2007-02-23 21:26:44 +00:00
pooka 27f51110f8 lookup in-core nodes in readdir() and provide the real inode for
each node.  This makes pwd work.
2007-02-16 16:39:56 +00:00
pooka 34faca38b1 * introduce path comparison method for the sysctl MIB paths
* use puffs_path_walkcmp() instead of a homegrown routine
2007-02-15 17:07:31 +00:00
pooka 3f1bccc16c Use new libpuffs dotdot features to get rid of embedding the directory
hierarchy in the in-memory nodes.  This allows us to easily do
reclaim, since we don't have to worry about reclaiming a node which
has alive children which might want to dotdot lookup later on.
2007-02-15 12:59:22 +00:00
pooka 5f82fb0670 support reclaim 2007-02-15 12:54:52 +00:00
pooka 70d42dbba1 do reclaim 2007-02-15 12:54:24 +00:00
pooka 9c41498b0b PUFFS_ISDOTDOT -> PCNISDOTDOT 2007-02-15 12:52:30 +00:00
gdt 5ff979921c Even though the parent doesn't descend here, it's still convenient to
have a makefile to build the 4 examples at once.
2007-01-30 01:26:58 +00:00
pooka c1b9179682 Avoid doing a ludicrous number of reallocs when the file grows by only
lazy extending the file in setattr and really extending it in write.
2007-01-28 10:47:36 +00:00
pooka f235a8d60c Add very uncorrect "suspend fs if server gets SIGUSR1" test for fs
suspension (hey, it's a test file system after all .... )
2007-01-26 23:02:05 +00:00
elad a78693aa19 Kill KAUTH_PROCESS_RESOURCE and just replace it with two actions for
nice and rlimit.
2007-01-20 16:47:38 +00:00
elad e52ee73ea8 arg0 is always 'struct proc *' for the process scope. 2007-01-15 17:05:01 +00:00
pooka b5da39fea6 Gur Zbba vf Jnavat Perfprag (19% bs Shyy)
Add a little layering experiment, which both exercises the
componentname modification feature of libpuffs and tries to do
layering (just a little too hardcoded for comfort, fow now).  This
simply uses the puffs nullfs to present all data and paths in rot13.
You can even mount it twice for extra fun.
2007-01-15 00:46:29 +00:00
pooka e6ea11c9c0 use new style to indicate rootpath 2007-01-15 00:43:07 +00:00
pooka 9a25a94ef7 adapt to libpuffs changes 2007-01-15 00:41:09 +00:00
pooka 14995912ad use the libpuffs path management routines to help build the sysctl
mib names
2007-01-15 00:40:37 +00:00
pooka dd15744c39 * register fsync operation
* test for -s, which causes no detach (don't need to remember to
  do follow-dances in gdb because of fork() used in daemon())
2007-01-11 17:50:35 +00:00
pooka 764f2241da * initialize pflags properly
* make 'dump' imply 'don't detach'
2007-01-11 11:52:53 +00:00
pooka cf4b2a379f example null file system built on top of the null layer in libpuffs 2007-01-11 01:03:03 +00:00
pooka a67e4ce37f * do mount as a forward operation instead of a callback
* process -o args for mount
2007-01-06 18:25:19 +00:00
elad a75d82b0bc We no longer have 'enum kauth_machdep_req'. 2007-01-05 13:23:22 +00:00
elad a13160f423 Make mount(2) and unmount(2) use kauth(9) for security policy.
Okay yamt@.
2007-01-02 10:47:28 +00:00
pooka d584a8d23a SUSv3 says: should the implementation not support directory unlinking,
unlink shall fail with EPERM and the errno of the failure shall be EPERM
2007-01-01 21:32:12 +00:00
pooka 6a42c9c838 apply wide-angle rotollation beam to match libpuffs changes 2006-12-29 15:37:06 +00:00
pooka fb7890b666 ssshfs is obsoleted by mount_psshfs 2006-12-29 15:36:18 +00:00
elad 504c71d9fe Make machdep scope architecture-agnostic by removing all arch-specific
requests and centralizing them all. The result is that some of these
are not used on some architectures, but the documentation was updated
to reflect that.
2006-12-26 10:43:43 +00:00
elad 3d11477c94 Add requests indicating access to unmanaged memory for arm, pc532, powerpc,
sh3, sh5, and vax, and use them instead of KAUTH_GENERIC_ISSUSER.

Update documentation and example secmodel code.
2006-12-22 11:13:21 +00:00
elad 238ad51d2d - moves 'nice' access semantics to secmodel code,
- makes sysctl_proc_find() just lookup the process,
- use KAUTH_PROCESS_CANSEE requests to determine if the caller is
  allowed to view the target process' corename, stop flags, and
  rlimits,
- use explicit kauth(9) calls with KAUTH_PROCESS_CORENAME,
  KAUTH_REQ_PROCESS_RESOURCE_NICE, KAUTH_REQ_PROCESS_RESOURCE_RLIMIT,
  and KAUTH_PROCESS_STOPFLAG when modifying the aforementioned.
- sync man-page and example skeleton secmodel with reality.

okay yamt@

this is a pullup candidate.
2006-12-14 11:45:08 +00:00
manu 098ea45eb4 New README.plainrsa sample file 2006-12-10 05:52:10 +00:00
pooka fe53828f70 use command line flags to set various options 2006-12-07 22:49:04 +00:00
pooka 7e3489d64a write requires setattr, so do a dummy version to make write here work
again after the checkops kernel changes
2006-12-07 10:59:03 +00:00
pooka fb5e346800 counter-rototill for libpuffs change: unify all callback ops under
a single structure
2006-12-07 10:54:29 +00:00
pooka 44576f90f6 fix IO_APPEND for write 2006-12-05 23:14:13 +00:00
pooka 05b1899256 only count directories in the number of hard links to a directory 2006-12-05 14:32:03 +00:00
pooka 69dbc08863 update flag names 2006-12-01 12:50:52 +00:00
pooka 496f59a99f adapt to flags parameter for puffs_mainloop() 2006-11-30 05:38:54 +00:00
wiz fa34b615d2 Correct spelling of "immediate(ly)". From Zafer. 2006-11-24 21:23:07 +00:00
hubertf 1ee989e6be Don't try to handle symlinks on versions of the SSH File Transfer Protocol
that don't support it, e.g. the Solaris 9/x86 sshd (SSH-2.0-Sun_SSH_1.0;
..._1.1 from Solaris 10/x86 is fine)

OK'd by pooka@
2006-11-23 01:51:15 +00:00
elad 4b316db1d1 Introduce KAUTH_REQ_MACHDEP_{ALPHA,X86}_UNMANAGEDMEM to handle access
to unmanaged memory.

These are the last two securelevel references in the MD code.
2006-11-22 12:12:51 +00:00
pooka 118c65eb6d * update comments
* puffs_nextdent() takes a directory type, not vtype, so translate
  that before calling it.  fixes find & other fts-stuff.
2006-11-21 23:19:45 +00:00
pooka 5676e026f8 * change usage to ssshfs user@host:path mountpath
* assorted little fixes

ssshfs now works for practical uses
2006-11-21 23:09:23 +00:00
pooka 2773d88a59 do better directory link accounting, fix bug in readdir(). find, rm -rf,
etcetc. now work
2006-11-21 15:35:58 +00:00
pooka a9772ae2fb better accounting. e.g. du works now 2006-11-21 13:05:47 +00:00
pooka e7a63c481b don't recache directory listing in all operations that use a directory 2006-11-21 12:42:15 +00:00
pooka 8f2fd4cb28 reclaim needs some more work, so don't do anything there for now.
This is good especially for not crashing in unmount, which in turn
would cause unpleasantries without the very latest & greatest kernel
2006-11-21 02:31:48 +00:00
pooka 1d9515c070 today's fs-in-a-day: quick glue to tie puffs together with openssh
sftp code to accomplish something close to sshfs.  this basically
works, but there are some issues with directory grovelers still,
e.g. so untar won't work.  but it works for browsing mailboxes,
transferring large files, etcetc.
2006-11-21 00:54:06 +00:00
pooka 66e8fee83b implement puffs_write. It's now possible to change the values of
existing sysctl nodes (except for CTLTYPE_STRUCT).
2006-11-20 00:04:05 +00:00
pooka 4d33479aef * no more fsid
* no more start()
2006-11-18 12:41:06 +00:00
pooka a2646bee20 mount with PUFFSFLAG_NOCACHE 2006-11-17 17:48:51 +00:00
pooka 48697c774d do correct size calculation in getattr(). accidentally replaced that
with a dummy before commit.
2006-11-17 00:27:16 +00:00
pooka 2f8a6afe2a fs du jour: sysctlfs, which mounts an equivalent of "sysctl -a" as
a fs hierarchy.  This is currently ro, lacking features, and very
much unfinished in every other possible sense.  Should investigate
if this can share code with sbin/sysctl so that everything must
not be rewritten.
2006-11-14 21:37:36 +00:00
pooka ae357b8c97 adapt to libpuffs namespace change 2006-11-14 11:45:53 +00:00
pooka f173564d8b use generic dummies for sync and unmount 2006-11-14 11:27:35 +00:00
pooka 0ef848220b remove special-case handling for CREATE/RENAME from lookup() - this fs
does not need it, just return ENOENT
2006-11-13 20:59:48 +00:00
pooka bc745833ff fix link count for rootnode broken last week 2006-11-13 20:11:36 +00:00
pooka d666e1c0f4 play catchup with the rest of the world, i.e. shuffle stuff a bit 2006-11-09 13:11:52 +00:00
pooka 05310d3a05 give an estimation of the amount of free space 2006-11-08 11:25:29 +00:00
pooka da17507da9 adapt to new lookup signature 2006-11-07 22:11:17 +00:00
elad 7d27a7d8b8 Add example listener for the device scope.
While here, sync with reality.
2006-11-04 09:37:54 +00:00
pooka 8fdf9afc13 update appropriate timestamps after each operation. cvs works much
better now with dtfs /tmp
2006-10-27 14:03:52 +00:00
pooka 9638ee1464 relax typechecks so that all file types work (they were already supported) 2006-10-27 12:26:25 +00:00
pooka 0ba65a4c32 support mknod, essentially makes it possible to run dtfs as /dev 2006-10-26 22:53:25 +00:00
elad adf8d7aab2 Introduce KAUTH_REQ_NETWORK_SOCKET_OPEN, to check if opening a socket is
allowed. It takes three int * arguments indicating domain, type, and
protocol. Replace previous KAUTH_REQ_NETWORK_SOCKET_RAWSOCK with it (but
keep it still).

Places that used to explicitly check for privileged context now don't
need it anymore, so I replaced these with XXX comment indiacting it for
future reference.

Documented and updated examples as well.
2006-10-25 22:49:22 +00:00
pooka f9b7e6e829 Only nuke directory entry in remove and clear data completely only
when the node is reclaimed.  This makes dtfs preserve unix open file
semantics.
2006-10-25 18:18:16 +00:00
pooka 22ec7067d6 don't allow to read or write a directory 2006-10-23 16:20:39 +00:00
pooka 69fe36da66 dtfs (*): a very simple in-memory file system providing an example on
how to use libpuffs

this is not installed into the binary distribution just yet

*) you can call it either "Delectable Test File System" or
"Detrempe File System", depending on what you think will result
in more puffing
2006-10-23 00:44:53 +00:00
elad 305fe09181 Introduce a new action on the network scope, KAUTH_NETWORK_INTERFACE,
used to manage network interfaces.

Add four sub-actions to fulfill generic needs for now, until a more
carefully defined usage of the interface is documented: get, set,
getpriv, and setpriv.
2006-10-20 23:10:33 +00:00
elad fab05f403b Add a new ALTQ kauth(9) request, KAUTH_REQ_NETWORK_ALTQ_JOBS. 2006-10-20 22:02:54 +00:00
elad 8c494ca741 Introduce KAUTH_REQ_NETWORK_SOCKET_CANSEE. Since we're not gonna be having
credentials on sockets, at least not anytime soon, this is a way to check
if we can "look" at a socket. Later on when (and if) we do have socket
credentials, the interface usage remains the same because we pass the
socket.

This also fixes sysctl for inet/inet6 pcblist.
2006-10-13 15:39:18 +00:00
christos 25666bcae7 add a LINUX_MAKEDEV for ptmx 2006-09-22 15:33:08 +00:00
elad 5727e58f16 Obsolete old fingerprint generation scripts. 2006-09-16 21:03:11 +00:00
elad 6cb705e0b1 Add skeleton files to be used by developers interested in writing NetBSD
security models from scratch. Address issues both for in-tree integration
as well as distribution as LKMs.

Placed in the public domain.
2006-09-15 15:49:29 +00:00
lukem 7569b63e4d Remove a mirror that was decommissioned almost five years ago
and was removed from the mirrors database at the time.
Somehow this file slipped through the cracks...
2006-07-27 23:01:27 +00:00
mrg 9db1a19397 don't install crypto files with MKCRYPTO=no. with these changes, a
MKCRYPTO=no build completes.
2006-06-26 19:50:56 +00:00
rpaulo 5d222d28ff Add a hostapd.conf example based on the one distributed with hostapd. 2006-04-30 13:52:35 +00:00
jmmv bb99282370 Merge fstab.tmpfs into fstab.ramdisk so that the file names represent
concepts rather than specific file systems.  Suggested by hubertf@.
2005-12-24 12:59:21 +00:00
sketch 5fee310ead Fix typo: ammount -> amount. 2005-11-27 14:11:44 +00:00
elad 74bc6e6de2 Install fpgen.sh too. 2005-10-13 13:49:47 +00:00
jmmv 1631ceed60 Disable the /var/run entry and tell the user what to do to make it work
correctly.

While here, add two more sample entries.
2005-10-03 19:56:04 +00:00
simonb be630e4bf2 Split the fstab examples so that adding newer examples doesn't need a
shuffling of previous examples across line boundaries.
2005-09-30 12:55:13 +00:00
jmmv 3d17d70f0c Add a fstab.tmpfs sample file showing simple but common sample entries.
Suggested by martti@.
2005-09-29 21:06:43 +00:00
elad d095dfcecb Change examples; we're using /etc/signatures and not vexec.conf.
Change the message that appears at the end of the fingerprint generation
to match what the user really needs to do.
2005-09-03 10:22:21 +00:00
elad c38a64b2fe We have SHA2 in cksum(1); no need for digest from pkgsrc anymore. 2005-09-03 10:11:31 +00:00
blymn f115e176d8 New style fingerprint generation script. 2005-09-03 09:57:10 +00:00
rpaulo b07796b5b8 Added map_type = file to the global configuration. Else, we would get warnings
on amd boot saying the file wasn't executable.
2005-08-23 13:54:41 +00:00
manu 6cb285d965 Take into account file removal 2005-05-10 10:23:13 +00:00
hubertf bd55168e81 Backout previous:
Don't recommend mounting /var and /usr nodev,nosuid
too many things may break.
2005-05-06 08:41:00 +00:00
hubertf 71be6dfd96 No devices on /usr -> mount -o nodev
No setuid programs in /var	-> mount -o nodev,nosuid

Adding "noexec" in various places may cause too much damage
(e.g. for running DEINSTALL scripts from /var/db/pkg, configure
scripts, etc).

Inspired by OpenBSD's afterboot(8) manpage.
2005-05-04 18:26:14 +00:00
xtraeme d5dac37f3b Install the new gen_rmd160 file too. 2005-04-21 09:57:03 +00:00
blymn 8387760ed1 Rototill of the verified exec functionality.
* We now use hash tables instead of a list to store the in kernel
    fingerprints.
  * Fingerprint methods handling has been made more flexible, it is now
    even simpler to add new methods.
  * the loader no longer passes in magic numbers representing the
    fingerprint method so veriexecctl is not longer kernel specific.
  * fingerprint methods can be tailored out using options in the kernel
    config file.
  * more fingerprint methods added - rmd160, sha256/384/512
  * veriexecctl can now report the fingerprint methods supported by the
    running kernel.
  * regularised the naming of some portions of veriexec.
2005-04-20 13:44:45 +00:00
hubertf 9ee7752f6f Extract commonly used things like CDROMs, pseudo-filesystems (/proc, ...)
and mfs-based /tmp into their own files. Hint at them in the existing
files. (fstab needs an #include statement :)
2005-04-03 14:12:14 +00:00
thorpej 354f2a1004 Switch to ipsec-tools for libipsec, setkey, and racoon. From
Emmanuel Dreyfus, with some small changes by me.
2005-02-19 16:55:02 +00:00
wiz 3f9411f688 Spell removable with only two es. Inspired by jmc@openbsd. 2004-04-19 12:44:09 +00:00
jmmv f630412f5f Add trailing semicolons to lines that need it. 2004-02-05 11:41:15 +00:00
jmmv 9be8f275ce xconsole is a global property, so move it to the global scope.
Fixes part of PR bin/23223.
2004-01-05 11:01:32 +00:00
abs 024a9509bc s/dails/dials/ in a comment 2003-10-02 21:32:56 +00:00
lukem fd483b4d81 provide commands required to create the syslog log files used by this config 2003-09-01 00:30:34 +00:00
lukem da5f4674a3 don't need to rotate /var/cron/log, as all.debug doesn't use it 2003-09-01 00:29:05 +00:00
jmmv a55ba0a54c Add example section for action mode. 2003-08-06 22:16:34 +00:00
jmmv 01144be932 Add a sample line for the new "modes" property. Fix a word. 2003-08-06 18:09:12 +00:00
salo 22a0ae4298 netbsd.org->NetBSD.org 2003-07-26 20:17:31 +00:00
david ada315648a Note that the /etc/apm/* scripts must be executable. 2003-03-10 16:14:37 +00:00
jmmv f556391190 Add a wsmoused sample configuration file. 2003-03-04 14:36:17 +00:00
jdolecek 800e198ba6 add example disktab file 2002-12-17 15:16:40 +00:00
blymn e644ca2e85 Added verified exec directory. 2002-11-23 10:25:56 +00:00
blymn c06c99cbd3 Example signature generating scripts. 2002-11-23 10:25:03 +00:00
blymn 1c475f17bc Removing due to rename of loader tool. 2002-11-23 10:21:17 +00:00
blymn 1baccad4de Added verifiedexec_load signature generator scripts. 2002-10-29 14:05:33 +00:00
jdolecek 074863cac2 Move the sample fstab files to /usr/share/examples/fstab/. Duplicates
or very similar configs removed.
2002-05-04 19:43:57 +00:00
martin 876d3c9146 Add an example for the new "autoupdown" keyword. 2002-04-11 09:08:19 +00:00
martin fc467dcd20 Modify for new ISDN device/interface names. 2002-03-17 21:32:21 +00:00
mrg ffa430c2f0 add a newsyslog.conf that matches the all.debug. 2001-12-18 01:44:36 +00:00
lukem b0b0a32ad7 Set NOxxx= before <bsd.own.mk> is pulled in (even indirectly).
Otherwise the appropriate MKxxx=no won't be defined .
2001-12-12 12:24:19 +00:00
tv 8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
wiz 7632b5a399 Remove example file for sup.uk.netbsd.org, since that hasn't existed in
over two years. Addresses misc/10884 by David Brownlee.
2001-05-06 10:04:58 +00:00
wiz 2eef3cf67b Update to latest tariff change. 2001-04-22 22:17:40 +00:00
wiz 11aa81d3ba Update for 2001, and some typo fixes; some commented out additional
holidays depending on where exactly you live.
2001-04-22 22:15:43 +00:00
wiz d00466173d RCS Ids 2001-04-22 22:10:54 +00:00
dent 4e6f728497 SUP mirror at ftp.cs.umn.edu is gone. 2001-04-19 04:13:56 +00:00
eeh 0c31c28638 Treat all sparc machines the same. 2001-02-10 23:25:51 +00:00
martin 56d43050fc Enable ISDN examples. 2001-01-06 13:28:19 +00:00
martin 0a970e19e4 Import of ISDN4BSD configuration example files 2001-01-06 13:26:27 +00:00
thorpej d7f68b8aa0 Don't install a no-longer-present file. 2000-12-29 01:52:25 +00:00
is 70692a9b20 Gone since May 2000. 2000-12-28 22:29:57 +00:00
wiz 98e25ea2e6 Install adapted config file instead of old one. 2000-11-20 00:47:10 +00:00
wiz 3819ccc8d0 Adapt config file example to am-utils-6.0.4. 2000-11-20 00:46:09 +00:00
lukem 2e7cad82bb - only audioplay if the audio file exists
- replace logger with $LOGGER, which is defined to `logger -t apm'
- use 'mount -u ... -A -t ffs' instead of 'mount -u ... -a', since the
  latter won't work on already mounted file systems except for `/'.
2000-11-05 03:30:51 +00:00
bouyer d11b2e4d50 Example file for, guess what ? sup2.fr.netbsd.org. 2000-08-23 17:18:45 +00:00