Jeremy Tan [Thu, 3 Oct 2013 14:33:51 +0000 (22:33 +0800)]
Integrate gui login with server code
Jeremy Tan [Thu, 3 Oct 2013 13:35:05 +0000 (21:35 +0800)]
Auto-redirect if logged in (at login page). Auto-redirect if logged-out.
Jeremy Tan [Thu, 3 Oct 2013 13:15:22 +0000 (21:15 +0800)]
Add logout functionality
Jeremy Tan [Thu, 3 Oct 2013 13:04:01 +0000 (21:04 +0800)]
Add js behind login form
Jeremy Tan [Thu, 3 Oct 2013 12:46:34 +0000 (20:46 +0800)]
Restyle login page
Jeremy Tan [Thu, 3 Oct 2013 06:19:38 +0000 (14:19 +0800)]
Remove misleading bounds check
(1) Length of user is not guaranteed (and in this case definitely < BUFSIZ)
(2) Because of (1), a buffer overflow is possible anyway
(3) Sure, a BUFSIZ limit will prevent an 'infinite' loop, but this may just make it more difficult to track down the buffer overflow.
Jeremy Tan [Thu, 3 Oct 2013 03:34:55 +0000 (11:34 +0800)]
Make install script for server configs
Jeremy Tan [Thu, 3 Oct 2013 02:52:22 +0000 (10:52 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Sam Moore [Wed, 2 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Tue, 1 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Tue, 1 Oct 2013 10:28:39 +0000 (18:28 +0800)]
Work on Authentication System(s)
Login_Handler can currently use one of two methods. LDAP, or unix style authentication.
Unix style authentication parses a file formatted like /etc/shadow. Yeah, you can use /etc/shadow... our program is already running as root anyway :S
LDAP style authentication attempts to bind to an LDAP server.
If Authentication is successful, the key generated by FCGI_LockControl is passed to the browser as a cookie.
In the FCGI_Loop function, we check for a valid key in the cookies.
I've tested LDAP using a LDAP server I setup on my laptop.
We may have issues formatting the DN correctly, but other than that it's fine.
Sam Moore [Mon, 30 Sep 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Mon, 30 Sep 2013 10:37:16 +0000 (03:37 -0700)]
Merge pull request #1 from RowanHeinrich/patch-4
Patch 4
Whoa first pull request to my on repo
Sam Moore [Mon, 30 Sep 2013 07:37:05 +0000 (07:37 +0000)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420
Sam Moore [Mon, 30 Sep 2013 07:34:42 +0000 (07:34 +0000)]
Commence work on authentication
Sam Moore [Mon, 30 Sep 2013 10:02:28 +0000 (18:02 +0800)]
Add ldap login test program
Looks like this will actually be easier than rolling our own login system.
Jeremy Tan [Mon, 30 Sep 2013 07:25:34 +0000 (00:25 -0700)]
Merge pull request #51 from jtanx/master
Cookie stuff and log path fixed
Jeremy Tan [Mon, 30 Sep 2013 07:24:17 +0000 (15:24 +0800)]
Add cookie stuff
Jeremy Tan [Mon, 30 Sep 2013 06:21:38 +0000 (14:21 +0800)]
fix nginx config to only match the log paths exactly
RowanHeinrich [Mon, 30 Sep 2013 06:04:14 +0000 (14:04 +0800)]
Create Login-Rowan
only just realised there one in git
Jeremy Tan [Mon, 30 Sep 2013 04:13:02 +0000 (21:13 -0700)]
Merge pull request #48 from jtanx/master
Switch nginx to ssl + small update to pin test page
Jeremy Tan [Mon, 30 Sep 2013 04:11:38 +0000 (12:11 +0800)]
Update nginx to use SSL
Jeremy Tan [Mon, 30 Sep 2013 03:16:20 +0000 (11:16 +0800)]
Only delete logs after 100 years
Jeremy Tan [Mon, 30 Sep 2013 03:12:17 +0000 (11:12 +0800)]
Use logrotate to rotate the logs everytime it starts
Jeremy Tan [Mon, 30 Sep 2013 02:55:45 +0000 (10:55 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Mon, 30 Sep 2013 02:53:56 +0000 (10:53 +0800)]
Ensure error log tries to update even on failure
Sam Moore [Sun, 29 Sep 2013 17:00:11 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Sun, 29 Sep 2013 13:30:27 +0000 (21:30 +0800)]
fix buttons
Jeremy Tan [Sun, 29 Sep 2013 12:42:11 +0000 (20:42 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Sun, 29 Sep 2013 12:40:16 +0000 (20:40 +0800)]
Fix GPIO limits
Jeremy Tan [Sun, 29 Sep 2013 12:33:34 +0000 (05:33 -0700)]
Merge pull request #47 from jtanx/master
pintest cleanup
Jeremy Tan [Sun, 29 Sep 2013 12:31:32 +0000 (20:31 +0800)]
update pintest sidebar
Jeremy Tan [Sun, 29 Sep 2013 12:11:39 +0000 (20:11 +0800)]
Pin test page cleanup
Jeremy Tan [Sun, 29 Sep 2013 11:22:09 +0000 (04:22 -0700)]
Merge pull request #46 from jtanx/master
gui styles update
Sam Moore [Sun, 29 Sep 2013 17:48:52 +0000 (01:48 +0800)]
Merge branch 'master' of github:szmoore/MCTX3420
Merge with Rowan's changes
Sam Moore [Sun, 29 Sep 2013 17:34:21 +0000 (01:34 +0800)]
Add login test program
So... it essentially mimics what /etc/shadow does. This might be easier than LDAP.
I was going to just use debian's login system, but realised some things:
POSIX C has a bunch of helpful functions that essentially parse /etc/passwd and provide a structure with all the relevant fields, like "pw_passwd".
Of course, the "pw_passwd" entry is always empty... because someone realised that storing hashes of passwords in /etc/passwd was not great :P
So /etc/passwd actually has no password information and is world readable, but /etc/shadow has everything (and is root readable only).
There are no wrapper functions for /etc/shadow because... user space programs aren't really meant to run as root.
Essentially linux was designed so that non-root programs can't fuck about with shell accounts. If you want to fuck about with shell accounts
you have to run as root and manually implement the parsing of /etc/shadow.
But I figured there was nothing stopping us from just making our own "shadow" file with hashed passwords.
That way people don't even need shell accounts. Well... the administrator needs to modify the file somehow...
LDAP probably gives more flexibility. It's probably better. Although it's also bloated.
To test the program, use the login "sonic" and the password "HEDGEHOG" (or something else to test failure).
Sam Moore [Sun, 29 Sep 2013 16:00:02 +0000 (00:00 +0800)]
Remove jQuery-UI
My god that's a lot of cruft
Sam Moore [Sun, 29 Sep 2013 15:56:30 +0000 (23:56 +0800)]
Merge branch 'master' of https://github.com/firefields/MCTX3420
Pull James' version of the GUI
Jeremy Tan [Sun, 29 Sep 2013 11:19:04 +0000 (19:19 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Conflicts:
testing/MCTXWeb/public_html/static/style.css
Jeremy Tan [Sun, 29 Sep 2013 11:16:16 +0000 (19:16 +0800)]
Merge Rowan's html code + slightly update styles
Jeremy Tan [Sun, 29 Sep 2013 09:25:30 +0000 (17:25 +0800)]
Update pintest + fix css
Sam Moore [Sun, 29 Sep 2013 09:13:08 +0000 (02:13 -0700)]
Merge pull request #45 from RowanHeinrich/patch-3
Update style.css
Sam Moore [Sun, 29 Sep 2013 09:13:08 +0000 (02:13 -0700)]
Merge pull request #45 from RowanHeinrich/patch-3
Update style.css
Sam Moore [Sun, 29 Sep 2013 16:00:02 +0000 (00:00 +0800)]
Remove jQuery-UI
My god that's a lot of cruft
Sam Moore [Sun, 29 Sep 2013 15:56:30 +0000 (23:56 +0800)]
Merge branch 'master' of https://github.com/firefields/MCTX3420
Pull James' version of the GUI
RowanHeinrich [Sun, 29 Sep 2013 09:10:17 +0000 (17:10 +0800)]
Update style.css
RowanHeinrich [Sun, 29 Sep 2013 09:10:17 +0000 (17:10 +0800)]
Update style.css
Jeremy Tan [Sun, 29 Sep 2013 07:42:18 +0000 (00:42 -0700)]
Merge pull request #44 from jtanx/master
Update gui + stub code for pin stuff on non BBB platforms
Jeremy Tan [Sun, 29 Sep 2013 07:40:34 +0000 (15:40 +0800)]
update gui
Sam Moore [Sat, 28 Sep 2013 17:00:05 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Sat, 28 Sep 2013 05:31:53 +0000 (13:31 +0800)]
Merge branch 'master' of https://github.com/jtanx/MCTX3420.git
Sam Moore [Fri, 27 Sep 2013 17:00:07 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Fri, 27 Sep 2013 13:52:04 +0000 (21:52 +0800)]
crappy hacks to disable pin code on x86 platforms while silencing gcc
Jeremy Tan [Fri, 27 Sep 2013 13:52:04 +0000 (21:52 +0800)]
crappy hacks to disable pin code on x86 platforms while silencing gcc
Jeremy Tan [Fri, 27 Sep 2013 12:08:59 +0000 (20:08 +0800)]
failing to test before committing :3
Jeremy Tan [Fri, 27 Sep 2013 12:08:59 +0000 (20:08 +0800)]
failing to test before committing :3
Jeremy Tan [Fri, 27 Sep 2013 11:47:30 +0000 (19:47 +0800)]
name derp
Jeremy Tan [Fri, 27 Sep 2013 11:47:30 +0000 (19:47 +0800)]
name derp
Jeremy Tan [Fri, 27 Sep 2013 11:39:23 +0000 (19:39 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Fri, 27 Sep 2013 11:39:23 +0000 (19:39 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Fri, 27 Sep 2013 11:38:41 +0000 (19:38 +0800)]
Update luts (remove GPIO 117, which was marked as reserved)
Jeremy Tan [Fri, 27 Sep 2013 11:38:41 +0000 (19:38 +0800)]
Update luts (remove GPIO 117, which was marked as reserved)
Jeremy Tan [Fri, 27 Sep 2013 11:08:31 +0000 (04:08 -0700)]
Merge pull request #43 from jtanx/master
Fixes and stuff for pin control
Jeremy Tan [Fri, 27 Sep 2013 11:08:31 +0000 (04:08 -0700)]
Merge pull request #43 from jtanx/master
Fixes and stuff for pin control
Jeremy Tan [Fri, 27 Sep 2013 10:59:22 +0000 (18:59 +0800)]
Made pinout diagrams
Jeremy Tan [Fri, 27 Sep 2013 10:59:22 +0000 (18:59 +0800)]
Made pinout diagrams
Jeremy Tan [Fri, 27 Sep 2013 08:58:37 +0000 (16:58 +0800)]
Small fixes + add ability to un/export pins from pin_test
Jeremy Tan [Fri, 27 Sep 2013 08:58:37 +0000 (16:58 +0800)]
Small fixes + add ability to un/export pins from pin_test
Jeremy Tan [Fri, 27 Sep 2013 06:47:51 +0000 (14:47 +0800)]
Fix minor typo
Jeremy Tan [Fri, 27 Sep 2013 06:47:51 +0000 (14:47 +0800)]
Fix minor typo
Jeremy Tan [Fri, 27 Sep 2013 06:41:48 +0000 (14:41 +0800)]
(Almost done) pin refactoring
Jeremy Tan [Fri, 27 Sep 2013 06:41:48 +0000 (14:41 +0800)]
(Almost done) pin refactoring
Jeremy Tan [Fri, 27 Sep 2013 01:17:37 +0000 (09:17 +0800)]
Interops with non-BBB platforms
Jeremy Tan [Fri, 27 Sep 2013 01:17:37 +0000 (09:17 +0800)]
Interops with non-BBB platforms
Sam Moore [Thu, 26 Sep 2013 17:00:05 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Thu, 26 Sep 2013 17:00:05 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Thu, 26 Sep 2013 15:06:29 +0000 (23:06 +0800)]
semifix. PWM stuff mostly works. ADC should work.
CLEANUP NECESSARY
Jeremy Tan [Thu, 26 Sep 2013 15:06:29 +0000 (23:06 +0800)]
semifix. PWM stuff mostly works. ADC should work.
CLEANUP NECESSARY
Sam Moore [Wed, 25 Sep 2013 17:00:10 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Wed, 25 Sep 2013 17:00:10 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Wed, 25 Sep 2013 13:22:14 +0000 (21:22 +0800)]
semi update lut stuff
Jeremy Tan [Wed, 25 Sep 2013 13:22:14 +0000 (21:22 +0800)]
semi update lut stuff
Jeremy Tan [Wed, 25 Sep 2013 12:50:33 +0000 (20:50 +0800)]
partial fix to gpio stuff (limit what can be exported)
Jeremy Tan [Wed, 25 Sep 2013 12:50:33 +0000 (20:50 +0800)]
partial fix to gpio stuff (limit what can be exported)
Sam Moore [Wed, 25 Sep 2013 11:52:29 +0000 (19:52 +0800)]
Remove unused files and add week7 & week8 reports
Sam Moore [Wed, 25 Sep 2013 11:52:29 +0000 (19:52 +0800)]
Remove unused files and add week7 & week8 reports
Jeremy Tan [Wed, 25 Sep 2013 07:56:02 +0000 (15:56 +0800)]
Semi fix for pwm
Jeremy Tan [Wed, 25 Sep 2013 07:56:02 +0000 (15:56 +0800)]
Semi fix for pwm
Sam Moore [Tue, 24 Sep 2013 17:00:08 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Tue, 24 Sep 2013 17:00:08 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Tue, 24 Sep 2013 04:46:58 +0000 (21:46 -0700)]
Merge pull request #42 from jtanx/master
Update fastcgi bool type
Jeremy Tan [Tue, 24 Sep 2013 04:46:58 +0000 (21:46 -0700)]
Merge pull request #42 from jtanx/master
Update fastcgi bool type
Jeremy Tan [Tue, 24 Sep 2013 04:43:40 +0000 (12:43 +0800)]
Update fastcgi bool type
Jeremy Tan [Tue, 24 Sep 2013 04:43:40 +0000 (12:43 +0800)]
Update fastcgi bool type
Sam Moore [Mon, 23 Sep 2013 20:35:11 +0000 (04:35 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420
Always with the merge.
Sam Moore [Mon, 23 Sep 2013 20:35:11 +0000 (04:35 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420
Always with the merge.
Sam Moore [Mon, 23 Sep 2013 20:27:45 +0000 (04:27 +0800)]
Added module for direct control over pins
Will hopefully be useful for testing purposes.
Usage:
1. GPIO Set
http://192.168.1.10/api/pin?type=gpo&set=S&num=N
- S is 0 or 1 and N is the pin number (1 to 96)
2. GPIO Read
http://192.168.1.10/api/pin?type=gpi&num=N
- N is pin number
3. ADC Read
http://192.168.1.10/api/pin?type=adc&num=N
- N is pin number (0 to 7)
4. PWM Set
http://192.168.1.10/api/pin?type=pwm&num=N&set=1&freq=F&duty=D&pol=P
- F in Hz, D as a multiplier (0 -> 1) P is 0 or 1
- N is pin number (0 to 7)
5. PWM Stop
http://192.168.1.10/api/pin?type=pwm&num=N&set=0
Pin numbering according to http://beagleboard.org/static/images/cape-headers-pwm.png
PWM pins are numbered as: EHRPWM0A = 0, EHRPWM0B = 1, EHRPWM1A = 2, etc
Module code in pin_test.c and pin_test.h.
Uses functions declared in bbb_pin.h and implemented in bbb_pin.c
Note:
- Also modified bbb_pin.c functions to not throw Fatal errors
- Might want to change that back. It seemed like a good idea at 2am.
BUG ALERT:
- Doing the following:
http://192.168.1.10/api/pin?type=gpo&num=13&set=0
Will give a FCGIRejectJSON (invalid Pin number).
Sam Moore [Mon, 23 Sep 2013 20:27:45 +0000 (04:27 +0800)]
Added module for direct control over pins
Will hopefully be useful for testing purposes.
Usage:
1. GPIO Set
http://192.168.1.10/api/pin?type=gpo&set=S&num=N
- S is 0 or 1 and N is the pin number (1 to 96)
2. GPIO Read
http://192.168.1.10/api/pin?type=gpi&num=N
- N is pin number
3. ADC Read
http://192.168.1.10/api/pin?type=adc&num=N
- N is pin number (0 to 7)
4. PWM Set
http://192.168.1.10/api/pin?type=pwm&num=N&set=1&freq=F&duty=D&pol=P
- F in Hz, D as a multiplier (0 -> 1) P is 0 or 1
- N is pin number (0 to 7)
5. PWM Stop
http://192.168.1.10/api/pin?type=pwm&num=N&set=0
Pin numbering according to http://beagleboard.org/static/images/cape-headers-pwm.png
PWM pins are numbered as: EHRPWM0A = 0, EHRPWM0B = 1, EHRPWM1A = 2, etc
Module code in pin_test.c and pin_test.h.
Uses functions declared in bbb_pin.h and implemented in bbb_pin.c
Note:
- Also modified bbb_pin.c functions to not throw Fatal errors
- Might want to change that back. It seemed like a good idea at 2am.
BUG ALERT:
- Doing the following:
http://192.168.1.10/api/pin?type=gpo&num=13&set=0
Will give a FCGIRejectJSON (invalid Pin number).
Sam Moore [Mon, 23 Sep 2013 17:52:27 +0000 (01:52 +0800)]
Added restart functionality to run.sh
Essentially if there is a non zero (error) exit, it will restart the program.
If it gets a massive number of fatal errors it will eventually give up.
We should do something similar to this.
Perhaps receive a certain number of fatal errors in a time interval to give up?
Perhaps make the software not have Fatal errors :P
Making sure cleanup code is called might be important.
Also we really need the errors to show up in the GUI.
Anyway, this is useful for now because it lets me do things like this:
http://192.168.1.10/api/pin?type=gpo&num=13
To find the non working pins (eg: GPIO13) without restarting the server a billion times.
Sam Moore [Mon, 23 Sep 2013 17:52:27 +0000 (01:52 +0800)]
Added restart functionality to run.sh
Essentially if there is a non zero (error) exit, it will restart the program.
If it gets a massive number of fatal errors it will eventually give up.
We should do something similar to this.
Perhaps receive a certain number of fatal errors in a time interval to give up?
Perhaps make the software not have Fatal errors :P
Making sure cleanup code is called might be important.
Also we really need the errors to show up in the GUI.
Anyway, this is useful for now because it lets me do things like this:
http://192.168.1.10/api/pin?type=gpo&num=13
To find the non working pins (eg: GPIO13) without restarting the server a billion times.
UCC git Repository :: git.ucc.asn.au