tpg/opendispense2.git
13 years agoDebugging door
John Hodge [Sat, 19 Feb 2011 07:30:31 +0000 (15:30 +0800)]
Debugging door

13 years agoMultiple chanegs, see details
John Hodge [Sat, 19 Feb 2011 07:17:41 +0000 (15:17 +0800)]
Multiple chanegs, see details

- Added option to hide an item from ENUM_ITEMS (prefix with '-')
- Added door server password support (command line)
- Non-enabled inotify support for item config

13 years agoHacked to stop root dispenses
John Hodge [Sat, 19 Feb 2011 06:27:42 +0000 (14:27 +0800)]
Hacked to stop root dispenses

13 years agoChanged client not to keep a persistent connection when choosing items
John Hodge [Sat, 19 Feb 2011 06:15:54 +0000 (14:15 +0800)]
Changed client not to keep a persistent connection when choosing items

13 years agoUser timeouts, compile fixes
John Hodge [Sat, 19 Feb 2011 06:12:27 +0000 (14:12 +0800)]
User timeouts, compile fixes

13 years agoCleaning and fixing coke handler
John Hodge [Sat, 19 Feb 2011 05:18:18 +0000 (13:18 +0800)]
Cleaning and fixing coke handler

- Send 'd7' before checking status

13 years agoReset slot names on startup
John Hodge [Sat, 19 Feb 2011 04:56:06 +0000 (12:56 +0800)]
Reset slot names on startup

13 years agoFixing crappy code in coke handler, debug in others
root [Sat, 19 Feb 2011 04:16:28 +0000 (12:16 +0800)]
Fixing crappy code in coke handler, debug in others

13 years agoFixed debug in cokebank
John Hodge [Sat, 19 Feb 2011 03:31:35 +0000 (11:31 +0800)]
Fixed debug in cokebank

13 years agoDebugging sqlite cokebank, slight fixes to coke handler
John Hodge [Sat, 19 Feb 2011 03:25:12 +0000 (11:25 +0800)]
Debugging sqlite cokebank, slight fixes to coke handler

13 years agoFuck the timestamp
John Hodge [Sat, 19 Feb 2011 03:13:30 +0000 (11:13 +0800)]
Fuck the timestamp

13 years agoFixed timestamp
John Hodge [Sat, 19 Feb 2011 03:12:54 +0000 (11:12 +0800)]
Fixed timestamp

13 years ago*bleep* Compile before commit
John Hodge [Sat, 19 Feb 2011 03:11:56 +0000 (11:11 +0800)]
*bleep* Compile before commit

13 years agoDebugging fixes
John Hodge [Sat, 19 Feb 2011 03:11:00 +0000 (11:11 +0800)]
Debugging fixes

13 years agoFxied autoauth
John Hodge [Sat, 19 Feb 2011 02:50:44 +0000 (10:50 +0800)]
Fxied autoauth

13 years agoFixed admins not being coke members
John Hodge [Sat, 19 Feb 2011 02:45:38 +0000 (10:45 +0800)]
Fixed admins not being coke members

13 years agoImplemented `dispense acct <name> =`
John Hodge [Sat, 5 Feb 2011 09:33:53 +0000 (17:33 +0800)]
Implemented `dispense acct <name> =`

- also starting on moving item database to cokebank

13 years agoFixes to bugs pointed by [BOB]
John Hodge [Wed, 2 Feb 2011 13:24:15 +0000 (21:24 +0800)]
Fixes to bugs pointed by [BOB]

- Error in SQL code (assumed time_t was 64-bits)
- Lack of `dispense acct =` (still needs client support)
- Bumped the coke read timeout down
- Made balance alter happen after the dispense

13 years agoUntested fix to coke code (flushes buffer beofre reading)
John Hodge [Wed, 2 Feb 2011 03:48:45 +0000 (11:48 +0800)]
Untested fix to coke code (flushes buffer beofre reading)

- Changed dispense logic to only do a transfer on a non-zero price

13 years agoSQLite database works, time for more thorough stress testing
John Hodge [Sun, 30 Jan 2011 15:14:45 +0000 (23:14 +0800)]
SQLite database works, time for more thorough stress testing

- Added database setup script to aid initial setup
 > Creates an account as the current user and gives them $10

13 years agoSQLite cokebank feature complete, bugfix time
John Hodge [Sun, 30 Jan 2011 10:55:58 +0000 (18:55 +0800)]
SQLite cokebank feature complete, bugfix time

13 years agoSQLite CokeBank compiles
John Hodge [Sun, 30 Jan 2011 08:49:14 +0000 (16:49 +0800)]
SQLite CokeBank compiles

