{ "key_agreement_started", "Key agreement is already started with {nick $0}", 1, { 0 } },
{ "key_agreement_denied", "Key agreement cannot be started with yourself", 0 },
{ "pubkey_received", "Received {hilight $0} public key", 1, { 0 } },
+ { "pubkey_received_client", "Client {hilight $0} ($1 $2)", 3, { 0, 0, 0 } },
{ "pubkey_fingerprint", "Fingerprint and babbleprint for the {hilight $0} key are %: $1", 2, { 0, 0 } },
{ "pubkey_babbleprint", " $0", 1, { 0 } },
{ "pubkey_unsupported", "We don't support {hilight $0} public key type {hilight $1}", 2, { 0, 0 } },
{ "pubkey_maybe_expired", "It is possible that the key has expired or changed", 0 },
{ "pubkey_mitm_attack", "It is also possible that someone is performing a man-in-the-middle attack", 0 },
{ "pubkey_notkey", "Server did not return any public key", 0 },
- { "pubkey_verified", "Verified successfully $0 {hilight $1}'s cached public key", 2, { 0, 0 } },
+ { "pubkey_verified", "Verified successfully server {hilight $0} cached public key", 1, { 0 } },
+ { "pubkey_verified_client", "Verified successfully user {hilight $0}'s ($1 $2) cached public key", 3, { 0, 0, 0 } },
{ "pubkey_notverified", "Could not verify $0 {hilight $1}'s public key", 2, { 0, 0 } },
/* Misc messages */
char *name = (getkey->id_type == SILC_ID_CLIENT ?
((SilcClientEntry)getkey->entry)->nickname :
((SilcServerEntry)getkey->entry)->server_name);
+ SilcPublicKey public_key = (getkey->id_type == SILC_ID_CLIENT ?
+ ((SilcClientEntry)getkey->entry)->public_key :
+ ((SilcServerEntry)getkey->entry)->public_key);
+ SilcSILCPublicKey silc_pubkey;
+
+ silc_pubkey = silc_pkcs_get_context(SILC_PKCS_SILC, public_key);
if (success) {
- printformat_module("fe-common/silc", NULL, NULL,
- MSGLEVEL_CRAP, SILCTXT_PUBKEY_VERIFIED, entity, name);
+ if (getkey->id_type == SILC_ID_CLIENT)
+ printformat_module("fe-common/silc", NULL, NULL,
+ MSGLEVEL_CRAP, SILCTXT_PUBKEY_VERIFIED_CLIENT,
+ name,
+ silc_pubkey->identifier.realname ?
+ silc_pubkey->identifier.realname : "",
+ silc_pubkey->identifier.email ?
+ silc_pubkey->identifier.email : "");
+ else
+ printformat_module("fe-common/silc", NULL, NULL,
+ MSGLEVEL_CRAP, SILCTXT_PUBKEY_VERIFIED,
+ entity, name);
} else {
printformat_module("fe-common/silc", NULL, NULL,
MSGLEVEL_CRAP, SILCTXT_PUBKEY_NOTVERIFIED,
char file[256], filename[256], filename2[256], *ipf, *hostf = NULL;
char *fingerprint, *babbleprint, *format;
SilcPublicKey local_pubkey;
+ SilcSILCPublicKey silc_pubkey;
SilcUInt16 port;
const char *hostname, *ip;
unsigned char *pk;
return;
}
+ silc_pubkey = silc_pkcs_get_context(SILC_PKCS_SILC, public_key);
+
pw = getpwuid(getuid());
if (!pw) {
if (completion)
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
SILCTXT_PUBKEY_RECEIVED,verify->entity_name ?
verify->entity_name : entity);
+ if (conn_type == SILC_CONN_CLIENT && name &&
+ silc_pubkey->identifier.realname)
+ printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
+ SILCTXT_PUBKEY_RECEIVED_CLIENT, name,
+ silc_pubkey->identifier.realname,
+ silc_pubkey->identifier.email ?
+ silc_pubkey->identifier.email : "");
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
SILCTXT_PUBKEY_FINGERPRINT, entity, fingerprint);
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
SILCTXT_PUBKEY_RECEIVED,verify->entity_name ?
verify->entity_name : entity);
+ if (conn_type == SILC_CONN_CLIENT && name &&
+ silc_pubkey->identifier.realname)
+ printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
+ SILCTXT_PUBKEY_RECEIVED_CLIENT, name,
+ silc_pubkey->identifier.realname,
+ silc_pubkey->identifier.email ?
+ silc_pubkey->identifier.email : "");
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
SILCTXT_PUBKEY_FINGERPRINT, entity, fingerprint);
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
SILCTXT_PUBKEY_RECEIVED,verify->entity_name ?
verify->entity_name : entity);
+ if (conn_type == SILC_CONN_CLIENT && name &&
+ silc_pubkey->identifier.realname)
+ printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
+ SILCTXT_PUBKEY_RECEIVED_CLIENT, name,
+ silc_pubkey->identifier.realname,
+ silc_pubkey->identifier.email ?
+ silc_pubkey->identifier.email : "");
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
SILCTXT_PUBKEY_FINGERPRINT, entity, fingerprint);
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
SILCTXT_PUBKEY_RECEIVED,verify->entity_name ?
verify->entity_name : entity);
+ if (conn_type == SILC_CONN_CLIENT && name &&
+ silc_pubkey->identifier.realname)
+ printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
+ SILCTXT_PUBKEY_RECEIVED_CLIENT, name,
+ silc_pubkey->identifier.realname,
+ silc_pubkey->identifier.email ?
+ silc_pubkey->identifier.email : "");
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,
SILCTXT_PUBKEY_FINGERPRINT, entity, fingerprint);
printformat_module("fe-common/silc", NULL, NULL, MSGLEVEL_CRAP,