Correct the authentication of client's address against authfile

This modification passes the whole struct sockaddr of the client to function address_matches() and uses it to compare against the masks defined in the auth file.
Without this change the comparison of the client's address with each mask in the authfile is done on the 4 bytes of sa_data which are the port (sin_port) and the first 2 bytes of the address (sin_addr) in struct sockaddr_in.
Similar problem exists in IPv6.