library/DNS_Helpers: add f_enc_IPv4

Used by upcoming D-GSM test, to pass the IP of the emulated GSUP server.
The code is based on f_enc_dns_hostname() in the same file.

Related: OS#4380
Change-Id: I8a5450988711680c93cfd657a34db759a56bc41e
This commit is contained in:
Oliver Smith 2020-01-29 14:58:21 +01:00 committed by laforge
parent 07786da45b
commit d5696eb56e
1 changed files with 23 additions and 0 deletions

View File

@ -70,4 +70,27 @@ function f_dec_dns_hostname(octetstring inp) return charstring {
}
function f_enc_IPv4(charstring str) return octetstring {
var octetstring ret := ''O;
while (lengthof(str) > 0) {
var integer dot_idx;
var charstring num;
dot_idx := f_strchr(str, ".");
if (dot_idx >= 0) {
/* there is another dot */
num := substr(str, 0, dot_idx);
str := substr(str, dot_idx+1, lengthof(str)-dot_idx-1);
} else {
/* no more dot */
num := str;
str := "";
}
ret := ret & int2oct(str2int(num), 1);
}
return ret;
}
}