Initial lab3 code
[lab2 Exercise 4] Create two new HTTP services(dynamic, static).
                  Set files and directories permissions.
                  Filter URL to specific services.
                  Mark trusted executables.
[lab2 Exercise 5] Construct an exploit that unlinks '/jail/echosvc/sock'
                  using '/zoobar/index.cgi/echo?s=xxx.'
[lab2 Exercise 6] Modify the RPC library to avoid parsing bugs.
[lab2 Exercise 7] Split the user credentials (i.e., passwords and
                  tokens) from the Person database into a separate Cred
                  database, stored in '/zoobar/db/cred'.
[lab2 Exercise 7] 1. Create a new auth_avc service for user authentication
                  2. Modify zook.conf to start the auth-server
                     appropriately (under a different UID).
                  3. Modify chroot-setup.sh to set permissions on the
                     cred database appropriately, and to create the
                     socket for the auth service.
                  4. Modify the login code in login.py to invoke auth
                     service instead of calling auth.py directly.

                  Exercise 7 is done.
[lab2 Exercise 8] Implement password hashing and salting in
                  authentication service with PBKDF2.
[lab2 Exercise 9] Split the zoobar balance information into a separate
                  Bank database.
[lab2 Exercise 9] 1. Create a new bank_svc service
                  2. Modify 'zook.conf' to start the bank-server
                     appropriately (under a different UID).
                  3. Modify 'chroot-setup.sh' to set permissions on
                     bank database appropriately, and to create the
                     socket for the bank service.
                  4. Modify codes to invoke bank_svc service instead of
                     calling bank.py directly.

                  Exercise 9 is done.
[lab2 Exercise 10] Add authentication to the transfer RPC in the bank
                   service. Elaborate Exercise 1.
[lab2 Exercise 7] Elaborate: Split code from 'auth.py' to
                  'auth_client.py'
[lab2 Exercise 9] Elaborate: Split code from 'bank.py' to
                  'bank_client.py'.
[lab2 Challenge] 1. hack 'check_lab2.py' to kill
                    'honeychecker-server.py' as well.
                 2. modify cred database to support honeywords
                 3. create honeychecker database and set permissions
                 4. modify 'auth.py', 'login.py' to support honeychecker-server

                 Wow! All is done.
Merge branch 'lab2' into lab3

Conflicts:
	check_lab2.py
[lab3 Exercise 1] Support profile_svc to web server. Change the
                  uid value in ProfileServer.rpc_run() from 0 to some
                  other value.