summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--make/utilities.pm55
-rw-r--r--src/modules/extra/m_ssl_openssl.cpp8
2 files changed, 63 insertions, 0 deletions
diff --git a/make/utilities.pm b/make/utilities.pm
index 9b52e4e94..8b8241e04 100644
--- a/make/utilities.pm
+++ b/make/utilities.pm
@@ -30,6 +30,7 @@ our @EXPORT = qw(make_rpath pkgconfig_get_include_dirs pkgconfig_get_lib_dirs pk
# \e[1;32msrc/Makefile\e[0m
my %already_added = ();
+my $if_skip_lines = 0;
sub promptstring($$$$$)
{
@@ -320,6 +321,60 @@ sub translate_functions($$)
{
die "Developers should no longer use backticks in configuration macros. Please use exec() and eval() macros instead. Offending line: $line (In module: $module)";
}
+
+ if ($line =~ /\$EndIf/)
+ {
+ if ($if_skip_lines == 1)
+ {
+ $if_skip_lines = 0;
+ return;
+ }
+ else
+ {
+ die "\$EndIf found when not in \$If/\$IfUname in $module";
+ }
+ }
+
+ if ($line =~ /\$Else/)
+ {
+ if ($if_skip_lines == 0)
+ {
+ $if_skip_lines = 1;
+ }
+ else
+ {
+ $if_skip_lines = 0;
+ }
+ return;
+ }
+
+ if ($if_skip_lines == 1)
+ {
+ return;
+ }
+
+ if ($line =~ /\$IfUname\s+(\w+)/)
+ {
+ my $uname = $1;
+ if ($uname ne $^O)
+ {
+ $if_skip_lines = 1;
+ return;
+ }
+ }
+
+ if ($line =~ /\$If:\s+(\w+)/)
+ {
+ if (defined $main::config{$1})
+ {
+ if (($main::config{$1} !~ /y/i) and ($main::config{$1} ne "1"))
+ {
+ $if_skip_lines = 1;
+ return;
+ }
+ }
+ }
+
while ($line =~ /exec\("(.+?)"\)/)
{
print "Executing program for module \e[1;32m$module\e[0m ... \e[1;32m$1\e[0m\n";
diff --git a/src/modules/extra/m_ssl_openssl.cpp b/src/modules/extra/m_ssl_openssl.cpp
index b80bef840..d3927eac5 100644
--- a/src/modules/extra/m_ssl_openssl.cpp
+++ b/src/modules/extra/m_ssl_openssl.cpp
@@ -34,13 +34,21 @@
#endif
/* $ModDesc: Provides SSL support for clients */
+
+
+/* $IfUname freebsd */
+/* $LinkerFlags: -lssl -lcrypto */
+/* $Else */
/* $CompileFlags: pkgconfversion("openssl","0.9.7") pkgconfincludes("openssl","/openssl/ssl.h","") */
/* $LinkerFlags: rpath("pkg-config --libs openssl") pkgconflibs("openssl","/libssl.so","-lssl -lcrypto -ldl") */
+/* $EndIf */
+
/* $ModDep: transport.h */
/* $NoPedantic */
/* $CopyInstall: conf/key.pem $(CONPATH) */
/* $CopyInstall: conf/cert.pem $(CONPATH) */
+
enum issl_status { ISSL_NONE, ISSL_HANDSHAKING, ISSL_OPEN };
enum issl_io_status { ISSL_WRITE, ISSL_READ };