├── .devcontainer └── devcontainer.json ├── .editorconfig ├── .gitmodules ├── CMakeLists.txt ├── CMakeModules ├── FindLibLdap.cmake ├── FindPCRE.cmake └── common.cmake ├── GPL.txt ├── INSTALL ├── LICENSE ├── LSQUICCOMMIT ├── Makefile.am ├── Makefile.in ├── README.md ├── aclocal.m4 ├── addon └── example │ ├── Makefile │ ├── README │ ├── ccc.sh │ ├── checksessionhooks.c │ ├── hellohandler.c │ ├── hellohandler2.c │ ├── imgresize.c │ ├── make.Autodepend │ ├── mtaltreadwrite.c │ ├── mtaltreadwriteobs.c │ ├── mteventcancel.c │ ├── mteventseq.c │ ├── mtflood.c │ ├── mtgetters.c │ ├── mtheaders.c │ ├── mthello.c │ ├── mtpost.c │ ├── mtpostmt.c │ ├── mtpostmt2.c │ ├── mtsendfile.c │ ├── mtsetters.c │ ├── mytest.c │ ├── replybigbufhandler.c │ ├── reqform.html │ ├── reqinfhandler.c │ ├── reqobservmodule.c │ ├── sendfile.c │ ├── sendfilehandler.c │ ├── setrespheader.c │ ├── testcontext.c │ ├── testenableflag1.c │ ├── testenableflag2.c │ ├── testenableflag3.c │ ├── testenableflag4.c │ ├── testenv.c │ ├── testhttpauth.c │ ├── testmoduledata.c │ ├── testparam.c │ ├── testredirect.c │ ├── testredirectmt.c │ ├── testreqenv.c │ ├── testserverhook.c │ ├── testsuspend.c │ ├── testtimer.c │ ├── testviewdata.c │ ├── updatehttpout.c │ ├── updatetcpin1.c │ ├── updatetcpin2.c │ ├── updatetcpout1.c │ ├── updatetcpout2.c │ ├── uploadchecker.c │ ├── waitfullreqbody.c │ └── waitfullrespbody.c ├── ax_check_ip2location.m4 ├── ax_check_liblua.m4 ├── ax_check_libudns.m4 ├── ax_check_openssl.m4 ├── ax_check_zlib.m4 ├── ax_lib_expat.m4 ├── ax_path_lib_pcre.m4 ├── build.sh ├── config.guess ├── config.sub ├── configure ├── configure.ac ├── depcomp ├── dist ├── Example │ ├── cgi-bin │ │ └── helloworld │ └── html │ │ ├── .htaccess │ │ ├── blocked │ │ └── index.html │ │ ├── css │ │ ├── bootstrap.min.css │ │ └── custom.css │ │ ├── error404.html │ │ ├── img │ │ ├── 404-icon.png │ │ ├── blocked_content-icon.png │ │ ├── cgi-icon.png │ │ ├── file_upload-icon.png │ │ ├── olsws_logo.png │ │ ├── php-icon.png │ │ ├── powered_by_ols-new.png │ │ └── pwd_protect-icon.png │ │ ├── index.html │ │ ├── phpinfo.php │ │ ├── protected │ │ └── index.html │ │ ├── upload.html │ │ └── upload.php ├── GPL.txt ├── VERSION ├── add-ons │ ├── snmp_monitoring │ │ ├── README │ │ ├── class.litespeed_snmp_bridge.php │ │ ├── class.litespeed_stats.php │ │ ├── litespeed_cacti_template.xml │ │ ├── litespeed_extapp.xml │ │ ├── litespeed_general.xml │ │ ├── litespeed_vhost.xml │ │ └── sample.php │ └── webcachemgr │ │ ├── VERSION │ │ ├── autoloader.php │ │ ├── bootstrap.php │ │ ├── bootstrap_cli.php │ │ └── src │ │ ├── AjaxResponse.php │ │ ├── CliController.php │ │ ├── Context │ │ ├── Context.php │ │ ├── ContextOption.php │ │ ├── RootCLIContextOption.php │ │ ├── RootPanelContextOption.php │ │ └── UserCLIContextOption.php │ │ ├── DashNotifier.php │ │ ├── LSCMException.php │ │ ├── LogEntry.php │ │ ├── Logger.php │ │ ├── Panel │ │ ├── CPanel.php │ │ ├── ControlPanel.php │ │ ├── CustomPanel.php │ │ ├── CustomPanelBase.php │ │ ├── DirectAdmin.php │ │ └── Plesk.php │ │ ├── PanelController.php │ │ ├── PluginVersion.php │ │ ├── RedefineGlobalFuncs.php │ │ ├── ThirdParty │ │ └── Polyfill │ │ │ ├── LICENSE │ │ │ └── Utf8.php │ │ ├── UserCommand.php │ │ ├── Util.php │ │ ├── View │ │ ├── AjaxView.php │ │ ├── Model │ │ │ ├── Ajax │ │ │ │ └── CacheMgrRowViewModel.php │ │ │ ├── CacheRootNotSetViewModel.php │ │ │ ├── DashNotifierViewModel.php │ │ │ ├── DataFileMsgViewModel.php │ │ │ ├── ManageViewModel.php │ │ │ ├── MassDashDisableProgressViewModel.php │ │ │ ├── MassDashNotifyProgressViewModel.php │ │ │ ├── MassEnableDisableProgressViewModel.php │ │ │ ├── MassEnableDisableViewModel.php │ │ │ ├── MissingTplViewModel.php │ │ │ ├── RefreshStatusProgressViewModel.php │ │ │ ├── ScanProgressStepViewModel.php │ │ │ ├── ScanProgressViewModel.php │ │ │ ├── UnflagAllProgressViewModel.php │ │ │ ├── VersionChangeViewModel.php │ │ │ └── VersionManageViewModel.php │ │ └── Tpl │ │ │ ├── Ajax │ │ │ ├── CacheMgrActionsCol.tpl │ │ │ ├── CacheMgrFlagCol.tpl │ │ │ └── CacheMgrStatusCol.tpl │ │ │ ├── Blocks │ │ │ └── InputSubmitBtn.tpl │ │ │ ├── CacheRootNotSet.tpl │ │ │ ├── DashNotifier.tpl │ │ │ ├── DataFileMsg.tpl │ │ │ ├── Manage.tpl │ │ │ ├── MassDashDisableProgress.tpl │ │ │ ├── MassDashNotifyProgress.tpl │ │ │ ├── MassEnableDisable.tpl │ │ │ ├── MassEnableDisableProgress.tpl │ │ │ ├── MissingTpl.tpl │ │ │ ├── RefreshStatusProgress.tpl │ │ │ ├── ScanProgress.tpl │ │ │ ├── ScanProgressStep1.tpl │ │ │ ├── ScanProgressStep2.tpl │ │ │ ├── UnflagAllProgress.tpl │ │ │ ├── VersionChange.tpl │ │ │ └── VersionManage.tpl │ │ ├── WPCaller.php │ │ ├── WPDashMsgs.php │ │ ├── WPInstall.php │ │ ├── WPInstallStorage.php │ │ └── WpWrapper │ │ ├── PluginUpgrader.php │ │ ├── WpConstants.php │ │ ├── WpFuncs.php │ │ ├── WpQuery.php │ │ ├── WpTextdomainRegistry.php │ │ └── Wpdb.php ├── admin │ ├── conf │ │ ├── admin_config.conf.in │ │ ├── admin_config_ssl.conf.in │ │ └── php.ini │ ├── html.open │ │ ├── favicon.ico │ │ ├── index.php │ │ ├── lib │ │ │ ├── CAuthorizer.php │ │ │ ├── CData.php │ │ │ ├── CNode.php │ │ │ ├── CValidation.php │ │ │ ├── ControllerBase.php │ │ │ ├── DAttrBase.php │ │ │ ├── DAttrHelp.php │ │ │ ├── DInfo.php │ │ │ ├── DKeywordAlias.php │ │ │ ├── DMsg.php │ │ │ ├── DPage.php │ │ │ ├── DTbl.php │ │ │ ├── DTblDefBase.php │ │ │ ├── DTblMap.php │ │ │ ├── LogViewer.php │ │ │ ├── PathTool.php │ │ │ ├── PlainConfParser.php │ │ │ ├── SInfo.php │ │ │ ├── XmlParser.php │ │ │ ├── blowfish.php │ │ │ ├── jCryption.php │ │ │ ├── ows │ │ │ │ ├── ConfValidation.php │ │ │ │ ├── DAttr.php │ │ │ │ ├── DPageDef.php │ │ │ │ ├── DTblDef.php │ │ │ │ ├── Product.php │ │ │ │ ├── RealTimeStats.php │ │ │ │ ├── Service.php │ │ │ │ └── UI.php │ │ │ └── util │ │ │ │ └── build_php │ │ │ │ ├── BuildConfig.php │ │ │ │ ├── build_common.template │ │ │ │ ├── build_install.template │ │ │ │ ├── build_install_ext.template │ │ │ │ ├── build_manual_run.template │ │ │ │ ├── build_prepare.template │ │ │ │ ├── build_prepare_ext.template │ │ │ │ └── buildfunc.inc.php │ │ ├── login.php │ │ ├── res │ │ │ ├── css │ │ │ │ ├── bootstrap.min.css │ │ │ │ ├── font-awesome.min.css │ │ │ │ ├── googlefonts.css │ │ │ │ ├── lockscreen.min.css │ │ │ │ ├── lst-webadmin.min.css │ │ │ │ └── smartadmin-production.min.css │ │ │ ├── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ ├── open-sans-v17-latin-300.woff │ │ │ │ ├── open-sans-v17-latin-300.woff2 │ │ │ │ ├── open-sans-v17-latin-700.woff │ │ │ │ ├── open-sans-v17-latin-700.woff2 │ │ │ │ ├── open-sans-v17-latin-700italic.woff │ │ │ │ ├── open-sans-v17-latin-700italic.woff2 │ │ │ │ ├── open-sans-v17-latin-italic.woff │ │ │ │ ├── open-sans-v17-latin-italic.woff2 │ │ │ │ ├── open-sans-v17-latin-regular.woff │ │ │ │ └── open-sans-v17-latin-regular.woff2 │ │ │ ├── img │ │ │ │ ├── ajax-loader.gif │ │ │ │ ├── alpha.png │ │ │ │ ├── blank.gif │ │ │ │ ├── clear.png │ │ │ │ ├── favicon │ │ │ │ │ └── favicon.ico │ │ │ │ ├── hue.png │ │ │ │ ├── icons │ │ │ │ │ ├── adminconfig.gif │ │ │ │ │ ├── administrator.gif │ │ │ │ │ ├── application.gif │ │ │ │ │ ├── cgi.gif │ │ │ │ │ ├── controlpanel.gif │ │ │ │ │ ├── database.gif │ │ │ │ │ ├── debug.gif │ │ │ │ │ ├── down.gif │ │ │ │ │ ├── edit.gif │ │ │ │ │ ├── fast_cgi.gif │ │ │ │ │ ├── favicon.ico │ │ │ │ │ ├── file.gif │ │ │ │ │ ├── filter.gif │ │ │ │ │ ├── form.gif │ │ │ │ │ ├── graph.gif │ │ │ │ │ ├── help.png │ │ │ │ │ ├── info.gif │ │ │ │ │ ├── link.gif │ │ │ │ │ ├── load_balancer.gif │ │ │ │ │ ├── lock.gif │ │ │ │ │ ├── ls_sapi.gif │ │ │ │ │ ├── module.gif │ │ │ │ │ ├── module_handler.gif │ │ │ │ │ ├── network.gif │ │ │ │ │ ├── play.gif │ │ │ │ │ ├── record.gif │ │ │ │ │ ├── redirect.gif │ │ │ │ │ ├── refresh.gif │ │ │ │ │ ├── report.gif │ │ │ │ │ ├── script.gif │ │ │ │ │ ├── search.gif │ │ │ │ │ ├── serverconfig.gif │ │ │ │ │ ├── servlet_engine.gif │ │ │ │ │ ├── shield.gif │ │ │ │ │ ├── stop.gif │ │ │ │ │ ├── trash.gif │ │ │ │ │ ├── up.gif │ │ │ │ │ ├── web.gif │ │ │ │ │ ├── web_link.gif │ │ │ │ │ └── web_server.gif │ │ │ │ ├── loading.gif │ │ │ │ ├── lsws_bolt.png │ │ │ │ ├── lsws_bolt.svg │ │ │ │ ├── mappin-default.png │ │ │ │ ├── minus.png │ │ │ │ ├── mybg.png │ │ │ │ ├── plus.png │ │ │ │ ├── product_logo.gif │ │ │ │ ├── product_logo.svg │ │ │ │ ├── ribbon.png │ │ │ │ ├── sa-dark.png │ │ │ │ ├── sa-default.png │ │ │ │ ├── sort_asc.png │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ ├── sort_both.png │ │ │ │ ├── sort_desc.png │ │ │ │ ├── sort_desc_disabled.png │ │ │ │ └── vt-menu.png │ │ │ ├── js │ │ │ │ ├── app.config.min.js │ │ │ │ ├── bootstrap │ │ │ │ │ └── bootstrap.min.js │ │ │ │ ├── jcryption │ │ │ │ │ └── jquery.jcryption.min.js │ │ │ │ ├── libs │ │ │ │ │ ├── jquery-2.2.4.min.js │ │ │ │ │ └── jquery-ui-1.12.1.min.js │ │ │ │ ├── lst-app.min.js │ │ │ │ ├── notification │ │ │ │ │ ├── SmartNotification.js │ │ │ │ │ └── SmartNotification.min.js │ │ │ │ └── plugin │ │ │ │ │ ├── datatable-responsive │ │ │ │ │ └── datatables.responsive.min.js │ │ │ │ │ ├── datatables │ │ │ │ │ ├── dataTables.bootstrap.min.js │ │ │ │ │ ├── dataTables.colReorder.min.js │ │ │ │ │ ├── dataTables.colVis.min.js │ │ │ │ │ ├── dataTables.tableTools.min.js │ │ │ │ │ ├── jquery.dataTables.min.js │ │ │ │ │ └── swf │ │ │ │ │ │ ├── copy_csv_xls.swf │ │ │ │ │ │ └── copy_csv_xls_pdf.swf │ │ │ │ │ ├── flot │ │ │ │ │ ├── jquery.flot.cust.min.js │ │ │ │ │ ├── jquery.flot.fillbetween.min.js │ │ │ │ │ ├── jquery.flot.orderBar.min.js │ │ │ │ │ ├── jquery.flot.pie.min.js │ │ │ │ │ ├── jquery.flot.resize.min.js │ │ │ │ │ └── jquery.flot.tooltip.min.js │ │ │ │ │ └── msie-fix │ │ │ │ │ └── jquery.mb.browser.min.js │ │ │ └── lang │ │ │ │ ├── en-US_msg.php │ │ │ │ ├── en-US_tips.php │ │ │ │ ├── ja-JP_msg.php │ │ │ │ ├── ja-JP_tips.php │ │ │ │ ├── util_sortlang.php │ │ │ │ ├── zh-CN_msg.php │ │ │ │ └── zh-CN_tips.php │ │ └── view │ │ │ ├── UIBase.php │ │ │ ├── UIProperty.php │ │ │ ├── ajax_data.php │ │ │ ├── compilePHP.php │ │ │ ├── confMgr.php │ │ │ ├── dashboard.php │ │ │ ├── inc │ │ │ ├── auth.php │ │ │ ├── configui.php │ │ │ ├── global.php │ │ │ ├── header.php │ │ │ ├── nav.php │ │ │ └── scripts.php │ │ │ ├── logviewer.php │ │ │ ├── realtimestats.php │ │ │ └── serviceMgr.php │ └── misc │ │ ├── admpass.sh │ │ ├── build_admin_php.sh │ │ ├── convertxml.php │ │ ├── convertxml.sh │ │ ├── create_admin_keypair.sh │ │ ├── enable_phpa.sh │ │ ├── gdb-bt │ │ ├── genjCryptionKeyPair.php │ │ ├── gzipStatic.sh │ │ ├── htpasswd.php │ │ ├── lscmctl │ │ ├── lshttpd.service.in │ │ ├── lsup.sh │ │ ├── lsws.rc.gentoo.in │ │ ├── lsws.rc.in │ │ ├── php.ini │ │ ├── rc-inst.sh │ │ ├── rc-uninst.sh │ │ ├── testbeta.sh │ │ └── uninstall.sh ├── adminssl.conf ├── bin │ └── lswsctrl ├── conf │ ├── httpd_config.conf.in │ ├── mime.properties │ ├── switch_config.sh │ ├── templates │ │ ├── ccl.conf │ │ └── rails.conf │ └── vhosts │ │ └── Example │ │ ├── htgroup │ │ ├── htpasswd │ │ └── vhconf.conf ├── docs │ ├── AdminGeneral_Help.html │ ├── AdminListeners_General_Help.html │ ├── AdminListeners_SSL_Help.html │ ├── AdminSecurity_Help.html │ ├── App_Server_Context.html │ ├── App_Server_Help.html │ ├── CGI_Context.html │ ├── CompilePHP_Help.html │ ├── Context_Help.html │ ├── ExtApp_Help.html │ ├── External_FCGI.html │ ├── External_FCGI_Auth.html │ ├── External_LB.html │ ├── External_LSAPI.html │ ├── External_PL.html │ ├── External_Servlet.html │ ├── External_WS.html │ ├── FCGI_Context.html │ ├── Java_Web_App_Context.html │ ├── LB_Context.html │ ├── LSAPI_Context.html │ ├── Listeners_General_Help.html │ ├── Listeners_SSL_Help.html │ ├── Module_Context.html │ ├── Module_Help.html │ ├── Proxy_Context.html │ ├── Real_Time_Stats_Help.html │ ├── Redirect_Context.html │ ├── Rewrite_Help.html │ ├── ScriptHandler_Help.html │ ├── ServGeneral_Help.html │ ├── ServLog_Help.html │ ├── ServSecurity_Help.html │ ├── ServTuning_Help.html │ ├── ServerStat_Help.html │ ├── Servlet_Context.html │ ├── Static_Context.html │ ├── Templates_Help.html │ ├── VHGeneral_Help.html │ ├── VHSSL_Help.html │ ├── VHSecurity_Help.html │ ├── VHWebSocket_Help.html │ ├── VirtualHosts_Help.html │ ├── admin.html │ ├── config.html │ ├── css │ │ └── hdoc.css │ ├── img │ │ ├── attention.svg │ │ ├── info.svg │ │ ├── lightning-bolt.svg │ │ ├── lsws_logo.svg │ │ ├── ols_logo.svg │ │ ├── shield.svg │ │ └── web-adc_logo.svg │ ├── index.html │ ├── install.html │ ├── intro.html │ ├── ja-JP │ │ ├── AdminGeneral_Help.html │ │ ├── AdminListeners_General_Help.html │ │ ├── AdminListeners_SSL_Help.html │ │ ├── AdminSecurity_Help.html │ │ ├── App_Server_Context.html │ │ ├── App_Server_Help.html │ │ ├── CGI_Context.html │ │ ├── CompilePHP_Help.html │ │ ├── Context_Help.html │ │ ├── ExtApp_Help.html │ │ ├── External_FCGI.html │ │ ├── External_FCGI_Auth.html │ │ ├── External_LB.html │ │ ├── External_LSAPI.html │ │ ├── External_PL.html │ │ ├── External_Servlet.html │ │ ├── External_WS.html │ │ ├── FCGI_Context.html │ │ ├── Java_Web_App_Context.html │ │ ├── LB_Context.html │ │ ├── LSAPI_Context.html │ │ ├── Listeners_General_Help.html │ │ ├── Listeners_SSL_Help.html │ │ ├── Module_Context.html │ │ ├── Module_Help.html │ │ ├── Proxy_Context.html │ │ ├── Real_Time_Stats_Help.html │ │ ├── Redirect_Context.html │ │ ├── Rewrite_Help.html │ │ ├── ScriptHandler_Help.html │ │ ├── ServGeneral_Help.html │ │ ├── ServLog_Help.html │ │ ├── ServSecurity_Help.html │ │ ├── ServTuning_Help.html │ │ ├── ServerStat_Help.html │ │ ├── Servlet_Context.html │ │ ├── Static_Context.html │ │ ├── Templates_Help.html │ │ ├── VHGeneral_Help.html │ │ ├── VHSSL_Help.html │ │ ├── VHSecurity_Help.html │ │ ├── VHWebSocket_Help.html │ │ ├── VirtualHosts_Help.html │ │ ├── admin.html │ │ ├── config.html │ │ ├── index.html │ │ ├── install.html │ │ ├── intro.html │ │ ├── license.html │ │ ├── security.html │ │ └── webconsole.html │ ├── license.html │ ├── security.html │ ├── webconsole.html │ └── zh-CN │ │ ├── AdminGeneral_Help.html │ │ ├── AdminListeners_General_Help.html │ │ ├── AdminListeners_SSL_Help.html │ │ ├── AdminSecurity_Help.html │ │ ├── App_Server_Context.html │ │ ├── App_Server_Help.html │ │ ├── CGI_Context.html │ │ ├── CompilePHP_Help.html │ │ ├── Context_Help.html │ │ ├── ExtApp_Help.html │ │ ├── External_FCGI.html │ │ ├── External_FCGI_Auth.html │ │ ├── External_LB.html │ │ ├── External_LSAPI.html │ │ ├── External_PL.html │ │ ├── External_Servlet.html │ │ ├── External_WS.html │ │ ├── FCGI_Context.html │ │ ├── Java_Web_App_Context.html │ │ ├── LB_Context.html │ │ ├── LSAPI_Context.html │ │ ├── Listeners_General_Help.html │ │ ├── Listeners_SSL_Help.html │ │ ├── Module_Context.html │ │ ├── Module_Help.html │ │ ├── Proxy_Context.html │ │ ├── Real_Time_Stats_Help.html │ │ ├── Redirect_Context.html │ │ ├── Rewrite_Help.html │ │ ├── ScriptHandler_Help.html │ │ ├── ServGeneral_Help.html │ │ ├── ServLog_Help.html │ │ ├── ServSecurity_Help.html │ │ ├── ServTuning_Help.html │ │ ├── ServerStat_Help.html │ │ ├── Servlet_Context.html │ │ ├── Static_Context.html │ │ ├── Templates_Help.html │ │ ├── VHGeneral_Help.html │ │ ├── VHSSL_Help.html │ │ ├── VHSecurity_Help.html │ │ ├── VHWebSocket_Help.html │ │ ├── VirtualHosts_Help.html │ │ ├── admin.html │ │ ├── config.html │ │ ├── index.html │ │ ├── install.html │ │ ├── intro.html │ │ ├── license.html │ │ ├── security.html │ │ └── webconsole.html ├── fcgi-bin │ ├── RackRunner.rb │ ├── lsnode.js │ ├── lsnodesm.js │ └── lsperld.fpl ├── functions.sh ├── install.sh ├── lsns │ ├── bin │ │ ├── common.py │ │ ├── lscgctl │ │ ├── lscgstats │ │ ├── lsnsctl │ │ ├── lspkgctl │ │ └── lssetup │ ├── conf │ │ └── lscntr.txt │ └── logs │ │ └── .gitignore ├── lsrecaptcha │ ├── _recaptcha │ └── _recaptcha.shtml └── share │ └── autoindex │ ├── assets │ ├── css │ │ └── autoindex.css │ ├── icons │ │ ├── corner-left-up.svg │ │ ├── file-text.svg │ │ ├── file.svg │ │ ├── folder-fill.svg │ │ ├── image.svg │ │ ├── music.svg │ │ └── video.svg │ └── js │ │ ├── tablesort.js │ │ └── tablesort.number.js │ ├── autoindex_include.php │ ├── bwlimit.html │ ├── default.php │ ├── default_nojs.php │ ├── default_withjs.php │ └── icons │ ├── corner-left-up.svg │ ├── file-text.svg │ ├── file.svg │ ├── folder-fill.svg │ ├── image.svg │ ├── music.svg │ └── video.svg ├── dlbrotli.sh ├── dlbssl.sh ├── dlmaxminddb.sh ├── doc ├── ModuleDeveloperGuide.odt └── ModuleDeveloperGuide.pdf ├── fixtimestamp.sh ├── format.sh ├── include ├── ls.h ├── lsdef.h ├── lsiapi.doxc ├── lsquic.h ├── lsquic_types.h └── lsr │ ├── DoxygenLayout.xml │ ├── ls_aho.h │ ├── ls_atomic.h │ ├── ls_base64.h │ ├── ls_buf.h │ ├── ls_confparser.h │ ├── ls_crc64.h │ ├── ls_dlinkq.h │ ├── ls_edio.h │ ├── ls_evtcb.h │ ├── ls_fileio.h │ ├── ls_hash.h │ ├── ls_lfqueue.h │ ├── ls_lfstack.h │ ├── ls_link.h │ ├── ls_llmq.h │ ├── ls_llxq.h │ ├── ls_lock.h │ ├── ls_log.h │ ├── ls_loopbuf.h │ ├── ls_map.h │ ├── ls_md5.h │ ├── ls_node.h │ ├── ls_objarray.h │ ├── ls_objpool.h │ ├── ls_pcreg.h │ ├── ls_pool.h │ ├── ls_ptrlist.h │ ├── ls_sha1.h │ ├── ls_shm.h │ ├── ls_stack.h │ ├── ls_str.h │ ├── ls_strlist.h │ ├── ls_strtool.h │ ├── ls_swap.h │ ├── ls_time.h │ ├── ls_tsstack.h │ ├── ls_types.h │ ├── ls_xpool.h │ ├── lsrapi.doxc │ └── xxhash.h ├── install-sh ├── install_lsrecaptcha.sh ├── installudns.sh ├── ltmain.sh ├── missing ├── modverinfo.sh ├── nodejs_integration ├── nodejs │ ├── README-NODE │ ├── binding.gyp │ ├── lsnodeapi.cc │ ├── lsnodesrv.js │ └── myfirst.js └── udns-0.4.tar.gz ├── openlitespeed.kdev4 ├── src ├── .cvsignore ├── CMakeLists.txt ├── Makefile.am ├── Makefile.in ├── adns │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── adns.cpp │ └── adns.h ├── config.h.cmake ├── config.h.in ├── edio │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── aioeventhandler.cpp │ ├── aioeventhandler.h │ ├── aiooutputstream.cpp │ ├── aiooutputstream.h │ ├── aioreqeventhandler.h │ ├── aiosendfile.cpp │ ├── aiosendfile.h │ ├── bufferedos.cpp │ ├── bufferedos.h │ ├── cacheos.cpp │ ├── cacheos.h │ ├── callbackqueue.cpp │ ├── callbackqueue.h │ ├── devpoller.cpp │ ├── devpoller.h │ ├── ediostream.cpp │ ├── ediostream.h │ ├── epoll.cpp │ ├── epoll.h │ ├── eventhandler.h │ ├── eventnotifier.cpp │ ├── eventnotifier.h │ ├── eventprocessor.cpp │ ├── eventprocessor.h │ ├── eventreactor.cpp │ ├── eventreactor.h │ ├── evtcbque.cpp │ ├── evtcbque.h │ ├── fdindex.cpp │ ├── fdindex.h │ ├── flowcontrol.cpp │ ├── flowcontrol.h │ ├── inputstream.cpp │ ├── inputstream.h │ ├── iochain.cpp │ ├── iochain.h │ ├── iouring.cpp │ ├── iouring.h │ ├── kqueuer.cpp │ ├── kqueuer.h │ ├── liburing │ │ ├── include │ │ │ ├── liburing.h │ │ │ └── liburing │ │ │ │ ├── barrier.h │ │ │ │ ├── io_uring.h │ │ │ │ └── time_types.h │ │ ├── queue.c │ │ ├── register.c │ │ ├── setup.c │ │ ├── syscall.c │ │ └── syscall.h │ ├── linuxaio.cpp │ ├── linuxaio.h │ ├── lookupfd.cpp │ ├── lookupfd.h │ ├── lsaioreq.cpp │ ├── lsaioreq.h │ ├── lsiouringreq.cpp │ ├── lsiouringreq.h │ ├── lslinuxaioreq.cpp │ ├── lslinuxaioreq.h │ ├── lsposixaioreq.cpp │ ├── lsposixaioreq.h │ ├── multiplexer.cpp │ ├── multiplexer.h │ ├── multiplexerfactory.cpp │ ├── multiplexerfactory.h │ ├── outputbuf.cpp │ ├── outputbuf.h │ ├── outputstream.cpp │ ├── outputstream.h │ ├── poller.cpp │ ├── poller.h │ ├── pollfdreactor.cpp │ ├── pollfdreactor.h │ ├── reactorindex.cpp │ ├── reactorindex.h │ ├── rtsigio.cpp │ ├── rtsigio.h │ ├── sigeventdispatcher.cpp │ ├── sigeventdispatcher.h │ ├── ssledstream.cpp │ ├── ssledstream.h │ └── streamstat.h ├── extensions │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── cgi │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── cgiconnection.cpp │ │ ├── cgiconnection.h │ │ ├── cgidconfig.cpp │ │ ├── cgidconfig.h │ │ ├── cgidconn.cpp │ │ ├── cgidconn.h │ │ ├── cgidreq.cpp │ │ ├── cgidreq.h │ │ ├── cgidworker.cpp │ │ ├── cgidworker.h │ │ ├── cgroupconn.cpp │ │ ├── cgroupconn.h │ │ ├── cgroupuse.cpp │ │ ├── cgroupuse.h │ │ ├── lscgid.cpp │ │ ├── lscgid.h │ │ ├── lscgiddef.h │ │ ├── ns.c │ │ ├── ns.h │ │ ├── nsipc.h │ │ ├── nsopts.c │ │ ├── nsopts.h │ │ ├── nspersist.c │ │ ├── nspersist.h │ │ ├── nsutils.c │ │ ├── nsutils.h │ │ ├── suexec.cpp │ │ ├── suexec.h │ │ ├── use_bwrap.c │ │ └── use_bwrap.h │ ├── detached.h │ ├── extconn.cpp │ ├── extconn.h │ ├── extrequest.cpp │ ├── extrequest.h │ ├── extworker.cpp │ ├── extworker.h │ ├── extworkerconfig.cpp │ ├── extworkerconfig.h │ ├── fcgi │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── fcgiapp.cpp │ │ ├── fcgiapp.h │ │ ├── fcgiappconfig.cpp │ │ ├── fcgiappconfig.h │ │ ├── fcgiconnection.cpp │ │ ├── fcgiconnection.h │ │ ├── fcgidef.h │ │ ├── fcgienv.cpp │ │ ├── fcgienv.h │ │ ├── fcginamevaluepair.cpp │ │ ├── fcginamevaluepair.h │ │ ├── fcgirecord.cpp │ │ ├── fcgirecord.h │ │ ├── fcgireqlist.cpp │ │ ├── fcgireqlist.h │ │ ├── fcgirequest.cpp │ │ ├── fcgirequest.h │ │ ├── fcgistarter.cpp │ │ ├── fcgistarter.h │ │ ├── samplefcgiextconn.cpp │ │ └── samplefcgiextconn.h │ ├── httpextprocessor.cpp │ ├── httpextprocessor.h │ ├── iprocessortimer.cpp │ ├── iprocessortimer.h │ ├── jk │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── jconn.cpp │ │ ├── jconn.h │ │ ├── jkajp13.cpp │ │ ├── jkajp13.h │ │ ├── jworker.cpp │ │ ├── jworker.h │ │ ├── jworkerconfig.cpp │ │ └── jworkerconfig.h │ ├── l4conn.cpp │ ├── l4conn.h │ ├── loadbalancer.cpp │ ├── loadbalancer.h │ ├── localworker.cpp │ ├── localworker.h │ ├── localworkerconfig.cpp │ ├── localworkerconfig.h │ ├── lsapi │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── lsapiconfig.cpp │ │ ├── lsapiconfig.h │ │ ├── lsapiconn.cpp │ │ ├── lsapiconn.h │ │ ├── lsapidef.h │ │ ├── lsapireq.cpp │ │ ├── lsapireq.h │ │ ├── lsapiworker.cpp │ │ └── lsapiworker.h │ ├── pidlist.cpp │ ├── pidlist.h │ ├── proxy │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── proxyconfig.cpp │ │ ├── proxyconfig.h │ │ ├── proxyconn.cpp │ │ ├── proxyconn.h │ │ ├── proxyworker.cpp │ │ └── proxyworker.h │ ├── registry │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── appconfig.cpp │ │ ├── appconfig.h │ │ ├── extappregistry.cpp │ │ └── extappregistry.h │ ├── ssl4conn.cpp │ └── ssl4conn.h ├── h2 │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── h2connbase.cpp │ ├── h2connbase.h │ ├── h2connection.cpp │ ├── h2connection.h │ ├── h2protocol.cpp │ ├── h2protocol.h │ ├── h2stream.cpp │ ├── h2stream.h │ ├── h2streambase.cpp │ ├── h2streambase.h │ ├── h2streampool.cpp │ ├── h2streampool.h │ ├── lsxpack_error_code.h │ ├── ssledstream.cpp │ ├── ssledstream.h │ ├── unpackedheaders.cpp │ └── unpackedheaders.h ├── http │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── accesscache.cpp │ ├── accesscache.h │ ├── accesslog.cpp │ ├── accesslog.h │ ├── authuser.cpp │ ├── authuser.h │ ├── awstats.cpp │ ├── awstats.h │ ├── cacheelement.cpp │ ├── cacheelement.h │ ├── chunkinputstream.cpp │ ├── chunkinputstream.h │ ├── chunkoutputstream.cpp │ ├── chunkoutputstream.h │ ├── clientcache.cpp │ ├── clientcache.h │ ├── clientinfo.cpp │ ├── clientinfo.h │ ├── connlimitctrl.cpp │ ├── connlimitctrl.h │ ├── contextlist.cpp │ ├── contextlist.h │ ├── contextnode.cpp │ ├── contextnode.h │ ├── contexttree.cpp │ ├── contexttree.h │ ├── denieddir.cpp │ ├── denieddir.h │ ├── eventdispatcher.cpp │ ├── eventdispatcher.h │ ├── expiresctrl.cpp │ ├── expiresctrl.h │ ├── expression.cpp │ ├── expression.h │ ├── handlerfactory.cpp │ ├── handlerfactory.h │ ├── handlertype.cpp │ ├── handlertype.h │ ├── hiochainstream.cpp │ ├── hiochainstream.h │ ├── hiohandlerfactory.cpp │ ├── hiohandlerfactory.h │ ├── hiostream.cpp │ ├── hiostream.h │ ├── hotlinkctrl.cpp │ ├── hotlinkctrl.h │ ├── htauth.cpp │ ├── htauth.h │ ├── htpasswd.cpp │ ├── htpasswd.h │ ├── httpaiosendfile.cpp │ ├── httpaiosendfile.h │ ├── httpcache.cpp │ ├── httpcache.h │ ├── httpcgitool.cpp │ ├── httpcgitool.h │ ├── httpcontext.cpp │ ├── httpcontext.h │ ├── httpdefs.h │ ├── httpextconnector.cpp │ ├── httpextconnector.h │ ├── httphandler.cpp │ ├── httphandler.h │ ├── httpheader.cpp │ ├── httpheader.h │ ├── httplistener.cpp │ ├── httplistener.h │ ├── httplistenerlist.cpp │ ├── httplistenerlist.h │ ├── httplog.cpp │ ├── httplog.h │ ├── httplogsource.cpp │ ├── httplogsource.h │ ├── httpmethod.cpp │ ├── httpmethod.h │ ├── httpmime.cpp │ ├── httpmime.h │ ├── httprange.cpp │ ├── httprange.h │ ├── httpreq.cpp │ ├── httpreq.h │ ├── httpresourcemanager.cpp │ ├── httpresourcemanager.h │ ├── httpresp.cpp │ ├── httpresp.h │ ├── httprespheaders.cpp │ ├── httprespheaders.h │ ├── httpserverconfig.cpp │ ├── httpserverconfig.h │ ├── httpserverversion.cpp │ ├── httpserverversion.h │ ├── httpsession.cpp │ ├── httpsession.h │ ├── httpsessionmt.h │ ├── httpsignals.cpp │ ├── httpsignals.h │ ├── httpstats.cpp │ ├── httpstats.h │ ├── httpstatuscode.cpp │ ├── httpstatuscode.h │ ├── httpstatusline.cpp │ ├── httpstatusline.h │ ├── httpver.cpp │ ├── httpver.h │ ├── httpvhost.cpp │ ├── httpvhost.h │ ├── httpvhostlist.cpp │ ├── httpvhostlist.h │ ├── ip2geo.h │ ├── iptogeo2.cpp │ ├── iptogeo2.h │ ├── iptoloc.cpp │ ├── iptoloc.h │ ├── l4handler.cpp │ ├── l4handler.h │ ├── ls_http_header.h │ ├── moduserdir.cpp │ ├── moduserdir.h │ ├── moov.cpp │ ├── moov.h │ ├── moovP.h │ ├── mtsessdata.h │ ├── nshttp.h │ ├── ntwkiolink.cpp │ ├── ntwkiolink.h │ ├── phpconfig.cpp │ ├── phpconfig.h │ ├── pipeappender.cpp │ ├── pipeappender.h │ ├── platforms.h │ ├── recaptcha.cpp │ ├── recaptcha.h │ ├── reqhandler.cpp │ ├── reqhandler.h │ ├── reqparser.cpp │ ├── reqparser.h │ ├── reqparserparam.h │ ├── reqstats.cpp │ ├── reqstats.h │ ├── requestvars.cpp │ ├── requestvars.h │ ├── rewriteengine.cpp │ ├── rewriteengine.h │ ├── rewritemap.cpp │ ├── rewritemap.h │ ├── rewriterule.cpp │ ├── rewriterule.h │ ├── rewriterulelist.cpp │ ├── rewriterulelist.h │ ├── sendfileinfo.cpp │ ├── sendfileinfo.h │ ├── serverprocessconfig.cpp │ ├── serverprocessconfig.h │ ├── smartsettings.cpp │ ├── smartsettings.h │ ├── staticfilecache.cpp │ ├── staticfilecache.h │ ├── staticfilecachedata.cpp │ ├── staticfilecachedata.h │ ├── staticfilehandler.cpp │ ├── staticfilehandler.h │ ├── statusurlmap.cpp │ ├── statusurlmap.h │ ├── stderrlogger.cpp │ ├── stderrlogger.h │ ├── subrequest.cpp │ ├── throttlecontrol.cpp │ ├── throttlecontrol.h │ ├── urimatch.cpp │ ├── urimatch.h │ ├── userdir.cpp │ ├── userdir.h │ ├── vhostmap.cpp │ └── vhostmap.h ├── httpdtest.cpp ├── httpdtest.h ├── liblsquic ├── log4cxx │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── appender.cpp │ ├── appender.h │ ├── appendermanager.cpp │ ├── appendermanager.h │ ├── bench.cpp │ ├── fileappender.cpp │ ├── fileappender.h │ ├── ilog.cpp │ ├── ilog.h │ ├── layout.cpp │ ├── layout.h │ ├── level.cpp │ ├── level.h │ ├── logger.cpp │ ├── logger.h │ ├── loggingevent.cpp │ ├── loggingevent.h │ ├── logrotate.cpp │ ├── logrotate.h │ ├── logsession.cpp │ ├── logsession.h │ ├── nsdefs.h │ ├── patternlayout.cpp │ ├── patternlayout.h │ ├── tmplogid.cpp │ └── tmplogid.h ├── lshpack ├── lsiapi │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── ediohandler.cpp │ ├── ediohandler.h │ ├── envmanager.cpp │ ├── envmanager.h │ ├── internal.h │ ├── lsiapi.cpp │ ├── lsiapi.h │ ├── lsiapi_const.cpp │ ├── lsiapi_const.h │ ├── lsiapigd.cpp │ ├── lsiapigd.h │ ├── lsiapihooks.cpp │ ├── lsiapihooks.h │ ├── lsiapilib.cpp │ ├── lsiapilib.h │ ├── lsimoduledata.cpp │ ├── lsimoduledata.h │ ├── modulehandler.cpp │ ├── modulehandler.h │ ├── modulemanager.cpp │ ├── modulemanager.h │ ├── moduletimer.cpp │ └── moduletimer.h ├── lsr │ ├── CMakeLists.txt │ ├── dynamic_annotations.h │ ├── ls_aho.c │ ├── ls_base64.c │ ├── ls_buf.c │ ├── ls_confparser.c │ ├── ls_crc64.c │ ├── ls_dlinkq.c │ ├── ls_fileio.c │ ├── ls_hash.c │ ├── ls_internal.h │ ├── ls_lfqueue.c │ ├── ls_lfstack.c │ ├── ls_link.c │ ├── ls_llmq.c │ ├── ls_llxq.c │ ├── ls_lock.c │ ├── ls_loopbuf.c │ ├── ls_map.c │ ├── ls_md5.c │ ├── ls_memcheck.h │ ├── ls_mpscq.c │ ├── ls_objarray.c │ ├── ls_objpool.c │ ├── ls_offload.h │ ├── ls_pcreg.c │ ├── ls_pool.c │ ├── ls_pooldef.h │ ├── ls_poolint.h │ ├── ls_ptrlist.c │ ├── ls_sha1.c │ ├── ls_shm.cpp │ ├── ls_stack.c │ ├── ls_str.c │ ├── ls_strlist.c │ ├── ls_strtool.c │ ├── ls_threadcheck.h │ ├── ls_time.c │ ├── ls_tsstack.c │ ├── ls_xpool.c │ ├── ls_xpool_int.h │ ├── xxhash.c │ └── xxhash.h ├── lstl │ └── thash.h ├── main.cpp ├── main │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── configctx.cpp │ ├── configctx.h │ ├── httpconfigloader.cpp │ ├── httpconfigloader.h │ ├── httpserver.cpp │ ├── httpserver.h │ ├── lshttpdmain.cpp │ ├── lshttpdmain.h │ ├── mainserverconfig.cpp │ ├── mainserverconfig.h │ ├── plainconf.cpp │ ├── plainconf.h │ ├── serverinfo.cpp │ ├── serverinfo.h │ ├── timestamp.h │ ├── zconfclient.cpp │ ├── zconfclient.h │ ├── zconfmanager.cpp │ └── zconfmanager.h ├── modules │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── cache │ │ ├── CMakeLists.txt │ │ ├── cache.cpp │ │ ├── cache.kdev4 │ │ ├── cacheconfig.cpp │ │ ├── cacheconfig.h │ │ ├── cachectrl.cpp │ │ ├── cachectrl.h │ │ ├── cacheentry.cpp │ │ ├── cacheentry.h │ │ ├── cachehash.cpp │ │ ├── cachehash.h │ │ ├── cachemanager.cpp │ │ ├── cachemanager.h │ │ ├── cachestore.cpp │ │ ├── cachestore.h │ │ ├── ceheader.cpp │ │ ├── ceheader.h │ │ ├── dirhashcacheentry.cpp │ │ ├── dirhashcacheentry.h │ │ ├── dirhashcachestore.cpp │ │ ├── dirhashcachestore.h │ │ ├── shmcachemanager.cpp │ │ └── shmcachemanager.h │ ├── js │ │ ├── CMakeLists.txt │ │ ├── Makefile.f │ │ ├── lsjsengine.cpp │ │ ├── lsjsengine.h │ │ ├── modjs.cpp │ │ └── modjs.h │ ├── lsrecaptcha │ │ ├── README.md │ │ ├── build_lsrecaptcha.sh │ │ └── src │ │ │ ├── ls │ │ │ └── lsapi │ │ │ │ ├── def.go │ │ │ │ ├── logger.go │ │ │ │ ├── lsapi.go │ │ │ │ ├── lsapidef.h │ │ │ │ ├── lsgo.c │ │ │ │ ├── lsgo.h │ │ │ │ ├── packet.go │ │ │ │ ├── response.go │ │ │ │ ├── sys.go │ │ │ │ └── worker.go │ │ │ └── lsrecaptcha │ │ │ ├── generator.go │ │ │ ├── main.go │ │ │ └── verifier.go │ ├── lua │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── Makefile.f │ │ ├── Makefile.in │ │ ├── README │ │ ├── edluastream.cpp │ │ ├── edluastream.h │ │ ├── lsluaapi.cpp │ │ ├── lsluaapi.h │ │ ├── lsluadefs.h │ │ ├── lsluaengine.cpp │ │ ├── lsluaengine.h │ │ ├── lsluaheader.cpp │ │ ├── lsluaregex.cpp │ │ ├── lsluasession.cpp │ │ ├── lsluasession.h │ │ ├── lsluashared.cpp │ │ └── modlua.cpp │ ├── mod_lsphp │ │ ├── CMakeLists.txt │ │ ├── build.sh │ │ ├── configure_mod_lsphp.sh │ │ ├── php-7.2-opcache-patch.txt │ │ └── src │ │ │ ├── CMakeLists.txt │ │ │ ├── config.m4 │ │ │ ├── mod_lsphp.c │ │ │ └── mod_lsphp.h │ ├── modgzip │ │ ├── CMakeLists.txt │ │ └── modgzip.cpp │ ├── modinspector │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── Makefile.f │ │ ├── Makefile.in │ │ ├── README │ │ └── modinspector.cpp │ ├── modreqparser │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── Makefile.f │ │ ├── Makefile.in │ │ ├── README │ │ └── modreqparser.cpp │ ├── modsecurity-ls │ │ ├── CMakeLists.txt │ │ ├── Makefile.f │ │ ├── README │ │ ├── dllibmodsecurity.sh │ │ └── mod_security.cpp │ ├── pagespeed │ │ ├── CMakeLists.txt │ │ ├── Makefile.f │ │ ├── README │ │ ├── dlpsol.sh │ │ ├── log_message_handler.cpp │ │ ├── log_message_handler.h │ │ ├── ls_base_fetch.cpp │ │ ├── ls_base_fetch.h │ │ ├── ls_caching_headers.cpp │ │ ├── ls_caching_headers.h │ │ ├── ls_message_handler.cpp │ │ ├── ls_message_handler.h │ │ ├── ls_rewrite_driver_factory.cpp │ │ ├── ls_rewrite_driver_factory.h │ │ ├── ls_rewrite_options.cpp │ │ ├── ls_rewrite_options.h │ │ ├── ls_server_context.cpp │ │ ├── ls_server_context.h │ │ ├── ls_uamatcher.cpp │ │ ├── ls_uamatcher.h │ │ ├── pagespeed.cpp │ │ └── pagespeed.h │ ├── prelinkedmods.cpp │ └── uploadprogress │ │ ├── CMakeLists.txt │ │ ├── Makefile.am │ │ ├── Makefile.f │ │ ├── Makefile.in │ │ ├── README │ │ └── uploadprogress.cpp ├── quic │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── ls_sendmmsg.h │ ├── packetbuf.h │ ├── pbset.cpp │ ├── pbset.h │ ├── quicengine.cpp │ ├── quicengine.h │ ├── quiclog.h │ ├── quicshm.cpp │ ├── quicshm.h │ ├── quicstream.cpp │ ├── quicstream.h │ ├── udplistener.cpp │ ├── udplistener.h │ └── udpspoof.h ├── shm │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── addrmap.cpp │ ├── addrmap.h │ ├── ls_shmhashcmp.cpp │ ├── ls_shmhashstat.cpp │ ├── ls_shmstat.cpp │ ├── lsshm.cpp │ ├── lsshm.h │ ├── lsshmhash.cpp │ ├── lsshmhash.h │ ├── lsshmhashobserver.cpp │ ├── lsshmhashobserver.h │ ├── lsshmlock.cpp │ ├── lsshmlock.h │ ├── lsshmpool.cpp │ ├── lsshmpool.h │ ├── lsshmtidmgr.cpp │ ├── lsshmtidmgr.h │ └── lsshmtypes.h ├── socket │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── coresocket.cpp │ ├── coresocket.h │ ├── datagramsocket.cpp │ ├── datagramsocket.h │ ├── errorno.cpp │ ├── errorno.h │ ├── filecntl.cpp │ ├── filecntl.h │ ├── gsockaddr.cpp │ ├── gsockaddr.h │ ├── hostinfo.cpp │ ├── hostinfo.h │ ├── ipv4addr.cpp │ ├── ipv4addr.h │ ├── ls_sock.c │ ├── ls_sock.h │ ├── rawsocket.cpp │ ├── rawsocket.h │ ├── reuseport.cpp │ ├── reuseport.h │ ├── serversocket.cpp │ ├── serversocket.h │ ├── sockdef.h │ ├── streamsocket.cpp │ ├── streamsocket.h │ ├── tcpconnection.cpp │ ├── tcpconnection.h │ ├── tcpserversocket.cpp │ ├── tcpserversocket.h │ ├── tcpsockopt.cpp │ ├── tcpsockopt.h │ ├── udpsocket.cpp │ └── udpsocket.h ├── spdy │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── protocoldef.h │ ├── spdyconnection.cpp │ ├── spdyconnection.h │ ├── spdydebug.cpp │ ├── spdydebug.h │ ├── spdyprotocol.cpp │ ├── spdyprotocol.h │ ├── spdystream.cpp │ ├── spdystream.h │ ├── spdystreampool.cpp │ ├── spdystreampool.h │ ├── spdyzlibfilter.cpp │ └── spdyzlibfilter.h ├── ssi │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── ssiconfig.cpp │ ├── ssiconfig.h │ ├── ssiengine.cpp │ ├── ssiengine.h │ ├── ssiruntime.cpp │ ├── ssiruntime.h │ ├── ssiscript.cpp │ └── ssiscript.h ├── sslpp │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── hiocrypto.h │ ├── ls_fdbuf_bio.c │ ├── ls_fdbuf_bio.h │ ├── ocsp │ │ ├── ocsp.c │ │ └── ocsp.h │ ├── sslasyncpk.cpp │ ├── sslasyncpk.h │ ├── sslcert.cpp │ ├── sslcert.h │ ├── sslcertcomp.cpp │ ├── sslcertcomp.h │ ├── sslconnection.cpp │ ├── sslconnection.h │ ├── sslcontext.cpp │ ├── sslcontext.h │ ├── sslcontextconfig.cpp │ ├── sslcontextconfig.h │ ├── ssldef.h │ ├── sslengine.cpp │ ├── sslengine.h │ ├── sslerror.cpp │ ├── sslerror.h │ ├── sslocspstapling.cpp │ ├── sslocspstapling.h │ ├── sslsesscache.cpp │ ├── sslsesscache.h │ ├── sslticket.cpp │ ├── sslticket.h │ ├── sslutil.cpp │ └── sslutil.h ├── thread │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── crewworker.cpp │ ├── crewworker.h │ ├── mtnotifier.cpp │ ├── mtnotifier.h │ ├── offloader.cpp │ ├── pthreadcond.cpp │ ├── pthreadcond.h │ ├── pthreadmutex.cpp │ ├── pthreadmutex.h │ ├── pthreadworkqueue.cpp │ ├── pthreadworkqueue.h │ ├── thread.cpp │ ├── thread.h │ ├── workcrew.cpp │ ├── workcrew.h │ ├── worker.cpp │ └── worker.h └── util │ ├── CMakeLists.txt │ ├── accesscontrol.cpp │ ├── accesscontrol.h │ ├── accessdef.h │ ├── aho.h │ ├── autobuf.h │ ├── autostr.cpp │ ├── autostr.h │ ├── blockbuf.cpp │ ├── blockbuf.h │ ├── brotlibuf.cpp │ ├── brotlibuf.h │ ├── compressor.cpp │ ├── compressor.h │ ├── configentry.cpp │ ├── configentry.h │ ├── connpool.cpp │ ├── connpool.h │ ├── crashguard.cpp │ ├── crashguard.h │ ├── daemonize.cpp │ ├── daemonize.h │ ├── datetime.cpp │ ├── datetime.h │ ├── dlinkqueue.cpp │ ├── dlinkqueue.h │ ├── duplicable.cpp │ ├── duplicable.h │ ├── emailsender.cpp │ ├── emailsender.h │ ├── env.cpp │ ├── env.h │ ├── fdpass.cpp │ ├── fdpass.h │ ├── filtermatch.cpp │ ├── filtermatch.h │ ├── gfactory.cpp │ ├── gfactory.h │ ├── ghash.cpp │ ├── ghash.h │ ├── gmap.h │ ├── gnew.cpp │ ├── gnew.h │ ├── gpath.cpp │ ├── gpath.h │ ├── gpointerlist.cpp │ ├── gpointerlist.h │ ├── gsendfile.h │ ├── guardedapp.cpp │ ├── guardedapp.h │ ├── gzipbuf.cpp │ ├── gzipbuf.h │ ├── hashdatacache.cpp │ ├── hashdatacache.h │ ├── hashstringmap.cpp │ ├── hashstringmap.h │ ├── httpfetch.cpp │ ├── httpfetch.h │ ├── httpfetchdriver.cpp │ ├── httpfetchdriver.h │ ├── httputil.cpp │ ├── httputil.h │ ├── iconnection.cpp │ ├── iconnection.h │ ├── ienv.h │ ├── iovec.cpp │ ├── iovec.h │ ├── itimer.cpp │ ├── itimer.h │ ├── keydata.cpp │ ├── keydata.h │ ├── linkedobj.cpp │ ├── linkedobj.h │ ├── linkedqueue.cpp │ ├── linkedqueue.h │ ├── linkobjpool.cpp │ ├── linkobjpool.h │ ├── logfile.cpp │ ├── logfile.h │ ├── loopbuf.cpp │ ├── loopbuf.h │ ├── ls_hash_fun.h │ ├── misc │ ├── denydup.h │ ├── profiletime.cpp │ └── profiletime.h │ ├── ni_fio.c │ ├── ni_fio.h │ ├── objarray.h │ ├── objpool.cpp │ ├── objpool.h │ ├── pcregex.cpp │ ├── pcregex.h │ ├── pcutil.cpp │ ├── pcutil.h │ ├── pidfile.cpp │ ├── pidfile.h │ ├── pool.cpp │ ├── pool.h │ ├── poolalloc.cpp │ ├── poolalloc.h │ ├── radixtree.cpp │ ├── radixtree.h │ ├── refcounter.cpp │ ├── refcounter.h │ ├── resourcepool.cpp │ ├── resourcepool.h │ ├── rlimits.cpp │ ├── rlimits.h │ ├── semaphore.cpp │ ├── semaphore.h │ ├── signalutil.cpp │ ├── signalutil.h │ ├── ssnprintf.h │ ├── staticobj.cpp │ ├── staticobj.h │ ├── stringlist.cpp │ ├── stringlist.h │ ├── stringmap.cpp │ ├── stringmap.h │ ├── stringtool.cpp │ ├── stringtool.h │ ├── swap.h │ ├── sysinfo │ ├── bsd_nicdetect.cpp │ ├── linux_nicdetect.cpp │ ├── nicdetect.cpp │ ├── nicdetect.h │ ├── partitioninfo.cpp │ ├── partitioninfo.h │ ├── siocglif_nicdetect.cpp │ ├── systeminfo.cpp │ └── systeminfo.h │ ├── timer.cpp │ ├── timer.h │ ├── timerprocessor.cpp │ ├── timerprocessor.h │ ├── timertask.cpp │ ├── timertask.h │ ├── tlinklist.cpp │ ├── tlinklist.h │ ├── tsingleton.cpp │ ├── tsingleton.h │ ├── vmembuf.cpp │ ├── vmembuf.h │ ├── xmlnode.cpp │ ├── xmlnode.h │ └── xpool.h ├── support ├── CMakeLists.txt ├── Makefile.am ├── Makefile.in ├── cmd_ns │ ├── CMakeLists.txt │ ├── cmd_ns.c │ ├── ns.c │ ├── nsopts.c │ ├── nspersist.c │ └── nsutils.c └── unmount_ns │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── ns.c │ ├── nsopts.c │ ├── nspersist.c │ ├── nsutils.c │ └── unmount_ns.c ├── test ├── CMakeLists.txt ├── asan_run ├── edio │ ├── bufferedostest.cpp │ ├── bufferedostest.h │ ├── multiplexertest.cpp │ └── multiplexertest.h ├── extensions │ └── fcgistartertest.cpp ├── http │ ├── chunkistest.cpp │ ├── chunkistest.h │ ├── chunkostest.cpp │ ├── chunkostest.h │ ├── contexttreebench.cpp │ ├── contexttreetest.cpp │ ├── contexttreetest.h │ ├── datetimetest.cpp │ ├── datetimetest.h │ ├── denieddirtest.cpp │ ├── denieddirtest.h │ ├── expirestest.cpp │ ├── expirestest.h │ ├── fcgistartertest.h │ ├── httpbuftest.cpp │ ├── httpbuftest.h │ ├── httpcgitooltest.cpp │ ├── httpcgitooltest.h │ ├── httpheadertest.cpp │ ├── httpheadertest.h │ ├── httpiptogeo2test.cpp │ ├── httplistenerstest.cpp │ ├── httplistenerstest.h │ ├── httpmimetest.cpp │ ├── httpmimetest.h │ ├── httprangetest.cpp │ ├── httprangetest.h │ ├── httpreqheaderstest.cpp │ ├── httpreqheaderstest.h │ ├── httpreqtest.cpp │ ├── httpreqtest.h │ ├── httprequestlinetest.cpp │ ├── httprequestlinetest.h │ ├── httpvhostlisttest.cpp │ ├── httpvhostlisttest.h │ ├── reqparsertest.cpp │ ├── rewritetest.cpp │ ├── rewritetest.h │ ├── statusurlmaptest.cpp │ └── statusurlmaptest.h ├── lsiapi │ ├── envhandler.cpp │ ├── lsiapihookstest.cpp │ ├── moduleconf.cpp │ ├── moduledata.cpp │ └── moduletimertest.cpp ├── lsr │ ├── asan.exp.stderr │ ├── asan.exp.stdout │ ├── ls_ahotest.cpp │ ├── ls_ahotest.h │ ├── ls_base64test.cpp │ ├── ls_buftest.cpp │ ├── ls_confparsertest.cpp │ ├── ls_dlinkqtest.cpp │ ├── ls_hashtest.cpp │ ├── ls_lfqueuetest.c │ ├── ls_lfstacktest.cpp │ ├── ls_linktest.cpp │ ├── ls_llmqtest.c │ ├── ls_locktest.cpp │ ├── ls_loopbuftest.cpp │ ├── ls_maptest.cpp │ ├── ls_md5test.cpp │ ├── ls_objarraytest.cpp │ ├── ls_objpooltest.cpp │ ├── ls_pcregtest.cpp │ ├── ls_pooltest.cpp │ ├── ls_ptrlisttest.cpp │ ├── ls_sha1test.cpp │ ├── ls_stacktest.cpp │ ├── ls_strlisttest.cpp │ ├── ls_strtest.cpp │ ├── ls_strtooltest.cpp │ ├── ls_strtooltest.h │ ├── ls_thrsafetest.cpp │ ├── ls_valgrindtest.c │ ├── ls_xpooltest.cpp │ ├── run_asantest.sh │ ├── run_valgrindtest.sh │ ├── timer.cpp │ ├── valgrind.exp.stderr │ └── valgrind.exp.stdout ├── lua │ ├── lslua.cpp │ ├── lsluatty.cpp │ └── luatest.cpp ├── mthandler │ ├── POSTtest.cpp │ └── POSTtest2.cpp ├── serverroot │ ├── bin │ │ └── lshttpd.sh │ ├── cert │ │ ├── server.crt │ │ ├── server.key │ │ └── server.pem │ ├── cgi-bin │ │ ├── helloworld │ │ ├── large │ │ ├── nobody │ │ ├── phpinfo.php │ │ ├── printenv │ │ └── testpost.pl │ ├── conf │ │ ├── httpd.conf │ │ ├── httpd_config.xml │ │ ├── m1 │ │ ├── m2 │ │ ├── mime.properties │ │ └── myconfig.xml │ ├── htpasswd │ ├── logs │ │ └── dummy │ ├── vhost │ │ ├── vh1 │ │ │ └── conf │ │ │ │ └── vhconf.xml │ │ └── vh3 │ │ │ └── conf │ │ │ └── vhconf.xml │ └── wwwroot │ │ ├── cgipost.html │ │ ├── cgipost1.html │ │ ├── error404.html │ │ ├── fcgipost.html │ │ ├── hello.php │ │ ├── htatest │ │ ├── .htaccess │ │ ├── test │ │ │ ├── sub1 │ │ │ │ ├── .htaccess │ │ │ │ └── index.html │ │ │ └── sub2 │ │ │ │ └── index.html │ │ └── test_htaccess │ │ ├── index.html │ │ ├── phpinfo.php │ │ ├── phppost.html │ │ ├── protected │ │ └── index.html │ │ ├── small.html │ │ ├── temp.esi │ │ ├── test.html │ │ └── test │ │ ├── index.html │ │ ├── sub1 │ │ └── .htaccess │ │ └── sub2 │ │ └── index.html ├── shm │ ├── lsshmdebug.cpp │ ├── lsshmdebug.h │ ├── shmbaselrutest.cpp │ ├── shmmemcachedtest.cpp │ ├── shmtest.cpp │ ├── shmxtest.cpp │ ├── testshm.cpp │ ├── testshmapi.cpp │ ├── testshmhash.cpp │ └── testshmreg.cpp ├── socket │ ├── coresockettest.cpp │ ├── coresockettest.h │ ├── hostinfotest.cpp │ ├── hostinfotest.h │ ├── tcpsockettest.cpp │ └── tcpsockettest.h ├── spdy │ ├── dummiostream.cpp │ ├── dummyiostream.h │ ├── pushtest.cpp │ ├── spdyconnectiontest.cpp │ └── spdyzlibfiltertest.cpp ├── thread │ ├── mtnotifiertest.cpp │ ├── pthreadworkqueuetest.cpp │ ├── threadtest.cpp │ └── workcrewtest.cpp ├── unittest_main.cpp └── util │ ├── accesscontroltest.cpp │ ├── accesscontroltest.h │ ├── ahotest.cpp │ ├── ahotest.h │ ├── brotlibuftest.cpp │ ├── dlinkqueuetest.cpp │ ├── dlinkqueuetest.h │ ├── filtermatchtest.cpp │ ├── filtermatchtest.h │ ├── ghashtest.cpp │ ├── ghashtest.h │ ├── gmaptest.cpp │ ├── gmaptest.h │ ├── gpathtest.cpp │ ├── gpathtest.h │ ├── gpointerlisttest.cpp │ ├── gzipbuftest.cpp │ ├── gzipbuftest.h │ ├── httpfetchtest.cpp │ ├── httpfetchtest.h │ ├── linkedobjtest.cpp │ ├── linkedobjtest.h │ ├── logfiletest.cpp │ ├── logfiletest.h │ ├── loopbuftest.cpp │ ├── loopbuftest.h │ ├── objarraytest.cpp │ ├── objpooltest.cpp │ ├── partitioninfotest.cpp │ ├── partitioninfotest.h │ ├── pcregextest.cpp │ ├── pcregextest.h │ ├── poolalloctest.cpp │ ├── poolalloctest.h │ ├── radixtreetest.cpp │ ├── stringmaptest.cpp │ ├── stringmaptest.h │ ├── stringtooltest.cpp │ ├── stringtooltest.h │ ├── vmembuftest.cpp │ ├── vmembuftest.h │ ├── xmlnodetest.cpp │ └── xmlnodetest.h ├── thread_sanitizer_blacklist └── thread_sanitizer_suppress /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "image": "mcr.microsoft.com/devcontainers/universal:2", 3 | "features": { 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # Unix-style newlines with a newline ending every file 7 | [*] 8 | end_of_line = lf 9 | insert_final_newline = true 10 | 11 | [*.{cpp,h}] 12 | charset = utf-8 13 | indent_style = space 14 | indent_size = 4 15 | tab_width = 4 16 | trim_trailing_whitespace = true 17 | 18 | [*.sh] 19 | indent_style = space 20 | indent_size = 4 21 | 22 | [*.php] 23 | indent_style = space 24 | indent_size = 4 25 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "lsquic"] 2 | path = lsquic 3 | url = https://github.com/litespeedtech/lsquic.git 4 | -------------------------------------------------------------------------------- /CMakeModules/common.cmake: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | include_directories ("${PROJECT_SOURCE_DIR}/openssl/include" "${PROJECT_SOURCE_DIR}/src" "${PROJECT_BINARY_DIR}/src") 3 | 4 | -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | About installation, please read below article 2 | https://openlitespeed.org/#install -------------------------------------------------------------------------------- /LSQUICCOMMIT: -------------------------------------------------------------------------------- 1 | 7686d8fcef284cda07a951ad74a5e90c69a9dfb1 2 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = src 3 | AUTOMAKE_OPTIONS = foreign 4 | 5 | install-data-hook: 6 | ( cd dist; ./install.sh "$(DESTDIR)$(prefix)" "$(OPENLSWS_USER)" "$(OPENLSWS_GROUP)" "$(OPENLSWS_ADMIN)" "$(OPENLSWS_PASSWORD)" "$(OPENLSWS_EMAIL)" "$(OPENLSWS_ADMINSSL)" "$(OPENLSWS_ADMINPORT)" "$(USE_LSPHP7)" "$(DEFAULT_TMP_DIR)" "$(PID_FILE)" "$(OPENLSWS_EXAMPLEPORT)" "$(IS_LSCPD)" ;) 7 | ( rm -f $(DESTDIR)$(prefix)/modules/modinspector.la $(DESTDIR)$(prefix)/modules/modreqparser.la $(DESTDIR)$(prefix)/modules/uploadprogress.la $(DESTDIR)$(prefix)/modules/mod_lua.la ) 8 | 9 | ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | OpenLiteSpeed Web Server 2 | ======== 3 | 4 | Description 5 | -------- 6 | 7 | OpenLiteSpeed is a high-performance, lightweight, open source HTTP server developed and copyrighted by 8 | LiteSpeed Technologies. Users are free to download, use, distribute, and modify OpenLiteSpeed and its 9 | source code in accordance with the precepts of the GPLv3 license. 10 | 11 | This is the official repository for OpenLiteSpeed's source code. It is maintained by LiteSpeed 12 | Technologies. 13 | 14 | Documentation 15 | -------- 16 | 17 | Users can find all OpenLiteSpeed documentation on the [OpenLiteSpeed site](https://openlitespeed.org), 18 | but here are some quick links to important parts of the site: 19 | 20 | [Installation](https://openlitespeed.org/kb/category/installation/) 21 | 22 | [Configuration](https://openlitespeed.org/kb/category/configuration/) 23 | 24 | [Road map](https://openlitespeed.org/mediawiki/index.php/Road_Map) 25 | 26 | [Release log](https://openlitespeed.org/release-log/) 27 | 28 | Get in Touch 29 | -------- 30 | 31 | OpenLiteSpeed has a [Google Group](https://groups.google.com/forum/#!forum/openlitespeed-development). If 32 | you find a bug, want to request new features, or just want to talk about OpenLiteSpeed, this is the place 33 | to do it. 34 | -------------------------------------------------------------------------------- /addon/example/Makefile: -------------------------------------------------------------------------------- 1 | LSIAPIDIR = /home/ron/Documents/litespeedtech/openlitespeed 2 | 3 | CXX = clang++ 4 | #CXX = g++-4.8 5 | CC = clang 6 | #CXXFLAGS = -std=c++11 -Wall -O0 -g 7 | #CXXFLAGS = -Wall -O0 -m32 -g -fno-inline -fno-omit-frame-pointer 8 | 9 | # TODO: CXXFLAGS = -I $(LSIAPIDIR)/include -Wall -g -O0 -fPIC 10 | 11 | #MY_CMAKE_TSAN_FLAG = -DUSE_THREADCHECK -DDYNAMIC_ANNOTATIONS_ENABLED -fsanitize=thread 12 | #MY_CMAKE_ASAN_FLAG = -fsanitize=address -fsanitize-recover=address -fno-omit-frame-pointer 13 | 14 | CXXFLAGS = $(MY_CMAKE_ASAN_FLAG) $(MY_CMAKE_TSAN_FLAG) -I $(LSIAPIDIR)/src -I $(LSIAPIDIR)/include -Wall -g -fPIC -D_REENTRANT -Werror=return-type -Wno-comment -Wmissing-field-initializers 15 | 16 | LDFLAGS = -lgd 17 | 18 | 19 | ifeq ($(UNAME_S),Darwin) 20 | CXXFLAGS += "-undefined dynamic_lookup" 21 | endif 22 | 23 | CFLAGS = $(CXXFLAGS) 24 | 25 | MODEXMPL_SRCS := $(wildcard *.c) 26 | 27 | MODEXMPL_OBJS = $(MODEXMPL_SRCS:.c=.o) 28 | MODEXMPL_SOS = $(MODEXMPL_SRCS:.c=.so) 29 | 30 | SRCS = $(MODEXMPL_SRCS); 31 | OBJS = $(MODEXMPL_OBJS); 32 | SOS = $(MODEXMPL_SOS); 33 | 34 | all: $(SOS) 35 | 36 | 37 | -include make.Autodepend 38 | -------------------------------------------------------------------------------- /addon/example/README: -------------------------------------------------------------------------------- 1 | How to build the example module and use it. 2 | 3 | There are four steps: 4 | 5 | 1, You need to compile and build it. You can simply use the ccc.sh script to compile and build the module. 6 | For example: 7 | ./ccc.sh hellohandler.c 8 | Then you will get the module file hellohandler.so 9 | 10 | 2, Copy the module file to $LSWS-HOME/modules/ 11 | 12 | 3, In the admin console, Configuration/Server/Modules/, add the newly created module and enable it; in the above example, the name is hellohandler. 13 | 14 | 4, Restart openlitespeed and it should be added. 15 | -------------------------------------------------------------------------------- /ax_check_ip2location.m4: -------------------------------------------------------------------------------- 1 | # 2 | # AC_IP2LOCATION_CHECK 3 | # 4 | AC_DEFUN([AC_IP2LOCATION_CHECK],[ 5 | 6 | if test "x$ip2location_dir" != "x" 7 | then 8 | IP2LOCATION_INCLUDES="$ip2location_dir" 9 | save_CFLAGS="$CFLAGS" 10 | CFLAGS="$CFLAGS -I$ip2location_dir" 11 | save_CPPFLAGS="$CPPFLAGS" 12 | CPPFLAGS="$CPPFLAGS -I$ip2location_dir" 13 | else 14 | save_CFLAGS="$CFLAGS" 15 | save_CPPFLAGS="$CPPFLAGS" 16 | fi 17 | 18 | AC_CHECK_HEADER(IP2Location.h,, 19 | [ 20 | if test "x$ip2location_dir" != "x" 21 | then 22 | AC_MSG_ERROR([IP2Location header not found in directory specified in --with-ip2loc]) 23 | else 24 | if test "x$need_ip2location" = "xyes" 25 | then 26 | AC_MSG_ERROR(Header file IP2Location.h not found.) 27 | else 28 | need_ip2location=no 29 | fi 30 | fi 31 | ]) 32 | 33 | if test "x$need_ip2location" != "xno" 34 | then 35 | IP2LOCATION_LIBS="-lIP2Location" 36 | CFLAGS="$save_CFLAGS" 37 | CPPFLAGS="$save_CPPFLAGS" 38 | AC_SUBST(IP2LOCATION_INCLUDES) 39 | AC_SUBST([IP2LOCATION_LIBS]) 40 | 41 | fi 42 | ]) 43 | -------------------------------------------------------------------------------- /ax_check_liblua.m4: -------------------------------------------------------------------------------- 1 | # 2 | # AC_LIBLUA_CHECK 3 | # 4 | AC_DEFUN([AC_LIBLUA_CHECK],[ 5 | 6 | if test "x$lua_dir" != "x" 7 | then 8 | LUA_INCLUDES="$lua_dir" 9 | save_CFLAGS="$CFLAGS" 10 | CFLAGS="$CFLAGS -I$lua_dir" 11 | save_CPPFLAGS="$CPPFLAGS" 12 | CPPFLAGS="$CPPFLAGS -I$lua_dir" 13 | else 14 | save_CFLAGS="$CFLAGS" 15 | save_CPPFLAGS="$CPPFLAGS" 16 | fi 17 | 18 | AC_CHECK_HEADERS(lua.h lualib.h lauxlib.h,, 19 | [ 20 | if test "x$lua_dir" != "x" 21 | then 22 | AC_MSG_ERROR([liblua header not found in directory specified in --with-lua]) 23 | else 24 | if test "x$need_lua" = "xyes" 25 | then 26 | AC_MSG_ERROR(Header file lua.h not found.) 27 | else 28 | need_lua=no 29 | fi 30 | fi 31 | ]) 32 | 33 | if test "x$need_lua" != "xno" 34 | then 35 | CFLAGS="$save_CFLAGS" 36 | CPPFLAGS="$save_CPPFLAGS" 37 | AC_SUBST(LUA_INCLUDES) 38 | fi 39 | ]) -------------------------------------------------------------------------------- /dist/Example/cgi-bin/helloworld: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | date=`date -u '+%a, %d %b %Y %H:%M:%S %Z'` 4 | 5 | cat << EOF 6 | Content-type: text/plain 7 | Expires: $date 8 | 9 | Hello World 10 | 11 | EOF 12 | 13 | -------------------------------------------------------------------------------- /dist/Example/html/.htaccess: -------------------------------------------------------------------------------- 1 | # .htaccess 2 | -------------------------------------------------------------------------------- /dist/Example/html/blocked/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Blocked page 7 | 8 | 9 | 10 |

11 |

You should not be able to see this page unlesss remove the "/blocked/" context.

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /dist/Example/html/error404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Page Not Found 4 | 5 | 6 |
7 |

Request Page Not Found

8 | This is a customized error page for missing pages. 9 |
10 | 11 | 12 | -------------------------------------------------------------------------------- /dist/Example/html/img/404-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/Example/html/img/404-icon.png -------------------------------------------------------------------------------- /dist/Example/html/img/blocked_content-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/Example/html/img/blocked_content-icon.png -------------------------------------------------------------------------------- /dist/Example/html/img/cgi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/Example/html/img/cgi-icon.png -------------------------------------------------------------------------------- /dist/Example/html/img/file_upload-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/Example/html/img/file_upload-icon.png -------------------------------------------------------------------------------- /dist/Example/html/img/olsws_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/Example/html/img/olsws_logo.png -------------------------------------------------------------------------------- /dist/Example/html/img/php-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/Example/html/img/php-icon.png -------------------------------------------------------------------------------- /dist/Example/html/img/powered_by_ols-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/Example/html/img/powered_by_ols-new.png -------------------------------------------------------------------------------- /dist/Example/html/img/pwd_protect-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/Example/html/img/pwd_protect-icon.png -------------------------------------------------------------------------------- /dist/Example/html/phpinfo.php: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /dist/Example/html/protected/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Protected page 7 | 8 | 9 | 10 |

11 |

Congratulation! You gave the right user name and password.

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /dist/VERSION: -------------------------------------------------------------------------------- 1 | 1.8.3 2 | -------------------------------------------------------------------------------- /dist/add-ons/snmp_monitoring/README: -------------------------------------------------------------------------------- 1 | LiteSpeed SNMPD Bridge + Cacti Templates 2 | ---------------------------------------- 3 | 4 | For the most up-to-date installation documentation, please refer to our online "SNMP Monitoring" wiki: 5 | 6 | http://www.litespeedtech.com/support/wiki/doku.php?id=litespeed_wiki:snmp_cacti_monitoring 7 | 8 | Release Log: 9 | ----------- 10 | 1.0 08-23-2006 11 | 12 | 13 | -------------------------------------------------------------------------------- /dist/add-ons/snmp_monitoring/sample.php: -------------------------------------------------------------------------------- 1 | 1 only valid LiteSpeed Enterprise (num of cpus licensed) 15 | $report_path = "/tmp/lshttpd/"; //<-- path to .rtreport folder. Default is /tmp/lshttpd/ 16 | 17 | $cache_time = 0; //<-- seconds to cache parsed data 18 | $cache_file = "/tmp/_lsws_sampe_cache.txt"; //<-- cache file..full path. 19 | 20 | 21 | //get params from snmpd pass mechanism 22 | if(array_key_exists(1,$_SERVER["argv"]) && array_key_exists(2,$_SERVER["argv"])) { 23 | $type = trim($_SERVER["argv"][1]); 24 | $oid = trim($_SERVER["argv"][2]); 25 | 26 | $bridge = new litespeed_snmp_bridge($processes, $report_path, $cache_time, $cache_file); 27 | $bridge->process($type, $oid); 28 | 29 | } 30 | 31 | ?> 32 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/VERSION: -------------------------------------------------------------------------------- 1 | 1.17.2 -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/autoloader.php: -------------------------------------------------------------------------------- 1 | scanDepth = 2; 30 | $this->batchTimeout = 0; 31 | $this->batchSize = 0; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/Context/RootPanelContextOption.php: -------------------------------------------------------------------------------- 1 | scanDepth = 2; 33 | $this->batchTimeout = 60; 34 | $this->batchSize = 10; 35 | 36 | $sharedTplDir = realpath(__DIR__ . '/../View/Tpl'); 37 | 38 | if ( !is_string($sharedTplDir) ) { 39 | $sharedTplDir = '/usr/local/lsws/add-ons/webcachemgr/src/View/Tpl'; 40 | } 41 | 42 | $this->sharedTplDir = $sharedTplDir; 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/Context/UserCLIContextOption.php: -------------------------------------------------------------------------------- 1 | expectedPermissions = self::IS_NOT_ROOT; 34 | $this->scanDepth = 2; 35 | $this->batchTimeout = 0; 36 | $this->batchSize = 0; 37 | $this->logFile = ''; 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/LSCMException.php: -------------------------------------------------------------------------------- 1 | runAsUser() return status. 30 | */ 31 | const E_NON_FATAL = 103; 32 | 33 | } 34 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/Panel/CustomPanelBase.php: -------------------------------------------------------------------------------- 1 | getSharedTplDir() . '/CacheRootNotSet.tpl'; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/View/Model/MissingTplViewModel.php: -------------------------------------------------------------------------------- 1 | init($msg); 30 | } 31 | 32 | private function init( $msg ) 33 | { 34 | $this->tplData[self::FLD_MSG] = $msg; 35 | } 36 | 37 | /** 38 | * 39 | * @param string $field 40 | * @return null|string 41 | */ 42 | public function getTplData( $field ) 43 | { 44 | if ( !isset($this->tplData[$field]) ) { 45 | return null; 46 | } 47 | 48 | return $this->tplData[$field]; 49 | } 50 | 51 | public function getTpl() 52 | { 53 | return Context::getOption()->getSharedTplDir() . '/MissingTpl.tpl'; 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/View/Tpl/Ajax/CacheMgrFlagCol.tpl: -------------------------------------------------------------------------------- 1 | viewModel->getTplData(ViewModel::FLD_LIST_DATA); 6 | 7 | $classes = 'icon-btn'; 8 | 9 | foreach ( $listData as $path => $info ): 10 | $flagData = $info['flagData']; 11 | 12 | ?> 13 | 14 | 17 | 25 | 26 | 27 | viewModel->getTplData(ViewModel::FLD_LIST_DATA); 6 | 7 | foreach ( $listData as $path => $info ): 8 | $statusData = $info['statusData']; 9 | 10 | ?> 11 | 12 | 14 | 15 | 17 | 18 | 19 | 20 | 10 | 11 | 54 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/View/Tpl/CacheRootNotSet.tpl: -------------------------------------------------------------------------------- 1 | 'Cache Root Not Set', 5 | ); 6 | $this->loadTplBlock('Title.tpl', $d); 7 | 8 | ?> 9 | 10 |
11 |

12 | Server and/or Virtual Host cache root has not yet been set. Please go to 13 | Cache Root Setup 14 | and set these first. 15 |

16 |
17 | 18 | 'Back' 22 | ); 23 | $this->loadTplBlock('ButtonPanelBackNext.tpl', $d); 24 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/View/Tpl/DataFileMsg.tpl: -------------------------------------------------------------------------------- 1 | viewModel->getTplData(ViewModel::FLD_TITLE); 6 | $discover = $this->viewModel->getTplData(ViewModel::FLD_DISCOVER); 7 | 8 | $d = array( 9 | 'title' => $title 10 | ); 11 | $this->loadTplBlock('Title.tpl', $d); 12 | 13 | ?> 14 | 15 |
16 |

