[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Usernames with dots in...
> Unlikely but true. For various reasons I want usernames of the form
> xxx.yyy. The trouble is that zmailer 2.99.15/16 get upset because they try
> to map that to a realname and if that fails then to a newsgroup. By
> lightly hacking rrouter.cf in an obvious way I have got it to work but I
> was wondering if there was a better way to do it.
Real accounts with dots in them ? Huh..
> In particular, is there any obvious way to check the validity of a local
> user? After all, it seems that quite often in the router cf files the
> default delivery is to try to deliver to a local user without checking if
> that user exists. Then the local delivery agent checks and fails the
> delivery rather than doing it in the router which seems like the obvious
> place.
Basically to do it we just need to query system for a lookup
of given user account, however if the database comes over NIS
or some such, and we try to optimize by keeping db access files
open all the time, it becomes somewhat erratic in my experience.
.. and the original system did not do it anyway .. (legacy..)
By looking into router sources, getpwnam() library function is
used in two routines that provide data to script functions:
login2uid username
homedirectory username
The login2uid has its own internal cache, which may cause some
unexpected problems (at least it is where I placed the blame on
some such problems a few years back - and I haven't re-checked
since..)
I might do it like this:
dummy=$(homedirectory "$user") || return (((error nosuchuser ...)))
Actual test:
------------------------------------------
z$ dummy=$(homedirectory foofoofoo) || echo no such user
no such user
z$ dummy=$(homedirectory mea) || echo no such user
z$
------------------------------------------
Actually to think about it, perhaps before the ".forward"
checkup is done, lookup for account existence can be done
with that same routine, AND the result be saved as a base
for latter checkup of ~user/.forward.. Yes, it should be
trivial.
> Any thoughts from anyone?
> Simon Brock.
/Matti Aarnio <mea@nic.funet.fi> <mea@utu.fi>