Mercurial > hg > nnchat
comparison network.c @ 606:2cc5434a8ce0
Change proxy authentication handling.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 20 May 2014 04:34:23 +0300 |
parents | ad00f2bbb615 |
children | 019a54b07f60 |
comparison
equal
deleted
inserted
replaced
605:ad00f2bbb615 | 606:2cc5434a8ce0 |
---|---|
131 | 131 |
132 nn_conn_t * nn_conn_new( | 132 nn_conn_t * nn_conn_new( |
133 void (*errfunc)(nn_conn_t *conn, const char *msg), | 133 void (*errfunc)(nn_conn_t *conn, const char *msg), |
134 void (*msgfunc)(nn_conn_t *conn, const char *msg)) | 134 void (*msgfunc)(nn_conn_t *conn, const char *msg)) |
135 { | 135 { |
136 nn_conn_t *conn = th_calloc(1, sizeof(nn_conn_t)); | 136 nn_conn_t *conn = th_malloc0(sizeof(nn_conn_t)); |
137 | 137 |
138 if (conn == NULL) | 138 if (conn == NULL) |
139 return NULL; | 139 return NULL; |
140 | 140 |
141 conn->errfunc = errfunc; | 141 conn->errfunc = errfunc; |
158 return FALSE; | 158 return FALSE; |
159 } | 159 } |
160 } | 160 } |
161 | 161 |
162 | 162 |
163 int nn_conn_set_proxy(nn_conn_t *conn, int type, int port, const char *host, const char *userid, const char *passwd) | 163 int nn_conn_set_proxy(nn_conn_t *conn, int type, int port, const char *host, int auth_type) |
164 { | 164 { |
165 if (conn == NULL) | 165 if (conn == NULL) |
166 return -1; | 166 return -1; |
167 | 167 |
168 conn->proxy.type = type; | 168 conn->proxy.type = type; |
169 conn->proxy.port = port; | 169 conn->proxy.port = port; |
170 conn->proxy.auth_type = auth_type; | |
171 | |
172 th_free(conn->proxy.host); | |
170 conn->proxy.host = th_strdup(host); | 173 conn->proxy.host = th_strdup(host); |
171 conn->proxy.userid = th_strdup(userid); | |
172 conn->proxy.passwd = th_strdup(passwd); | |
173 | 174 |
174 if (host != NULL) | 175 if (host != NULL) |
175 { | 176 { |
176 conn->proxy.hst = nn_resolve_host(conn, host); | 177 conn->proxy.hst = nn_resolve_host(conn, host); |
177 nn_get_addr(&(conn->proxy.addr), conn->proxy.hst); | 178 nn_get_addr(&(conn->proxy.addr), conn->proxy.hst); |
178 } | 179 } |
179 else | 180 else |
180 return -2; | 181 return -2; |
182 | |
183 return 0; | |
184 } | |
185 | |
186 | |
187 int nn_conn_set_proxy_auth_user(nn_conn_t *conn, const char *userid, const char *passwd) | |
188 { | |
189 if (conn == NULL) | |
190 return -1; | |
191 | |
192 th_free(conn->proxy.userid); | |
193 conn->proxy.userid = th_strdup(userid); | |
194 th_free(conn->proxy.passwd); | |
195 conn->proxy.passwd = th_strdup(passwd); | |
181 | 196 |
182 return 0; | 197 return 0; |
183 } | 198 } |
184 | 199 |
185 | 200 |