70 if (resolve_local_list)
82 const char *bare_dest;
83 struct addrinfo *res0 = 0;
97 if (resolve_local_list == 0)
107 len = strlen(saved_addr);
110 if (saved_addr[len - 1] ==
'.')
111 saved_addr[--len] = 0;
112 if (len == 0 || saved_addr[len - 1] ==
'.')
121 if (resolve_local_list->error != 0)
122 RETURN(resolve_local_list->error);
155 if (*dest ==
'[' && dest[len - 1] ==
']') {
176 int main(
int argc,
char **argv)
181 msg_fatal(
"usage: %s mydestination domain", argv[0]);
185 vstream_printf(
"mydestination=%s destination=%s %s\n", argv[1], argv[2],
187 rc == 0 ?
"NO" :
"ERROR");
const char * valid_mailhost_addr(const char *addr, int gripe)
#define MATCH_FLAG_RETURN
char * mystrdup(const char *str)
int main(int argc, char **argv)
int resolve_local(const char *addr)
int own_inet_addr(struct sockaddr *addr)
int hostaddr_to_sockaddr(const char *hostaddr, const char *service, int socktype, struct addrinfo **res)
void mail_conf_read(void)
#define string_list_init(o, f, p)
#define string_list_match
VSTREAM * vstream_printf(const char *fmt,...)
void resolve_local_init(void)
int proxy_inet_addr(struct sockaddr *addr)
NORETURN msg_fatal(const char *fmt,...)
int vstream_fflush(VSTREAM *stream)