mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-10 13:04:23 +01:00
* photoid.h, photoid.c (generate_photo_id): Allow passing in a
suggested filename. * keyedit.c (keyedit_menu, menu_adduid): Call it here so "addphoto filename" works.
This commit is contained in:
parent
516ec53e02
commit
be8543812d
@ -1,3 +1,11 @@
|
|||||||
|
2005-09-01 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
|
* photoid.h, photoid.c (generate_photo_id): Allow passing in a
|
||||||
|
suggested filename.
|
||||||
|
|
||||||
|
* keyedit.c (keyedit_menu, menu_adduid): Call it here so "addphoto
|
||||||
|
filename" works.
|
||||||
|
|
||||||
2005-08-31 David Shaw <dshaw@jabberwocky.com>
|
2005-08-31 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
* photoid.c (generate_photo_id): Enable readline completion and
|
* photoid.c (generate_photo_id): Enable readline completion and
|
||||||
|
@ -51,7 +51,8 @@ static void show_prefs( PKT_user_id *uid, PKT_signature *selfsig, int verbose);
|
|||||||
static void show_key_with_all_names( KBNODE keyblock, int only_marked,
|
static void show_key_with_all_names( KBNODE keyblock, int only_marked,
|
||||||
int with_revoker, int with_fpr, int with_subkeys, int with_prefs );
|
int with_revoker, int with_fpr, int with_subkeys, int with_prefs );
|
||||||
static void show_key_and_fingerprint( KBNODE keyblock );
|
static void show_key_and_fingerprint( KBNODE keyblock );
|
||||||
static int menu_adduid( KBNODE keyblock, KBNODE sec_keyblock, int photo );
|
static int menu_adduid( KBNODE keyblock, KBNODE sec_keyblock,
|
||||||
|
int photo, const char *photo_name );
|
||||||
static void menu_deluid( KBNODE pub_keyblock, KBNODE sec_keyblock );
|
static void menu_deluid( KBNODE pub_keyblock, KBNODE sec_keyblock );
|
||||||
static int menu_delsig( KBNODE pub_keyblock );
|
static int menu_delsig( KBNODE pub_keyblock );
|
||||||
static int menu_clean_sigs_from_uids(KBNODE keyblock);
|
static int menu_clean_sigs_from_uids(KBNODE keyblock);
|
||||||
@ -1788,7 +1789,7 @@ keyedit_menu( const char *username, STRLIST locusr,
|
|||||||
/* fall through */
|
/* fall through */
|
||||||
|
|
||||||
case cmdADDUID:
|
case cmdADDUID:
|
||||||
if( menu_adduid( keyblock, sec_keyblock, photo ) )
|
if( menu_adduid( keyblock, sec_keyblock, photo, arg_string ) )
|
||||||
{
|
{
|
||||||
update_trust = 1;
|
update_trust = 1;
|
||||||
redisplay = 1;
|
redisplay = 1;
|
||||||
@ -2910,7 +2911,8 @@ no_primary_warning(KBNODE keyblock)
|
|||||||
* Return true if there is a new user id
|
* Return true if there is a new user id
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
menu_adduid( KBNODE pub_keyblock, KBNODE sec_keyblock, int photo)
|
menu_adduid( KBNODE pub_keyblock, KBNODE sec_keyblock,
|
||||||
|
int photo, const char *photo_name)
|
||||||
{
|
{
|
||||||
PKT_user_id *uid;
|
PKT_user_id *uid;
|
||||||
PKT_public_key *pk=NULL;
|
PKT_public_key *pk=NULL;
|
||||||
@ -2976,7 +2978,7 @@ menu_adduid( KBNODE pub_keyblock, KBNODE sec_keyblock, int photo)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uid = generate_photo_id(pk);
|
uid = generate_photo_id(pk,photo_name);
|
||||||
} else
|
} else
|
||||||
uid = generate_user_id();
|
uid = generate_user_id();
|
||||||
if( !uid )
|
if( !uid )
|
||||||
|
@ -44,12 +44,12 @@
|
|||||||
|
|
||||||
/* Generate a new photo id packet, or return NULL if canceled */
|
/* Generate a new photo id packet, or return NULL if canceled */
|
||||||
PKT_user_id *
|
PKT_user_id *
|
||||||
generate_photo_id(PKT_public_key *pk)
|
generate_photo_id(PKT_public_key *pk,const char *photo_name)
|
||||||
{
|
{
|
||||||
PKT_user_id *uid;
|
PKT_user_id *uid;
|
||||||
int error=1,i;
|
int error=1,i;
|
||||||
unsigned int len;
|
unsigned int len;
|
||||||
char *filename=NULL;
|
char *filename;
|
||||||
byte *photo=NULL;
|
byte *photo=NULL;
|
||||||
byte header[16];
|
byte header[16];
|
||||||
IOBUF file;
|
IOBUF file;
|
||||||
@ -65,21 +65,29 @@ generate_photo_id(PKT_public_key *pk)
|
|||||||
#define EXTRA_UID_NAME_SPACE 71
|
#define EXTRA_UID_NAME_SPACE 71
|
||||||
uid=xmalloc_clear(sizeof(*uid)+71);
|
uid=xmalloc_clear(sizeof(*uid)+71);
|
||||||
|
|
||||||
tty_printf(_("\nPick an image to use for your photo ID. "
|
if(photo_name && *photo_name)
|
||||||
"The image must be a JPEG file.\n"
|
filename=make_filename(photo_name,(void *)NULL);
|
||||||
"Remember that the image is stored within your public key. "
|
else
|
||||||
"If you use a\n"
|
{
|
||||||
"very large picture, your key will become very large as well!\n"
|
tty_printf(_("\nPick an image to use for your photo ID."
|
||||||
"Keeping the image close to 240x288 is a good size to use.\n"));
|
" The image must be a JPEG file.\n"
|
||||||
|
"Remember that the image is stored within your public key."
|
||||||
|
" If you use a\n"
|
||||||
|
"very large picture, your key will become very large"
|
||||||
|
" as well!\n"
|
||||||
|
"Keeping the image close to 240x288 is a good size"
|
||||||
|
" to use.\n"));
|
||||||
|
filename=NULL;
|
||||||
|
}
|
||||||
|
|
||||||
while(photo==NULL)
|
while(photo==NULL)
|
||||||
|
{
|
||||||
|
if(filename==NULL)
|
||||||
{
|
{
|
||||||
char *tempname;
|
char *tempname;
|
||||||
|
|
||||||
tty_printf("\n");
|
tty_printf("\n");
|
||||||
|
|
||||||
xfree(filename);
|
|
||||||
|
|
||||||
tty_enable_completion(NULL);
|
tty_enable_completion(NULL);
|
||||||
|
|
||||||
tempname=cpr_get("photoid.jpeg.add",
|
tempname=cpr_get("photoid.jpeg.add",
|
||||||
@ -93,6 +101,7 @@ generate_photo_id(PKT_public_key *pk)
|
|||||||
|
|
||||||
if(strlen(filename)==0)
|
if(strlen(filename)==0)
|
||||||
goto scram;
|
goto scram;
|
||||||
|
}
|
||||||
|
|
||||||
file=iobuf_open(filename);
|
file=iobuf_open(filename);
|
||||||
if (file && is_secured_file (iobuf_get_fd (file)))
|
if (file && is_secured_file (iobuf_get_fd (file)))
|
||||||
@ -105,6 +114,8 @@ generate_photo_id(PKT_public_key *pk)
|
|||||||
{
|
{
|
||||||
log_error(_("unable to open JPEG file `%s': %s\n"),
|
log_error(_("unable to open JPEG file `%s': %s\n"),
|
||||||
filename,strerror(errno));
|
filename,strerror(errno));
|
||||||
|
xfree(filename);
|
||||||
|
filename=NULL;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,6 +127,8 @@ generate_photo_id(PKT_public_key *pk)
|
|||||||
_("Are you sure you want to use it? (y/N) ")))
|
_("Are you sure you want to use it? (y/N) ")))
|
||||||
{
|
{
|
||||||
iobuf_close(file);
|
iobuf_close(file);
|
||||||
|
xfree(filename);
|
||||||
|
filename=NULL;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -131,6 +144,8 @@ generate_photo_id(PKT_public_key *pk)
|
|||||||
log_error(_("`%s' is not a JPEG file\n"),filename);
|
log_error(_("`%s' is not a JPEG file\n"),filename);
|
||||||
xfree(photo);
|
xfree(photo);
|
||||||
photo=NULL;
|
photo=NULL;
|
||||||
|
xfree(filename);
|
||||||
|
filename=NULL;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,6 +168,8 @@ generate_photo_id(PKT_public_key *pk)
|
|||||||
free_attributes(uid);
|
free_attributes(uid);
|
||||||
xfree(photo);
|
xfree(photo);
|
||||||
photo=NULL;
|
photo=NULL;
|
||||||
|
xfree(filename);
|
||||||
|
filename=NULL;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
#include "packet.h"
|
#include "packet.h"
|
||||||
|
|
||||||
PKT_user_id *generate_photo_id(PKT_public_key *pk);
|
PKT_user_id *generate_photo_id(PKT_public_key *pk,const char *filename);
|
||||||
int parse_image_header(const struct user_attribute *attr,byte *type,u32 *len);
|
int parse_image_header(const struct user_attribute *attr,byte *type,u32 *len);
|
||||||
char *image_type_to_string(byte type,int style);
|
char *image_type_to_string(byte type,int style);
|
||||||
void show_photos(const struct user_attribute *attrs,
|
void show_photos(const struct user_attribute *attrs,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user