#1285 convert the sss_cli_recv_rep() consumers to use a single return code
Closed: wontfix 4 years ago by pbrezina. Opened 12 years ago by pbrezina.

We should convert the sss_cli_recv_rep() consumers (that is all sss_$SERVICE_make_request() functions) to use a single return code rather than status and errnop. One possible exception being sss_nss_make_request, because the NSS client uses errnop to set errno and glibc treats some error conditions as recoverable (such as status=TRYAGAIN && errno=ERANGE which would cause glibc to retry with a bigger buffer).


Fields changed

milestone: NEEDS_TRIAGE => SSSD 1.9.0
owner: somebody => pbrezina
rhbz: => 0
type: defect => task

Fields changed

milestone: SSSD 1.9.0 => SSSD 1.10.0

Fields changed

milestone: SSSD 1.10.0 => SSSD 1.10 beta

Fields changed

selected: => Not need

Moving tickets that are not a priority for SSSD 1.10 into the next release.

milestone: SSSD 1.10 beta => SSSD 1.11 beta

Fields changed

mark: => 0

Fields changed

changelog: =>
design: =>
design_review: => 0
fedora_test_page: =>
milestone: SSSD 1.13 beta => SSSD 1.13 backlog
priority: major => minor
review: => 0

Mass-moving tickets not planned for the next two releases.

Please reply with a comment if you disagree about the move..

milestone: SSSD 1.13 backlog => SSSD 1.15 beta

Metadata Update from @pbrezina:
- Issue assigned to pbrezina
- Issue set to the milestone: SSSD Future releases (no date set yet)

7 years ago

Presently I find sss_cli_recv_rep() is consumed by only sss_cli_make_request_nochecks() and it uses only 1 return code
enum sss_status {
SSS_STATUS_TRYAGAIN,
SSS_STATUS_UNAVAIL,
SSS_STATUS_SUCCESS
};

static enum sss_status sss_cli_recv_rep(enum sss_cli_command cmd,
                                    int timeout,
                                    uint8_t **_buf, int *_len,
                                    int *errnop)

has still two return codes, the enum sss_status and the int *errnop.

But I wonder if this ticket is still valid? Since the two return codes are at least part of the glibc API for nss modules the two values are needed at least here as already mentioned in the description.

Maybe the ticket can be rephrased to just make sure that a caller can set errnop to NULL in case it has no use of the error code? @pbrezina, what do you think?

Metadata Update from @sbose:
- Custom field design_review reset (from 0)
- Custom field mark reset (from 0)
- Custom field patch reset (from 0)
- Custom field review reset (from 0)
- Custom field testsupdated reset (from 0)
- Issue close_status updated to: None

5 years ago

Thanks sumit yes *errnop is also output parameter.

But it looks.
errnop is not used in sss_cli_check_version(), sss_cli_make_request_nochecks().
In sss_cli_send_req() and sss_cli_recv_rep() we can achieve task errnop is doing using local variable.

Metadata Update from @pbrezina:
- Assignee reset

5 years ago

Metadata Update from @thalman:
- Custom field design_review reset (from false)
- Custom field mark reset (from false)
- Custom field patch reset (from false)
- Custom field review reset (from false)
- Custom field testsupdated reset (from false)
- Issue tagged with: Canditate to close

4 years ago

Thank you for taking time to submit this request for SSSD. Unfortunately this issue was not given priority and the team lacks the capacity to work on it at this time.

Given that we are unable to fulfill this request I am closing the issue as wontfix.

If the issue still persist on recent SSSD you can request re-consideration of this decision by reopening this issue. Please provide additional technical details about its importance to you.

Thank you for understanding.

Metadata Update from @pbrezina:
- Issue close_status updated to: wontfix
- Issue status updated to: Closed (was: Open)

4 years ago

SSSD is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in SSSD's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/SSSD/sssd/issues/2327

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Login to comment on this ticket.

Metadata