Navigation


Changeset 504:170bf61f79d9 in freeDiameter for contrib


Ignore:
Timestamp:
Aug 19, 2010, 3:47:51 PM (14 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Improve postinstall script

File:
1 edited

Legend:

Unmodified
Added
Removed
  • contrib/OpenWRT/packages/freeDiameter/Makefile

    r503 r504  
    100100        echo "LoadExtension = \"app_radgw.fdx\":\"rgw.conf\";" \
    101101                                                        >> $(1)/etc/freeDiameter/freeDiameter.conf
    102         echo "Identity = \"localhost.localdomain\";"    >> $(1)/etc/freeDiameter/freeDiameter.conf
     102        echo "## Add overrides bellow this point"       >> $(1)/etc/freeDiameter/freeDiameter.conf
    103103
    104104       
     
    121121define Package/freeDiameter/postinst
    122122#!/bin/sh
     123
     124# Test if the configuration file contains the local identity already
     125localid = `sed -n -r -e "s/^[[:space:]]*Identity[[:space:]]*=[[:space:]]*\"([^\"]*)\"[[:space:]]*;/\1/p" /etc/freeDiameter/freeDiameter.conf`
     126if [ -z "$localid" ]; then
     127   # Ask for the local name
     128   echo -n "Full name of your access point? (openwrt.localdomain) : "
     129   read localid
     130   if [ -z "$localid" ]; then
     131      localid="openwrt.localdomain"
     132   fi
     133   echo "Identity = \"$localid\";" >> /etc/freeDiameter/freeDiameter.conf
     134fi
     135
     136# Is there already a ConnectPeer directive?
     137grep -q -E -e "^[[:space:]]*ConnectPeer[[:space:]]*=" /etc/freeDiameter/freeDiameter.conf
     138if [ "$?" -eq "1"; then
     139   echo -n "Diameter Identity of your Diameter server: "
     140   read serverid
     141   if [ -z "$serverid" ]; then
     142      echo "Skipped. Please add ConnectPeer directive to your /etc/freeDiameter/freeDiameter.conf file later."
     143   else
     144      echo -n "IP or IPv6 address of your Diameter server? (leave blank for dynamic resolution) "
     145      read serverip
     146      connstr=""
     147      if [ -n "$serverip"] then
     148        connstr=" { ConnectTo = \"$serverip\"; }"
     149      fi
     150      echo "ConnectPeer = \"$serverid\"$connstr;" >> /etc/freeDiameter/freeDiameter.conf
     151   fi
     152fi
     153
     154# Certificate configuration   
    123155if [ ! -f "/usr/bin/certtool" ]; then
    124156   echo "certtool is not installed, skipping creation of default certificate."
     
    130162      certtool -p --outfile /etc/freeDiameter/freeDiameter.key
    131163   fi
    132    echo "Creating a new certificate for freeDiameter TLS layer, please enter the appropriate values for your access point"
    133    certtool -s --load-privkey /etc/freeDiameter/freeDiameter.key --outfile /etc/freeDiameter/freeDiameter.pem
     164   echo "Creating a new certificate for freeDiameter TLS layer"
     165   echo "organization = freeDiameter"           > /tmp/template.cnf
     166   echo "unit = OpenWRT"                        >>/tmp/template.cnf
     167   echo "state = internet"                      >>/tmp/template.cnf
     168   echo "country = net"                         >>/tmp/template.cnf
     169   echo "cn = $localid"                         >>/tmp/template.cnf
     170   echo "expiration_days = 3650                 >>/tmp/template.cnf
     171   echo "signing_key                            >>/tmp/template.cnf
     172   echo "encryption_key                         >>/tmp/template.cnf
     173   certtool -s --load-privkey /etc/freeDiameter/freeDiameter.key \
     174               --outfile /etc/freeDiameter/freeDiameter.pem \
     175               --template /tmp/template.cnf
     176   rm -f /tmp/template.cnf
     177   echo "Done."
     178   echo "To enable TLS communication, you should either:"
     179   echo "  - use a real certificate signed by your server's CA"
     180   echo "  - or, copy the two peers certificates in a ca.pem file and "
     181   echo "    add this file in freeDiameter configuration."
    134182fi
    135183endef
Note: See TracChangeset for help on using the changeset viewer.