17 | Please go to 18 | 19 | Manage Cache Installations 20 | 21 | and Scan to all active WordPress installations 22 | before continuing. 23 |

24 |
25 | 26 | 'Back' 30 | ); 31 | $this->loadTplBlock('ButtonPanelBackNext.tpl', $d); 32 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/View/Tpl/MissingTpl.tpl: -------------------------------------------------------------------------------- 1 | viewModel->getTplData(ViewModel::FLD_MSG); 6 | 7 | ?> 8 | 9 |
10 |

11 | 12 |

13 |
14 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/View/Tpl/RefreshStatusProgress.tpl: -------------------------------------------------------------------------------- 1 | viewModel->getTplData(ViewModel::FLD_ICON); 6 | $installCount = $this->viewModel->getTplData(ViewModel::FLD_INSTALLS_COUNT); 7 | 8 | $d = array( 9 | 'title' => 'Refreshing Status of WordPress Installations...', 10 | 'icon' => $icon 11 | ); 12 | $this->loadTplBlock('Title.tpl', $d); 13 | 14 | ?> 15 | 16 |
17 | Refreshing Status for 0 out of 18 | ... 19 |
20 | 21 | 'Back', 25 | 'backDo' => 'lscwp_manage', 26 | 'visibility' => 'hidden' 27 | ); 28 | $this->loadTplBlock('ButtonPanelBackNext.tpl', $d); 29 | 30 | ?> 31 | 32 | 35 |
36 | 37 | 'errMsgs', 41 | 'class' => 'scrollable', 42 | ); 43 | $this->loadTplBlock('DivMsgBox.tpl', $d); 44 | 45 | ?> 46 | 47 |
48 | 49 | 50 | -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/WpWrapper/WpConstants.php: -------------------------------------------------------------------------------- 1 | wpQuery = new \WP_Query($query); 41 | } 42 | 43 | /** 44 | * 45 | * @since 1.17 46 | * 47 | * @return \WP_Query 48 | * 49 | * @noinspection PhpUndefinedClassInspection 50 | */ 51 | public function getWpWpQueryObject() 52 | { 53 | return $this->wpQuery; 54 | } 55 | } -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/WpWrapper/WpTextdomainRegistry.php: -------------------------------------------------------------------------------- 1 | wpTextdomainRegistry = new \WP_Textdomain_Registry(); 38 | } 39 | 40 | /** 41 | * 42 | * @since 1.17 43 | * 44 | * @return \WP_Textdomain_Registry 45 | * 46 | * @noinspection PhpUndefinedClassInspection 47 | */ 48 | public function getWpWpTextdomainRegistryObject() 49 | { 50 | return $this->wpTextdomainRegistry; 51 | } 52 | } -------------------------------------------------------------------------------- /dist/add-ons/webcachemgr/src/WpWrapper/Wpdb.php: -------------------------------------------------------------------------------- 1 | blogs; 38 | } 39 | 40 | /** 41 | * https://developer.wordpress.org/reference/classes/wpdb/get_col/ 42 | * 43 | * @since 1.17 44 | * 45 | * @global \wpdb $wpdb 46 | * 47 | * @param string|null $query 48 | * @param int $x 49 | * 50 | * @return array 51 | * 52 | * @noinspection PhpUndefinedClassInspection 53 | */ 54 | public static function getCol( $query = null, $x = 0 ) 55 | { 56 | global $wpdb; 57 | 58 | return $wpdb->get_col($query, $x); 59 | } 60 | } -------------------------------------------------------------------------------- /dist/admin/conf/admin_config.conf.in: -------------------------------------------------------------------------------- 1 | enableCoreDump 1 2 | sessionTimeout 3600 3 | 4 | errorlog $SERVER_ROOT/admin/logs/error.log { 5 | useServer 0 6 | logLevel INFO 7 | rollingSize 10M 8 | } 9 | 10 | accessLog $SERVER_ROOT/admin/logs/access.log { 11 | useServer 0 12 | rollingSize 10M 13 | keepDays 90 14 | logReferer 1 15 | logUserAgent 1 16 | } 17 | 18 | accessControl { 19 | allow ALL 20 | } 21 | 22 | listener adminListener { 23 | address *:%ADMIN_PORT% 24 | secure 0 25 | } 26 | -------------------------------------------------------------------------------- /dist/admin/conf/admin_config_ssl.conf.in: -------------------------------------------------------------------------------- 1 | enableCoreDump 1 2 | sessionTimeout 3600 3 | 4 | errorlog $SERVER_ROOT/admin/logs/error.log { 5 | useServer 0 6 | logLevel INFO 7 | rollingSize 10M 8 | } 9 | 10 | accessLog $SERVER_ROOT/admin/logs/access.log { 11 | useServer 0 12 | rollingSize 10M 13 | keepDays 90 14 | logReferer 1 15 | logUserAgent 1 16 | } 17 | 18 | accessControl { 19 | allow ALL 20 | } 21 | 22 | listener adminListener{ 23 | address *:%ADMIN_PORT% 24 | secure 1 25 | keyFile $SERVER_ROOT/admin/conf/%SSL_HOSTNAME%.key 26 | certFile $SERVER_ROOT/admin/conf/%SSL_HOSTNAME%.crt 27 | clientVerify 0 28 | } 29 | -------------------------------------------------------------------------------- /dist/admin/html.open/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/favicon.ico -------------------------------------------------------------------------------- /dist/admin/html.open/lib/ows/DAttr.php: -------------------------------------------------------------------------------- 1 | cyberpanelBlocked) { 10 | if (PathTool::IsCyberPanel()) { 11 | return 'Locked due to CyberPanel'; 12 | } 13 | } 14 | 15 | // no other block 16 | return false; 17 | } 18 | 19 | public function bypassSavePost() 20 | { 21 | return ($this->IsFlagOn(DAttr::BM_NOEDIT)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /dist/admin/html.open/lib/ows/Service.php: -------------------------------------------------------------------------------- 1 | print_conf_page($disp, $page); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /dist/admin/html.open/lib/util/build_php/build_common.template: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ########################################### 4 | EXTRA_PATH_ENV="__extra_path_env__" 5 | PROGRESS_F=__progress_f__ 6 | PHP_VERSION=__php_version__ 7 | PHP_BUILD_DIR=__php_build_dir__ 8 | ########################################### 9 | 10 | PATH=${EXTRA_PATH_ENV}$PATH 11 | 12 | check_errs() 13 | { 14 | if [ "${1}" -ne "0" ] ; then 15 | echo "**ERROR** ${2}" 16 | echo "**ERROR** ${2}" >> ${PROGRESS_F} 17 | exit ${1} 18 | fi 19 | } 20 | 21 | main_msg() 22 | { 23 | # write to both stdout and progress 24 | echo "${1}" 25 | echo "${1}" >> ${PROGRESS_F} 26 | } 27 | 28 | # clear out 29 | echo "**MAIN_STATUS** retrieved from ${PROGRESS_F}" > ${PROGRESS_F} 30 | 31 | -------------------------------------------------------------------------------- /dist/admin/html.open/lib/util/build_php/build_manual_run.template: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ########################################### 4 | # Please manually run this script after preparation finished successfully. 5 | # You can monitor the log output from web console. 6 | # You need to run as root or with root privilege in order to install into system directory. 7 | ########################################### 8 | 9 | INSTALL_SCRIPT=__install_script__ 10 | LOG_FILE=__log_file__ 11 | PHP_VERSION=__php_version__ 12 | PHP_BUILD_DIR=__php_build_dir__ 13 | PHP_USR=__php_usr__ 14 | PHP_USRGROUP=__php_usrgroup__ 15 | 16 | 17 | echo "Manually running installation script: ${INSTALL_SCRIPT}" 18 | echo "Running at background with command:" 19 | echo "${INSTALL_SCRIPT} 1> ${LOG_FILE} 2>&1" 20 | 21 | ${INSTALL_SCRIPT} 1> ${LOG_FILE} 2>&1 22 | 23 | INST_USER=`id` 24 | INST_USER=`expr "${INST_USER}" : 'uid=.*(\(.*\)) gid=.*'` 25 | 26 | if [ "x${INST_USER}" = "xroot" ]; then 27 | echo "chown -R ${PHP_USR}:${PHP_USRGROUP} ${PHP_BUILD_DIR}/php-${PHP_VERSION}" 28 | chown -R ${PHP_USR}:${PHP_USRGROUP} ${PHP_BUILD_DIR}/php-${PHP_VERSION} 29 | fi 30 | 31 | if [ -f "/etc/cagefs/cagefs.mp" ] ; then 32 | # cagefs installed first, need update mount point 33 | cagefsctl --update 34 | fi 35 | -------------------------------------------------------------------------------- /dist/admin/html.open/res/css/lockscreen.min.css: -------------------------------------------------------------------------------- 1 | .lockscreen{height:250px;left:50%;margin-left:-239px;margin-top:-185px;position:absolute;top:50%;width:478px}.lockscreen .logo{padding:15px 0;display:block}.lockscreen .logo+div{background:#FFF;box-shadow:-31px 32px 53px rgba(0,0,0,.2);overflow:hidden;padding:13px;position:relative}.lockscreen .logo>:first-child{margin:0}.lockscreen .logo img{width:29px;margin-top:-4px;margin-right:-2px}.lockscreen .logo+div>img{float:left}.lockscreen .logo+div>img+div{float:right;width:318px}.lockscreen .logo+div>img+div>:first-child{margin-top:0}.lockscreen .logo+div>img+div>:first-child>:first-child{opacity:.1;padding:15px}.lockscreen .logo+div>img+div>:first-child>small{display:block;padding-top:5px}.lockscreen .logo+div>img+div>:first-child+p{margin-bottom:12px}@media (max-width:767px){.lockscreen .logo+div>img{float:none!important}.lockscreen{height:auto;left:5%;margin-left:0;margin-top:0;position:absolute;top:0;width:90%;text-align:center}.lockscreen .logo+div>img+div{float:none;width:100%;height:auto}} -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/open-sans-v17-latin-300.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/open-sans-v17-latin-300.woff -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/open-sans-v17-latin-300.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/open-sans-v17-latin-300.woff2 -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/open-sans-v17-latin-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/open-sans-v17-latin-700.woff -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/open-sans-v17-latin-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/open-sans-v17-latin-700.woff2 -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/open-sans-v17-latin-700italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/open-sans-v17-latin-700italic.woff -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/open-sans-v17-latin-700italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/open-sans-v17-latin-700italic.woff2 -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/open-sans-v17-latin-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/open-sans-v17-latin-italic.woff -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/open-sans-v17-latin-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/open-sans-v17-latin-italic.woff2 -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/open-sans-v17-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/open-sans-v17-latin-regular.woff -------------------------------------------------------------------------------- /dist/admin/html.open/res/fonts/open-sans-v17-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/fonts/open-sans-v17-latin-regular.woff2 -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/ajax-loader.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/alpha.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/blank.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/clear.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/favicon/favicon.ico -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/hue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/hue.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/adminconfig.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/adminconfig.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/administrator.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/administrator.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/application.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/application.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/cgi.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/cgi.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/controlpanel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/controlpanel.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/database.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/database.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/debug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/debug.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/down.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/edit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/edit.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/fast_cgi.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/fast_cgi.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/favicon.ico -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/file.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/file.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/filter.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/filter.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/form.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/form.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/graph.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/graph.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/help.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/info.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/info.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/link.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/link.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/load_balancer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/load_balancer.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/lock.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/lock.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/ls_sapi.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/ls_sapi.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/module.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/module.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/module_handler.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/module_handler.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/network.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/network.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/play.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/play.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/record.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/record.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/redirect.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/redirect.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/refresh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/refresh.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/report.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/report.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/script.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/script.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/search.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/search.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/serverconfig.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/serverconfig.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/servlet_engine.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/servlet_engine.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/shield.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/shield.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/stop.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/stop.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/trash.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/trash.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/up.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/web.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/web.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/web_link.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/web_link.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/icons/web_server.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/icons/web_server.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/loading.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/lsws_bolt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/lsws_bolt.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/lsws_bolt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 14 | 15 | -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/mappin-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/mappin-default.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/minus.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/mybg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/mybg.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/plus.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/product_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/product_logo.gif -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/ribbon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/ribbon.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/sa-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/sa-dark.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/sa-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/sa-default.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/sort_asc.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/sort_asc_disabled.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/sort_both.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/sort_desc.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/sort_desc_disabled.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/img/vt-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/img/vt-menu.png -------------------------------------------------------------------------------- /dist/admin/html.open/res/js/app.config.min.js: -------------------------------------------------------------------------------- 1 | $.navAsAjax=true;$.sound_path="sound/";$.sound_on=false;var throttle_delay=350,menu_speed=235,ignore_key_elms=["#header, #left-panel, #main, div.page-footer, #shortcut, #divSmallBoxes, #divMiniIcons, #divbigBoxes, script"]; -------------------------------------------------------------------------------- /dist/admin/html.open/res/js/plugin/datatables/swf/copy_csv_xls.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/js/plugin/datatables/swf/copy_csv_xls.swf -------------------------------------------------------------------------------- /dist/admin/html.open/res/js/plugin/datatables/swf/copy_csv_xls_pdf.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/admin/html.open/res/js/plugin/datatables/swf/copy_csv_xls_pdf.swf -------------------------------------------------------------------------------- /dist/admin/html.open/res/js/plugin/flot/jquery.flot.fillbetween.min.js: -------------------------------------------------------------------------------- 1 | /*! SmartAdmin - v1.4.1 - 2014-06-22 */!function(a){function b(a){function b(a,b){var c;for(c=0;cc||c>=b.length?null:b[c]):null}function c(a,c,d){if(null!=c.fillBetween){var e=b(c,a.getData());if(e){for(var f,g,h,i,j,k,l,n=d.pointsize,o=d.points,p=e.datapoints.pointsize,q=e.datapoints.points,r=[],s=c.lines.show,t=n>2&&d.format[2].y,u=s&&c.lines.steps,v=!0,w=0,x=0;;){if(w>=o.length)break;if(l=r.length,null==o[w]){for(m=0;n>m;++m)r.push(o[w+m]);w+=n}else if(x>=q.length){if(!s)for(m=0;n>m;++m)r.push(o[w+m]);w+=n}else if(null==q[x]){for(m=0;n>m;++m)r.push(null);v=!0,x+=p}else{if(f=o[w],g=o[w+1],i=q[x],j=q[x+1],k=0,f==i){for(m=0;n>m;++m)r.push(o[w+m]);k=j,w+=n,x+=p}else if(f>i){if(s&&w>0&&null!=o[w-n]){for(h=g+(o[w-n+1]-g)*(i-f)/(o[w-n]-f),r.push(i),r.push(h),m=2;n>m;++m)r.push(o[w+m]);k=j}x+=p}else{if(v&&s){w+=n;continue}for(m=0;n>m;++m)r.push(o[w+m]);s&&x>0&&null!=q[x-p]&&(k=j+(q[x-p+1]-j)*(f-i)/(q[x-p]-i)),w+=n}v=!1,l!=r.length&&t&&(r[l+2]=k)}if(u&&l!=r.length&&l>0&&null!=r[l]&&r[l]!=r[l-n]&&r[l+1]!=r[l-n+1]){for(m=0;n>m;++m)r[l+n+m]=r[l+m];r[l+1]=r[l-n+1]}}d.points=r}}}a.hooks.processDatapoints.push(c)}var c={series:{fillBetween:null}};a.plot.plugins.push({init:b,options:c,name:"fillbetween",version:"1.0"})}(jQuery); -------------------------------------------------------------------------------- /dist/admin/html.open/res/js/plugin/flot/jquery.flot.resize.min.js: -------------------------------------------------------------------------------- 1 | /*! SmartAdmin - v1.4.1 - 2014-06-22 */!function(a,b,c){function d(){e=b[h](function(){f.each(function(){var b=a(this),c=b.width(),d=b.height(),e=a.data(this,j);(c!==e.w||d!==e.h)&&b.trigger(i,[e.w=c,e.h=d])}),d()},g[k])}var e,f=a([]),g=a.resize=a.extend(a.resize,{}),h="setTimeout",i="resize",j=i+"-special-event",k="delay",l="throttleWindow";g[k]=250,g[l]=!0,a.event.special[i]={setup:function(){if(!g[l]&&this[h])return!1;var b=a(this);f=f.add(b),a.data(this,j,{w:b.width(),h:b.height()}),1===f.length&&d()},teardown:function(){if(!g[l]&&this[h])return!1;var b=a(this);f=f.not(b),b.removeData(j),f.length||clearTimeout(e)},add:function(b){function d(b,d,f){var g=a(this),h=a.data(this,j);h.w=d!==c?d:g.width(),h.h=f!==c?f:g.height(),e.apply(this,arguments)}if(!g[l]&&this[h])return!1;var e;return a.isFunction(b)?(e=b,d):(e=b.handler,void(b.handler=d))}}}(jQuery,this),function(a){function b(a){function b(){var b=a.getPlaceholder();0!=b.width()&&0!=b.height()&&(a.resize(),a.setupGrid(),a.draw())}function c(a){a.getPlaceholder().resize(b)}function d(a){a.getPlaceholder().unbind("resize",b)}a.hooks.bindEvents.push(c),a.hooks.shutdown.push(d)}var c={};a.plot.plugins.push({init:b,options:c,name:"resize",version:"1.0"})}(jQuery); -------------------------------------------------------------------------------- /dist/admin/html.open/res/lang/util_sortlang.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 47 | -------------------------------------------------------------------------------- /dist/admin/html.open/view/inc/auth.php: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /dist/admin/misc/convertxml.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | CUR_DIR=`dirname "$0"` 4 | cd $CUR_DIR 5 | CUR_DIR=`pwd` 6 | 7 | echo "Coverting XML fortmat configuration files to plain text configuration files." 8 | 9 | if [ "x$1" = "x" ] ; then 10 | echo Need server_root as parameter, such as /usr/local/lsws 11 | echo Usage: $0 Server_Root 12 | echo . 13 | exit 1 14 | fi 15 | 16 | SERVER_ROOT=$1 17 | echo "Server_root is $SERVER_ROOT, converting ..." 18 | 19 | #The below command will convert XML to conf, if the second parameter is 2xml, 20 | #such as 21 | # php convertxml.php $SERVER_ROOT 2xml 22 | #then it will cpnvert conf to xml 23 | $SERVER_ROOT/admin/fcgi-bin/admin_php convertxml.php $SERVER_ROOT $SERVER_ROOT/backup/recover_xml.sh 24 | 25 | echo "Converting finished." 26 | 27 | -------------------------------------------------------------------------------- /dist/admin/misc/create_admin_keypair.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | CUR_DIR=`dirname "$0"` 4 | cd $CUR_DIR 5 | CUR_DIR=`pwd` 6 | 7 | echo "Generating key pair for web console login page, please wait ..." 8 | openssl genrsa -out key.pem 512 9 | 10 | if [ "$?" -eq "0" ] ; then 11 | ../fcgi-bin/admin_php -q genjCryptionKeyPair.php key.pem 12 | rm -f key.pem 13 | else 14 | ../fcgi-bin/admin_php -q genjCryptionKeyPair.php 15 | fi 16 | 17 | 18 | -------------------------------------------------------------------------------- /dist/admin/misc/gdb-bt: -------------------------------------------------------------------------------- 1 | bt full 2 | info registers 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dist/admin/misc/gzipStatic.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | LEVEL=$1 3 | FN=$2 4 | FN_GZ="$FN.lsz" 5 | FN_GZL="$FN.lszl" 6 | FN_GZT="$FN.lszt" 7 | 8 | if [ -f $FN_GZL ] || [ -f $FN_GZT ] || [ -f $FN_GZ ]; then 9 | exit 0 10 | fi 11 | 12 | touch $FN_GZL 13 | gzip -c -$LEVEL $FN > $FN_GZT 14 | 15 | if [ $? -eq 0 ]; then 16 | mv $FN_GZT $FN_GZ 17 | else 18 | rm $FN_GZT 19 | fi 20 | rm $FN_GZL 21 | exit 0 -------------------------------------------------------------------------------- /dist/admin/misc/htpasswd.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/admin/misc/lshttpd.service.in: -------------------------------------------------------------------------------- 1 | # should be added as /usr/lib/systemd/system/lshttpd.service 2 | [Unit] 3 | Description=OpenLiteSpeed HTTP Server 4 | After=network-online.target remote-fs.target nss-lookup.target 5 | Wants=network-online.target 6 | 7 | [Service] 8 | Type=forking 9 | PIDFile=/var/run/openlitespeed.pid 10 | ExecStart=%LSWS_CTRL% start 11 | ExecReload=%LSWS_CTRL% restart 12 | ExecStop=%LSWS_CTRL% delay-stop 13 | 14 | KillMode=none 15 | PrivateTmp=false 16 | Restart=on-failure 17 | RestartSec=5 18 | 19 | # do not want to be limited in anyway 20 | CPUAccounting=false 21 | TasksAccounting=false 22 | MemoryAccounting=false 23 | 24 | [Install] 25 | WantedBy=multi-user.target 26 | #Alias=lsws.service 27 | Alias=openlitespeed.service 28 | -------------------------------------------------------------------------------- /dist/admin/misc/lsws.rc.gentoo.in: -------------------------------------------------------------------------------- 1 | #!/sbin/runscript 2 | 3 | depend() 4 | { 5 | need net 6 | use mysql dns netmount postgres 7 | after sshd 8 | } 9 | 10 | start() 11 | { 12 | ebegin "Starting LiteSpeed Web Server" 13 | "%LSWS_CTRL%" start 2>/dev/null 1>&2 14 | eend $? 15 | } 16 | 17 | stop() 18 | { 19 | ebegin "Stopping LiteSped Web Server" 20 | "%LSWS_CTRL%" delay-stop 2>/dev/null 1>&2 21 | eend $? 22 | } 23 | 24 | restart() 25 | { 26 | ebegin "Restarting LiteSpeed Web Server" 27 | "%LSWS_CTRL%" restart 2>/dev/null 1>&2 28 | eend $? 29 | } 30 | -------------------------------------------------------------------------------- /dist/admin/misc/testbeta.sh: -------------------------------------------------------------------------------- 1 | lsup.sh -------------------------------------------------------------------------------- /dist/adminssl.conf: -------------------------------------------------------------------------------- 1 | SSL_COUNTRY=US 2 | SSL_STATE=NJ 3 | SSL_LOCALITY=Virtual 4 | SSL_ORG=LiteSpeedCommunity 5 | SSL_ORGUNIT=Testing 6 | SSL_HOSTNAME=webadmin 7 | SSL_EMAIL=. 8 | -------------------------------------------------------------------------------- /dist/conf/vhosts/Example/htgroup: -------------------------------------------------------------------------------- 1 | group1: user1,user2, user3 2 | group2: 3 | user: user8, test 4 | group3: 5 | -------------------------------------------------------------------------------- /dist/conf/vhosts/Example/htpasswd: -------------------------------------------------------------------------------- 1 | test:kF2EDBE2Ux8sQ 2 | user1:SQtevcsBBnBPY 3 | -------------------------------------------------------------------------------- /dist/docs/img/attention.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 9 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dist/docs/img/info.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | 12 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /dist/docs/img/lightning-bolt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 12 | 13 | -------------------------------------------------------------------------------- /dist/lsns/conf/lscntr.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/lsns/conf/lscntr.txt -------------------------------------------------------------------------------- /dist/lsns/logs/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | -------------------------------------------------------------------------------- /dist/lsrecaptcha/_recaptcha: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/dist/lsrecaptcha/_recaptcha -------------------------------------------------------------------------------- /dist/share/autoindex/assets/icons/corner-left-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dist/share/autoindex/assets/icons/file-text.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /dist/share/autoindex/assets/icons/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dist/share/autoindex/assets/icons/folder-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /dist/share/autoindex/assets/icons/image.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /dist/share/autoindex/assets/icons/music.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /dist/share/autoindex/assets/icons/video.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dist/share/autoindex/assets/js/tablesort.number.js: -------------------------------------------------------------------------------- 1 | (function(){ 2 | var cleanNumber = function(i) { 3 | return i.replace(/[^\-?0-9.]/g, ''); 4 | }, 5 | 6 | compareNumber = function(a, b) { 7 | a = parseFloat(a); 8 | b = parseFloat(b); 9 | 10 | a = isNaN(a) ? 0 : a; 11 | b = isNaN(b) ? 0 : b; 12 | 13 | return a - b; 14 | }; 15 | 16 | Tablesort.extend('number', function(item) { 17 | return item.match(/^[-+]?[£\x24Û¢´€]?\d+\s*([,\.]\d{0,2})/) || // Prefixed currency 18 | item.match(/^[-+]?\d+\s*([,\.]\d{0,2})?[£\x24Û¢´€]/) || // Suffixed currency 19 | item.match(/^[-+]?(\d)*-?([,\.]){0,1}-?(\d)+([E,e][\-+][\d]+)?%?$/); // Number 20 | }, function(a, b) { 21 | a = cleanNumber(a); 22 | b = cleanNumber(b); 23 | 24 | return compareNumber(b, a); 25 | }); 26 | }()); 27 | -------------------------------------------------------------------------------- /dist/share/autoindex/default.php: -------------------------------------------------------------------------------- 1 | printPage(); 8 | 9 | 10 | -------------------------------------------------------------------------------- /dist/share/autoindex/default_nojs.php: -------------------------------------------------------------------------------- 1 | printPage(); 8 | 9 | -------------------------------------------------------------------------------- /dist/share/autoindex/default_withjs.php: -------------------------------------------------------------------------------- 1 | printPage(); 8 | 9 | 10 | -------------------------------------------------------------------------------- /dist/share/autoindex/icons/corner-left-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dist/share/autoindex/icons/file-text.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /dist/share/autoindex/icons/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dist/share/autoindex/icons/folder-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /dist/share/autoindex/icons/image.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /dist/share/autoindex/icons/music.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /dist/share/autoindex/icons/video.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dlbrotli.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | cd `dirname "$0"` 4 | echo "Checking libbrotli ..." 5 | 6 | DLCMD= 7 | source dist/functions.sh 2>/dev/null 8 | if [ $? != 0 ] ; then 9 | . dist/functions.sh 10 | if [ $? != 0 ] ; then 11 | echo [ERROR] Can not include 'functions.sh'. 12 | exit 1 13 | fi 14 | fi 15 | 16 | 17 | 18 | if [ ! -f brotli-master/out/libbrotlidec-static.a ] ; then 19 | 20 | detectdlcmd 21 | echo -e "\033[38;5;148mDownloading libbrotli latest version and building, it will take several minutes ...\033[39m" 22 | 23 | which cmake 24 | if [ $? != 0 ] ; then 25 | echo -e "\033[38;5;148mError: can not find cmake, you need to install cmake to continue.\033[39m" 26 | exit 1 27 | fi 28 | 29 | $DLCMD br.zip https://codeload.github.com/google/brotli/zip/master 30 | unzip br.zip 31 | cd brotli-master 32 | 33 | mkdir out 34 | cd out 35 | ../configure-cmake 36 | make 37 | cd ../.. 38 | 39 | if [ ! -f brotli-master/out/libbrotlidec-static.a ] ; then 40 | echo -e "\033[38;5;148mError: failed to make libbrotli libraries.\033[39m" 41 | exit 1 42 | else 43 | echo -e "\033[38;5;148mGood, libbrotli libraries made.\033[39m" 44 | exit 0 45 | fi 46 | else 47 | echo -e "\033[38;5;148mLibbrotli libraries exist.\033[39m" 48 | exit 0 49 | fi 50 | 51 | -------------------------------------------------------------------------------- /dlmaxminddb.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | cd `dirname "$0"` 4 | CURDIR=`pwd` 5 | 6 | echo "Checking libmaxminddb ..." 7 | 8 | DLCMD= 9 | source dist/functions.sh 2>/dev/null 10 | if [ $? != 0 ] ; then 11 | . dist/functions.sh 12 | if [ $? != 0 ] ; then 13 | echo [ERROR] Can not include 'functions.sh'. 14 | exit 1 15 | fi 16 | fi 17 | 18 | 19 | VERSION=1.5.2 20 | URL=https://github.com/maxmind/libmaxminddb/archive/$VERSION.tar.gz 21 | 22 | if [ ! -f "libmaxminddb/src/.libs/libmaxminddb.a" ] ; then 23 | 24 | detectdlcmd 25 | echo -e "\033[38;5;148mDownloading libmaxminddb version $VERSION and building, it will take several minutes ...\033[39m" 26 | 27 | $DLCMD mmdb.tgz $URL 28 | tar xf mmdb.tgz 29 | mv libmaxminddb-$VERSION ../libmaxminddb 30 | cd ../libmaxminddb 31 | 32 | ./bootstrap 33 | ./configure --disable-tests 34 | make 35 | 36 | if [ ! -f "src/.libs/libmaxminddb.a" ] ; then 37 | echo -e "\033[38;5;148mError: failed to make libmaxminddb library.\033[39m" 38 | exit 1 39 | else 40 | echo -e "\033[38;5;148mGood, libmaxminddb made.\033[39m" 41 | cd .. 42 | mv libmaxminddb $CURDIR/ 43 | exit 0 44 | fi 45 | else 46 | echo -e "\033[38;5;148mlibmaxminddb library exist.\033[39m" 47 | exit 0 48 | fi 49 | -------------------------------------------------------------------------------- /doc/ModuleDeveloperGuide.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/doc/ModuleDeveloperGuide.odt -------------------------------------------------------------------------------- /doc/ModuleDeveloperGuide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/doc/ModuleDeveloperGuide.pdf -------------------------------------------------------------------------------- /fixtimestamp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #When using git clone to get the source code, the timestamp will be lost. 3 | #then when run make, it will cause re-config issue. 4 | 5 | touch aclocal.m4 6 | sleep 2 7 | 8 | touch Makefile.in 9 | touch src/Makefile.in 10 | touch src/edio/Makefile.in 11 | touch src/extensions/Makefile.in 12 | touch src/http/Makefile.in 13 | touch src/spdy/Makefile.in 14 | touch src/log4cxx/Makefile.in 15 | touch src/main/Makefile.in 16 | touch src/socket/Makefile.in 17 | touch src/sslpp/Makefile.in 18 | touch src/ssi/Makefile.in 19 | touch src/lsiapi/Makefile.in 20 | touch src/modules/Makefile.in 21 | touch src/shm/Makefile.in 22 | touch src/modules/cache/Makefile.in 23 | sleep 2 24 | 25 | touch configure 26 | touch src/config.h.in 27 | -------------------------------------------------------------------------------- /include/lsquic.h: -------------------------------------------------------------------------------- 1 | ../lsquic/include/lsquic.h -------------------------------------------------------------------------------- /include/lsquic_types.h: -------------------------------------------------------------------------------- 1 | ../lsquic/include/lsquic_types.h -------------------------------------------------------------------------------- /install_lsrecaptcha.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z "${GOROOT}" ]; then 4 | echo "NOTICE: The GOROOT environment variable MUST be set prior to calling this script." 5 | echo "The GOROOT environment variable should point to where Go is installed." 6 | exit 1 7 | fi 8 | 9 | OS=`uname -s` 10 | 11 | if [ "x$OS" = "xFreeBSD" ]; then 12 | setenv GOPATH "${PWD}/src/modules/lsrecaptcha/go" 13 | elif [ "x$OS" = "xLinux" ]; then 14 | export GOPATH="${PWD}/src/modules/lsrecaptcha/go" 15 | else 16 | echo "unsupported OS ${OS}." 17 | fi 18 | 19 | go build lsrecaptcha 20 | cp lsrecaptcha dist/lsrecaptcha/_recaptcha 21 | 22 | 23 | -------------------------------------------------------------------------------- /installudns.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #Download udns source code and install it 3 | 4 | DLCMD= 5 | source dist/functions.sh 2>/dev/null 6 | if [ $? != 0 ] ; then 7 | . dist/functions.sh 8 | if [ $? = 0 ] ; then 9 | detectdlcmd 10 | else 11 | DLCMD="curl -o" 12 | fi 13 | fi 14 | 15 | 16 | echo Will download stable version of the udns library 0.4 and install it 17 | $DLCMD ./udns.tar.gz http://www.corpit.ru/mjt/udns/udns-0.4.tar.gz 18 | tar xf udns.tar.gz 19 | cd udns-0.4/ 20 | ./configure 21 | make 22 | cd ../ 23 | -------------------------------------------------------------------------------- /modverinfo.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # 3 | # This script is to gather pre-defined modules version info 4 | # 5 | # 6 | 7 | OS=`uname -s` 8 | ALL_VER_INFO= 9 | DEFINED_VALUE= 10 | get_file_defined_value() 11 | { 12 | DEFINED_VALUE=`grep "$2" "$1" | awk '{print substr($3,1,40)}' | tr -d '"' ` 13 | } 14 | 15 | MODULESPACE= 16 | if [ "x$OS" = "xLinux" ] ; then 17 | MODULESPACE="\\n" 18 | fi 19 | 20 | get_file_defined_value src/modules/modgzip/modgzip.cpp "#define MODULE_VERSION" 21 | ALL_VER_INFO="$ALL_VER_INFO\\tmodgzip $DEFINED_VALUE$MODULESPACE" 22 | 23 | if [ "${OS}" != "Darwin" ] ; then 24 | 25 | get_file_defined_value src/modules/cache/cache.cpp "#define MODULE_VERSION_INFO" 26 | ALL_VER_INFO="$ALL_VER_INFO\\tcache $DEFINED_VALUE$MODULESPACE" 27 | 28 | get_file_defined_value src/modules/modinspector/modinspector.cpp "#define MODULE_VERSION_INFO" 29 | ALL_VER_INFO="$ALL_VER_INFO\\tmodinspector $DEFINED_VALUE$MODULESPACE" 30 | 31 | get_file_defined_value src/modules/uploadprogress/uploadprogress.cpp "#define MODULE_VERSION_INFO" 32 | ALL_VER_INFO="$ALL_VER_INFO\\tuploadprogress $DEFINED_VALUE$MODULESPACE" 33 | 34 | 35 | get_file_defined_value src/modules/modsecurity-ls/mod_security.cpp "#define VERSIONNUMBER" 36 | ALL_VER_INFO="$ALL_VER_INFO\\tmod_security $DEFINED_VALUE$MODULESPACE" 37 | 38 | fi 39 | 40 | echo $ALL_VER_INFO 41 | -------------------------------------------------------------------------------- /nodejs_integration/nodejs/README-NODE: -------------------------------------------------------------------------------- 1 | ## 2 | ## Open LiteSpeed is an open source HTTP server. * 3 | ## Copyright (C) 2014 LiteSpeed Technologies, Inc. * 4 | ## 5 | ## LiteSpeed Node.js implementation note... 6 | ## This is sample implementation on how the LiteSpeed pass control to Node.js. 7 | ## 8 | ## binding.gyp - binding (makefile) for Node.js C++ 9 | ## lsnodeapi.cc - Node.js V8 C++ addon 10 | ## lsnodesrv.js - Java Script to run any java script inside the sandbox 11 | ## myfirst.js - Java Script for testing purpose 12 | ## 13 | ## (1) Need to install the LiteSpeed Node.js handler 14 | ## 15 | ## (2) Compile C++ addon module (binding.gyp, lsnodeapi.cc) for Node.js. 16 | ## need: binding.gyp and lsnodeapi.cc 17 | ## ./deps/npm/bin/node-gyp-bin/node-gyp --debug configure build 18 | ## (3) Need to run LiteSpeed Java Script Server 19 | ## node lsnodesrv.js /home/user/lsws/socket/LS_NODE 20 | ## (4) Testing the connection. 21 | ## curl -i http://localhost:8088/myfirst.js 22 | ## 23 | ## Note - 24 | ## The LiteSpeed handler and litespeed.js should agree on the server_path. 25 | ## Currently I hard coded the path 26 | ## server_path = "/home/user/lsws/socket/LS_NODE"; 27 | ## We should use the user parameters instead. 28 | ## 29 | ## 30 | 31 | -------------------------------------------------------------------------------- /nodejs_integration/nodejs/binding.gyp: -------------------------------------------------------------------------------- 1 | { 2 | "targets": [ 3 | { 4 | "target_name": "lsnodeapi", 5 | "sources": [ "lsnodeapi.cc" ] 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /nodejs_integration/nodejs/myfirst.js: -------------------------------------------------------------------------------- 1 | // console.log('myfirst.node Hello LiteSpeed Node JS') 2 | 3 | response.write("\r\n" 4 | + "\r\n" 5 | + "Hello LiteSpeed from myfirst.node\r\n" 6 | + "\r\n" 7 | + "\r\n"); 8 | // console.log('myfirst.node Bye LiteSpeed Node JS') 9 | 10 | -------------------------------------------------------------------------------- /nodejs_integration/udns-0.4.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/nodejs_integration/udns-0.4.tar.gz -------------------------------------------------------------------------------- /openlitespeed.kdev4: -------------------------------------------------------------------------------- 1 | [Project] 2 | Manager=KDevCMakeManager 3 | Name=openlitespeed 4 | -------------------------------------------------------------------------------- /src/.cvsignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | *.moc.cpp 4 | *.moc 5 | -------------------------------------------------------------------------------- /src/adns/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.0) 3 | 4 | SET(adns_STAT_SRCS 5 | adns.cpp 6 | ) 7 | 8 | add_library(adns STATIC ${adns_STAT_SRCS} ) 9 | -------------------------------------------------------------------------------- /src/adns/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = libadns.a 3 | 4 | INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src 5 | 6 | libadns_a_METASOURCES = AUTO 7 | 8 | libadns_a_SOURCES = adns.cpp 9 | 10 | ####### kdevelop will overwrite this part!!! (end)############ 11 | -------------------------------------------------------------------------------- /src/config.h.cmake: -------------------------------------------------------------------------------- 1 | #ifndef __CONFIG_H__ 2 | #define __CONFIG_H__ 3 | 4 | #define LS_ENABLE_SPDY 1 5 | #define DEFAULT_TMP_DIR "/tmp/lshttpd" 6 | #define PID_FILE "/tmp/lshttpd/lshttpd.pid" 7 | 8 | #define PACKAGE_VERSION "@CMAKE_PROJECT_VERSION@" 9 | #define LS_MODULE_VERSION_INFO "\tlsquic 4.2.0\n\tmodgzip 1.1\n\tcache 1.66\n\tmod_security 1.4 (with libmodsecurity v3.0.13)\n" 10 | #define LS_MODULE_VERSION_INFO_ONELINE "lsquic 4.2.0, modgzip 1.1, cache 1.66, mod_security 1.4 (with libmodsecurity v3.0.13)" 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /src/edio/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libedio.a 2 | AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(top_srcdir)/src/edio/liburing/include/ 3 | libedio_a_METASOURCES = AUTO 4 | 5 | libedio_a_SOURCES = reactorindex.cpp fdindex.cpp kqueuer.cpp epoll.cpp rtsigio.cpp ediostream.cpp outputbuf.cpp cacheos.cpp \ 6 | inputstream.cpp bufferedos.cpp outputstream.cpp flowcontrol.cpp iochain.cpp multiplexerfactory.cpp eventreactor.cpp poller.cpp \ 7 | multiplexer.cpp pollfdreactor.cpp lookupfd.cpp devpoller.cpp aioeventhandler.cpp sigeventdispatcher.cpp aiooutputstream.cpp \ 8 | aiosendfile.cpp eventnotifier.cpp eventprocessor.cpp evtcbque.cpp linuxaioctx.cpp \ 9 | iouring.cpp liburing/queue.c liburing/register.c liburing/setup.c liburing/syscall.c asynciovs.cpp 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/edio/liburing/include/liburing/time_types.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 | #ifndef _LINUX_TIME_TYPES_H 3 | #define _LINUX_TIME_TYPES_H 4 | 5 | #include 6 | 7 | struct __kernel_timespec { 8 | __kernel_time64_t tv_sec; /* seconds */ 9 | long long tv_nsec; /* nanoseconds */ 10 | }; 11 | 12 | struct __kernel_itimerspec { 13 | struct __kernel_timespec it_interval; /* timer period */ 14 | struct __kernel_timespec it_value; /* timer expiration */ 15 | }; 16 | 17 | /* 18 | * legacy timeval structure, only embedded in structures that 19 | * traditionally used 'timeval' to pass time intervals (not absolute 20 | * times). Do not add new users. If user space fails to compile 21 | * here, this is probably because it is not y2038 safe and needs to 22 | * be changed to use another interface. 23 | */ 24 | #ifndef __kernel_old_timeval 25 | struct __kernel_old_timeval { 26 | __kernel_long_t tv_sec; 27 | __kernel_long_t tv_usec; 28 | }; 29 | #endif 30 | 31 | struct __kernel_sock_timeval { 32 | __s64 tv_sec; 33 | __s64 tv_usec; 34 | }; 35 | 36 | #endif /* _LINUX_TIME_TYPES_H */ 37 | -------------------------------------------------------------------------------- /src/edio/liburing/syscall.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: MIT */ 2 | #ifndef LIBURING_SYSCALL_H 3 | #define LIBURING_SYSCALL_H 4 | 5 | /* 6 | * System calls 7 | */ 8 | extern int __sys_io_uring_setup(unsigned entries, struct io_uring_params *p); 9 | extern int __sys_io_uring_enter(int fd, unsigned to_submit, 10 | unsigned min_complete, unsigned flags, sigset_t *sig); 11 | extern int __sys_io_uring_register(int fd, unsigned int opcode, const void *arg, 12 | unsigned int nr_args); 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /src/edio/linuxaio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2002 Lite Speed Technologies Inc, All Rights Reserved. 3 | * LITE SPEED PROPRIETARY/CONFIDENTIAL. 4 | */ 5 | 6 | 7 | #ifndef LINUXAIO_H 8 | #define LINUXAIO_H 9 | 10 | #if defined(LS_AIO_USE_LINUX_AIO) 11 | #include 12 | //#include 13 | 14 | #include "edio/eventreactor.h" 15 | #include "util/tsingleton.h" 16 | 17 | class LsLinuxAioReq; 18 | 19 | class LinuxAio : public EventReactor 20 | , public TSingleton< LinuxAio > 21 | { 22 | private: 23 | friend class TSingleton< LinuxAio >; 24 | static const int s_check_event_count = 128; 25 | int m_eventfd; 26 | io_context_t m_context; 27 | 28 | int read_eventfd(int &pending); 29 | int check_pending(); 30 | 31 | void start(); 32 | void close_eventfd(); 33 | LinuxAio(const LinuxAio &other); 34 | 35 | public: 36 | LinuxAio() 37 | : m_eventfd(-1) 38 | , m_context((io_context_t)0) 39 | {} 40 | virtual ~LinuxAio(); 41 | 42 | int load(); 43 | int get_eventfd() { return m_eventfd; }; 44 | io_context_t get_context() { return m_context; } 45 | virtual int handleEvents(short int event); 46 | 47 | }; 48 | 49 | LS_SINGLETON_DECL(LinuxAio); 50 | 51 | #endif // LS_AIO_USE_LINUX_AIO guard 52 | #endif // LINUXAIO_H Guard 53 | -------------------------------------------------------------------------------- /src/extensions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | add_subdirectory(fcgi) 5 | add_subdirectory(cgi) 6 | add_subdirectory(jk) 7 | add_subdirectory(proxy) 8 | add_subdirectory(registry) 9 | add_subdirectory(lsapi) 10 | 11 | 12 | SET(extensions_STAT_SRCS 13 | loadbalancer.cpp 14 | localworkerconfig.cpp 15 | localworker.cpp 16 | pidlist.cpp 17 | iprocessortimer.cpp 18 | httpextprocessor.cpp 19 | extrequest.cpp 20 | extworker.cpp 21 | extconn.cpp 22 | extworkerconfig.cpp 23 | #l4conn.cpp 24 | ssl4conn.cpp 25 | ) 26 | 27 | add_library(extensions STATIC ${extensions_STAT_SRCS}) 28 | 29 | -------------------------------------------------------------------------------- /src/extensions/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = libextensions.a 3 | 4 | AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src 5 | 6 | libextensions_a_METASOURCES = AUTO 7 | 8 | libextensions_a_SOURCES = loadbalancer.cpp localworkerconfig.cpp localworker.cpp pidlist.cpp iprocessortimer.cpp httpextprocessor.cpp \ 9 | extrequest.cpp extworker.cpp extconn.cpp extworkerconfig.cpp l4conn.cpp \ 10 | cgi/lscgid.cpp cgi/suexec.cpp cgi/cgidreq.cpp cgi/cgidconfig.cpp cgi/cgidworker.cpp cgi/cgidconn.cpp cgi/cgroupconn.cpp cgi/cgroupuse.cpp \ 11 | cgi/use_bwrap.c cgi/ns.c cgi/nsopts.c cgi/nspersist.c cgi/nsutils.c \ 12 | fcgi/fcgienv.cpp fcgi/fcgiappconfig.cpp fcgi/fcgiapp.cpp fcgi/fcginamevaluepair.cpp fcgi/fcgiconnection.cpp fcgi/fcgirecord.cpp \ 13 | jk/jkajp13.cpp jk/jworker.cpp jk/jworkerconfig.cpp jk/jconn.cpp \ 14 | proxy/proxyconfig.cpp proxy/proxyworker.cpp proxy/proxyconn.cpp \ 15 | registry/extappregistry.cpp registry/appconfig.cpp\ 16 | lsapi/lsapiworker.cpp lsapi/lsapireq.cpp lsapi/lsapiconn.cpp lsapi/lsapiconfig.cpp 17 | 18 | ####### kdevelop will overwrite this part!!! (end)############ 19 | #noinst_HEADERS = localworkerconfig.h localworker.h loadbalancer.h 20 | -------------------------------------------------------------------------------- /src/extensions/cgi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | #include_directories("/usr/lib64/glib-2.0/include") 4 | #include_directories("/usr/include/glib-2.0") 5 | 6 | ########### next target ############### 7 | 8 | SET(cgi_STAT_SRCS 9 | suexec.cpp 10 | cgidreq.cpp 11 | cgidconfig.cpp 12 | cgidworker.cpp 13 | cgidconn.cpp 14 | lscgid.cpp 15 | cgroupconn.cpp 16 | cgroupuse.cpp 17 | ns.c 18 | nsopts.c 19 | nspersist.c 20 | nsutils.c 21 | use_bwrap.c 22 | ) 23 | 24 | add_library(cgi STATIC ${cgi_STAT_SRCS}) 25 | 26 | 27 | ########### install files ############### 28 | 29 | 30 | 31 | 32 | #original Makefile.am contents follow: 33 | 34 | ######## kdevelop will overwrite this part!!! (begin)########## 35 | #noinst_LIBRARIES = libcgi.a 36 | # 37 | #INCLUDES = $(all_includes) 38 | # 39 | #libcgi_a_METASOURCES = AUTO 40 | # 41 | #libcgi_a_SOURCES = suexec.cpp cgidreq.cpp cgidconfig.cpp cgidworker.cpp cgidconn.cpp 42 | # 43 | # 44 | #EXTRA_DIST = cgidconn.cpp cgidconn.h cgidworker.cpp cgidworker.h cgidconfig.cpp cgidconfig.h cgidreq.cpp cgidreq.h lscgiddef.h suexec.cpp suexec.h 45 | # 46 | ######## kdevelop will overwrite this part!!! (end)############ 47 | -------------------------------------------------------------------------------- /src/extensions/cgi/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libcgi.a 2 | 3 | AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src 4 | 5 | libcgi_a_METASOURCES = AUTO 6 | 7 | libcgi_a_SOURCES = lscgid.cpp suexec.cpp cgidreq.cpp cgidconfig.cpp cgidworker.cpp cgidconn.cpp cgroupconn.cpp cgroupuse.cpp use_bwrap.c ns.c nsopts.c nspersist.c nsutils.c 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/extensions/cgi/nsipc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2002-2020 Lite Speed Technologies Inc, All Rights Reserved. 3 | * LITE SPEED PROPRIETARY/CONFIDENTIAL. 4 | */ 5 | #ifndef _NSIPC_H 6 | #define _NSIPC_H 7 | 8 | #if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__) 9 | 10 | #ifdef __cplusplus 11 | extern "C" 12 | { 13 | #endif 14 | 15 | /** 16 | * @file nsipc.h 17 | * @brief This module defines the IPC between the clone'd parent and child. 18 | */ 19 | 20 | enum nsipc_msgs 21 | { 22 | NSIPC_PARENT_DONE, 23 | NSIPC_CHILD_STARTED, 24 | NSIPC_ERROR, 25 | }; 26 | 27 | typedef struct nsipc_parent_done_s 28 | { 29 | enum nsipc_msgs m_type; 30 | } nsipc_parent_done_t; 31 | 32 | typedef struct nsipc_child_started_s 33 | { 34 | enum nsipc_msgs m_type; 35 | pid_t m_pid; 36 | } nsipc_child_started_t; 37 | 38 | typedef struct nsipc_error_s 39 | { 40 | enum nsipc_msgs m_type; 41 | int m_rc; 42 | } nsipc_error_t; 43 | 44 | typedef union nsipc_u 45 | { 46 | nsipc_parent_done_t m_done; 47 | nsipc_child_started_t m_started; 48 | nsipc_error_t m_error; 49 | } nsipc_t; 50 | 51 | #ifdef __cplusplus 52 | } 53 | #endif 54 | 55 | #endif // Linux only 56 | 57 | #endif // _NSIPC_H 58 | -------------------------------------------------------------------------------- /src/extensions/fcgi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(fcgi_STAT_SRCS 7 | fcgienv.cpp 8 | fcgiappconfig.cpp 9 | fcgiapp.cpp 10 | fcginamevaluepair.cpp 11 | fcgiconnection.cpp 12 | fcgirecord.cpp 13 | ) 14 | 15 | add_library(fcgi STATIC ${fcgi_STAT_SRCS}) 16 | 17 | 18 | ########### install files ############### 19 | 20 | 21 | 22 | 23 | #original Makefile.am contents follow: 24 | 25 | ######## kdevelop will overwrite this part!!! (begin)########## 26 | #noinst_LIBRARIES = libfcgi.a 27 | # 28 | #INCLUDES = $(all_includes) 29 | # 30 | #libfcgi_a_METASOURCES = AUTO 31 | # 32 | #libfcgi_a_SOURCES = fcgienv.cpp fcgiappconfig.cpp fcgiapp.cpp fcginamevaluepair.cpp fcgiconnection.cpp fcgirecord.cpp 33 | # 34 | # 35 | #EXTRA_DIST = fcgirecord.cpp fcgirecord.h fcgiconnection.cpp fcgiconnection.h fcginamevaluepair.cpp fcginamevaluepair.h fcgiapp.cpp fcgiapp.h fcgidef.h fcgiappconfig.cpp fcgiappconfig.h fcgienv.cpp fcgienv.h 36 | # 37 | ######## kdevelop will overwrite this part!!! (end)############ 38 | -------------------------------------------------------------------------------- /src/extensions/fcgi/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = libfcgi.a 3 | 4 | AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(all_includes) 5 | 6 | libfcgi_a_METASOURCES = AUTO 7 | 8 | libfcgi_a_SOURCES = fcgienv.cpp fcgiappconfig.cpp fcgiapp.cpp fcginamevaluepair.cpp fcgiconnection.cpp fcgirecord.cpp 9 | 10 | 11 | EXTRA_DIST = fcgirecord.cpp fcgirecord.h fcgiconnection.cpp fcgiconnection.h fcginamevaluepair.cpp fcginamevaluepair.h fcgiapp.cpp fcgiapp.h fcgidef.h fcgiappconfig.cpp fcgiappconfig.h fcgienv.cpp fcgienv.h 12 | 13 | ####### kdevelop will overwrite this part!!! (end)############ 14 | -------------------------------------------------------------------------------- /src/extensions/jk/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(jk_STAT_SRCS 7 | jkajp13.cpp 8 | jworker.cpp 9 | jworkerconfig.cpp 10 | jconn.cpp 11 | ) 12 | 13 | add_library(jk STATIC ${jk_STAT_SRCS}) 14 | 15 | 16 | ########### install files ############### 17 | 18 | 19 | 20 | 21 | #original Makefile.am contents follow: 22 | 23 | ######## kdevelop will overwrite this part!!! (begin)########## 24 | #noinst_LIBRARIES = libjk.a 25 | # 26 | #INCLUDES = $(all_includes) 27 | # 28 | #libjk_a_METASOURCES = AUTO 29 | # 30 | #libjk_a_SOURCES = jkajp13.cpp jworker.cpp jworkerconfig.cpp jconn.cpp 31 | # 32 | # 33 | #EXTRA_DIST = jconn.cpp jconn.h jworkerconfig.cpp jworkerconfig.h jworker.cpp jworker.h jkajp13.cpp jkajp13.h 34 | # 35 | ######## kdevelop will overwrite this part!!! (end)############ 36 | -------------------------------------------------------------------------------- /src/extensions/jk/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = libjk.a 3 | 4 | AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(all_includes) 5 | 6 | libjk_a_METASOURCES = AUTO 7 | 8 | libjk_a_SOURCES = jkajp13.cpp jworker.cpp jworkerconfig.cpp jconn.cpp 9 | 10 | 11 | EXTRA_DIST = jconn.cpp jconn.h jworkerconfig.cpp jworkerconfig.h jworker.cpp jworker.h jkajp13.cpp jkajp13.h 12 | 13 | ####### kdevelop will overwrite this part!!! (end)############ 14 | -------------------------------------------------------------------------------- /src/extensions/lsapi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(lsapi_STAT_SRCS 7 | lsapiworker.cpp 8 | lsapireq.cpp 9 | lsapiconn.cpp 10 | lsapiconfig.cpp 11 | ) 12 | 13 | add_library(lsapi STATIC ${lsapi_STAT_SRCS}) 14 | 15 | 16 | ########### install files ############### 17 | 18 | 19 | 20 | 21 | #original Makefile.am contents follow: 22 | 23 | ######## kdevelop will overwrite this part!!! (begin)########## 24 | #noinst_LIBRARIES = liblsapi.a 25 | # 26 | #INCLUDES = $(all_includes) 27 | # 28 | #liblsapi_a_METASOURCES = AUTO 29 | # 30 | #liblsapi_a_SOURCES = lsapiworker.cpp lsapireq.cpp lsapiconn.cpp lsapiconfig.cpp 31 | # 32 | # 33 | #EXTRA_DIST = lsapiconfig.cpp lsapiconfig.h lsapiconn.cpp lsapiconn.h lsapireq.cpp lsapireq.h lsapidef.h lsapiworker.cpp lsapiworker.h 34 | # 35 | ######## kdevelop will overwrite this part!!! (end)############ 36 | -------------------------------------------------------------------------------- /src/extensions/lsapi/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = liblsapi.a 3 | 4 | AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(all_includes) 5 | 6 | liblsapi_a_METASOURCES = AUTO 7 | 8 | liblsapi_a_SOURCES = lsapiworker.cpp lsapireq.cpp lsapiconn.cpp lsapiconfig.cpp 9 | 10 | 11 | EXTRA_DIST = lsapiconfig.cpp lsapiconfig.h lsapiconn.cpp lsapiconn.h lsapireq.cpp lsapireq.h lsapidef.h lsapiworker.cpp lsapiworker.h 12 | 13 | ####### kdevelop will overwrite this part!!! (end)############ 14 | -------------------------------------------------------------------------------- /src/extensions/proxy/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(proxy_STAT_SRCS 7 | proxyconfig.cpp 8 | proxyworker.cpp 9 | proxyconn.cpp 10 | ) 11 | 12 | add_library(proxy STATIC ${proxy_STAT_SRCS}) 13 | 14 | 15 | ########### install files ############### 16 | 17 | 18 | 19 | 20 | #original Makefile.am contents follow: 21 | 22 | ######## kdevelop will overwrite this part!!! (begin)########## 23 | #noinst_LIBRARIES = libproxy.a 24 | # 25 | #INCLUDES = $(all_includes) 26 | # 27 | #libproxy_a_METASOURCES = AUTO 28 | # 29 | #libproxy_a_SOURCES = proxyconfig.cpp proxyworker.cpp proxyconn.cpp 30 | # 31 | # 32 | #EXTRA_DIST = proxyconn.cpp proxyconn.h proxyworker.cpp proxyworker.h proxyconfig.cpp proxyconfig.h 33 | # 34 | ######## kdevelop will overwrite this part!!! (end)############ 35 | -------------------------------------------------------------------------------- /src/extensions/proxy/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = libproxy.a 3 | 4 | AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(all_includes) 5 | 6 | libproxy_a_METASOURCES = AUTO 7 | 8 | libproxy_a_SOURCES = proxyconfig.cpp proxyworker.cpp proxyconn.cpp 9 | 10 | 11 | EXTRA_DIST = proxyconn.cpp proxyconn.h proxyworker.cpp proxyworker.h proxyconfig.cpp proxyconfig.h 12 | 13 | ####### kdevelop will overwrite this part!!! (end)############ 14 | -------------------------------------------------------------------------------- /src/extensions/registry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(registry_STAT_SRCS 7 | appconfig.cpp 8 | extappregistry.cpp 9 | ) 10 | 11 | add_library(registry STATIC ${registry_STAT_SRCS}) 12 | 13 | 14 | ########### install files ############### 15 | 16 | 17 | 18 | 19 | #original Makefile.am contents follow: 20 | 21 | ######## kdevelop will overwrite this part!!! (begin)########## 22 | #noinst_LIBRARIES = libregistry.a 23 | # 24 | #INCLUDES = $(all_includes) 25 | # 26 | #libregistry_a_METASOURCES = AUTO 27 | # 28 | #libregistry_a_SOURCES = extappregistry.cpp 29 | # 30 | # 31 | #EXTRA_DIST = extappregistry.cpp extappregistry.h 32 | # 33 | ######## kdevelop will overwrite this part!!! (end)############ 34 | -------------------------------------------------------------------------------- /src/extensions/registry/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = libregistry.a 3 | 4 | AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(all_includes) 5 | 6 | libregistry_a_METASOURCES = AUTO 7 | 8 | libregistry_a_SOURCES = extappregistry.cpp appconfig.cpp 9 | 10 | 11 | EXTRA_DIST = extappregistry.cpp extappregistry.h 12 | 13 | ####### kdevelop will overwrite this part!!! (end)############ 14 | -------------------------------------------------------------------------------- /src/h2/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | add_definitions(-DXXH_HEADER_NAME="lsr/xxhash.h") 4 | 5 | SET(h2_STAT_SRCS 6 | h2connection.cpp 7 | h2protocol.cpp 8 | h2stream.cpp 9 | h2streampool.cpp 10 | unpackedheaders.cpp 11 | h2connbase.cpp 12 | h2streambase.cpp 13 | ../lshpack/lshpack.c 14 | ) 15 | 16 | add_library(h2 STATIC ${h2_STAT_SRCS}) 17 | 18 | -------------------------------------------------------------------------------- /src/h2/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libh2.a 2 | 3 | INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src 4 | 5 | libh2_a_METASOURCES = AUTO 6 | 7 | libh2_a_SOURCES = h2connection.cpp \ 8 | h2protocol.cpp h2stream.cpp unpackedheaders.cpp \ 9 | h2streampool.cpp h2connbase.cpp h2streambase.cpp \ 10 | ../lshpack/lshpack.c 11 | 12 | noinst_HEADERS = 13 | -------------------------------------------------------------------------------- /src/http/cacheelement.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | -------------------------------------------------------------------------------- /src/http/reqhandler.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | -------------------------------------------------------------------------------- /src/liblsquic: -------------------------------------------------------------------------------- 1 | ../lsquic/src/liblsquic -------------------------------------------------------------------------------- /src/log4cxx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(log4cxx_STAT_SRCS 7 | appendermanager.cpp 8 | fileappender.cpp 9 | logrotate.cpp 10 | patternlayout.cpp 11 | loggingevent.cpp 12 | ilog.cpp 13 | bench.cpp 14 | layout.cpp 15 | appender.cpp 16 | logger.cpp 17 | level.cpp 18 | logsession.cpp 19 | tmplogid.cpp 20 | ) 21 | 22 | add_library(log4cxx STATIC ${log4cxx_STAT_SRCS}) 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/log4cxx/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = liblog4cxx.a 3 | 4 | INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src 5 | 6 | liblog4cxx_a_METASOURCES = AUTO 7 | 8 | liblog4cxx_a_SOURCES = appendermanager.cpp fileappender.cpp logrotate.cpp \ 9 | patternlayout.cpp loggingevent.cpp ilog.cpp bench.cpp layout.cpp appender.cpp \ 10 | logger.cpp level.cpp logsession.cpp tmplogid.cpp 11 | 12 | 13 | EXTRA_DIST = level.cpp level.h logger.cpp logger.h appender.cpp appender.h \ 14 | nsdefs.h layout.cpp layout.h bench.cpp ilog.cpp ilog.h loggingevent.cpp \ 15 | loggingevent.h patternlayout.cpp patternlayout.h logrotate.cpp logrotate.h \ 16 | fileappender.cpp fileappender.h appendermanager.cpp appendermanager.h 17 | 18 | ####### kdevelop will overwrite this part!!! (end)############ 19 | noinst_HEADERS = appendermanager.h 20 | -------------------------------------------------------------------------------- /src/log4cxx/ilog.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2015 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | #include "ilog.h" 19 | 20 | -------------------------------------------------------------------------------- /src/lshpack: -------------------------------------------------------------------------------- 1 | ../lsquic/src/lshpack -------------------------------------------------------------------------------- /src/lsiapi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | SET(lsiapi_STAT_SRCS 4 | ediohandler.cpp 5 | envmanager.cpp 6 | lsimoduledata.cpp 7 | lsiapihooks.cpp 8 | modulehandler.cpp 9 | lsiapi.cpp 10 | lsiapi_const.cpp 11 | lsiapilib.cpp 12 | lsiapigd.cpp 13 | modulemanager.cpp 14 | moduletimer.cpp 15 | ) 16 | 17 | add_library(lsiapi STATIC ${lsiapi_STAT_SRCS}) 18 | 19 | -------------------------------------------------------------------------------- /src/lsiapi/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = liblsiapi.a 3 | 4 | AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src 5 | 6 | liblsiapi_a_METASOURCES = AUTO 7 | 8 | liblsiapi_a_SOURCES = ediohandler.cpp lsiapi.cpp lsimoduledata.cpp lsiapihooks.cpp modulehandler.cpp modulemanager.cpp lsiapilib.cpp lsiapigd.cpp envmanager.cpp \ 9 | moduletimer.cpp lsiapi_const.cpp 10 | 11 | -------------------------------------------------------------------------------- /src/lsr/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.0) 3 | 4 | 5 | ########### next target ############### 6 | 7 | SET(lsr_STAT_SRCS 8 | ls_aho.c 9 | ls_base64.c 10 | ls_buf.c 11 | ls_confparser.c 12 | ls_crc64.c 13 | ls_dlinkq.c 14 | ls_fileio.c 15 | ls_hash.c 16 | ls_lfqueue.c 17 | ls_lfstack.c 18 | ls_link.c 19 | ls_llmq.c 20 | ls_llxq.c 21 | ls_lock.c 22 | ls_loopbuf.c 23 | ls_map.c 24 | ls_md5.c 25 | ls_mpscq.c 26 | ls_objarray.c 27 | ls_objpool.c 28 | ls_pcreg.c 29 | ls_pool.c 30 | ls_ptrlist.c 31 | ls_sha1.c 32 | ls_shm.cpp 33 | ls_stack.c 34 | ls_str.c 35 | ls_strlist.c 36 | ls_strtool.c 37 | ls_time.c 38 | ls_tsstack.c 39 | ls_xpool.c 40 | xxhash.c 41 | ) 42 | 43 | add_library(lsr STATIC ${lsr_STAT_SRCS} ) 44 | 45 | -------------------------------------------------------------------------------- /src/lsr/ls_dlinkq.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2015 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | #include 19 | 20 | -------------------------------------------------------------------------------- /src/lsr/ls_link.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2015 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | #include 19 | -------------------------------------------------------------------------------- /src/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(main_STAT_SRCS 7 | mainserverconfig.cpp 8 | lshttpdmain.cpp 9 | serverinfo.cpp 10 | httpconfigloader.cpp 11 | httpserver.cpp 12 | plainconf.cpp 13 | configctx.cpp 14 | zconfclient.cpp 15 | zconfmanager.cpp 16 | ../sslpp/sslcontextconfig.cpp 17 | ) 18 | 19 | add_library(main STATIC ${main_STAT_SRCS}) 20 | 21 | 22 | ########### install files ############### 23 | 24 | 25 | 26 | 27 | #original Makefile.am contents follow: 28 | 29 | ######## kdevelop will overwrite this part!!! (begin)########## 30 | #noinst_LIBRARIES = libmain.a 31 | # 32 | #INCLUDES = $(all_includes) 33 | # 34 | #libmain_a_METASOURCES = AUTO 35 | # 36 | #libmain_a_SOURCES = lshttpdmain.cpp serverinfo.cpp httpserverbuilder.cpp \ 37 | # httpserver.cpp 38 | # 39 | # 40 | #EXTRA_DIST = license.cpp license.h httpserver.cpp httpserver.h httpserverbuilder.cpp httpserverbuilder.h serverinfo.cpp serverinfo.h lshttpdmain.cpp lshttpdmain.h timestamp.h 41 | # 42 | ######## kdevelop will overwrite this part!!! (end)############ 43 | -------------------------------------------------------------------------------- /src/main/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = libmain.a 3 | 4 | AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src 5 | 6 | libmain_a_METASOURCES = AUTO 7 | 8 | libmain_a_SOURCES = mainserverconfig.cpp lshttpdmain.cpp serverinfo.cpp httpconfigloader.cpp \ 9 | httpserver.cpp plainconf.cpp configctx.cpp zconfclient.cpp zconfmanager.cpp \ 10 | ../sslpp/sslcontextconfig.cpp 11 | 12 | ####### kdevelop will overwrite this part!!! (end)############ 13 | -------------------------------------------------------------------------------- /src/modules/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | add_subdirectory(modgzip) 4 | add_subdirectory(cache) 5 | 6 | if (MOD_REQPARSER) 7 | message("Make mod_reqparser") 8 | add_subdirectory(modreqparser) 9 | endif() 10 | 11 | if (MOD_PAGESPEED) 12 | message("Make mod_pagespeed") 13 | add_subdirectory(pagespeed) 14 | endif() 15 | 16 | if (MOD_LUA) 17 | message("Make mod_lua") 18 | add_subdirectory(lua) 19 | endif() 20 | 21 | if (MOD_INSPECTOR) 22 | message("Make mod_inspector") 23 | add_subdirectory(modinspector) 24 | endif() 25 | 26 | if (MOD_UPLOADPROGRESS) 27 | message("Make UploadProgress") 28 | add_subdirectory(uploadprogress) 29 | endif() 30 | 31 | if (MOD_LSPHP) 32 | message("Make mod_lsphp") 33 | add_subdirectory(mod_lsphp) 34 | endif() 35 | 36 | if (MOD_SECURITY) 37 | message("Make mod_security") 38 | add_subdirectory(modsecurity-ls) 39 | endif() 40 | 41 | -------------------------------------------------------------------------------- /src/modules/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | 3 | ####### kdevelop will overwrite this part!!! (begin)########## 4 | noinst_LIBRARIES = libmodules.a 5 | 6 | # AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src 7 | AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(top_srcdir)/src/modules/cache 8 | 9 | libmodules_a_METASOURCES = AUTO 10 | 11 | libmodules_a_SOURCES = modgzip/modgzip.cpp \ 12 | cache/cache.cpp cache/cacheentry.cpp cache/cachehash.cpp cache/cachestore.cpp \ 13 | cache/ceheader.cpp cache/dirhashcacheentry.cpp cache/dirhashcachestore.cpp \ 14 | cache/cacheconfig.cpp cache/cachectrl.cpp \ 15 | cache/cachemanager.cpp cache/shmcachemanager.cpp 16 | 17 | 18 | 19 | if HAVE_LIBLUA 20 | SUBDIRS = uploadprogress lua modinspector modreqparser 21 | else 22 | SUBDIRS = uploadprogress modinspector modreqparser 23 | endif 24 | 25 | #noinst_HEADERS = 26 | 27 | -------------------------------------------------------------------------------- /src/modules/cache/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | include_directories(./;../;../../;) 4 | 5 | add_library(cache STATIC 6 | cachemanager.cpp 7 | shmcachemanager.cpp 8 | cacheentry.cpp 9 | cachehash.cpp 10 | cachestore.cpp 11 | ceheader.cpp 12 | dirhashcacheentry.cpp 13 | dirhashcachestore.cpp 14 | cacheconfig.cpp 15 | cachectrl.cpp 16 | cache.cpp 17 | ) 18 | -------------------------------------------------------------------------------- /src/modules/cache/cache.kdev4: -------------------------------------------------------------------------------- 1 | [Project] 2 | Manager=KDevCMakeManager 3 | Name=page_cache 4 | -------------------------------------------------------------------------------- /src/modules/js/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.0) 3 | INCLUDE( ${PROJECT_SOURCE_DIR}/CMakeModules/common.cmake) 4 | 5 | set(CMAKE_VERBOSE_MAKEFILE ON) 6 | set(MY_CMAKE_WARNING_FLAGS " -Wall -Wextra -Wno-unused-parameter" ) 7 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_CMAKE_WARNING_FLAGS}" ) 8 | #set(CMAKE_C_FLAGS " -Wall " ) 9 | #set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${MY_CMAKE_WARNING_FLAGS}" ) 10 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_CMAKE_WARNING_FLAGS}" ) 11 | 12 | SET(js_STAT_SRCS 13 | lsjsengine.cpp 14 | modjs.cpp 15 | ) 16 | 17 | 18 | add_library(mod_js MODULE ${js_STAT_SRCS} ) 19 | set_target_properties(mod_js PROPERTIES PREFIX "") 20 | -------------------------------------------------------------------------------- /src/modules/js/Makefile.f: -------------------------------------------------------------------------------- 1 | CC=g++ 2 | LFSFLAGS= $(shell getconf LFS_CFLAGS) -D_GLIBCXX_USE_CXX11_ABI=0 3 | CFLAGS= -fPIC -fvisibility=hidden -g -Wall -c -D_REENTRANT -I../../../include/ -I./ -I../ -I../../ $(LFSFLAGS) 4 | ifeq ($(BUILDSTATIC), 1) 5 | ALLLIB := -nodefaultlibs $(shell g++ -print-file-name='libstdc++.a') -lm -lc -lgcc_eh -lc_nonshared -lgcc 6 | endif 7 | 8 | OS := $(shell uname) 9 | ifeq ($(OS), Darwin) 10 | LDFLAGS= $(ALLLIB) -fPIC -g -undefined dynamic_lookup -Wall $(LFSFLAGS) -shared 11 | else 12 | LDFLAGS= $(ALLLIB) -fPIC -g -Wall $(LFSFLAGS) -shared 13 | endif 14 | 15 | SOURCES = lsjsengine.cpp modjs.cpp 16 | 17 | $(shell rm *.o) 18 | 19 | OBJECTS=$(SOURCES:.cpp=.o) 20 | TARGET = mod_js.so 21 | 22 | all: $(TARGET) 23 | 24 | $(TARGET): $(OBJECTS) 25 | $(CC) $(OBJECTS) -o $@ $(LDFLAGS) 26 | 27 | .cpp.o: 28 | $(CC) $(CFLAGS) $< -o $@ 29 | 30 | clean: 31 | rm *.o 32 | -------------------------------------------------------------------------------- /src/modules/lsrecaptcha/README.md: -------------------------------------------------------------------------------- 1 | Lsrecaptcha 2 | ======== 3 | 4 | Description 5 | -------- 6 | 7 | The lsrecaptcha Go module is a custom Recaptcha processor. 8 | The Recaptcha validation is still performed by Google. This executable 9 | will check if the response is successful and if so, notify the web server 10 | that the client successfully completed the Recaptcha challenge. 11 | 12 | Compilation 13 | -------- 14 | 15 | If desired, the module can be compiled manually. The only prerequisites 16 | are that Golang is installed and the GOROOT environment variable is set. 17 | 18 | After that, run `build_lsrecaptcha.sh`. This should generate a binary 19 | named `_recaptcha`. This binary should be copied to `$SERVER_ROOT/lsrecaptcha/` 20 | and installation is complete. 21 | 22 | -------------------------------------------------------------------------------- /src/modules/lsrecaptcha/build_lsrecaptcha.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if which go ; then 4 | echo "Go is installed, continue with installation." 5 | else 6 | echo "Go is not yet installed. Please install Golang and try again." 7 | exit 1 8 | fi 9 | 10 | CUR_PATH=`dirname $0` 11 | cd $CUR_PATH 12 | CUR_PATH=`pwd` 13 | 14 | if which setenv ; then 15 | setenv GOPATH "${CUR_PATH}" 16 | else 17 | export GOPATH="${CUR_PATH}" 18 | fi 19 | export GO111MODULE=off 20 | export CGO_ENABLED=1 21 | 22 | echo "GOPATH set to ${GOPATH}" 23 | go build lsrecaptcha 24 | 25 | if [ $? -eq 0 ]; then 26 | echo "Build succeeded." 27 | cp lsrecaptcha ../../../dist/lsrecaptcha/_recaptcha 28 | exit 0 29 | else 30 | echo "Build failed." 31 | exit 1 32 | fi 33 | 34 | -------------------------------------------------------------------------------- /src/modules/lua/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.0) 3 | INCLUDE( ${PROJECT_SOURCE_DIR}/CMakeModules/common.cmake) 4 | 5 | set(LUAJITDIR "${PROJECT_SOURCE_DIR}/../third-party/include/luajit-2.1/") 6 | include_directories(${LUAJITDIR}) 7 | 8 | set(CMAKE_VERBOSE_MAKEFILE ON) 9 | set(MY_CMAKE_WARNING_FLAGS " -Wall -Wextra -Wno-unused-parameter" ) 10 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_CMAKE_WARNING_FLAGS}" ) 11 | #set(CMAKE_C_FLAGS " -Wall " ) 12 | #set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${MY_CMAKE_WARNING_FLAGS}" ) 13 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_CMAKE_WARNING_FLAGS}" ) 14 | set(LUAJITHEADERS ${LUAJITDIR}/luajit.h) 15 | 16 | SET(lua_STAT_SRCS 17 | lsluaengine.cpp 18 | edluastream.cpp 19 | lsluaapi.cpp 20 | lsluasession.cpp 21 | lsluaheader.cpp 22 | lsluashared.cpp 23 | lsluaregex.cpp 24 | modlua.cpp 25 | ) 26 | 27 | 28 | add_library(mod_lua MODULE ${lua_STAT_SRCS} ${LUAJITHEADERS}) 29 | target_link_libraries(mod_lua libluajit.a 30 | -nodefaultlibs libstdc++.a 31 | pthread rt 32 | ${LIBSAN} crypt m gcc_eh c c_nonshared gcc) 33 | set_target_properties(mod_lua PROPERTIES PREFIX "") 34 | -------------------------------------------------------------------------------- /src/modules/lua/Makefile.am: -------------------------------------------------------------------------------- 1 | modulesdir=$(prefix)/modules 2 | 3 | modules_LTLIBRARIES=mod_lua.la 4 | mod_lua_la_LDFLAGS= -module -avoid-version -shared 5 | 6 | AM_CPPFLAGS= -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(LUA_INCLUDES) 7 | 8 | mod_lua_la_METASOURCES= AUTO 9 | 10 | mod_lua_la_SOURCES=lsluaengine.cpp edluastream.cpp lsluaapi.cpp \ 11 | lsluasession.cpp lsluaheader.cpp lsluashared.cpp lsluaregex.cpp modlua.cpp 12 | 13 | #noinst_HEADERS = 14 | -------------------------------------------------------------------------------- /src/modules/lua/Makefile.f: -------------------------------------------------------------------------------- 1 | CC=g++ 2 | LFSFLAGS= $(shell getconf LFS_CFLAGS) -D_GLIBCXX_USE_CXX11_ABI=0 3 | CFLAGS= -fPIC -fvisibility=hidden -g -Wall -c -D_REENTRANT -I../../../include/ -I./ -I../ -I../../ -I/usr/local/include/luajit-2.0/ $(LFSFLAGS) 4 | ifeq ($(BUILDSTATIC), 1) 5 | ALLLIB := -nodefaultlibs $(shell g++ -print-file-name='libstdc++.a') -lm -lc -lgcc_eh -lc_nonshared -lgcc 6 | endif 7 | 8 | 9 | OS := $(shell uname) 10 | ifeq ($(OS), Darwin) 11 | LDFLAGS= $(ALLLIB) -fPIC -g -undefined dynamic_lookup -Wall $(LFSFLAGS) -shared 12 | else 13 | LDFLAGS= $(ALLLIB) -fPIC -g -Wall $(LFSFLAGS) -shared 14 | endif 15 | 16 | SOURCES =lsluaengine.cpp edluastream.cpp lsluaapi.cpp \ 17 | lsluasession.cpp lsluaheader.cpp lsluashared.cpp lsluaregex.cpp modlua.cpp 18 | 19 | $(shell rm *.o) 20 | 21 | OBJECTS=$(SOURCES:.cpp=.o) 22 | TARGET = mod_lua.so 23 | 24 | all: $(TARGET) 25 | 26 | $(TARGET): $(OBJECTS) 27 | $(CC) $(OBJECTS) -o $@ $(LDFLAGS) 28 | 29 | .cpp.o: 30 | $(CC) $(CFLAGS) $< -o $@ 31 | 32 | clean: 33 | rm *.o 34 | -------------------------------------------------------------------------------- /src/modules/mod_lsphp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_custom_target(php ALL COMMAND ${CMAKE_COMMAND} -E env ASAN=${ASAN} TSAN=${TSAN} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ./build.sh 2 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src/modules/mod_lsphp) 3 | #set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_SOURCE_DIR}/src/test/unittest-cpp/UnitTest++/libUnitTest++.a") 4 | -------------------------------------------------------------------------------- /src/modules/mod_lsphp/php-7.2-opcache-patch.txt: -------------------------------------------------------------------------------- 1 | diff -ru a/ext/opcache/ZendAccelerator.c php-src-php-7.2.1/ext/opcache/ZendAccelerator.c 2 | --- a/ext/opcache/ZendAccelerator.c 2018-01-16 12:39:04.745409335 -0500 3 | +++ b/ext/opcache/ZendAccelerator.c 2018-01-16 12:40:03.218301920 -0500 4 | @@ -1492,7 +1492,7 @@ 5 | int i, ag_size = (sizeof(jit_auto_globals_info) / sizeof(jit_auto_globals_info[0])); 6 | 7 | for (i = 0; i < ag_size ; i++) { 8 | - jit_auto_globals_str[i] = zend_string_init(jit_auto_globals_info[i].name, jit_auto_globals_info[i].len, 1); 9 | + jit_auto_globals_str[i] = zend_string_init(jit_auto_globals_info[i].name, jit_auto_globals_info[i].len, 0); 10 | zend_string_hash_val(jit_auto_globals_str[i]); 11 | jit_auto_globals_str[i] = accel_new_interned_string(jit_auto_globals_str[i]); 12 | } 13 | -------------------------------------------------------------------------------- /src/modules/mod_lsphp/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall") 4 | set(CMAKE_CSS_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall") 5 | 6 | include_directories(./;../;../../;) 7 | 8 | execute_process( COMMAND getconf LFS_CFLAGS 9 | OUTPUT_VARIABLE LFS_CFLAGS ) 10 | 11 | add_definitions( ${LFS_CFLAGS} ) 12 | 13 | add_library(mod_lsphp SHARED 14 | mod_lsphp.c 15 | ) 16 | set_target_properties(mod_lsphp PROPERTIES PREFIX "") 17 | -------------------------------------------------------------------------------- /src/modules/modgzip/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | SET(modgzip_STAT_SRCS 4 | modgzip.cpp 5 | ) 6 | 7 | add_library(modgzip STATIC ${modgzip_STAT_SRCS}) 8 | 9 | -------------------------------------------------------------------------------- /src/modules/modinspector/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall") 4 | set(CMAKE_CSS_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall") 5 | 6 | execute_process( COMMAND getconf LFS_CFLAGS 7 | OUTPUT_VARIABLE LFS_CFLAGS ) 8 | 9 | add_definitions( ${LFS_CFLAGS} ) 10 | 11 | add_library(modinspector SHARED 12 | modinspector.cpp 13 | ) 14 | 15 | set_target_properties(modinspector PROPERTIES PREFIX "") 16 | -------------------------------------------------------------------------------- /src/modules/modinspector/Makefile.am: -------------------------------------------------------------------------------- 1 | modulesdir=$(prefix)/modules 2 | 3 | modules_LTLIBRARIES=modinspector.la 4 | modinspector_la_LDFLAGS= -module -avoid-version -shared 5 | 6 | AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src 7 | modinspector_la_METASOURCES= AUTO 8 | 9 | modinspector_la_SOURCES=modinspector.cpp 10 | 11 | #noinst_HEADERS = 12 | 13 | -------------------------------------------------------------------------------- /src/modules/modinspector/Makefile.f: -------------------------------------------------------------------------------- 1 | CC=g++ 2 | LFSFLAGS= $(shell getconf LFS_CFLAGS) -D_GLIBCXX_USE_CXX11_ABI=0 3 | INCLUDEPATH= -I../../util/ -I./ -I../../../include -I../ -I../../ 4 | 5 | ifeq ($(BUILDSTATIC), 1) 6 | ALLLIB := -nodefaultlibs $(shell g++ -print-file-name='libstdc++.a') -lm -lc -lgcc_eh -lc_nonshared -lgcc 7 | endif 8 | 9 | 10 | OS := $(shell uname) 11 | ifeq ($(OS), Darwin) 12 | LDFLAGS := $(ALLLIB) -fPIC -undefined dynamic_lookup 13 | else 14 | LDFLAGS := $(ALLLIB) -fPIC 15 | endif 16 | 17 | 18 | #make -f Makefile.f CFG=debug will create a debug version module 19 | ifeq ($(CFG), debug) 20 | CFLAGS := -fPIC -g -fvisibility=hidden -Wall -c -D_REENTRANT $(INCLUDEPATH) $(LFSFLAGS) 21 | LDFLAGS := $(LDFLAGS) -g3 -O0 -Wall $(LFSFLAGS) -shared 22 | else 23 | CFLAGS := -fPIC -g -O2 -fvisibility=hidden -Wall -c -D_REENTRANT $(INCLUDEPATH) $(LFSFLAGS) 24 | LDFLAGS := $(LDFLAGS) -g -O2 -Wall $(LFSFLAGS) -shared 25 | endif 26 | 27 | SOURCES =modinspector.cpp 28 | 29 | $(shell rm *.o ) 30 | 31 | OBJECTS=$(SOURCES:.cpp=.o) 32 | TARGET = modinspector.so 33 | 34 | all: $(TARGET) 35 | 36 | $(TARGET): $(OBJECTS) 37 | $(CC) $(INCLUDEPATH) $(OBJECTS) -o $@ $(LDFLAGS) 38 | 39 | .cpp.o: 40 | $(CC) $(CFLAGS) $< -o $@ 41 | 42 | clean: 43 | rm *.o 44 | -------------------------------------------------------------------------------- /src/modules/modinspector/README: -------------------------------------------------------------------------------- 1 | About OpenLiteSpeed's modinspector Module 2 | 3 | After OpenLiteSpeed has been installed, there should be a file named modinspector.so in $LSWS_ROOT/modules/. If this file is not there, some error has likely occurred during installation and you will need to build the module yourself. Please follow the steps below to build the module: 4 | 5 | 2. Run following command in /openlitespeed_download/src/modules/modinspector to make modinspector.so: 6 | make -f Makefile.f 7 | 8 | Note: If compiling does not work, try "gmake" instead of "make". 9 | 10 | 3. Copy the file to the modules directory in your OpenLiteSpeed installation. (Normally, it should be $LSWS_ROOT/modules/.) 11 | 12 | For usage, please refer to http://open.litespeedtech.com/mediawiki/index.php/Help:Modules:modinspector 13 | 14 | Thanks and enjoy. 15 | -------------------------------------------------------------------------------- /src/modules/modreqparser/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall") 4 | set(CMAKE_CSS_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall") 5 | 6 | 7 | add_library(modreqparser SHARED modreqparser.cpp) 8 | 9 | set_target_properties(modreqparser PROPERTIES PREFIX "") -------------------------------------------------------------------------------- /src/modules/modreqparser/Makefile.am: -------------------------------------------------------------------------------- 1 | modulesdir=$(prefix)/modules 2 | 3 | modules_LTLIBRARIES=modreqparser.la 4 | modreqparser_la_LDFLAGS= -module -avoid-version -shared 5 | 6 | AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src 7 | 8 | modreqparser_la_METASOURCES= AUTO 9 | 10 | modreqparser_la_SOURCES=modreqparser.cpp 11 | 12 | #noinst_HEADERS = 13 | 14 | -------------------------------------------------------------------------------- /src/modules/modreqparser/Makefile.f: -------------------------------------------------------------------------------- 1 | CC=g++ 2 | LFSFLAGS= $(shell getconf LFS_CFLAGS) -D_GLIBCXX_USE_CXX11_ABI=0 3 | INCLUDEPATH= -I../../util/ -I./ -I../../../include -I../ -I../../ 4 | 5 | ifeq ($(BUILDSTATIC), 1) 6 | ALLLIB := -nodefaultlibs $(shell g++ -print-file-name='libstdc++.a') -lm -lc -lgcc_eh -lc_nonshared -lgcc 7 | endif 8 | 9 | 10 | OS := $(shell uname) 11 | ifeq ($(OS), Darwin) 12 | LDFLAGS := $(ALLLIB) -fPIC -undefined dynamic_lookup 13 | else 14 | LDFLAGS := $(ALLLIB) -fPIC 15 | endif 16 | 17 | 18 | #make -f Makefile.f CFG=debug will create a debug version module 19 | ifeq ($(CFG), debug) 20 | CFLAGS := -fPIC -g -fvisibility=hidden -Wall -c -D_REENTRANT $(INCLUDEPATH) $(LFSFLAGS) 21 | LDFLAGS := $(LDFLAGS) -g3 -O0 -Wall $(LFSFLAGS) -shared 22 | else 23 | CFLAGS := -fPIC -g -O2 -fvisibility=hidden -Wall -c -D_REENTRANT $(INCLUDEPATH) $(LFSFLAGS) 24 | LDFLAGS := $(LDFLAGS) -g -O2 -Wall $(LFSFLAGS) -shared 25 | endif 26 | 27 | SOURCES =modreqparser.cpp 28 | 29 | $(shell rm *.o ) 30 | 31 | OBJECTS=$(SOURCES:.cpp=.o) 32 | TARGET = modreqparser.so 33 | 34 | all: $(TARGET) 35 | 36 | $(TARGET): $(OBJECTS) 37 | $(CC) $(INCLUDEPATH) $(OBJECTS) -o $@ $(LDFLAGS) 38 | 39 | .cpp.o: 40 | $(CC) $(CFLAGS) $< -o $@ 41 | 42 | clean: 43 | rm *.o 44 | -------------------------------------------------------------------------------- /src/modules/modreqparser/README: -------------------------------------------------------------------------------- 1 | About OpenLiteSpeed's modreqparser Module 2 | 3 | After OpenLiteSpeed has been installed, there should be a file named modreqparser.so in $LSWS_ROOT/modules/. If this file is not there, some error has likely occurred during installation and you will need build the module yourself. Please follow the steps below to build the module: 4 | 5 | 2. Run following command in /openlitespeed_download/src/modules/modreqparser to make modreqparser.so: 6 | make -f Makefile.f 7 | 8 | Note: If compiling does not work, try "gmake" instead of "make". 9 | 10 | 3. Copy the file to the modules directory in your OpenLiteSpeed installation. (Normally, it should be $LSWS_ROOT/modules/.) 11 | 12 | For configuration instructions, please refer to http://open.litespeedtech.com/mediawiki/index.php/Help:Modules:modreqparser 13 | 14 | Thanks and enjoy. 15 | -------------------------------------------------------------------------------- /src/modules/modsecurity-ls/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17 -Wall") 4 | 5 | include_directories(${PROJECT_SOURCE_DIR}/../third-party/ModSecurity/headers/) 6 | 7 | execute_process( COMMAND getconf LFS_CFLAGS 8 | OUTPUT_VARIABLE LFS_CFLAGS ) 9 | 10 | add_definitions( ${LFS_CFLAGS} ) 11 | 12 | include(CheckCCompilerFlag) 13 | set(EXTRA_FLAGS "") 14 | check_c_compiler_flag(-Wno-unused-function HAS_NO_UNUSED_FUNCTION) 15 | if(HAS_NO_UNUSED_FUNCTION) 16 | # Silence warnings about unused modsecurity::intervention::clear() et al: 17 | set(EXTRA_FLAGS "${EXTRA_FLAGS} -Wno-unused-function") 18 | endif() 19 | check_c_compiler_flag(-Wno-sign-compare HAS_NO_SIGN_COMPARE) 20 | if(HAS_NO_SIGN_COMPARE) 21 | # Silence warnings in rules.h: 22 | set(EXTRA_FLAGS "${EXTRA_FLAGS} -Wno-sign-compare") 23 | endif() 24 | set_source_files_properties(mod_security.cpp PROPERTIES COMPILE_FLAGS ${EXTRA_FLAGS}) 25 | 26 | add_library(mod_security SHARED 27 | mod_security.cpp 28 | ) 29 | 30 | 31 | target_link_libraries(mod_security libmodsecurity.a 32 | -nodefaultlibs libstdc++.a 33 | pthread rt -llmdb -lxml2 -lcurl -lssl -lcrypto -lz -lpcre -lyajl 34 | ${LIBSAN} crypt m gcc_eh c c_nonshared gcc) 35 | 36 | set_target_properties(mod_security PROPERTIES PREFIX "") 37 | -------------------------------------------------------------------------------- /src/modules/modsecurity-ls/README: -------------------------------------------------------------------------------- 1 | About OpenLiteSpeed's mod_security Module 2 | 3 | After OpenLiteSpeed has been installed, there should be a file named mod_security.so in $LSWS_ROOT/modules/. If this file is not there, some error has likely occurred during installation and you will need build the module yourself. Please follow the steps below to build the module: 4 | 5 | 2. Run following command in /openlitespeed_download/src/modules/modsecurity_ls to make mod_security.so: 6 | make -f Makefile.f 7 | 8 | Note: If compiling does not work, try "gmake" instead of "make". FreeBSD need to use gmake. 9 | 10 | 3. Copy the file to the modules directory in your OpenLiteSpeed installation. (Normally, it should be $LSWS_ROOT/modules/.) 11 | 12 | For configuration instructions, please refer to http://open.litespeedtech.com/mediawiki/index.php/Help:Modules:mod_security 13 | 14 | Thanks and enjoy. 15 | -------------------------------------------------------------------------------- /src/modules/pagespeed/README: -------------------------------------------------------------------------------- 1 | About OpenLiteSpeed's PageSpeed Module 2 | 3 | This module is not built automatically during OpenLiteSpeed installation. Please follow the following steps to build the PageSpeed Module: 4 | 5 | Note: PSOL and OpenLiteSpeed's PageSpeed Module is only available for Linux. 6 | 7 | 1. Run "make -f Makefile.f" command to make modpagespeed.so, if compiling does not work, try "gmake" instead of "make". 8 | 9 | 2. Copy the file to the modules directory in your OpenLiteSpeed installation. (Normally, it should be $LSWS_ROOT/modules/.) 10 | 11 | For configuration, please refer to https://developers.google.com/speed/pagespeed/module/config_filters 12 | 13 | OpenLiteSpeed's PageSpeed Module configuration follows the NGINX PageSpeed configuration syntax (in the link above). 14 | 15 | Thanks and enjoy. 16 | -------------------------------------------------------------------------------- /src/modules/uploadprogress/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall") 4 | set(CMAKE_CSS_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall") 5 | 6 | execute_process( COMMAND getconf LFS_CFLAGS 7 | OUTPUT_VARIABLE LFS_CFLAGS ) 8 | 9 | add_definitions( ${LFS_CFLAGS} ) 10 | 11 | add_library(uploadprogress SHARED 12 | uploadprogress.cpp 13 | ) 14 | 15 | set_target_properties(uploadprogress PROPERTIES PREFIX "") 16 | -------------------------------------------------------------------------------- /src/modules/uploadprogress/Makefile.am: -------------------------------------------------------------------------------- 1 | modulesdir=$(prefix)/modules 2 | 3 | modules_LTLIBRARIES=uploadprogress.la 4 | uploadprogress_la_LDFLAGS= -module -avoid-version -shared 5 | AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src 6 | 7 | uploadprogress_la_METASOURCES= AUTO 8 | 9 | uploadprogress_la_SOURCES=uploadprogress.cpp 10 | 11 | #noinst_HEADERS = 12 | 13 | -------------------------------------------------------------------------------- /src/modules/uploadprogress/Makefile.f: -------------------------------------------------------------------------------- 1 | CC=g++ 2 | LFSFLAGS= $(shell getconf LFS_CFLAGS) -D_GLIBCXX_USE_CXX11_ABI=0 3 | INCLUDEPATH= -I../../util/ -I./ -I../../../include -I../ -I../../ 4 | 5 | ifeq ($(BUILDSTATIC), 1) 6 | ALLLIB := -nodefaultlibs $(shell g++ -print-file-name='libstdc++.a') -lm -lc -lgcc_eh -lc_nonshared -lgcc 7 | endif 8 | 9 | 10 | OS := $(shell uname) 11 | ifeq ($(OS), Darwin) 12 | LDFLAGS := $(ALLLIB) -fPIC -undefined dynamic_lookup 13 | else 14 | LDFLAGS := $(ALLLIB) -fPIC 15 | endif 16 | 17 | 18 | #make -f Makefile.f CFG=debug will create a debug version module 19 | ifeq ($(CFG), debug) 20 | CFLAGS := -fPIC -g -fvisibility=hidden -Wall -c -D_REENTRANT $(INCLUDEPATH) $(LFSFLAGS) 21 | LDFLAGS := $(LDFLAGS) -g3 -O0 -Wall $(LFSFLAGS) -shared 22 | else 23 | CFLAGS := -fPIC -g -O2 -fvisibility=hidden -Wall -c -D_REENTRANT $(INCLUDEPATH) $(LFSFLAGS) 24 | LDFLAGS := $(LDFLAGS) -g -O2 -Wall $(LFSFLAGS) -shared 25 | endif 26 | 27 | 28 | SOURCES =uploadprogress.cpp 29 | 30 | $(shell rm *.o ) 31 | 32 | OBJECTS=$(SOURCES:.cpp=.o) 33 | TARGET = uploadprogress.so 34 | 35 | all: $(TARGET) 36 | 37 | $(TARGET): $(OBJECTS) 38 | $(CC) $(INCLUDEPATH) $(OBJECTS) -o $@ $(LDFLAGS) 39 | 40 | .cpp.o: 41 | $(CC) $(CFLAGS) $< -o $@ 42 | 43 | clean: 44 | rm *.o 45 | -------------------------------------------------------------------------------- /src/modules/uploadprogress/README: -------------------------------------------------------------------------------- 1 | About OpenLiteSpeed's upload progress Module 2 | 3 | After OpenLiteSpeed has been installed, there should be a file named uploadprogress.so in $LSWS_ROOT/modules/. If this file is not there, some error has likely occurred during installation and you will need to build the module yourself. Please follow the steps below to build the module: 4 | 5 | 2. Run following command in /openlitespeed_download/src/modules/uploadprogress to make uploadprogress.so: 6 | make -f Makefile.f 7 | 8 | Note: If compiling does not work, try "gmake" instead of "make". 9 | 10 | 3. Copy the file to the modules directory in your OpenLiteSpeed installation. (Normally, it should be $LSWS_ROOT/modules/.) 11 | 12 | For usage, please refer to http://open.litespeedtech.com/mediawiki/index.php/Help:Modules:uploadprogress 13 | 14 | Thanks and enjoy. 15 | -------------------------------------------------------------------------------- /src/quic/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(quic_STAT_SRCS quicshm.cpp udplistener.cpp 7 | quicengine.cpp 8 | quicstream.cpp 9 | pbset.cpp 10 | #pkt_capture.c 11 | ) 12 | 13 | add_library(quic STATIC ${quic_STAT_SRCS}) 14 | 15 | -------------------------------------------------------------------------------- /src/quic/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = libquic.a 3 | 4 | AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src 5 | 6 | libquic_a_METASOURCES = AUTO 7 | 8 | libquic_a_SOURCES = quicshm.cpp udplistener.cpp quicengine.cpp \ 9 | quicstream.cpp pbset.cpp 10 | 11 | ####### kdevelop will overwrite this part!!! (end)############ 12 | -------------------------------------------------------------------------------- /src/shm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.0) 3 | 4 | SET(shm_STAT_SRCS addrmap.cpp 5 | lsshm.cpp 6 | lsshmhash.cpp 7 | lsshmlock.cpp 8 | lsshmpool.cpp 9 | lsshmtidmgr.cpp 10 | lsshmhashobserver.cpp 11 | ) 12 | 13 | add_library(lsshm STATIC ${shm_STAT_SRCS} ) 14 | 15 | #add_library(lsshm SHARED ${shm_STAT_SRCS} ) 16 | 17 | -------------------------------------------------------------------------------- /src/shm/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = liblsshm.a 3 | 4 | INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src 5 | 6 | liblsshm_a_METASOURCES = AUTO 7 | 8 | liblsshm_a_SOURCES = lsshmlock.cpp lsshmhash.cpp lsshmpool.cpp lsshm.cpp \ 9 | lsshmtidmgr.cpp lsshmhashobserver.cpp addrmap.cpp 10 | 11 | #lsshmlruhash.cpp 12 | ####### kdevelop will overwrite this part!!! (end)############ 13 | -------------------------------------------------------------------------------- /src/shm/lsshmhashobserver.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | */ 4 | 5 | #include "lsshmhashobserver.h" 6 | 7 | LsShmHashObserver::LsShmHashObserver(LsShmHash *pHash) 8 | : m_pHash(pHash) 9 | {} 10 | 11 | LsShmHashObserver::~LsShmHashObserver() 12 | {} 13 | -------------------------------------------------------------------------------- /src/shm/lsshmhashobserver.h: -------------------------------------------------------------------------------- 1 | #ifndef LSSHMHASHOBSERVER_H 2 | #define LSSHMHASHOBSERVER_H 3 | 4 | #include 5 | 6 | class LsShmHash; 7 | class LsShmHashObserver 8 | { 9 | public: 10 | explicit LsShmHashObserver(LsShmHash *pHash); 11 | virtual ~LsShmHashObserver(); 12 | 13 | virtual int onNewEntry(const void *pKey, int keyLen, const void *pVal, 14 | int valLen, uint32_t lruTm) = 0; 15 | virtual int onDelEntry(const void *pKey, int keyLen) = 0; 16 | 17 | LsShmHash *getHash() const { return m_pHash; } 18 | 19 | private: 20 | LsShmHash *m_pHash; 21 | 22 | LS_NO_COPY_ASSIGN(LsShmHashObserver); 23 | }; 24 | 25 | #endif // LSSHMHASHOBSERVER_H 26 | -------------------------------------------------------------------------------- /src/socket/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | INCLUDE( ${PROJECT_SOURCE_DIR}/CMakeModules/common.cmake) 3 | 4 | 5 | SET(socket_STAT_SRCS 6 | reuseport.cpp 7 | gsockaddr.cpp 8 | hostinfo.cpp 9 | tcpsockopt.cpp 10 | tcpserversocket.cpp 11 | tcpconnection.cpp 12 | streamsocket.cpp 13 | serversocket.cpp 14 | coresocket.cpp 15 | ) 16 | 17 | add_library(socket STATIC ${socket_STAT_SRCS}) 18 | 19 | -------------------------------------------------------------------------------- /src/socket/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = libsocket.a 3 | AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src 4 | libsocket_a_METASOURCES = AUTO 5 | 6 | libsocket_a_SOURCES = reuseport.cpp gsockaddr.cpp hostinfo.cpp tcpsockopt.cpp tcpserversocket.cpp tcpconnection.cpp \ 7 | streamsocket.cpp serversocket.cpp coresocket.cpp 8 | 9 | 10 | ####### kdevelop will overwrite this part!!! (end)############ 11 | -------------------------------------------------------------------------------- /src/socket/filecntl.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | #include "filecntl.h" 19 | 20 | -------------------------------------------------------------------------------- /src/socket/ipv4addr.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | #include "ipv4addr.h" 19 | -------------------------------------------------------------------------------- /src/socket/reuseport.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __REUSEPORT_H__ 3 | #define __REUSEPORT_H__ 4 | 5 | #include 6 | 7 | class ReusePortFds : public TObjArray 8 | { 9 | public: 10 | ReusePortFds() 11 | {} 12 | ~ReusePortFds() 13 | { close(); } 14 | int passFds(const char *type, const char *addr, int target_fd); 15 | int getFdCount(int* maxfd); 16 | 17 | int getActiveFd(int seq, int *n); 18 | 19 | int shrink(int size); 20 | 21 | void close(); 22 | }; 23 | 24 | #endif //__REUSEPORT_H__ 25 | 26 | -------------------------------------------------------------------------------- /src/spdy/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(spdy_STAT_SRCS 7 | spdyprotocol.cpp 8 | spdyconnection.cpp 9 | spdystream.cpp 10 | spdyzlibfilter.cpp 11 | spdystreampool.cpp 12 | spdydebug.cpp 13 | ) 14 | 15 | add_library(spdy STATIC ${spdy_STAT_SRCS}) 16 | 17 | -------------------------------------------------------------------------------- /src/spdy/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libspdy.a 2 | AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src 3 | libspdy_a_METASOURCES = AUTO 4 | 5 | libspdy_a_SOURCES = spdyprotocol.cpp spdyconnection.cpp spdystream.cpp \ 6 | spdyzlibfilter.cpp spdystreampool.cpp \ 7 | spdydebug.cpp 8 | 9 | noinst_HEADERS = 10 | -------------------------------------------------------------------------------- /src/ssi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(ssi_STAT_SRCS 7 | ssiengine.cpp 8 | ssiconfig.cpp 9 | ssiruntime.cpp 10 | ssiscript.cpp 11 | ../http/requestvars.cpp 12 | ) 13 | 14 | add_library(ssi STATIC ${ssi_STAT_SRCS}) 15 | -------------------------------------------------------------------------------- /src/ssi/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libssi.a 2 | AM_CPPFLAGS = -I$(top_srcdir)/openssl/include/ -I$(top_srcdir)/include -I$(top_srcdir)/src 3 | libssi_a_METASOURCES = AUTO 4 | 5 | libssi_a_SOURCES = ssiengine.cpp ssiconfig.cpp ssiruntime.cpp ssiscript.cpp ../http/requestvars.cpp 6 | 7 | -------------------------------------------------------------------------------- /src/sslpp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | 4 | ########### next target ############### 5 | 6 | SET(sslpp_STAT_SRCS 7 | sslcontextconfig.cpp 8 | sslengine.cpp 9 | sslcert.cpp 10 | sslcertcomp.cpp 11 | sslerror.cpp 12 | sslconnection.cpp 13 | sslcontext.cpp 14 | sslocspstapling.cpp 15 | sslsesscache.cpp 16 | sslticket.cpp 17 | sslutil.cpp 18 | sslasyncpk.cpp 19 | ocsp/ocsp.c 20 | ls_fdbuf_bio.c 21 | ) 22 | 23 | add_library(sslpp STATIC ${sslpp_STAT_SRCS}) 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/sslpp/Makefile.am: -------------------------------------------------------------------------------- 1 | ####### kdevelop will overwrite this part!!! (begin)########## 2 | noinst_LIBRARIES = libsslpp.a 3 | 4 | INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src 5 | 6 | libsslpp_a_METASOURCES = AUTO 7 | 8 | libsslpp_a_SOURCES = sslengine.cpp sslcert.cpp sslerror.cpp sslconnection.cpp \ 9 | sslcontext.cpp sslocspstapling.cpp sslsesscache.cpp \ 10 | sslticket.cpp sslutil.cpp sslcontextconfig.cpp ocsp/ocsp.c ls_fdbuf_bio.c \ 11 | sslasyncpk.cpp sslcertcomp.cpp 12 | 13 | 14 | EXTRA_DIST = sslcontext.cpp sslcontext.h sslconnection.cpp sslconnection.h \ 15 | sslerror.cpp sslerror.h sslcert.cpp sslcert.h sslengine.cpp sslengine.h \ 16 | sslutil.cpp sslutil.h sslcontextconfig.cpp \ 17 | sslcontextconfig.h ls_fdbuf_bio.h ls_fdbuf_bio.c \ 18 | sslasyncpk.h sslasyncpk.cpp sslcertcomp.cpp sslcertcomp.h 19 | 20 | 21 | ####### kdevelop will overwrite this part!!! (end)############ 22 | -------------------------------------------------------------------------------- /src/thread/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.0) 3 | 4 | 5 | ########### next target ############### 6 | 7 | SET(thread_STAT_SRCS 8 | mtnotifier.cpp 9 | pthreadcond.cpp 10 | pthreadmutex.cpp 11 | pthreadworkqueue.cpp 12 | thread.cpp 13 | workcrew.cpp 14 | worker.cpp 15 | crewworker.cpp 16 | offloader.cpp 17 | ) 18 | 19 | add_library(thread STATIC ${thread_STAT_SRCS} ) 20 | 21 | -------------------------------------------------------------------------------- /src/thread/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libthread.a 2 | 3 | INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src 4 | 5 | libthread_a_METASOURCES = AUTO 6 | 7 | libthread_a_SOURCES = mtnotifier.cpp pthreadcond.cpp pthreadmutex.cpp \ 8 | pthreadworkqueue.cpp thread.cpp workcrew.cpp \ 9 | worker.cpp crewworker.cpp offloader.cpp 10 | 11 | noinst_HEADERS = 12 | 13 | -------------------------------------------------------------------------------- /src/thread/worker.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | #include 19 | -------------------------------------------------------------------------------- /src/util/gnew.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | -------------------------------------------------------------------------------- /src/util/gpointerlist.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | 19 | -------------------------------------------------------------------------------- /src/util/itimer.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | #include "itimer.h" 19 | 20 | -------------------------------------------------------------------------------- /src/util/pool.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | -------------------------------------------------------------------------------- /src/util/tsingleton.cpp: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | -------------------------------------------------------------------------------- /support/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux") 4 | add_subdirectory(unmount_ns) 5 | add_subdirectory(cmd_ns) 6 | endif() 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /support/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = unmount_ns 2 | -------------------------------------------------------------------------------- /support/cmd_ns/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | 3 | add_definitions(-DNOT_LSCGID) 4 | 5 | SET(cmd_ns_SRCS 6 | cmd_ns.c 7 | nsopts.c 8 | nspersist.c 9 | nsutils.c 10 | ns.c 11 | ) 12 | 13 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/extensions/cgi) 14 | 15 | add_executable(cmd_ns ${cmd_ns_SRCS} ) 16 | 17 | target_link_libraries(cmd_ns 18 | rt ) 19 | 20 | 21 | -------------------------------------------------------------------------------- /support/cmd_ns/ns.c: -------------------------------------------------------------------------------- 1 | ../../src/extensions/cgi/ns.c -------------------------------------------------------------------------------- /support/cmd_ns/nsopts.c: -------------------------------------------------------------------------------- 1 | ../../src/extensions/cgi/nsopts.c -------------------------------------------------------------------------------- /support/cmd_ns/nspersist.c: -------------------------------------------------------------------------------- 1 | ../../src/extensions/cgi/nspersist.c -------------------------------------------------------------------------------- /support/cmd_ns/nsutils.c: -------------------------------------------------------------------------------- 1 | ../../src/extensions/cgi/nsutils.c -------------------------------------------------------------------------------- /support/unmount_ns/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | add_definitions(-DNOT_LSCGID) 4 | 5 | SET(unmount_ns_SRCS 6 | unmount_ns.c 7 | nsopts.c 8 | nspersist.c 9 | nsutils.c 10 | ns.c 11 | ) 12 | 13 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../src/extensions/cgi) 14 | #link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../third-party/lib/) 15 | 16 | add_executable(unmount_ns ${unmount_ns_SRCS} ) 17 | 18 | target_link_libraries(unmount_ns rt) 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /support/unmount_ns/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = unmount_ns 2 | 3 | unmount_ns_SOURCES = unmount_ns.c \ 4 | nsopts.c \ 5 | nspersist.c \ 6 | nsutils.c \ 7 | ns.c 8 | 9 | 10 | AM_LDFLAGS = $(OPENSSL_LDFLAGS) -L/usr/lib -L/usr/local/lib -L/usr/lib64 11 | AM_CPPFLAGS = -std=c++0x -I$(top_srcdir)/ssl/include/ -I$(top_srcdir)/src/extensions/cgi -I$(top_srcdir)/include -I$(top_srcdir)/src $(PCRE_CFLAGS) $(EXPAT_CFLAGS) 12 | AM_CXXFLAGS = -std=c++0x 13 | -------------------------------------------------------------------------------- /support/unmount_ns/ns.c: -------------------------------------------------------------------------------- 1 | ../../src/extensions/cgi/ns.c -------------------------------------------------------------------------------- /support/unmount_ns/nsopts.c: -------------------------------------------------------------------------------- 1 | ../../src/extensions/cgi/nsopts.c -------------------------------------------------------------------------------- /support/unmount_ns/nspersist.c: -------------------------------------------------------------------------------- 1 | ../../src/extensions/cgi/nspersist.c -------------------------------------------------------------------------------- /support/unmount_ns/nsutils.c: -------------------------------------------------------------------------------- 1 | ../../src/extensions/cgi/nsutils.c -------------------------------------------------------------------------------- /test/asan_run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | SYMBOLIZER=$(ls -l /usr/lib/llvm-*/bin/llvm-symbolizer | tail -1 | sed s'/.*\/usr/\/usr/') 3 | #export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-4.0/bin/llvm-symbolizer 4 | export ASAN_SYMBOLIZER_PATH=$SYMBOLIZER 5 | # keep running: 6 | export ASAN_OPTIONS="halt_on_error=0:strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1" 7 | export TSAN_OPTIONS="history_size=7 suppressions=../thread_sanitizer_suppress" 8 | # get a core dump: 9 | #ulimit -c unlimited 10 | #export ASAN_OPTIONS=abort_on_error=1 11 | exec $* 12 | -------------------------------------------------------------------------------- /test/http/httprangetest.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Open LiteSpeed is an open source HTTP server. * 3 | * Copyright (C) 2013 - 2022 LiteSpeed Technologies, Inc. * 4 | * * 5 | * This program is free software: you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation, either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see http://www.gnu.org/licenses/. * 17 | *****************************************************************************/ 18 | -------------------------------------------------------------------------------- /test/lsr/asan.exp.stdout: -------------------------------------------------------------------------------- 1 | hello world! 2 | end! 3 | -------------------------------------------------------------------------------- /test/lsr/valgrind.exp.stdout: -------------------------------------------------------------------------------- 1 | hello world! 2 | end! 3 | -------------------------------------------------------------------------------- /test/serverroot/cert/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | Proc-Type: 4,ENCRYPTED 3 | DEK-Info: DES-EDE3-CBC,CFBDAD4BCBCE1E6D 4 | 5 | 1m4SFZYXPiTatfs1d1EsLzSppbP251NNjAD+LRHZl7ZePKs88QoL7dNB42cgkctR 6 | jXaFAm1C0/cIxiSOXt5OzCH+31wgSzeE2eUu3e/PmZ40J0qNX6gM4X0JtZb/7zQu 7 | aqUGRhzt4NRg0OaISoOl/xZW/VY2d5TrCWs76t+bVGDDgENYWJ/OL1E2fW4vZ68i 8 | IRdpNs+P3EXgz9QgzmqRd0oL+Bl0Uu9MSGRcYWY+p5KPnlUQz3KmuMZtqlSgqJCE 9 | +mL1DjW0hihIj0IYP44y70DCJ10G9jVK0P9lQg1dlmpuHZShQ9mxrlMRacZ8cK0R 10 | vMRg6KbI9Scq0Gn1Rb9i/iZxY686zHHIxKFxG54e0rgMj3p8pS5SvyfUT+g/GrCk 11 | 8GezbMLqBAmqdCxy5uSVOnepzMsI5xQ2YscYQwP1E5tHGdHRT5NMPlZ6cGvU+PNU 12 | W5f007O3Jc/YZ59va3x8KJl8RKcMkxddjRePP86JcY1VuMzT+RbsHp4jj4LXq9Lf 13 | DiTrKn7BnFGzhliCn5LhtFM9QRVow6UNPCA/Pd4rbC/ahn/utOLb4Ho3aIDPhJO5 14 | oG5jcAKCZBAQQ7/QNtl56Oi7zfjrOzYyLzMZLNdMxHMZ4mjZpIz1nXKgGGJiDYZL 15 | k6iwsC3BArxrNyBNdiGohTTivNb91zXnlkYcTKwUzdTAoA/efUtcRDTV9oxX3QY5 16 | QNnxyTmUHMjtYMYFAFoQXWuiNCJ9Pk0/oqhjXUdTnlUhvUyYsHRK/qC4MdpYrmmR 17 | JPU0+SeUaYgYDOgooHYhO+mTBkQtkdrpYDh/8W7DU563KDqvdjQQZw== 18 | -----END RSA PRIVATE KEY----- 19 | -------------------------------------------------------------------------------- /test/serverroot/cert/server.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICXQIBAAKBgQDRqNuwMJbrGq6Wzd8SZ1dwnRLh25PX1TeD53aTk3sl4eHbFm57 3 | nU9LDMJRErLbu8CoQMztb1TP6VxiB2q1U4uDwVBp6Kt+o3+yFKFQ6G694hOiPPy/ 4 | VMW7kSVXIvyz6tFyF0JHRFgxUyV2IWTIzpq/8fil1ChXmxOKpKkZUyv4EwIDAQAB 5 | AoGAPZ1eUr003QsOXAtMj2AHdnTy46VgIYHrurv/QQeKnWtwsK468eEdOHUbdjAE 6 | mEbpK4k/sFeTmTZ/i9+aIIfY6+sQnvecGHkcc6m/wPoBPeL9X+mDNNM5bXkU1mNN 7 | 8dCAHd+ocTqYgHABC5PC+bCe1wPkPOMZZsJ159j8Iehx9gECQQD5F1tvcSM8OhO3 8 | KSX/Sbsl5vRqpqrZB0lZq1gCZiLwwJhVobPKc+EZaYcsJaFF9kfB1jQJZjRlb51F 9 | PZ8KfopTAkEA13mFdWmRgvWysuq06MvMLrTa0Nv6IiCVYUnVjHW/Tl0B9CiQ4jxs 10 | nC4WxP15QdEU43o2kpVYl1pQLA+DXiijQQJAZMA5z52nbtje2JrgL54XAIGmIu0+ 11 | 9YGo/Yf8lRvSziZYd2psWlr8lVbFwemGjdHLvG9zpMmeL9kxd6wxBAGi2QJBAJqz 12 | 0AL9eZCp8NQOOTcO4xkBljzwQwVvmXCRPzYqb+DGXBm9alBUC7KSUJy8U+vSPooX 13 | +8iAW2vHVtpbhPj8ekECQQC03CiaB86upu8R5s/owADzKj16DGExZJip8k5NBICV 14 | EwzkttpByVIIoI+WAJ8pagK333u06CX3kxDtVz5NZPxM 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /test/serverroot/cgi-bin/helloworld: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | date=`date -u '+%a, %d %b %Y %H:%M:%S %Z'` 4 | 5 | cat << EOF 6 | Content-type: text/plain 7 | Expires: $date 8 | 9 | Hello World 10 | 11 | EOF 12 | 13 | -------------------------------------------------------------------------------- /test/serverroot/cgi-bin/large: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | date=`date -u '+%a, %d %b %Y %H:%M:%S %Z'` 4 | 5 | cat << EOF 6 | Content-type: text/html 7 | Expires: $date 8 | 9 | EOF 10 | 11 | cat ../wwwroot/test.html 12 | -------------------------------------------------------------------------------- /test/serverroot/cgi-bin/nobody: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cat << EOF 4 | Content-type: text/plain 5 | 6 | EOF -------------------------------------------------------------------------------- /test/serverroot/cgi-bin/phpinfo.php: -------------------------------------------------------------------------------- 1 | #!./php-cgi 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/serverroot/cgi-bin/printenv: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | date=`date -u '+%a, %d %b %Y %H:%M:%S %Z'` 4 | 5 | cat << EOF 6 | Content-type: text/plain 7 | Expires: $date 8 | 9 | CGI printenv 10 | 11 | EOF 12 | 13 | echo 'Date:' 14 | date 15 | echo 16 | echo 'Id:' 17 | id 18 | echo 19 | echo 'Env:' 20 | printenv 21 | echo 22 | if [ "$CONTENT_LENGTH" != "" ] ; then 23 | if [ "$CONTENT_LENGTH" -ne 0 ] ; then 24 | echo 'Input:' 25 | echo 26 | dd bs=1 count=$CONTENT_LENGTH 27 | echo 28 | fi 29 | fi 30 | -------------------------------------------------------------------------------- /test/serverroot/cgi-bin/testpost.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | use strict; 3 | use CGI qw(:standard escapeHTML); 4 | 5 | #get parameter 6 | 7 | my $id = param('textfield'); 8 | my $hidden = param('hiddenField'); 9 | my $passwd = param('textfield2'); 10 | my $suggest = param('textfield3'); 11 | my $radio = param('radiobutton'); 12 | my $select = param('select'); 13 | # my $file = param('uploadfile'); 14 | 15 | print header(), start_html("Test post back"), 16 | p("id = ", tt(escapeHTML($id))), 17 | p("passwd = ", tt(escapeHTML($passwd))), 18 | p("hidden = ", tt(escapeHTML($hidden))), 19 | p("suggest = ", tt(escapeHTML($suggest))), 20 | p("radio = ", tt(escapeHTML($radio))), 21 | p("select = ", tt(escapeHTML($select))), 22 | # p("file = ", tt(escapeHTML($file))), 23 | end_html(); 24 | -------------------------------------------------------------------------------- /test/serverroot/htpasswd: -------------------------------------------------------------------------------- 1 | test:kF2EDBE2Ux8sQ 2 | user1:HZ.U8kgjnMOHo 3 | -------------------------------------------------------------------------------- /test/serverroot/logs/dummy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/test/serverroot/logs/dummy -------------------------------------------------------------------------------- /test/serverroot/wwwroot/cgipost.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CGITest 5 | 6 | 7 | 8 | 9 |

This is CGI post test.

10 |
11 |

ID: 12 | 13 | 14 |

15 |

Passwd: 16 | 17 |

18 |

suggest: 19 | 20 |

21 |

22 | 23 | choice1 24 | 25 | choice2 26 | 27 | choice3

28 |

Select: 29 | 34 | 35 |

36 |

37 | 38 |

39 |
40 | 41 | 42 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/cgipost1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CGITest 5 | 6 | 7 | 8 | 9 |

This is CGI post test.

10 |
11 |

ID: 12 | 13 | 14 |

15 |

Passwd: 16 | 17 |

18 |

suggest: 19 | 20 |

21 |

22 | 23 | choice1 24 | 25 | choice2 26 | 27 | choice3

28 |

Select: 29 | 34 |

35 |

36 | 37 |

38 |
39 | 40 | 41 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/error404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Page Not Found 4 | 5 | 6 |
7 |

Request Page Not Found

8 | This is a custom error page for 404 status. 9 |
10 | 11 | 12 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/fcgipost.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CGITest 5 | 6 | 7 | 8 | 9 |

This is CGI post test.

10 |
11 |

ID: 12 | 13 | 14 |

15 |

Passwd: 16 | 17 |

18 |

suggest: 19 | 20 |

21 |

22 | 23 | choice1 24 | 25 | choice2 26 | 27 | choice3

28 |

Select: 29 | 34 | 35 |

36 |

37 | 38 |

39 |
40 | 41 | 42 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/hello.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | PHP Test 4 | 5 | 6 | "; ?> 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/htatest/.htaccess: -------------------------------------------------------------------------------- 1 | #test access file 2 | AuthName testHTAccess 3 | AuthType basic 4 | AuthUserFile /home/gwang/proj/dev/httpd/httpd/serverroot/htpasswd 5 | AuthGroupFile /home/gwang/proj/dev/httpd/httpd/serverroot/htgroup 6 | 7 | redirect /htatest/redir/temp0 / 8 | redirect temp /htatest/redir/temp1 / 9 | redirect permanent /htatest/redir/perm1/ / 10 | redirect seeother /htatest/redir/seeother / 11 | redirect gone /htatest/redir/gone /gone 12 | 13 | redirectTemp /htatest/redir/temp2 / 14 | redirectPermanent /htatest/redir/perm2 / 15 | 16 | order allow,deny 17 | allow from 127.0.0.1 18 | deny from all 19 | 20 | 21 | order allow,deny 22 | deny from all 23 | 24 | 25 | 26 | ForceType text/html 27 | 28 | 29 | 30 | order deny,allow 31 | allow from all 32 | 33 | 34 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/htatest/test/sub1/.htaccess: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/test/serverroot/wwwroot/htatest/test/sub1/.htaccess -------------------------------------------------------------------------------- /test/serverroot/wwwroot/htatest/test/sub1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test page 7 | 8 | 9 | 10 |

