|
Telnet-Accessible Client For Drink This is the manual for the Telnet-Accessible Client for Drink. Index Top Of Document To use the client, log into one of the drink machines by typing: telnet <machine> 42
Where Basic Client features Default Prompt Values: Prompts that
have values in Example: drink > d Slot to drop [enter to abort]: Aborting drop Control-U (^U): Just like in most command shells, you may use control-u to erase the current line. This works throughout the entire client, even on the password field of the login prompt (even though you may not see it). Full View of Client When you connect to a machine, you will see a screen similar to the following:
At first, you will only see a login prompt. Enter your CSH username and
password. Make sure your telnet client’s local echo is turned off, otherwise
your password will show. Most clients should auto-negotiate echoing, unless you
have local echo completely forced on. corrugated(~) > telnet fake-drink 42 Welcome to drink! Running client v1.23 last updated 18-May-2003. Username: This is the logon screen. If this is your first time logging into drink, your account will be created with default values. You will not have administrative privileges and your balance will be zero. Blank Input: If you hit ‘return’ at an empty prompt for either the
username or password, the program will cycle back to asking for the username.
This is useful if you mistype your username - simply hit enter twice and you’ll
be prompted for your username again. This is also useful if you are used to
systems where you need to hit enter for a prompt to appear. Maximum Attempts/Password Validation: You may only enter a username/password pair three times before you are kicked from the client. If you enter an invalid password for any attempt, the client will pause for a short time before allowing you to enter your username again. Both of these features are provided to prevent brute-forcing of a user’s password. Password entry: Passwords are not echoed back to the client. This is for security, so that someone peering over your shoulder does not see your password, nor does it show up in any buffer or command history. NOTE: If your telnet client forces local echo, YOUR PASSWORD WILL BE VISIBLE. This is beyond the control of the drink client. Client Main Screen:
This is the screen you will see once you have logged in. Commands shown above in bold, on the right-hand-side, are administrator commands only. You will not see these commands unless you are an administrator. Temperature Readout: Shows the temperature of the soda cabinet. This feature only works on Big Drink. Beverage Listing: A listing of all
available beverages. The ‘ Client Commands: Commands are not case-sensitive. Command L (List Beverages) Command D (Drop Drink) drink > d Slot to drop [enter to abort]: 2 Delay (0-60)[0]: 10
If you don’t mean to drop a drink, hit enter to abort the operation. drink > r Delay (0-60) [0]: 0 Connection closed by foreign host. Command Q (Quit Client): Administrative Commands: These are commands that will only be available to the administrator. Regular users will not see these commands. Command E (Add Credits): drink > e User: antiduh Credits to add: 10 Successfully added 10 credits to antiduh's account If the user does not exist, the administrator will be prompted to register the user with the Drink system. Command A (User Administration): Command S (Update Slot Quantity): The name of the slot will be printed in the new quantity prompt, so that the admin may verify that they selected the correct slot.drink > s Which slot do you wish to edit? : 0 Enter new quantity for 'Yoohoo': 20 Operation successful Entering a blank value (by simply hitting ‘return’) for either prompt will abort the procedure. Command O (Edit Entire Slot): This command will allow the user to change every value for a single slot. The current values are used as the default values for the operation. This way, if the user wishes to simply edit the price of the slot, then the user can hit enter for all the other commands (to use the default), and enter a value for just the price: drink > o Which slot do you wish to edit? : 0 Enter name [Yoohoo]: Enter cost [50]: Enter quantity [20]: Enter # dropped [311]: Enabled? [true]: false Operation successful Here, the first slot (‘Yoohoo’) was simply disabled. This section covers the sub-menu which may be accessed by executing command ‘A’ on the prompt. This loads the "User Administration" submenu. drink > a [ A Add user ] [ R Remove user ] [ S Set/unset admin ] [ C Check if user is admin ] [ B Display user balance ] [ E Add to user balance ] [ V Determine if valid user ] [ Q Go back to the main menu ] drink::user_admin > Command A (Add User): drink::user_admin > a Username: blarg Password for the new user: Successfully added blarg The command will prompt for the users password; This is future-proofing in the
case that the drink accounting subsystem were to switch to drink-specific
passwords. Command R (Remove User): drink::user_admin > r Username: blarg Successfully removed blarg If the username field is blank or the user is not already registered, the operation will abort. Command S (Set Admin flag): drink::user_admin > s Username: blarg Admin status (t/f) [f]: t Operation successful The operation will abort if the username is empty. Command C (Query Admin Status): drink::user_admin > c Username: antiduh User antiduh is an administrator The given username must be a valid username, otherwise the operation will abort. Command B (Query User Balance): drink::user_admin > b Username: antiduh Balance for antiduh: 660 If the user entered is not a valid user, then the operation will abort. Command E (Add Credits): drink::user_admin > e User: antiduh Credits: 0 Operation successful Note that this does not set the users credit balance, but that the
credit parameter is a credit delta and may be positive or negative. By supplying
a value of -25, 25 credits are removed from the users balance. drink::user_admin > v Username: antiduh User antiduh is a valid user If the given username is blank, then the operation will abort. This document is maintained by Kevin Thompson, [antiduh@csh.rit.edu].
|