# $Id: README,v 1.3 2012/09/21 20:19:35 ksb Exp $ A tcpmux service that takes a relative path from /usr/msrc, chdirs there, reads a configuration file which must live in /usr/local/lib/hxmd/ (empty is "dmz.cf"), then runs mmsrc -lDHOST=peername -C /usr/local/lib/hxmd/$confg tar cf - to send a tar file of the configure directory. Example client usage: muxcat msrc.example.com msrc local/sbin/msrc dmz.cf | tar xf - Protocol: tcpmux reads a name the runs us ("msrc" or "msrcmux" or such), which exec's us msrcmux: <= "+directory\r\n" (or "+Go") msrcmux reads "local/bin/oue\r\n", checks that we can chdir to it (/usr/msrc/local/bin/oue). <= "+configuration\r\n" (or "+ok") msrcmux reads "dmz.cf\r\n", checks that it exists in hxmd's dir [ -f /usr/local/lib/hxmd/dmz.cf ] <= "+msrc -lDHOST=... tar -cf - .\r\n" (or "+msrc") <= tar output stream [EOF] Thus we can get the platform source to oue in a temp directory: $ TD=`mktemp -d /tmp/localXXXXXX` $ cd $TD $ muxcat msrc msrcmux local/bin/oue site.cf | tar xvf - See the pull to my home directory code in "msrc/opt/ksb/home/home.html". --ksb, Sep 2012