plus

10

--- a/host/lib/usrp/multi_usrp.cpp
+++ b/host/lib/usrp/multi_usrp.cpp
@@ -242,6 +242,7 @@ static tune_result_t tune_xx_subdev_and_dsp(
         );
 
     freq_range_t dsp_range = dsp_subtree->access<meta_range_t>("freq/range").get();
+    freq_range_t rf_range = rf_fe_subtree->access<meta_range_t>("freq/range").get();
 
     double clipped_requested_freq = tune_range.clip(tune_request.target_freq);
 
@@ -281,6 +282,7 @@ static tune_result_t tune_xx_subdev_and_dsp(
     //-- set the RF frequency depending upon the policy
     //------------------------------------------------------------------
     double target_rf_freq = 0.0;
+
     switch (tune_request.rf_freq_policy){
         case tune_request_t::POLICY_AUTO:
             target_rf_freq = clipped_requested_freq + lo_offset;
@@ -297,7 +299,7 @@ static tune_result_t tune_xx_subdev_and_dsp(
                     .set(tune_request.rf_freq - tune_request.target_freq);
             }
 
-            target_rf_freq = tune_request.rf_freq;
+            target_rf_freq = rf_range.clip(tune_request.rf_freq);
             break;
 
         case tune_request_t::POLICY_NONE:
plus

3

--- a/framework/daw/ApplicationProxy.js
+++ b/framework/daw/ApplicationProxy.js
@@ -70,13 +70,6 @@ ApplicationProxy.prototype.duplicate = function ()
     this.application.duplicate ();
 };
 
-ApplicationProxy.prototype.doubleClip = function ()
-{
-    // See Push manual, if we duplicate the Push functionality 
-    // this function must be somewhere else, e.g. in TrackBankProxy
-    displayNotification ("Duplicate: Function not supported (yet).");
-};
-
 ApplicationProxy.prototype.deleteSelection = function ()
 {
     this.application.remove ();
plus

413

index 0000000..92bba2c
--- /dev/null
+++ b/src/js/mep-feature-skipback.js
@@ -0,0 +1,31 @@
+(function($) {
+	// skip back button
+
+	$.extend(mejs.MepDefaults, {
+		skipBackInterval: 30,
+		// %1 will be replaced with skipBackInterval in this string
+		skipBackText: mejs.i18n.t('Skip back %1 seconds')
+	});
+
+	$.extend(MediaElementPlayer.prototype, {
+		buildskipback: function(player, controls, layers, media) {
+			var
+				t = this,
+				// Replace %1 with skip back interval
+				backText = t.options.skipBackText.replace('%1', t.options.skipBackInterval),
+				// create the loop button
+				loop =
+				$('<div class="mejs-button mejs-skip-back-button">' +
+					'<button type="button" aria-controls="' + t.id + '" title="' + backText + '" aria-label="' + backText + '">' + t.options.skipBackInterval + '</button>' +
+				'</div>')
+				// append it to the toolbar
+				.appendTo(controls)
+				// add a click toggle event
+				.click(function() {
+					media.setCurrentTime(Math.max(media.currentTime - t.options.skipBackInterval, 0));
+					$(this).find('button').blur();
+				});
+		}
+	});
+
+})(mejs.$);
plus

3

--- a/Csocket.h
+++ b/Csocket.h
@@ -855,6 +855,8 @@ class CS_EXPORT Csock : public CSockCommon
 #ifdef HAVE_LIBSSL
 	//! bitwise setter, @see EDisableProtocol
 	void DisableSSLProtocols( u_int uDisableOpts ) { m_uDisableProtocols = uDisableOpts; }
+	//! allow disabling compression
+	void DisableSSLCompression() { m_bNoSSLCompression = true; }
 	//! Set the cipher type ( openssl cipher [to see ciphers available] )
 	void SetCipher( const CS_STRING & sCipher );
 	const CS_STRING & GetCipher() const;
@@ -1159,7 +1161,7 @@ class CS_EXPORT Csock : public CSockCommon
 	size_t		m_iLastSend, m_uSendBufferPos;
 
 	CSSockAddr 	m_address, m_bindhost;
-	bool		m_bIsIPv6, m_bSkipConnect;
+	bool		m_bIsIPv6, m_bSkipConnect, m_bNoSSLCompression;
 	time_t		m_iLastCheckTimeoutTime;
 
 #ifdef HAVE_LIBSSL
@@ -1173,7 +1175,7 @@ class CS_EXPORT Csock : public CSockCommon
 
 	void FREE_SSL();
 	void FREE_CTX();
-	void CheckDisabledProtocols( SSL_CTX * pCTX );
+	void ConfigureCTXOptions( SSL_CTX * pCTX );
 
 #endif /* HAVE_LIBSSL */
 
plus

3

--- a/Workload.java
+++ b/Workload.java
@@ -34,7 +34,7 @@ public Workload (String filename, double packetRate, String _networkingScheme) t
         networkingScheme = _networkingScheme;
         vcRequestCount = 0;
         packetRequestCount = 0;
-        packetDuration = 1/packetRate;
+        packetDuration = ((double) 1)/packetRate;
         
         //Switch between networking schemes
         if(networkingScheme.equals("CIRCUIT"))
@@ -43,9 +43,7 @@ public Workload (String filename, double packetRate, String _networkingScheme) t
             {
                 // Parse each line individually and create a request
                 inputLine = instream.readLine();
-                currRequest = parseCircuits(inputLine);
-                currRequest.packets = (int) Math.ceil(currRequest.duration*(double)packetRate);
-                currRequest.packetDuration = packetDuration;
+                currRequest = parseCircuits(inputLine, packetRate);
                 allRequests.add(currRequest);
                 vcRequestCount++;
                 packetRequestCount += currRequest.packets;
@@ -57,7 +55,6 @@ else if(networkingScheme.equals("PACKET"))
             {
                 //Parse each line and create a series of requests based on input line
                 inputLine = instream.readLine();
-                packetDuration = 1/packetRate;
                 parsePackets(inputLine, packetDuration);
                 vcRequestCount++;
             }
@@ -65,7 +62,7 @@ else if(networkingScheme.equals("PACKET"))
 
         instream.close();
     }
-    public Request parseCircuits (String line)
+    public Request parseCircuits (String line, double packetRate)
     {
         Request request = new Request();
         
@@ -78,6 +75,8 @@ public Request parseCircuits (String line)
         request.source    = params[1];
         request.dest      = params[2];
         request.duration  = duration;
+        request.packets = (int) Math.ceil(duration*(double)packetRate);
+        request.packetDuration = ((double) 1)/packetRate;
         
         return request;
     }
@@ -116,7 +115,7 @@ public void parsePackets (String line, double packetDuration)
             else
             {
             	// Que?
-                currRequest.duration = packetDuration-Double.MIN_VALUE;
+                currRequest.duration = packetDuration;//-Double.MIN_VALUE;
             }
             packetRequestCount++;
             allRequests.add(currRequest);
plus

31

--- a/src/uas/UAS.cc
+++ b/src/uas/UAS.cc
@@ -2553,8 +2553,8 @@ void UAS::requestParameter(int component, const QString& parameter)
     {
         emit textMessageReceived(uasId, 0, MAV_SEVERITY_WARNING, QString("QGC WARNING: Parameter name %1 is more than %2 bytes long. This might lead to errors and mishaps!").arg(parameter).arg(MAVLINK_MSG_PARAM_REQUEST_READ_FIELD_PARAM_ID_LEN-1));
     }
-    memcpy(read.param_id, parameter.toStdString().c_str(), qMax(parameter.length(), MAVLINK_MSG_PARAM_REQUEST_READ_FIELD_PARAM_ID_LEN));
-    read.param_id[15] = '\0'; // Enforce null termination
+    strncpy(read.param_id, parameter.toStdString().c_str(), sizeof(read.param_id));
+    read.param_id[sizeof(read.param_id) - 1] = '\0'; // Enforce null termination
     read.target_system = uasId;
     read.target_component = component;
     mavlink_msg_param_request_read_encode(mavlink->getSystemId(), mavlink->getComponentId(), &msg, &read);
plus

37

--- a/src/dictionary.cc
+++ b/src/dictionary.cc
@@ -101,18 +101,24 @@ PATENT RIGHTS GRANT:
 #include <locktree/locktree.h>
 #include "ydb_row_lock.h"
 
-void dictionary::create(const char* dname) {
+void dictionary::create(const char* dname, const char* iname) {
     m_dname = toku_strdup(dname);
+    m_iname = toku_strdup(iname);
 }
 
 void dictionary::destroy(){
     toku_free(m_dname);
+    toku_free(m_iname);
 }
 
 const char* dictionary::get_dname() const {
     return m_dname;
 }
 
+const char* dictionary::get_iname() const {
+    return m_iname;
+}
+
 // verifies that either all of the metadata files we are expecting exist
 // or none do.
 int dictionary_manager::validate_environment(DB_ENV* env, bool* valid_newenv) {
@@ -554,7 +560,7 @@ dictionary* dictionary_manager::get_dictionary(const char * dname) {
     dictionary *dbi = find(dname);
     if (dbi == nullptr) {
         XCALLOC(dbi);
-        dbi->create(dname);
+        dbi->create(dname, dname); // TODO: FIX!!!!!!
         add_db(dbi);
     }
     toku_mutex_unlock(&m_mutex);
plus

3

--- a/src/clueGame/WalkwayCell.java
+++ b/src/clueGame/WalkwayCell.java
@@ -23,8 +23,4 @@ public void draw(Graphics g) {
 		g.drawRect(getColumn() * CELL_SIZE,  getRow() * CELL_SIZE,  CELL_SIZE, CELL_SIZE);	
 	}
 	
-	public void drawName(Graphics g, Board b) {
-		
-	}
-
 }
plus

5

--- a/lib/active_fedora/nested_attributes.rb
+++ b/lib/active_fedora/nested_attributes.rb
@@ -64,7 +64,7 @@ def accepts_nested_attributes_for(*attr_names)
         attr_names.each do |association_name|
           if reflection = reflect_on_association(association_name)
             reflection.options[:autosave] = true
-            # add_autosave_association_callbacks(reflection)
+            add_autosave_association_callbacks(reflection)
             ## TODO this ought to work, but doesn't seem to do the class inheritance right
 
             nested_attributes_options = self.nested_attributes_options.dup
@@ -81,8 +81,6 @@ def accepts_nested_attributes_for(*attr_names)
 
               def #{association_name}_attributes=(attributes)
                 assign_nested_attributes_for_#{type}_association(:#{association_name}, attributes)
-                ## in lieu of autosave_association_callbacks just save all of em.
-                send(:#{association_name}).each {|obj| obj.marked_for_destruction? ? obj.destroy : obj.save}
               end
             eoruby
           else
plus

57

--- a/src/modules/uORB/topics/rc_channels.h
+++ b/src/modules/uORB/topics/rc_channels.h
@@ -76,7 +76,6 @@ struct rc_channels_s {
 	uint64_t timestamp_last_valid;						/**< Timestamp of last valid RC signal */
 	float channels[RC_CHANNELS_FUNCTION_MAX];			/**< Scaled to -1..1 (throttle: 0..1) */
 	uint8_t channel_count;								/**< Number of valid channels */
-	char function_name[RC_CHANNELS_FUNCTION_MAX][20];	/**< String array to store the names of the functions */
 	int8_t function[RC_CHANNELS_FUNCTION_MAX];			/**< Functions mapping */
 	uint8_t rssi;										/**< Receive signal strength index */
 	bool signal_lost;									/**< Control signal lost, should be checked together with topic timeout */
plus

6

--- a/pypump/pypump.py
+++ b/pypump/pypump.py
@@ -1,4 +1,5 @@
 # -*- coding: utf-8 -*-
+
 ##
 #   Copyright (C) 2013 Jessica T. (Tsyesika) <xray7224@googlemail.com>
 #
@@ -222,7 +223,7 @@ def request(self, endpoint, method="GET", data="",
                 headers=None, timeout=None, **kwargs):
         """ Make request to endpoint with OAuth.
         Returns dictionary with response data.
-
+        
         :param endpoint: endpoint path, or a fully qualified URL if raw=True.
         :param method: GET (default), POST or DELETE.
         :param data: data to send in the request body.
@@ -353,6 +354,7 @@ def _requester(self, fnc, endpoint, raw=False, **kwargs):
             else:
                 self.set_http()
                 url = self._build_url(endpoint)
+                self.set_https()
                 raw = True
                 return self._requester(fnc, url, raw, **kwargs)
 
@@ -382,9 +384,19 @@ def oauth_request(self):
 
     def construct_oauth_url(self):
         """ Constructs verifier OAuth URL """
-        return self._build_url("oauth/authorize?oauth_token={token}".format(
-                token=self.store["oauth-request-token"]
-                ))
+        response = requests.head("http://{0}".format(self.client.server))
+        if response.is_redirect:
+            server = response.headers['location']
+        else:
+            server = response.url
+
+        path = "oauth/authorize?oauth_token={token}".format(
+            token=self.store["oauth-request-token"]
+        )
+        return "{server}{path}".format(
+            server=server,
+            path=path
+        )
 
     def verifier(self, verifier):
         """ Called once verifier has been retrived """
plus

67

--- a/template/shared/test/spacemonkey/functionalTests.js
+++ b/template/shared/test/spacemonkey/functionalTests.js
@@ -10,7 +10,7 @@ monkey.loadApp('/', {
 test('basic app experience', function () {
     monkey
         .log('starting')
-        .waitForVisible('#pages .page')
+        .waitForVisible('[data-hook="page-container"] .page')
         .confirm('The app loaded to the home page.')
         .confirm('The "home" nav tab is active')
         .goToPage('/collections')
@@ -20,11 +20,11 @@ test('basic app experience', function () {
             'each one is added at the bottom of the list',
             'each has a readable name an avatar'
         ])
-        .click('button.add')
-        .click('button.add')
-        .click('button.add')
-        .click('button.add')
-        .click('button.add')
+        .click('[data-hook="add"]')
+        .click('[data-hook="add"]')
+        .click('[data-hook="add"]')
+        .click('[data-hook="add"]')
+        .click('[data-hook="add"]')
         .confirm('Everything look ok?')
         .confirm('I can visually re-arrange them by pressing, "shuffle"')
         .confirm('I can hit reset and they disappear, and fetch and they come back.')
plus

6

--- a/Granite/src/main/java/org/granitemc/granite/GraniteAPI.java
+++ b/Granite/src/main/java/org/granitemc/granite/GraniteAPI.java
@@ -30,7 +30,6 @@
 import org.granitemc.granite.api.Server;
 import org.granitemc.granite.api.ServerConfig;
 import org.granitemc.granite.api.block.ItemType;
-import org.granitemc.granite.api.event.EventHandlerContainer;
 import org.granitemc.granite.api.event.EventQueue;
 import org.granitemc.granite.api.item.ItemStack;
 import org.granitemc.granite.api.permission.PermissionsHook;
@@ -145,12 +144,12 @@ public void loadPluginFromJar(File file) {
 
                                 plugins.add(container);
 
-                                // TODO: make this part better
-                                for (List<EventHandlerContainer> ehcList : container.getEvents().values()) {
-                                    for (EventHandlerContainer ehc : ehcList) {
-                                        eventQueue.addHandler(ehc.getEventType(), ehc);
-                                    }
-                                }
+                                // Load EventHandlerContainers AFTER server load, otherwise the EventHandlerContainers do not get loaded!
+//                                for (List<EventHandlerContainer> ehcList : container.getEvents().values()) {
+//                                    for (EventHandlerContainer ehc : ehcList) {
+//                                        eventQueue.addHandler(ehc.getEventType(), ehc);
+//                                    }
+//                                }
                             }
                         }
                     } catch (NoClassDefFoundError | ClassNotFoundException e) {
plus

29

--- a/util.py
+++ b/util.py
@@ -1296,7 +1296,7 @@ def module():
        WORKDIR shutit
        RUN pip install -r requirements.txt
 
-       WORKDIR ''' + skel_path + ''' # You probably want to change this
+       WORKDIR ''' + skel_path + ''' <- TODO You will need to to change this
        RUN /opt/shutit/shutit build --shutit_module_path /opt/shutit/library --delivery bash
 
        CMD ["/bin/bash"] 
plus

2752

--- a/tools/tests/package-tests.js
+++ b/tools/tests/package-tests.js
@@ -285,6 +285,13 @@ selftest.define("add packages to app", ["net"], function () {
   run.matchErr("no such version");
   run.expectExit(1);
 
+  // Adding a nonexistent package at a nonexistent version should print
+  // only one error message, not two. (We used to print "no such
+  // package" and "no such version".)
+  run = s.run("add", "not-a-real-package-and-never-will-be@1.0.0");
+  run.matchErr("no such package");
+  run.expectExit(1);
+  run.forbidAll("no such version");
 
   run = s.run("add", "accounts-base");
 
@@ -294,6 +301,15 @@ selftest.define("add packages to app", ["net"], function () {
   checkPackages(s,
                 ["meteor-platform", "accounts-base"]);
 
+  // Adding the nonexistent version now should still say "no such
+  // version". Regression test for
+  // https://github.com/meteor/meteor/issues/2898.
+  run = s.run("add", "accounts-base@0.123.123");
+  run.matchErr("no such version");
+  run.expectExit(1);
+  run.forbidAll("Currently using accounts-base");
+  run.forbidAll("will be changed to");
+
   run = s.run("--once");
 
   run = s.run("add", "say-something@1.0.0");
plus

7

--- a/src/main/java/net/sf/jabref/BibtexString.java
+++ b/src/main/java/net/sf/jabref/BibtexString.java
@@ -1,4 +1,4 @@
-/*  Copyright (C) 2003-2011 JabRef contributors.
+/*  Copyright (C) 2003-2014 JabRef contributors.
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
@@ -67,7 +67,7 @@
         }
 
         public static final Type get(String name) {
-        	if (name.length() == 0) {
+        	if (name.length() <= 1) {
         		return OTHER;
         	}
             if (!(name.charAt(1) + "").toUpperCase().equals(
plus

7

--- a/tfcCEVinstaller.py
+++ b/tfcCEVinstaller.py
@@ -27,9 +27,10 @@
 
 TFC-CEV (Cascading Encryption Version)
 tfcCEVinstaller.py
-version = '0.4.11 beta'
 """
 
+version = '0.4.11 beta'
+
 # Licences of encryption libraries
 
 # Keccak
plus

56

--- a/tests/test_apps/adhocddl/src/adhocddl/AdHocDDLBenchmark.java
+++ b/tests/test_apps/adhocddl/src/adhocddl/AdHocDDLBenchmark.java
@@ -21,7 +21,7 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 
-
+package adhocddl;
 
 import java.io.FileWriter;
 import java.io.IOException;
@@ -189,7 +189,7 @@ public void run() {
      * @param sqlstmt
      * @return exec time
      */
-    public long runTest(String sqlstmt) {
+    public long runTest(String sqlstmt) throws Exception {
         // synchronously call the "AdHoc" procedure
         try
         {
@@ -211,15 +211,15 @@ public long runTest(String sqlstmt) {
         catch (Exception e)
         {
             e.printStackTrace();
+            throw e;
         }
-        return 0;
     }
 
     /**
      * Run the config.numOfTests times CREATE and Drop
      * @return avg exec time for CREATE and DROP in total
      */
-    public float averageLatencyTest()
+    public float averageLatencyTest() throws Exception
     {
         String createStmt = DDLGen.CreateTable(0, config.table);
         String dropStmt = DDLGen.DropTable(0, config.table);
@@ -249,7 +249,7 @@ public float averageLatencyTest()
      * @param startNo
      * @param endNo
      */
-    public void updateServer(int startNo, int endNo)
+    public void updateServer(int startNo, int endNo) throws Exception
     {
         StringBuffer sqlstmt = new StringBuffer();
         for(int i = startNo; i < endNo; i++)
@@ -269,7 +269,7 @@ public void updateServer(int startNo, int endNo)
      * @param startNo
      * @param endNo
      */
-    public void clearServer(int startNo, int endNo)
+    public void clearServer(int startNo, int endNo) throws Exception
     {
         StringBuffer sqlstmt = new StringBuffer();
         for(int i = startNo; i < endNo; i++)
@@ -290,7 +290,7 @@ public void clearServer(int startNo, int endNo)
      * @param label
      * @throws IOException
      */
-    public void bunchTest(int col, FileWriter fw, String label) throws IOException
+    public void bunchTest(int col, FileWriter fw, String label) throws Exception
     {
         fullStatsContext.fetchAndResetBaseline();
         DDLGen = new DDLGenerator(col, config.idxPercent);
plus

15

--- a/src/utilities.c
+++ b/src/utilities.c
@@ -423,7 +423,7 @@ static void rm_mounts_create_tables(RmMountTable *self) {
                 /* folder and devname rm_sys_stat() are ok but blkid failed; this happens when?
                  * Treat as a non-rotational device using devname dev as whole_disk key
                  * */
-                rm_log_error(RED"blkid_devno_to_wholedisk failed for %s\n"RESET, entry->mnt_fsname);
+                rm_log_debug(RED"blkid_devno_to_wholedisk failed for %s\n"RESET, entry->mnt_fsname);
                 whole_disk = stat_buf_dev.st_dev;
                 strncpy(diskname, entry->mnt_fsname, sizeof(diskname));
                 is_rotational = false;
plus

19

--- a/gslib/commands/cp.py
+++ b/gslib/commands/cp.py
@@ -271,10 +271,14 @@
 
     long_running_computation | gsutil cp - gs://my_bucket/obj
 
-  Note that streaming transfers do not support resumable uploads/downloads, so
-  if you have a large amount of data to upload (say, more than 100MB) it is
-  recommended to write the data to a local file and then copy that file to the
-  cloud rather than streaming it (and similarly for large downloads).
+  Streaming uploads using the JSON API (see "gsutil help apis") are buffered in
+  memory and can retry in the event of network flakiness or service errors.
+
+  Streaming transfers (other than uploads using the JSON API) do not support
+  resumable uploads/downloads. If you have a large amount of data to upload
+  (say, more than 100MB) it is recommended to write the data to a local file and
+  then copy that file to the cloud rather than streaming it (and similarly for
+  large downloads).
 """
 
 PARALLEL_COMPOSITE_UPLOADS_TEXT = """