Skip to content
This repository has been archived by the owner on Oct 6, 2021. It is now read-only.

Keyggdrasil failed, Automatic update - signature failure, Call to undefined function textdomain() #198

Open
1 task
alfalfascout opened this issue Jan 14, 2018 · 10 comments

Comments

@alfalfascout
Copy link

  • Check this box if this is a security vulnerability.

Summary

I'm able to get through the configuration of my airship (I think?), but afterwards I get a lot of internal server errors.

Expected Outcome

Finished configuration would take me to a bridge, maybe? Or a hull? I haven't successfully completed a configuration, so I don't know.

What Actually Happened

I get a page that says Internal Server Error in my browser. When I check the logs in airship/src/tmp/logs, I see errors like Keyggdrasil failed, Automatic update - signature failure, Call to undefined function textdomain(). See attached log for details.

2018-01-14-xxx.log

I'm getting these errors even after dropping/recreating the airship database, deleting the airship directory, and cloning a fresh one from git. My only guess is that iptables might be blocking some of the traffic required, but I'm not sure what exactly I would change to fix it. Just in case, I'll also attach my firewall rules.

iptables.firewall.rules.txt

@JoshHarmon
Copy link
Contributor

JoshHarmon commented Jan 24, 2018

textdomain() bit

Is the gettext extension enabled? PHP docs say it's been a function since PHP 4, and the call it's failing on correctly uses the global namespace, so this is the first thing that comes to mind.

Try running a test script with

print_r(get_extension_funcs('gettext'));

If you don't see an array of function names, gettext not being enabled is your problem.

I've never seen the gettext extension not enabled in an environment, but PHP doesn't necessarily include it in the core. Perhaps Airship should do some checking at install time to warn the admin that gettext must be enabled for autoupdating to work (perhaps halting the install unless the extension gets enabled?).

signature failure bit

This appears to be a separate issue having to do with the formatting of the response Airship is getting.

@alfalfascout
Copy link
Author

alfalfascout commented Jan 25, 2018

I installed gettext from my php source folder, enabled it in my php.ini, restarted php-fpm, and restarted nginx.
Then I tried running the test script, and it didn't print anything.

Do I have to compile php again, with gettext support this time? Or have I missed something vital and silly?

@paragonie-scott
Copy link
Member

Can you give dev-master a shot? I made translation fail open for now. 39375e8

I'll add some other steps to prevent people from installing Airship if gettext isn't setup correctly later.

@alfalfascout
Copy link
Author

It appears to be working... How would one correctly set up gettext so that Airship can work with it?

@JoshHarmon
Copy link
Contributor

JoshHarmon commented Jan 25, 2018 via email

@alfalfascout
Copy link
Author

I'm still getting Keyggdrasil failures and Automatic update failures, however. And CSRF validation failures, which are new.

@alfalfascout
Copy link
Author

I pulled master and ran composer update. The issues persist. Here's today's log file, including the CSRF validation failure.
2018-02-14.log

@paragonie-scott
Copy link
Member

Keyggdrasil failing is weird, but if you're on dev-master it should never "succeed": There's no updates available.

That being said: #204 -- we're replacing it in v2

@alfalfascout
Copy link
Author

Is there a release date for version 2? I can't seem to log in at all with the current version. Nor recover my account.

@paragonie-scott
Copy link
Member

As soon as it's stable/usable enough to release. #204 will be a blocker.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants