Branch: Tag:

1997-04-07

1997-04-07 23:23:44 by Per Hedbor <ph@opera.com>

Fixes for SSL3. Should work now if you have all the pike-modules enabled

Rev: server/base_server/configuration.pike:1.20
Rev: server/base_server/roxen.pike:1.48
Rev: server/protocols/http.pike:1.23
Rev: server/protocols/ssl3.pike:1.3

1: - string cvs_version = "$Id: roxen.pike,v 1.47 1997/04/05 01:25:39 per Exp $"; + string cvs_version = "$Id: roxen.pike,v 1.48 1997/04/07 23:23:41 per Exp $";   #define IN_ROXEN   #ifdef THREADS   #include <fifo.h>
275:   // protocol (http, ftp, ssl, etc.)      object create_listen_socket(mixed port_no, object conf, -  string|void ether, program requestprogram) +  string|void ether, program requestprogram, +  array prt)   {    object port;   #ifdef SOCKET_DEBUG
1189:   {    object cf = Configuration(name);    configurations += ({ cf }); +  current_configuration = cf;    return cf;   }   
1226:    string host;       foreach(ports, tmp) -  if(tmp[1]=="ssl") +  if(tmp[1][0..2]=="ssl")    {    port=tmp;    break;
1253:   #endif    }    -  prot = (port[1]!="ssl"?port[1]:"https"); +  prot = (port[1][0..2]!="ssl"?port[1]:"https");    p = port[0];       return (prot+"://"+host+":"+p+"/");
1636:    configuration_ports = ({ });    main_configuration_port=0;    +  current_configuration = 0;    if(sizeof(QUERY(ConfigPorts)))    {    foreach(QUERY(ConfigPorts), port)    { -  if(o=create_listen_socket(port[0],0,port[2], -  (program)(getcwd()+"/protocols/"+port[1]))) +  program requestprogram = (program)(getcwd()+"/protocols/"+port[1]); +  function rp; +  array tmp; +  if(!requestprogram) { +  report_error("No request program for "+port[1]+"\n"); +  continue; +  } +  if(rp = requestprogram()->real_port) +  if(tmp = rp(port)) +  port = tmp; +  +  if(o=create_listen_socket(port[0],0,port[2],requestprogram,port))    {    perror("Configuration port: port number "    +port[0]+" interface " +port[2]+"\n");