kio Library: ksslpemcallback.cc Source File (kio Library)

| # kio Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# ksslpemcallback.cc

    00001 /* This file is part of the KDE project
    00002  *
    00003  * Copyright (C) 2001 George Staikos <staikos@kde.org>
    00004  *
    00005  * This library is free software; you can redistribute it and/or
    00006  * modify it under the terms of the GNU Library General Public
    00007  * License as published by the Free Software Foundation; either
    00008  * version 2 of the License, or (at your option) any later version.
    00009  *
    00010  * This library is distributed in the hope that it will be useful,
    00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013  * Library General Public License for more details.
    00014  *
    00015  * You should have received a copy of the GNU Library General Public License
    00016  * along with this library; see the file COPYING.LIB.  If not, write to
    00017  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00018  * Boston, MA 02111-1307, USA.
    00019  */
    00020
    00021 #ifdef HAVE_CONFIG_H
    00022 #include <config.h>
    00023 #endif
    00024
    00025 #include <kpassdlg.h>
    00026 #include <klocale.h>
    00027 #include "ksslpemcallback.h"
    00028
    00029 int KSSLPemCallback(char *buf, int size, int rwflag, void *userdata) {
    00030 #ifdef KSSL_HAVE_SSL
    00031     QCString pass;
    00032     Q_UNUSED(userdata);
    00033     Q_UNUSED(rwflag);
    00034
    00035     if (!buf) return -1;
    00036     int rc = KPasswordDialog::getPassword(pass, i18n("Certificate password"));
    00037     if (rc != KPasswordDialog::Accepted) return -1;
    00038
    00039     if (pass.length() > (unsigned int)size-1)
    00040         pass.truncate((unsigned int)size-1);
    00041
    00042     qstrncpy(buf, pass.data(), size-1);
    00043     for (unsigned int i = 0; i < pass.length(); i++)
    00044         pass[i] = 0;
    00045     // To be sure that it doesn't optimise the previous loop away
    00046     for (unsigned int i = 0; i < pass.length(); i++)
    00047         pass[i] = pass[i];
    00048     buf[size-1] = 0;
    00049     return (int)pass.length();
    00050 #else
    00051     Q_UNUSED(buf);
    00052     Q_UNUSED(size);
    00053     Q_UNUSED(rwflag);
    00054     Q_UNUSED(userdata);
    00055     return -1;
    00056 #endif
    00057 }
    00058
    00059

This file is part of the documentation for kio Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:24:04 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003