13 years agoRemoving explicit mentions to users in the cokebank
John Hodge [Sun, 30 Jan 2011 06:59:17 +0000 (14:59 +0800)]
Removing explicit mentions to users in the cokebank

- Also did more work on the SQLite implementation
- Updated terminology in schema
 > Changed the wheel flag to a more general administrator flag

13 years agoBig cleanups, reworked CokeBank API
John Hodge [Sun, 30 Jan 2011 06:27:04 +0000 (14:27 +0800)]
Big cleanups, reworked CokeBank API

- Cokebank API (hopefully) finalised
- SQLite Cokebank implementation started
- Fixed some bugs in the server
 > Coke code didn't check if the machine handle was open
 > Segfault in ENUM_ITEMS

13 years agoFiddling with potential database schema
John Hodge [Sat, 29 Jan 2011 04:27:21 +0000 (12:27 +0800)]
Fiddling with potential database schema

13 years agoCleaned up cokebank_basic a bit
John Hodge [Sun, 16 Jan 2011 09:04:52 +0000 (17:04 +0800)]
Cleaned up cokebank_basic a bit

- Working on possible new database format

13 years agoAdded database structure, moved planning to notes/
John Hodge [Sun, 16 Jan 2011 09:04:14 +0000 (17:04 +0800)]
Added database structure, moved planning to notes/

13 years agoCleanup - Multiple changes, see description
John Hodge [Sat, 8 Jan 2011 09:08:33 +0000 (17:08 +0800)]
Cleanup - Multiple changes, see description

- Enabled -Wextra and -Werror
- Added Bank_ prefix to cokebank exports
- Merged cokebank into one file, cleaned up duplication of functions
  and direct abstractions.
- Added doorgroup checking to the door handler.

13 years agoAbstraced updates to the cokebank file to a function
John Hodge [Sat, 8 Jan 2011 08:29:02 +0000 (16:29 +0800)]
Abstraced updates to the cokebank file to a function

13 years agoSlight change to cokebank logging
John Hodge [Sat, 8 Jan 2011 03:20:50 +0000 (11:20 +0800)]
Slight change to cokebank logging

13 years agoChanged user type from an enum to a collection of flags
John Hodge [Fri, 7 Jan 2011 09:43:44 +0000 (17:43 +0800)]
Changed user type from an enum to a collection of flags

- Fixed negative cents glitch in `dispense acct`

13 years agoAssumed the format of an item ID in the client
John Hodge [Fri, 7 Jan 2011 09:07:17 +0000 (17:07 +0800)]
Assumed the format of an item ID in the client

- This in preparation for adapting the client to categorise the items
  in the ncurses GUI.

13 years agoFixed syntax error in snack handler
John Hodge [Fri, 7 Jan 2011 08:34:22 +0000 (16:34 +0800)]
Fixed syntax error in snack handler

13 years agoCompleted removing SET, implemented GIVE
John Hodge [Fri, 7 Jan 2011 08:27:45 +0000 (16:27 +0800)]
Completed removing SET, implemented GIVE

13 years agoDocumentation cleanups
John Hodge [Fri, 7 Jan 2011 07:59:06 +0000 (15:59 +0800)]
Documentation cleanups

- Added doxygen comments to cokebank.h

13 years agoRemoved references to LDAP when USE_LDAP is undefined
John Hodge [Fri, 7 Jan 2011 07:43:00 +0000 (15:43 +0800)]
Removed references to LDAP when USE_LDAP is undefined

13 years agoMoved GetUserAuth out to Cokebank (removes potential duplication)
John Hodge [Fri, 7 Jan 2011 07:33:09 +0000 (15:33 +0800)]
Moved GetUserAuth out to Cokebank (removes potential duplication)

- Also did some cleanup changes (placed TODOs)
- Removed `dispense acct <name> =<value>` because it will mess up the
  accounting logs.

13 years agoActually implemented `dispense -u`
John Hodge [Fri, 7 Jan 2011 07:16:57 +0000 (15:16 +0800)]
Actually implemented `dispense -u`

- Only the backend was implemented before

13 years agoWorking on LDAP Authentication, added `dispense -u` support
John Hodge [Fri, 7 Jan 2011 07:07:58 +0000 (15:07 +0800)]
Working on LDAP Authentication, added `dispense -u` support

13 years agoMoved to syslog for the dispense log
John Hodge [Fri, 7 Jan 2011 03:57:27 +0000 (11:57 +0800)]
Moved to syslog for the dispense log

- Commenting changes

