Update Simgear and Flightgear ports to 2017.3.1
This commit is contained in:
parent
488300b39c
commit
250805c259
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=450910
@ -1,8 +1,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= simgear
|
||||
PORTVERSION= 2017.1.3
|
||||
PORTREVISION= 8
|
||||
PORTVERSION= 2017.3.1
|
||||
CATEGORIES= devel games
|
||||
MASTER_SITES= SF/flightgear/release-${PORTVERSION:R}
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1491386012
|
||||
SHA256 (simgear-2017.1.3.tar.bz2) = 85304d985b4fc0dc00d9f7603b02d096e3c24ca4c98adc18dc9af1e2d0e3c310
|
||||
SIZE (simgear-2017.1.3.tar.bz2) = 1235062
|
||||
TIMESTAMP = 1506362997
|
||||
SHA256 (simgear-2017.3.1.tar.bz2) = 0ee08550b737b249dcc91590ec0cb9c5dc9080998f6ba66a7d7209cdfce6e1f4
|
||||
SIZE (simgear-2017.3.1.tar.bz2) = 1302704
|
||||
|
@ -1,27 +0,0 @@
|
||||
--- simgear/scene/material/Effect.cxx.orig 2017-04-04 09:24:44.000000000 +0200
|
||||
+++ simgear/scene/material/Effect.cxx 2017-07-16 21:55:10.888904000 +0200
|
||||
@@ -32,7 +32,7 @@
|
||||
#include <map>
|
||||
#include <queue>
|
||||
#include <utility>
|
||||
-#include <boost/tr1/unordered_map.hpp>
|
||||
+#include <unordered_map>
|
||||
|
||||
#include <boost/bind.hpp>
|
||||
#include <boost/foreach.hpp>
|
||||
@@ -832,13 +832,13 @@
|
||||
|
||||
// XXX Should these be protected by a mutex? Probably
|
||||
|
||||
-typedef tr1::unordered_map<ProgramKey, ref_ptr<Program>,
|
||||
+typedef std::unordered_map<ProgramKey, ref_ptr<Program>,
|
||||
boost::hash<ProgramKey>, ProgramKey::EqualTo>
|
||||
ProgramMap;
|
||||
ProgramMap programMap;
|
||||
ProgramMap resolvedProgramMap; // map with resolved shader file names
|
||||
|
||||
-typedef tr1::unordered_map<ShaderKey, ref_ptr<Shader>, boost::hash<ShaderKey> >
|
||||
+typedef std::unordered_map<ShaderKey, ref_ptr<Shader>, boost::hash<ShaderKey> >
|
||||
ShaderMap;
|
||||
ShaderMap shaderMap;
|
||||
|
@ -1,20 +0,0 @@
|
||||
--- simgear/scene/material/Effect.hxx.orig 2017-04-04 09:24:44.000000000 +0200
|
||||
+++ simgear/scene/material/Effect.hxx 2017-07-16 21:55:33.247324000 +0200
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
-#include <boost/tr1/unordered_map.hpp>
|
||||
+#include <unordered_map>
|
||||
|
||||
#include <boost/functional/hash.hpp>
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
bool operator()(const Key& lhs, const Key& rhs) const;
|
||||
};
|
||||
};
|
||||
- typedef std::tr1::unordered_map<Key, osg::observer_ptr<Effect>,
|
||||
+ typedef std::unordered_map<Key, osg::observer_ptr<Effect>,
|
||||
boost::hash<Key>, Key::EqualTo> Cache;
|
||||
Cache* getCache()
|
||||
{
|
@ -61,6 +61,8 @@ include/simgear/constants.h
|
||||
include/simgear/debug/BufferedLogCallback.hxx
|
||||
include/simgear/debug/debug_types.h
|
||||
include/simgear/debug/logstream.hxx
|
||||
include/simgear/embedded_resources/EmbeddedResource.hxx
|
||||
include/simgear/embedded_resources/EmbeddedResourceManager.hxx
|
||||
include/simgear/environment/metar.hxx
|
||||
include/simgear/environment/precipitation.hxx
|
||||
include/simgear/ephemeris/celestialBody.hxx
|
||||
@ -86,6 +88,8 @@ include/simgear/io/HTTPMemoryRequest.hxx
|
||||
include/simgear/io/HTTPRepository.hxx
|
||||
include/simgear/io/HTTPRequest.hxx
|
||||
include/simgear/io/iochannel.hxx
|
||||
include/simgear/io/iostreams/CharArrayStream.hxx
|
||||
include/simgear/io/iostreams/zlibstream.hxx
|
||||
include/simgear/io/lowlevel.hxx
|
||||
include/simgear/io/raw_socket.hxx
|
||||
include/simgear/io/sg_binobj.hxx
|
||||
@ -136,6 +140,7 @@ include/simgear/misc/ListDiff.hxx
|
||||
include/simgear/misc/ResourceManager.hxx
|
||||
include/simgear/misc/SVGpreserveAspectRatio.hxx
|
||||
include/simgear/misc/SimpleMarkdown.hxx
|
||||
include/simgear/misc/argparse.hxx
|
||||
include/simgear/misc/interpolator.hxx
|
||||
include/simgear/misc/make_new.hxx
|
||||
include/simgear/misc/sg_dir.hxx
|
||||
@ -145,6 +150,7 @@ include/simgear/misc/stdint.hxx
|
||||
include/simgear/misc/stopwatch.hxx
|
||||
include/simgear/misc/strutils.hxx
|
||||
include/simgear/misc/tabbed_values.hxx
|
||||
include/simgear/misc/test_macros.hxx
|
||||
include/simgear/misc/texcoord.hxx
|
||||
include/simgear/nasal/cppbind/Ghost.hxx
|
||||
include/simgear/nasal/cppbind/NasalCallContext.hxx
|
||||
@ -273,6 +279,7 @@ include/simgear/scene/util/SGSceneFeatures.hxx
|
||||
include/simgear/scene/util/SGSceneUserData.hxx
|
||||
include/simgear/scene/util/SGStateAttributeVisitor.hxx
|
||||
include/simgear/scene/util/SGTextureStateAttributeVisitor.hxx
|
||||
include/simgear/scene/util/SGTransientModelData.hxx
|
||||
include/simgear/scene/util/SGUpdateVisitor.hxx
|
||||
include/simgear/scene/util/SplicingVisitor.hxx
|
||||
include/simgear/scene/util/StateAttributeFactory.hxx
|
||||
|
@ -2,7 +2,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= flightgear-data
|
||||
PORTVERSION= 2017.1.3
|
||||
PORTVERSION= 2017.3.1
|
||||
CATEGORIES= games
|
||||
MASTER_SITES= SF/flightgear/release-${PORTVERSION:R}
|
||||
DISTNAME= FlightGear-${PORTVERSION}-data
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1491386357
|
||||
SHA256 (FlightGear-2017.1.3-data.tar.bz2) = bf35d9a15be9e7bd1c286eee879251e0907a3fb5cca4e7d1fdfbe67690345365
|
||||
SIZE (FlightGear-2017.1.3-data.tar.bz2) = 1460527272
|
||||
TIMESTAMP = 1506363053
|
||||
SHA256 (FlightGear-2017.3.1-data.tar.bz2) = df08b06e88a29a9f80f29186afd54d278636a663281a1b68e8f484bbb403d898
|
||||
SIZE (FlightGear-2017.3.1-data.tar.bz2) = 1560855079
|
||||
|
@ -2,8 +2,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= flightgear
|
||||
PORTVERSION= 2017.1.3
|
||||
PORTREVISION= 9
|
||||
PORTVERSION= 2017.3.1
|
||||
CATEGORIES= games
|
||||
MASTER_SITES= SF/flightgear/release-${PORTVERSION:R}
|
||||
|
||||
@ -48,7 +47,7 @@ DBUS_CMAKE_ON= -DUSE_DBUS:BOOL=ON
|
||||
DBUS_CMAKE_OFF= -DUSE_DBUS:BOOL=OFF
|
||||
QT5_CMAKE_ON= -DENABLE_QT:BOOL=ON
|
||||
QT5_CMAKE_OFF= -DENABLE_QT:BOOL=OFF
|
||||
QT5_USE= QT5=core,buildtools,gui,qmake,widgets
|
||||
QT5_USE= QT5=core,buildtools,gui,qmake,qml,widgets
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1491386247
|
||||
SHA256 (flightgear-2017.1.3.tar.bz2) = 3d7cb2b4b1d60b80b0613222b1fc7b6db665eddaf68d7080c07cdedcb544b0ad
|
||||
SIZE (flightgear-2017.1.3.tar.bz2) = 8056402
|
||||
TIMESTAMP = 1506363097
|
||||
SHA256 (flightgear-2017.3.1.tar.bz2) = 6f2e1d992e2f202b8f9c918c9fb19124ef06824ea0e767e2f4dff6ba43728ccd
|
||||
SIZE (flightgear-2017.3.1.tar.bz2) = 8098283
|
||||
|
@ -1,129 +0,0 @@
|
||||
Backport of commits 0ba2ac31 and 1ad2bf44
|
||||
|
||||
Fixes CVE-2017-13709.
|
||||
|
||||
--- src/Main/fg_init.cxx.orig
|
||||
+++ src/Main/fg_init.cxx
|
||||
@@ -1090,7 +1090,12 @@ void fgStartNewReset()
|
||||
fgInitGeneral(); // all of this?
|
||||
|
||||
flightgear::Options::sharedInstance()->processOptions();
|
||||
-
|
||||
+
|
||||
+ // Rebuild the lists of allowed paths for cases where a path comes from an
|
||||
+ // untrusted source, such as the global property tree (this uses $FG_HOME
|
||||
+ // and other paths set by Options::processOptions()).
|
||||
+ fgInitAllowedPaths();
|
||||
+
|
||||
// PRESERVED properties over-write state from options, intentionally
|
||||
if ( copyProperties(preserved, globals->get_props()) ) {
|
||||
SG_LOG( SG_GENERAL, SG_INFO, "Preserved state restored successfully" );
|
||||
--- src/Main/main.cxx.orig
|
||||
+++ src/Main/main.cxx
|
||||
@@ -536,7 +536,12 @@ int fgMainInit( int argc, char **argv )
|
||||
} else if (configResult == flightgear::FG_OPTIONS_EXIT) {
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
-
|
||||
+
|
||||
+ // Set the lists of allowed paths for cases where a path comes from an
|
||||
+ // untrusted source, such as the global property tree (this uses $FG_HOME
|
||||
+ // and other paths set by Options::processOptions()).
|
||||
+ fgInitAllowedPaths();
|
||||
+
|
||||
// Initialize the Window/Graphics environment.
|
||||
fgOSInit(&argc, argv);
|
||||
_bootstrap_OSInit++;
|
||||
--- src/Scripting/NasalSys.cxx.orig
|
||||
+++ src/Scripting/NasalSys.cxx
|
||||
@@ -909,10 +909,6 @@ void FGNasalSys::init()
|
||||
.member("simulatedTime", &TimerObj::isSimTime, &f_timerObj_setSimTime)
|
||||
.member("isRunning", &TimerObj::isRunning);
|
||||
|
||||
-
|
||||
- // Set allowed paths for Nasal I/O
|
||||
- fgInitAllowedPaths();
|
||||
-
|
||||
// Now load the various source files in the Nasal directory
|
||||
simgear::Dir nasalDir(SGPath(globals->get_fg_root(), "Nasal"));
|
||||
loadScriptDirectory(nasalDir);
|
||||
--- src/Main/logger.cxx.orig
|
||||
+++ src/Main/logger.cxx
|
||||
@@ -9,12 +9,17 @@
|
||||
|
||||
#include "logger.hxx"
|
||||
|
||||
-#include <fstream>
|
||||
+#include <ios>
|
||||
#include <string>
|
||||
+#include <cstdlib>
|
||||
|
||||
#include <simgear/debug/logstream.hxx>
|
||||
+#include <simgear/io/iostreams/sgstream.hxx>
|
||||
+#include <simgear/misc/sg_path.hxx>
|
||||
|
||||
#include "fg_props.hxx"
|
||||
+#include "globals.hxx"
|
||||
+#include "util.hxx"
|
||||
|
||||
using std::string;
|
||||
using std::endl;
|
||||
@@ -59,6 +64,25 @@ FGLogger::init ()
|
||||
child->setStringValue("filename", filename.c_str());
|
||||
}
|
||||
|
||||
+ // Security: the path comes from the global Property Tree; it *must* be
|
||||
+ // validated before we overwrite the file.
|
||||
+ const SGPath authorizedPath = fgValidatePath(SGPath::fromUtf8(filename),
|
||||
+ /* write */ true);
|
||||
+
|
||||
+ if (authorizedPath.isNull()) {
|
||||
+ const string propertyPath = child->getChild("filename")
|
||||
+ ->getPath(/* simplify */ true);
|
||||
+ const string msg =
|
||||
+ "The FGLogger logging system, via the '" + propertyPath + "' property, "
|
||||
+ "was asked to write to '" + filename + "', however this path is not "
|
||||
+ "authorized for writing anymore for security reasons. " +
|
||||
+ "Please choose another location, for instance in the $FG_HOME/Export "
|
||||
+ "folder (" + (globals->get_fg_home() / "Export").utf8Str() + ").";
|
||||
+
|
||||
+ SG_LOG(SG_GENERAL, SG_ALERT, msg);
|
||||
+ exit(EXIT_FAILURE);
|
||||
+ }
|
||||
+
|
||||
string delimiter = child->getStringValue("delimiter");
|
||||
if (delimiter.empty()) {
|
||||
delimiter = ",";
|
||||
@@ -68,7 +92,8 @@ FGLogger::init ()
|
||||
log.interval_ms = child->getLongValue("interval-ms");
|
||||
log.last_time_ms = globals->get_sim_time_sec() * 1000;
|
||||
log.delimiter = delimiter.c_str()[0];
|
||||
- log.output = new std::ofstream(filename.c_str());
|
||||
+ // Security: use the return value of fgValidatePath()
|
||||
+ log.output = new sg_ofstream(authorizedPath, std::ios_base::out);
|
||||
if (!log.output) {
|
||||
SG_LOG(SG_GENERAL, SG_ALERT, "Cannot write log to " << filename);
|
||||
continue;
|
||||
--- src/Main/logger.hxx.orig
|
||||
+++ src/Main/logger.hxx
|
||||
@@ -6,10 +6,10 @@
|
||||
#ifndef __LOGGER_HXX
|
||||
#define __LOGGER_HXX 1
|
||||
|
||||
-#include <iosfwd>
|
||||
#include <vector>
|
||||
|
||||
#include <simgear/compiler.h>
|
||||
+#include <simgear/io/iostreams/sgstream.hxx>
|
||||
#include <simgear/structure/subsystem_mgr.hxx>
|
||||
#include <simgear/props/props.hxx>
|
||||
|
||||
@@ -39,7 +39,7 @@ private:
|
||||
Log ();
|
||||
virtual ~Log ();
|
||||
std::vector<SGPropertyNode_ptr> nodes;
|
||||
- std::ostream * output;
|
||||
+ sg_ofstream * output;
|
||||
long interval_ms;
|
||||
double last_time_ms;
|
||||
char delimiter;
|
@ -1,28 +0,0 @@
|
||||
Fix for CVE-2017-8921 (backport of commit faf872e7)
|
||||
|
||||
--- src/Autopilot/route_mgr.cxx.orig
|
||||
+++ src/Autopilot/route_mgr.cxx
|
||||
@@ -74,7 +74,22 @@ static bool commandSaveFlightPlan(const SGPropertyNode* arg)
|
||||
{
|
||||
FGRouteMgr* self = (FGRouteMgr*) globals->get_subsystem("route-manager");
|
||||
SGPath path = SGPath::fromUtf8(arg->getStringValue("path"));
|
||||
- return self->saveRoute(path);
|
||||
+ SGPath authorizedPath = fgValidatePath(path, true /* write */);
|
||||
+
|
||||
+ if (!authorizedPath.isNull()) {
|
||||
+ return self->saveRoute(authorizedPath);
|
||||
+ } else {
|
||||
+ std::string msg =
|
||||
+ "The route manager was asked to write the flightplan to '" +
|
||||
+ path.utf8Str() + "', but this path is not authorized for writing. " +
|
||||
+ "Please choose another location, for instance in the $FG_HOME/Export "
|
||||
+ "folder (" + (globals->get_fg_home() / "Export").utf8Str() + ").";
|
||||
+
|
||||
+ SG_LOG(SG_AUTOPILOT, SG_ALERT, msg);
|
||||
+ modalMessageBox("FlightGear", "Unable to write to the specified file",
|
||||
+ msg);
|
||||
+ return false;
|
||||
+ }
|
||||
}
|
||||
|
||||
static bool commandActivateFlightPlan(const SGPropertyNode* arg)
|
@ -1,11 +0,0 @@
|
||||
--- CMakeLists.txt.orig 2017-06-30 11:44:05.757902000 +0200
|
||||
+++ CMakeLists.txt 2017-06-30 11:49:07.188128000 +0200
|
||||
@@ -226,7 +226,7 @@
|
||||
if(EVENT_INPUT)
|
||||
if(APPLE)
|
||||
add_definitions(-DWITH_EVENTINPUT)
|
||||
- elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
+ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD")
|
||||
if(NOT UDEV_FOUND)
|
||||
message(WARNING "UDev not found, event input is disabled!")
|
||||
set(EVENT_INPUT 0)
|
@ -1,13 +0,0 @@
|
||||
--- src/Main/CMakeLists.txt.orig 2017-02-22 17:29:45.000000000 +0000
|
||||
+++ src/Main/CMakeLists.txt 2017-02-28 12:42:12.797102000 +0000
|
||||
@@ -157,6 +157,10 @@
|
||||
target_link_libraries(fgfs Qt5::Widgets fglauncher)
|
||||
endif()
|
||||
|
||||
+if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
+ target_link_libraries(fgfs execinfo)
|
||||
+endif()
|
||||
+
|
||||
if (APPLE)
|
||||
install(TARGETS fgfs BUNDLE DESTINATION .)
|
||||
else()
|
@ -1,11 +0,0 @@
|
||||
--- utils/fgpanel/CMakeLists.txt.orig 2017-03-03 06:18:49.698586000 +0000
|
||||
+++ utils/fgpanel/CMakeLists.txt 2017-03-03 06:24:25.570507000 +0000
|
||||
@@ -19,7 +19,7 @@
|
||||
)
|
||||
|
||||
include_directories(
|
||||
- /usr/include/freetype2
|
||||
+ ${FREETYPE_INCLUDE_DIRS}
|
||||
${PNG_INCLUDE_DIR}
|
||||
)
|
||||
|
@ -14,8 +14,29 @@ bin/js_server
|
||||
bin/metar
|
||||
bin/yasim
|
||||
bin/yasim-proptest
|
||||
man/it/man1/GPSsmooth.1.gz
|
||||
man/it/man1/JSBSim.1.gz
|
||||
man/it/man1/MIDGsmooth.1.gz
|
||||
man/it/man1/UGsmooth.1.gz
|
||||
man/it/man1/fgcom.1.gz
|
||||
man/it/man1/fgelev.1.gz
|
||||
man/it/man1/fgfs.1.gz
|
||||
man/it/man1/fgjs.1.gz
|
||||
man/it/man1/fgpanel.1.gz
|
||||
man/it/man1/fgviewer.1.gz
|
||||
man/it/man1/js_demo.1.gz
|
||||
man/it/man1/metar.1.gz
|
||||
man/it/man5/fgfsrc.5.gz
|
||||
man/man1/GPSsmooth.1.gz
|
||||
man/man1/JSBSim.1.gz
|
||||
man/man1/MIDGsmooth.1.gz
|
||||
man/man1/UGsmooth.1.gz
|
||||
man/man1/fgcom.1.gz
|
||||
man/man1/fgelev.1.gz
|
||||
man/man1/fgfs.1.gz
|
||||
man/man1/fgjs.1.gz
|
||||
man/man1/fgpanel.1.gz
|
||||
man/man1/fgviewer.1.gz
|
||||
man/man1/js_demo.1.gz
|
||||
man/man1/terrasync.1.gz
|
||||
man/man1/metar.1.gz
|
||||
man/man5/fgfsrc.5.gz
|
||||
|
Loading…
Reference in New Issue
Block a user