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
 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
 
 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)
 === 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
 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 ---
 
 === 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
 --- 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
 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
 
 --- 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
 --- 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
 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 ---
 --- 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