Skip to content
Snippets Groups Projects
Commit 1fadca54 authored by Mark Valence's avatar Mark Valence
Browse files

Start TLS extended op routine.

parent 454284f1
No related branches found
No related tags found
No related merge requests found
/* $OpenLDAP$ */
/*
* Copyright 1999 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted only
* as authorized by the OpenLDAP Public License. A copy of this
* license is available at http://www.OpenLDAP.org/license.html or
* in file LICENSE in the top-level directory of the distribution.
*/
#include "portable.h"
#include <stdio.h>
#include <ac/socket.h>
#include "slap.h"
#ifdef HAVE_TLS
int
starttls_extop (
SLAP_EXTOP_CALLBACK_FN cb,
Connection *conn,
Operation *op,
char * oid,
struct berval * reqdata,
struct berval ** rspdata,
char ** text )
{
/* can't start TLS if it is already started */
if (conn->c_is_tls != 0)
return(LDAP_OPERATIONS_ERROR);
/* can't start TLS if there are other op's around */
if (conn->c_ops != NULL) {
if (conn->c_ops != op || op->o_next != NULL)
return(LDAP_OPERATIONS_ERROR);
}
if (conn->c_pending_ops != NULL) {
if (conn->c_pending_ops != op || op->o_next != NULL)
return(LDAP_OPERATIONS_ERROR);
}
/* here's some pseudo-code if HAVE_TLS is defined
* but for some reason TLS is not available.
*/
/*
if (tls not really supported) {
if (referral exists) {
// caller will need to put the referral into the result
return(LDAP_REFERRAL);
}
return(LDAP_UNAVAILABLE);
}
*/
conn->c_is_tls = 1;
conn->c_needs_tls_accept = 1;
return(LDAP_SUCCESS);
}
#endif /* HAVE_TLS */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment