gweepnet online help : m++ messaging system
m++ (aka mxx) is a program designed to allow users to send short messages to each other from the unix command prompt. Significant improvements over previous efforts (s and snd for those who remember them from the WPI CCC unix machines) include security (encryption and authentication), robustness, and better logging of messages.
m++ was written by Yeasah Pell. Some of the m++ utilities were written by Steve Richardson (testmxx and mauth). Neither take any responsibilities for their actions.
To send a message to a user using m++, you might type something like this:
> m jer "hello.."If jer is logged in and he has his messages enabled, he would see something like:
** prefect says: hello.. **The rest of this document describes how to configure and use m++.
m++ requires you to set up your private encryption key before you can properly be authenticated and send secure messages to other users. If you are a new sidehack user, chances are very good that this has been done for you automatically.
By using the 'testmxx' command, you can test to see if your account has been configured. Type the following (in all examples following, omit the leading '>'):
> testmxxThe testmxx program will tell you if you need to set up m++ or not. If it does not detect the proper setup files in your home directory, it will suggest that you run 'mxx -k', which is the command to generate the authentication key for m++. If it suggests that you do this, simply type:
> mxx -kFollow the on-screen instructions to configure your key.
Because m++ works via the command prompt of your unix shell, some limits are imposed on exactly what and how much you can send in a message. Many of these limitations can be overcome by surrounding the text of your message in double quotes (e.g. "hello"). You must be sure not to include double quotes in the body of your message, but you may use single quotes (and, obviously, apostrophes) within the double quotes.
The exclamation point character (!) can wreak havoc with m++ messages because it is often interpreted by the shell as a 'repeat last command' character. To be safe, never use more than one exclamation point at a time. (e.g. "hello!" would work fine, but "hello!!!" would probably cause a lot of unpleasant problems.)
Similarly, the dollar sign character is interpreted by most shells. It usually has the effect of 'swallowing' the dollar amount you meant to type, and leaving the recipient of the message quite confused. (e.g. you typed "i just spent $20 on a new CD" would likely be received as "i just spent on a new CD"). To get around this, it helps to get used to representing dollar amounts ending with ".00" instead of beginning with the "$" character. (e.g. "my soul can be bought for a mere 1000.00")
The asterisk character is interpeted by most shells if you don't have your message in double quotes. If your recipient starts seeing file names in your messages, it's probably because of this.
You can send a surprisingly large message in a single burst. There is some upper limit imposed, but it is shell-dependent, and I'm not really sure what it is. You can probably type at least 10 lines.
One last annoyance with m++ is that you can receive unsolicited messages in the middle of reading email, for example. Often the solution is to disable messages, or to go on with what you're doing (generally fixing your now-ugly screen by hitting control-L) and check your received messages log later on. You can generally temporarily suspend the program you're in and send a response back to the person by hitting control-Z. Type 'fg' to return to the application once you're done. Disabling messages and message logging are discussed below.
> mesg nAnd to re-enable them, you type:
> mesg yIf someone tries to send you a message when you are blocking messages, they will be notified that you may not be contacted because your messages are off.
-><- jer? : d00d -><-
There is usually little reason to be quite as paranoid about key verification as many pgp users are. However, it never hurts to be sure a user really is who they claim to be before you verify them. I find that asking a question that only they can answer usually suffices.
A simple utility has been created to verify user keys. It is called mauth, and is available by simply typing 'mauth' at the command prompt. Below is an example mauth session.
> mauth mauth 1.0 - m++ known user key manager - gweepwright (G) 1999 steve richardson Digested 46 keys... Verified Users -------------- abate, arr, atkins, caz, council, curly, danarchy, daver, david, dibble, doom, fear, email@example.com, fubar, goom, jmedicus, julz, firstname.lastname@example.org, kfarrell, kimidawn, laur, leaf, leif, lelle, liz, lizzie, magnum, mcmanus, mute, email@example.com, oni, prefect, firstname.lastname@example.org, profesor, reaper, rocko, shifty, truss, email@example.com, firstname.lastname@example.org, wolf, xine, yeasah, email@example.com, Unverified Users ---------------- Jer Johnson unverified Verify [y/N]? y crimson unverified Verify [y/N]? y Writing file...To verify users using the mauth program, one need only answer 'y' (and press ENTER) when prompted.
The advanced method of verifying users involves editing ~/.m/known.users with a decent text editor such as emacs or jed. Search for the string string 'unverified' and replace it with 'verified'.
mxx can save received messages in one or two separate files, depending if you're actually logged in at the time or not. It also logs sent messages in a separate file. For convenience, I recommend logging everything to a single file.
To enable logging, edit your ~/.m/mrc file and add/adjust the following lines:
log_format "[%d %t] %n: %m" send_logfile mxxlog receive_logfile mxxlog away_logfile mxxlog max_logsize 0These parameters can be adjusted, and that will be covered some time in the future.
Now, a single file ~/.m/mxxlog will contain sent and received messages. They are stored oldest first. Simple aliases can be created to view the most recent messages. For example, add this to your .tcshrc/.cshrc (tcsh, csh only):
alias ml "tail -20 ~/.m/mxxlog"
If you get interrupted while reading mail and miss the send from soneone, simply suspend (ctrl-z) or quit the mail program, type 'ml', respond if apppriate, and resume reading mail (typically 'fg').