void ACNetworkCookieJar::load()
{
    QMutexLocker lock(&mutex);
    Q_UNUSED(lock);
    QByteArray data = Utility::Instance()->getValue("Cookies").toByteArray();
    setAllCookies(QNetworkCookie::parseCookies(data));
}
Exemple #2
0
GagCookieJar::GagCookieJar(QObject *parent) :
    QNetworkCookieJar(parent)
{
    QSettings settings;
    const QByteArray rawCookies = settings.value("cookies").toByteArray();
    setAllCookies(QNetworkCookie::parseCookies(rawCookies));
}
void
PersistentCookieJar::load()
{
    unicorn::AppSettings settings;
    QByteArray data = settings.value("Cookies").toByteArray();
    setAllCookies( QNetworkCookie::parseCookies( data ) );
}
Exemple #4
0
void CookieJar::restoreCookies()
{
    if (!QFile::exists(m_activeProfil + "cookies.dat") || mApp->isPrivateSession()) {
        return;
    }

    QDateTime now = QDateTime::currentDateTime();

    QList<QNetworkCookie> restoredCookies;
    QFile file(m_activeProfil + "cookies.dat");
    file.open(QIODevice::ReadOnly);
    QDataStream stream(&file);
    int count;

    stream >> count;
    for (int i = 0; i < count; i++) {
        QByteArray rawForm;
        stream >> rawForm;
        const QList<QNetworkCookie> &cookieList = QNetworkCookie::parseCookies(rawForm);
        if (cookieList.isEmpty()) {
            continue;
        }

        const QNetworkCookie &cookie = cookieList.at(0);

        if (cookie.expirationDate() < now) {
            continue;
        }
        restoredCookies.append(cookie);
    }

    file.close();
    setAllCookies(restoredCookies);
}
Exemple #5
0
void CookieJar::load()
{
    QFile cookieFile(m_cookieFileName);
    if (!cookieFile.open(QIODevice::ReadOnly))
        return;

    QDataStream stream(&cookieFile);
    quint8 version;
    stream >> version;
    if (version != cookieFileVersion)
        return;

    QList<QNetworkCookie> cookies;
    qint32 count;
    stream >> count;

#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
    cookies.reserve(count);
#endif
    for (int i = 0; i < count && !stream.atEnd(); ++i) {
        QByteArray rawCookie;
        stream >> rawCookie;
        cookies += QNetworkCookie::parseCookies(rawCookie);
    }

    setAllCookies(cookies);

    expireCookies();
}
Exemple #6
0
CookieJar::CookieJar(QObject *parent) : QNetworkCookieJar(parent) {
	//Read allowed cookiedomains
    QFile allowedDomains(QDir::homePath()+"/.ybdb/whitelistCookies");
	if (allowedDomains.exists()) {
		allowedDomains.open(QFile::ReadOnly);
		while (allowedDomains.bytesAvailable()) {
			QByteArray arr = allowedDomains.readLine();
			QString domain = QString::fromUtf8(arr);
			if (domain.endsWith("\n"))
				domain.chop(1);
			if (domain.size() < 1) continue;
			qDebug() << "Whitelisted cookiedomain: " << domain;
			allowedCookieDomains.append(domain);
		}
		allowedDomains.close();
	}
	allowedCookieDomains.removeDuplicates();

	//Read saved cookies
    QFile cookies(QDir::homePath()+"/.ybdb/cookies");
	if (cookies.exists()) {
		QList<QNetworkCookie> cookieList;
		cookies.open(QFile::ReadOnly);
		while (cookies.bytesAvailable()) {
			QByteArray arr = cookies.readLine();
			QString cookie = QString::fromUtf8(arr);
			if (cookie.endsWith("\n")) cookie.chop(1);
			cookieList.append(QNetworkCookie::parseCookies(cookie.toUtf8()));
		}
		cookies.close();
		setAllCookies(cookieList);
	}
    qDebug()<<"alfkjalsjkalgjaljskl";
    //saveAll = Settings::get("saveallcookies", QVariant(true)).toBool();
}
Exemple #7
0
void CookieJar::loadCookies()
{
    QString fName = m_appPath;
    fName += "cookies";
    QSettings cnFile(fName, QSettings::IniFormat);

    setVkLogin(cnFile.value("login").toString());

    QList<QNetworkCookie> cookies;
    int size = cnFile.beginReadArray("cookies");
    for(int i=0; i<size; i++) {
        QNetworkCookie cook;

        cnFile.setArrayIndex(i);

        cook.setName(cnFile.value("name").toByteArray());
        cook.setValue(cnFile.value("value").toByteArray());
        cook.setDomain(cnFile.value("domain").toByteArray());
        cook.setPath(cnFile.value("path").toByteArray());

        cookies.insert(i, cook);
    }
    cnFile.endArray();

    setAllCookies(cookies);
}
Exemple #8
0
void CookieJar::clearCookieJar()
{
    if (m_cookieSavingTimer.isActive())
        m_cookieSavingTimer.stop();

    setAllCookies(QList<QNetworkCookie>());
    save();
}
void CleanableCookieJar::clean_session_cookies(){
  QList<QNetworkCookie> cookies(allCookies());

  for(QList<QNetworkCookie>::iterator i = cookies.begin(); i != cookies.end(); i++)
    while(i->isSessionCookie())
      i = cookies.erase(i);

  setAllCookies(cookies);
}
void CookieJar::ClearCookies()
{
    if (!cookieDiskFile_.isEmpty())
    {
        QFile cookiesFile(cookieDiskFile_);
        if (cookiesFile.exists())
            cookiesFile.remove();
    }
    setAllCookies(QList<QNetworkCookie>());
}
Exemple #11
0
void SharedCookieJarQt::deleteAllCookies()
{
    if (!m_database.isOpen())
        return;

    QSqlQuery sqlQuery(m_database);
    sqlQuery.prepare(QLatin1String("DELETE FROM cookies"));
    sqlQuery.exec();
    setAllCookies(QList<QNetworkCookie>());
}
Exemple #12
0
void SimpleFileCookieJar::clean()
{
    auto cookies = allCookies();

    QDateTime now = QDateTime::currentDateTime();
    foreach(QNetworkCookie cookie, cookies)
        if(cookie.expirationDate() < now)
            cookies.removeAll(cookie);

    setAllCookies(cookies);
}
Exemple #13
0
bool FileCookieJar::loadCookies(const QString &AFile)
{
	QFile file(AFile);
	if (file.open(QFile::ReadOnly))
	{
		QList<QNetworkCookie> cookies;
		QList<QByteArray> cookieItems = file.readAll().split('\n');
		foreach(const QByteArray &cookieItem, cookieItems)
			cookies.append(QNetworkCookie::parseCookies(cookieItem));
		setAllCookies(cookies);
		return true;
	}
void NetworkCookieJar::DoEndSession()
{
	QDateTime xNow=QDateTime::currentDateTime().toTimeSpec(Qt::UTC);
	QList<QNetworkCookie> axC=allCookies();
	forint(i,axC)
	{
		const QNetworkCookie& xC=axC[i];
		if(xC.isSessionCookie()) {axC.removeAt(i);i--;continue;};
		if(xNow>xC.expirationDate()) {axC.removeAt(i);i--;continue;};
	};
	setAllCookies(axC);
}
Exemple #15
0
void CookieJar::purgeOldCookies()
{
  auto cookies = allCookies();
  if (cookies.isEmpty())
    return;
  auto now = QDateTime::currentDateTime();
  for (int i = cookies.count() - 1; i >= 0; --i) {
    if (!cookies.at(i).isSessionCookie() && cookies.at(i).expirationDate() < now)
      cookies.removeAt(i);
  }
  setAllCookies(cookies);
}
Exemple #16
0
void SharedCookieJarQt::loadCookies()
{
    if (!m_database.isOpen())
        return;

    QList<QNetworkCookie> cookies;
    QSqlQuery sqlQuery(m_database);
    sqlQuery.prepare(QLatin1String("SELECT cookie FROM cookies"));
    sqlQuery.exec();
    while (sqlQuery.next())
        cookies.append(QNetworkCookie::parseCookies(sqlQuery.value(0).toByteArray()));
    setAllCookies(cookies);
}
Exemple #17
0
void CookieJar::purgeExpiredCookies()
{
	QList<QNetworkCookie> cookiesList = allCookies();

	if(cookiesList.isEmpty()) return;

	int cookieCount = cookiesList.count();
	QDateTime now = QDateTime::currentDateTimeUtc();
	for(int i = cookieCount - 1;i >= 0; --i) {
		if(!cookiesList.at(i).isSessionCookie() && cookiesList.at(i).expirationDate() < now) cookiesList.removeAt(i);
	}

	if(cookieCount != cookiesList.count()) setAllCookies(cookiesList);
}
Exemple #18
0
void CookieJar::loadCookies(const QString& filename)
{
  QFile cookieFile(filename);
  if (!cookieFile.open(QIODevice::ReadOnly)) {
    qWarning("Couldn't read cookie file.");
    return;
  }
  QList<QNetworkCookie> cookies = QNetworkCookie::parseCookies(cookieFile.readAll());
  if (cookies.count() == 0) {
    qWarning() << "Failed to load cookie";
  } else {
    setAllCookies(cookies);
  }
}
Exemple #19
0
void CookieJar::expireCookies()
{
    const QList<QNetworkCookie>& currentCookies = allCookies();
    QList<QNetworkCookie> newCookies;
#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0)
    newCookies.reserve(currentCookies.count());
#endif
    QDateTime now = QDateTime::currentDateTime();
    foreach (const QNetworkCookie& cookie, currentCookies) {
        if (!cookie.isSessionCookie() && cookie.expirationDate() < now)
            continue;
        newCookies += cookie;
    }
    setAllCookies(newCookies);
}
void CookieJar::read()
{
    qDebug() << Q_FUNC_INFO;
    qDebug() << COOKIE_PATH;
    QFile f(COOKIE);

    if(!f.exists())
    {
        return;
    }

    if (!f.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        return;
    }

    QList<QNetworkCookie> list;

    while(!f.atEnd())
    {
        QList<QByteArray> spl = f.readLine().split(';');
        QList<QByteArray> cookie = spl[0].split('=');

        if(cookie.length() < 2 || cookie[0].isEmpty() || cookie[1].isEmpty())
        {
            continue;
        }

        QMap<QByteArray, QByteArray> add;
        for(int cnt = 1; spl.length() > cnt; cnt++)
        {
            QList<QByteArray> t = spl[cnt].split('=');
            if(t.count() > 1)
            {
                add[t[0].trimmed()] = t[1].trimmed();
            }
        }

        QNetworkCookie c;
        c.setName(cookie[0]);
        c.setValue(cookie[1]);
        c.setPath(add["path"]);
        c.setDomain(add["domain"]);
        c.setExpirationDate(QDateTime::fromString(add["expires"]));
        list.append(c);
    }
    setAllCookies(list);
}
Exemple #21
0
Cookies::Cookies(QObject *parent) : QNetworkCookieJar(parent)
{
	QFile cookieFile(Multiuso::appDirPath() + "/navigateurWeb/autre/cookies.mltscookie");

	if (cookieFile.exists() && cookieFile.open(QIODevice::ReadOnly))
	{
		QList<QNetworkCookie> list;

		QByteArray line;

		while (!(line = cookieFile.readLine()).isNull())
			list.append(QNetworkCookie::parseCookies(line));

		setAllCookies(list);
	}
}
Exemple #22
0
/**
 * This function comes from the official qt demo at
 *      http://doc.qt.io/qt-5/qtwebkitexamples-webkitwidgets-browser-cookiejar-cpp.html
 */
void CookieJar::purgeOldCookies(){

    QList<QNetworkCookie> cookies = allCookies();
    if (cookies.isEmpty())
        return;
    int oldCount = cookies.count();
    QDateTime now = QDateTime::currentDateTime();
    for (int i = cookies.count() - 1; i >= 0; --i) {
        if (!cookies.at(i).isSessionCookie() && cookies.at(i).expirationDate() < now)
            cookies.removeAt(i);
    }
    if (oldCount == cookies.count())
        return;
    setAllCookies(cookies);
    //This last line from the example was omitted as it is not relevant to the function of this project?
    //emit cookiesChanged();
}
Exemple #23
0
void SharedCookieJarQt::deleteCookiesForHostname(const String& hostname)
{
    if (!m_database.isOpen())
        return;

    QList<QNetworkCookie> cookies = allCookies();
    QList<QNetworkCookie>::Iterator it = cookies.begin();
    QList<QNetworkCookie>::Iterator end = cookies.end();
    QSqlQuery sqlQuery(m_database);
    sqlQuery.prepare(QLatin1String("DELETE FROM cookies WHERE cookieId=:cookieIdvalue"));
    while (it != end) {
        if (it->domain() == QString(hostname)) {
            sqlQuery.bindValue(QLatin1String(":cookieIdvalue"), it->domain().append(QLatin1String(it->name())));
            sqlQuery.exec();
            it = cookies.erase(it);
        } else
            it++;
    }
    setAllCookies(cookies);
}
void CookieJar::ReadCookies()
{
    if (cookieDiskFile_.isEmpty())
        return;

    QFile cookiesFile(cookieDiskFile_);
    if (!cookiesFile.open(QIODevice::ReadOnly))
        return;

    QList<QNetworkCookie> cookies;
    QDataStream cookieData(&cookiesFile);
    while (!cookieData.atEnd())
    {
        QByteArray rawCookie;
        cookieData >> rawCookie;
        cookies.append(QNetworkCookie::parseCookies(rawCookie));
    }
    cookiesFile.close();
    setAllCookies(cookies);
}
Exemple #25
0
void CookieJar::deleteCookieForUrl(const QUrl& url, const QString& cookieName)
{
#ifdef U_CJ_DEBUG
	qDebug() << Q_FUNC_INFO;
#endif
	QList<QNetworkCookie> cookieList;

	if(url.isEmpty() || !url.isValid()) {
		if(cookieName.isEmpty()) {
			setAllCookies(QList<QNetworkCookie>());
		} else {
			cookieList = allCookies();

			QList<QNetworkCookie>::Iterator it = cookieList.begin();
			while(it != cookieList.end()) {
				if(it->name() == cookieName) {
					deleteCookie(*it);
					it = cookieList.erase(it);
				} else
					it++;
			}
		}
	} else {
		cookieList = cookiesForUrl(url);

		QList<QNetworkCookie>::Iterator it = cookieList.begin();
		while(it != cookieList.end()) {
			if(it->name() == cookieName || cookieName.isEmpty()) {
				deleteCookie(*it);
				it = cookieList.erase(it);

				if(!cookieName.isEmpty())
					break;
			} else
				it++;
		}
	}
}
Exemple #26
0
bool GagCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)
{
    bool addedCookies = false;

    // lets save cookies for 90 days only
    QDateTime soon = QDateTime::currentDateTime();
    soon = soon.addDays(90);

    foreach(QNetworkCookie cookie, cookieList) {
        QList<QNetworkCookie> lst;
        if (!cookie.isSessionCookie() && cookie.expirationDate() > soon) {
            cookie.setExpirationDate(soon);
        }
        lst += cookie;
        if (QNetworkCookieJar::setCookiesFromUrl(lst, url)) {
            addedCookies = true;
        } else {
            // finally force it in if wanted
            QList<QNetworkCookie> cookies = allCookies();
            cookies += cookie;
            setAllCookies(cookies);
            addedCookies = true;
        }
    }
void NetworkCookieJar::SetAllCookies(const QList<QNetworkCookie> &cookies){
    setAllCookies(cookies);
}
void ACNetworkCookieJar::clearCookies()
{
    QList<QNetworkCookie> emptyList;
    setAllCookies(emptyList);
}
Exemple #29
0
void CookieJar::clearCookies()
{
    setAllCookies(QList<QNetworkCookie>());
}
void PersistentCookieJar::loadState()
{
  QSettings settings(MainApplication::ORGANISATION_NAME, MainApplication::APPLICATION_NAME);
  QByteArray cookieData = settings.value("Application/Cookies").toByteArray();
  setAllCookies(QNetworkCookie::parseCookies(cookieData));
}