コード例 #1
0
ファイル: seash_helper.py プロジェクト: Albinpa/MPCSN
def reset_vessel_timeout():

  # resets each vessel's timeout to the original values before file upload
  for longname in seash_global_variables.vesselinfo:
    thisvesselhandle = seash_global_variables.vesselinfo[longname]['handle']
    thisvesselhandledict = fastnmclient.nmclient_get_handle_info(thisvesselhandle)
    thisvesselhandledict['timeout'] = seash_global_variables.globalseashtimeout
    fastnmclient.nmclient_set_handle_info(thisvesselhandle,thisvesselhandledict)
コード例 #2
0
ファイル: seash_helper.py プロジェクト: SeattleTestbed/attic
def reset_vessel_timeout():

    # resets each vessel's timeout to the original values before file upload
    for longname in seash_global_variables.vesselinfo:
        thisvesselhandle = seash_global_variables.vesselinfo[longname][
            'handle']
        thisvesselhandledict = fastnmclient.nmclient_get_handle_info(
            thisvesselhandle)
        thisvesselhandledict[
            'timeout'] = seash_global_variables.globalseashtimeout
        fastnmclient.nmclient_set_handle_info(thisvesselhandle,
                                              thisvesselhandledict)
コード例 #3
0
ファイル: seash_helper.py プロジェクト: Albinpa/MPCSN
def set_upload_timeout(filedata):

  filesize = len(filedata)
  est_upload_time = filesize / seash_global_variables.globaluploadrate

  # sets the new timeout if necessary
  if est_upload_time > seash_global_variables.globalseashtimeout:

    for longname in seash_global_variables.vesselinfo:
      thisvesselhandle = seash_global_variables.vesselinfo[longname]['handle']
      thisvesselhandledict = fastnmclient.nmclient_get_handle_info(thisvesselhandle)
      thisvesselhandledict['timeout'] = est_upload_time
      fastnmclient.nmclient_set_handle_info(thisvesselhandle,thisvesselhandledict)
コード例 #4
0
ファイル: seash_helper.py プロジェクト: SeattleTestbed/attic
def set_upload_timeout(filedata):

    filesize = len(filedata)
    est_upload_time = filesize / seash_global_variables.globaluploadrate

    # sets the new timeout if necessary
    if est_upload_time > seash_global_variables.globalseashtimeout:

        for longname in seash_global_variables.vesselinfo:
            thisvesselhandle = seash_global_variables.vesselinfo[longname][
                'handle']
            thisvesselhandledict = fastnmclient.nmclient_get_handle_info(
                thisvesselhandle)
            thisvesselhandledict['timeout'] = est_upload_time
            fastnmclient.nmclient_set_handle_info(thisvesselhandle,
                                                  thisvesselhandledict)
コード例 #5
0
ファイル: seash_helper.py プロジェクト: SeattleTestbed/attic
def savestate(statefn, handleinfo, host, port, expnum, filename, cmdargs,
              defaulttarget, defaultkeyname, autosave, currentkeyname):

    # obtain the handle info dictionary
    for longname in seash_global_variables.vesselinfo.keys():
        vessel_handle = seash_global_variables.vesselinfo[longname]['handle']
        handleinfo[longname] = fastnmclient.nmclient_get_handle_info(
            vessel_handle)

    state = {}
    state['targets'] = seash_global_variables.targets
    state['keys'] = seash_global_variables.keys
    state['vesselinfo'] = seash_global_variables.vesselinfo
    state['nextid'] = seash_global_variables.nextid
    state['handleinfo'] = handleinfo
    state['host'] = host
    state['port'] = port
    state['expnum'] = expnum
    state['filename'] = filename
    state['cmdargs'] = cmdargs
    state['defaulttarget'] = defaulttarget
    state['defaultkeyname'] = defaultkeyname
    state['autosave'] = autosave
    state['globalseashtimeout'] = seash_global_variables.globalseashtimeout
    state['globaluploadrate'] = seash_global_variables.globaluploadrate

    # serialize states and encrypt
    if seash_global_variables.keys.has_key(defaultkeyname):
        cypher = rsa_encrypt(
            serialize_serializedata(state),
            seash_global_variables.keys[currentkeyname]['publickey'])
    else:
        raise seash_exceptions.UserError("The keyname '" + defaultkeyname +
                                         "' is not loaded.")

    # writing encrypted serialized states to file
    # Exceptions are caught outside of the method
    try:
        state_obj = open(statefn, 'w')
        state_obj.write(cypher)
    finally:
        state_obj.close()
