keybase / keybase-issues

A single repo for managing publicly recognized issues with the keybase client, installer, and website.
900 stars 37 forks source link

stage0 - login with username fails #1854

Closed arenzana closed 8 years ago

arenzana commented 9 years ago

I get the following when I try to log in with my username.

▶ ERROR failed to get synced secret key (error 901)

I'm pasting the password from my password manager into pinentry, the password contains special characters.

Using kbstage cli 1.0.0-47.

carlobellettini commented 8 years ago

I already did the unsetenv thanks... ;-)

so it is a bug in my (not so uptodate) version of OSX... I'm very sorry for the troubles that I caused you... and thanks for your kindness...

gabriel commented 8 years ago

Thanks for helping us debug this!

We're gonna try to investigate more and discuss a workaround because others might encounter this same issue that you have.

kitchen commented 8 years ago

I'm encountering issues like this as well. I'm not entirely certain what applies to me and what does not, though. When I originally set up this laptop with a fresh install of OSX 10.10 I copied the .gnupg directory over from my backup, so it should still have anything from there. I am fairly certain I did keybase login at some point after that, but that was many months ago and it would appear keybase has changed quite a bit since then.

Here's my keybase -d login:

± % keybase -d login
16:15:16.032374 ▶ [DEBU keybase json.go:48] 001 + loading config file: /Users/kitchen/Library/Application Support/Keybase/config.json
16:15:16.032457 ▶ [DEBU keybase json.go:56] 002 No config file found; tried /Users/kitchen/Library/Application Support/Keybase/config.json
16:15:16.032517 ▶ [DEBU keybase config.go:115] 003 Config: mapping server ->
16:15:16.032765 ▶ [DEBU keybase config.go:115] 004 Config: mapping socket_file ->
16:15:16.032794 ▶ [DEBU keybase config.go:115] 005 Config: mapping home ->
16:15:16.034397 ▶ [DEBU keybase ui.go:433] 006 Setting GPG_TTY to /dev/ttys002
16:15:16.034430 ▶ [DEBU keybase config.go:115] 007 Config: mapping timers ->
16:15:16.034444 ▶ [DEBU keybase globals.go:193] 008 Keybase CLI 1.0.7-0
16:15:16.034456 ▶ [DEBU keybase globals.go:193] 009 - Built with go1.5.2
16:15:16.034465 ▶ [DEBU keybase globals.go:193] 00a - Visit https://keybase.io for more details
16:15:16.034488 ▶ [DEBU keybase main.go:101] 00b + configureProcesses
16:15:16.034549 ▶ [DEBU keybase install_osx.go:662] 00c + AutoInstall for launchd
16:15:16.035838 ▶ [DEBU keybase install_osx.go:675] 00d | already installed at /Users/kitchen/Library/LaunchAgents/homebrew.mxcl.keybase.plist
16:15:16.035875 ▶ [DEBU keybase install_osx.go:664] 00e - AutoInstall -> false, <nil>
16:15:16.035891 ▶ [DEBU keybase main.go:158] 00f | After forks; newProc=false
16:15:16.035902 ▶ [DEBU keybase main.go:179] 010 + configureLogging
16:15:16.035929 ▶ [DEBU keybase config.go:115] 011 Config: mapping local_rpc_debug ->
16:15:16.035963 ▶ [DEBU keybase socket_nix.go:23] 012 Dialing unix:/Users/kitchen/Library/Caches/Keybase/keybased.sock
16:15:16.036190 ▶ [DEBU keybase config.go:115] 013 Config: mapping local_rpc_debug ->
16:15:16.036287 ▶ [DEBU keybase main.go:215] 014 Setting remote log level: 1
16:15:16.036903 ▶ [DEBU keybase main.go:181] 015 - configureLogging
16:15:16.036952 ▶ [DEBU keybase versionfix.go:21] 016 + FixVersionClash
16:15:16.037457 ▶ [DEBU keybase versionfix.go:33] 017 | Contacted service; got version: 1.0.7-0
16:15:16.037533 ▶ [DEBU keybase versionfix.go:55] 018 | version check 1.0.7-0 v 1.0.7-0
16:15:16.037601 ▶ [DEBU keybase versionfix.go:57] 01b | versions check out
16:15:16.037558 ▶ [DEBU keybase log.go:30] 019 Config: mapping server ->
16:15:16.037624 ▶ [DEBU keybase versionfix.go:23] 01c - FixVersionClash -> <nil>
16:15:16.037582 ▶ [DEBU keybase log.go:30] 01a | configured GPG w/ path: /usr/local/bin/gpg
16:15:16.037645 ▶ [DEBU keybase main.go:103] 01d - configureProcesses -> <nil>
16:15:16.037706 ▶ [DEBU keybase log.go:30] 01e Config: mapping socket_file ->
16:15:16.037779 ▶ [DEBU keybase log.go:30] 01f Config: mapping config_file ->
16:15:16.037984 ▶ [DEBU keybase log.go:30] 020 Config: mapping home ->
16:15:16.038038 ▶ [DEBU keybase log.go:30] 021 | configured GPG w/ path: /usr/local/bin/gpg
16:15:16.038105 ▶ [DEBU keybase log.go:30] 022 Config: mapping home ->
16:15:16.038341 ▶ [DEBU keybase log.go:30] 023 - Skipped; already loaded
16:15:16.040633 ▶ [DEBU keybase log.go:30] 024 - LoginCurrentDevice.Run
16:15:16.041099 ▶ [DEBU keybase log.go:30] 025 - Account "LoggedInProvisionedLoad"
16:15:16.041180 ▶ [DEBU keybase log.go:30] 026 | using current username
16:15:16.041245 ▶ [DEBU keybase log.go:30] 027 no device in user config
16:15:16.041329 ▶ [DEBU keybase log.go:30] 028 LoginCurrentDevice error: No device provisioned locally for this user (continuing with device provisioning...)
16:15:16.041393 ▶ [DEBU keybase log.go:30] 029 + RunEngine(LoginProvision)
16:15:16.041423 ▶ [DEBU keybase log.go:30] 02a - RunEngine(LoginCurrentDevice) -> ERROR: No device provisioned locally for this user
16:15:16.041528 ▶ [DEBU keybase log.go:30] 02b + RunEngine(LoginCurrentDevice)
16:15:16.041558 ▶ [DEBU keybase log.go:30] 02c + RunEngine(Login)
16:15:16.041676 ▶ [DEBU keybase log.go:30] 02d + Loading session
16:15:16.041714 ▶ [DEBU keybase log.go:30] 02e | configured GPG w/ path: /usr/local/bin/gpg
16:15:16.041790 ▶ [DEBU keybase log.go:30] 02f +- LoginCurrentDevice.Run
16:15:16.041835 ▶ [DEBU keybase log.go:30] 030 + Account "LoggedInProvisionedLoad"
16:15:16.041924 ▶ [DEBU keybase log.go:30] 031 | running Gpg: /usr/local/bin/gpg [--no-tty --with-colons --fingerprint -K]
How would you like to sign this install of Keybase?

