gweepnet online help : m++ messaging system

What is m++?

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++.

Before you run m++ the first time...

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 '>'):

> testmxx
The 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 -k
Follow the on-screen instructions to configure your key.

Caveats of Using m++

m++ is very simple to use, and in general presents few difficulties to the user. However, there are a few caveats to be noted.

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.

Controlling Your Privacy

Sometimes it may not be desirable to receive messages from others. Your availability can be toggled with the mesg command. To disable your messages, you type the following:
> mesg n
And to re-enable them, you type:
> mesg y
If 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.

Customizing Your Send Prompt and Other Stupid Tricks

m++ allows you to create a customized send prompt. This changes the appearance of the message that the intended party receives. This, and indeed, many other changes are made by editing your mrc file (located in ~/.m/mrc).

Authenticating Users

m++ works like pgp in that it is up to you to authenticate other users as they send messages to you. The m++ software will let you know that another user is not yet authenticated by adding a "?" to their name when they send a message to you. For example, if you received the following message, you would know that jer was not authenticated.
-><- 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,, fubar, goom, jmedicus, julz,, kfarrell, kimidawn, laur, leaf, leif, lelle, liz,
lizzie, magnum, mcmanus, mute,, oni,
prefect,, profesor, reaper, rocko, shifty,
truss,,, wolf, xine,

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'.

Message Logging

mxx can log received and sent messages for your later perusal. This is quite handy in a unix environment, as messages from other users often come in at inopportune moments (e.g. when you're reading your mail).

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 0
These 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').

[top] [home pages] [hosted sites] [network topology] [gweepnet history] [news] [online help]
Last Modified:

[Powered by FreeBSD]