Some CURLOPT constants defined in the curl public headers were initially enums (= ints), or macros with bare numeric values. Recent curl releases upgraded them to `long` constants, to make them pass correctly to `curl_easy_setop()` by default, i.e. without requiring a `(long)` cast. This patch drops such casts from the examples embedded in the docs. At the same time it documents which curl release made them `long` types, to keep them useful when working with previous libcurl versions. Also: - drop a `(long)` cast that was never necessary. - CURLOPT_ALTSVC_CTRL.md: bump local copy of macros to long. - test1119: make it ignore symbols ending with an underscore, to skip wildcard, e.g. `**CURLAUTH_***`. Closes #18130
1.6 KiB
| c | SPDX-License-Identifier | Title | Section | Source | Protocol | See-also | Added-in | |||
|---|---|---|---|---|---|---|---|---|---|---|
| Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. | curl | CURLOPT_GSSAPI_DELEGATION | 3 | libcurl |
|
|
7.22.0 |
NAME
CURLOPT_GSSAPI_DELEGATION - allowed GSS-API delegation
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_GSSAPI_DELEGATION, long level);
DESCRIPTION
Set the long parameter level to CURLGSSAPI_DELEGATION_FLAG to allow unconditional GSSAPI credential delegation. The delegation is disabled by default since 7.21.7. Set the parameter to CURLGSSAPI_DELEGATION_POLICY_FLAG to delegate only if the OK-AS-DELEGATE flag is set in the service ticket in case this feature is supported by the GSS-API implementation and the definition of GSS_C_DELEG_POLICY_FLAG was available at compile-time.
DEFAULT
CURLGSSAPI_DELEGATION_NONE
%PROTOCOLS%
EXAMPLE
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode ret;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
/* delegate if okayed by policy */
curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION,
CURLGSSAPI_DELEGATION_POLICY_FLAG);
ret = curl_easy_perform(curl);
}
}
HISTORY
CURLGSSAPI_DELEGATION_* macros became long types in 8.16.0, prior to this
version a long cast was necessary when passed to curl_easy_setopt(3).
%AVAILABILITY%
RETURN VALUE
curl_easy_setopt(3) returns a CURLcode indicating success or error.
CURLE_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors(3).