13 years agoUpdated ShowUsage for the new commands
John Hodge [Fri, 7 Jan 2011 03:33:53 +0000 (11:33 +0800)]
Updated ShowUsage for the new commands

13 years agoImplemented altering user flags
John Hodge [Fri, 7 Jan 2011 03:20:52 +0000 (11:20 +0800)]
Implemented altering user flags

- `dispense user type` added to set flags

13 years agoAdded new user command (wheel only)
John Hodge [Fri, 7 Jan 2011 01:54:05 +0000 (09:54 +0800)]
Added new user command (wheel only)

13 years agoImplemented limits on `dispense acct` and in ENUM_USERS
John Hodge [Thu, 6 Jan 2011 06:07:32 +0000 (14:07 +0800)]
Implemented limits on `dispense acct` and in ENUM_USERS

13 years agoChanged ENUM_ITEMS to the ENUM_USERS format
John Hodge [Thu, 6 Jan 2011 05:47:14 +0000 (13:47 +0800)]
Changed ENUM_ITEMS to the ENUM_USERS format

- Much cleaner client and server code now :)

13 years agoCokebank now checks users' groups when getting flags
John Hodge [Thu, 6 Jan 2011 05:41:28 +0000 (13:41 +0800)]
Cokebank now checks users' groups when getting flags

- Checks if the user is in the 'coke' or 'wheel' groups, and if they
  are, sets the flags accordingly.

13 years agoAdded coke group check to ADD
John Hodge [Thu, 6 Jan 2011 05:25:30 +0000 (13:25 +0800)]
Added coke group check to ADD

- Also fixed a place where a newline was not sent to the client
- Added a "door" flag

13 years agoAdded user flags, disable server trace
John Hodge [Thu, 6 Jan 2011 05:19:09 +0000 (13:19 +0800)]
Added user flags, disable server trace

- Added support for user flags to USER_INFO
 > TODO: Check for coke or higher when doing a privalaged operation
- Unified ENUM_USERS and USER_INFO's output function

13 years agoRemoved heap abuse from server (now uses sendf)
John Hodge [Thu, 6 Jan 2011 05:06:51 +0000 (13:06 +0800)]
Removed heap abuse from server (now uses sendf)

- Added cokebank.h
- Fixed namespace on user flags

13 years agoCOPYING and README
John Hodge [Thu, 6 Jan 2011 04:43:31 +0000 (12:43 +0800)]
COPYING and README

- A little threadbare for now.
 > Anyone else want to work on the readme?

13 years agoUser enumeration implemented
John Hodge [Thu, 6 Jan 2011 04:25:45 +0000 (12:25 +0800)]
User enumeration implemented

- TODO: Implement <min balance> and <max balance>
- Updated protocol spec for extended ENUM_USERS
- Client Dispense_EnumUsers implemented
 > Changed padding in Dispense_ShowUser
- Fixed client's ReadLine
 > Was not using the remaining data in the buffer
- Created a common "cokebank.h" for server
 > Moved pseudo-account names into this file
- Implemented ENUM_USERS at server side
 > Copied sendf to the server to improve response times (and memory
   usage)

13 years agoUpdated protocol def
John Hodge [Thu, 6 Jan 2011 03:40:22 +0000 (11:40 +0800)]
Updated protocol def

- Changed ENUM_USERS to return a list of USER_INFO responses.
- Adding stub support for reading user flags from cokebank (TODO:
  standardise the flag values)
 > Also TODO: Common header for the cokebank (shared between it and the
   server)

13 years agoRemoved debug from server, cleaning client
John Hodge [Thu, 6 Jan 2011 03:08:53 +0000 (11:08 +0800)]
Removed debug from server, cleaning client

- Removed the last use of 'recv' from the client code.
- Added a catch to the cokebank code for the username 'root'

13 years agoCleanup and Implementations
John Hodge [Thu, 6 Jan 2011 03:00:25 +0000 (11:00 +0800)]
Cleanup and Implementations

- Implemented `dispense acct <user>`
- Partitally implemented `dispense acct <user> +-<amt> <reason>`
 > Seems to not like the '>liability' pseudo account (not letting it
   go negative)
- Cleaned up more of the client code, and added debugging to it

13 years agoFiddling with protocol (might redesign it a bit)
John Hodge [Thu, 6 Jan 2011 00:05:55 +0000 (08:05 +0800)]
Fiddling with protocol (might redesign it a bit)

13 years agoImplemented `dispense add` in server
John Hodge [Wed, 5 Jan 2011 08:49:39 +0000 (16:49 +0800)]
Implemented `dispense add` in server

