# HG changeset patch # User Sebastien Decugis # Date 1371697888 -28800 # Node ID 8608085d7b0d9706e26852259468a4a0d79c2ba1 # Parent 992437a90bdaabd49de5f3a4888ffe9104c594da Add notice about running the DTLS tests diff -r 992437a90bda -r 8608085d7b0d doc/DTLS.testbed.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/DTLS.testbed.txt Thu Jun 20 11:11:28 2013 +0800 @@ -0,0 +1,79 @@ +# Provide the path to your GnuTLS 3.x implementation +GNUTLS_3_INC_PATH=/home/thedoc/sources/gnutls-latest/lib/includes +GNUTLS_3_LIB_PATH=/home/thedoc/sources/gnutls-latest/lib/.libs/ + + +# (re)create the folder for the binaries +rm -rf test.build +mkdir test.build +cd test.build + +# Generate certificates for the test. +bash ../doc/single_host/make_certs.sh + + +# Configure freeDiameter to use specific GNU TLS version (adapt path) +cmake .. -DGNUTLS_INCLUDE_DIR:PATH=$GNUTLS_3_INC_PATH \ + -DGNUTLS_LIBRARY:FILEPATH=$GNUTLS_3_LIB_PATH/libgnutls.so \ + -DBUILD_TEST_APP:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Debug + +# Build freeDiameter +make + + +# Create the configuration files for the DTLS test + + +## freeDiameter.conf for the first peer +cat > freeDiameter-1.conf << EOF +Identity = "peer1.localdomain"; +Realm = "localdomain"; +Port=0; +No_TCP; +TLS_Cred = "peer1.cert.pem", + "peer1.key.pem"; +TLS_CA = "cacert.pem"; +LoadExtension="extensions/test_app.fdx":"test_app.conf"; +ConnectPeer = "peer2.localdomain" { ConnectTo = "127.0.0.1"; port = 50658; }; +EOF + +## test_app extension configuration +cat > test_app.conf << EOF +long-avp-id=12345; +long-avp-len=20000; +mixedsizes; +EOF + +## freeDiameter.conf for the second peer +cat > freeDiameter-2.conf << EOF +Identity = "peer2.localdomain"; +Realm = "localdomain"; +Port=0; +SecPort=50658; +No_TCP; +TLS_Cred = "peer2.cert.pem", + "peer2.key.pem"; +TLS_CA = "cacert.pem"; +LoadExtension="extensions/test_app.fdx":"test_app.conf"; +ConnectPeer = "peer1.localdomain" { ConnectTo = "127.0.0.1"; port = 5658; }; +EOF + + + +# Run the two instances with these configuration files (in two different terminals): +./freeDiameterd/freeDiameterd -c freeDiameter-1.conf +./freeDiameterd/freeDiameterd -c freeDiameter-2.conf + +# once both instances are running, they will connect and exchange a few DWR/DWA messages periodically. +# You can trigger additional exchanges by sending signal 10 to one of those instances. +# You can adjust the length of the payload exchanged by editing the "long-avp-len" parameter in file test_app.conf. +kill -10 `ps --no-heading -C freeDiameterd -o '%p'` + + +# You can activate the GNUTLS traces using: +./freeDiameterd/freeDiameterd -c freeDiameter-1.conf --dbg_gnutls 8 + +# You can also activate the libfdcore/sctp_dtls.c traces using: +./freeDiameterd/freeDiameterd -dd -c freeDiameter-1.conf --dbg_file sctp_dtls.c --dbg_gnutls 8 +./freeDiameterd/freeDiameterd -dd -c freeDiameter-2.conf --dbg_file sctp_dtls.c --dbg_gnutls 8 +