Mercurial > hg > freeDiameter
comparison extensions/loadtest_cc/loadtest_cc.c @ 1371:d1c40627673c
loadtest_cc: randomize session ids
author | Thomas Klausner <tk@giga.or.at> |
---|---|
date | Mon, 10 Jun 2019 16:56:40 +0200 |
parents | 9294ed1c7ac8 |
children | 6b1a2405cebb |
comparison
equal
deleted
inserted
replaced
1370:643883ec68ef | 1371:d1c40627673c |
---|---|
141 struct msg *msg; | 141 struct msg *msg; |
142 struct avp *avp, *avp1; | 142 struct avp *avp, *avp1; |
143 union avp_value val; | 143 union avp_value val; |
144 struct msg_hdr *msg_hdr; | 144 struct msg_hdr *msg_hdr; |
145 const char *realm; | 145 const char *realm; |
146 const char *session_id = "fixed-session-id-for-now"; | 146 char session_id[800]; |
147 const char *service_context_id = "version2.clci.ipc@vodafone.com"; | 147 const char *service_context_id = "version2.clci.ipc@vodafone.com"; |
148 const char *proxy_host = "Dummy-Proxy-Host-to-Increase-Package-Size"; | 148 const char *proxy_host = "Dummy-Proxy-Host-to-Increase-Package-Size"; |
149 const char *proxy_state = "This is just date to increase the package size\nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; | 149 const char *proxy_state = "This is just data to increase the package size\nXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; |
150 | 150 |
151 if (fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND, CMD_BY_NAME, "Credit-Control-Request", &command, ENOENT) != 0) { | 151 if (fd_dict_search(fd_g_config->cnf_dict, DICT_COMMAND, CMD_BY_NAME, "Credit-Control-Request", &command, ENOENT) != 0) { |
152 fd_log_error("can't find template for 'Credit-Control-Request'"); | 152 fd_log_error("can't find template for 'Credit-Control-Request'"); |
153 return NULL; | 153 return NULL; |
154 } | 154 } |
202 return NULL; | 202 return NULL; |
203 } | 203 } |
204 fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp); | 204 fd_msg_avp_add(msg, MSG_BRW_LAST_CHILD, avp); |
205 | 205 |
206 /* Session-Id */ | 206 /* Session-Id */ |
207 snprintf(session_id, sizeof(session_id), "session %ld", random()); | |
207 fd_msg_avp_new(si_avp_do, 0, &avp); | 208 fd_msg_avp_new(si_avp_do, 0, &avp); |
208 memset(&val, 0, sizeof(val)); | 209 memset(&val, 0, sizeof(val)); |
209 val.os.data = (uint8_t *)session_id; | 210 val.os.data = (uint8_t *)session_id; |
210 val.os.len = strlen(session_id); | 211 val.os.len = strlen(session_id); |
211 if (fd_msg_avp_setvalue(avp, &val) != 0) { | 212 if (fd_msg_avp_setvalue(avp, &val) != 0) { |
325 /* entry hook: register callback */ | 326 /* entry hook: register callback */ |
326 static int cc_entry(char * conffile) | 327 static int cc_entry(char * conffile) |
327 { | 328 { |
328 struct disp_when data; | 329 struct disp_when data; |
329 | 330 |
331 /* initialize random number generator for session IDs */ | |
332 srandom(time(NULL) | (unsigned int)getpid()); | |
330 if ((target = conffile) == NULL) { | 333 if ((target = conffile) == NULL) { |
331 fd_log_error("invalid conffile"); | 334 fd_log_error("invalid conffile"); |
332 return EINVAL; | 335 return EINVAL; |
333 } | 336 } |
334 | 337 |