Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (8) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

auth(8)

srv(4)

utf(6)

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 equivalent 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 complete 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 support, 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

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 messages, 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 succeed. 

This program should probably be named cifsserver.

Plan 9  —  January 31, 2008

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026