projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
updates.
[silc.git]
/
apps
/
silc
/
clientconfig.c
diff --git
a/apps/silc/clientconfig.c
b/apps/silc/clientconfig.c
index 94ddb7f04943f2e1e5c864ba8c9d09f04c4f69af..1e85aa4f2150e490f7a8604d1a331f86ca7307c5 100644
(file)
--- a/
apps/silc/clientconfig.c
+++ b/
apps/silc/clientconfig.c
@@
-272,28
+272,28
@@
int silc_client_config_parse_lines(SilcClientConfig config,
if (ret < 0)
break;
if (ret < 0)
break;
- /* Get
block
length */
+ /* Get
key
length */
ret = silc_config_get_token(line, &tmp);
if (ret < 0)
break;
if (ret == 0) {
ret = silc_config_get_token(line, &tmp);
if (ret < 0)
break;
if (ret == 0) {
- fprintf(stderr, "%s:%d: Cipher
block
length not defined\n",
+ fprintf(stderr, "%s:%d: Cipher
key
length not defined\n",
config->filename, pc->linenum);
break;
}
config->filename, pc->linenum);
break;
}
- config->cipher->
block
_len = atoi(tmp);
+ config->cipher->
key
_len = atoi(tmp);
silc_free(tmp);
silc_free(tmp);
- /* Get
key
length */
+ /* Get
block
length */
ret = silc_config_get_token(line, &tmp);
if (ret < 0)
break;
if (ret == 0) {
ret = silc_config_get_token(line, &tmp);
if (ret < 0)
break;
if (ret == 0) {
- fprintf(stderr, "%s:%d: Cipher
key
length not defined\n",
+ fprintf(stderr, "%s:%d: Cipher
block
length not defined\n",
config->filename, pc->linenum);
break;
}
config->filename, pc->linenum);
break;
}
- config->cipher->
key
_len = atoi(tmp);
+ config->cipher->
block
_len = atoi(tmp);
silc_free(tmp);
check = TRUE;
silc_free(tmp);
check = TRUE;
@@
-554,6
+554,7
@@
void silc_client_config_register_ciphers(SilcClientConfig config)
/* Load (try at least) the crypto SIM module */
SilcCipherObject cipher;
SilcSimContext *sim;
/* Load (try at least) the crypto SIM module */
SilcCipherObject cipher;
SilcSimContext *sim;
+ char *alg_name;
memset(&cipher, 0, sizeof(cipher));
cipher.name = alg->alg_name;
memset(&cipher, 0, sizeof(cipher));
cipher.name = alg->alg_name;
@@
-564,25
+565,29
@@
void silc_client_config_register_ciphers(SilcClientConfig config)
sim->type = SILC_SIM_CIPHER;
sim->libname = alg->sim_name;
sim->type = SILC_SIM_CIPHER;
sim->libname = alg->sim_name;
+ alg_name = strdup(alg->alg_name);
+ if (strchr(alg_name, '-'))
+ *strchr(alg_name, '-') = '\0';
+
if ((silc_sim_load(sim))) {
cipher.set_key =
if ((silc_sim_load(sim))) {
cipher.set_key =
- silc_sim_getsym(sim, silc_sim_symname(alg
->alg
_name,
+ silc_sim_getsym(sim, silc_sim_symname(alg_name,
SILC_CIPHER_SIM_SET_KEY));
SILC_LOG_DEBUG(("set_key=%p", cipher.set_key));
cipher.set_key_with_string =
SILC_CIPHER_SIM_SET_KEY));
SILC_LOG_DEBUG(("set_key=%p", cipher.set_key));
cipher.set_key_with_string =
- silc_sim_getsym(sim, silc_sim_symname(alg
->alg
_name,
+ silc_sim_getsym(sim, silc_sim_symname(alg_name,
SILC_CIPHER_SIM_SET_KEY_WITH_STRING));
SILC_LOG_DEBUG(("set_key_with_string=%p", cipher.set_key_with_string));
cipher.encrypt =
SILC_CIPHER_SIM_SET_KEY_WITH_STRING));
SILC_LOG_DEBUG(("set_key_with_string=%p", cipher.set_key_with_string));
cipher.encrypt =
- silc_sim_getsym(sim, silc_sim_symname(alg
->alg
_name,
+ silc_sim_getsym(sim, silc_sim_symname(alg_name,
SILC_CIPHER_SIM_ENCRYPT_CBC));
SILC_LOG_DEBUG(("encrypt_cbc=%p", cipher.encrypt));
cipher.decrypt =
SILC_CIPHER_SIM_ENCRYPT_CBC));
SILC_LOG_DEBUG(("encrypt_cbc=%p", cipher.encrypt));
cipher.decrypt =
- silc_sim_getsym(sim, silc_sim_symname(alg
->alg
_name,
+ silc_sim_getsym(sim, silc_sim_symname(alg_name,
SILC_CIPHER_SIM_DECRYPT_CBC));
SILC_LOG_DEBUG(("decrypt_cbc=%p", cipher.decrypt));
cipher.context_len =
SILC_CIPHER_SIM_DECRYPT_CBC));
SILC_LOG_DEBUG(("decrypt_cbc=%p", cipher.decrypt));
cipher.context_len =
- silc_sim_getsym(sim, silc_sim_symname(alg
->alg
_name,
+ silc_sim_getsym(sim, silc_sim_symname(alg_name,
SILC_CIPHER_SIM_CONTEXT_LEN));
SILC_LOG_DEBUG(("context_len=%p", cipher.context_len));
SILC_CIPHER_SIM_CONTEXT_LEN));
SILC_LOG_DEBUG(("context_len=%p", cipher.context_len));
@@
-592,6
+597,8
@@
void silc_client_config_register_ciphers(SilcClientConfig config)
(app->sim_count + 1));
app->sim[app->sim_count] = sim;
app->sim_count++;
(app->sim_count + 1));
app->sim[app->sim_count] = sim;
app->sim_count++;
+
+ silc_free(alg_name);
} else {
SILC_LOG_ERROR(("Error configuring ciphers"));
silc_client_stop(client);
} else {
SILC_LOG_ERROR(("Error configuring ciphers"));
silc_client_stop(client);