gpg: Make function mk_datestr public.
[gnupg.git] / g10 / seckey-cert.c
index ec866b3..a7a8739 100644 (file)
@@ -15,7 +15,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
  */
 
 #error Not anymore used - only kept for reference in the repository.
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <assert.h>
 
 #include "gpg.h"
-#include "util.h"
+#include "../common/util.h"
 #include "packet.h"
 #include "keydb.h"
 #include "cipher.h"
 #include "main.h"
 #include "options.h"
-#include "i18n.h"
-#include "status.h"
+#include "../common/i18n.h"
+#include "../common/status.h"
 #include "pkglue.h"
 
 static int
@@ -55,25 +54,20 @@ xxxx_do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
 
        if( sk->protect.s2k.mode == 1001 ) {
            log_info(_("secret key parts are not available\n"));
-           return G10ERR_UNU_SECKEY;
+           return GPG_ERR_UNUSABLE_SECKEY;
        }
        if( sk->protect.algo == CIPHER_ALGO_NONE )
            BUG();
        if( openpgp_cipher_test_algo( sk->protect.algo ) ) {
            log_info(_("protection algorithm %d%s is not supported\n"),
                        sk->protect.algo,sk->protect.algo==1?" (IDEA)":"" );
-           if (sk->protect.algo==CIPHER_ALGO_IDEA)
-              {
-                write_status (STATUS_RSA_OR_IDEA);
-                idea_cipher_warn (0);
-              }
-           return G10ERR_CIPHER_ALGO;
+           return GPG_ERR_CIPHER_ALGO;
        }
        if(gcry_md_test_algo (sk->protect.s2k.hash_algo))
          {
            log_info(_("protection digest %d is not supported\n"),
                     sk->protect.s2k.hash_algo);
-           return G10ERR_DIGEST_ALGO;
+           return GPG_ERR_DIGEST_ALGO;
          }
        keyid_from_sk( sk, keyid );
        keyid[2] = keyid[3] = 0;
@@ -120,7 +114,7 @@ xxxx_do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
             ndata = (ndatabits+7)/8;
 
             if ( ndata > 1 )
-                csumc = p[ndata-2] << 8 | p[ndata-1];
+              csumc = buf16_to_u16 (p+ndata-2);
            data = xmalloc_secure ( ndata );
            gcry_cipher_decrypt ( cipher_hd, data, ndata, p, ndata );
            gcry_mpi_release (sk->skey[i]); sk->skey[i] = NULL ;
@@ -254,7 +248,7 @@ xxxx_do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
            csum += checksum_mpi( sk->skey[i] );
        }
        if( csum != sk->csum )
-           return G10ERR_CHECKSUM;
+           return GPG_ERR_CHECKSUM;
     }
 
     return 0;