Lines Matching refs:ntlm
33 * https://davenport.sourceforge.net/ntlm.html
34 * https://www.innovation.ch/java/ntlm.html
50 #include "vauth/ntlm.h"
81 static void ntlm_wb_cleanup(struct ntlmdata *ntlm)
83 if(ntlm->ntlm_auth_hlpr_socket != CURL_SOCKET_BAD) {
84 sclose(ntlm->ntlm_auth_hlpr_socket);
85 ntlm->ntlm_auth_hlpr_socket = CURL_SOCKET_BAD;
88 if(ntlm->ntlm_auth_hlpr_pid) {
91 pid_t ret = waitpid(ntlm->ntlm_auth_hlpr_pid, NULL, WNOHANG);
92 if(ret == ntlm->ntlm_auth_hlpr_pid || errno == ECHILD)
96 kill(ntlm->ntlm_auth_hlpr_pid, SIGTERM);
104 kill(ntlm->ntlm_auth_hlpr_pid, SIGKILL);
110 ntlm->ntlm_auth_hlpr_pid = 0;
113 Curl_safefree(ntlm->challenge);
114 Curl_safefree(ntlm->response);
117 static CURLcode ntlm_wb_init(struct Curl_easy *data, struct ntlmdata *ntlm,
137 if(ntlm->ntlm_auth_hlpr_socket != CURL_SOCKET_BAD ||
138 ntlm->ntlm_auth_hlpr_pid)
248 ntlm->ntlm_auth_hlpr_socket = sockfds[0];
249 ntlm->ntlm_auth_hlpr_pid = child_pid;
263 static CURLcode ntlm_wb_response(struct Curl_easy *data, struct ntlmdata *ntlm,
273 ssize_t written = wakeup_write(ntlm->ntlm_auth_hlpr_socket, input, len_in);
287 wakeup_read(ntlm->ntlm_auth_hlpr_socket, buf, sizeof(buf));
324 ntlm->response = strdup(ptr + 3);
326 if(!ntlm->response)
339 struct ntlmdata *ntlm = proxy ? &conn->proxyntlm : &conn->ntlm;
352 ntlm->challenge = strdup(header);
353 if(!ntlm->challenge)
381 * This is for creating ntlm header output by delegating challenge/response
392 struct ntlmdata *ntlm;
405 ntlm = &conn->proxyntlm;
415 ntlm = &conn->ntlm;
432 * /devel.squid-cache.org/ntlm/squid_helper_protocol.html
442 res = ntlm_wb_init(data, ntlm, userp);
445 res = ntlm_wb_response(data, ntlm, "YR\n", *state);
452 ntlm->response);
454 Curl_safefree(ntlm->response);
460 char *input = aprintf("TT %s\n", ntlm->challenge);
463 res = ntlm_wb_response(data, ntlm, input, *state);
471 ntlm->response);
496 ntlm_wb_cleanup(&conn->ntlm);