Avoid generating zero-length packets

I used the construct like f_rnd_octstring(f_rnd_int(100)) in a number
of places to generate random-length packets with randomized length.

The problem I didn't realize is that f_rnd_int() of course can also
return '0', which would generate zero-length packets.  This may be
permitted in some protocols, but it leads to problems e.g. when trying
to send a UDP packet of zero length (which the kernel will not do).

So let's introduce
* f_rnd_int_nonzero() for returning non-zero randomized integers
* f_rnd_octstring_rnd_len() for returning a random-length random payload
  octet string
* replace all f_rnd_octstring(f_rnd_int()) call sites with the new
  function.

Change-Id: I818a113ff8d2a2f7cab2ec7d9c8661607c6331d6
Closes: OS#5528
diff --git a/pcap-client/OPCAP_CLIENT_Tests.ttcn b/pcap-client/OPCAP_CLIENT_Tests.ttcn
index e9fe406..1efc343 100644
--- a/pcap-client/OPCAP_CLIENT_Tests.ttcn
+++ b/pcap-client/OPCAP_CLIENT_Tests.ttcn
@@ -144,7 +144,7 @@
 		var octetstring udp_payload;
 
 		/* we assume 1400 is low enough to avoid IP fragmentation */
-		udp_payload := f_rnd_octstring(f_rnd_int(1400));
+		udp_payload := f_rnd_octstring_rnd_len(1400);
 		f_trafic_pkt_ab(udp_payload);
 
 		f_opcap_exp_udp(udp_payload, 0);
@@ -173,7 +173,7 @@
 		var octetstring udp_payload;
 
 		/* we assume 1400 is low enough to avoid IP fragmentation */
-		udp_payload := f_rnd_octstring(f_rnd_int(1400));
+		udp_payload := f_rnd_octstring_rnd_len(1400);
 		f_trafic_pkt_ab(udp_payload);
 
 		/* expect packet to arrive on both simulated servers */