Skip to content
  • Patrick Monnerat's avatar
    mime: clone mime tree upon easy handle duplication. · e44ddfd4
    Patrick Monnerat authored
    A mime tree attached to an easy handle using CURLOPT_MIMEPOST is
    strongly bound to the handle: there is a pointer to the easy handle in
    each item of the mime tree and following the parent pointer list
    of mime items ends in a dummy part stored within the handle.
    
    Because of this binding, a mime tree cannot be shared between different
    easy handles, thus it needs to be cloned upon easy handle duplication.
    
    There is no way for the caller to get the duplicated mime tree
    handle: it is then set to be automatically destroyed upon freeing the
    new easy handle.
    
    New test 654 checks proper mime structure duplication/release.
    
    Add a warning note in curl_mime_data_cb() documentation about sharing
    user data between duplicated handles.
    
    Closes #2235
    e44ddfd4