Ejemplo n.º 1
0
// recursive key copy
DWORD
TSHReg::CopyKey(HKEY hkeySrc, LPCTSTR szSrcSubKey, HKEY hkeyDest, DWORD fReserved)
{
  static TModuleProc4<DWORD,HKEY,LPCTSTR,HKEY,DWORD>
         copyKey(GetModule(), CopyKeyStr);
  return copyKey(hkeySrc, szSrcSubKey, hkeyDest, fReserved);
}
Ejemplo n.º 2
0
int isValidKeyfile(FILE *keyfile, char *a[], int max_period){
	char s[30];
	int i = 0;
	int pi = 0;
	while(!feof(keyfile)){
		fgets(s, 29, keyfile);
		if(!feof(keyfile)){
			if(strlen(s) != 27){
				fprintf(stderr, "Error: Invalid Key File\n");
				return -1;
			} 
			for(i = 0; i < 26; i++){
				if(s[i] < 'a' || s[i] > 'z'){
					break;
				}
			}
			if(s[i + 1] != 0 && s[i] != '\n'){
				fprintf(stderr, "Error: Invalid Key File\n");
				return -1;
			}
			if(pi < max_period){
				a[pi] = malloc(sizeof(char) * 26);
				copyKey(a[pi], s);				
				pi++;
			}
			
		}
		
	}
	return pi;
}
Ejemplo n.º 3
0
	bool increment(llong* id, valvec<byte>* key) override {
		auto owner = static_cast<const MockWritableIndex*>(m_index.get());
		if (nark_likely(owner->m_kv.begin() != m_iter)) {
			--m_iter;
			*id = m_iter->second;
			copyKey(m_iter->first, key);
			return true;
		}
		return false;
	}
Ejemplo n.º 4
0
	bool increment(llong* id, valvec<byte>* key) override {
		auto owner = static_cast<const MockWritableIndex*>(m_index.get());
		SpinRwLock lock(owner->m_rwMutex, false);
		if (terark_likely(owner->m_kv.end() != m_iter)) {
			*id = m_iter->second;
			copyKey(m_iter->first, key);
			++m_iter;
			return true;
		}
		return false;
	}
Ejemplo n.º 5
0
void RouterKeygen::rightButtonClicked(QObject *obj, const QPoint &pos) {
    if (obj == ui->passwordsList) {
        if (ui->passwordsList->count() == 0)
            return;
        if (ui->passwordsList->selectedItems().size() == 0)
            return;
        QMenu *menu = new QMenu();
        QAction * copy = new QAction(tr("Copy"), this);
        copy->setShortcut(QKeySequence::Copy);
        copy->setStatusTip(tr("Copy this key"));
        connect(copy, SIGNAL(triggered()), this, SLOT(copyKey()));
        menu->addAction(copy);
        menu->exec(pos);
    }
}
Ejemplo n.º 6
0
	int seekLowerBound(fstring key, llong* id, valvec<byte>* retKey) override {
		auto owner = static_cast<const MockWritableIndex*>(m_index.get());
		auto kv = std::make_pair(makeKey<Key>(key), 0LL);
		auto iter = owner->m_kv.lower_bound(kv);
		m_iter = iter;
		if (owner->m_kv.end() != iter) {
			++m_iter;
			*id = iter->second;
			copyKey(iter->first, retKey);
			if (iter->first == kv.first)
				return 0;
			else
				return 1;
		}
		return -1;
	}
Ejemplo n.º 7
0
	int seekLowerBound(fstring key, llong* id, valvec<byte>* retKey) override {
		auto owner = static_cast<const MockWritableIndex*>(m_index.get());
		auto kv = std::make_pair(makeKey<Key>(key), 0LL);
		SpinRwLock lock(owner->m_rwMutex, false);
		auto iter = owner->m_kv.upper_bound(kv);
		if (owner->m_kv.begin() != iter) {
			m_iter = --iter;
			*id = iter->second;
			copyKey(iter->first, retKey);
			if (iter->first == kv.first)
				return 0;
			else
				return 1;
		}
		else {
			m_iter = iter;
			return -1;
		}
	}
Ejemplo n.º 8
0
/** parseEnVar
 * Input:
 *	char *env -> the environment variable to parse
 * Output:
 *	int *n the number of key/val pairs parsed
 *	Envar * -> structure containing key/val pairs
 */ 
Envar *parseEnVar(char *env, int *n)
{
        Envar *c = NULL;
        int nc = 0;
        char *cookiestr = NULL;

        if (!env)
        {
                *n = 0;
                return NULL;
        }
        /* add ; to end of string for easier parsing */
        cookiestr = malloc(strlen(env) + 2);
        sprintf(cookiestr, "%s;", env);

        env = cookiestr;
        while (*env)
        {
                char *next = strstr(env, ";");
                if (next)
                {
                        /* Get this token */
                        c = realloc(c, sizeof(Envar)*(nc + 1));
                        c[nc].key = copyKey(env);
                        c[nc].val = copyVal(env);
                        nc++;

                        /* find next token */
                        env = next + 1;
                        while (*env && isspace(*env))
                                env++;
                }
        }

        /* Clean up crumbs! */
        free(cookiestr);
        *n = nc;
        return c;
}