Complete.Org:
Mailing Lists:
Archives:
freeciv-dev:
April 2003: [Freeciv-Dev] Re: client/server authentication (PR#1767) |
[Freeciv-Dev] Re: client/server authentication (PR#1767)[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
attached are a second set of three patches leading to server/client authentication. With the previous commit of the preparation patches, these should be quite readable. auth3-4d.diff: variable name changes to make nomenclature consistent. o pconn->name becomes pconn->username. o pinfo->name becomes pinfo->username. o In the client player_name and default_player_name become user_name and default_user_name. o find_[player|conn]_by_* function names also suitably changed. auth4-5k.diff: implement _simple_ server-side authentication. o includes the necessary packets for communication with the client (though the client packet-handler is #ifdefed out). o add database.[ch] to handle a user database. currently can only create a new entry, search for an entry by username and do a search by usernamd and return the password. Note: the db_entry struct is rudimentary and most of the fields present are unused and for demonstration purposes. Our current ranking system is expected to be plugged in here somehow. o note: the database is binary. we could do this using freeciv registry, but I'm afraid this would be really slow and not really suited for sequential search. comments welcome. tools will need to be written to manipluate the database for administrative purposes. o add auth.m4 (courtesy of Per) to enable server auth and optionally set the database name (defaults to ~/freeciv_user_database). o add the necessary packet handler to interrogate the client for authentication. o allow guest logins o should work with non-authenticating clients (they get logged in as guests) o implement a [quite] rudimentary password security system (checks for minimum length passwords and optionally can check minimum caps and numbers in the password) auth5-6g.diff: implement an authenticating client for GTK1.2 o made as non-intrusive as possible. o should work with non-authenticating servers. o works for me. o probably good enough to commit. o probably could use a "reset" button to reset the connect dialog without quitting and restarting (you'll see what I mean when you try it). o WANTS TESTERS! Note: I said _simple_ authentication above, because this is no frills authentication. Currently this does _not_ stop people from simply logging in and /taking a non-connected player. Future patch will give an option to disallow this. What this does for now is allow an authenticated ranking system to be set up (I won't be able to log in as pille anymore and screw up his rating :) Please take a look. -mike
auth3-4d.diff.gz
auth4-5k.diff.gz
auth5-6g.diff.gz
|