const gnutls_datum_t *cert_list;
unsigned int cert_list_size;
- if (argc != 5) {
+ if (argc != 5 && argc != 6) {
fprintf(stderr,
- "Usage: %s <ca-file> <hostname> <port> <hostname-verify>\n",
+ "Usage: %s <ca-file> <hostname> <port> <hostname-verify> "
+ "[<digest-authentication>]\n",
argv[0]);
return EXIT_FAILURE;
}
/* Talk to tlsproxy. */
fprintf(fd, "CONNECT %s:%s HTTP/1.0\r\n", argv[2], argv[3]);
+ if (argc == 6) {
+ fprintf(fd, "Proxy-Authorization: Basic %s\r\n", argv[5]);
+ }
fprintf(fd, "\r\n");
fflush(fd);
if (read_http_request(fd, buffer, sizeof(buffer)) == -1) {
server_socket = socket(server->ai_family,
server->ai_socktype,
server->ai_protocol);
- if (server_socket == -1) {
+ if (server_socket < 0) {
perror("connect_to_host(): socket(), trying next");
continue;
}
- if (connect(server_socket, server->ai_addr, server->ai_addrlen) != -1) {
+ if (connect(server_socket, server->ai_addr, server->ai_addrlen) == 0) {
break;
}
perror("connect_to_host(): connect(), trying next");
return -2;
}
- while (fgets(buffer, MAX_REQUEST_LINE, client_fd) != NULL) {
+ while (fgets(buffer, sizeof(buffer), client_fd) != NULL) {
/* End of header. */
if (!strcmp(buffer, "\n") || !strcmp(buffer, "\r\n")) {
break;