netatalk.io

Netatalk 4.5.0

Name

afp_logintest — AFP authentication and DSI session test suite

Synopsis

afp_logintest [-1234567CmVv] [-f test] [-h host] [-p port] [-s volume] [-u user] [-w password]

afp_logintest -l

Description

afp_logintest is a testsuite for DSI sessions and authentication from an AFP client. It will run a range of happy path and corner case tests for establishing a DSI session with an AFP server and then use UAMs (User Authentication Methods) to authenticate with a user.

Options

-1 : Use AFP 2.1 protocol version

-2 : Use AFP 2.2 protocol version

-3 : Use AFP 3.0 protocol version

-4 : Use AFP 3.1 protocol version

-5 : Use AFP 3.2 protocol version

-6 : Use AFP 3.3 protocol version

-7 : Use AFP 3.4 protocol version (default)

-C : Turn off ANSI colors in terminal output

-f test : Run a specific test

-h host : Server hostname or IP address (default: localhost)

-l : List available tests

-m : Run tests in AppleShare (Mac) AFP server compatibility mode

-p port : Server port number (default: 548)

-u user : Username for authentication with AFP server (default: current uid)

-v : Verbose output

-V : Very verbose output

-w password : Password for authentication with AFP server

Preconditions

In order to test Guest and Clear Text authentication, netatalk must be configured to use the uams_guest and uams_clrtxt.so UAMs, respectively. Configure the UAMs in netatalk’s afp.conf:

[Global]
uam list = uams_clrtxt.so uams_guest.so

Other tests may require additional UAMs to be configured; see the test output for details on which tests failed due to missing UAMs.

Additionally, in order to test non-Guest authentication, a username and password must be passed to the test runner.

Examples

Run all tests against an AFP server running on 10.0.0.10, without user credentials

$ afp_logintest -h 10.0.0.10
Logintest:test1: DSI with no open session - PASSED
Logintest:test2: DSI with open session - PASSED
Logintest:test3: Guest login - PASSED
Logintest:test4: connection limit hit returns server-busy - PASSED
Logintest:test5: Clear text login - SKIPPED (username/password for the AFP server)
Logintest:test6: DSIOpenSession non zero parameter should be ignored by the server - SKIPPED (username/password for the AFP server)
Logintest:test7: DSI round-trip via renamed dsi_stream_send/dsi_cmd_receive - PASSED
Logintest:test8: FPLoginExt + No User Authent (direct) - PASSED
Logintest:test9: AFPLoginCont primitive round-trip - SKIPPED (username/password for the AFP server)
Logintest:test10: UAM matrix walk - PASSED
=====================
TEST RESULT SUMMARY
---------------------
Passed:     7
Skipped:    3
Failed:     0
Not tested: 0

Skipped tests (precondition not met):
    Logintest:test5: Clear text login
    Logintest:test6: DSIOpenSession non zero parameter should be ignored by the server
    Logintest:test9: AFPLoginCont primitive round-trip

See Also

afp_lantest(1), afp_spectest(1), afparg(1), afpd(8)