AFP_LOGINTEST(1)

✨ NAME ✨

Okay bestie, welcome to afp_logintest, the one and only tool in this manual (AFP_LOGINTEST(1), from the Netatalk AFP Fileserver Manual) πŸ’… It's the DSI session and auth test suite, and it is iconic.

Name check: afp_logintest is the whole vibe πŸ¦‹


✨ SYNOPSIS ✨

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

afp_logintest -l
The -s volume flag shows up in the synopsis, but this page doesn't actually describe it. Just flagging that so you're not confused when you see it πŸ™ˆ

πŸ’– DESCRIPTION πŸ’–

Okay so, afp_logintest is a testsuite for DSI sessions and authentication, but from the point of view of an AFP client πŸŽ€ It runs a whole range of happy path tests AND corner case tests. First it tries to establish a DSI session with an AFP server, and then it uses UAMs (User Authentication Methods) to log in as a user. It's giving thorough, no cap 🫢


🌈 OPTIONS 🌈

  • -1 β€” Use the AFP 2.1 protocol version 🌸
  • -2 β€” Use the AFP 2.2 protocol version 🌸
  • -3 β€” Use the AFP 3.0 protocol version 🌸
  • -4 β€” Use the AFP 3.1 protocol version 🌸
  • -5 β€” Use the AFP 3.2 protocol version 🌸
  • -6 β€” Use the AFP 3.3 protocol version 🌸
  • -7 β€” Use the AFP 3.4 protocol version. This one is the default, so you get it if you don't pick anything ✨
  • -C β€” Turns off ANSI colors in the terminal output, for when you want the plain look πŸ™ˆ
  • -f test β€” Runs one specific test, so you can skip the whole group chat and go straight to the drama πŸ”₯
  • -h host β€” The server hostname or IP address. Defaults to localhost 🏠
  • -l β€” Lists the available tests πŸ“‹
  • -m β€” Runs the tests in AppleShare (Mac) AFP server compatibility mode 🍎
  • -p port β€” The server port number. Defaults to 548 πŸ”Œ
  • -u user β€” The username for logging in to the AFP server. If you don't set it, it defaults to the current uid πŸ‘€
  • -v β€” Verbose output, so you can see more of the tea β˜•
  • -V β€” Very verbose output. It's a lot, it's a LOT, and I'm obsessed 😭
  • -w password β€” The password for logging in to the AFP server πŸ”

πŸ¦‹ PRECONDITIONS πŸ¦‹

Okay, this part matters, so listen up πŸ‘‘ To test Guest and Clear Text authentication, netatalk has to be set up to use the uams_guest and uams_clrtxt.so UAMs, respectively. You set those up in netatalk's afp.conf, like this:

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

Some other tests might need extra UAMs too. If something is missing, check the test output, because it tells you which tests failed because of missing UAMs πŸ•΅οΈβ€β™€οΈ

Also, if you want to test non-Guest authentication, you have to pass a username and password to the test runner. No creds, no non-Guest tests, periodt πŸ’€


πŸ“ EXAMPLES πŸ“

Here's a run against an AFP server on 10.0.0.10, with no user credentials. Super simple, very chill 🧚

$ 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 how tests 5, 6, and 9 got SKIPPED? That's because there were no credentials, so their preconditions weren't met. Seven passed, three skipped, zero failed. Main character energy ✨


πŸŽ€ SEE ALSO πŸŽ€

If you want more, check out afp_lantest(1), afp_spectest(1), afparg(1), and afpd(8) 🫢


Okay, that's the whole tea β˜•πŸ’œ This page came from Netatalk 4.5.1, and it's the AFP_LOGINTEST(1) manual, so go forth and test your logins, bestie πŸ¦‹βœ¨

πŸ“¦ where this page comes from
  • fedora 44: netatalk-afptest 5:4.5.1-1.fc44 Β· GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND LicenseRef-Callaway-LGPLv2+ AND LicenseRef-Callaway-BSD AND FSFUL AND LicenseRef-Callaway-MIT
  • πŸ’– girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms