AQUARELA(8) AQUARELA(8)
NAME
aquarela - CIFS server
SYNOPSIS
aquarela [ -np ] [ -d debug ] [ -u N ] [ -w workgroup ]
DESCRIPTION
Aquarela provides CIFS (once known as SMB) access to Plan 9
file servers. It announces and subsequently listens on
tcp!*!445 for connections to the file hierarchies called
`shares' by CIFS. Users are authenticated with their APOP
secret (see auth(8)). Each session is managed by a process
running as the authenticated user. Two persistent processes
handle listening, session setup, and housekeeping.
An aquarela CIFS share corresponds to a directory under /n.
A client request for a specific share, say, share, causes
aquarela to attempt a 9fs (in srv(4)) connection to the file
server share. If connection succeeds, a file hierarchy
rooted at /n/share is presented to the client. The client
request fails otherwise. Requests for the protocol equiva-
lent of / are satisfied with a directory containing only the
default share, local.
The options are:
-n Enable limited NETBIOS service. Aquarela will register
with the `master browser' for workgroup and listen on
tcp!*!139 and udp!*!13[7-9] for NETBIOS name resolution
and session requests. This works in tandem with a com-
plete NETBIOS master name server, like that provided by
Unix nmbd(8). NETBIOS is not required for CIFS file
service.
-u N Send Unicode. For N, 1 enables, 0 disables Unicoding
of file names and metadata. There is no code page sup-
port, so aquarela emits UTF if N is 0.
-w workgroup
Set workgroup (or `primary domain') of server. Default
PLAN9.
EXAMPLE
To start CIFS service on system plan9:
% aquarela -u 1 &
To then make the dump filesystem available as drive Y: on a
Windows machine:
C:\>net use Y: \\plan9.example.com\dump
Page 1 Plan 9 (printed 10/25/25)
AQUARELA(8) AQUARELA(8)
FILES
/n/local Default CIFS share
/sys/log/aquarela Log file
SOURCE
/sys/src/cmd/aquarela
SEE ALSO
auth(8), srv(4), utf(6)
DIAGNOSTICS
Log messages are appended to /sys/log/aquarela if it exists.
The -p option prints them on standard output as well. The
-d option adds verbose output about debug to the log mes-
sages, where debug is one of:
allcmds All CIFS requests and responses.
tids Connections and disconnections per-share.
sids Creation and deletion of search ids.
fids Creation and deletion of file ids.
rap2 RAP calls.
find Transaction2 find commands.
query Transaction2 query commands.
sharedfiles All files opened.
poolparanoia Draconian error checking in memory allocator.
sessions Connections and disconnections on server.
rep Regular expression conversions.
locks Locking activity.
any-smb-name Debug only SMB_ requests or transaction2 sub-
requests (e.g., SMB_COM_SESSION_SETUP_ANDX or
SMB_TRANS2_FIND_FIRST2) matching symbolic name
any-smb-name.
0xnn Debug only messages with hexadecimal id 0xnn.
BUGS
The first connection attempt to a share sometimes fails
erroneously - try again. The share disk space reported by
some clients is inaccurate. Some clients can't rename
directories. Write attempts without sufficient permissions
fail (correctly), but appear on client to temporarily suc-
ceed.
This program should probably be named cifsserver.
Page 2 Plan 9 (printed 10/25/25)