X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=proto.txt;h=e68ed763285e18df18ccca9862da0b80a0c4d8be;hb=dfa4eb21fc9e7cc2bfa912581d38aaee04f3b990;hp=3314ad8246fbc9c8a2445a041d8aa2783ecaaa9e;hpb=a1dce35d211aa41688b589292d4bfa338e5c953c;p=tpg%2Fopendispense2.git diff --git a/proto.txt b/proto.txt index 3314ad8..e68ed76 100644 --- a/proto.txt +++ b/proto.txt @@ -15,23 +15,28 @@ 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 +Item IDs are allowed to contain any non-whitespace character, but in +general they will be limited to the standard alpha-numeric set === User Auth === c USER \n -s 100 SALT \n -c PASS \n (Hex-Encoded SHA-512 Hash of ) +s 100 SALT \n or 100 User Set\n (If no salt used) +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 root port then +automatic authentication is allowed +c AUTOAUTH \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 @@ -39,10 +44,17 @@ s 200 Dispense OK\n or 402 Poor You\n or 500 Dispense Error\n or 406 Bad Item\n c GIVE \n s 200 Give OK\n or 402 Poor You\n or 404 Bad User\n --- Update balance --- -c ADD ""\n +c ADD \n s 200 Add 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 --- Set Balance --- -c SET ""\n +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