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