13 years agoMore cleanup, implementing `dispense give`
John Hodge [Wed, 5 Jan 2011 08:36:17 +0000 (16:36 +0800)]
More cleanup, implementing `dispense give`

13 years agoRestuctured cokebank
John Hodge [Wed, 5 Jan 2011 08:22:37 +0000 (16:22 +0800)]
Restuctured cokebank

Moved all references to Unix UIDs out to bank.c where it can be
safely removed if required.
- The password code is still in main.c, because that doesn't matter
  (if LDAP goes down, users will just be unable to use non-trusted
  machines.

13 years agoFixed coke handler, now can dispense a drink ^_^
root [Wed, 5 Jan 2011 07:48:25 +0000 (15:48 +0800)]
Fixed coke handler, now can dispense a drink ^_^

13 years agoFixes to the coke handler
root [Wed, 5 Jan 2011 06:55:32 +0000 (14:55 +0800)]
Fixes to the coke handler

13 years agoFixed behavior in coke (maybe)
John Hodge [Wed, 5 Jan 2011 06:28:48 +0000 (15:13 +0845)]
Fixed behavior in coke (maybe)

13 years agoAdded check for second WaitForColon
John Hodge [Wed, 5 Jan 2011 06:24:56 +0000 (15:09 +0845)]
Added check for second WaitForColon

13 years agoDoes help if I spell it correctly
John Hodge [Wed, 5 Jan 2011 06:20:51 +0000 (15:05 +0845)]
Does help if I spell it correctly

13 years agoAdded root noauth hack
John Hodge [Wed, 5 Jan 2011 06:19:48 +0000 (15:04 +0845)]
Added root noauth hack

13 years agoCleaning up client, cleaning coke code
John Hodge [Wed, 5 Jan 2011 06:12:06 +0000 (14:57 +0845)]
Cleaning up client, cleaning coke code

13 years agoCleaning up the NCurses GUI
John Hodge [Wed, 5 Jan 2011 05:00:24 +0000 (13:45 +0845)]
Cleaning up the NCurses GUI

13 years agoCleanup work (much needed)
John Hodge [Wed, 5 Jan 2011 04:36:05 +0000 (13:21 +0845)]
Cleanup work (much needed)

- Added basic logging code (TODO: USe syslog)
- Cleaned up client to remove that monolithic main()
- Added proper value for the dispense reason passed to CokeBank
- Added logging to basic CokeBank

13 years agoMore fiddling with coke code
John Hodge [Sat, 4 Dec 2010 15:54:47 +0000 (23:54 +0800)]
More fiddling with coke code

- TODO: Wait for a prompt correctly (if there is nothing waiting,
  send newlines until we get the colon prompt)

13 years agoMoved serial port opening out into a helper, added delay
John Hodge [Sat, 4 Dec 2010 13:05:49 +0000 (21:05 +0800)]
Moved serial port opening out into a helper, added delay
to coke read.

13 years agoFixing serial handling
John Hodge [Sat, 4 Dec 2010 12:50:27 +0000 (20:50 +0800)]
Fixing serial handling

13 years agoAdded log of coke machine test with picocom
John Hodge [Sat, 4 Dec 2010 12:24:19 +0000 (20:24 +0800)]
Added log of coke machine test with picocom

13 years agoUpdated items, set coke port to USB
John Hodge [Sat, 4 Dec 2010 11:54:57 +0000 (19:54 +0800)]
Updated items, set coke port to USB

13 years agoCleaning up client code and server responses
John Hodge [Sat, 4 Dec 2010 10:41:16 +0000 (18:41 +0800)]
Cleaning up client code and server responses

- Commenting, it is nice :)
- Changed the handler interface to return boolean failure
- Cleaned up the server responses to correctly correspond with
  the sped

13 years agoFixing coke handler and login (a nice cleanup)
John Hodge [Sat, 4 Dec 2010 10:08:01 +0000 (18:08 +0800)]
Fixing coke handler and login (a nice cleanup)

13 years agoWorking on password-based user auth
John Hodge [Sat, 4 Dec 2010 09:43:22 +0000 (17:43 +0800)]
Working on password-based user auth

13 years agoDoor controller code (well, the start of it)
John Hodge [Sat, 4 Dec 2010 08:18:00 +0000 (16:18 +0800)]
Door controller code (well, the start of it)

13 years agoSnack handler added
John Hodge [Sat, 4 Dec 2010 08:09:42 +0000 (16:09 +0800)]
Snack handler added