11 |

This is a test page

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/htatest/test/sub2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test page 7 | 8 | 9 | 10 |

11 |

This is a test page

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/htatest/test_htaccess: -------------------------------------------------------------------------------- 1 | #test access file 2 | AuthName testHTAccess 3 | AuthType basic 4 | AuthUserFile /home/gwang/proj/dev/httpd/httpd/serverroot/htpasswd 5 | AuthGroupFile /home/gwang/proj/dev/httpd/httpd/serverroot/htgroup 6 | 7 | redirect /htatest/redir/temp0 / 8 | redirect temp /htatest/redir/temp1 / 9 | redirect permanent /htatest/redir/perm1/ / 10 | redirect seeother /htatest/redir/seeother / 11 | redirect gone /htatest/redir/gone /gone 12 | 13 | redirectTemp /htatest/redir/temp2 / 14 | redirectPermanent /htatest/redir/perm2 / 15 | 16 | order allow,deny 17 | allow from 127.0.0.1 18 | deny from all -------------------------------------------------------------------------------- /test/serverroot/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test page 7 | 8 | 9 | 10 |

11 |

This is a test page

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/phpinfo.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/phppost.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CGITest 5 | 6 | 7 | 8 | 9 |

This is PHP post test.

10 |
11 |

ID: 12 | 13 | 14 |

