Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 4563 - Failure on s390x: 'Fails to split RDN "o=pki-tomcat-CA" … #4573

Merged
merged 1 commit into from
Jan 28, 2021

Conversation

tbordaz
Copy link
Contributor

@tbordaz tbordaz commented Jan 27, 2021

…into components'

Bug description:
SLAPI_OPERATION_TYPE is a stored/read as an int (slapi_pblock_get/set).
This although the storage field is an unsigned long.
Calling slapi_pblock_get with an long (8 btyes) destination creates
a problem on big-endian (s390x).

Fix description:
Define destination op_type as an int (4 bytes)

relates: #4563

Reviewed by:

Platforms tested: F31 (little endian)

@slyon
Copy link

slyon commented Jan 27, 2021

Applying this patch to our 389-ds-base package and re-running the (previously) regressed dogtag-pki test suite makes it PASS:
https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-hirsute-slyon-testing/hirsute/s390x/d/dogtag-pki/20210127_140849_b37ed@/log.gz

@mreynolds389
Copy link
Contributor

I know this fixes it, but should we be using strong int types here? int32_t?

@tbordaz
Copy link
Contributor Author

tbordaz commented Jan 27, 2021

@slyon thanks for precious help.
@mreynolds389 there are many 'int' set/get from pblock. I do not think it worth changing it (and all of them)

@mreynolds389
Copy link
Contributor

@slyon thanks for precious help.
@mreynolds389 there are many 'int' set/get from pblock. I do not think it worth changing it (and all of them)

I was not suggesting changing all of them, just where it might be critical, but the problem here was simply the wrong type being used. Anyway, ACK from me

@Firstyear
Copy link
Contributor

Ack from me too.

…into components'

Bug description:
	SLAPI_OPERATION_TYPE is a stored/read as an int (slapi_pblock_get/set).
	This although the storage field is an unsigned long.
	Calling slapi_pblock_get with an long (8 btyes) destination creates
	a problem on big-endian (s390x).

Fix description:
	Define destination op_type as an int (4 bytes)

relates: 389ds#4563

Reviewed by: Mark Reynolds, William Brown

Platforms tested: F31 (little endian), Debian (big endian)
@tbordaz tbordaz merged commit 90c4883 into 389ds:master Jan 28, 2021
tbordaz added a commit that referenced this pull request Jan 28, 2021
…into components' (#4573)

Bug description:
	SLAPI_OPERATION_TYPE is a stored/read as an int (slapi_pblock_get/set).
	This although the storage field is an unsigned long.
	Calling slapi_pblock_get with an long (8 btyes) destination creates
	a problem on big-endian (s390x).

Fix description:
	Define destination op_type as an int (4 bytes)

relates: #4563

Reviewed by: Mark Reynolds, William Brown

Platforms tested: F31 (little endian), Debian (big endian)
tbordaz added a commit that referenced this pull request Jan 28, 2021
…into components' (#4573)

Bug description:
	SLAPI_OPERATION_TYPE is a stored/read as an int (slapi_pblock_get/set).
	This although the storage field is an unsigned long.
	Calling slapi_pblock_get with an long (8 btyes) destination creates
	a problem on big-endian (s390x).

Fix description:
	Define destination op_type as an int (4 bytes)

relates: #4563

Reviewed by: Mark Reynolds, William Brown

Platforms tested: F31 (little endian), Debian (big endian)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants