]> ruderich.org/simon Gitweb - tlsproxy/tlsproxy.git/blobdiff - tests/client.c
Check library functions for success values.
[tlsproxy/tlsproxy.git] / tests / client.c
index 9bb23f392ab2831a896dc859d5fc76b9d05c6acc..2b7fb07465c41c05bc12992e5a5a751d08cb0949 100644 (file)
@@ -53,9 +53,10 @@ int main (int argc, char *argv[]) {
     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;
     }
@@ -82,6 +83,9 @@ int main (int argc, char *argv[]) {
 
     /* 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) {
@@ -200,12 +204,12 @@ static int connect_to_host(const char *hostname, const char *port) {
         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");
@@ -235,7 +239,7 @@ static int read_http_request(FILE *client_fd, char *request, size_t length) {
         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;