コード例 #6
0
ファイル: seash_helper.py プロジェクト: Albinpa/MPCSN
def savestate(statefn, handleinfo, host, port, expnum, filename, cmdargs,
              defaulttarget, defaultkeyname, autosave, currentkeyname):

  # obtain the handle info dictionary
  for longname in seash_global_variables.vesselinfo.keys():
    vessel_handle = seash_global_variables.vesselinfo[longname]['handle']
    handleinfo[longname] = fastnmclient.nmclient_get_handle_info(vessel_handle)


  state = {}
  state['targets'] = seash_global_variables.targets
  state['keys'] = seash_global_variables.keys
  state['vesselinfo'] = seash_global_variables.vesselinfo
  state['nextid'] = seash_global_variables.nextid
  state['handleinfo'] = handleinfo
  state['host'] = host
  state['port'] = port
  state['expnum'] = expnum
  state['filename'] = filename
  state['cmdargs'] = cmdargs
  state['defaulttarget'] = defaulttarget
  state['defaultkeyname'] = defaultkeyname
  state['autosave'] = autosave
  state['globalseashtimeout'] = seash_global_variables.globalseashtimeout
  state['globaluploadrate'] = seash_global_variables.globaluploadrate


  # serialize states and encrypt
  if seash_global_variables.keys.has_key(defaultkeyname):
    cypher = rsa_encrypt(serialize_serializedata(state), seash_global_variables.keys[currentkeyname]['publickey'])
  else:
    raise seash_exceptions.UserError("The keyname '" + defaultkeyname + "' is not loaded.")


  # writing encrypted serialized states to file
  # Exceptions are caught outside of the method
  try:
    state_obj = open(statefn, 'w')
    state_obj.write(cypher)
  finally:
    state_obj.close()
コード例 #7
0
ファイル: seash_helper.py プロジェクト: Albinpa/MPCSN
  try:
    # need to contact the node to get the list of vessels we can perform
    # actions on...
    ownervessels, uservessels = fastnmclient.nmclient_listaccessiblevessels(nodehandle,seash_global_variables.keys[currentkeyname]['publickey'])

    retlist = []

    # we should add anything we can access (whether a user or owner vessel)
    for vesselname in ownervessels + uservessels:
      longname = host+":"+str(port)+":"+vesselname

      # if we haven't discovered the vessel previously...
      if longname not in seash_global_variables.targets:
        # set the vesselname in the handle
        newhandle = fastnmclient.nmclient_duplicatehandle(nodehandle)
        handleinfo = fastnmclient.nmclient_get_handle_info(newhandle)
        handleinfo['vesselname'] = vesselname
        fastnmclient.nmclient_set_handle_info(newhandle, handleinfo)

        # then add the vessel to the target list, etc.
        # add_vessel has no race conditions as long as longname is unique
        # (and it should be unique)
        id = add_vessel(longname,currentkeyname,newhandle)
        seash_global_variables.targets[targetgroup].append(longname)

        # and append some information to be printed...
        retlist.append('%'+str(id)+"("+longname+")")



  finally:
コード例 #8
0
ファイル: seash_helper.py プロジェクト: SeattleTestbed/attic
        # actions on...
        ownervessels, uservessels = fastnmclient.nmclient_listaccessiblevessels(
            nodehandle,
            seash_global_variables.keys[currentkeyname]['publickey'])

        retlist = []

        # we should add anything we can access (whether a user or owner vessel)
        for vesselname in ownervessels + uservessels:
            longname = host + ":" + str(port) + ":" + vesselname

            # if we haven't discovered the vessel previously...
            if longname not in seash_global_variables.targets:
                # set the vesselname in the handle
                newhandle = fastnmclient.nmclient_duplicatehandle(nodehandle)
                handleinfo = fastnmclient.nmclient_get_handle_info(newhandle)
                handleinfo['vesselname'] = vesselname
                fastnmclient.nmclient_set_handle_info(newhandle, handleinfo)

                # then add the vessel to the target list, etc.
                # add_vessel has no race conditions as long as longname is unique
                # (and it should be unique)
                id = add_vessel(longname, currentkeyname, newhandle)
                seash_global_variables.targets[targetgroup].append(longname)

                # and append some information to be printed...
                retlist.append('%' + str(id) + "(" + longname + ")")

    finally:
        fastnmclient.nmclient_destroyhandle(nodehandle)