(1) Use an existing device
(2) Use a paper key
(3) Use my Keybase passphrase
(4) Use GPG
16:15:16.093095 ▶ [DEBU keybase log.go:30] 032 have gpg. num private keys: 2
16:15:16.093101 ▶ [DEBU keybase log.go:30] 033 found gpg with private keys?: true
Choose a signing option: 3
Your keybase username or email address: kitchen@kitchen.io
16:15:21.096186 ▶ [DEBU keybase log.go:30] 034 + VerifyEmailAddress
16:15:21.096281 ▶ [DEBU keybase log.go:30] 035 "kitchen@kitchen.io" looks like an email address, must get login session to get user
16:15:21.096381 ▶ [DEBU keybase log.go:30] 036 + LoginState.passphraseLogin (username=kitchen@kitchen.io)
16:15:21.096395 ▶ [DEBU keybase log.go:30] 037 + Login "loginWithPassphrase"
16:15:21.096479 ▶ [DEBU keybase log.go:30] 038 + API GET request to https://keybase.io/_/api/1.0/getsalt.json?email_or_username=kitchen%!!(MISSING)k(MISSING)itchen.io
16:15:23.383936 ▶ [DEBU keybase secret_entry.go:32] 039 + SecretEntry.Init()
16:15:23.384059 ▶ [DEBU keybase log.go:30] 03b - successful API call
16:15:23.384052 ▶ [DEBU keybase log.go:30] 03a | Result is: 200 OK
16:15:23.384145 ▶ [DEBU keybase log.go:30] 03d | stretchPassphraseIfNecessary: getting keybase passphrase via ui
16:15:23.384086 ▶ [DEBU keybase pinentry_nix.go:62] 03c + FindPinentry()
16:15:23.388471 ▶ [DEBU keybase pinentry_nix.go:71] 03e | Check fullpath /usr/local/MacGPG2/libexec/pinentry-mac.app/Contents/MacOS/pinentry-mac
16:15:23.388531 ▶ [DEBU keybase pinentry_nix.go:74] 03f - Found: /usr/local/MacGPG2/libexec/pinentry-mac.app/Contents/MacOS/pinentry-mac
16:15:23.388571 ▶ [DEBU keybase secret_entry.go:49] 040 | Pinentry initialized
16:15:23.388595 ▶ [DEBU keybase secret_entry.go:61] 041 - SecretEntry.Init() -> ok
16:15:23.388613 ▶ [DEBU keybase pinentry.go:79] 042 + Pinentry::Get()
16:15:23.388624 ▶ [DEBU keybase pinentry.go:132] 043 + pinentryInstance::Init()
16:15:23.391197 ▶ [DEBU keybase log.go:30] 044 + stretchPassphraseIfNecessary (kitchen@kitchen.io)
16:15:23.618994 ▶ [DEBU keybase pinentry.go:158] 045 setting ttyname to /dev/ttys002
16:15:23.619117 ▶ [DEBU keybase pinentry.go:165] 046 setting ttytype to xterm-256color
16:15:23.619174 ▶ [DEBU keybase pinentry.go:172] 047 - pinentryInstance::Init() -> <nil>
16:15:30.298712 ▶ [DEBU keybase pinentry.go:96] 048 - Pinentry::Get() -> <nil>
16:15:30.505740 ▶ [DEBU keybase log.go:30] 049 - stretchPassphraseIfNecessary
16:15:30.505808 ▶ [DEBU keybase log.go:30] 04a + API Post request to https://keybase.io/_/api/1.0/login.json
16:15:31.805119 ▶ [DEBU keybase log.go:30] 04b | Result is: 200 OK
16:15:37.082443 ▶ [DEBU keybase log.go:30] 04d | SetUserConfig(kitchen)
16:15:37.082462 ▶ [DEBU keybase log.go:30] 04e + saving config file /Users/kitchen/Library/Application Support/Keybase/config.json.NGJWBUCDOKR2MZI22YS6JLUM
16:15:37.082434 ▶ [DEBU keybase log.go:30] 04c - successful API call
16:15:37.084784 ▶ [DEBU keybase log.go:30] 04f - saved config file /Users/kitchen/Library/Application Support/Keybase/config.json.NGJWBUCDOKR2MZI22YS6JLUM
16:15:37.084901 ▶ [DEBU keybase log.go:30] 050 + saving config file /Users/kitchen/Library/Application Support/Keybase/config.json.NGJWBUCDOKR2MZI22YS6JLUM
16:15:37.085146 ▶ [DEBU keybase log.go:30] 051 - saved config file /Users/kitchen/Library/Application Support/Keybase/config.json.NGJWBUCDOKR2MZI22YS6JLUM
16:15:37.085341 ▶ [DEBU keybase log.go:30] 052 + saving session file /Users/kitchen/Library/Caches/Keybase/session.json
16:15:37.085761 ▶ [DEBU keybase log.go:30] 053 + Resolving username kitchen
16:15:37.085861 ▶ [DEBU keybase log.go:30] 054 - saved session file /Users/kitchen/Library/Caches/Keybase/session.json
16:15:37.085934 ▶ [DEBU keybase log.go:30] 055 - VerifyEmailAddress -> ok
16:15:37.085981 ▶ [DEBU keybase log.go:30] 056 passphraseLogin success
16:15:37.086058 ▶ [DEBU keybase log.go:30] 057 - LoginState.passphraseLogin -> ok
16:15:37.086076 ▶ [DEBU keybase log.go:30] 058 - Login "loginWithPassphrase"
16:15:37.086141 ▶ [DEBU keybase log.go:30] 059 + LoadUser(uid=, name=kitchen)
16:15:37.086197 ▶ [DEBU keybase log.go:30] 05a LoginProvision: loading user kitchen
16:15:37.086290 ▶ [DEBU keybase log.go:30] 05b | resolved to 842e60cb606eea95739ba227533cb700
16:15:37.086509 ▶ [DEBU keybase log.go:30] 05c - Account "G - GetMyUID - GetUID"
16:15:37.086595 ▶ [DEBU keybase log.go:30] 05d + loadUserFromLocalStorage(842e60cb606eea95739ba227533cb700)
16:15:37.086620 ▶ [DEBU keybase log.go:30] 05e + Account "G - GetMyUID - GetUID"
16:15:37.086729 ▶ [DEBU keybase log.go:30] 05f + MerkleClient.LoadRoot()
16:15:37.086798 ▶ [DEBU keybase log.go:30] 060 - LevelDb.open -> ok
16:15:37.086809 ▶ [DEBU keybase log.go:30] 061 + LevelDb.open
16:15:37.086878 ▶ [DEBU keybase log.go:30] 062 - loadUserFromLocalStorage(842e60cb606eea95739ba227533cb700): Not found
16:15:37.086952 ▶ [DEBU keybase log.go:30] 064 + MerkleClient.LookupUser(map[uid:842e60cb606eea95739ba227533cb700 poll:10])
16:15:37.086948 ▶ [DEBU keybase log.go:30] 063 - LevelDb.open -> ok
16:15:37.087039 ▶ [DEBU keybase log.go:30] 065 | LookupPath
16:15:37.087086 ▶ [DEBU keybase log.go:30] 066 + LevelDb.open
16:15:37.087158 ▶ [DEBU keybase log.go:30] 067 - LevelDb.open -> ok
16:15:37.087177 ▶ [DEBU keybase log.go:30] 068 + LevelDb.open
16:15:37.087284 ▶ [DEBU keybase log.go:30] 069 + API GET request to https://keybase.io/_/api/1.0/merkle/path.json?poll=10&uid=842e60cb606eea95739ba227533cb700
16:15:37.087385 ▶ [DEBU keybase log.go:30] 06a - MerkleClient.LoadRoot() -> &{{0xc820188000} 341068 [3 225 70 205 175 129 54 104 10 213 102 145 42 50 52 12 236 140 148 146] 0xc8204a2690 {"body":{"key":{"fingerprint":"03e146cdaf8136680ad566912a32340cec8c9492","key_id":"2A32340CEC8C9492"},"legacy_uid_root":"d3450288d233fe9125d0b6f8196dbc93447bca2630300898781a637a44752032","prev":"e1d014598d57c5bfc58f90197a7061dd909e0171287932c460b8ff0083225112df7fa4820daad1da8d88559293b16c0c57907e6527a4f474409b799c9ee1437c","root":"ee188ecc3a32b039260e6ed828d27ac6ad3742149662816d098e48c431023d6655661db6ceac206f405ab796e189bbf7d8471ccb06bac87bf602dd27e25014f1","seqno":341068,"txid":"82b225ca26961a150d82f31a74651e15","type":"merkle_root","version":1},"ctime":1451693180,"tag":"signature"} 0xc8204a2870 [238 24 142 204 58 50 176 57 38 14 110 216 40 210 122 198 173 55 66 20 150 98 129 109 9 142 72 196 49 2 61 102 85 102 29 182 206 172 32 111 64 90 183 150 225 137 187 247 216 71 28 203 6 186 200 123 246 2 221 39 226 80 20 241] [211 69 2 136 210 51 254 145 37 208 182 248 25 109 188 147 68 123 202 38 48 48 8 152 120 26 99 122 68 117 32 50] 1451693180}
16:15:37.087403 ▶ [DEBU keybase log.go:30] 06b LoadUser: {UID: Name:kitchen PublicKeyOptional:true NoCacheResult:false Self:false ForceReload:false AllKeys:false LoginContext:<nil> AbortIfSigchainUnchanged:false Contextified:{g:0xc820188000}}
16:15:38.735642 ▶ [DEBU keybase log.go:30] 06c | Result is: 200 OK
16:15:39.291726 ▶ [DEBU keybase log.go:30] 06e - successful API call
16:15:39.291796 ▶ [DEBU keybase log.go:30] 06f + Merkle: using KID=010159baae6c7d43c66adf8fb7bb2b8b4cbe408c062cfc369e693ccb18f85631dbcd0a for verifying server sig
16:15:39.291719 ▶ [DEBU keybase log.go:30] 06d | VerifyRoot
16:15:39.291840 ▶ [DEBU keybase log.go:30] 070 + SpecialKeyRing.Load(010159baae6c7d43c66adf8fb7bb2b8b4cbe408c062cfc369e693ccb18f85631dbcd0a)
16:15:39.291874 ▶ [DEBU keybase log.go:30] 071 - Merkle: server sig verified
16:15:39.291897 ▶ [DEBU keybase log.go:30] 072 - SpecialKeyRing.Load(010159baae6c7d43c66adf8fb7bb2b8b4cbe408c062cfc369e693ccb18f85631dbcd0a) -> hit inmem cache
16:15:39.292636 ▶ [DEBU keybase log.go:30] 073 + LevelDb.open
16:15:39.292743 ▶ [DEBU keybase log.go:30] 074 - LevelDb.open -> ok
16:15:39.295731 ▶ [DEBU keybase log.go:30] 075 | Merkle root: got back 341069, >= cached 341068
16:15:39.295893 ▶ [DEBU keybase log.go:30] 076 | VerifyUser
16:15:39.299673 ▶ [DEBU keybase log.go:30] 077 | VerifyUsername
16:15:39.299724 ▶ [DEBU keybase log.go:30] 079 - ParsingMerkleUserLeaf -> ok
16:15:39.299673 ▶ [DEBU keybase log.go:30] 078 + ParsingMerkleUserLeaf
16:15:39.300230 ▶ [DEBU keybase log.go:30] 07a | Failed to map Username kitchen -> UID 842e60cb606eea95739ba227533cb700 via direct hash
16:15:39.301024 ▶ [DEBU keybase log.go:30] 07b | No local user stored for 842e60cb606eea95739ba227533cb700
16:15:39.301055 ▶ [DEBU keybase log.go:30] 07c | Freshness: basics=false; for 842e60cb606eea95739ba227533cb700
16:15:39.301121 ▶ [DEBU keybase log.go:30] 07d | Username kitchen mapped to 842e60cb606eea95739ba227533cb700 via Merkle lookup
16:15:39.301134 ▶ [DEBU keybase log.go:30] 07e + Load User from server: 842e60cb606eea95739ba227533cb700
16:15:39.301179 ▶ [DEBU keybase log.go:30] 07f + API GET request to https://keybase.io/_/api/1.0/user/lookup.json?uid=842e60cb606eea95739ba227533cb700
16:15:39.301198 ▶ [DEBU keybase log.go:30] 080 - MerkleClient.LookupUser(map[uid:842e60cb606eea95739ba227533cb700 poll:10]) -> OK
16:15:41.018485 ▶ [DEBU keybase log.go:30] 081 | Result is: 200 OK
16:15:44.706954 ▶ [DEBU keybase log.go:30] 082 - successful API call
16:15:44.707130 ▶ [DEBU keybase log.go:30] 083 + ParseKeyFamily
16:15:44.756657 ▶ [DEBU keybase log.go:30] 084 - ParseKeyFamily -> ERROR: openpgp: invalid data: user ID packet not followed by self-signature
16:15:44.756699 ▶ [DEBU keybase log.go:30] 085 an error occurred during provisioning, logging out
16:15:44.756754 ▶ [DEBU keybase log.go:30] 086 + Login "logout"
16:15:44.756778 ▶ [DEBU keybase log.go:30] 087 + Loading session
16:15:44.756833 ▶ [DEBU keybase log.go:30] 088 - Skipped; already loaded
16:15:44.757084 ▶ [DEBU keybase log.go:30] 089 + API Post request to https://keybase.io/_/api/1.0/logout.json
16:15:46.266782 ▶ [DEBU keybase log.go:30] 08b - Logout notification sent
16:15:46.266859 ▶ [DEBU keybase log.go:30] 08c + invalidating session
16:15:46.266764 ▶ [DEBU keybase log.go:30] 08a + Sending logout notfication
16:15:46.266971 ▶ [DEBU keybase log.go:30] 08d - successful API call
16:15:46.266973 ▶ [DEBU keybase log.go:30] 08e | Result is: 200 OK
16:15:46.266993 ▶ [DEBU keybase log.go:30] 08f - session invalidated
16:15:46.267084 ▶ [DEBU keybase log.go:30] 090 + nuke file /Users/kitchen/Library/Caches/Keybase/session.json
16:15:46.268020 ▶ [DEBU keybase log.go:30] 091 - Account "LoginState - Shutdown"
16:15:46.268098 ▶ [DEBU keybase log.go:30] 093 - Login "logout"
16:15:46.268125 ▶ [DEBU keybase log.go:30] 094 + Account "LoginState - Shutdown"
16:15:46.268192 ▶ [DEBU keybase log.go:30] 095 clearing cached secret keys
16:15:46.268216 ▶ [DEBU keybase log.go:30] 096 + Aborting config rewrite /Users/kitchen/Library/Application Support/Keybase/config.json.NGJWBUCDOKR2MZI22YS6JLUM
16:15:46.268053 ▶ [DEBU keybase log.go:30] 092 - nuke file /Users/kitchen/Library/Caches/Keybase/session.json -> ok
16:15:46.268318 ▶ [DEBU keybase globals.go:238] 098 Calling shutdown first time through
16:15:46.268315 ▶ [DEBU keybase log.go:30] 097 - Abort -> <nil>
16:15:46.268370 ▶ [DEBU keybase login_state.go:887] 099 + Account "LoginState - Shutdown"
16:15:46.268390 ▶ [DEBU keybase log.go:30] 09a - RunEngine(LoginProvision) -> ERROR: openpgp: invalid data: user ID packet not followed by self-signature
16:15:46.268413 ▶ [DEBU keybase log.go:30] 09b - RunEngine(Login) -> ERROR: openpgp: invalid data: user ID packet not followed by self-signature
16:15:46.268441 ▶ [DEBU keybase login_state.go:889] 09c - Account "LoginState - Shutdown"
16:15:46.268646 ▶ [DEBU keybase globals.go:278] 09d exiting shutdown code=0; err=<nil>
16:15:46.268697 ▶ [ERRO keybase main.go:48] 09e openpgp: invalid data: user ID packet not followed by self-signature

