SA Bugzilla – Bug 4375
spamd not creating .spamassassin-per-user-directory
Last modified: 2005-06-02 22:37:30 UTC
I run spamd with the "-c" option, but it does not create the .spamassassin directory in the users home directory when it does not exist. Instead, it tries to write the user_prefs file to the non-existing directory, and produces an error that it can't do it. It appears that the only functions in spamd that contain the "mkdir $spam_conf_dir" are handle_user_setuid_with_sql and handle_user_setuid_with_ldap. What about when there is no sql/ldap and you're just using standard user home directories?
This seems very strange to me, since SA spamd has done exactly what it should "when there is no sql/ldap and you're just using standard user home directories" for years. I find it hard to believe that such activity broke in version 3.0.3. Can you attach a full copy of the log, showing the error stream? If you could recreate this with debugging on as well, and provide that log, that'd probably be even better.
Turning on debug revealed the real problem. The problem was that these users were over disk quota. I'm still not sure why the error in the log was: The errors were like this: 2005-06-02 08:50:47 [8877] i: Creating default_prefs [/cs/home/user/.spamassassin/user_prefs] 2005-06-02 08:50:47 [8877] i: Cannot write to /cs/home/user/.spamassassin/user_prefs: No such file or directory 2005-06-02 08:50:47 [8877] i: Couldn't create readable default_prefs for [/cs/home/user/.spamassassin/user_prefs] It might make sense for the standard log file to say that the directory is being created, and when it can't be created to show the reason why.