On AIX 4.3.3, there is no sin6_scope_id field in struct sockaddr_in6. Here is my hideous workaround. --- openssh/addrmatch.c +++ openssh/addrmatch.c @@ -97,7 +97,11 @@ return -1; xa->af = AF_INET6; memcpy(&xa->v6, &in6->sin6_addr, sizeof(xa->v6)); +#ifdef _AIX + xa->scope_id = 0; +#else xa->scope_id = in6->sin6_scope_id; +#endif break; default: return -1; And, yes, I am painfully aware that AIX 4.3.3 is hideously out of date :( (see also bug 401)
This affects more thatn AIX. I've commited a fix that works on my platforms and should work for your old AIX. Please test the next snapshot and re-open this bug if it does not work for you.
Close bugs fixed/reviewed for openssh-5.2 release