15 |

Passwd: 16 | 17 |

18 |

suggest: 19 | 20 |

21 |

22 | 23 | choice1 24 | 25 | choice2 26 | 27 | choice3

28 |

Select: 29 | 34 | 35 |

36 |

37 | 38 |

39 |
40 | 41 | 42 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/protected/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test page 7 | 8 | 9 | 10 |

11 |

This is a protected page

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/small.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test page 7 | 8 | 9 | 10 |

11 |

This is a test page

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/temp.esi: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | and or >< 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test page 7 | 8 | 9 | 10 |

11 |

This is a test page

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /test/serverroot/wwwroot/test/sub1/.htaccess: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/test/serverroot/wwwroot/test/sub1/.htaccess -------------------------------------------------------------------------------- /test/serverroot/wwwroot/test/sub2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Test page 7 | 8 | 9 | 10 |

11 |

This is a test page

12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /thread_sanitizer_blacklist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litespeedtech/openlitespeed/252f18c1c56fcd6ccbea17ddd9d27696470eed31/thread_sanitizer_blacklist -------------------------------------------------------------------------------- /thread_sanitizer_suppress: -------------------------------------------------------------------------------- 1 | # suppressions file for ols 2 | deadlock:HttpSession::lockMtRace 3 | deadlock:HttpSession::trylockMtRace 4 | deadlock:HttpSession::unlockMtRace 5 | --------------------------------------------------------------------------------