Home | History | Annotate | Download | only in tcp
      1 /*
      2  * Copyright (C) 2007 Michael Brown <mbrown (at) fensystems.co.uk>.
      3  *
      4  * This program is free software; you can redistribute it and/or
      5  * modify it under the terms of the GNU General Public License as
      6  * published by the Free Software Foundation; either version 2 of the
      7  * License, or any later version.
      8  *
      9  * This program is distributed in the hope that it will be useful, but
     10  * WITHOUT ANY WARRANTY; without even the implied warranty of
     11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     12  * General Public License for more details.
     13  *
     14  * You should have received a copy of the GNU General Public License
     15  * along with this program; if not, write to the Free Software
     16  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     17  */
     18 
     19 FILE_LICENCE ( GPL2_OR_LATER );
     20 
     21 /**
     22  * @file
     23  *
     24  * Secure Hyper Text Transfer Protocol (HTTPS)
     25  *
     26  */
     27 
     28 #include <stddef.h>
     29 #include <gpxe/open.h>
     30 #include <gpxe/tls.h>
     31 #include <gpxe/http.h>
     32 #include <gpxe/features.h>
     33 
     34 FEATURE ( FEATURE_PROTOCOL, "HTTPS", DHCP_EB_FEATURE_HTTPS, 1 );
     35 
     36 /**
     37  * Initiate an HTTPS connection
     38  *
     39  * @v xfer		Data transfer interface
     40  * @v uri		Uniform Resource Identifier
     41  * @ret rc		Return status code
     42  */
     43 static int https_open ( struct xfer_interface *xfer, struct uri *uri ) {
     44 	return http_open_filter ( xfer, uri, HTTPS_PORT, add_tls );
     45 }
     46 
     47 /** HTTPS URI opener */
     48 struct uri_opener https_uri_opener __uri_opener = {
     49 	.scheme	= "https",
     50 	.open	= https_open,
     51 };
     52