From a1d34be18b2e4a6a2fd7a9905f98890fbd03b072 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 12 Oct 2016 21:07:00 +0200 Subject: [PATCH] Improve Friendica support (but still not there yet) --- Gemfile.lock | 4 ++-- app/services/follow_remote_account_service.rb | 13 ++----------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e34f01ea77..43e36cc72d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -107,7 +107,7 @@ GEM ruby-progressbar (~> 1.4) globalid (0.3.7) activesupport (>= 4.1.0) - goldfinger (1.0.5) + goldfinger (1.1.0) addressable (~> 2.4) http (~> 2.0) nokogiri (~> 1.6) @@ -172,7 +172,7 @@ GEM mini_portile2 (~> 2.1.0) oj (2.17.3) orm_adapter (0.5.0) - ostatus2 (0.3.2) + ostatus2 (1.0.1) addressable (~> 2.4) http (~> 2.0) nokogiri (~> 1.6) diff --git a/app/services/follow_remote_account_service.rb b/app/services/follow_remote_account_service.rb index 43a598635f..3334f751ab 100644 --- a/app/services/follow_remote_account_service.rb +++ b/app/services/follow_remote_account_service.rb @@ -1,4 +1,6 @@ class FollowRemoteAccountService < BaseService + include OStatus2::MagicKey + # Find or create a local account for a remote user. # When creating, look up the user's webfinger and fetch all # important information from their feed @@ -57,17 +59,6 @@ class FollowRemoteAccountService < BaseService update_remote_profile_service.call(author, account) end - def magic_key_to_pem(magic_key) - _, modulus, exponent = magic_key.split('.') - modulus, exponent = [modulus, exponent].map { |n| Base64.urlsafe_decode64(n).bytes.inject(0) { |a, e| (a << 8) | e } } - - key = OpenSSL::PKey::RSA.new - key.n = modulus - key.e = exponent - - key.to_pem - end - def update_remote_profile_service @update_remote_profile_service ||= UpdateRemoteProfileService.new end