@@ -22,10 +22,11 @@ */ #include #import +#import #import "XMPPConnection.h" #import "XMPPJID.h" #import "XMPPStanza.h" #import "XMPPIQ.h" @@ -133,10 +134,25 @@ [pres addPriority: 10]; [pres addStatus: @"ObjXMPP test is working!"]; [conn sendStanza: pres]; } + +- (void)connectionDidUpgradeToTLS: (XMPPConnection*)conn +{ + @try { + [conn checkCertificate]; + } @catch (SSLInvalidCertificateException *e) { + OFString *answer; + [of_stdout writeString: @"Couldn't verify certificate: "]; + [of_stdout writeFormat: @"%@\n", e]; + [of_stdout writeString: @"Do you want to continue [y/N]? "]; + answer = [of_stdin readLine]; + if (![answer hasPrefix: @"y"]) + @throw e; + } +} - (void)connection: (XMPPConnection*)conn didReceiveRosterItem: (XMPPRosterItem*)rosterItem { of_log(@"Got roster push: %@", rosterItem);