use python2 explicitly for f31
[plcrt.git] / plcrt.init
index bd66b59..e6db40d 100644 (file)
@@ -17,6 +17,12 @@ local_config=/etc/planetlab/configs/site.xml
 
 PLCRTPATH=/usr/share/plcrt
 
+function gethostbyaddr ()
+{
+    python -c 'import socket; import sys; print socket.gethostbyaddr(sys.argv[1])[0]' $1 2>/dev/null
+}
+
+
 # Be verbose
 set -x
 
@@ -216,23 +222,30 @@ check_rt_sendmail ()
                # copy to live configuration
                cp -f $tmp_sendmailmc /etc/mail/sendmail.mc
                rm -f $tmp_sendmailmc
+       fi
 
-               # edit /etc/mail/access to add local IP
-               if ! grep "$PLC_RT_IP" /etc/mail/access ; then
-                       echo "$PLC_RT_IP                RELAY" >> /etc/mail/access
-                       makemap hash /etc/mail/access.db < /etc/mail/access
-               fi
-               if [ !  -f /etc/smrsh/rt-mailgate ] ; then
-                       ln -s /usr/sbin/rt-mailgate /etc/smrsh/rt-mailgate
-               fi
-               if ! grep "$PLC_RT_HOST" /etc/mail/local-host-names ; then
-                       # edit /etc/mail/local-host-names
-                       echo "$PLC_RT_HOST" >> /etc/mail/local-host-names
-               fi
-               m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
-               service sendmail restart
+       # edit /etc/mail/access to add local IP
+       if ! grep "$PLC_RT_IP" /etc/mail/access ; then
+               echo "$PLC_RT_IP                RELAY" >> /etc/mail/access
+               makemap hash /etc/mail/access.db < /etc/mail/access
+       fi
+
+       if [ !  -f /etc/smrsh/rt-mailgate ] ; then
+               ln -s /usr/sbin/rt-mailgate /etc/smrsh/rt-mailgate
        fi
 
+       # TODO: fix this to only append the hostnaen once, rather than appending
+       if ! grep "$PLC_RT_HOST" /etc/mail/local-host-names ; then
+               # edit /etc/mail/local-host-names
+               echo "$PLC_RT_HOST" >> /etc/mail/local-host-names
+               IP=$( gethostbyname $PLC_RT_HOST )
+               REVHOST=$( gethostbyaddr $IP )
+               if [ -n "$REVHOST" ] ; then 
+                   echo "$REVHOST" >> /etc/mail/local-host-names
+               fi
+       fi
+       m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
+       service sendmail restart
 
 }