curb 0.6.2.0 → 0.6.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of curb might be problematic. Click here for more details.
- data/ext/curb.h +3 -3
- data/ext/curb_easy.c +29 -0
- data/ext/curb_errors.c +5 -0
- data/tests/tc_curl_easy.rb +9 -3
- metadata +1 -1
    
        data/ext/curb.h
    CHANGED
    
    | @@ -20,12 +20,12 @@ | |
| 20 20 | 
             
            #include "curb_macros.h"
         | 
| 21 21 |  | 
| 22 22 | 
             
            // These should be managed from the Rake 'release' task.
         | 
| 23 | 
            -
            #define CURB_VERSION   "0.6.2. | 
| 24 | 
            -
            #define CURB_VER_NUM    | 
| 23 | 
            +
            #define CURB_VERSION   "0.6.2.1"
         | 
| 24 | 
            +
            #define CURB_VER_NUM   621
         | 
| 25 25 | 
             
            #define CURB_VER_MAJ   0
         | 
| 26 26 | 
             
            #define CURB_VER_MIN   6
         | 
| 27 27 | 
             
            #define CURB_VER_MIC   2
         | 
| 28 | 
            -
            #define CURB_VER_PATCH  | 
| 28 | 
            +
            #define CURB_VER_PATCH 1
         | 
