113478|oauthprovider.checkoauthrequest|0|1381973417|tim at timlytle dot net|U2VlbXMgdGhpcyBtZXRob2QgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UgcGVyIGluc3RhbmNlIChvciBnaXZlcyB0aGUgc2FtZSByZXN1bHQgYXMgdGhlIGZpcnN0IGNhbGwgb24gcmVwZWF0IGNhbGxzKS4gCgpNeSB1c2UgY2FzZSBpcyBBUEkgZW5kcG9pbnRzIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIGJ5IGEgdXNlciBvciB3aXRoIDIgbGVnZ2VkIGF1dGguIElmIG5vcm1hbCBvQXV0aCBmYWlsZWQsIEkgd2FzIGNhbGxpbmcgaXMyTGVnZ2VkRW5kcG9pbnQodHJ1ZSkgYW5kIHJ1bm5pbmcgYWdhaW4uIAoKRm9yIHRoYXQgdG8gd29yayB0aGUgT0F1dGggUHJvdmlkZXIgbmVlZHMgdG8gYmUgY3JlYXRlZCBhZ2Fpbiwgc2ltcGx5IGNoYW5naW5nIG9uZSBvZiB0aGUgZmxhZ3Mgc2VlbXMgdG8gaGF2ZSBubyBlZmZlY3Qgb24gdGhlIG5leHQgY2FsbC4=|0|1 99537|oauthprovider.checkoauthrequest|92|1282535946|Lyuben Penkovski (l_penkovski at yahoo dot com)|VGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgT0F1dGggcmVxdWVzdCBpcyB2YWxpZCBhbmQgc2lnbmVkIGNvcnJlY3RseS4KCiRwcm92aWRlci0+Y2hlY2tPQXV0aFJlcXVlc3QoKTsgCgpJdCBkb2VzIHRoaXMgYnkgZmlyc3QgY2FsbGluZyB0aW1lc3RhbXBOb25jZUhhbmRsZXIgYW5kIGV4cGVjdHMgcmVzdWx0IE9BVUhUX09LIGZyb20gaXQuIElmIHRoZSByZXN1bHQgaXMgZGlmZmVyZW50LCBhbiBleGNlcHRpb24gaXMgdGhyb3duLiBJdCdzIHVwIHRvIHlvdSB0byB3cml0ZSB0aGUgY29kZSB0aGF0IGNoZWNrcyB0aW1lc3RhbXAvbm9uY2UgY29tYmluYXRpb25zLgoKU2Vjb25kbHksIGl0IGNhbGxzIGNvbnN1bWVySGFuZGxlciBhbmQgZXhwZWN0cyB5b3VyIGNvZGUgaW4gdGhlIGNvbnN1bWVySGFuZGxlciBmdW5jdGlvbiB0byBzZXQgJHByb3ZpZGVyLT5jb25zdW1lcl9zZWNyZXQgdG8gdGhlIGNvcnJlY3QgdmFsdWUgKHlvdSBzaG91bGQgdGFrZSBpdCBmcm9tIHlvdXIgY29uc3VtZXIgc3RvcmFnZSBsb2NhdGlvbiB3aGVyZSBpdCdzIHNhdmVkIHdpdGggY29uc3VtZXIga2V5KS4gSWYgJHByb3ZpZGVyLT5jb25zdW1lcl9zZWNyZXQgaXMgbm90IHNldCwgb3IgaXMgbm90IHNldCB3aXRoIHRoZSBwcm9wZXIgdmFsdWUgYW4gZXhjZXB0aW9uIGlzIHRocm93bi4gUHJvcGVyIHZhbHVlIG1lYW5zIHRoYXQgaXQgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbnN1bWVyIGtleSB0aGF0IHdhcyB1c2VkIHRvIHNpZ24gdGhlIHJlcXVlc3QgYnkgdGhlIGNvbnN1bWVyIGJlZm9yZSBzZW5kaW5nIGl0IHRvIGhlcmUgKHRoZSBwcm92aWRlcikuIEFnYWluIGV4cGVjdGVkIHJlc3VsdCBmcm9tIHRoaXMgZnVuY3Rpb24gaXMgT0FVVEhfT0sgb3Igc29tZSBPQVVUSCBlcnJvciBjb2RlIGlmIHlvdSB3YW50IHRvIHRocm93IGV4Y2VwdGlvbi4KClRoaXJkLCBpdCBjYWxscyB0b2tlbkhhbmRsZXIsIGJ1dCBvbmx5IFdIRU4geW91IGFyZSByZXF1ZXN0aW5nIEFDQ0VTUyB0b2tlbiBvciByZXF1ZXN0aW5nIHByb3RlY3RlZCBkYXRhIHdpdGggYXV0aG9yaXplZCBBQ0NFU1MgVE9LRU4uIEluIG9yZGVyIGZvciB0aGUgcHJvdmlkZXIgdG8gY2FsbCB0b2tlbkhhbmRsZXIsIGJlZm9yZSBhIGNhbGwgdG8gdGhlIGNoZWNrT0F1dGhSZXF1ZXN0IGZ1bmN0aW9uIGlzIG1hZGUsIHRoZSBwcm92aWRlciBzaG91bGQgY2FsbCB0aGUgbWV0aG9kIHRoYXQgc2F5cyB0aGF0IHRoaXMgaXMgbm90IGEgcmVxdWVzdCB0b2tlbiBlbmRwb2ludCAodGhpcyBpcyBhY2Nlc3MgdG9rZW4gZW5kcG9pbnQpOgoKJHByb3ZpZGVyLT5pc1JlcXVlc3RUb2tlbkVuZHBvaW50IChmYWxzZSk7CiRwcm92aWRlci0+Y2hlY2tPQXV0aFJlcXVlc3QoKTsKCkFnYWluIGhlcmUgT0F1dGhQcm92aWRlciBpcyBleHBlY3RpbmcgeW91ciBjb2RlIGluIHRoZSB0b2tlbkhhbmRsZXIgdG8gc2V0ICRwcm92aWRlci0+dG9rZW5fc2VjcmV0IHRvIHRoZSBjb3JyZWN0IHZhbHVlICh5b3Ugc2hvdWxkIHRha2UgaXQgZnJvbSB5b3VyIHRva2VuIHN0b3JhZ2UgcGxhY2UpIGJlY2F1c2UgZHVyaW5nIHRoZSBzaWduaW5nIHByb2Nlc3MgaXQgdXNlcyBDT05TVU1FUiBTRUNSRVQgKGZvciByZXF1ZXN0IHRva2VuKSBhbmQgQ09OU1VNRVIgU0VDUkVUIEFORCBUT0tFTiBTRUNSRVQgKGZvciBhY2Nlc3MgdG9rZW4gYW5kIGZldGNoIG9mIHByb3RlY3RlZCBkYXRhKSB0byBzaWduIHRoZSByZXF1ZXN0LgoKQWZ0ZXIgdGhlc2UgMyBoYW5kbGVyIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGFuZCByZXR1cm4gZ29vZCByZXN1bHRzIChPQVVUSF9PSykgYW5kIHNldCB0aGUgdmFsdWVzIG9mIHRoZSByZXF1aXJlZCBmaWVsZHMgJHByb3ZpZGVyLT5jb25zdW1lcl9zZWNyZXQgYW5kICRwcm92aWRlci0+dG9rZW5fc2VjcmV0LCB0aGVuIHRoZSBjaGVja09BdXRoUmVxdWVzdCBmdW5jdGlvbiBzaWducyB0aGUgcmVxdWVzdC4gSWYgc29tZXRoaW5nIGdvZXMgd3JvbmcsIGl0IHRocm93cyBleGNlcHRpb24sIG90aGVyd2lzZSB0aGVyZSBjb21lcyB0aGUgcGxhY2UgZm9yIHlvdXIgY29kZSB0byBwcm9jZWVkIGFuZCBoYW5kbGUgdGhlIHJlcXVlc3Q6CgotIHlvdSBjYW4gY3JlYXRlIHJlcXVlc3QgdG9rZW4gKGlmIGl0J3MgYSBmaXJzdCByZXF1ZXN0IGZvciByZXF1ZXN0IHRva2VuKQotIHlvdSBjYW4gY3JlYXRlIGFjY2VzcyB0b2tlbiAoaWYgaXQncyBhIHJlcXVlc3QgZm9yIGFjY2VzcyB0b2tlbikKLSB5b3UgY2FuIHJldHVybiBwcm90ZWN0ZWQgZGF0YSB0byB0aGUgY29uc3VtZXIgKGlmIGl0J3MgYSByZXF1ZXN0IHRvIGZldGNoIHByb3RlY3RlZCBkYXRhKQoKVGhpcyBpcyBob3cgdGhlIGZ1bmN0aW9ucyBpbiBteSBjb2RlIGxvb2sgbGlrZSwgaG93ZXZlciBwbGVhc2UgaGF2ZSBpbiBtaW5kIHRoYXQgSSd2ZSBqdXN0IGltcGxlbWVudGVkIGl0IGFuZCBpdCdzIHBvc3NpYmxlIHRoYXQgSSBoYXZlIHNvbWV0aGluZyBtaXNzZWQgb3IgZm9yZ290dGVuLCBidXQgZ2VuZXJhbGx5IEkgdGhpbmsgdGhlIGlkZWEgc2hvdWxkIGJlIGNsZWFyOgoKJHRoaXMtPmRiTW9kZWwgaXMgdGhlIG9iamVjdCBmb3Igd29ya2luZyB3aXRoIGRhdGFiYXNlIGFuZCBzYXZlL3JldHJpZXZlIHRva2VuIGFuZCBjb25zdW1lciBkYXRhCgo8P3BocAoKcHVibGljIGZ1bmN0aW9uIHRpbWVzdGFtcE5vbmNlSGFuZGxlciAoICRwcm92aWRlciApCnsKCXJldHVybiAkdGhpcy0+ZGJNb2RlbC0+Y2hlY2tUaW1lc3RhbXBOb25jZSAoICRwcm92aWRlci0+Y29uc3VtZXJfa2V5LAoJCQkJCQkJCQkJCQkgJHByb3ZpZGVyLT50b2tlbiwgCgkJCQkJCQkJCQkJCSAkcHJvdmlkZXItPnRpbWVzdGFtcCwKCQkJCQkJCQkJCQkJICRwcm92aWRlci0+bm9uY2UgKTsKfQoKcHVibGljIGZ1bmN0aW9uIGNvbnN1bWVySGFuZGxlciAoICRwcm92aWRlciApCnsKCSRjb25zdW1lciA9ICR0aGlzLT5kYk1vZGVsLT5nZXRDb25zdW1lclNlY3JldHMgKCRwcm92aWRlci0+Y29uc3VtZXJfa2V5KTsKCQoJaWYoJGNvbnN1bWVyWydjb25zdW1lcl9rZXknXSAhPSAkcHJvdmlkZXItPmNvbnN1bWVyX2tleSkKCXsKCQlyZXR1cm4gT0FVVEhfQ09OU1VNRVJfS0VZX1VOS05PV047Cgl9CgkKCWlmKCAoaW50KSRjb25zdW1lclsnZGlzYWJsZWQnXSAhPSAwICkKCXsKCQlyZXR1cm4gT0FVVEhfQ09OU1VNRVJfS0VZX1JFRlVTRUQ7Cgl9CgkKCSRwcm92aWRlci0+Y29uc3VtZXJfaWQgPSAkY29uc3VtZXJbJ2NvbnN1bWVyX2lkJ107ICMgdGhpcyBpcyBub3QgcmVxdWlyZWQgYnkgT0F1dGhQcm92aWRlciBidXQgSSB1c2UgaXQgbGF0ZXIgaW4gdG9rZW5IYW5kbGVyCgkkcHJvdmlkZXItPmNvbnN1bWVyX3NlY3JldCA9ICRjb25zdW1lclsnY29uc3VtZXJfc2VjcmV0J107ICMgdGhpcyBpcyBSRVFVSVJFRAoKCXJldHVybiBPQVVUSF9PSzsKfQoKcHVibGljIGZ1bmN0aW9uIHRva2VuSGFuZGxlciAoICRwcm92aWRlciApCnsKCSR0b2tlbiA9ICR0aGlzLT5kYk1vZGVsLT5nZXRUb2tlbiggJHByb3ZpZGVyLT50b2tlbiApOwoKCWlmKCB0aW1lKCkgPiAkdG9rZW5bJ2V4cGlyZSddICkKCXsKCQlyZXR1cm4gT0FVVEhfVE9LRU5fRVhQSVJFRDsKCX0KCQoJaWYoJHRva2VuWydjb25zdW1lcl9pZCddICE9ICRwcm92aWRlci0+Y29uc3VtZXJfaWQpCgl7CgkJcmV0dXJuIE9BVVRIX1RPS0VOX1JFSkVDVEVEOwoJfQoKCWlmKCAoaW50KSR0b2tlblsnYXV0aG9yaXplZCddID09IDAgKQoJewoJCXJldHVybiBPQVVUSF9UT0tFTl9SRUpFQ1RFRDsKCX0KCglpZigkdG9rZW5bJ3Rva2VuX3R5cGUnXSAhPSAnYWNjZXNzJykKCXsKCQlpZigkdG9rZW5bJ3ZlcmlmaWVyJ10gIT0gJHByb3ZpZGVyLT52ZXJpZmllcikKCQkJcmV0dXJuIE9BVVRIX1ZFUklGSUVSX0lOVkFMSUQ7Cgl9CgoJJHByb3ZpZGVyLT50b2tlbl9pZCA9ICR0b2tlblsndG9rZW5faWQnXTsgIyBub3QgcmVxdWlyZWQgdG8gYmUgc2V0IGJ5IE9BdXRoUHJvdmlkZXIKCSRwcm92aWRlci0+dG9rZW5fc2VjcmV0ID0gJHRva2VuWyd0b2tlbl9zZWNyZXQnXTsgIyB0aGlzIGlzIFJFUVVJUkVECgkKCXJldHVybiBPQVVUSF9PSzsKfQoKPz4=|12|1