diff options
| author | Heikki Linnakangas | 2016-09-02 10:49:59 +0000 |
|---|---|---|
| committer | Heikki Linnakangas | 2016-09-02 10:49:59 +0000 |
| commit | ec136d19b21791c845b1deeff43df137add0639e (patch) | |
| tree | da3e71960dccc380627390bc211e31455c2f1223 /src/include/libpq | |
| parent | 9cca11c915e458323d0e746c68203f2c11da0302 (diff) | |
Move code shared between libpq and backend from backend/libpq/ to common/.
When building libpq, ip.c and md5.c were symlinked or copied from
src/backend/libpq into src/interfaces/libpq, but now that we have a
directory specifically for routines that are shared between the server and
client binaries, src/common/, move them there.
Some routines in ip.c were only used in the backend. Keep those in
src/backend/libpq, but rename to ifaddr.c to avoid confusion with the file
that's now in common.
Fix the comment in src/common/Makefile to reflect how libpq actually links
those files.
There are two more files that libpq symlinks directly from src/backend:
encnames.c and wchar.c. I don't feel compelled to move those right now,
though.
Patch by Michael Paquier, with some changes by me.
Discussion: <69938195-9c76-8523-0af8-eb718ea5b36e@iki.fi>
Diffstat (limited to 'src/include/libpq')
| -rw-r--r-- | src/include/libpq/ifaddr.h | 30 | ||||
| -rw-r--r-- | src/include/libpq/ip.h | 51 | ||||
| -rw-r--r-- | src/include/libpq/md5.h | 30 |
3 files changed, 30 insertions, 81 deletions
diff --git a/src/include/libpq/ifaddr.h b/src/include/libpq/ifaddr.h new file mode 100644 index 0000000000..40094a612a --- /dev/null +++ b/src/include/libpq/ifaddr.h @@ -0,0 +1,30 @@ +/*------------------------------------------------------------------------- + * + * ifaddr.h + * IP netmask calculations, and enumerating network interfaces. + * + * Copyright (c) 2003-2016, PostgreSQL Global Development Group + * + * src/include/libpq/ifaddr.h + * + *------------------------------------------------------------------------- + */ +#ifndef IFADDR_H +#define IFADDR_H + +#include "libpq/pqcomm.h" /* pgrminclude ignore */ + +typedef void (*PgIfAddrCallback) (struct sockaddr * addr, + struct sockaddr * netmask, + void *cb_data); + +extern int pg_range_sockaddr(const struct sockaddr_storage * addr, + const struct sockaddr_storage * netaddr, + const struct sockaddr_storage * netmask); + +extern int pg_sockaddr_cidr_mask(struct sockaddr_storage * mask, + char *numbits, int family); + +extern int pg_foreach_ifaddr(PgIfAddrCallback callback, void *cb_data); + +#endif /* IFADDR_H */ diff --git a/src/include/libpq/ip.h b/src/include/libpq/ip.h deleted file mode 100644 index ce9bc6e225..0000000000 --- a/src/include/libpq/ip.h +++ /dev/null @@ -1,51 +0,0 @@ -/*------------------------------------------------------------------------- - * - * ip.h - * Definitions for IPv6-aware network access. - * - * These definitions are used by both frontend and backend code. Be careful - * what you include here! - * - * Copyright (c) 2003-2016, PostgreSQL Global Development Group - * - * src/include/libpq/ip.h - * - *------------------------------------------------------------------------- - */ -#ifndef IP_H -#define IP_H - -#include "getaddrinfo.h" /* pgrminclude ignore */ -#include "libpq/pqcomm.h" /* pgrminclude ignore */ - - -#ifdef HAVE_UNIX_SOCKETS -#define IS_AF_UNIX(fam) ((fam) == AF_UNIX) -#else -#define IS_AF_UNIX(fam) (0) -#endif - -typedef void (*PgIfAddrCallback) (struct sockaddr * addr, - struct sockaddr * netmask, - void *cb_data); - -extern int pg_getaddrinfo_all(const char *hostname, const char *servname, - const struct addrinfo * hintp, - struct addrinfo ** result); -extern void pg_freeaddrinfo_all(int hint_ai_family, struct addrinfo * ai); - -extern int pg_getnameinfo_all(const struct sockaddr_storage * addr, int salen, - char *node, int nodelen, - char *service, int servicelen, - int flags); - -extern int pg_range_sockaddr(const struct sockaddr_storage * addr, - const struct sockaddr_storage * netaddr, - const struct sockaddr_storage * netmask); - -extern int pg_sockaddr_cidr_mask(struct sockaddr_storage * mask, - char *numbits, int family); - -extern int pg_foreach_ifaddr(PgIfAddrCallback callback, void *cb_data); - -#endif /* IP_H */ diff --git a/src/include/libpq/md5.h b/src/include/libpq/md5.h deleted file mode 100644 index f3eec8b4f4..0000000000 --- a/src/include/libpq/md5.h +++ /dev/null @@ -1,30 +0,0 @@ -/*------------------------------------------------------------------------- - * - * md5.h - * Interface to libpq/md5.c - * - * These definitions are needed by both frontend and backend code to work - * with MD5-encrypted passwords. - * - * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/libpq/md5.h - * - *------------------------------------------------------------------------- - */ -#ifndef PG_MD5_H -#define PG_MD5_H - -#define MD5_PASSWD_LEN 35 - -#define isMD5(passwd) (strncmp(passwd, "md5", 3) == 0 && \ - strlen(passwd) == MD5_PASSWD_LEN) - - -extern bool pg_md5_hash(const void *buff, size_t len, char *hexsum); -extern bool pg_md5_binary(const void *buff, size_t len, void *outbuf); -extern bool pg_md5_encrypt(const char *passwd, const char *salt, - size_t salt_len, char *buf); - -#endif |
