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

Use external SSL dependency to provide cast header #1186

Merged
1 commit merged into from
Jul 2, 2024
Merged

Use external SSL dependency to provide cast header #1186

1 commit merged into from
Jul 2, 2024

Conversation

ghost
Copy link

@ghost ghost commented Jul 1, 2024

No description provided.

@ghost ghost self-assigned this Jul 1, 2024
meson.build Outdated Show resolved Hide resolved
@ghost ghost force-pushed the dgsga-castfix branch 4 times, most recently from c02ef5f to 2ca1a5e Compare July 1, 2024 14:10
@ghost ghost marked this pull request as ready for review July 1, 2024 14:29
@ghost
Copy link
Author

ghost commented Jul 1, 2024

@rdmark, this provides a workaround until we have a better alternative. Working on it...

Copy link
Member

@rdmark rdmark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ghost
Copy link
Author

ghost commented Jul 1, 2024

Are you happy with the Sonarcloud static analysis warning?

@rdmark
Copy link
Member

rdmark commented Jul 1, 2024

It seems fine. It's just warning that CAST functions are deprecated in OpenSSL3, from what I can see.

@rdmark
Copy link
Member

rdmark commented Jul 1, 2024

@dgsga I can't get this to work in my Debian 12 VM. The resulting DHX UAM doesn't work for auth with either OS9 or macOS... I may be missing something obvious though!

@NJRoadfan
Copy link
Contributor

A longer term solution might be to use the CAST functions in libgcrypt. The license is compatible and its already a dependency.

@ghost
Copy link
Author

ghost commented Jul 2, 2024

A longer term solution might be to use the CAST functions in libgcrypt. The license is compatible and its already a dependency.

Great minds think alike...

@ghost
Copy link
Author

ghost commented Jul 2, 2024

@dgsga I can't get this to work in my Debian 12 VM. The resulting DHX UAM doesn't work for auth with either OS9 or macOS... I may be missing something obvious though!

@rdmark, tested login and file transfer on my Bookworm VM with OS9 client and all is well. Have you pulled the latest force commit for the branch?

@rdmark
Copy link
Member

rdmark commented Jul 2, 2024

Hmm, it seems like it's my OS9 setup that's broken. I'm certain it used to work last week.

image

I'm traveling for work right now so have limited means of testing. Please go ahead and merge at your convenience.

@rdmark
Copy link
Member

rdmark commented Jul 2, 2024

My problem was fixed by installing a fresh AppleShare Client 3.8.8 from the Mac Garden. Not sure what happened to the stock extension.

@rdmark
Copy link
Member

rdmark commented Jul 2, 2024

@dgsga With this solution, I think we need a check in Meson for openssl/libressl when building with bundled SSL. Otherwise you get compile errors like

14.73 ../etc/uams/uams_dhx_pam.c:33:10: fatal error: openssl/cast.h: No such file or directory
14.73    33 | #include <openssl/cast.h>
14.73       |          ^~~~~~~~~~~~~~~~

Also, the Dockerfile needs to be updated as well to add openssl and openssl-dev.

As a side note: For some reason Alpine's libressl ships with libcrypto.so.3 while netatalk expects libcrypto.so.52 at runtime ... so while you can link with it, the library cannot be found so DHX won't work.

@ghost ghost force-pushed the dgsga-castfix branch from 2ca1a5e to e8b6517 Compare July 2, 2024 15:28
@ghost ghost force-pushed the dgsga-castfix branch from e8b6517 to 2c53a24 Compare July 2, 2024 15:31
@ghost
Copy link
Author

ghost commented Jul 2, 2024

@dgsga With this solution, I think we need a check in Meson for openssl/libressl when building with bundled SSL. Otherwise you get compile errors like

14.73 ../etc/uams/uams_dhx_pam.c:33:10: fatal error: openssl/cast.h: No such file or directory
14.73    33 | #include <openssl/cast.h>
14.73       |          ^~~~~~~~~~~~~~~~

Also, the Dockerfile needs to be updated as well to add openssl and openssl-dev.

As a side note: For some reason Alpine's libressl ships with libcrypto.so.3 while netatalk expects libcrypto.so.52 at runtime ... so while you can link with it, the library cannot be found so DHX won't work.

Good point, fixed.

Copy link

sonarqubecloud bot commented Jul 2, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
E Maintainability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

@ghost ghost merged commit df51127 into main Jul 2, 2024
14 of 15 checks passed
@ghost ghost deleted the dgsga-castfix branch July 2, 2024 15:41
ghost pushed a commit that referenced this pull request Jul 2, 2024
ghost pushed a commit that referenced this pull request Jul 2, 2024
ghost pushed a commit that referenced this pull request Jul 2, 2024
This pull request was closed.
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.

2 participants