| 29 29 |  | 
| 30 30 |  | 
| 31 31 | 
             
            // Maybe not yet defined in Ruby
         | 
    
        data/ext/curb_easy.c
    CHANGED
    
    | @@ -143,8 +143,12 @@ void curl_easy_mark(ruby_curl_easy *rbce) { | |
| 143 143 | 
             
              rb_gc_mark(rbce->debug_proc);
         | 
| 144 144 | 
             
              rb_gc_mark(rbce->interface_hm);
         | 
| 145 145 | 
             
              rb_gc_mark(rbce->userpwd);
         | 
| 146 | 
            +
            #if HAVE_CURLOPT_USERNAME
         | 
| 146 147 | 
             
              rb_gc_mark(rbce->username);
         | 
| 148 | 
            +
            #endif
         | 
| 149 | 
            +
            #if HAVE_CURLOPT_PASSWORD
         | 
| 147 150 | 
             
              rb_gc_mark(rbce->password);
         | 
| 151 | 
            +
            #endif
         | 
| 148 152 | 
             
              rb_gc_mark(rbce->proxypwd);
         | 
| 149 153 | 
             
              rb_gc_mark(rbce->headers);
         | 
| 150 154 | 
             
              rb_gc_mark(rbce->cookies);
         | 
| @@ -214,8 +218,12 @@ static VALUE ruby_curl_easy_new(int argc, VALUE *argv, VALUE klass) { | |
| 214 218 | 
             
              rbce->debug_proc = Qnil;
         | 
| 215 219 | 
             
              rbce->interface_hm = Qnil;
         | 
| 216 220 | 
             
              rbce->userpwd = Qnil;
         | 
| 221 | 
            +
            #if HAVE_CURLOPT_USERNAME
         | 
| 217 222 | 
             
              rbce->username = Qnil;
         | 
| 223 | 
            +
            #endif
         | 
| 224 | 
            +
            #if HAVE_CURLOPT_PASSWORD
         | 
| 218 225 | 
             
              rbce->password = Qnil;
         | 
| 226 | 
            +
            #endif
         | 
| 219 227 | 
             
              rbce->proxypwd = Qnil;
         | 
| 220 228 | 
             
              rbce->headers = rb_hash_new();
         | 
| 221 229 | 
             
              rbce->cookies = Qnil;
         | 
| @@ -1096,20 +1104,37 @@ static VALUE ruby_curl_easy_ftp_response_timeout_get(VALUE self, VALUE ftp_respo | |
| 1096 1104 | 
             
              CURB_IMMED_GETTER(ruby_curl_easy, ftp_response_timeout, 0);
         | 
| 1097 1105 | 
             
            }
         | 
| 1098 1106 |  | 
| 1107 | 
            +
             | 
| 1099 1108 | 
             
            static VALUE ruby_curl_easy_username_set(VALUE self, VALUE username) {
         | 
| 1109 | 
            +
            #if HAVE_CURLOPT_USERNAME
         | 
| 1100 1110 | 
             
              CURB_OBJECT_SETTER(ruby_curl_easy, username);
         | 
| 1111 | 
            +
            #else
         | 
| 1112 | 
            +
              return Qnil;
         | 
| 1113 | 
            +
            #endif
         | 
| 1101 1114 | 
             
            }
         | 
| 1102 1115 |  | 
| 1103 1116 | 
             
            static VALUE ruby_curl_easy_username_get(VALUE self, VALUE username) {
         | 
| 1117 | 
            +
            #if HAVE_CURLOPT_USERNAME
         | 
| 1104 1118 | 
             
              CURB_OBJECT_GETTER(ruby_curl_easy, username);
         | 
| 1119 | 
            +
            #else
         | 
| 1120 | 
            +
              return Qnil;
         | 
| 1121 | 
            +
            #endif
         | 
| 1105 1122 | 
             
            }
         | 
| 1106 1123 |  | 
| 1107 1124 | 
             
            static VALUE ruby_curl_easy_password_set(VALUE self, VALUE password) {
         | 
| 1125 | 
            +
            #if HAVE_CURLOPT_PASSWORD
         | 
| 1108 1126 | 
             
              CURB_OBJECT_SETTER(ruby_curl_easy, password);
         | 
| 1127 | 
            +
            #else
         | 
| 1128 | 
            +
              return Qnil;
         | 
| 1129 | 
            +
            #endif
         | 
| 1109 1130 | 
             
            }
         | 
| 1110 1131 |  | 
| 1111 1132 | 
             
            static VALUE ruby_curl_easy_password_get(VALUE self, VALUE password) {
         | 
| 1133 | 
            +
            #if HAVE_CURLOPT_PASSWORD
         | 
| 1112 1134 | 
             
              CURB_OBJECT_GETTER(ruby_curl_easy, password);
         | 
| 1135 | 
            +
            #else
         | 
| 1136 | 
            +
              return Qnil;
         | 
| 1137 | 
            +
            #endif
         | 
| 1113 1138 | 
             
            }
         | 
| 1114 1139 |  | 
| 1115 1140 | 
             
            /* ================== BOOL ATTRS ===================*/
         | 
| @@ -1577,7 +1602,11 @@ VALUE ruby_curl_easy_setup( ruby_curl_easy *rbce, VALUE *body_buffer, VALUE *hea | |
| 1577 1602 |  | 
| 1578 1603 | 
             
              if (rbce->userpwd != Qnil) {
         | 
| 1579 1604 | 
             
                curl_easy_setopt(curl, CURLOPT_USERPWD, StringValuePtr(rbce->userpwd));
         | 
| 1605 | 
            +
            #if HAVE_CURLOPT_USERNAME
         | 
| 1580 1606 | 
             
              } else if (rbce->username == Qnil && rbce->password == Qnil) { /* don't set this even to NULL if we have set username and password */
         | 
| 1607 | 
            +
            #else
         | 
| 1608 | 
            +
              } else {
         | 
| 1609 | 
            +
            #endif
         | 
| 1581 1610 | 
             
                curl_easy_setopt(curl, CURLOPT_USERPWD, NULL);
         | 
| 1582 1611 | 
             
              }
         | 
| 1583 1612 |  | 
    
        data/ext/curb_errors.c
    CHANGED
    
    | @@ -23,6 +23,7 @@ VALUE eCurlErrTelnetError; | |
| 23 23 | 
             
            VALUE eCurlErrTFTPError;
         | 
| 24 24 |  | 
| 25 25 | 
             
            /* Specific libcurl errors */
         | 
| 26 | 
            +
            VALUE eCurlErrOK; /* not really an error but a return code */
         | 
| 26 27 | 
             
            VALUE eCurlErrUnsupportedProtocol;
         | 
| 27 28 | 
             
            VALUE eCurlErrFailedInit;
         | 
| 28 29 | 
             
            VALUE eCurlErrMalformedURL;
         | 
| @@ -127,6 +128,9 @@ VALUE rb_curl_easy_error(CURLcode code) { | |
| 127 128 | 
             
              VALUE results;
         | 
| 128 129 |  | 
| 129 130 | 
             
              switch (code) {
         | 
| 131 | 
            +
                case CURLE_OK:                      /* 0 */
         | 
| 132 | 
            +
                  exclz = eCurlErrOK;
         | 
| 133 | 
            +
                  break;
         | 
| 130 134 | 
             
                case CURLE_UNSUPPORTED_PROTOCOL:    /* 1 */
         | 
| 131 135 | 
             
                  exclz = eCurlErrUnsupportedProtocol;
         | 
| 132 136 | 
             
                  break;
         | 
| @@ -509,6 +513,7 @@ void init_curb_errors() { | |
| 509 513 | 
             
              eCurlErrTelnetError = rb_define_class_under(mCurlErr, "TelnetError", eCurlErrError);
         | 
| 510 514 | 
             
              eCurlErrTFTPError = rb_define_class_under(mCurlErr, "TFTPError", eCurlErrError);
         | 
| 511 515 |  | 
| 516 | 
            +
              eCurlErrOK = rb_define_class_under(mCurlErr, "CurlOK", eCurlErrError);
         | 
| 512 517 | 
             
              eCurlErrUnsupportedProtocol = rb_define_class_under(mCurlErr, "UnsupportedProtocolError", eCurlErrError);
         | 
| 513 518 | 
             
              eCurlErrFailedInit = rb_define_class_under(mCurlErr, "FailedInitError", eCurlErrError);
         | 
| 514 519 | 
             
              eCurlErrMalformedURL = rb_define_class_under(mCurlErr, "MalformedURLError", eCurlErrError);
         | 
    
        data/tests/tc_curl_easy.rb
    CHANGED
    
    | @@ -659,10 +659,13 @@ class TestCurbCurlEasy < Test::Unit::TestCase | |
| 659 659 | 
             
                curl = Curl::Easy.new(TestServlet.url)
         | 
| 660 660 | 
             
                curl.username = "foo"
         | 
| 661 661 | 
             
                curl.password = "bar"
         | 
| 662 | 
            -
                 | 
| 663 | 
            -
             | 
| 662 | 
            +
                if !curl.username.nil?
         | 
| 663 | 
            +
                  assert_equal "foo", curl.username
         | 
| 664 | 
            +
                  assert_equal "bar", curl.password
         | 
| 665 | 
            +
                else
         | 
| 666 | 
            +
                  curl.userpwd = "foo:bar"
         | 
| 667 | 
            +
                end
         | 
| 664 668 | 
             
                curl.http_auth_types = :basic
         | 
| 665 | 
            -
                #curl.userpwd = "foo:bar"
         | 
| 666 669 | 
             
                #curl.verbose = true
         | 
| 667 670 | 
             
                curl.perform
         | 
| 668 671 | 
             
                assert_equal 'Basic Zm9vOmJhcg==', $auth_header
         | 
| @@ -673,6 +676,9 @@ class TestCurbCurlEasy < Test::Unit::TestCase | |
| 673 676 | 
             
                curl = Curl::Easy.new(TestServlet.url)
         | 
| 674 677 | 
             
                curl.username = "foo"
         | 
| 675 678 | 
             
                curl.password = "bar"
         | 
| 679 | 
            +
                if curl.username.nil?
         | 
| 680 | 
            +
                  curl.userpwd = "foo:bar"
         | 
| 681 | 
            +
                end
         | 
| 676 682 | 
             
                curl.http_auth_types = :ntlm
         | 
| 677 683 | 
             
                curl.perform
         | 
| 678 684 | 
             
                assert_equal 'NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=', $auth_header
         |