Monday, June 14, 2010

ugh

So in the process of migrating CAINE's forums from lulzbb to SMF, I realized my server needs sendmail so I can fully test things out.

No problem, installed postfix.  Configured it, but it refuses to start.  Thus begins my trek of confusion.
root@invincimonk:~# postfix check
postfix: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
So I check in pacman, and sure enough I'm running an old version of OpenSSL.  So I upgrade OpenSSL to 1.0.0.  Problem fixed, right?
root@invincimonk:~# postfix check
postfix: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
WTF?  Now it's looking for the version I had installed previously?  Make up your fucking mind.  And yes, it still refuses to start.  It would be nice if it would, say, put something in /var/log to tell me exactly what the fuck is fucking up.

My next course of action was to see if pacman has an option for allowing there to be two different versions of a package installed concurrently, but if it has it, the man page certainly doesn't mention "concurrent versions" anywhere.  Plus, when OpenSSL is updated, it's probably for security reasons, and 1.0.0 is likely more secure than 0.9.8, so I shouldn't really have two different versions installed concurrently anyway.

ArchLinux's wiki page for setting up postfix only covers setting it up to be the backend for a webmail frontend.  It says nothing about setting it up so that I can use PHP's mail() function to send mail.  That's all I care about.  My server isn't out on the internet somewhere, it's on my local network.  Nobody's using it but me.  I don't plan on using postfix for massive mail sending, I just need it so that SMF can send some emails so I can see how exactly the process works.  I'd much rather test it here in a controlled environment where if it doesn't work it only inconveniences me rather than testing it live when I do the migration and potentially inconveniencing every single one of the forums' members.

The reason I originally wanted it to be able to send email was so I could test the "forgot my password?" process to see what exactly it's like.  An issue that popped up during migration is that SMF and lulzbb hash their passwords differently, resulting in the passwords not being transferable from the lulzbb database to the SMF one.  So I figured I'd just stick a dummy string in the password hash field, which would essentially force everyone (including myself) to change their passwords.  I just realized that I don't really need to do that.  Instead, I can write a simple PHP login script that asks for the old lulzbb login info and fixes the hash in the database if the specified login/password info matches.

So this ends up not really being an issue, but FUCK is it still annoying.  Plus I might want my server to be able to send email for other purposes later on down the road.

Edit: Actually, with OpenSSL 1.0.0 installed, pacman now refuses to do anything.  FFFFFFFFFFFFFFUUUUUUUUUUU-

Edit 2: I can't even downgrade to 0.9.8 using the package in the package cache.

Edit 3: and trying to use the bad solution (symlinking the 0.9.8 version to the 1.0.0 version) reveals that there's multiple packages I need to move back to 0.9.8...  FFFFFFFFFFFFFFFFFFUUUUUUUUUUUU-

Edit 4: I really like ArchLinux, but unless they can keep random package upgrades from breaking the system, I really don't know what to do.

Edit 5: well, by symlinking libssl.so.0.9.8 and libcrypto.so.0.9.8 to libssl.so.1.0.0 and libcrypto.so.1.0.0, respectively, pacman gladly let me remove postfix and downgrade OpenSSL back to 0.9.8.  Ugly solution, but at least I can use pacman again.  And hey, the downgrade process removed the symlinks I had to make, so it cleaned itself up.

No comments:

Post a Comment

I moderate comments because when Blogger originally implemented a spam filter it wouldn't work without comment moderation enabled. So if your comment doesn't show up right away, that would be why.