--- ./configure.orig 2024-03-12 18:42:26.000000000 -0500 +++ ./configure 2024-03-15 13:22:46.014768956 -0500 @@ -43591,6 +43591,7 @@ PHP_IMAP_EXPORT void mm_nocritical(void){} PHP_IMAP_EXPORT void mm_notify(void){} PHP_IMAP_EXPORT void mm_login(void){} + PHP_IMAP_EXPORT void mm_login_method(void){} PHP_IMAP_EXPORT void mm_diskerror(void){} PHP_IMAP_EXPORT void mm_status(void){} PHP_IMAP_EXPORT void mm_lsub(void){} @@ -43770,6 +43771,7 @@ PHP_IMAP_EXPORT void mm_nocritical(void){} PHP_IMAP_EXPORT void mm_notify(void){} PHP_IMAP_EXPORT void mm_login(void){} + PHP_IMAP_EXPORT void mm_login_method(void){} PHP_IMAP_EXPORT void mm_diskerror(void){} PHP_IMAP_EXPORT void mm_status(void){} PHP_IMAP_EXPORT void mm_lsub(void){} --- ./ext/imap/config.m4.orig 2024-03-12 18:42:26.000000000 -0500 +++ ./ext/imap/config.m4 2024-03-15 13:21:36.270772814 -0500 @@ -46,6 +46,7 @@ PHP_IMAP_EXPORT void mm_nocritical(void){} PHP_IMAP_EXPORT void mm_notify(void){} PHP_IMAP_EXPORT void mm_login(void){} + PHP_IMAP_EXPORT void mm_login_method(void){} PHP_IMAP_EXPORT void mm_diskerror(void){} PHP_IMAP_EXPORT void mm_status(void){} PHP_IMAP_EXPORT void mm_lsub(void){} @@ -282,6 +283,7 @@ PHP_IMAP_EXPORT void mm_nocritical(void){} PHP_IMAP_EXPORT void mm_notify(void){} PHP_IMAP_EXPORT void mm_login(void){} + PHP_IMAP_EXPORT void mm_login_method(void){} PHP_IMAP_EXPORT void mm_diskerror(void){} PHP_IMAP_EXPORT void mm_status(void){} PHP_IMAP_EXPORT void mm_lsub(void){} --- ./ext/imap/php_imap.c.orig 2024-03-12 18:42:26.000000000 -0500 +++ ./ext/imap/php_imap.c 2024-03-15 13:21:36.271772814 -0500 @@ -4778,7 +4778,7 @@ php debugger? */ } -PHP_IMAP_EXPORT void mm_login(NETMBX *mb, char *user, char *pwd, long trial) +PHP_IMAP_EXPORT void mm_login(NETMBX *mb, char *user, char **pwd, long trial) { if (*mb->user) { @@ -4786,7 +4786,13 @@ } else { strlcpy (user, IMAPG(imap_user), MAILTMPLEN); } - strlcpy (pwd, IMAPG(imap_password), MAILTMPLEN); + *pwd = cpystr(IMAPG(imap_password)); /* alpine-2.22 c-client.a */ +} + +/* alpine-2.22 c-client.a workaround */ +PHP_IMAP_EXPORT void mm_login_method(NETMBX *mb, char *user, void *pwd, long trial, char *method) +{ + pwd = NULL; } PHP_IMAP_EXPORT void mm_critical(MAILSTREAM *stream)