PostgreSQL Source Code  git master
ldap_password_func.c File Reference
#include "postgres.h"
#include <float.h>
#include <stdio.h>
#include "fmgr.h"
#include "libpq/auth.h"
Include dependency graph for ldap_password_func.c:

Go to the source code of this file.

Functions

void _PG_init (void)
 
static char * rot13_passphrase (char *password)
 

Variables

 PG_MODULE_MAGIC
 

Function Documentation

◆ _PG_init()

void _PG_init ( void  )

Definition at line 32 of file ldap_password_func.c.

33 {
35 }
PGDLLIMPORT auth_password_hook_typ ldap_password_hook
static char * rot13_passphrase(char *password)

References ldap_password_hook, and rot13_passphrase().

◆ rot13_passphrase()

static char * rot13_passphrase ( char *  password)
static

Definition at line 38 of file ldap_password_func.c.

39 {
40  size_t size = strlen(pw) + 1;
41 
42  char *new_pw = (char *) palloc(size);
43 
44  strlcpy(new_pw, pw, size);
45  for (char *p = new_pw; *p; p++)
46  {
47  char c = *p;
48 
49  if ((c >= 'a' && c <= 'm') || (c >= 'A' && c <= 'M'))
50  *p = c + 13;
51  else if ((c >= 'n' && c <= 'z') || (c >= 'N' && c <= 'Z'))
52  *p = c - 13;
53  }
54 
55  return new_pw;
56 }
void * palloc(Size size)
Definition: mcxt.c:1317
size_t strlcpy(char *dst, const char *src, size_t siz)
Definition: strlcpy.c:45
char * c
static pg_noinline void Size size
Definition: slab.c:607

References palloc(), size, and strlcpy().

Referenced by _PG_init().

Variable Documentation

◆ PG_MODULE_MAGIC

PG_MODULE_MAGIC

Definition at line 21 of file ldap_password_func.c.