Test alternate name and wildcard certs. + fix get_suite

This commit is contained in:
Guillaume Beraudo 2013-07-16 14:16:44 +02:00
parent d37169c73f
commit 119d05ef8a
8 changed files with 223 additions and 12 deletions

View file

@ -784,9 +784,6 @@ AM_CONDITIONAL([BUILD_CUNIT_TESTS], [test x$found_cunit = xyes && test x$tests_e
if test "$found_cunit" = "no" ; then
AC_MSG_WARN([Could not find cunit framework, tests are not compiled.])
else
AC_CHECK_LIB(cunit,CU_get_suite,[
AC_DEFINE(HAVE_CU_GET_SUITE,1,[defined when CU_get_suite is available])
],[foo=bar],[$CUNIT_LIBS])
AC_CHECK_LIB(cunit,CU_curses_run_tests,[
AC_DEFINE(HAVE_CU_CURSES,1,[defined when CU_curses_run_tests is available])
],[foo=bar],[$CUNIT_LIBS])

@ -1 +1 @@
Subproject commit 0bf7097dfee8ebaaf75b5b18517348397dc6536a
Subproject commit 43b68b22cf8d0d1b0b5a064516d35899e5527358

2
oRTP

@ -1 +1 @@
Subproject commit 49b16793b9ef8251a4c42434b57387c6e3c6d251
Subproject commit 7c2805c2e2c1edadf9e9efe313d98f06c4c3614a

View file

@ -34,3 +34,104 @@ uAXrftoKrsvTysRU7Lr+N5W9FPoWqBh35Kx5SnRN3LYf0OIaJ5hufC8v+SOIJ6Me
QpKMlMY05Fz7R2aXkSS3Ie1GUJNKnWmos2uRFIMgIpFpr2VAZqVlsjC6J7SKIdGw
JvmtefxJrjl8Tpzw5uRNC58=
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAxx5TlbzfmfCneIzofE09/4lr+hQk2ihrBAgZi+kVto5o/oW8
xtvUfek6dOcF8lK6Ss6AvTQH/4SrK8Ico72eOaxTXjBxpdZuEvftmowawUqvr8DV
dwsleFcp7pmdNarG6WxW9d690ixE4TKpvSYAzoVv2z/0PxjGLNTALcfav8tCvjEv
804Pw4NuSmW6wjw+kRKTz/l4wYNlVXsAXt30xAuELkbHEVmcFBL5Al4CsgwF0su3
oA8/IYE+eOIFu6ANZa8h2t9yHZSDlAwhe0yPRt0NDzp3RbsaG0oPudkmP3ithTJz
5Pmf7Oq46Ko2Wk3GfxykaoYpvjBTahkWOUoFowIDAQABAoIBABMZ/qy7rLuo0XgI
FHlwM4VjGn+oFQz0maeOW10HpDSaHspj7AMrrYvSpu/2BaUEeKiafNEpv6ashHsz
KOowU5B2zpyXix98nZymOh38WMi4MHhsyE2ePR75RaWFCQbP9jsIUKNPlegmpQjx
gkUJ80PcmyluTjELYF+GnVUG+h4x5y2RiUiQr+zTUXGTBDny3jKdtMrmctqkG9hQ
cgIV/RG+CaFGxdkTShHEAhpd+g0DIivHZctwrF7Q1WFJBj3zChe223a6JdF2ke4c
Rr79PkHkCWGwv6Rp/95XUnQKJ8/FPTNtFoGzR6bhKmWqh3q2qfZKRKtXw2LBwFJp
f8U5++kCgYEA8ieuaVqKmCZwm/WRWeimG+UHs+EtHLgmj18ylD1jKQaRetSDcZ4m
6ounfrxyBL7DBDym/CeWbq9OI9cQB2RGLK3To6vj1UbRQ6tKiRzDq933sYZoEcTs
kBzexW8oUsclAvqYbqEjxEoEQrgHTWvjuHYiTrNlOAo+eL0VV6trZMUCgYEA0oC8
40I8quYILtlkSYT3+iMRX4Vy1BzzMOkzRrA9jFoJZIxcOnWitJWmfBcXgOckt9ka
XchsxOcYbNa9CuI7YKrJ5SNP9cjxcxsd/gieQXcN3J/nebFwlsQFN1e8mZIZj7ik
nDf+r0lyuighDR7dLjR00a39csLCx6dH0amb90cCgYB+9jEqya7q0RSvoJQh2Knm
7DEardASQ7br6tTBBmKMKwZxqSR1mJ780FX0S+dX95CWExrWEAd+ZumIPwUHaxqj
6EuTf9cHhobHfPKqautonAt3B2pfDqmdcZWXXI1+wSz1n9/1+QSgsNIFDSm+/Pc7
Sqz4KHTEahKRCUo8WgMHpQKBgQCXeFdy2Bi7iKbev0Mwu+OMNGut5mLISsSbr1Jc
TTkcozUbCvzafAdGFmEj7aHV+X0sZaZZUX0i+n9S4fpJuJytZHe+z/gbjipff2XH
hAAMb1SkKtPvd0Ti185BEnr9rmmCR4T7fDdhfmJ1naaawFi7hLeCocY8K/TooXBG
Z9t4xQKBgQDCqZ5Gumy+pvyUqLXtgrCmWlbr03ONBKb9n662thWeBWpCKb2e0RUA
oxTZvVsTQz88Ageoh55QHIe85//iT2wDtjUFcc80aoWDDhQuwxnu7jtEyj1wytl9
SIsjG4JDTK1tBAVZFxyS5sMLZ2nonzynAyHPN0j1UCHF2T2Hk7/vEQ==
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIEFzCCA4CgAwIBAgIBAzANBgkqhkiG9w0BAQUFADCBuzELMAkGA1UEBhMCRlIx
EzARBgNVBAgMClNvbWUtU3RhdGUxETAPBgNVBAcMCEdyZW5vYmxlMSIwIAYDVQQK
DBlCZWxsZWRvbm5lIENvbW11bmljYXRpb25zMQwwCgYDVQQLDANMQUIxFjAUBgNV
BAMMDUplaGFuIE1vbm5pZXIxOjA4BgkqhkiG9w0BCQEWK2plaGFuLm1vbm5pZXJA
YmVsbGVkb25uZS1jb21tdW5pY2F0aW9ucy5jb20wHhcNMTMwNzE1MTQzNDQ3WhcN
MTYwNzE0MTQzNDQ3WjCBnTELMAkGA1UEBhMCRlIxDzANBgNVBAgMBkZyYW5jZTEi
MCAGA1UECgwZQmVsbGVkb25uZSBDb21tdW5pY2F0aW9uczEMMAoGA1UECwwDTEFC
MRUwEwYDVQQDDAx1c2VsZXNzLm5hbWUxNDAyBgkqhkiG9w0BCQEWJWNvbnRhY3RA
YmVsbGVkb25uZS1jb21tdW5pY2F0aW9ucy5jb20wggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQDHHlOVvN+Z8Kd4jOh8TT3/iWv6FCTaKGsECBmL6RW2jmj+
hbzG29R96Tp05wXyUrpKzoC9NAf/hKsrwhyjvZ45rFNeMHGl1m4S9+2ajBrBSq+v
wNV3CyV4VynumZ01qsbpbFb13r3SLEThMqm9JgDOhW/bP/Q/GMYs1MAtx9q/y0K+
MS/zTg/Dg25KZbrCPD6REpPP+XjBg2VVewBe3fTEC4QuRscRWZwUEvkCXgKyDAXS
y7egDz8hgT544gW7oA1lryHa33IdlIOUDCF7TI9G3Q0POndFuxobSg+52SY/eK2F
MnPk+Z/s6rjoqjZaTcZ/HKRqhim+MFNqGRY5SgWjAgMBAAGjgcIwgb8wCQYDVR0T
BAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNh
dGUwHQYDVR0OBBYEFFTLqxYKaMQ+dgVPEwvjWt0QWh2uMB8GA1UdIwQYMBaAFAZf
XccWr2L4LW5xA4ig1h0rBH+6MAsGA1UdDwQEAwIF4DA3BgNVHREEMDAughVhbHRu
YW1lMS5saW5waG9uZS5vcmeCFWFsdG5hbWUyLmxpbnBob25lLm9yZzANBgkqhkiG
9w0BAQUFAAOBgQBZ8yk7MMp+wyiEH/4HF/MTobAmNJxgnVGvz3lnGGNXCrE9hJiA
xNdh0jfQfLMVJN5MtkpcM6Md9wowXkIMakpDIiTwnl+ve6GPOypZv2TXrm68sYid
SXlvHqN5G12HMUP577NNQxgpod6+d0jW6oPYWx1a7kCa8hOlKTRvajMyjQ==
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAxGYHUVdxtkJCtFbaFd31aflHq7px9Yz/QhJUuivf30UNfgwT
k7n8UQG4G7F+LXno04uNR0B4mPPLRcfibLCKzDgMwHKReqnwtS35r2Pvfva3vvdB
ZOA7HkFIEpcp8R8XxK3Lcmcn1yYAravYKawM6QwkQv1FdM0TeRNTXXSqc4/Ty1Sd
WjoJxyEbGb8N44MRIfi6fePYlpKKI7/nQ8Y+E1f87OhOcBV+33b0hBXDLBY9XqsR
7JaZDpwlMBRsTTFU6+ApF4q4RmGFoACA2ZO4GkE8OdIbRLhPa8DPVzfo52sJhmSM
gPw8JN3TRYxbmEF+KhVejdmGxtAKNEBzEwbnwwIDAQABAoIBAQCbhdP7pMxGMLhT
yIcQU+C4F4+avJzrfsjP0GZJut6gFjV2ACgsjlXw6/SX8XjimCw4AMVSjAozzLLG
Ql/aA/8VcrkeWFs9kH8tagfTzMZlewfMcE3XjP0jmzxwhEXRS/btZ1a49FkHNW/K
F0+oyDa9AUFhzuAGezMVaKlWU0F7GiGciGWRTUqt9CxtbagVdCo6Oilo1pEVpf8S
aEM0Eyl7VnkjPBWZ/wZwEhetvrFl/Wb0k31d0TkmcNpIGHd+nAbBhoJkZ0MISC64
TmJaDW982xIV30FlGmm/tKGO4a5xTEwlw5E3k8ReubLGS8RkHLXNZKmxQK5fA1BJ
mcwa5ue5AoGBAOg40SDdLYzL8fpASBVXi15s3muAOODO9hVGzIUp/2OVxQ6SGK2P
tEI2UJwjKJtgVHgs/dN4uHhmYN+n6DPOWMt0x7UigFlskr0qjKfAEfi1hb6S1ZPR
hCWPe1NnOMKkNnasMVETkfS7FKxQ4DfhU+I0geXfKXCY7HZZRz/4Fg+XAoGBANiC
LlCzeTzkdY1+Es1MyBApyZCHWUK1aJbHhA5BYr+aojIl9t/962ioBcFQ3j4krq4x
OcQqcbu7lUSR/YdDSLkRxMH7AEfbKwwJUa4NrxAjSRkvbWVyNVGLa5B9eXj9zS3Q
AV23BKwjuWOmSCg70EsxeSyKEwvdvdrGfKWMfW61AoGAIC5PfNhpyYsxu1ZRJvP8
0lcP86HPQAguPgCTsxiA1dIZfs1sMhEqD8rrHNgadn3A9u51NmsSVU0Ku7PPD+7W
i0thqY5gbwQGycQtvcl2NBsjr6c1hciRIYtiscoqKX8MNSHjq7KklV+fm8mRaO0G
7OAN6EcmvP3UNwpkP08n730CgYEAhtcM4VXle/cM/0I1k4buUqKz1j91aAZzTPSV
Wgt+5LX5riHWz0nlAxkh/HPQ9gMCh5pAz9tfWfxJyprhuww8joZydB1O33GwLZ7g
L/Z1wSc4r2bKSxQGAPND2olKzf/DeXTCZQtG7a6SF23IIsadwzbcsNCNbCZ9x3M2
ziPhOsECgYB9BU7vYn5LMTtA7FIx+Fv//aepoBT/+pC8AUCA7EX5vEIf3cxEwesm
CkHknaKWlxhlK379OKQryYrUsRxjxwFd0DNK5tT+jx6m8VVKe1Bz/8uYZDNCtJr0
zoqngR61r5jCYZLYcggcTimVoHMJXxcdsReBX8P7u3JNU2CulGvX7w==
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIID6DCCA1GgAwIBAgIBBDANBgkqhkiG9w0BAQUFADCBuzELMAkGA1UEBhMCRlIx
EzARBgNVBAgMClNvbWUtU3RhdGUxETAPBgNVBAcMCEdyZW5vYmxlMSIwIAYDVQQK
DBlCZWxsZWRvbm5lIENvbW11bmljYXRpb25zMQwwCgYDVQQLDANMQUIxFjAUBgNV
BAMMDUplaGFuIE1vbm5pZXIxOjA4BgkqhkiG9w0BCQEWK2plaGFuLm1vbm5pZXJA
YmVsbGVkb25uZS1jb21tdW5pY2F0aW9ucy5jb20wHhcNMTMwNzE1MTQ0MDM4WhcN
MTYwNzE0MTQ0MDM4WjCBpzELMAkGA1UEBhMCRlIxDzANBgNVBAgMBkZyYW5jZTEi
MCAGA1UECgwZQmVsbGVkb25uZSBDb21tdW5pY2F0aW9uczEMMAoGA1UECwwDTEFC
MR8wHQYDVQQDDBYqLndpbGRjYXJkLmxpbnBob25lLmZyMTQwMgYJKoZIhvcNAQkB
FiVjb250YWN0QGJlbGxlZG9ubmUtY29tbXVuaWNhdGlvbnMuY29tMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxGYHUVdxtkJCtFbaFd31aflHq7px9Yz/
QhJUuivf30UNfgwTk7n8UQG4G7F+LXno04uNR0B4mPPLRcfibLCKzDgMwHKReqnw
tS35r2Pvfva3vvdBZOA7HkFIEpcp8R8XxK3Lcmcn1yYAravYKawM6QwkQv1FdM0T
eRNTXXSqc4/Ty1SdWjoJxyEbGb8N44MRIfi6fePYlpKKI7/nQ8Y+E1f87OhOcBV+
33b0hBXDLBY9XqsR7JaZDpwlMBRsTTFU6+ApF4q4RmGFoACA2ZO4GkE8OdIbRLhP
a8DPVzfo52sJhmSMgPw8JN3TRYxbmEF+KhVejdmGxtAKNEBzEwbnwwIDAQABo4GJ
MIGGMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVk
IENlcnRpZmljYXRlMB0GA1UdDgQWBBRJAgxmoZo5VCDjeR/tR5XZtE2NtzAfBgNV
HSMEGDAWgBQGX13HFq9i+C1ucQOIoNYdKwR/ujALBgNVHQ8EBAMCBeAwDQYJKoZI
hvcNAQEFBQADgYEAXxtgbwO3/ilkEx3jW8wlBN4dg++EBCsw0RkhhiNyWLwF7OOf
xttppVNF4HW3xiOAs7FUSIgiNwHd+j8N3LpJxBpd7ePSaKy/U1EWoj38u8q5Q1gU
d3Lu+D0XaQvZyVW7xoYwTLa9CmRItow4GIkExoUhyrurbOmJ/3q9/SRGWF8=
-----END CERTIFICATE-----

View file

@ -179,7 +179,6 @@ LinphoneCoreManager* linphone_core_manager_new2(const char* rc_file, int check_f
int proxy_count=check_for_proxies?(rc_file?1:0):0;
int retry=0;
memset(mgr,0,sizeof(LinphoneCoreManager));
mgr->v_table.registration_state_changed=registration_state_changed;
mgr->v_table.auth_info_requested=auth_info_requested;
mgr->v_table.call_state_changed=call_state_changed;
@ -334,18 +333,17 @@ int liblinphone_tester_run_tests(const char *suite_name, const char *test_name)
run_test_suite(test_suite[i]);
}
#if HAVE_CU_GET_SUITE
if (suite_name){
CU_pSuite suite;
CU_basic_set_mode(CU_BRM_VERBOSE);
suite=CU_get_suite(suite_name);
suite=CU_get_suite_by_name(suite_name, CU_get_registry());
if (test_name) {
CU_pTest test=CU_get_test_by_name(test_name, suite);
CU_basic_run_test(suite, test);
CU_ErrorCode err= CU_basic_run_test(suite, test);
if (err != CUE_SUCCESS) ms_error("CU_basic_run_test error %d", err);
} else
CU_basic_run_suite(suite);
} else
#endif
{
#if HAVE_CU_CURSES
if (curses) {
@ -413,10 +411,8 @@ void helper(const char *name) {
"\t\t\t--config <config path>\n"
"\t\t\t--domain <test sip domain>\n"
"\t\t\t--auth-domain <test auth domain>\n"
#if HAVE_CU_GET_SUITE
"\t\t\t--suite <suite name>\n"
"\t\t\t--test <test name>\n"
#endif
#if HAVE_CU_CURSES
"\t\t\t--curses\n"
#endif

42
tester/pauline_alt_rc Normal file
View file

@ -0,0 +1,42 @@
[sip]
sip_port=5072
sip_tcp_port=5072
sip_tls_port=5073
default_proxy=0
ping_with_options=0
register_only_when_network_is_up=0
[auth_info_0]
username=pauline
userid=pauline
passwd=secret
realm="altname2.linphone.org"
[proxy_0]
reg_proxy=sip2.linphone.org;transport=tls
reg_route=sip2.linphone.org;transport=tls
reg_identity=sip:pauline@altname2.linphone.org
reg_expires=3600
reg_sendregister=1
publish=0
dial_escape_plus=0
[rtp]
audio_rtp_port=8090
video_rtp_port=8092
[video]
display=0
capture=0
show_local=0
size=vga
enabled=0
self_view=0
automatically_initiate=0
automatically_accept=0
device=StaticImage: Static picture
[sound]
echocancellation=0 #to not overload cpu in case of VG

42
tester/pauline_wild_rc Normal file
View file

@ -0,0 +1,42 @@
[sip]
sip_port=5072
sip_tcp_port=5072
sip_tls_port=5073
default_proxy=0
ping_with_options=0
register_only_when_network_is_up=0
[auth_info_0]
username=pauline
userid=pauline
passwd=secret
realm="sip.wildcard.linphone.org"
[proxy_0]
reg_proxy=sip2.linphone.org;transport=tls
reg_route=sip2.linphone.org;transport=tls
reg_identity=sip:pauline@sip.wildcard.linphone.org
reg_expires=3600
reg_sendregister=1
publish=0
dial_escape_plus=0
[rtp]
audio_rtp_port=8090
video_rtp_port=8092
[video]
display=0
capture=0
show_local=0
size=vga
enabled=0
self_view=0
automatically_initiate=0
automatically_accept=0
device=StaticImage: Static picture
[sound]
echocancellation=0 #to not overload cpu in case of VG

View file

@ -204,6 +204,7 @@ static void simple_tls_register(){
linphone_core_manager_destroy(lcm);
}
static void simple_authenticated_register(){
stats* counters;
LinphoneCoreManager* lcm = create_lcm();
@ -464,11 +465,43 @@ static void tls_with_non_tls_server(){
linphone_core_manager_destroy(mgr);
}
static void tls_alt_name_register(){
LinphoneCoreManager* mgr;
LinphoneCore *lc;
char rootcapath[256];
mgr=linphone_core_manager_new2("pauline_alt_rc",FALSE);
lc=mgr->lc;
snprintf(rootcapath,sizeof(rootcapath), "%s/certificates/cacert.pem", liblinphone_tester_file_prefix);
linphone_core_set_root_ca(mgr->lc,rootcapath);
linphone_core_refresh_registers(mgr->lc);
CU_ASSERT_TRUE(wait_for(lc,lc,&mgr->stat.number_of_LinphoneRegistrationOk,1));
CU_ASSERT_EQUAL(mgr->stat.number_of_LinphoneRegistrationFailed,0);
linphone_core_destroy(mgr->lc);
}
static void tls_wildcard_register(){
LinphoneCoreManager* mgr;
LinphoneCore *lc;
char rootcapath[256];
mgr=linphone_core_manager_new2("pauline_wild_rc",FALSE);
lc=mgr->lc;
snprintf(rootcapath,sizeof(rootcapath), "%s/certificates/cacert.pem", liblinphone_tester_file_prefix);
linphone_core_set_root_ca(mgr->lc,rootcapath);
linphone_core_refresh_registers(mgr->lc);
CU_ASSERT_TRUE(wait_for(lc,lc,&mgr->stat.number_of_LinphoneRegistrationOk,1));
CU_ASSERT_EQUAL(mgr->stat.number_of_LinphoneRegistrationFailed,0);
linphone_core_destroy(mgr->lc);
}
test_t register_tests[] = {
{ "Simple register", simple_register },
{ "TCP register", simple_tcp_register },
{ "TCP register compatibility mode", simple_tcp_register_compatibility_mode },
{ "TLS register", simple_tls_register },
{ "TLS register with alt. name certificate", tls_alt_name_register },
{ "TLS register with wildcard certificate", tls_wildcard_register },
{ "TLS certificate not verified",tls_certificate_failure},
{ "TLS with non tls server",tls_with_non_tls_server},
{ "Simple authenticated register", simple_authenticated_register },