[Initial checkin of diffie-hellman openid code Grant Monroe **20050610184222] [Added a power_mod function for effient dh calculation chowells@janrain.com**20050610203453] [added default p and g brian@janrain.com**20050613214734] [Removed unnecessary power_mod code chowells@janrain.com**20050613233810] [Add the first part of an abstract server implementation. chowells@janrain.com**20050613234021] [Moved some functionality to a utility module chowells@janrain.com**20050615000541] [Factor constants out into their own file. chowells@janrain.com**20050615002409] [documentation improvements. chowells@janrain.com**20050615003540] [Changed naming conventions to work better with openid names chowells@janrain.com**20050615163722] [Added doc string for do_association chowells@janrain.com**20050615165637] [Changed to not be destructive on the args dictionary. chowells@janrain.com**20050615165702] [docstring updates chowells@janrain.com**20050615165921] [typo fixes chowells@janrain.com**20050615181901] [added consumer based on brad's api brian@janrain.com**20050615182451] [Simplify mode delegation code Josh Hoyt **20050615183744] [getNewSecret -> get_new_secret Josh Hoyt **20050615183807] [Added beginnings of do_checkid_immediate chowells@janrain.com**20050615193644] [Made protocol errors more descriptive chowells@janrain.com**20050615211508] [More checkid_immediate work, and some documentation fixups chowells@janrain.com**20050615211602] [Further work on checkid_immediate chowells@janrain.com**20050615214414] [More work on checkid_immediate chowells@janrain.com**20050615221201] [Documentation simplification chowells@janrain.com**20050615221558] [Refactoring, added error-handling infrastructure. chowells@janrain.com**20050615230718] [Added documentation for checkid_shared chowells@janrain.com**20050615231342] [typo fix, and make spychecker happy for the moment. chowells@janrain.com**20050615231509] [Further refactoring. normal and dumb modes now have their own methods chowells@janrain.com**20050615233341] [A bit of refactoring, and changed sign_token to sign_reply chowells@janrain.com**20050615234254] [cleaned up interface Grant Monroe **20050615234239] [An untested put importable version that should be close to functional. Grant Monroe **20050616013806] [Working on dumb mode chowells@janrain.com**20050616165009] [added __init__.py for openid package brian@janrain.com**20050616215614] [added simple httpconsumer.py example that uses consumer library brian@janrain.com**20050616233236] [More fixups chowells@janrain.com**20050616234619] [Changed sign_reply to use the ordering of the signed_fields argument chowells@janrain.com**20050617003020] [More work on check_authentication mode chowells@janrain.com**20050617003052] [more work, fixed import path chowells@janrain.com**20050617183518] [Minimal concrete server implementation. chowells@janrain.com**20050617184854] [Finish check_authentication mode, fixups for other code chowells@janrain.com**20050617191949] [Moved errors into errors.py chowells@janrain.com**20050617195151] [Implemented abstract auth failure in immediate mode chowells@janrain.com**20050617195212] [Changed server to use shared errors module chowells@janrain.com**20050617195445] [Refactored AssociationManager to actually do associations Grant Monroe **20050617200032] [Fixed imports chowells@janrain.com**20050617200533] [simple example server - does not work brian@janrain.com**20050617221015] [renamed subclassed method brian@janrain.com**20050617221413] [Unify protocol error instantiation and fix protocol error handling in handle Josh Hoyt **20050617221547] [dumb mode for concrete server brian@janrain.com**20050617223119] [Refactoring Josh Hoyt **20050617233304] [Fix concrete server implementation to match refactored abstract server Josh Hoyt **20050617234018] [naming brian@janrain.com**20050617234541] [doc fix chowells@janrain.com**20050617235238] [added example setup instructions brian@janrain.com**20050617235927] [Moved ConcreteServer into examples/server.py chowells@janrain.com**20050618002418] [fix comments and remove unused get_auth_type method from the class signature (server) Josh Hoyt **20050620185100] [Make consumer API more like the server API (method names) Josh Hoyt **20050620185135] [Make example server use modified consumer API Josh Hoyt **20050620185351] [Fixed api scew introduced by creation Associator abstraction Grant Monroe **20050620192643] [added function for getting a working OpenIDConsumer instance brian@janrain.com**20050620195738] [removed http_client param from associate call in handle_request brian@janrain.com**20050620214233] [created association module and Association abstraction Grant Monroe **20050620220846] [In progress... chowells@janrain.com**20050618001546] [Swap arg order to match caller. chowells@janrain.com**20050620223129] [Refactor the server, changing its interface to use Request and Response objects chowells@janrain.com**20050620223209] [Consumer now supports AJAX and classic auth modes Grant Monroe **20050620224711] [Documentation fixups chowells@janrain.com**20050620230323] [OpenIDConsumers now take a Request object in handle_response Grant Monroe **20050620230905] [Simplified interface by allowing None returns in place of raising Exceptions chowells@janrain.com**20050620231047] [added do_error implementation to consumer Grant Monroe **20050620234727] [Added HTTP 400 error handling to post method of SimpleHTTPClient Grant Monroe **20050620234937] [Added NoArgumentsError to Request object Grant Monroe **20050620235103] [moved import while tidying up code Grant Monroe **20050620235205] [removed some junk brian@janrain.com**20050621000010] [Added functionality to recognize a lack of openid args. chowells@janrain.com**20050621164821] [Moved examples/server.py to examples/sampleserver.py chowells@janrain.com**20050621165731] [Added more robust link parsing to consumer Grant Monroe **20050621201535] [fixed parse import Grant Monroe **20050621202022] [Resolve two different approaches to detecting lack of openid.whatever params chowells@janrain.com**20050621201503] [Make sampleserver actually generate ID pages chowells@janrain.com**20050621201959] [A couple consumer fixes, not enough to make it work. chowells@janrain.com**20050621202451] [Removed extra import chowells@janrain.com**20050621202656] [Association object does some type casting Grant Monroe **20050621203139] [swapped bad ordering of a2long and frob_b64 on dh_server_pub Grant Monroe **20050621203223] [Fixed datetime object usage to set tzinfo to utc (a big pain) Grant Monroe **20050621203315] [Diffie-Helman associator now handles case where server isn't up for DH and just returns a mac_key Grant Monroe **20050621211026] [handle_response check for openid args and raises NoArgumentsError if none Grant Monroe **20050621211207] [fixed utc_now implementation Grant Monroe **20050621211617] [improved info in msg to ProtocolError in dh associator Grant Monroe **20050621211910] [Making sample server more like a real server chowells@janrain.com**20050621211433] [changed signature of get_user_setup_url chowells@janrain.com**20050621212148] [removed extra print chowells@janrain.com**20050621212207] [Fixed a missing import, and cleaned up some text chowells@janrain.com**20050621212518] [Realized the request needs to pass authentication information in to the server. Fixed up. chowells@janrain.com**20050621215915] [Added an "allow auth" page. chowells@janrain.com**20050621220000] [More server realism chowells@janrain.com**20050621222434] [Fixed bad interpolation string. chowells@janrain.com**20050621223348] [Add awful user management to sample server chowells@janrain.com**20050621234755] [added trustroot module brian@janrain.com**20050622000835] [added a test to trustroot chowells@janrain.com**20050622002115] [changed key attribute to secret on Association class Grant Monroe **20050622001532] [fixed API on dumb mode association manager Grant Monroe **20050622001642] [fixed a few more datetime problems and looking at session_type rather than mac_key Grant Monroe **20050622001711] [changes all references to id_url to identity Grant Monroe **20050622002010] [changes check typo to checkid Grant Monroe **20050622003138] [Make sure redirect url is an instance of str Grant Monroe **20050622003209] [changed args to req.args to fix NameError Grant Monroe **20050622003300] [cast redirect_url to str in Response object Grant Monroe **20050622003410] [Improved error message for unsupported mode in server Grant Monroe **20050622003438] [fixed typo in return args: handle -> assoc_handle Grant Monroe **20050622003512] [Added another test to trustroot chowells@janrain.com**20050622164019] [Changed an internal interface in sampleserver chowells@janrain.com**20050622164058] [Further sample server work chowells@janrain.com**20050622183714] [added path stuff to trustroot code brian@janrain.com**20050622185412] [Use the trustroot module in the server code chowells@janrain.com**20050622192359] [Fixed bug in dh_consumer_public creation Grant Monroe **20050622202528] [fixed comparison of signatures in consumer (wasn't unpacking tuple) Grant Monroe **20050622202600] [now passing req to get_auth_range in checkid Grant Monroe **20050622202816] [get_auth_range call now return None or duration brian@janrain.com**20050622220349] [Miscellaneous bigfixes chowells@janrain.com**20050622223848] [Change to almost the whole server interface. chowells@janrain.com**20050622232024] [Fixed login needed case in server chowells@janrain.com**20050622234132] [improved trustroot checks in checkid brian@janrain.com**20050623001604] [fixed some path checking against trustroot and added tests brian@janrain.com**20050623001708] [parsing query string when processing POST brian@janrain.com**20050623001806] [checkid looking for positive expiry rather than expiry < time.time() in checkid Grant Monroe **20050623003558] [Make it clearer when the example system is looking at the server, and when it's looking at the consumer. Also fix flow bugs. chowells@janrain.com**20050623165807] [Friendly-ifying sample server pages. chowells@janrain.com**20050623212401] [Change to API in server. Now uses ServerAssociation objects. chowells@janrain.com**20050624165138] [simplify code chowells@janrain.com**20050624170407] [removed some prints chowells@janrain.com**20050624171048] [Added use of openid.mode=cancel in sample server. chowells@janrain.com**20050624173706] [Abstracted sample server address out chowells@janrain.com**20050624175449] [Made hostname and port configurable from command line chowells@janrain.com**20050624180446] [added a bit of debugging info. chowells@janrain.com**20050624185410] [Change debugging info chowells@janrain.com**20050624185704] [added do_cancel to consumer brian@janrain.com**20050624185711] [Change trust checking to match a few cases better. chowells@janrain.com**20050624191243] [Fix bad bug in sampleserver chowells@janrain.com**20050624191723] [Shorten secret expiration significantly on sample server chowells@janrain.com**20050624191927] [Change some variable names to make things clearer in sample server. chowells@janrain.com**20050624215124] [added UserCancelled exception handling to httpconsumer example brian@janrain.com**20050624215153] [Fix stupid bug in server.py chowells@janrain.com**20050624225115] [Pychecker cleaning Josh Hoyt **20050624184735] [Handle unicode identity strings Josh Hoyt **20050624185040] [Change signature of handle_response to raise an exception when the server returns a lifetime of zero Josh Hoyt **20050624191712] [Fixed timezone issues in consumer code related to time.mktime Josh Hoyt **20050624224056] [Added debug info when the sample server gets an exception in handleOpenIDRequest Josh Hoyt **20050624224906] [Implement Brad's proposal for invalidate_handle in servery.py chowells@janrain.com**20050624230402] [Implement Brad's proposal for invalidate_handle in consumer.py and the DumbAssociationManager chowells@janrain.com**20050624231421] [Made invalidate in BaseAssociationManager raise NotImplementedError chowells@janrain.com**20050625002222] [Change abstract server and consumer to use updated invalid_handle behavior. chowells@janrain.com**20050627175743] [fixed behavior of find_url to match the spec (single delegate page) Grant Monroe **20050627181006] [Added some simple tracing to the sample server. chowells@janrain.com**20050627183223] [Changed the sample server's secret expiration to two hours instead of two minutes. chowells@janrain.com**20050627183246] [Remove a very strange raise chowells@janrain.com**20050627184055] [reimplement get_user_setup_url chowells@janrain.com**20050627184229] [fixed stupid typo bug in sampleserver chowells@janrain.com**20050627185049] [fixed another stupid bug in sampleserver chowells@janrain.com**20050627185341] [Fix bug in tracing code chowells@janrain.com**20050627185646] [Added debugging chowells@janrain.com**20050627190444] [Cleaned up server code a bit chowells@janrain.com**20050627191314] [Added a bit more debugging chowells@janrain.com**20050627191334] [Fixed invalidate_handle naming bug, removed prints chowells@janrain.com**20050627191652] [finish fixing invalidate_handle naming bug chowells@janrain.com**20050627191838] [More bugfixes chowells@janrain.com**20050627192017] [Added more debugging chowells@janrain.com**20050627192233] [More debugging chowells@janrain.com**20050627192511] [Fix for stupid bug in server chowells@janrain.com**20050627192656] [Removed prints chowells@janrain.com**20050627200041] [Calculate lifetime correctly for check_authentication mode chowells@janrain.com**20050627201601] [Fixed lifetime values for check_authentication call chowells@janrain.com**20050627215006] [Simplified logic in sample server chowells@janrain.com**20050627215103] [Fixed some typos chowells@janrain.com**20050627215142] [Typo fix in sampleserver - remember to actually call functions. chowells@janrain.com**20050627215533] [Another typo fix in sampleserver chowells@janrain.com**20050627215658] [Hopeful fix for a strange import error chowells@janrain.com**20050627215924] [Simplify time handling in check_authentication chowells@janrain.com**20050627221252] [Allow openid.replace_after to be optional Josh Hoyt **20050627223048] [Improve support for post_grant=close chowells@janrain.com**20050627235845] [added eq and ne to Association objects chowells@janrain.com**20050628180734] [Documentation typo fix chowells@janrain.com**20050628180806] [Consumer now supports non-dumb mode. chowells@janrain.com**20050628180932] [Fixed expiration time handling in consumer chowells@janrain.com**20050628191818] [httpconsumer cleanup chowells@janrain.com**20050628191933] [Improve handling of association objects chowells@janrain.com**20050628193315] [Add a way for the user_setup_url to be propogated when checkid_immediate fails chowells@janrain.com**20050629001918] [Check that post_grant is one of the two allowed values. chowells@janrain.com**20050629002259] [Move handling for lack of openid args to user of library chowells@janrain.com**20050629161148] [Correct a comment chowells@janrain.com**20050629161511] [Raise ProtocolError on trust_root not being sane. chowells@janrain.com**20050629161533] [Remove openid.post_grant handling chowells@janrain.com**20050629161557] [formatting chowells@janrain.com**20050629163513] [added docstring to util giving credit to paul brian@janrain.com**20050630201027] [Fixed problem with handling no openid args in consumer chowells@janrain.com**20050630203620] [moved lib into openid dir brian@janrain.com**20050630210020] [fixed examples to use new openid directory structure brian@janrain.com**20050630211302] [added COPYING brian@janrain.com**20050630212912] [TAG 0.0.1 brian@janrain.com**20050630220752] [Make DiffieHelmanAssociator use cryptographic-quality source of randomness chowells@janrain.com**20050705171656] [Allow consumers to specify source of randomness chowells@janrain.com**20050705171833] [Un-base64 mac key when DH is not used chowells@janrain.com**20050705172007] [formatting chowells@janrain.com**20050705172950] [Created DiffieHellman Object Grant Monroe **20050705182339] [Added an AssociationManager class for type simplification chowells@janrain.com**20050705184345] [Changed consumer interface to require subclassing. chowells@janrain.com**20050705200653] [updated example consumer to use new consumer format chowells@janrain.com**20050705202415] [Updated README to be more useful chowells@janrain.com**20050705211318] [Remove import *s from examples chowells@janrain.com**20050705212942] [Made imports explicit in association.py chowells@janrain.com**20050705213632] [Cleaned import and made them explicit. chowells@janrain.com**20050705214848] [TAG 0.0.2 chowells@janrain.com**20050705215231] [Fix bug in sending back non-encrypted mac_key value chowells@janrain.com**20050706171210] [Documentation fix chowells@janrain.com**20050706171920] [TAG 0.0.3 chowells@janrain.com**20050706171940] [Updated server library interface for checking the correctness of association handles. chowells@janrain.com**20050706231521] [Clarified documentation chowells@janrain.com**20050706231915] [Bring examples up to date for better security checking. chowells@janrain.com**20050706233503] [Fix bug in sample server. chowells@janrain.com**20050706235438] [TAG 0.0.4 chowells@janrain.com**20050707001022] [Removed unused regexes in consumer chowells@janrain.com**20050707184137] [worst-case performance enhancement. chowells@janrain.com**20050707184207] [Only recognize tags inside the tag chowells@janrain.com**20050707190031] [TAG 0.0.5 chowells@janrain.com**20050707191023] [Documentation fixes. chowells@janrain.com**20050707194453] [Added CGITB support to httpconsumer example Josh Hoyt **20050707232015] [formatting chowells@janrain.com**20050711180800] [Removed constants.py chowells@janrain.com**20050711184339] [Megapatch, for getting rid of time-oriented code. Examples updated. chowells@janrain.com**20050712215357] [Fix some bugs in the consumer code. chowells@janrain.com**20050713000342] [Made DiffieHellmanAssociator not crash if no expires_in field is found chowells@janrain.com**20050713190453] [Clean up logic in sample consumer chowells@janrain.com**20050713221037] [Fix time-related bug in sample consumer chowells@janrain.com**20050713221059] [Better error display in sample consumer chowells@janrain.com**20050713221134] [Change Consumer library interface chowells@janrain.com**20050715205448] [Slight change to consumer API, making it easier to do the right thing. chowells@janrain.com**20050715232537] [typo fix in consumer chowells@janrain.com**20050715235724] [Updated example consumer to show an example of splitting dumb mode into two user requests. chowells@janrain.com**20050718182533] [TAG 0.0.6 chowells@janrain.com**20050718183320] [Documentation change chowells@janrain.com**20050718224355] [Bug fix in consumer library chowells@janrain.com**20050719164252] [TAG 0.0.7 chowells@janrain.com**20050719170345] [Added to the TrustRoot API Josh Hoyt **20050719205517] [added simple.cgi brian@janrain.com**20050728235302] [Big API change, both server and consumer. chowells@janrain.com**20050721215712] [Renamed handle to assoc_handle in lookup call chowells@janrain.com**20050721233015] [First version of the SQL ConsumerAssociationManager chowells@janrain.com**20050729232627] [added ActionHandler interface brian@janrain.com**20050801231906] [changed layout and simplicity of simple.cgi, better comments too brian@janrain.com**20050803002209] [Simplify error handling in the HTTPClient classes chowells@janrain.com**20050804222143] [revised ValidLogin interface and updated simple.cgi brian@janrain.com**20050804231116] [added simple_intro doc brian@janrain.com**20050804231603] [removed comment brian@janrain.com**20050804231821] [resolved conflict in consumer brian@janrain.com**20050804232501] [Handle None responsed from the http_client implementation correctly chowells@janrain.com**20050808190333] [updates brian@janrain.com**20050826001804] [added httpclient module brian@janrain.com**20050826002207] [removed path stuff brian@janrain.com**20050826003442] [updated trustroot module per code-review changes brian@janrain.com**20050902182534] [Do not raise a protocol error when a trust root is not sane Josh Hoyt **20050907001058] [Fix response key name when there is a ProtocolError on a post Josh Hoyt **20050907202407] [Formatting Josh Hoyt **20050907202748] [Formatting Josh Hoyt **20050907202801] [Fix SimpleHTTPClient.post's handling of 400 error responses Josh Hoyt **20050907205456] [Comment spelling Josh Hoyt **20050907205549] [Fix httpconsumer dumbsplit check_auth Josh Hoyt **20050907210341] [Formatting Josh Hoyt **20050907210508] [Added docstr for Association class chowells@janrain.com**20050927201023] [Added docstr for ConsumerAssociation class chowells@janrain.com**20050927201041] [Remove unnecessary coercions in Association classes chowells@janrain.com**20050927201106] [Simplify logic in util. chowells@janrain.com**20050927201204] [Change variable name to something better in DiffieHellman class. chowells@janrain.com**20050927201410] [Add consumer interface. chowells@janrain.com**20050929220944] [Added openid.consumer.fetchers module chowells@janrain.com**20050929232537] [Very rough consumer store interface sketch. chowells@janrain.com**20050929235709] [Added a method to the OpenIDStore interface. chowells@janrain.com**20050930013012] [UNTESTED conversion of simple.cgi to new (unavailable) API Josh Hoyt **20050930174047] [Add comments about API functions that are for split mode only Josh Hoyt **20050930174121] [Unix filesystem OpenIDStore implementation Josh Hoyt **20050930174138] [Fix expiresIn property of ConsumerAssociation Josh Hoyt **20050930190116] [Fix getAssociation signature. chowells@janrain.com**20050930213016] [Documentation improvement. chowells@janrain.com**20050930213812] [Added trust_root to the facade chowells@janrain.com**20050930214400] [Remove need for dumb store. chowells@janrain.com**20050930214504] [Documentation improvements. chowells@janrain.com**20050930214525] [Remove filesystem store from stores.py (since it got so big) Josh Hoyt **20050930193537] [Simple test for associations for openid consumer stores Josh Hoyt **20050930220346] [Filesystem-based store Josh Hoyt **20050930220416] [Added test functions for useNonce and storeNonce Josh Hoyt **20050930222909] [Fix getAuthKey createKey behaviour Josh Hoyt **20050930224137] [Add auth key tests and comment association tests Josh Hoyt **20050930224159] [Change API so that getAssociation no longer takes the handle Josh Hoyt **20050930231424] [Fix type signature in filestore getAssociation Josh Hoyt **20051003215956] [Added sqlite consumer association store Josh Hoyt **20051003220041] [Provide more information on assertion error in storetest Josh Hoyt **20051003220055] [Documentation clarification chowells@janrain.com**20051003235207] [Move parse.py to the consumer package chowells@janrain.com**20051003235222] [Remove old consumer.py chowells@janrain.com**20051003235533] [Added caching wrapper to fetcher.py chowells@janrain.com**20051003235559] [consumer interface changes chowells@janrain.com**20051003235654] [Added consumer implementation (probably not working yet) chowells@janrain.com**20051004000948] [Added dh.py chowells@janrain.com**20051004001111] [Added new util package chowells@janrain.com**20051004001128] [Update simple.cgi for interface changes chowells@janrain.com**20051004002714] [Add a missing print to simple.cgi chowells@janrain.com**20051004003722] [Remove decorator syntax for Python pre-2.4 compatibility Josh Hoyt **20051004182331] [Add AUTH_KEY_LEN as attribute of openid.consumer.stores.OpenIDStore Josh Hoyt **20051004182413] [Convert to using one SystemRandom object instead of passing the instance everywhere Josh Hoyt **20051004182451] [Convert filestore to use oidUtil Josh Hoyt **20051004182713] [Remove setAuthKey from filestore Josh Hoyt **20051004182758] [Add MySQL-based store and remove setAuthKey from sql store Josh Hoyt **20051004182809] [Remove classmethod from openid.util Josh Hoyt **20051004182900] [more explicit interface to ConsumerAssociation.fromExpiresIn brian@janrain.com**20051004204938] [Formatting Josh Hoyt **20051004214804] [Further refinements of the SQL stores Josh Hoyt **20051004214812 Most notably: * Parameterize the names of the database tables so they can be overridden if they conflict with existing tables * Add support for expiring nonces ] [Make the simple.cgi example work. chowells@janrain.com**20051004221612] [Set the trust root in simple.cgi chowells@janrain.com**20051004232322] [have simple.cgi do a bit more argument checking. chowells@janrain.com**20051004232349] [Fix URL normalizing to add the trailing / when needed chowells@janrain.com**20051004233304] [Now should normalize all URLs correctly chowells@janrain.com**20051004234247] [Added pycrypto-based random number generator to oidUtil Josh Hoyt **20051004233917] [Simplify test for reversed Josh Hoyt **20051004234355] [Make the PyCrypto-based random generator implementation the same as SystemRandom in Python 2.4 Josh Hoyt **20051004234419] [fix signReply variable references Josh Hoyt **20051004234452] [Moved random nubmer generation from oidUtil to cryptrand and added rudimentary test Josh Hoyt **20051005172930] [Remove unused import Josh Hoyt **20051005173418] [Fix lots of bugs... Non-dumb mode works now. chowells@janrain.com**20051005175049] [reinstate the file store and make it show you the directory where the test data was if it fails Josh Hoyt **20051005175855] [Add comments and handle identity URL not found in simple.cgi Josh Hoyt **20051005185734] [Rename CHRS attribute of consumer implementation to NONCE_CHRS Josh Hoyt **20051005185741] [Make oidUtil.fromBase64 handle bad input. chowells@janrain.com**20051005181451] [Add lifespans to generated values to restrict replay attacks to windows, even when nonces can't be used. chowells@janrain.com**20051005192456] [Fix conflict chowells@janrain.com**20051005192752] [If there is no user input, then return None for redirect Josh Hoyt **20051005211056] [Re-worked cgi consumer Josh Hoyt **20051005211144] [Typo fix chowells@janrain.com**20051005210913] [Change interface to split verifyReturnTo and getToken chowells@janrain.com**20051005210928] [Update implementation for new interface chowells@janrain.com**20051005210957] [Update simple.cgi for the new interface chowells@janrain.com**20051005211231] [Resolve conflict chowells@janrain.com**20051005212222] [Removed now-unnecessary (and never quite working) caching fetcher. chowells@janrain.com**20051005212546] [Minor fixes. chowells@janrain.com**20051005213821] [Add a dumb store instance to simple.py chowells@janrain.com**20051005214723] [Update simple.cgi for changed DumbStore chowells@janrain.com**20051005222234] [Chance getOpenIDParameters to GetParameters chowells@janrain.com**20051005223406] [Minor fixes chowells@janrain.com**20051005225246] [comment fixes chowells@janrain.com**20051005225729] [Make verifyReturnTo in simpleproxy clearer chowells@janrain.com**20051005231025] [Remove unnecessary conversion to blob format when not in split mode. chowells@janrain.com**20051005231058] [Remove debugging code. chowells@janrain.com**20051005231334] [Work with comments in simpleproxy chowells@janrain.com**20051005233243] [Reorder callbacks in the interface. chowells@janrain.com**20051005235048] [Make the input field name the recommended name in the example. chowells@janrain.com**20051006015112] [Add an isDumb method to the store, and use it in the implementation. chowells@janrain.com**20051006020416] [Move trust_root handling to the proxy chowells@janrain.com**20051006021215] [Example fixes, both work again now. chowells@janrain.com**20051006171714] [Change loginError to loginFailure, to make it more clear how to treat it. chowells@janrain.com**20051006172556] [Remove split mode support chowells@janrain.com**20051006220838] [Begin doc project. chowells@janrain.com**20051006221043] [continuing doc project chowells@janrain.com**20051006224109] [Finish removing split mode. chowells@janrain.com**20051006224602] [Actually finish removing split mode. chowells@janrain.com**20051006224953] [Rename facade and implementation classes chowells@janrain.com**20051006225559] [Reverse the order of the immediate and fetcher arguments. chowells@janrain.com**20051006233128] [doc project continuing chowells@janrain.com**20051006233234] [improve help-needed comment in ParanoidFetcher chowells@janrain.com**20051006233351] [doc project continuing chowells@janrain.com**20051007000416] [Ressurected processServerResponse Josh Hoyt **20051007001328] [doc project continuing chowells@janrain.com**20051007003733] [doc project continuing chowells@janrain.com**20051007201505] [Interface changes chowells@janrain.com**20051007201650] [Changed classmethods to not use decorator syntax (Python pre 2.4 compatibility) Josh Hoyt **20051007203344] [Fixed _do_id_res in consumer implementation when not in dumb mode Josh Hoyt **20051007203426] [Moved trust root tests to test directory Josh Hoyt **20051007203521] [Add test driver Josh Hoyt **20051007203555] [Change the implementation to not use a proxy object Josh Hoyt **20051010170233] [New interface matching new implementation Josh Hoyt **20051010170354] [Make store non-optional chowells@janrain.com**20051010171037] [doc project continuing chowells@janrain.com**20051010171553] [Reorder methods chowells@janrain.com**20051010171642] [failures is sometimes an option chowells@janrain.com**20051010172118] [Update the basehttp example Josh Hoyt **20051010175939] [Fix weird text-flow problem in simple.py chowells@janrain.com**20051010181440] [doc project continuing chowells@janrain.com**20051010204035] [Added options to simple.py Josh Hoyt **20051010183740] [Add doc strings, 404 support to the simple example Josh Hoyt **20051010221043] [Resolve the directory for the file store to an absolute path when initializing Josh Hoyt **20051010222240] [Added memcached store and test Josh Hoyt **20051010222323] [Boatloads of comments in simple.py Josh Hoyt **20051010230646] [Added status code to beginAuth to determine cause of failure Josh Hoyt **20051011173842] [Fix expires_in to be an int when the ConsumerAssociation is instantiated from impl.py Josh Hoyt **20051011174111] [doc project continuing chowells@janrain.com**20051010214719] [doc project continuing chowells@janrain.com**20051011013006] [doc project continuing chowells@janrain.com**20051011190847] [doc project continuing chowells@janrain.com**20051012001056] [doc project continuing chowells@janrain.com**20051012004217] [Move storing the nonce into constructRedirect chowells@janrain.com**20051012004730] [doc project continuing chowells@janrain.com**20051012170808] [doc project continuing chowells@janrain.com**20051012175507] [doc project continuing chowells@janrain.com**20051012235500] [doc project continuing chowells@janrain.com**20051012235645] [doc project continuing chowells@janrain.com**20051013194555] [Added test and re-wrote module for parsing link attributes to be much simpler and more specified Josh Hoyt **20051013220741] [doc project continuing chowells@janrain.com**20051013230535] [doc project continuing chowells@janrain.com**20051013230842] [doc project continuing chowells@janrain.com**20051013230904] [doc project continuing chowells@janrain.com**20051013232320] [Add epydoc output chowells@janrain.com**20051013232428] [Add memcachestore to html docs chowells@janrain.com**20051014172934] [Implement strxor without a list comprehension for more backward-compatibility Josh Hoyt **20051014223146] [Add log() function to oidUtil Josh Hoyt **20051014223247] [Add warnings for parsekv, documenting how it handles unexpected input Josh Hoyt **20051014223305] [Python 2.2 backward-compatibility for filestore.py Josh Hoyt **20051014233325] [Python 2.2 backward-compatibility for parse.py Josh Hoyt **20051014233346] [Cause oidUtil.py to die on import if pickle.decode_long or pickle.encode_long is missing Josh Hoyt **20051014233404] [Backward compatibility for trustroot.py Josh Hoyt **20051014233436] [Add tests for oidUtil.py Josh Hoyt **20051014233451] [Backwards-compatibility for sqlstore (to Python < 2.4) Josh Hoyt **20051017181917 Really, this patch should use new.function to build a function with the desired attributes. ] [Backwards-compatibility for oidUtil kvForm Josh Hoyt **20051017182113] [Fix trust-root handling when there is more than one star in the domain, and allow specification of (silly) trust root http://*/ Josh Hoyt **20051017182212] [Add test for sequence arguments to kvForm Josh Hoyt **20051017182323] [Renamed kvForm functions and added logging to kvToSeq Josh Hoyt **20051017201836] [Add strictness flag to parsing KV form Josh Hoyt **20051017215413] [Move serialization and deserialization of association objects into the class ConsumerAssociation Josh Hoyt **20051017215456] [Add test for insanity of '*' trust root Josh Hoyt **20051017215543] [Moved crypto-related functions to cryptrand.py, and made library compatible with Python 2.2 Josh Hoyt **20051017235622] [Fix implementation of cryptutil to eliminate bias, and support start chowells@janrain.com**20051018004759] [Re-organize cryptutil Josh Hoyt **20051018175359] [Small cleanups in cryptutil chowells@janrain.com**20051018182547] [Update doc string for cryptutil Josh Hoyt **20051018184557] [begin server rework chowells@janrain.com**20051019174950] [Add openid.server package and some basic contents. chowells@janrain.com**20051019175034] [Whoa. Everything works. I think. chowells@janrain.com**20051028000019] [checking fetcher return value in _associate Grant Monroe **20051101184919] [Remove (unused) exutil.py Josh Hoyt **20051101220011] [Fix cryptutil's random chowells@janrain.com**20051102191305] [Remove print statement Josh Hoyt **20051101220327] [Fixed uniformity for randrange Josh Hoyt **20051102201808] [Updated tests to reflect changed module names and locations Josh Hoyt **20051102201841] [Removed server_url attribute of ConsumerAssociation object Josh Hoyt **20051102201926] [Resolved conflict Josh Hoyt **20051102202427] [Move openid.consumer.stores.ConsumerAssociation to openid.association.Association Josh Hoyt **20051102215621] [Change the server to use the shared association object Josh Hoyt **20051102220426] [Make darcs automatically run the tests when recording a patch Josh Hoyt **20051102220834] [Fix wrong variable name in consumer implementation Josh Hoyt **20051102230312] [Fix reference to ConsumerAssociation in consumer.impl Josh Hoyt **20051102230342] [Move signature stuff to association methods Josh Hoyt **20051102230412] [Fix reference to base64 in cryptutil Josh Hoyt **20051102230822] [Remove util.py Josh Hoyt **20051102230839] [Move diffie-hellman secret XOR code to dh.py Josh Hoyt **20051103000618] [Move stores from the consumer package to a new stores package Josh Hoyt **20051103002250] [Fix exports for cryptutil Josh Hoyt **20051103002419] [Updated filestore to hold multiple associations for a single URL Josh Hoyt **20051103012219] [Allow passing a timestamp to getExpiresIn Josh Hoyt **20051103182054] [Use getExpiresIn for sorting associations in filestore Josh Hoyt **20051103182119] [Test the new store behaviour of supporting multiple associations for one URL Josh Hoyt **20051103182214] [Make filestore Python2.2 compatible Josh Hoyt **20051103182354] [Move kvform to its own module Josh Hoyt **20051103183911] [Fix calls to Association.fromExpiresIn to include the association type Josh Hoyt **20051103184136] [Give a nicer error message when an unsupported association type is used Josh Hoyt **20051103184352] [Make Association.__eq__ check types Josh Hoyt **20051103184537] [consumer fetchers return http response code now Grant Monroe **20051103185646] [changed getAssociation method of consumer impl from private to public Grant Monroe **20051103185923] [fixed kvform conflict Grant Monroe **20051103193118] [Fix interface for dumb store Josh Hoyt **20051104000807] [Update SQL stores to use new association API Josh Hoyt **20051104000819] [Add primary keys to SQL stores Josh Hoyt **20051104001838] [fetchers returning http code correctly Grant Monroe **20051104010827] [Server example improvements chowells@janrain.com**20051104011201] [Fix dumb mode for new fetcher interface chowells@janrain.com**20051104011248] [very minor doc update chowells@janrain.com**20051104011637] [Updated memcache store Josh Hoyt **20051104011303] [Comments on memcache store and change True/False to 1/0 for 2.2.0 compatibility Josh Hoyt **20051104163210] [Fix docs for store API class Josh Hoyt **20051104182116] [Fix dumb store API and test dumb store Josh Hoyt **20051104182150] [Store documentation updates Josh Hoyt **20051104182225] [Update the server example for new stores chowells@janrain.com**20051105000932] [Make server code work with new store design. chowells@janrain.com**20051105001313] [renamed getAuthData chowells@janrain.com**20051105002226] [Rename the examples to just server and consumer Josh Hoyt **20051108000148] [Fix crash when not logged in and attempting to verify. Change some of the text. Allow logout. (in the server example) Josh Hoyt **20051108001559] [Add in-memory store for use in testing consumer and server Josh Hoyt **20051108005236] [Add a sanity-check for the success case for the consumer Josh Hoyt **20051108031504] [Doc formatting chowells@janrain.com**20051108175757] [whitespace cleanup chowells@janrain.com**20051108180402] [Change default table names, now that the store isn't consumer-only chowells@janrain.com**20051108180416] [Add a method that will add the signature to the dictionary passed in to the association Josh Hoyt **20051109003820] [Fix urllib fetcher to return the status code all the time Josh Hoyt **20051109003903] [Fix the Curl fetcher to follow all kinds of redirects (not just 301 and 302) Josh Hoyt **20051109004010] [Return the HTTP status code to the user when it is a HTTP failure Josh Hoyt **20051109004045] [Add testing for bad fetch and bad parse Josh Hoyt **20051109004130] [Add logging for the consumer's associate call Josh Hoyt **20051109004205] [Update the documentation to tell the user that we are returning the HTTP status code Josh Hoyt **20051109004240] [Simplify getAuthenticationResponse by using the association's addSignature call Josh Hoyt **20051109004315] [Add delegation test Josh Hoyt **20051109010432] [Added tests for successful delegated and non-delegated immediate mode Josh Hoyt **20051109021505] [Move code out of __init__.py chowells@janrain.com**20051110002225] [rearranged association implementation to make opx association possible Grant Monroe **20051110182133] [Update docs for new location of the OpenIDStore interface chowells@janrain.com**20051110010502] [Very important consumer security fix. chowells@janrain.com**20051110222235] [comment tyop fix dag@janrain.com**20051111004633] [Clarify comments in doVerify dag@janrain.com**20051111012257] [remove trailing spaces dag@janrain.com**20051111012609] [fix comment to correspond to code dag@janrain.com**20051111012722] [removed redundant line dag@janrain.com**20051111013314] [pulled out normalizeUrl as a utility function Grant Monroe **20051114224415] [Fixed incorrect doc for parseLinkAttrs dag@janrain.com**20051115000532] [Documentation updates chowells@janrain.com**20051115014024] [Have the server library blow up if someone attempts to use a dumb store with it. chowells@janrain.com**20051115014145] [Remove debugging print statements chowells@janrain.com**20051115014227] [Remove out of date simple_intro.txt file chowells@janrain.com**20051115190402] [Add distutils support chowells@janrain.com**20051115190710] [whitespace normalization acapnotic@foobox.net**20051117001151] [async-consumer kevin@janrain.com**20051117003843 Split several methods up to isolate blocking operations. The blocking methods will be overridden with asynchronous implementations in places which care about that sort of thing, i.e. Twisted. ] [Remove generated docs from source control. chowells@janrain.com**20051115192651] [Change docs/ to the more standard doc/ chowells@janrain.com**20051115193310] [rename openid.consumer.interfce module openid.consumer.consumer chowells@janrain.com**20051116015924] [Update the MANIFEST.in file chowells@janrain.com**20051117184124] [rename openid.server.interface module chowells@janrain.com**20051117184401] [change openid.stores package to openid.store chowells@janrain.com**20051117184802] [remove unused import chowells@janrain.com**20051117185205] [doc updates chowells@janrain.com**20051117185250] [Code convention changes to make epydoc happy and hide private fields/classes/functions chowells@janrain.com**20051117185522] [remove duplicate import chowells@janrain.com**20051117185708] [don't store non-existent return value chowells@janrain.com**20051117185725] [remove unused openid.server.association module chowells@janrain.com**20051117185754] [Correct project url in setup.py chowells@janrain.com**20051117185821] [more doc fixups chowells@janrain.com**20051117193742] [Distutils-related improvements chowells@janrain.com**20051117202546] [Fix typo in README chowells@janrain.com**20051117223839] [Bring examples/README up to date chowells@janrain.com**20051117223905] [Make title of server example pages be consistent with consumer chowells@janrain.com**20051117223929] [Add an INSTALL file to the root distribution directory. chowells@janrain.com**20051117224341] [Add a somewhat hackish approach to make setup.py re-create the docs before runnings sdist chowells@janrain.com**20051117225632] [shorten a long line chowells@janrain.com**20051118195158] [Remove redundant code from server example Josh Hoyt **20051118200145] [Clean up setup.py Josh Hoyt **20051118200212] [Add makedoc script chowells@janrain.com**20051123002909] [Move getOpenIDParamaters, quoteMinimal, and normalizeURL to oidutil chowells@janrain.com**20051123005821] [Move consumer implementation into consumer.py chowells@janrain.com**20051123005850] [Add a module-level summary of fetchers.py chowells@janrain.com**20051123005913] [catch all fetching exceptions and return None instead. This prevents the consumer from crashing, and is the API that the consumer library expects from the fetcher. brian@janrain.com**20051123010924] [make urllib fetcher robust to python < 2.4 brian@janrain.com**20051123011033] [Move server implementation to server.py chowells@janrain.com**20051123011229] [Do not depend on xml.sax.saxutils for examples (not present in some Python versions) Josh Hoyt **20051123013458] [Add checkSignature method to Association object Josh Hoyt **20051123013542] [Make fetchers more consistent (dealing with exceptions) Josh Hoyt **20051123015453] [Clean up fetchers test (spurious output under Python2.2) Josh Hoyt **20051123015829] [Add check to make sure Curl detection worked Josh Hoyt **20051123021137] [Change stores to prefer associations with later issued dates rather than later expiration times. Josh Hoyt **20051123021721] [whitespace normalization kevin@janrain.com**20051123032145] [Shorten parts of the openid.server documentation a bit. kevin@janrain.com**20051123032246] [fix bad call to TrustRoot.parse dag@janrain.com**20051122192507] [added livejournal link test brian@janrain.com**20051127000924] [Made link parser work when there are attributes on the or tag, and updated test. Josh Hoyt **20051127062552] [Add tests for namespaced elements and short html and head tags to consumer link parsing. Josh Hoyt **20051127175052] [Document regular expressions in consumer/parse.py Josh Hoyt **20051127200900] [Python 2.2 compatiblity patch for consumer test Josh Hoyt **20051127200939] [Handle script used as a namespace and add some comments to link parsing code and tests. Josh Hoyt **20051127213621] [Document quoteMinimal Josh Hoyt **20051128074454] [Remove getOpenIDParameters Josh Hoyt **20051128074503] [Generate trustroot docs in the HTML docs chowells@janrain.com**20051128234513] [Fixup trustroot.py to present better epydoc output chowells@janrain.com**20051128234620] [Fix comment typo chowells@janrain.com**20051128235330] [Factor unnecessary argument out of _checkAuth chowells@janrain.com**20051129001420] [Make _checkAuth match the spec more accurately chowells@janrain.com**20051129001716] [Remove redundant code, and add error logging in the case it was covering chowells@janrain.com**20051129001820] [Extend the consumer test Josh Hoyt **20051123023159 * Test that a default fetcher is instantiated * Test that with a sane store, existing associations are used unless they are expired. ] [Change the name of the attributes of the Diffie-Hellman object and remove the createKeyExchange function Josh Hoyt **20051123163412] [Cover getting a new association in the consumer test Josh Hoyt **20051123163706] [Make link finding properly handle multiple link relationships and do case-folding on relationship names Josh Hoyt **20051130183105] [Make test output more informative and intuitive Josh Hoyt **20051130183206] [Comments indicating that the rel attribute matching code is not specified by a test Josh Hoyt **20051130185536] [Move the default example consumer port to be different from the default example server port chowells@janrain.com**20051201013918] [first pass at server api rework chowells@janrain.com**20051201013955] [update server example to work with new server api chowells@janrain.com**20051201014023] [fix conflict in openid.server (tests broken randomly now?) chowells@janrain.com**20051201014703] [Remove dh test from runtests list, as dh test seems to be absent now chowells@janrain.com**20051201014910] [Add a getRetryURL method to AuthorizationInfo object chowells@janrain.com**20051201184541] [Add a getCancelURL method to AuthorizationInfo chowells@janrain.com**20051201184641] [Remove need to pass server_url in to getRetryUrl chowells@janrain.com**20051201191006] [Change name of checkAuth to checkAuthentication chowells@janrain.com**20051201192737] [Added rudimentary Diffie-Hellman test Josh Hoyt **20051201035329] [Up the consumer token lifetime to 5 minutes from 2 chowells@janrain.com**20051202192322] [Log the error message from the server in the consumer chowells@janrain.com**20051202192343] [Documentation updates chowells@janrain.com**20051202192413] [Improve error messages chowells@janrain.com**20051202192559] [Change the name of the allowedURL function chowells@janrain.com**20051202193738] [Documention cleanups chowells@janrain.com**20051202193907] [Set release version to 1.0.0-b1 chowells@janrain.com**20051202193925] [Fixed MySQL store server URL length Josh Hoyt **20051202194634] [Reinstate the diffie-hellman test Josh Hoyt **20051202194725] [Fixed typo in test harness Josh Hoyt **20051202194751] [Fix OpenID server example, and make it clearer what it's doing. chowells@janrain.com**20051202201717] [Fix argument filtering before making check_authentication request chowells@janrain.com**20051202201758] [TAG 1.0.0-b1 chowells@janrain.com**20051202202126] [Up version number as 1.0.0-b1 is now final chowells@janrain.com**20051202202254] [Add more documentation. chowells@janrain.com**20051202232058] [Add documentation chowells@janrain.com**20051202232305] [Add missing documentation for the SETUP_NEEDED case of completeAuth chowells@janrain.com**20051206223357] [Doc cleanup chowells@janrain.com**20051207222421] [Set version number for release chowells@janrain.com**20051207222446] [TAG 1.0.0 chowells@janrain.com**20051207222509] [Up version for next release chowells@janrain.com**20051207222523] [Build zip file in source distribution builds chowells@janrain.com**20051207223008] [Add newline at end of setup.cfg chowells@janrain.com**20051209180729] [Don't send mod and gen when making new associations with the default values chowells@janrain.com**20051209230523] [Do send modulus and generator if using a non-standard value for either chowells@janrain.com**20051210002556] [Fix error handling on GET requests chowells@janrain.com**20051212034739] [TAG 1.0.1 chowells@janrain.com**20051212035433] [Up version number chowells@janrain.com**20051212035556] [Change behavior of oidutil.normalizeURL slightly chowells@janrain.com**20051214192246] [Add test for oidutil.normalizeUrl chowells@janrain.com**20051214192329] [Add tests for longToBase64 and base64ToLong chowells@janrain.com**20051214195020] [Shrink test data size chowells@janrain.com**20051214195724] [Alter dh.py to allow for more thorough testing chowells@janrain.com**20051214203642] [Add more thorough testing of dh.py chowells@janrain.com**20051214203719] [Add a few comments to filestore getAssociation dag@janrain.com**20051214232523] [add more metadata goodness for easier cheeseshop submission kevin@janrain.com**20051215015242] [Change behavior of appendArgs to sort dicts before using chowells@janrain.com**20051221184619] [Fix server bug handling openid.immediate failure mode chowells@janrain.com**20051221184655] [Set a boringfile for this repo chowells@janrain.com**20051221192404] [Clean up server test a bit chowells@janrain.com**20051221192439] [Add a couple more patterns to the ignore file chowells@janrain.com**20051221192630] [TAG 1.0.2 chowells@janrain.com**20051221193524] [Up version number for next release chowells@janrain.com**20051221193812] [Handle badly-encoded bigintegers better chowells@janrain.com**20051222230149] [Added PostgreSQLStore class. cygnus@janrain.com**20051222234211] [Added test for PostgreSQLStore. cygnus@janrain.com**20051222234237] [comment Kevin Turner **20051223022629 (mostly to test darcs) ] [comment Kevin Turner **20051223023045 (mostly to test darcs) ] [comment Kevin Turner **20051223023436] [silence warning about tmpnam in our python2.2 mkstemp Kevin Turner **20051223192850] [Make URL normalization deal better with Unicode domain names when the idna codec is not present (2.2 compatibility) Josh Hoyt **20051223222048] [Comments and formatting Josh Hoyt **20051223222202] [Added test case for oidutil.appendArgs Josh Hoyt **20051224005953] [Added test for escaping arguments Josh Hoyt **20051224010126] [Added more cases to appendArgs test Josh Hoyt **20051224011440] [test/fetchers.py: reduce the likelihood of port collisions Kevin Turner **20051226211220] [provide a migration path to pyunit-based tests Kevin Turner **20051227004113] [server: test checkid_immediate successful case Kevin Turner **20051227191231] [Added epydoc note to README cygnus@janrain.com**20051227195417] [server association tests Kevin Turner **20051227201547 Note these just test that an "associate" request will return something reasonable, they don't ensure that association actually functions. ] [more server tests. Kevin Turner **20051228191708 One notable omission is testing 'associate' with non-default DH values. Help? ] [server: test a few more error responses Kevin Turner **20051228195003] [Fix project URL in documentation chowells@janrain.com**20060104195034] [Remove memcache store chowells@janrain.com**20060104203030] [remove memchachestore.py from list of files for epydoc chowells@janrain.com**20060104234350] [Add changelog creation chowells@janrain.com**20060105001113] [Don't try to build the changelog automatically chowells@janrain.com**20060105002945] [TAG 1.0.3 chowells@janrain.com**20060105003410] [Converted linkparse test to use auxiliary data file so that the tests can be consistent across languages Josh Hoyt **20060109074459] [Add optional attributes and optional link tags to the test file Josh Hoyt **20060110182204] [Make one case of bad markup optional Josh Hoyt **20060113183335] [whitespace normalization Kevin Turner **20060111015549] [add tools sub-package Kevin Turner **20051228223553 I'm skeptical that we really want to distribute these tools with the openid library, but it's a place to put them. Don't push this patch through to stable before we figure this out. ] [tests for openid.tools Kevin Turner **20051228224408] [oiddiag initial check-in Kevin Turner **20060105001104] [oiddiag: factor view code into separate class Kevin Turner **20060105003503] [add event logger Kevin Turner **20060105012944] [oiddiag: catch oidutil log messages Kevin Turner **20060105013148] [oiddiag: make association request Kevin Turner **20060105013236] [catch mod_python import errors to be able to run in the unittest framework Kevin Turner **20060107002607] [oiddiag: Event class tweaks Kevin Turner **20060107002706] [oiddiag: rename Thing to Diagnostician Kevin Turner **20060107002804] [oiddiag: add event for openid_url input Kevin Turner **20060107002904] [oiddiag: some very rough test coverage. Kevin Turner **20060107003325] [oiddiag: add ResultRow Kevin Turner **20060111015709] [runtests: add test_tools for oiddiag Kevin Turner **20060111015813] [oiddiag: use apache's register_cleanup instead putting it in a finally-block. Kevin Turner **20060111210404] [oiddiag: start classes for the checkid case Kevin Turner **20060111210648] [oiddiag: split finding the identity info from creation of a new auth request Kevin Turner **20060111233918] [oiddiag: add redirect step, give steps an event log instead of a single 'result' Kevin Turner **20060112213645] [oiddiag: handle checkid response Kevin Turner **20060113003219] [oiddiag.ResultRow.getAttempt: raise KeyError Kevin Turner **20060113003311] [oiddiag: sometimes an enum type would be nice. Kevin Turner **20060113003430] [oiddiag: add the script_name to getBaseURL Kevin Turner **20060113215751] [oiddiag: add base element to HTML head Kevin Turner **20060113220714] [oiddiag: add result table to page Kevin Turner **20060113220758] [oiddiag: hooray for persistance Kevin Turner **20060114020446] [disable test_tools on python2.2 Kevin Turner **20060114022606] [whitespace normalization Kevin Turner **20060117002221] [consumer.._doIdRes: check for user_setup_url before other args Kevin Turner **20060117002414 the others (e.g. assoc_handle) are not required in the user_setup_url case. ] [oiddiag: more. Kevin Turner **20060117003440] [oiddiag: add a 'clear message' button Kevin Turner **20060117010454] [oiddiag: a whole lot of stylesheeting going on Kevin Turner **20060117204942] [oiddiag: increase cookie lifespan to four days Kevin Turner **20060118001009] [oiddiag: move stylesheet into its own file Kevin Turner **20060118002405 (and then include it inline with the HTML anyway.) ] [oiddiag: make OperationCancelled rendering not suck so much. Kevin Turner **20060118002451] [oiddiag: reformat the recent_attempt rendering a bit Kevin Turner **20060118002600] [oiddiag: include the current server address in the result page Kevin Turner **20060118002701] [oiddiag: write us some TODOs Kevin Turner **20060118002729] [Add build directory to darcs-ignore Josh Hoyt **20060118202938] [Clarify the store test documentation Josh Hoyt **20060118203036] [oiddiag: keep everything inside the Kevin Turner **20060118205545] [oiddiag: add required summary attribute to table. Kevin Turner **20060118205700] [oiddiag: misc html validation cleanup Kevin Turner **20060118205752] [oiddiag: don't delete things that aren't there. Kevin Turner **20060118210034] [oiddiag: add a "Clear Message" link to ./start Kevin Turner **20060118211440 (but really these should still be converted to use the same framework as the other) ] [oiddiag: move events to separate module. Kevin Turner **20060118231058] [oiddiag: move the Attempt.result return codes under the Attempt class Kevin Turner **20060119000252 so as not to be confused with e.g. the Consumer return codes. ] [oiddiag: change table cell highlighting. Kevin Turner **20060119000521] [Fixed column types for PostgreSQL and MySQL cygnus@janrain.com**20060119194014] [Fixed SQL store tests to use the dbtest host cygnus@janrain.com**20060119194053] [Explain what the |dumb and |normal urls are used for Josh Hoyt **20060119214445] [Change style of exception raising to use parentheses Josh Hoyt **20060119214613] [Use parentheses when raising exceptions Josh Hoyt **20060119214648] [Move trust-root checking to its own function Josh Hoyt **20060119214738] [Remove stale comment Josh Hoyt **20060119214948] [Updated SQL store tests to use randomly-generated database names cygnus@janrain.com**20060119223820] [Removed the DROP DATABASE attempts for SQL stores since the db names are now variable cygnus@janrain.com**20060119224356] [Fixed database name generator to replace dots with underscores in hostname cygnus@janrain.com**20060119232022] [oiddiag: & not ; Kevin Turner **20060119022703] [oiddiag: the refactoring. Kevin Turner **20060120003644 * moved base Attempt code into tools.attempt * moved Attempts for consumer actions into tools.cattempt * moved mod_python specific code into tools.modpython * removed subclass relationship of ApacheFoo and Diagnostician ] [test.test_tools: move support classes into test.tools Kevin Turner **20060120231235] [test.test_tools: split into test_attempt and test_cattempt Kevin Turner **20060120232120 tools.oiddiag: move IdentityInfo into tools.cattempt tools.oiddiag: move ResultTable into tools.attempt ] [openid.tools: remove unused Kevin Turner **20060120232737] [tools.events: allow a more verbose explanation in OpenIDFailure Kevin Turner **20060121003535] [tools.cattempt: add FetchAttempt and TestIdentityPage Kevin Turner **20060121003642] [tools.attempt: add subscriber hooks to attempt.record Kevin Turner **20060121014639] [tools.oiddiag: switch to using cattempt.FetchAttempt Kevin Turner **20060121014726] [oiddiag: span Event.to_html Kevin Turner **20060125015841] [tools.attempt.ResultRow.doc_to_html: new method for rendering documentation Kevin Turner **20060125020220 cattempt.TestCheckidImmediate: add docstring ] [tools.oiddiag: write out docs following the table. Kevin Turner **20060125020322] [oiddiag: tweak todos Kevin Turner **20060125020424] [tools.cattempt: documentation Kevin Turner **20060125194819] [openid.tools.attempt: set trust_root to be unique for each type of test. Kevin Turner **20060125195024] [tools.cattempt: doc tweaks Kevin Turner **20060125221148] [tools.events.SetupNeeded.to_html: render the setup url as a hyperlink Kevin Turner **20060125221247] [tools.oiddiag: break rendering of table and docs into separate functions, Kevin Turner **20060125222043 so that the reset button can live closer to the table. ] [tools.cattempt, oiddiag: add dumb mode tests Kevin Turner **20060126014216] [tools.attempt: add pass/fail message to the end of Attempt rendering. Kevin Turner **20060126185751] [tools.events: render tables for query args. Kevin Turner **20060126190009] [TAG enabler-2006-01-26-11 Kevin Turner **20060126195325] [oiddiag: todo: test when return_to.startswith(trust_root) is False Kevin Turner **20060126195744] [Whitespace cleanup Josh Hoyt **20060125235955] [Fix for case and trailing-slash sensitivity of trust root code Josh Hoyt **20060126200334] [Added data-driven trust-root test Josh Hoyt **20060126201926] [formatting in server test Josh Hoyt **20060126202043] [Allow the tools tests to fail if docutils is not found Josh Hoyt **20060126204105] [Remove Python 2.3-isms from the trust-root test Josh Hoyt **20060126204700] [TAG before-tools-move Kevin Turner **20060126214413] [removed openid.tools Kevin Turner **20060126214819] [resolve conflict (add trustroot, remove openid.tools tests) Kevin Turner **20060126215726] [TAG after-tools-move Kevin Turner **20060126220137] [Added more trust root tests and accompanying fixes Josh Hoyt **20060130213059] [whitespace cleanup chowells@janrain.com**20060131220318] [Remove the association correctly in check_authentication chowells@janrain.com**20060131220341] [Add test to make sure replay attack prevention works in the server's checkAuthentication handler chowells@janrain.com**20060131222942] [Add logging for failure conditions in _idRes and token code Josh Hoyt **20060207063919] [Add logging to consumer._checkAuth Josh Hoyt **20060207074430] [Clarify comment chowells@janrain.com**20060207210627] [Don't attempt to normalize URLs that shouldn't be normalized chowells@janrain.com**20060209205337] [Handle and log a potential ValueError in consumer.py chowells@janrain.com**20060213135046] [Move an error string declaration closer to where it's used chowells@janrain.com**20060213203556] [TAG release-1.0.3 Kevin Turner **20060214002857] [makechangelog: change tag regexp to '^release-' Kevin Turner **20060214003701] [Fix consumer bugs that triggered check_authentication when it could not work Josh Hoyt **20060214211937] [M-x whitespace-cleanup Josh Hoyt **20060214212121] [Python 2.2 compatibility ('xx' in 'xxx' not supported) Josh Hoyt **20060214212620] [setup.py: bump version to 1.0.4 Kevin Turner **20060214185311] [OpenIDConsumer._parseAssociation: define missing variable in log message. Kevin Turner **20060214215628] [MANIFEST.in: add test data. Kevin Turner **20060214225822] [COPYING: update date, email, and URL Kevin Turner **20060214230558] [TAG release-1.0.4 Kevin Turner **20060214230700] [OpenIDConsumer: s/_gotIdentityInfo/_newAuthRequest/ Kevin Turner **20060217010041] [M-x whitespace-cleanup Josh Hoyt **20060220171806] [M-x whitespace-cleanup Josh Hoyt **20060220193942] [Add implementation of OpenID settings parsing as an independent function Josh Hoyt **20060220194025] [Use independent settings parsing function in the consumer Josh Hoyt **20060220194135] [M-x whitespace-cleanup Josh Hoyt **20060220214807] [Change fetcher API to accept headers and return an object Josh Hoyt **20060221000217] [Add normalizeUrl to the exports of oidutil Josh Hoyt **20060221000951] [Documentation reword on quoteMinimal Josh Hoyt **20060221001034] [Simplify logic chowells@janrain.com**20060223225306] [consumer: fix leftover errors from new fetcher API Kevin Turner **20060224004330 and add some tests to minimally cover the code path they occured in. ] [runtests: do path mangle fun Kevin Turner **20060224005636 doing this now so the darcs test hook can stop doing PYTHONPATH=. ] [consumer: import fetchers from urljr Kevin Turner **20060224005757] [remove fetchers Kevin Turner **20060225005701 (they are now in urljr) ] [Make comments consistent with actual expected behavior chowells@janrain.com**20060227200149] [rename testUseNonce checkUseNonce chowells@janrain.com**20060227202739] [Consumer detects https server urls and does not do diffie hellman for them dag@janrain.com**20060307220319] [Test consumer on http and https servers cleanly dag@janrain.com**20060308005013] [test/consumer.TEstFetcher.fetch: python2.2 compat Kevin Turner **20060308020945] [consumer.consumer: update doc references to fetchers to point to urljr Kevin Turner **20060310000537] [Changed server interface to allow adding additional signed args Josh Hoyt **20060313212828] [Fix signature generation Josh Hoyt **20060313214533] [test.consumer: s/parse/parseQuery/ Kevin Turner **20060310233040] [openid.consumer.factory: added. playing with a new API. Kevin Turner **20060217021301] [examples/newapy.py: added. sketch of use with YADIS. Kevin Turner **20060217021357] [newapi thinkos Kevin Turner **20060308024734] [consumer.DiscoveryVersion1: set consumer attribute on the new request object Kevin Turner **20060308024845] [consumer.OpenIDRequest: smarter accessors for token Kevin Turner **20060308025027 consumer.OpenIDConsumer.makeRequestFromToken(): added ] [consumer: define __eq__ Kevin Turner **20060308193104] [test/consumer.py: wrap non-pyunit tests in pyunit fixture Kevin Turner **20060308194840] [test.consumer.TestOpenidRequest.test_getToken(): add equality test Kevin Turner **20060308201212] [makedoc: remove consumer.fetchers Kevin Turner **20060310000852] [consumer.factory.OpenIDConsumer.discover(): now with yadis Kevin Turner **20060311003416] [test.consumer.TestOpenidRequest: add session parameter Kevin Turner **20060311010506] [Consumer.discover(): return final_url, service_list Kevin Turner **20060311011242] [consumer..beginAuth(): try the first service (no fallback yet) Kevin Turner **20060311021434] [consumer: more discovery cases Kevin Turner **20060311021521] [consumer.._popNextServer(): new for the yadis fallback fantastic Kevin Turner **20060311034605] [consumer.completeAuth(): unvisit servers with cancelled requests Kevin Turner **20060311041703] [test.consumer: mutable class level attributes cause troubble Kevin Turner **20060311042116] [consumer.._getServerList(): add 'rediscover' parameter, use when server list is exhausted Kevin Turner **20060313184404] [test.consumer: pyunitification Kevin Turner **20060313192455] [consumer: move immediate flag to constructRedirect Kevin Turner **20060313200744] [test.consumer: all tests test the same class Kevin Turner **20060313212326 (not some for consumer. and others for factory.) ] [consumer API change part 1 -- beginAuth Kevin Turner **20060313222559 beginAuth now does Yadis discovery and has constructRedirect folded in. (not done yet: removing token from completeAuth) ] [consumer.OpenIDConsumer API part 2: completeAuth no longer takes token Kevin Turner **20060313225839] [consumer.factory: remove Kevin Turner **20060313230031] [NEWS: Added with notes on OpenID 1.2.0. Kevin Turner **20060314234735 This contains (or will, once it's filled out a little more) information on new features and API changes. Should the details of the API changes be split out in to another Upgrading document? (One would be targeted at sysadmins updating their packages, the other at application developers who need to update their code.) ] [server API: Move http_method and args from getOpenIDResponse arguments to AppIface. Kevin Turner **20060316010152] [test/server.py: remove unused import Kevin Turner **20060316010231] [ Fix case where the application will attempt to continue when the return_to is badly malformed and there is no trust_root specified Josh Hoyt **20060316202257] [Resolve conflict Josh Hoyt **20060316202926] [Fix test after pulling patches Josh Hoyt **20060316203245] [Updated kvform code to ignore blank lines Josh Hoyt **20060317184157] [TAG 3/20 Server API Base Kevin Turner **20060320235121] [openid.server: tests for new server API Kevin Turner **20060320235241] [openid.server: implement stubs to turn Errors into Failures Kevin Turner **20060321001553] [openid.server: implemented Decode for checkid Kevin Turner **20060321011033] [openid.server.CheckAuthRequest.fromQuery: added Kevin Turner **20060321175251] [server.CheckIDRequest.fromQuery(): moved from Decoder.decodeCheckId Kevin Turner **20060321180346] [server.Decoder: simplify Kevin Turner **20060321181540] [server.AssociateRequest.fromQuery(): added Kevin Turner **20060321182903] [test/server.py: fix CheckIDRequest constructors Kevin Turner **20060321183351] [server.CheckIDRequest.answer(): implemented Kevin Turner **20060321185504] [server.Decoder: replace getattr dispatch with handlers dict Kevin Turner **20060321191343 since all the handler methods turned in to one-line calls to other methods, this seemed to make sense. ] [test/server.py: mark incomplete tests Kevin Turner **20060321191508] [server.Encoder(): works for checkid Kevin Turner **20060321193344] [server.Server.handle(): do dispatch Kevin Turner **20060321193752] [server.server.Signatory.sign(): implemented Kevin Turner **20060321213954] [server.server.Signatory.verify(): implemented Kevin Turner **20060321230843] [server.server.CheckAuthRequest.answer(): implemented Kevin Turner **20060322204703 also tweaked the signature of Signatory.verify a bit, as the protocol unpacking should happen earlier, not in Signatory or Association. ] [test/server.TestEncode.test_checkauthReply(): written Kevin Turner **20060323004939] [server.server.Server.openid_check_authentication(): implemented Kevin Turner **20060323180812] [server.server.Signatory.createAssociation(): now a public method Kevin Turner **20060324002943] [server.server.UntrustedReturnURL.__str__: fix Kevin Turner **20060324003128] [server.server: s/cleartext/plaintext/ Kevin Turner **20060324011130] [s/cleartext/plaintext/ Kevin Turner **20060324194618] [server.server.AssociationRequest.answer(): implemented Kevin Turner **20060324195112] [server.server.Server: don't hardcode signatory class Kevin Turner **20060324195402] [examples/server2.py: added Kevin Turner **20060324222426 (not quite baked yet) ] [examples/server2: fix Server2 class name Kevin Turner **20060324222946] [examples/server2.py: now more functional Kevin Turner **20060327195555 (but not entirely functional -- something is still broken with dumb mode.) ] [server.server.Signatory: put a (bogus) URL in the store keys Kevin Turner **20060327201405 This is to keep filestore happy, which really does expect a URL in that key. This is a bit of a kludge, as I don't expect multiple servers to share a store, so perhaps we should adjust the store interface a bit. ] [server.CheckAuthRequest.fromQuery: hardcode signed openid.mode. Kevin Turner **20060327224207 # XXX KLUDGE HAX WEB PROTOCoL BR0KENNN # openid.mode is currently check_authentication because that's the # mode of this request. But the signature was made on something with # a different openid.mode. value = "id_res" ] [server.server.CheckAuthRequest, OpenIDResponse: add __str__ Kevin Turner **20060327224313] [server.server.CheckIDRequest: added __str__ Kevin Turner **20060328003549] [server.server.Signatory: added a bit of logging Kevin Turner **20060328003725] [server.server.Signatory.sign: fix dumb mode signing Kevin Turner **20060328003953] [examples/server2: a bit of cleanup Kevin Turner **20060328010708] [test/server.py: prevent log spewage during tests Kevin Turner **20060328223830] [test/server.TestEncode: test Encoder.encode() rather than server.encode, Kevin Turner **20060328224710 as server.encode will start using the signed encoder. ] [whitespace normalization Kevin Turner **20060329000830] [server.server.CheckIDResponse.__str__(): include .signed in string Kevin Turner **20060329001517] [server.server.SigningEncoder: added. server.server.encode now uses this. Kevin Turner **20060329001956] [test.server.TestCheckID: ensure a cancel response doesn't get signed Kevin Turner **20060329002041] [server.server.SigningEncoder.encode: cleanse Kevin Turner **20060329003803 The convenience function may take a store, but that's really not what the interface wants to express. ] [server.server.Signatory.__init__(): assert store is not None Kevin Turner **20060329010552] [server.server: move encode() and decode() to OpenIDServer.encodeResponse() and OpenIDServer.decodeRequest() Kevin Turner **20060329012508] [server.server.CheckIDRequest.answer(): don't sign user_setup_url responses Kevin Turner **20060329013632] [examples/server2.py: updated to new locations of encode/decode Kevin Turner **20060329014110] [server.CheckIDRequest.fromQuery: raise MalformedReturnURL Kevin Turner **20060329202951] [test/server.py: add remaining tests to new API that covered the old API Kevin Turner **20060329203355] [test/server.py: oops, had two of TestSignatory.test_signDumb Kevin Turner **20060329203449] [test/server.py: remove tests for old API Kevin Turner **20060329203625] [server.server: remove old API Kevin Turner **20060329204123] [s/OpenIDServer2/OpenIDServer/ Kevin Turner **20060329204455] [server.server.CheckIDRequest.getCancelURL(): added Kevin Turner **20060330011637 For when you want to be able to get the cancel URL without getting the redirect response. ] [server.server: more exceptions are ProtocolErrors Kevin Turner **20060330011718] [Update the OpenID consumer to match the new Yadis API Josh Hoyt **20060330060735] [server.server: encoding helpers for frameworks that don't like WebResponse. Kevin Turner **20060330184216 bool responseIsKvform(response) str encodeToURL(response) str encodeToKVForm(response) bool needsSigning(response) ] [server.server: no longer expect to see 'openid.' in Response.fields Kevin Turner **20060330222722 It will be inserted during the encoding when necessary. ] [Added support for new Yadis API Josh Hoyt **20060330234151] [server.server.CheckIDRequest.fromQuery(): do set assoc_handle Kevin Turner **20060331195548] [server.server.CheckIDResponse: methods for adding fields. [API] Kevin Turner **20060331230818] [server.server: make ProtocolErrors Encodable, move encodeTo* to methods [API] Kevin Turner **20060403235914 Response and ProtocolError now implement Encodable, so they have encodeTo* methods rather than the encodeTo*(response) module-level functions. (I still think it wants adapters so protocol wire-level stuff doesn't get mixed up with the transport-agnostic representation, but we've only got the one transport, so...) ] [server.server.IEncodable comment Kevin Turner **20060403235951] [Switch to new Yadis API (including new service endpoint object) Josh Hoyt **20060405212602] [Fixed protocol error instantiations cygnus@janrain.com**20060406210435] [Import xrds error from new location in Yadis library Josh Hoyt **20060406225956] [XrdsError -> XRDSError Josh Hoyt **20060407203831] [Change extension mechanism to use extra Type tags instead of openid:Extension. Add test for OpenID Yadis endpoint parsing. Josh Hoyt **20060410224224] [server.server.__doc__ Kevin Turner **20060406211855] [server.server.OpenIDRequest.__doc__ Kevin Turner **20060406211933] [server.server.CheckAuthRequest: docstrings Kevin Turner **20060406231224] [server.server.AssociateRequest: docstrings Kevin Turner **20060406231356] [test/server: remove old commented tests, as I believe they've been ported. Kevin Turner **20060411224539] [server.server.CheckIDRequest.fromQuery: simplify a bit. Kevin Turner **20060412012603] [server.server.CheckIDRequest: docstrings Kevin Turner **20060412013929] [server.server.CheckIDRequest.answer: build setup_url from server_url [API] Kevin Turner **20060412014129 As requested. ] [openid.server.server: tweaks to module docstring Kevin Turner **20060412222534] [server.server.CheckIDRequest.__doc__: correct mismatched braces Kevin Turner **20060412222633] [serve.server.OpenIDResponse: docstrings Kevin Turner **20060412223357] [server.server.CheckIDResponse.addField: do not add the namespace seperator to the key when there is no namespace Kevin Turner **20060412225710] [server.server.CheckIDResponse: docstrings Kevin Turner **20060412234343] [server.server.CheckIDResponse.update: fixorate namespace handling Kevin Turner **20060412234455] [server.server.Signatory: s/(dumb|normal)_key/_(\1)_key)/ Kevin Turner **20060413012751 this attribute isn't really anything the public wants to know about. ] [server.server.WebResponse: docstrings Kevin Turner **20060413013321] [server.server.Signatory: docstrings Kevin Turner **20060413031105] [server.server: misc docstring tweaks Kevin Turner **20060413031409] [Convert kvform test to pyunit and fail if there is a colon in the key name for seqToKV Josh Hoyt **20060411173757] [Make diffie-hellman object complain if you try to give it modulus without generator or vice-versa Josh Hoyt **20060411211811] [Use dh_modulus and dh_gen parameters if they are supplied in an associate request to the server Josh Hoyt **20060411212219] [serve.server.Encoder and SigningEncoder: docstrings Kevin Turner **20060413173631] [server.server: typo clean-up Kevin Turner **20060413173908] [server.server.Decoder: docstrings Kevin Turner **20060413181423 Also just use OPENID_PREFIX instead of self.prefix, for consistency with the rest of the module. Less customizable, but entirely reasonable for something in the "openid" package to do. ] [server.server.CheckIDRequest: move trust root checking from .answer to constructor. Fixes #947. Kevin Turner **20060413210929 I first thought that checking to see if the return_to is within the trust_root is premature here, a logic-not-decoding thing. But it was argued that this is really part of data validation. A request with an invalid trust_root/return_to is broken regardless of application, right? ] [server.server.ProtocolError: docstrings Kevin Turner **20060413211829] [server.server: docstrings for remaining Exceptions Kevin Turner **20060413212320] [server.server.EncodingError.response: docstring Kevin Turner **20060413212412] [server.server.SigningEncoder.encode: add missing @returntype Kevin Turner **20060413212450] [server.server.IEncodable: docstrings Kevin Turner **20060413213046 (oh wait we don't actually use Interfaces) ] [whitespace Kevin Turner **20060413213126] [server.__doc__: explicitly point to server.server Kevin Turner **20060413213224] [server.server.OpenIDServer: docstrings Kevin Turner **20060413213451] [Remove unused parameter from openid.consumer.parse.openIDDiscover, and Josh Hoyt **20060412190121 also make it return None for delegate if its not present It'd be even better if I wrote a test. ] [Remove discovery from the consumer tests and consumer module. Josh Hoyt **20060412215909] [Add datadriven module for data-driven test case helper code Josh Hoyt **20060413160708] [Docs for test_discover Josh Hoyt **20060413161928] [Add test for DiscoveryFailure with x-xrds-location Josh Hoyt **20060413161955] [Make default data-driven test instantiation more versatile Josh Hoyt **20060413164402] [Added tests for HTML discovery Josh Hoyt **20060413164511] [Ported discovery tests and fixed revealed bugs Josh Hoyt **20060413202632] [Whitespace Josh Hoyt **20060413205641] [Added session support and new API support for consumer example Josh Hoyt **20060413220954] [test/server.TestAssociate.test_dh: s/dh/consumer_dh/ to be clear Kevin Turner **20060413223021] [server.server.AssociateRequest.fromQuery: use non-default DH modulus and gen when provided. Fixes #923. Kevin Turner **20060414171843] [resolve conflict with server.AssociateRequest dh_modulus / dh_gen patches Kevin Turner **20060414172901 I'll be wanting to refactor my version a bit to make it cleaner to read, but need to quash the conflict first. ] [server.server.CheckAuthRequest.fromQuery: set invalidate_handle Kevin Turner **20060414192256 (whaddya know, some of those "XXX - test that too" comments in the tests were actually important.) ] [Remove .extensions cruft Josh Hoyt **20060417161155] [Change discovery API to return identity URL as well as service list Josh Hoyt **20060417161249] [Remove explicit fetcher-passing (use urljr's default fetcher) Josh Hoyt **20060417190038] [Fix the discovery in the consumer example Josh Hoyt **20060417192323] [remove getDiscovery function from consumer example Josh Hoyt **20060417204531] [Fix message for no services found for URL in consumer example Josh Hoyt **20060417204758] [Remove cruft from consumer (remove discovery completely) Josh Hoyt **20060417204837] [make normalizeUrl return None for anything but a basestring instance Josh Hoyt **20060417204956] [Remove crufty (discovery-related) imports from consumer module Josh Hoyt **20060417205330] [Python 2.2 compatibility - no basestring class Josh Hoyt **20060417205541] [Factor out common logic between KV form requests from the consumer Josh Hoyt **20060417225241] [correctly generate setup_url dag@janrain.com**20060417232051] [Add method to dh object to check if it's using the OpenID default values Josh Hoyt **20060418195459] [Let the DiffieHellman object tell us if we're using the default values Josh Hoyt **20060418202130] [Remove replace parameter to _getAssociation, because it's always called with True Josh Hoyt **20060418205949] [Begin sync-up with the Ruby API: change beginAuth to begin() and get the redirect URL from the response to that call Josh Hoyt **20060418212646] [server.server: docstrings on upgrading and extensions Kevin Turner **20060419015558] [server.server.CheckIDRequest.answer: immediate=False for user_setup_url Kevin Turner **20060419015737] [server.server.CheckIdRequest.answer: immediate=False for user_setup_url Kevin Turner **20060419181013] [server.server: add example to Extensions section Kevin Turner **20060419193345] [test/server.TestDecode: test error cases for check_authentication. Fixes #932. Kevin Turner **20060419193451] [remove old server example Kevin Turner **20060419194438] [rename examples/server2.py to examples/server.py Kevin Turner **20060419194519] [server.server.Decoder.decode: raise TypeError early if I get a dict-of-lists. Fixes #819. Kevin Turner **20060419204458] [Begin refactor of completeAuth. Josh Hoyt **20060420182700] [Convert return values of completeAuth to be objects Josh Hoyt **20060420184649] [Update consumer example to use status objects instead of tuples Josh Hoyt **20060420185306] [Add extension argument handling to SuccessResponse Josh Hoyt **20060420200910] [Pass session in as argument to consumer's methods (sync up with Ruby API) Josh Hoyt **20060420201533] [Added comment in _checkAuth Josh Hoyt **20060420202320] [Make sure that we only send args starting with openid. when we call check_authentication Josh Hoyt **20060420202351] [Remove unused class attributes from consumer Josh Hoyt **20060420203119] [Remove unused method (_constructRedirect) Josh Hoyt **20060420203149] [Move _createNonce method Josh Hoyt **20060420203230] [Use ValueError in _splitToken to indicate failure Josh Hoyt **20060420203931] [Move response objects and make them have a common superclass. Also rename CancelledResponse to CancelResponse Josh Hoyt **20060420204712] [Catch HTTPFetchingErrors when they are raised Josh Hoyt **20060420205343] [Remove unused equality checking methods Josh Hoyt **20060420211142] [Remove session-related cruft from tests Josh Hoyt **20060420211230] [Add tests for fetchers raising exceptions and for bug in check_authentication request building Josh Hoyt **20060420211306] [Re-name sessionKeyPrefix attribute to be more consistent with library style Josh Hoyt **20060420212347] [Split out session management from OpenID logic Josh Hoyt **20060420221924] [fix #932 by using a default value of '' chowells@janrain.com**20060420182611] [Fix session OpenID consumer's use of _token name Josh Hoyt **20060420223457] [Fix invocation of normalizeUrl from session OpenID consumer Josh Hoyt **20060420223531] [Update consumer example to use new session-based API Josh Hoyt **20060420223611] [Handle DiscoveryFailure from Yadis library in consumer example Josh Hoyt **20060420224806] [Fix #972 trust root bug logging into mylid.net with myopenid.com Josh Hoyt **20060420231720] [server.server.CheckAuthRequest.fromQuery: add comment linking to Brad's "check_authentication is weird" post Kevin Turner **20060421183654] [server.server.OpenIDServer.handleRequest: small bugfix for unhandled request types Kevin Turner **20060421185306] [Make the discover module function with and without Yadis. Josh Hoyt **20060421225609] [Remove unused import from consumer test Josh Hoyt **20060421230533] [Make consumer work in the absense of Yadis Josh Hoyt **20060421230555] [Add log message when library is operating without Yadis sup Josh Hoyt **20060421231007] [Simplify included store descriptions chowells@janrain.com**20060411202026] [Placeholder for discovery chowells@janrain.com**20060412231631] [enhance discovery placeholder chowells@janrain.com**20060414015054] [Add a doc paragraph chowells@janrain.com**20060420174104] [Add a sentence to the docs chowells@janrain.com**20060420174333] [Remove doc paragraph chowells@janrain.com**20060420174513] [Fix class name in docs chowells@janrain.com**20060420174920] [update and clarify doc paragraph chowells@janrain.com**20060420175004] [Reword and simplify doc chowells@janrain.com**20060420175443] [reword docs chowells@janrain.com**20060420175729] [reword paragraph chowells@janrain.com**20060420210516] [remove outdated paragraph chowells@janrain.com**20060420221002] [properly format doc display chowells@janrain.com**20060420224149] [Add a paragraph to docs chowells@janrain.com**20060420224205] [Replace long less-accurate docs with shorter ones chowells@janrain.com**20060420231929] [Update docs to describe how yadis is used chowells@janrain.com**20060421182556] [Rewording docs chowells@janrain.com**20060421183928] [Remove placeholders from use section of docs chowells@janrain.com**20060424175530] [Simplify docs for SUCCESS flag chowells@janrain.com**20060424180221] [Removed unused flags from the docs chowells@janrain.com**20060424180325] [Add docs for cancelled flag chowells@janrain.com**20060424180451] [Simplify failure documentation chowells@janrain.com**20060424181139] [Simplified docs for setup needed case. chowells@janrain.com**20060424182439] [Hey look, those don't exist anymore, anyway. Remove docs. chowells@janrain.com**20060424185211] [remove sort tag in docs for the time being. chowells@janrain.com**20060424190120] [Fix OpenIDAuthRequest.fromQuery's signed argument extraction Josh Hoyt **20060426184542] [Added nonce to return_to to fix replay attack vulnerability Josh Hoyt **20060426184642] [Add tests for bad nonces Josh Hoyt **20060426185850] [Whitespace Josh Hoyt **20060426230647] [Abstract out association session types Josh Hoyt **20060426230824] [Fix error messages in the case of check_authentication test failures Josh Hoyt **20060426164128] [resolve conflict Kevin Turner **20060426214855] [whitespace Kevin Turner **20060426232130] [server.server.OpenIDResponse: add needsSigning, fold in addFields methods from CheckIDResponse, Kevin Turner **20060426234051 remove CheckIDResponse subclass. ] [Make the example server properly handle ProtocolError and cases with no OpenID arguments. Josh Hoyt **20060427210742] [Improve the server example's text for requests to the endpoint URL with no openid arguments Josh Hoyt **20060427210823] [Use the proper session namespace for the Yadis discovery object used by the OpenID consumer Josh Hoyt **20060427211010] [Fix consumer session cleanup code Josh Hoyt **20060427211121] [Call Exception constructor for EncodingError in server Josh Hoyt **20060427211218] [Make the examples tell the user about installing the library if it cannot be imported. Josh Hoyt **20060427212046] [Set the version string to a placeholder and add version_info to the openid package Josh Hoyt **20060427213208] [Added script to set the version number of the library Josh Hoyt **20060427213909] [trust_root defaults to return_to dag@janrain.com**20060427214848] [move scripts in to admin/ Kevin Turner **20060428180157] [move test/ to openid.test. For #967 Kevin Turner **20060428180954] [README: use dev@lists for contact address Kevin Turner **20060429005330] [update distutils things for admin/ and test/ move Kevin Turner **20060429005929] [remove examples/newapi.py Kevin Turner **20060429010847] [TAG release-1.2.0pre1 Kevin Turner **20060429011030] [FIX: Added server_url parameter to _processCheckAuthResponse cygnus@janrain.com**20060502193211] [consumer.DiffieHellmanConsumerSession.getRequest: dh should be "self.dh" here, Kevin Turner **20060503224311 as "dh" is not defined in that scope. (static analysis caught this.) (this code does not have unit test coverage.) ] [consumer.consumer.GenericOpenIDConsumer._parseAssociation: s/PlainTextSession/PlainTextConsumerSession/ Kevin Turner **20060503224506 (static analysis caught this.) (this code does not have unit test coverage.) ] [server.server.ProtocolError.encodeToURL: parameter's name is openid.error Kevin Turner **20060505170718] [admin/combo-setup.py: added Kevin Turner **20060505203636 for invoking setup.py in urljr, yadis, and openid ] [Update version information setting script and format of the token to replace Josh Hoyt **20060428211623] [Documentation for OpenID Consumer and OpenID Consumer.__init__ Josh Hoyt **20060505210400] [s/OpenIDConsumer/Consumer/ Kevin Turner **20060505215921] [s/GenericOpenIDConsumer/GenericConsumer/ Kevin Turner **20060505220832] [s/OpenIDAuthRequest/AuthRequest/ Kevin Turner **20060505221008] [s/OpenIDConsumerResponse/Response/ Kevin Turner **20060505221158] [s/OpenIDServer/Server/ Kevin Turner **20060505221756] [consumer.consumer: add test-case-name Kevin Turner **20060508180108] [consumer.consumer.GenericConsumer.complete: raise TypeError when query contains lists. For #819. Kevin Turner **20060508180316] [server.server.DiffieHellmanServerSession: docstring tweaks Kevin Turner **20060508200304] [Add documentation for Consumer.begin and make it raise DiscoveryFailure whenever it fails. Josh Hoyt **20060508200351] [Add documentation for Consumer.beginWithoutDiscovery and change the parameter name to match the Ruby library Josh Hoyt **20060508201250] [reinstate the constants used for status on the consumer's response objects Josh Hoyt **20060508202923] [Add missing import of DiscoveryFailure Josh Hoyt **20060508204527] [Export constant names in __all__ from consumer module Josh Hoyt **20060508204951] [Document Consumer.complete and the response objects Josh Hoyt **20060508210606] [Documentation cleanup (adding links, fixing names) Josh Hoyt **20060508212831] [Further consumer documentation cleanup and cross-referencing Josh Hoyt **20060508214623] [Change the module documentation to match the requirement for sessions and other small usage changes Josh Hoyt **20060508220618] [Add documentation for addExtensionArg Josh Hoyt **20060508221352] [consumer.consumer.Consumer.begin: epydoc fix on @raises Kevin Turner **20060509172608] [consumer.consumer.SuccessResponse.getReturnTo: have accessor return None instead of raising KeyError Kevin Turner **20060509173033 because KeyError is just weird for an accessor. ] [consumer.discover.DiscoveryFailure: slightly more useful docstring. Kevin Turner **20060509173128] [Added meat to NEWS file Josh Hoyt **20060509181251] [trust_root default to return_to in fromQuery dag@janrain.com**20060509210919] [Fixed docstring Consumer regarding session object cygnus@janrain.com**20060509213939] [server.server.DiffieHellmanServerSession: raise ProtocolError, not ValueError Kevin Turner **20060509225804] [NEWS.urljr: s/store/fetcher/ Kevin Turner **20060509225900] [NEWS: reflow Kevin Turner **20060509230000] [NEWS: Server API Kevin Turner **20060509230039] [NEWS: Upgrading: Servers, clear your store. Kevin Turner **20060509230258] [server.server: doc typo Kevin Turner **20060509232506] [consumer.consumer: doc typo Kevin Turner **20060509232528] [consumer.consumer: doc typo Kevin Turner **20060509232554] [admin/tagrelease: release tags are prefixed with "release-" Kevin Turner **20060509235538] [examples/server.py: use simpler form for setup_url with immediate mode Kevin Turner **20060510002453] [Set version number to 1.1.0-rc1 Kevin Turner **20060509235650] [TAG release-1.1.0-rc1 Kevin Turner **20060509235705] [Set version number to 1.1.0-rc2 Kevin Turner **20060510003300] [TAG release-1.1.0-rc2 Kevin Turner **20060510003315] [Set version number to 1.1.0 Kevin Turner **20060510004651] [TAG release-1.1.0 Kevin Turner **20060510004706] [Fixed Consumer docstring regarding redirectURL cygnus@janrain.com**20060509214155] [BUGFIX: Fixed join() syntax in addExtensionArg cygnus@janrain.com**20060510172715] [ignore _trial_temp Kevin Turner **20060510200337] [openid.test.consumer: add TestAuthRequest Kevin Turner **20060510200416] [Add test for different association session types and convert association serialization test to unittest Josh Hoyt **20060510202725] [Change data driven test helper to avoid having a method called runTest so that the unit test framework does not attempt to instantiate the data-driven tests Josh Hoyt **20060510203903] [Added test cases for GenericConsumer.complete Josh Hoyt **20060510212012 * Test error and cancel modes * Test bad token ] [BUGFIX: #1001 invalidate_handle when is_valid is false Josh Hoyt **20060510221513] [whitespace Josh Hoyt **20060510221640] [Added more consumer tests, esp for GenericConsumer.complete and GenericConsumer._processCheckAuthResponse. Josh Hoyt **20060510221941] [Added openid.consumer.consumer.SuccessResponse test case Josh Hoyt **20060510223149] [Added _parseAssociation tests for GenericConsumer Josh Hoyt **20060510230347] [whitespace Josh Hoyt **20060510234438] [Added rudimentary tests for Consumer (not GenericConsumer) Josh Hoyt **20060511000836] [Added more tests for behaviours of Consumer.complete and a little bit of begin() Josh Hoyt **20060511173126] [test.consumer: added tests for consumer.consumer.GenericConsumer._checkNonce Kevin Turner **20060511200549 This replaces test.consumer.NonceIdResTest, which was not actually testing anything related to nonces at all. (While it's true that each attempt was resulting in a Failure result, the failure was due to the lack of a signature, and not anything to do with the properties of the nonces.) I didn't preserve test_twoNonce, shout if that's a problem. ] [Set version number to 1.1.1 Kevin Turner **20060511221535] [TAG release-1.1.1 Kevin Turner **20060511221552] [Typo fix: class DisccoveryFailure dag@janrain.com**20060515180859] [BUGFIX: Added a couple of trust root domain name special cases Josh Hoyt **20060516220141] [UTF-8 encode unicode values in seqToKV dag@janrain.com**20060522232007] [encode values UTF8 in OpenIDResponse.encodeToURL() dag@janrain.com**20060522235129] [close filehandle in createAuthKey dag@janrain.com**20060523175748] [consumer.discover: add test-case-name Kevin Turner **20060613233114] [consumer.discover: remove unused import Kevin Turner **20060613233227] [TAG before_XRI Kevin Turner **20060613233536] [consumer.discover.discoverXRI: added Kevin Turner **20060613233731] [consumer.consumer.Consumer.begin: enable XRI support Kevin Turner **20060613233841] [Fix 1013 - handle query is None in ProtocolError dag@janrain.com**20060619191127] [s/letters/ascii_letters/ Kevin Turner **20060703183458 Thanks to Waldemar Kornewald. ] [TAG before 2.0 Josh Hoyt **20060712204245] [catch HTTPFetchingError, and wrap in DiscoveryFailure chowells@janrain.com**20060706232035] [resolve conflict in consumer.Consumer.begin Kevin Turner **20060718175634] [Add unicode-conversion for appendArgs Josh Hoyt **20060718174121] [Handle unicode identifiers (hopefully correctly). chowells@janrain.com**20060719215212] [Handle error conditions better in complete. chowells@janrain.com**20060719220702] [Silence expected warnings for test_discover on Python 2.5 Josh Hoyt **20060719222112] [server.server: remove unused import Kevin Turner **20060725212753] [Fix strings in consumer example that said URL instead of identifier Josh Hoyt **20060725233959] [test.server: add test-case-name Kevin Turner **20060725225616 a bit odd to add test-case-name to a test module, but it doesn't follow the test_ convention. ] [example consumer: update library URL. Closes #1014. Kevin Turner **20060727230220] [resolve conflict in consumer example Kevin Turner **20060728001258] [store.filestore.createAuthKey: close before rename. Kevin Turner **20060731232427 Fixes a "[Errno 13] Permission denied" in python-win. ] [Ensure that openid.identity is in the signed list if it's included Josh Hoyt **20060802234903] [consumer.consumer.FailureResponse.__repr__: added Kevin Turner **20060804185315] [consumer.consumer.GenericConsumer._doIdRes: document somewhat Kevin Turner **20060804185437] [test.consumer: add test-case-name Kevin Turner **20060804191107] [consumer.consumer.Consumer.begin(): another s/openid_url/user_url/ Kevin Turner **20060804191818] [store.filestore.FileOpenIDStore.createAuthKey: don't use os.link on cygwin. Kevin Turner **20060805000046] [Fix trustroot bug for 2-letter tlds dag@janrain.com**20060807235726] [Handle XRDSErrors in discoverXRI chowells@janrain.com**20060811225909] [consumer.discover: update for minor changes in xrires.ProxyResolver API. Kevin Turner **20060817021856] [consumer.discover.OpenIDServiceEndpoint: [API] add canonicalID attribute Kevin Turner **20060817023920] [merge conflict in consumer.discover.discoverXRI Kevin Turner **20060817191715] [test.test_discover: add a "if __name__ == '__main__'" thingie Kevin Turner **20060817022019] [test.test_discover: update for yadis change, canonicalID has xri:// prefix Kevin Turner **20060817222203] [TAG 1.1.1 + XRI + bugfixes Josh Hoyt **20060808191420] [remove token, replace with endpoint object Josh Hoyt **20060817220145] [consumer.Consumer.begin: remove "URL" from an error message. (because xri.) Kevin Turner **20060818225704] [consumer.consumer.SuccessResponse: document endpoint attribute Kevin Turner **20060818230027] [examples/consumer.py: add CanonicalID for i-names Kevin Turner **20060818232102] [consumer.discover.OpenIDServiceEndpoint.getServerID: when there is no delegate, use CanonicalID. Kevin Turner **20060819023842 as the 2.0 spec actually says something about this. ] [consumer.discover.OpenIDServiceEndpoint: document a few attributes, now that they are part of the public interface. Kevin Turner **20060819024138] [consumer.consumer.SuccessResponse.__doc__: mention where to find the CanonicalID Kevin Turner **20060819024500] [NEWS: update for 1.1.2 Kevin Turner **20060819024700] [admin/makedoc: add openid.dh and openid.consumer.discover Kevin Turner **20060819024934] [MANIFEST.in: add NEWS Kevin Turner **20060819030501] [consumer.GenericConsumer._doIdRes: check server_id2 against endpoint.getServerID() Kevin Turner **20060818225826 because delegate is often None. ] [Set version number to 1.1.2-rc1 Kevin Turner **20060819031228] [TAG release-1.1.2-rc1 Kevin Turner **20060819031249] [Server-generated and one-way nonces Josh Hoyt **20060712204038] [Added nonce to successful checkid responses Josh Hoyt **20060712215657] [Check for fields required by the spec in check_authentication Josh Hoyt **20060712220129] [Added extension namespaces to consumer Josh Hoyt **20060713190051] [Added extensions module for handling namespace mappings Josh Hoyt **20060713215228] [remove enumerate, since it breaks 2.2 Josh Hoyt **20060713215718] [Documentation for ExtensionCollection Josh Hoyt **20060714210341] [Added Message abstraction and use instead of ExtensionCollection in RP code Josh Hoyt **20060717201020] [Add warnings for non-URI namespaces and automatically fix namespace for sreg Josh Hoyt **20060718173232] [Documentation for Message object Josh Hoyt **20060718173845] [Fix bug where signed fields were not being noted in Message object Josh Hoyt **20060718173919] [Add get, getNS and update to the API for Message Josh Hoyt **20060718174036] [Fix invocation of authreq.addExtensionArg in the consumer test Josh Hoyt **20060718174152] [Take namespace mapping code out of Message and use it in the server Josh Hoyt **20060718193606] [Remove unused import Josh Hoyt **20060718195838] [sreg-related updates Josh Hoyt **20060718195922] [TAG OpenID 2.0 M1 Josh Hoyt **20060718202833] [fix typo in message.py chowells@janrain.com**20060718220211] [Added answerUnsupported method to association request (openid-2.0-06 section 7.4.5 support for server) Josh Hoyt **20060718214304] [plaintext->no-encryption and add association session negotiator Josh Hoyt **20060718231651] [Add SHA256 support if available Josh Hoyt **20060719224923] [make Association support HMAC-SHA1 and HMAC-SHA256 Josh Hoyt **20060720000330] [Added support for HMAC-SHA256 and DH-SHA256 in the consumer Josh Hoyt **20060720210354] [Added stub functions for when sha256 is not available Josh Hoyt **20060720211156] [Make SHA256-related tests depend on SHA256 being available Josh Hoyt **20060720211950] [BUGFIX: Fixed nonce-handling in FileStore for empty server_url, added test cygnus@janrain.com**20060724182204] [Added a message indicating how to support SHA256 Josh Hoyt **20060724212148] [server.server.CheckIDRequest.fromQuery(): make 'identity' optional Kevin Turner **20060725213358] [[API] server.server.CheckIDRequest.answer: add identity parameter, for use with IdP-driven identity selection. Kevin Turner **20060725220627] [Convert to RFC3986 URI normalization instead of the ad-hoc OpenID 1.0 mechanism. Josh Hoyt **20060725234219] [Added simple registration request/response to example consumer Josh Hoyt **20060726002405] [consumer.discover.OpenIDServiceEndpoint: discover server endpoints for IdP identifiers Kevin Turner **20060726005924] [Handle fetcher response of None in consumer._getAssociation chowells@janrain.com**20060727174156] [Correct argument order in association logic in server. chowells@janrain.com**20060727220607] [Pass the association type to the association creator in the server chowells@janrain.com**20060727220624] [consumer.consumer.AuthRequest.redirectURL: allow request without identity Kevin Turner **20060726022528] [Make the negotiator that the server or consumer gets a *copy* of the default negotiator, not the default negotiator itself Josh Hoyt **20060802232648] [Re-name discovery function to make it easier to understand (openid.consumer.consumer.openIDDiscover -> openid.consumer.consumer.discoverURL) Josh Hoyt **20060802232852] [Add functionality to consumer.AuthRequest to output a HTML form or just get the dictionary of form values Josh Hoyt **20060802233040] [Let the user of the Message object set whether added arguments should default to signed or unsigned Josh Hoyt **20060802234148] [Remove unused extra_args field and use message object to send standard arguments in AuthRequest Josh Hoyt **20060802234246] [Add tests for server-side association negotiation with different supported types Josh Hoyt **20060802234400] [Move redirect URL and form markup generation to message object Josh Hoyt **20060802235936] [Don't run SHA256 association test unless SHA256 is available Josh Hoyt **20060803000531] [consumer.consumer: replace *all* occurances of openIDDiscover with discoverURL Kevin Turner **20060804190624] [whitespace normalization Kevin Turner **20060804191222] [consumer.consumer.GenericConsumer._doIdRes: fix for openid.identity-is-signed assertion Kevin Turner **20060804201911 and more tests for that in test.consumer ] [test.consumer.TestComplete: add CatchLogs Kevin Turner **20060804202704] [consumer.consumer.GenericConsumer._doIdRes: fail if return_to is not signed Kevin Turner **20060804202919] [openid.test.consumer.TestCheckAuthTriggered: add some required query fields Kevin Turner **20060804214555] [test.consumer.TestComplete.test_idResURLMismatch: add required fields to query Kevin Turner **20060804220432] [consumer.consumer.GenericConsumer._doIdRes: refactor part 1 Kevin Turner **20060804221717] [consumer.consumer.GenericConsumer._doIdRes: refactoring, part II Kevin Turner **20060805000802] [consumer.consumer.GenericConsumer._doIdRes: do discovery on IdP-selected identifiers. Closes #1045. Kevin Turner **20060805014132] [More non-wildcard TRs are sane now. dag@janrain.com**20060808190913] [Remove yadis_available usage from consumer module Josh Hoyt **20060816204420] [openid.test.consumer -> openid.test.test_consumer Josh Hoyt **20060816210955] [consumer.discover: resolve conflict between yadis_available removal and xri -> xrires move Kevin Turner **20060817192228] [Resolve conflicts pulling token removal patch Josh Hoyt **20060817235444] [TAG Before token removal Josh Hoyt **20060818231145] [TAG After token removal Josh Hoyt **20060818231312] [Improved message interface Josh Hoyt **20060821175637] [Convert consumer to use message object internally and in SuccessResponse Josh Hoyt **20060821192939] [resolve conflict in examples/consumer (sreg vs. canonicalID) Kevin Turner **20060821194222] [resolve conflict in consumer.GenericConsumer._doIdRes Kevin Turner **20060821194540 hopefully this just discards the change from the branch, as it only applied to the branch and not to development in the trunk ] [Added preferredNamespace() method to OpenIDServiceEndpoint Josh Hoyt **20060822203306] [Added Symbol class for singleton symbolic constants Josh Hoyt **20060822203459] [Use oidutil.Symbol for ANONYMOUS_REPLY constant in server Josh Hoyt **20060822203641] [New, more porting-friendly Message API Josh Hoyt **20060822210718] [resolve conflicts Josh Hoyt **20060822212732] [Added explicit exception for UndefinedOpenIDNamespace in Message Josh Hoyt **20060822231702] [Added accessor for the OpenID namespace of a Message Josh Hoyt **20060822231754] [Make the output of Message.toURLEncoded be deterministic Josh Hoyt **20060822231827] [Added (much needed) unit tests for Message object Josh Hoyt **20060822232024] [Fix for error in begin when discovery fails dag@janrain.com**20060823221736] [openid/test/server -> openid/test/test_server Josh Hoyt **20060823201817] [Added namespace parameter to constructor for setting the null namespace Josh Hoyt **20060823224652] [Ignore unrecognized namespaces Josh Hoyt **20060823224755] [Return the default for a namespace declaration if a default alias is defined Josh Hoyt **20060823224859] [Only use a default namespace URI for an alias in an OpenID 1.x response Josh Hoyt **20060823231753] [update example with new extension style dag@janrain.com**20060823231052] [NamespaceMap test + cleanup dag@janrain.com**20060824175718] [Add a couple doc strings. dag@janrain.com**20060824180249] [Remove debug print statement Josh Hoyt **20060824185934] [Move signature checking logic into association Josh Hoyt **20060824190411] [Clarify a docstring dag@janrain.com**20060824181427] [Add form_tag_attrs optional arg to AuthRequest.formMarkup dag@janrain.com**20060824211610] [Replace redirect with autoSubmit form in example dag@janrain.com**20060824211831] [Fix implementation of association message signing Josh Hoyt **20060824231436] [Improved type-checking in Message._fixNS Josh Hoyt **20060824231747] [Add __ne__ to Symbol class Josh Hoyt **20060824232055] [Added test for Symbol class Josh Hoyt **20060824232516] [Use Message object in server implementation Josh Hoyt **20060824232815] [Merge yadis and urljr dag@janrain.com**20060824235225] [Clean up return_to handling in ProtocolError Josh Hoyt **20060825205954] [Add explicit anonymous request support to RP Josh Hoyt **20060825223948] [Add explicit anonymous request support (differentiation between anonymous and identifier-select) Josh Hoyt **20060825224049] [runtests: move test_association to custom_modules Kevin Turner **20060824232339 DiffieHellmanSessionTest was not executing. ] [move test.association to test.test_association Kevin Turner **20060824232458] [resolve conflict in admin/runtests Kevin Turner **20060825215627] [runtests: add more verbose error reporting around custom_modules Kevin Turner **20060825221801] [repair test loading for test_yadis_discover Kevin Turner **20060825222632] [test.test_association.DiffieHellmanSessionTest: update to use Message Kevin Turner **20060825230235] [test.test_server: warn when SHA256 tests are skipped. Kevin Turner **20060825235528] [Association.checkSignature: remove unused method Kevin Turner **20060825235640] [test.test_consumer: use assoc.signMessage in favor of assoc.addSignature Kevin Turner **20060826000515] [association.Association.addSignature: remove unused method Kevin Turner **20060826000556] [Directed ID in server example dag@janrain.com**20060825230336] [Server example serves user and server yadis dag@janrain.com**20060825235618] [Example server ID selection works dag@janrain.com**20060828185947] [Add request method idSelect to indicate IDP is to choose identifier dag@janrain.com**20060828195540] [association.Association.sign_all: add new boolean attribute Kevin Turner **20060826021756] [association: HMAC-SHA256 is HMAC-SHA256-SIGNALL Kevin Turner **20060828195254] [message.Message: add __str__ Kevin Turner **20060828200042] [test_server.TestServer.test_associate: more verbose failure Kevin Turner **20060828200141] [association: test-case-name Kevin Turner **20060828200916] [association: add HMAC-SHA1-SIGNALL to list of recognized association types Kevin Turner **20060828201007] [association.Association._makePairs: factored out from getMessageSignature and signDict Kevin Turner **20060830215416] [association.Association.signDict: method removed, use getMessageSignature instead [API] Kevin Turner **20060830215658] [message.Message.setArg: don't add BARE_NS to namespace list. Kevin Turner **20060830223018] [association.Association._makePairsSignAll: added Kevin Turner **20060830223439 actually, seems to have snuck in in a previous patch, but here's the test. ] [association.Association.__init__: set .sign_all according to assoc_type Kevin Turner **20060830231248 and it turns out that objects with attributes which are functions or methods assigned after the object was created do not deepcopy so well. ] [server.server: s/HMAC-SHA256/HMAC-SHA256-SIGNALL/ Kevin Turner **20060830235350] [association.Association.sign: add mac definition for HMAC-SHA1-SIGNALL type. Kevin Turner **20060831001408] [oidutil.Symbol.__hash__: define Kevin Turner **20060831005751 (deepcopy really does break everything. You can have d.keys() == deepcopy(d).keys() without d[s] == deepcopy(d)[s]) ] [association.Association.signMessage: don't put signed list on signall messages Kevin Turner **20060831005934] [server.server.Signatory.getAssociation: add a way to get expired associations Kevin Turner **20060831015521] [server.server.Signatory.sign: preserve sign-all-edness in fallback case Kevin Turner **20060831015551] [consumer.Consumer._idResCheckForFields: drop 'signed' from required_fields Kevin Turner **20060831030843] [consumer.GenericConsumer._idResCheckSignature: generated signed_list for sign-all sigs Kevin Turner **20060831031131] [association.Association.signMessage: document return value Kevin Turner **20060831031229] [examples/server.py: remove unused import Kevin Turner **20060831185911 and fix syntax error ] [association.Association: add __repr__ Kevin Turner **20060831224056] [association.Association._makePairsSignAll: openid.sig isn't a signed item. Kevin Turner **20060831224737] [association.Association.{get,check}MessageSignature: document that ValueError happens. Kevin Turner **20060831232308] [message.Message.__eq__: define Kevin Turner **20060831232532 for use with failUnlessEqual ] [server.server.CheckAuthRequest.signed: this is now a Message, not a list of pairs. [API] Kevin Turner **20060831235033 server.server.Signatory.verify: take a message, not a sig and a list of pairs. This patch mostly throws out a lot of the message-validation code for the check_authentication message type, as what is included in a check_authentication request now depends a lot on the association type. So we push most things through to the associtaion's signature checking methods, and see if it works. (Hmm, the way I've coded this may result in some responses that formerly generated errors resulting in "is_valid=false" responses instead.) Changes and deletions to openid.test.test_server: TestDecode.test_checkAuth: removed assertion that response.signed contains only things in the signed list -- the logic to figure out what is and isn't signed now lives in the association, not the decoder. TestDecode.test_checkAuthMissingRequiredField, TestDecode.test_checkAuthMissingSignedField: removed tests; I don't think there are any required fields that may be omitted and still have the sig check out. Or if there are, they vary with association type. TestSignatory.test_verify*: adjusted for new signature, switch to SIGNALL associations as the pairs are not in openid.* use recalculated sig, as SIGNALL signs in a different order than the old pairs were given in. ] [DiffieHellmanSHA1ServerSession.allowed_assoc_types: add HMAC-SHA1-SIGNALL Kevin Turner **20060901000041] [message.Message.__ne__: added Kevin Turner **20060901195215] [test.test_consumer.TestCheckAuth.tearDown: added missing tearDown method to reset default fetcher. Kevin Turner **20060901215148 this was causing erratic test failures in subsequent tests. ] [test.test_consumer.TestComplete.test_idResMissingField: comment Kevin Turner **20060901220618 that some of these tests aren't quite testing what they say they are. ] [consumer.GenericConsumer._createCheckAuthRequest: add sign-all version. Kevin Turner **20060901223216] [remove lingering "XXX: association-type specific" comment Kevin Turner **20060901224322] [fix prepending http:// to urls without, and add a test for it chowells@janrain.com**20060904231907] [fixed delArg test for OPENID_NS. it was using OPENID1_NS. brian@janrain.com**20060907010136] [fixed mismatched test case names in OpenID2MessageTest - test_getArgsNS1,2 brian@janrain.com**20060907180236] [fixed another test name mistmatch brian@janrain.com**20060907182817] [fix OpenID2MessageTest.test_delArgOpenID so that it uses the proper namespace for the test brian@janrain.com**20060907182900] [Add nonce test, and tighten up the interface and border conditions of nonce checking Josh Hoyt **20060907205501] [Fix Python 2.2 AssertionError when splitting VERY old nonces Josh Hoyt **20060907210102] [Add message attribute to server requests when constructed using fromMessage dag@janrain.com**20060907222426] [Add yadis package to setup.py mpg4@janrain.com**20060911224044] [remove missing 'normalizeUrl' from oidutil.__all__ mpg4@janrain.com**20060922220544] [TAG heraldry-import/branches/1.2 Kevin Turner **20061011230007] [TAG heraldry-import Kevin Turner **20061011233650] [TAG heraldry-r463041 Kevin Turner **20061011233701] [Use API calls to sent Content-type header and begin body cygnus@janrain.com**20061028193518] [#1366: remove auth key code from filestore Josh Hoyt **20061117001638] [#1366: remove auth key from store interface Josh Hoyt **20061117001706] [#1366: remove auth key code from SQL store Josh Hoyt **20061117001729] [#1366: remove auth key code from dumb store Josh Hoyt **20061117001911] [#1366: remove auth key from store tests Josh Hoyt **20061117001916] [FIX #1366: Remove auth key Josh Hoyt **20061117002011] [FIX #1367: Remove SIGNALL associations Josh Hoyt **20061117010624] [examples/consumer: s/openid_url/openid_identifier/ in the input form Kevin Turner **20061127233942] [examples/consumer: add an /affiliate page to help exercise myopenid's affiliate code Kevin Turner **20061127234036] [Make it possible to forc