13 years agoCleaning up client code
John Hodge [Sat, 4 Dec 2010 08:09:32 +0000 (16:09 +0800)]
Cleaning up client code

13 years agoStart on a ncurses GUI
John Hodge [Tue, 30 Nov 2010 13:45:00 +0000 (21:45 +0800)]
Start on a ncurses GUI

> Very sparcely commented atm, and really needs to be sorted out,
  but it renders.

13 years agoFiddling with UI design
John Hodge [Tue, 30 Nov 2010 11:40:57 +0000 (19:40 +0800)]
Fiddling with UI design

13 years agoMerge branch 'master' of serenade.mutabah.net:opendispense2
John Hodge [Tue, 30 Nov 2010 11:27:52 +0000 (19:27 +0800)]
Merge branch 'master' of serenade.mutabah.net:opendispense2

13 years agoUser auths and client UI design
John Hodge [Tue, 30 Nov 2010 11:25:12 +0000 (19:25 +0800)]
User auths and client UI design

> Changed AUTOAUTH to return 404 on bad user
> Started work on a UI design for the `dispense` app

14 years agoSnack machine handlers
John Hodge [Tue, 23 Nov 2010 03:30:49 +0000 (11:30 +0800)]
Snack machine handlers

14 years agoClient work
John Hodge [Tue, 23 Nov 2010 03:27:54 +0000 (11:27 +0800)]
Client work

- You could dispense now, if the client actually authed

14 years agoStarted on the client
John Hodge [Sat, 20 Nov 2010 22:02:17 +0000 (06:02 +0800)]
Started on the client

- Also, fiddle, fiddle, fiddle

14 years agoFixed coke handler regex, added init for handlers
John Hodge [Sat, 20 Nov 2010 19:03:51 +0000 (03:03 +0800)]
Fixed coke handler regex, added init for handlers

14 years agoCleanups of bugs and segfaults
John Hodge [Sat, 20 Nov 2010 18:11:07 +0000 (02:11 +0800)]
Cleanups of bugs and segfaults

14 years agoFixing basic cokebank to actually work
John Hodge [Sat, 20 Nov 2010 17:34:31 +0000 (01:34 +0800)]
Fixing basic cokebank to actually work

14 years agoStarted work on an alternate cokebank that actually does something
John Hodge [Sat, 20 Nov 2010 17:04:18 +0000 (01:04 +0800)]
Started work on an alternate cokebank that actually does something

14 years agoWhy didn't this update properly?
John Hodge [Sat, 20 Nov 2010 15:12:51 +0000 (23:12 +0800)]
Why didn't this update properly?

14 years agoRestructured code into src/<module>
John Hodge [Sat, 20 Nov 2010 15:09:24 +0000 (23:09 +0800)]
Restructured code into src/<module>

- Added cokebank library
 > Also changed API slightly
- Implemented more of the protocol in server.c
- Coke handler started
- Other misc changes

14 years agoItem file parsing :)
John Hodge [Sat, 20 Nov 2010 07:47:58 +0000 (15:47 +0800)]
Item file parsing :)

- Added --itemfile to change the item file from the default
- Used the POSIX regex library to parse the item file
- Random cleanups

14 years agoWorking on item database
John Hodge [Sat, 20 Nov 2010 06:08:27 +0000 (14:08 +0800)]
Working on item database

14 years agoIt's been so long, I don't know what I did
John Hodge [Fri, 6 Aug 2010 11:32:52 +0000 (19:32 +0800)]
It's been so long, I don't know what I did

14 years agoCleaning up cokebank code
John Hodge [Mon, 12 Jul 2010 02:35:25 +0000 (10:35 +0800)]
Cleaning up cokebank code

14 years agoAnd, modified .gitignore to ignore the binary
John Hodge [Mon, 12 Jul 2010 02:00:30 +0000 (10:00 +0800)]
And, modified .gitignore to ignore the binary

14 years agoHey, It's a .gitignore file!
John Hodge [Mon, 12 Jul 2010 02:00:01 +0000 (10:00 +0800)]
Hey, It's a .gitignore file!

14 years agoImplemented AUTOAUTH
John Hodge [Mon, 12 Jul 2010 01:59:05 +0000 (09:59 +0800)]
Implemented AUTOAUTH

14 years agoAdding some nice debug
John Hodge [Sun, 11 Jul 2010 15:18:49 +0000 (23:18 +0800)]
Adding some nice debug

14 years agoServer now listens and accepts connections (and returns a value to USER)
John Hodge [Sun, 11 Jul 2010 14:39:17 +0000 (22:39 +0800)]
Server now listens and accepts connections (and returns a value to USER)

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