58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
}
@try {
username = [[OFString alloc] initWithCString: node];
} @finally {
free(node);
}
[old release];
}
- (void)setServer: (OFString*)server_
{
OFString *old = server;
char *srv;
Stringprep_rc rc;
if ((rc = stringprep_profile([server_ cString], &srv, "Nameprep", 0))
!= STRINGPREP_OK) {
of_log(@"Nameprep failed: %s", stringprep_strerror(rc));
assert(0);
}
@try {
server = [[OFString alloc] initWithCString: srv];
} @finally {
free(srv);
}
[old release];
}
- (void)setPassword: (OFString*)password_
{
OFString *old = password;
char *pass;
Stringprep_rc rc;
if ((rc = stringprep_profile([password_ cString], &pass, "SASLprep", 0))
!= STRINGPREP_OK) {
of_log(@"SASLprep failed: %s", stringprep_strerror(rc));
assert(0);
}
@try {
password = [[OFString alloc] initWithCString: pass];
} @finally {
free(pass);
}
[old release];
}
- (void)_startStream
{
[sock writeFormat: @"<?xml version='1.0'?>\n"
|