Yahoo! Messenger
The BBS has a Yahoo! Messenger server (YMSG, the protocol of Yahoo's pager), beside its IRC, AIM and MSN servers and on the same chat. Someone signed in with Yahoo! Messenger sees their BBS friends as buddies, IMs anyone on the BBS (other Yahoo users, IRC, AIM and MSN users, and callers on telnet, SSH, 3270s and the web terminal), and joins the BBS's chat rooms as Yahoo chat rooms.
| Setting | Default | What it sets |
|---|---|---|
address |
:5050 |
where the pager listens |
http_address |
none | the web half (the capacity lookup and the room list), plain HTTP |
https_address |
none | the web half over HTTPS: the login of Y!M 9 and later |
tls_cert, tls_key |
none | the certificate for https_address (for login.yahoo.com) |
host |
the address each client asked on | the pager's address the capacity lookup gives; set it behind NAT |
max_clients |
256 |
connections at once |
max_per_ip |
4 |
from one address |
system |
bbs |
the Yahoo ID the BBS's notices come from |
Versions served¶
YMSG 9 to 16. Two logins are served:
- The challenge login (YMSG 9 to 15): Yahoo! Messenger 5.x, and third-party clients of that time (Gaim, Kopete, libyahoo2's), which take the login type the server offers. Yahoo! Messenger 6 to 8 used a later challenge ("auth type 1") that is not served; whether they take the older one when it is offered has not been tried yet.
- The token login (YMSG 16): Yahoo! Messenger 9 and later, and
the later Pidgin 2.x releases. The client sends the password over HTTPS to
login.yahoo.com, gets a token, and proves it on the pager. This needshttps_address.
Pointing a client at the BBS¶
The clients were made for Yahoo's servers, so each must be pointed at the BBS. None of this has been tried with the real clients yet.
- Yahoo! Messenger 5 to 8: under
HKEY_CURRENT_USER\Software\Yahoo\Pagerin the registry, set the string valuessocket serverandIPLookupto the BBS's host (community guides also setConn ServerandHost Name). Or sendscs.msg.yahoo.comandscsa.msg.yahoo.comto the BBS in the machine's hosts file. - Yahoo! Messenger 9 and later: the hosts file sends
vcs1.msg.yahoo.com,vcs2.msg.yahoo.com,scsa.msg.yahoo.comandlogin.yahoo.comto the BBS; the machine must trust the certificate given intls_certforlogin.yahoo.com(make a small certificate authority of your own and add its certificate to the machine's trusted roots). The HTTPS server takes the TLS 1.0 and old ciphers Windows XP has. insider.msg.yahoo.comsent to the BBS gives the chat room browser the BBS's rooms.- Third-party clients (Pidgin, Kopete, Miranda, Trillian) take a pager server in the account's settings.
The deny list and bans in [security] apply as they do everywhere else.
Signing in¶
Every Yahoo user is a BBS user. Their Yahoo ID is their BBS name in lower
case without its spaces (carolann is Carol Ann), and the password is
their BBS password. Failed sign-ins count towards the throttle and the
hack log, like any other login, and the user's access level must allow
chat. One account is signed in on one Yahoo client at a time: signing in
again signs the older one out.
The challenge login proves the password by two digests of it, which the
BBS's password hashes can't check. So the BBS keeps each account's Yahoo
digests too, made whenever the password is known: when the account is
made, when its password is set, and at any login by password. An account
from before [ymsg] was set up has none yet: its user logs in once some
other way (telnet, SSH, IRC, AIM, the web) and can then sign in with
Yahoo. The log says so when that is why a sign-in failed. The digests are
kept only while [ymsg] is set up; anyone who read them from the
database could sign in by Yahoo as that user. The token login checks the
password itself, as any login does. The pager's connection is not
encrypted.
Buddies¶
The buddy list is the user's friends list,
the same list the BBS's chat, IRC, AIM and MSN show, with its groups
(Friends for friends in none). A buddy is always a BBS user: adding
anyone else is refused, and the BBS says so. Adding a buddy asks no one's
permission. A friend added or moved elsewhere comes to a client that is
on at once, and one added, moved or removed on Yahoo is changed
everywhere.
The ignore list is the user's blocked list: a blocked user's messages are refused however they come, and the user appears offline to them.
A buddy is online while they are on the BBS by any route: with the status their Yahoo client set (busy, be right back, a custom message, invisible), or, on another route, with "on the BBS by telnet" (or IRC, AIM, MSN...) as their status message.
IMs¶
An IM to a BBS user is a private
message: a PRIVMSG on IRC, an IM on
AIM or MSN, a message line on a terminal. Yahoo's colours and fonts are
taken off. Typing notices pass between Yahoo clients only.
Every line is kept. One to a user who isn't on is kept for them; they
get it when they next log in. Lines kept for a Yahoo user come when they
sign in, marked with when they were sent. The BBS's notices (new mail, a
page for the sysop, errors) come from the system ID.
Sending files is not served: the client is told to use the BBS's file areas.
Chat rooms and conferences¶
A Yahoo chat room is a BBS chat room: "Linux, FreeBSD,
Solaris:1" is the room linux-freebsd-solari (lower case, letters and
digits, the lobby number dropped, at most 20 characters), the same room
IRC calls #linux-freebsd-solari. The room browser lists the rooms in
use and the permanent ones.
A conference (Yahoo's invited group IM) is a BBS room of its own, yc-
and the conference's name. Yahoo users invited are asked by their
clients; anyone else invited gets a private message naming the room,
which they join from wherever they are. Anyone told the room's name can
join it.