The main thing I'm trying to do right now is roll my gpg key. I have the private key for my old key available here, and I'm moving to a new key which has an offline master. However I think before I can do any of the required steps for that I need to log in first :)

seanfarley commented 8 years ago

For what it's worth, I just hit this same bug. I was able to fix it by adding /opt/local/bin to the $HOME/Library/LaunchAgents/keybase.service.plist.

riffraff commented 8 years ago

FWIW, I have the same issue, running an old OSX, having installed keybase and gpg through macports. Option 4 does not show up. Doing the same as what @seanfarley suggested in https://github.com/keybase/keybase-issues/issues/1854#issuecomment-170700391 works fine, though not having any homebrew service, I restarted through

keybase launchd restart keybase.service

And I can now login again, run random commands and everything appears to work.

FWIW,

$ uname -a  
Darwin mecbucpro.local 13.4.0 Darwin Kernel Version 13.4.0: Wed Mar 18 16:20:14 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64 x86_64`)  and
$ keybase -v
keybase version 1.0.9-1
$ gpg --version
gpg (GnuPG) 1.4.19
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: ~/.gnupg
Algoritmi supportati:
A chiave pubblica: RSA, RSA-E, RSA-S, ELG-E, DSA
Cifrari: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
         CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compressione: Non compresso, ZIP, ZLIB, BZIP2
kitchen commented 8 years ago

This is still non-functional for me. Is there anything I can do to help troubleshoot this issue?

maxtaco commented 8 years ago

@kitchen we can try to trouble shoot, but you've given us almost no information. Some sort of log would be great. Maybe try a login and then issue keybase log send

arenzana commented 8 years ago

This works correctly for me now and I'd say we can close it.