[spambayes-dev] pop3proxy execution "rules" on Windows

Richie Hindle richie at entrian.com
Fri Sep 5 23:04:12 EDT 2003


[Mark]
> * pop3proxy etc data is stored in the per-user [..]
> 
> * pop3proxy_service will refuse to start unless it is configured to use a
>   specific user name.
> 
> * The application will create a mutex named somehting like
> "SpamBayesProxy-{username}".

With you so far.  Looks like you're shaping up to allow multiple instances
of the server, all running as different users, with optionally one of them
being a service.  But then:

> * For the sake of simplicity all round, pop3proxy_normal (ie, the "normal"
> executable, whatever it is) will refuse to start if the service is already
> running on the current machine, even if it is running as a different user.

...which I don't understand - what makes the "normal" executable so
different from the service, if the service is running as a user...?  And
then:

> If you want one machine to support multiple users concurrently running
> pop3proxy, you can't use the service.

That sounds like it contradicts the first three points, which seemed to be
carefully insulating different users from each other.  Why should the fact
that someone else is using it one way preclude me from using it another
way?  (I assume only one user can run a Windows service at once, and if
that's a restriction of Windows then fair enough.)

> I suspect this will not be a problem,
> as people who want to run the service will tend to have exclusive access to
> the machine.

Yes, but can they be sure that all other users have logged off?  I've
never worked anywhere that implemented hot desking, but I imagine XP's
"fast user switching" capability leads to people being lazy about logging
out - just hit Standby and then whoever comes to the machine next will log
on and use it.  It's not great for system resource usage, but when you
next come along, all your applications (and services, I assume) are still
running - very convenient.

> (Note the tray icon app could still start in this case, which
> could control the service - just never a proxy)

[Where "in this case" means "where a service is running as any user", I
assume]  Again, I don't see why you're differentiating between services
and normal user processes.  Say I share a machine with Johnny Lazy, who
never bothers logging out, and I download Spambayes (possibly even through
his recommendation) and try to run it, I'll be annoyed if it says "Someone
else is running the Spambayes service, so you can't run it as a normal
application, even with a different data directory and on different ports."

I'm not saying that your proposed restrictions are outrageously
unacceptable, just that I can't figure out the reasons behind them.  If
every user has their own data area and uses their own ports, what
difference does it make whether they're running as a service or an
application?

> Does that make sense?

Mostly yes, mostly.  8-)

-- 
Richie Hindle
richie at entrian.com




More information about the spambayes-dev mailing list