Cleanup and Implementations
[tpg/opendispense2.git] / proto.txt
index 8c5e1f6..b45d7a6 100644 (file)
--- a/proto.txt
+++ b/proto.txt
@@ -15,6 +15,7 @@ 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
 
@@ -26,14 +27,14 @@ general they will be limited to the standard alpha-numeric set
 === User Auth ===
 c      USER <username>\n
 s      100 SALT <string>\n or 100 User Set\n   (If no salt used)
-c      PASS <hash>\n   (Hex-Encoded SHA-512 Hash of <username><salt><password>)
+c      PASS <hash>\n   (Hex-Encoded SHA-1 Hash of <username><salt><password>)
 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 <username>\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 ===
 --- Dispense an item ---
@@ -42,9 +43,12 @@ 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 <user> <ammount> <reason>\n
 s      200 Give OK\n or 402 Poor You\n or 404 Bad User\n
---- Update balance ---
+--- Alter balance ---
 c      ADD <user> <ammount> <reason>\n
-s      200 Add OK\n or 403 Not Coke\n or 404 Bad User\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 <user> <ammount> <reason>\n
+s      200 Set OK\n or 403 Not Coke\n or 404 Bad User\n
 
 --- Get Item list ---
 c      ENUM_ITEMS\n
@@ -52,12 +56,9 @@ s    201 Items <count> <item_id> <item_id> ...\n
 --- Get Item Information ---
 c      ITEM_INFO <item_id>\n
 s      202 Item <item_id> <price> <description>\n
---- Set Balance ---
-c      SET <user> <balance> <reason>\n
-s      200 Set OK\n or 403 Not allowed\n or 404 Bad User\n
---- Get Users Balances ---
+--- Get Users' Balances ---
 c      ENUM_USERS[ <max balance>]\n
-s      201 Users <count> <username> <username> ...\n
+s      201 Users <count> <username>:<balance>:<flags> <username>:<balance>:<flags> ...\n
 --- Get a User's Balance ---
-c      USERINFO\n
-s      202 User <username> <balance>\n
+c      USER_INFO\n
+s      202 User <username> <balance> <flags>\n

UCC git Repository :: git.ucc.asn.au