citadel
About: Citadel is an advanced messaging and collaboration system for groupware and BBS applications (preferred OS: Linux).
  Fossies Dox: citadel.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Loading...
Searching...
No Matches
serv_openid_rp.c File Reference
#include "../../sysdep.h"
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <signal.h>
#include <pwd.h>
#include <errno.h>
#include <sys/types.h>
#include <time.h>
#include <sys/wait.h>
#include <string.h>
#include <limits.h>
#include <curl/curl.h>
#include <expat.h>
#include "../../ctdl_module.h"
#include "../../config.h"
#include "../../citserver.h"
#include "../../user_ops.h"
Include dependency graph for serv_openid_rp.c:

Go to the source code of this file.

Data Structures

struct  _ctdl_openid
 
struct  xrds
 

Typedefs

typedef struct _ctdl_openid ctdl_openid
 

Enumerations

enum  { openid_disco_none , openid_disco_xrds , openid_disco_html }
 

Functions

void Free_ctdl_openid (ctdl_openid **FreeMe)
 
void openid_cleanup_function (void)
 
int attach_extauth (struct ctdluser *who, StrBuf *claimed_id)
 
void extauth_purge (struct ctdluser *usbuf)
 
void cmd_oidl (char *argbuf)
 
void cmd_oida (char *argbuf)
 
void cmd_oidc (char *argbuf)
 
void cmd_oidd (char *argbuf)
 
int openid_create_user_via_ax (StrBuf *claimed_id, HashList *sreg_keys)
 
int login_via_extauth (StrBuf *claimed_id)
 
void extract_link (StrBuf *target_buf, const char *rel, long repllen, StrBuf *source_buf)
 
CURL * ctdl_openid_curl_easy_init (char *errmsg)
 
void xrds_xml_start (void *data, const char *supplied_el, const char **attr)
 
void xrds_xml_end (void *data, const char *supplied_el)
 
void xrds_xml_chardata (void *data, const XML_Char *s, int len)
 
int parse_xrds_document (StrBuf *ReplyBuf)
 
size_t yadis_headerfunction (void *ptr, size_t size, size_t nmemb, void *userdata)
 
int perform_openid2_discovery (StrBuf *SuppliedURL)
 
void cmd_oids (char *argbuf)
 
void cmd_oidf (char *argbuf)
 
char * ctdl_module_init_openid_rp (void)
 

Typedef Documentation

◆ ctdl_openid

typedef struct _ctdl_openid ctdl_openid

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
openid_disco_none 
openid_disco_xrds 
openid_disco_html 

Definition at line 47 of file serv_openid_rp.c.

Function Documentation

◆ attach_extauth()

int attach_extauth ( struct ctdluser who,
StrBuf *  claimed_id 
)

◆ cmd_oida()

◆ cmd_oidc()

◆ cmd_oidd()

◆ cmd_oidf()

◆ cmd_oidl()

◆ cmd_oids()

◆ ctdl_module_init_openid_rp()

◆ ctdl_openid_curl_easy_init()

CURL * ctdl_openid_curl_easy_init ( char *  errmsg)

Definition at line 518 of file serv_openid_rp.c.

References CITADEL, and CtdlGetConfigStr().

Referenced by cmd_oidf(), and perform_openid2_discovery().

◆ extauth_purge()

void extauth_purge ( struct ctdluser usbuf)

◆ extract_link()

void extract_link ( StrBuf *  target_buf,
const char *  rel,
long  repllen,
StrBuf *  source_buf 
)

Definition at line 450 of file serv_openid_rp.c.

References cdbdata::ptr.

Referenced by perform_openid2_discovery().

◆ Free_ctdl_openid()

void Free_ctdl_openid ( ctdl_openid **  FreeMe)

Definition at line 54 of file serv_openid_rp.c.

References free().

Referenced by cmd_oids(), and openid_cleanup_function().

◆ login_via_extauth()

int login_via_extauth ( StrBuf *  claimed_id)

Definition at line 412 of file serv_openid_rp.c.

References CC, CDB_EXTAUTH, cdb_fetch(), cdb_free(), CtdlGetUserByNumber(), do_login(), and cdbdata::ptr.

Referenced by cmd_oidf().

◆ openid_cleanup_function()

void openid_cleanup_function ( void  )

Definition at line 70 of file serv_openid_rp.c.

References CC, Free_ctdl_openid(), and CitContext::openid_data.

Referenced by ctdl_module_init_openid_rp().

◆ openid_create_user_via_ax()

int openid_create_user_via_ax ( StrBuf *  claimed_id,
HashList *  sreg_keys 
)

◆ parse_xrds_document()

◆ perform_openid2_discovery()

int perform_openid2_discovery ( StrBuf *  SuppliedURL)

◆ xrds_xml_chardata()

void xrds_xml_chardata ( void *  data,
const XML_Char *  s,
int  len 
)

Definition at line 635 of file serv_openid_rp.c.

References xrds::CharData.

Referenced by parse_xrds_document().

◆ xrds_xml_end()

◆ xrds_xml_start()

void xrds_xml_start ( void *  data,
const char *  supplied_el,
const char **  attr 
)

◆ yadis_headerfunction()

size_t yadis_headerfunction ( void *  ptr,
size_t  size,
size_t  nmemb,
void *  userdata 
)

Definition at line 691 of file serv_openid_rp.c.

Referenced by perform_openid2_discovery().