| Index: srtp/test/rtpw_test_gcm.sh
|
| ===================================================================
|
| --- srtp/test/rtpw_test_gcm.sh (revision 0)
|
| +++ srtp/test/rtpw_test_gcm.sh (working copy)
|
| @@ -0,0 +1,237 @@
|
| +#!/bin/sh
|
| +#
|
| +# usage: rtpw_test <rtpw_commands>
|
| +#
|
| +# tests the rtpw sender and receiver functions
|
| +#
|
| +# Copyright (c) 2001-2006, Cisco Systems, Inc.
|
| +# All rights reserved.
|
| +#
|
| +# Redistribution and use in source and binary forms, with or without
|
| +# modification, are permitted provided that the following conditions
|
| +# are met:
|
| +#
|
| +# Redistributions of source code must retain the above copyright
|
| +# notice, this list of conditions and the following disclaimer.
|
| +#
|
| +# Redistributions in binary form must reproduce the above
|
| +# copyright notice, this list of conditions and the following
|
| +# disclaimer in the documentation and/or other materials provided
|
| +# with the distribution.
|
| +#
|
| +# Neither the name of the Cisco Systems, Inc. nor the names of its
|
| +# contributors may be used to endorse or promote products derived
|
| +# from this software without specific prior written permission.
|
| +#
|
| +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
| +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
| +# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
| +# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
| +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
| +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
| +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
| +# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
| +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
| +# OF THE POSSIBILITY OF SUCH DAMAGE.
|
| +#
|
| +
|
| +RTPW=./rtpw
|
| +DEST_PORT=9999
|
| +DURATION=3
|
| +
|
| +# First, we run "killall" to get rid of all existing rtpw processes.
|
| +# This step also enables this script to clean up after itself; if this
|
| +# script is interrupted after the rtpw processes are started but before
|
| +# they are killed, those processes will linger. Re-running the script
|
| +# will get rid of them.
|
| +
|
| +killall rtpw 2>/dev/null
|
| +
|
| +if test -x $RTPW; then
|
| +
|
| +GCMARGS128="-k 01234567890123456789012345678901234567890123456789012345 -g -e 128"
|
| +echo $0 ": starting GCM mode 128-bit rtpw receiver process... "
|
| +
|
| +exec $RTPW $* $GCMARGS128 -r 127.0.0.1 $DEST_PORT &
|
| +
|
| +receiver_pid=$!
|
| +
|
| +echo $0 ": receiver PID = $receiver_pid"
|
| +
|
| +sleep 1
|
| +
|
| +# verify that the background job is running
|
| +ps | grep -q $receiver_pid
|
| +retval=$?
|
| +echo $retval
|
| +if [ $retval != 0 ]; then
|
| + echo $0 ": error"
|
| + exit 254
|
| +fi
|
| +
|
| +echo $0 ": starting GCM 128-bit rtpw sender process..."
|
| +
|
| +exec $RTPW $* $GCMARGS128 -s 127.0.0.1 $DEST_PORT &
|
| +
|
| +sender_pid=$!
|
| +
|
| +echo $0 ": sender PID = $sender_pid"
|
| +
|
| +# verify that the background job is running
|
| +ps | grep -q $sender_pid
|
| +retval=$?
|
| +echo $retval
|
| +if [ $retval != 0 ]; then
|
| + echo $0 ": error"
|
| + exit 255
|
| +fi
|
| +
|
| +sleep $DURATION
|
| +
|
| +kill $receiver_pid
|
| +kill $sender_pid
|
| +
|
| +GCMARGS128="-k 01234567890123456789012345678901234567890123456789012345 -g -t 16 -e 128"
|
| +echo $0 ": starting GCM mode 128-bit (16 byte tag) rtpw receiver process... "
|
| +
|
| +exec $RTPW $* $GCMARGS128 -r 127.0.0.1 $DEST_PORT &
|
| +
|
| +receiver_pid=$!
|
| +
|
| +echo $0 ": receiver PID = $receiver_pid"
|
| +
|
| +sleep 1
|
| +
|
| +# verify that the background job is running
|
| +ps | grep -q $receiver_pid
|
| +retval=$?
|
| +echo $retval
|
| +if [ $retval != 0 ]; then
|
| + echo $0 ": error"
|
| + exit 254
|
| +fi
|
| +
|
| +echo $0 ": starting GCM 128-bit (16 byte tag) rtpw sender process..."
|
| +
|
| +exec $RTPW $* $GCMARGS128 -s 127.0.0.1 $DEST_PORT &
|
| +
|
| +sender_pid=$!
|
| +
|
| +echo $0 ": sender PID = $sender_pid"
|
| +
|
| +# verify that the background job is running
|
| +ps | grep -q $sender_pid
|
| +retval=$?
|
| +echo $retval
|
| +if [ $retval != 0 ]; then
|
| + echo $0 ": error"
|
| + exit 255
|
| +fi
|
| +
|
| +sleep $DURATION
|
| +
|
| +kill $receiver_pid
|
| +kill $sender_pid
|
| +
|
| +
|
| +
|
| +GCMARGS256="-k 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 -g -e 256"
|
| +echo $0 ": starting GCM mode 256-bit rtpw receiver process... "
|
| +
|
| +exec $RTPW $* $GCMARGS256 -r 127.0.0.1 $DEST_PORT &
|
| +
|
| +receiver_pid=$!
|
| +
|
| +echo $0 ": receiver PID = $receiver_pid"
|
| +
|
| +sleep 1
|
| +
|
| +# verify that the background job is running
|
| +ps | grep -q $receiver_pid
|
| +retval=$?
|
| +echo $retval
|
| +if [ $retval != 0 ]; then
|
| + echo $0 ": error"
|
| + exit 254
|
| +fi
|
| +
|
| +echo $0 ": starting GCM 256-bit rtpw sender process..."
|
| +
|
| +exec $RTPW $* $GCMARGS256 -s 127.0.0.1 $DEST_PORT &
|
| +
|
| +sender_pid=$!
|
| +
|
| +echo $0 ": sender PID = $sender_pid"
|
| +
|
| +# verify that the background job is running
|
| +ps | grep -q $sender_pid
|
| +retval=$?
|
| +echo $retval
|
| +if [ $retval != 0 ]; then
|
| + echo $0 ": error"
|
| + exit 255
|
| +fi
|
| +
|
| +sleep $DURATION
|
| +
|
| +kill $receiver_pid
|
| +kill $sender_pid
|
| +
|
| +
|
| +GCMARGS256="-k a123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 -g -t 16 -e 256"
|
| +echo $0 ": starting GCM mode 256-bit (16 byte tag) rtpw receiver process... "
|
| +
|
| +exec $RTPW $* $GCMARGS256 -r 127.0.0.1 $DEST_PORT &
|
| +
|
| +receiver_pid=$!
|
| +
|
| +echo $0 ": receiver PID = $receiver_pid"
|
| +
|
| +sleep 1
|
| +
|
| +# verify that the background job is running
|
| +ps | grep -q $receiver_pid
|
| +retval=$?
|
| +echo $retval
|
| +if [ $retval != 0 ]; then
|
| + echo $0 ": error"
|
| + exit 254
|
| +fi
|
| +
|
| +echo $0 ": starting GCM 256-bit (16 byte tag) rtpw sender process..."
|
| +
|
| +exec $RTPW $* $GCMARGS256 -s 127.0.0.1 $DEST_PORT &
|
| +
|
| +sender_pid=$!
|
| +
|
| +echo $0 ": sender PID = $sender_pid"
|
| +
|
| +# verify that the background job is running
|
| +ps | grep -q $sender_pid
|
| +retval=$?
|
| +echo $retval
|
| +if [ $retval != 0 ]; then
|
| + echo $0 ": error"
|
| + exit 255
|
| +fi
|
| +
|
| +sleep $DURATION
|
| +
|
| +kill $receiver_pid
|
| +kill $sender_pid
|
| +
|
| +
|
| +echo $0 ": done (test passed)"
|
| +
|
| +else
|
| +
|
| +echo "error: can't find executable" $RTPW
|
| +exit 1
|
| +
|
| +fi
|
| +
|
| +# EOF
|
| +
|
| +
|
|
|
| Property changes on: srtp/test/rtpw_test_gcm.sh
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| ## -0,0 +1 ##
|
| +LF
|
| \ No newline at end of property
|
| Added: svn:executable
|
| ## -0,0 +1 ##
|
| +*
|
| \ No newline at end of property
|
|
|