X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=proto.txt;h=ac2d13917be16a5510b0df4d110f87cc4601ee5d;hb=ca788d1ed62b100c213fa9de432f969d85b136e9;hp=4f4da81635f1acf0404f557e39057eb120d189ab;hpb=269aa7454d78f71e2a8fe2deb4437ffd4a48712a;p=tpg%2Fopendispense2.git diff --git a/proto.txt b/proto.txt index 4f4da81..ac2d139 100644 --- a/proto.txt +++ b/proto.txt @@ -7,7 +7,7 @@ All server responses are on one line and are prefixed by a three digit response == Response Codes == 100 Information 200 Command succeeded, no extra information -201 Command succeeded, array follows ( ...) +201 Command succeeded, multiple lines follow () 202 Command succeeded, per-command format 400 Unknown Command 401 Not Authenticated (or Authentication failure) @@ -15,7 +15,9 @@ All server responses are on one line and are prefixed by a three digit response 403 User not allowed to perform this action 404 Bad other username 406 Bad Item ID +407 Invalid arguments 500 Unknown Dispense Failure +501 Action Rejected == Item IDs == represents the item ID @@ -25,37 +27,42 @@ general they will be limited to the standard alpha-numeric set === User Auth === c USER \n s 100 SALT \n or 100 User Set\n (If no salt used) -c PASS \n (Hex-Encoded SHA-512 Hash of ) +c PASS \n (Hex-Encoded SHA-1 Hash of ) s 200 Auth OK\n or 401 Auth Failure\n User is now authenticated --- Alternate Method (Implicit Trust Authentication) --- -If the client is connecting from a trusted machine on a low port then +If the client is connecting from a trusted machine on a root port then automatic authentication is allowed c AUTOAUTH \n -s 200 Auth OK\n or 401 Auth Failure\n or 401 Untrusted\n +s 200 Auth OK\n or 404 Bad Username\n or 401 Untrusted\n === Commands === ---- Get Item list --- -c ENUM_ITEMS\n -s 201 Items ...\n ---- Get Item Information --- -c ITEM_INFO \n -s 202 Item ""\n --- Dispense an item --- c DISPENSE \n s 200 Dispense OK\n or 402 Poor You\n or 500 Dispense Error\n or 406 Bad Item\n --- Give to another user --- c GIVE \n s 200 Give OK\n or 402 Poor You\n or 404 Bad User\n ---- Update balance --- -c ADD ""\n -s 200 Add OK\n or 403 Not Coke\n or 404 Bad User\n ---- Set Balance --- -c SET ""\n -s 200 Set OK\n or 403 Not allowed\n or 404 Bad User\n ---- Get Users Balances --- -c ENUM_USERS[ ]\n -s 201 Users ...\n +--- Alter balance --- +c ADD \n +s 200 Add OK\n or 402 No balance\n or 403 Not Coke\n or 404 Bad User\n +--- Set balance --- +c SET \n +s 200 Set OK\n or 403 Not Coke\n or 404 Bad User\n + +--- Get Item list --- +c ENUM_ITEMS\n +s 201 Items ...\n +--- Get Item Information --- +c ITEM_INFO \n +s 202 Item \n +--- Get Users' Balances --- + and can be '-' to indicate "none" +c ENUM_USERS[ []]\n +s 201 Users \n +s 202 User \n + ... +s 200 List End\n --- Get a User's Balance --- -c USERINFO\n -s 202 User \n +c USER_INFO\n +s 202 User \n