Revision 04cc161c
Added by David Sorber over 10 years ago
| configs/saga/main.conf | ||
|---|---|---|
|
<VirtualHost *:80>
|
||
|
Redirect permanent / https://10.0.0.3
|
||
|
</VirtualHost>
|
||
|
<VirtualHost _default_:443>
|
||
|
ServerName https://10.0.0.3:443
|
||
|
ServerAdmin webmaster@localhost
|
||
|
DocumentRoot /var/www
|
||
|
<Directory />
|
||
|
Options FollowSymLinks
|
||
|
AllowOverride None
|
||
|
</Directory>
|
||
|
<Directory /var/www/>
|
||
|
Options Indexes FollowSymLinks MultiViews
|
||
|
AllowOverride None
|
||
|
Require all granted
|
||
|
</Directory>
|
||
|
Alias /htdocs /var/htdocs
|
||
|
<Directory /var/htdocs>
|
||
|
Require all granted
|
||
|
</Directory>
|
||
|
|
||
|
#ErrorDocument 403 /error_pages/404.html
|
||
|
#ErrorDocument 404 /error_pages/404.html
|
||
|
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||
|
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||
|
# Possible values include: debug, info, notice, warn, error, crit,
|
||
|
# alert, emerg.
|
||
|
LogLevel warn
|
||
|
SSLEngine On
|
||
|
SSLCertificateFile /etc/apache2/ssl/saga.crt
|
||
|
SSLCertificateKeyFile /etc/apache2/ssl/saga.key
|
||
|
SSLProtocol -all +TLSv1.2
|
||
|
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
|
||
|
</VirtualHost>
|
||
| configs/saga/saga.crt | ||
|---|---|---|
|
-----BEGIN CERTIFICATE-----
|
||
|
MIIFyzCCA7OgAwIBAgIJAPQks25IlADLMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNV
|
||
|
BAYTAlVTMQswCQYDVQQIDAJNRDEUMBIGA1UEBwwLVGFrb21hIFBhcmsxGjAYBgNV
|
||
|
BAoMEVdheW5lIEVudGVycHJpc2VzMR8wHQYDVQQLDBZFbmdpbmVlcmluZyBEZXBh
|
||
|
cnRtZW50MQ0wCwYDVQQDDARzYWdhMB4XDTE2MDIwMTIyNTYzNVoXDTIxMDEzMDIy
|
||
|
NTYzNVowfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1EMRQwEgYDVQQHDAtUYWtv
|
||
|
bWEgUGFyazEaMBgGA1UECgwRV2F5bmUgRW50ZXJwcmlzZXMxHzAdBgNVBAsMFkVu
|
||
|
Z2luZWVyaW5nIERlcGFydG1lbnQxDTALBgNVBAMMBHNhZ2EwggIiMA0GCSqGSIb3
|
||
|
DQEBAQUAA4ICDwAwggIKAoICAQCtEQ0jIOV1/pBW4LThRqR2H02eayhZ5IRKhNWz
|
||
|
C4ToGyyYXU8MQresByYEjSsjaLsFw2vyZOD19kNF634GsSgu8PALpCnoLeabXrHQ
|
||
|
hxfFplHUGjZMSS2kspcKkcUjoPWbnanzeNzH2Ty3opfa5TivlLiPxDxSQ8X+BJRg
|
||
|
/2nMe2i+islYQvaFphyRAM6wq8UglT8D++28qXYV4TKUI8ie1k/6RqHnT+dYqm3+
|
||
|
TycwYuhWPA0TyaVsddyBSvr0/PcBjTnjuhdzVpO3kJFdzwjVNyVJObVZZhgNfBjW
|
||
|
Ps6eAdL6JPL++h4Rh6zIXFc/CwZDf/uBOIMJXsED3sWxtoKqWDZkatApMABq2Lll
|
||
|
s5XYdtqTS73iFJKnh1YnGz5In7Kb00pHdPsFmKtOA4QN0H5K+LlGLroKFjXtgU55
|
||
|
rjBnQ8zQpLkdwo0CUUDbFYaa1T/Zb4wzzyqqGf7wa1L6689Kd6R2nQ/ObwTpW/s4
|
||
|
VriCfwtkqJAUjMEjLpdu/twHaOOqc0X+rJzAJcYdvlCTMb8Qq6yRifkPHhM7YqZ5
|
||
|
c2TbxLodN8p5mY5UsYM4EI9AY1YI70+oy2EBj2mfyx1crYIcHTInK5y3xgH6eysW
|
||
|
3/dYxXhoUABUb1H95FjV5oQWY7IrqCtuPWv2TOypbQM1apP3QHxps0ggkBMkjVCB
|
||
|
ug4fdQIDAQABo1AwTjAdBgNVHQ4EFgQUbBYC0TjzkUHjYad05m/FBYbQEX4wHwYD
|
||
|
VR0jBBgwFoAUbBYC0TjzkUHjYad05m/FBYbQEX4wDAYDVR0TBAUwAwEB/zANBgkq
|
||
|
hkiG9w0BAQsFAAOCAgEATxf7eFh6AjxfqCevRs4PJ3Z2N1x1vOSGpH/prkRVID/g
|
||
|
6ef2vXJkodAhhp8W+tI2r3EIZ5A1URbbZ7nRytnxZHz1HWn+YjN35EFryEaCiUwq
|
||
|
B3PJITe/mVXmmp6DP34sXOjiBNK5Qaz11pE7uSiS6wxbAdUuigfLuwk65r8rRIQc
|
||
|
an6Tqesr80zpUic9szsQo00nPcBxVy4CB6BzEUpeCCiFZFYM2zxYTllnTQCWQLmJ
|
||
|
Gc/taKNHxRazbJaiuzssuHqsOzThsw+Nf1Tzx3smX5SiuytrtaNKNKoNstv+mEX9
|
||
|
JJreBSsAhnYBxJegmfWRQArMrQzhWQxQJnCmV0ZVVOFuUk0I7w6s0NRgxH/Pz6Za
|
||
|
wMagA6kREbi57H4ySv0/qQpRHywj0rjaImgKjqGWMpl8nTieUjcJpW7XpRSJd5+l
|
||
|
o4hdwgOMwr9MS74VGB2MkIS0s4Zlkrgia4Ck3OQdpSc0ivYs2G2BkvublIIU77fO
|
||
|
DMS/2RCBBdnerKEj5s3Cux/NRKZ6+oXBOHKPWKuOZeJVmPG1ZefOwNpEEBLIxMHp
|
||
|
6rNDBq5FqUzfMpip0hbCqd9bP10kmh68I+jgtGXgs0JvUSTH1fnfzt46wrcEbwDk
|
||
|
AjgLR1HjbDjM6YBilUMJ4/9Nwq3Tm9Xd6VZyyI3RAIPdtA1DDe7XxEZU31OHG9k=
|
||
|
-----END CERTIFICATE-----
|
||
| configs/saga/saga.key | ||
|---|---|---|
|
-----BEGIN PRIVATE KEY-----
|
||
|
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
|
||
|
Ey17uwxmU+OXqtN8ya06/K8Hy5gSnQ==
|
||
|
-----END PRIVATE KEY-----
|
||
| software/misc/preproc.py | ||
|---|---|---|
|
import sys
|
||
|
|
||
|
from clang.cindex import Config
|
||
|
from clang.cindex import CursorKind
|
||
|
from clang.cindex import Index
|
||
|
from clang.cindex import TranslationUnit
|
||
|
|
||
|
# Set these according to the location and version of libclang on your system
|
||
|
LIBCLANG_PATH = '/usr/lib/llvm-3.4/lib'
|
||
|
LIBCLANG_NAME = 'libclang-3.4.so'
|
||
|
|
||
|
|
||
|
def display_node(node):
|
||
|
""" A helper function to pretty print the particulars of the passed in
|
||
|
Cursor object
|
||
|
"""
|
||
|
start_line = node.extent.start.line
|
||
|
start_col = node.extent.start.column
|
||
|
end_line = node.extent.end.line
|
||
|
end_col = node.extent.end.column
|
||
|
print '{:s} ({:d}:{:d} - {:d}:{:d})'.format(node.displayname,
|
||
|
start_line, start_col,
|
||
|
end_line, end_col)
|
||
|
|
||
|
def find_function_calls(node):
|
||
|
""" A recursive function call to find all function calls that are children
|
||
|
of the passed in Cursor object
|
||
|
"""
|
||
|
results = []
|
||
|
for child_node in node.get_children():
|
||
|
if child_node.kind == CursorKind.CALL_EXPR:
|
||
|
results.append(child_node)
|
||
|
else:
|
||
|
results.extend(find_function_calls(child_node))
|
||
|
return results
|
||
|
|
||
|
def main():
|
||
|
""" This is a very simple utility that uses the Clang compiler frontend
|
||
|
to parse a C source file and return a list of function declarations within
|
||
|
that file along with the lines on which each declaration starts and ends.
|
||
|
"""
|
||
|
|
||
|
if len(sys.argv) < 2:
|
||
|
print 'ERROR: not enough arguments provided\n'
|
||
|
print 'USAGE: python ddc_preproc.py <file.c>'
|
||
|
return -1
|
||
|
|
||
|
# Configure the library (not sure why this has to be done manually)
|
||
|
Config.set_library_path(LIBCLANG_PATH)
|
||
|
Config.set_library_file(LIBCLANG_NAME)
|
||
|
|
||
|
# Build the TU from the passed file argument
|
||
|
source_file = sys.argv[1]
|
||
|
tu = TranslationUnit.from_source(source_file)
|
||
|
|
||
|
# Loop through all of the children nodes and extract function definitions
|
||
|
# along with their start and end lines from the specified source file
|
||
|
print 'Function declarations:'
|
||
|
print '-' * 80
|
||
|
main_func = None
|
||
|
for child in tu.cursor.get_children():
|
||
|
if str(child.location.file) == source_file and \
|
||
|
child.kind == CursorKind.FUNCTION_DECL:
|
||
|
# Store a reference to the main function
|
||
|
if child.spelling == 'main':
|
||
|
main_func = child
|
||
|
display_node(child)
|
||
|
print '\n'
|
||
|
|
||
|
# Find all function calls originating from the main function
|
||
|
print 'Function calls:'
|
||
|
print '-' * 80
|
||
|
for child in find_function_calls(main_func):
|
||
|
display_node(child)
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
sys.exit(main())
|
||
Adding configuration for saga and compeltely unrelated preproc script.