The Village Idiot Rides again!

Roger Merchberger <[email protected]> Wed, 26 Mar 2003 18:01:28 -0500
Newsgroups gmane.mail.bikini.devel
Message-ID <[email protected]>
--=====================_35444140==_
Content-Type: text/plain; charset="us-ascii"; format=flowed

Awrighty, folks...

I've finally had a chance again to tinker with Bikini for a couple hours, 
and I've created a diff for the documentation that I felt was lacking -- 
but I'm afraid that I still don't understand it quite enough to fix the dox 
the way they should...

I have a few questions about a) how bikini runs and b) how the install docs 
relate to the operation...

1) Does the bikini server run as root, or does it suid itself to the logged 
in user after the authentication? I didn't know if there should be a 
seperate bikini user that runs the server; but I changed the README (diff 
attached) to create a bikini user for the purpose of logging, anyway.

2) The docs say to create a mailstore in the /tmp/bikini/... directory - 
but the server says it finds the mailstore relative to the user's home 
directory -- no user I know of has a $HOME in /tmp...

3) I created a ./supervise subdirectory and added a ./supervise/log/run 
script - it's generic enough that it should run on most tcpserver-based 
machines -- tho I'll go thru it again, just in case, when I install it on 
my webserver.

4) I set up bikini, got it to run the server, but I can't get it to 
authenticate -- in the /service/bikini/run script, there's a call to 
/usr/local/bin/checkpassword  <<-- is this just a placeholder, or does DJBs 
checkpassword actually integrate fully with bikini? If so, should any 
checkpassword work? I put my checkpassword in there, but this is what it said:

=-=-=-=-=-=-=-=-=-=

[root@mail site-packages]# telnet 127.0.0.1 5555
Trying 127.0.0.1...
Connected to mail.30below.com (127.0.0.1).
Escape character is '^]'.
AUTH LOGIN em1lcmNoAABpZG93YW5uYQ==
+cGFzc3dvcmQ6
CAPS
Connection closed by foreign host.

=-=-=-=-=-=-=-=-=-=

My checkpassword doesn't understand SASL, it authenticates from a 
postgresql database -- but if it's DJBcompatible, it shouldn't matter, 
should it?

Here's my /service/bikini/run script =-=-=-=-=

[root@mail supervise]# more service-run.sh
#!/bin/sh
concurrency="10"
# set ulimits/softlimits if you like

MAILPATH="./Mail/"      # Path to user's mail store *relative to user's 
homedir*
INBOX="inbox"           # What is the user's inbox?  Relative to the above but
                        # also see README.

exec tcpserver -c "$concurrency" -v -R \
  127.0.0.1 5555 \
  /usr/bin/python2.2 /usr/lib/python2.2/site-packages/bikini/serverauth.py \
    "$MAILPATH" "$INBOX" /usr/local/bin/zchkpasswd.pl /bin/true \
  2>&1

=-=-=-=-=

and my /service/bikini/log/run script: =-=-=-=

[root@mail supervise]# more log/run
#!/bin/sh

BIKINIUSER="bikini"
BIKINILOG="/var/log/bikini"

LOGSIZE="4000000"
LOGNUM="80"

exec /usr/local/bin/setuidgid $BIKINIUSER \
     /usr/local/bin/multilog t s$LOGSIZE n$LOGNUM $BIKINILOG

=-=-=-=-=

BTW, I'm into chapter 5 of my Programming Python book, but either I'm a bit 
thick or it assumes some basic python programming experience -- they sure 
drop you in the deep end & hope you swim... it might take 2 reads to get 
more comfortable with it...

Laterz,
Roger "Merch" Merchberger

--
Roger "Merch" Merchberger -- sysadmin, Iceberg Computers
[email protected]

What do you do when Life gives you lemons,
and you don't *like* lemonade?????????????
--=====================_35444140==_--