|  | @@ -1,6 +1,6 @@
 | 
	
		
			
				|  |  |  /*
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  | - * Copyright 2015 gRPC authors.
 | 
	
		
			
				|  |  | + * Copyright 2019 gRPC authors.
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  |   * Licensed under the Apache License, Version 2.0 (the "License");
 | 
	
		
			
				|  |  |   * you may not use this file except in compliance with the License.
 | 
	
	
		
			
				|  | @@ -19,87 +19,35 @@
 | 
	
		
			
				|  |  |  #ifndef GRPCPP_SECURITY_SERVER_CREDENTIALS_H
 | 
	
		
			
				|  |  |  #define GRPCPP_SECURITY_SERVER_CREDENTIALS_H
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -#include <memory>
 | 
	
		
			
				|  |  | -#include <vector>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -#include <grpc/grpc_security_constants.h>
 | 
	
		
			
				|  |  | -#include <grpcpp/security/auth_metadata_processor.h>
 | 
	
		
			
				|  |  | -#include <grpcpp/support/config.h>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -struct grpc_server;
 | 
	
		
			
				|  |  | +#include <grpcpp/security/server_credentials_impl.h>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  namespace grpc {
 | 
	
		
			
				|  |  | -class Server;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -/// Wrapper around \a grpc_server_credentials, a way to authenticate a server.
 | 
	
		
			
				|  |  | -class ServerCredentials {
 | 
	
		
			
				|  |  | - public:
 | 
	
		
			
				|  |  | -  virtual ~ServerCredentials();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  /// This method is not thread-safe and has to be called before the server is
 | 
	
		
			
				|  |  | -  /// started. The last call to this function wins.
 | 
	
		
			
				|  |  | -  virtual void SetAuthMetadataProcessor(
 | 
	
		
			
				|  |  | -      const std::shared_ptr<AuthMetadataProcessor>& processor) = 0;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | - private:
 | 
	
		
			
				|  |  | -  friend class ::grpc::Server;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  /// Tries to bind \a server to the given \a addr (eg, localhost:1234,
 | 
	
		
			
				|  |  | -  /// 192.168.1.1:31416, [::1]:27182, etc.)
 | 
	
		
			
				|  |  | -  ///
 | 
	
		
			
				|  |  | -  /// \return bound port number on sucess, 0 on failure.
 | 
	
		
			
				|  |  | -  // TODO(dgq): the "port" part seems to be a misnomer.
 | 
	
		
			
				|  |  | -  virtual int AddPortToServer(const grpc::string& addr,
 | 
	
		
			
				|  |  | -                              grpc_server* server) = 0;
 | 
	
		
			
				|  |  | -};
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -/// Options to create ServerCredentials with SSL
 | 
	
		
			
				|  |  | -struct SslServerCredentialsOptions {
 | 
	
		
			
				|  |  | -  /// \warning Deprecated
 | 
	
		
			
				|  |  | -  SslServerCredentialsOptions()
 | 
	
		
			
				|  |  | -      : force_client_auth(false),
 | 
	
		
			
				|  |  | -        client_certificate_request(GRPC_SSL_DONT_REQUEST_CLIENT_CERTIFICATE) {}
 | 
	
		
			
				|  |  | -  SslServerCredentialsOptions(
 | 
	
		
			
				|  |  | -      grpc_ssl_client_certificate_request_type request_type)
 | 
	
		
			
				|  |  | -      : force_client_auth(false), client_certificate_request(request_type) {}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  struct PemKeyCertPair {
 | 
	
		
			
				|  |  | -    grpc::string private_key;
 | 
	
		
			
				|  |  | -    grpc::string cert_chain;
 | 
	
		
			
				|  |  | -  };
 | 
	
		
			
				|  |  | -  grpc::string pem_root_certs;
 | 
	
		
			
				|  |  | -  std::vector<PemKeyCertPair> pem_key_cert_pairs;
 | 
	
		
			
				|  |  | -  /// \warning Deprecated
 | 
	
		
			
				|  |  | -  bool force_client_auth;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  /// If both \a force_client_auth and \a client_certificate_request
 | 
	
		
			
				|  |  | -  /// fields are set, \a force_client_auth takes effect, i.e.
 | 
	
		
			
				|  |  | -  /// \a REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY
 | 
	
		
			
				|  |  | -  /// will be enforced.
 | 
	
		
			
				|  |  | -  grpc_ssl_client_certificate_request_type client_certificate_request;
 | 
	
		
			
				|  |  | -};
 | 
	
		
			
				|  |  | +typedef ::grpc_impl::ServerCredentials ServerCredentials;
 | 
	
		
			
				|  |  | +typedef ::grpc_impl::SslServerCredentialsOptions SslServerCredentialsOptions;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/// Builds SSL ServerCredentials given SSL specific options
 | 
	
		
			
				|  |  | -std::shared_ptr<ServerCredentials> SslServerCredentials(
 | 
	
		
			
				|  |  | -    const SslServerCredentialsOptions& options);
 | 
	
		
			
				|  |  | +static inline std::shared_ptr<ServerCredentials> SslServerCredentials(
 | 
	
		
			
				|  |  | +    const SslServerCredentialsOptions& options) {
 | 
	
		
			
				|  |  | +  return ::grpc_impl::SslServerCredentials(options);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/// Builds insecure server credentials.
 | 
	
		
			
				|  |  | -std::shared_ptr<ServerCredentials> InsecureServerCredentials();
 | 
	
		
			
				|  |  | +static inline std::shared_ptr<ServerCredentials> InsecureServerCredentials() {
 | 
	
		
			
				|  |  | +  return ::grpc_impl::InsecureServerCredentials();
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  namespace experimental {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/// Options to create ServerCredentials with ALTS
 | 
	
		
			
				|  |  | -struct AltsServerCredentialsOptions {
 | 
	
		
			
				|  |  | -  /// Add fields if needed.
 | 
	
		
			
				|  |  | -};
 | 
	
		
			
				|  |  | +typedef ::grpc_impl::experimental::AltsServerCredentialsOptions AltsServerCredentialsOptions;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/// Builds ALTS ServerCredentials given ALTS specific options
 | 
	
		
			
				|  |  | -std::shared_ptr<ServerCredentials> AltsServerCredentials(
 | 
	
		
			
				|  |  | -    const AltsServerCredentialsOptions& options);
 | 
	
		
			
				|  |  | +static inline std::shared_ptr<ServerCredentials> AltsServerCredentials(
 | 
	
		
			
				|  |  | +    const AltsServerCredentialsOptions& options) {
 | 
	
		
			
				|  |  | +  return ::grpc_impl::experimental::AltsServerCredentials(options);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -/// Builds Local ServerCredentials.
 | 
	
		
			
				|  |  | -std::shared_ptr<ServerCredentials> LocalServerCredentials(
 | 
	
		
			
				|  |  | -    grpc_local_connect_type type);
 | 
	
		
			
				|  |  | +static inline std::shared_ptr<ServerCredentials> LocalServerCredentials(
 | 
	
		
			
				|  |  | +    grpc_local_connect_type type) {
 | 
	
		
			
				|  |  | +  return ::grpc_impl::experimental::LocalServerCredentials(type);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }  // namespace experimental
 | 
	
		
			
				|  |  |  }  // namespace grpc
 |