XFBBC(8)

πŸ“¦
version 7.013 Β· 2 versions
, in ubuntu stonking

πŸ’– XFBBC(8) β€” the xfbbC console, but make it make sense πŸ’–

okay bestie, real talk: this is xfbbC, section 8 of your System Manager's Manual, and she is the console for the fbb mailbox. let's get into it ✨


✨ NAME ✨

xfbbC β€” Console for the fbb mailbox 🫢


🌸 SYNOPSIS 🌸

xfbbC [options]

πŸ¦‹ DESCRIPTION πŸ¦‹

so literally, this is the console client for the xfbbd BBS daemon. that's the whole vibe. you wanna talk to the daemon, you talk through her πŸ’…


πŸ’… OPTIONS πŸ’…

  • -h <address> β€” Hostname address of the xfbbd server. tell her where the daemon's at 🏠
  • -d <file> β€” Download remote configuration file. pulling it down, iconic πŸ’Œ
  • -u <file> β€” Upload configuration file. sending it up, slay πŸ“€
  • -l β€” Display remote directory. window shopping but for files πŸ‘€
  • -f β€” Data filtering. Control characters are discarded. bye bye weird little bytes 🧹
  • -p <port> β€” IP port number (default 3286). no cap, that's the default πŸ”’
  • -w <password> β€” password of the callsign as defined in passwd.sys. the secret lil handshake 🀫
  • -i <callsign> β€” Callsign used for connection. who u are, be honest πŸͺͺ
  • -c β€” Console connection. sysop mode energy, local only πŸ‘‘
  • -m <channel> β€” Displays a connected channel (0 = all channels). pick ur lane, or all of them 🌈
  • -r β€” Don't use ncurses. plain and unbothered, no fancy TUI 🧘
  • -s <svc_nb> β€” Request service number. asking for a specific service πŸ””

πŸŽ€ REMARKS πŸŽ€

the environment variables xfbbC uses are, in order of gossip:

  • XFBBC_HOST : hostname (default localhost). 🏑
  • XFBBC_PORT : socket port (default 3286). πŸ”Œ
  • XFBBC_CALL : my callsign. πŸ“£
  • XFBBC_PASS : password string of passwd.sys in xfbbd. πŸ”

🌟 USAGE WITH ax25d 🌟

so when xfbbd is reached through AX.25/NET-ROM/ROSE, ax25d(8) spawns one xfbbC process per incoming connection. and in this context, remember bestie, for real:

  • ax25d.conf's exec and argv[0] are two separate fields, much like inetd(8) uses (see ax25d.conf(5)'s "args..." field description). The exec field only supplies the program to run; the very next word is used verbatim as argv[0], so the executable name must be repeated there before any real option. Leaving it out silently shifts every option down by one: xfbbC never sees -i or -w at all (getopt(3) stops at the first non-option word, here the callsign or password meant for -i/-w), and falls back to its built-in defaults (callsign "nocall", the global default password) -- for the default rule this happens to work anyway, since the default password is what xfbbC sends by default too, which is why the bug can go unnoticed for a long time. πŸ’€ sneaky sneaky.
  • -i %S is required to pass the caller's own callsign; the callsign must not be given as a bare argument, it is only recognized after -i. 🚨
  • -c must not be used here: it selects the console (sysop) mode meant for a local interactive session, not for a normal incoming user/BBS connection. local queens only, don't bring that energy to a remote connection πŸ™ˆ
  • A callsign that has its own entry (and password) in passwd.sys needs a dedicated rule with -w placed before the generic/default rule, otherwise xfbbC still sends the global default password from passwd.sys and authentication fails for that particular callsign, while it still succeeds for any other callsign relying on the default password. order matters bestie, it's giving rule precedence ✨

Example /etc/ax25/ax25d.conf NET-ROM section for a BBS reachable as MYCALL-1, where MYCALL has its own password (MYPASS) in passwd.sys:

 <netbbs>
 NOCALL   * * * * * *  L
 MYCALL   * * * * * *  - root  /usr/local/sbin/xfbbC xfbbC -i %S -w MYPASS
 default  * * * * * *  - root  /usr/local/sbin/xfbbC xfbbC -i %S

The same pattern applies to the equivalent AX.25 and ROSE sections. 🌈 copy-paste responsibly.


πŸ‘‘ AUTHOR πŸ‘‘

This manual page was written by Joop Stakenborg <pa3aba@debian.org>. thank u joop, we owe u one 🫢


and that's the whole page, bestie β€” no cap, every last detail is in there, section 8, System Manager's Manual, XFBBC(8). go forth and configure πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from