예제 #1
0
bool fmd5app::heartbeat()
{
	int a = 0xA0F980;
	stringc aa(a, 16);
	stringc bb = fitoa16(a);
	stringc tmp = fmd5(bb.c_str(), bb.size());

	uint32_t cc32 = fcrc32(bb.c_str(), bb.size());
	uint32_t cc32a = fcrc32a(bb.c_str(), bb.size());
	FUSE(cc32);
	FUSE(cc32a);
	stringc sha1 = fsha1(bb.c_str(), bb.size());
    FUSE(sha1);
    
    uint8_t src[]="12345678";
    uint8_t des[8];
    uint8_t ddes[8];
    fdes("12345678", src, 8, des);
    fundes("12345678", des, 8, ddes);
    stringc des1 = fdes("12345678", "12345678");
    stringc src1 = fundes("12345678", des1);
    FUSE(src1);

   
    uint8_t aes_src[]="1234567812345678";
    uint8_t aes_des[16];
    uint8_t aes_ddes[16];
    faes("12345678", aes_src, 16, aes_des);
    funaes("12345678", aes_des, 16, aes_ddes);
    stringc aes_des1 = faes("12345678", "1234567812345678");
    stringc aes_src1 = funaes("12345678", aes_des1);
    FUSE(aes_src1);
    
	return true;
}
int main(int argc, char **argv)
{
	sub_img_info_t sii;
	struct stat st;

	process_options(argc, argv);

	memset(&sii, 0, sizeof(sii));

	if (strlen(name) > PART_NAME_MAX_LEN) {
		fprintf(stderr, "Partition name length(%d) exceeds MAX_LEN(%d)\n",
				strlen(name), PART_NAME_MAX_LEN);
		goto fail_out;
	}
	fin = fopen(in, "r");
	if (fin == NULL) {
		fprintf(stderr, "Open %s failed.\n", in);
		goto fail_out;
	}
	if (fstat(fileno(fin), &st)) {
		fprintf(stderr, "Can't stat %s.\n", in);
	}

	fout = fopen(out, "w+");
	if (fout == NULL) {
		fprintf(stderr, "Open %s failed.\n", out);
		goto fail_out;
	}

	sii.size = st.st_size;
	sii.crc = fcrc32(fin);
	strcpy(sii.name, name);
	sii.version = version;
	sii.reserved_blocks = reserved_blocks;
	sii.chip_start_blkind = chip_start_blkind;
	sii.chip_num_blocks = chip_num_blocks;
	sii.data_type = data_type;

	if (fwrite(&sii, sizeof(sii), 1, fout) != 1) {
		fprintf(stderr, "Write %s failed.\n", out);
		goto fail_out;
	}

	return 0;

fail_out:
	return 1;
}
예제 #3
0
/* mkupdate():
 * Takes the incoming argument list assumed to be filenames and turns
 * that into a script that can be put on a target and run to test a
 * set of on-board files and update them via tftp if necessary.
 */
void
mkupdate(void)
{
	int	ifd;
	unsigned long crc;
	char *buf, *comma;

	flist = fbase;
	printf("\n#\n#\n");
	printf("if $TFTPSRVR seq \\$TFTPSRVR goto %s\n",NOSRVR_ERROR);
	printf("set FTOT 0\n\n");

	printf("\n#\n##############################################\n");
	printf("# File tests:\n");
	printf("##############################################\n#\n\n");

	while(flist) {
		if (fcrc32(flist->host_fname,&crc,0) < 0)
			usage(0);

		printf("\n# Test %s:\n",flist->tfs_fname);
		printf("set FILE %s\n",flist->tfs_fname);
		printf("tfs base %s BASE\n",flist->tfs_fname);
		printf("if $BASE seq \\$BASE gosub LOAD_%s\n",flist->tfs_fname);
		printf("tfs size %s SIZE\n",flist->tfs_fname);
		printf("if $SIZE seq \\$SIZE goto %s\n",DLDFAILURE_ERROR);
		printf("mt -C $BASE $SIZE\n");
		printf("if $MTCRC ne 0x%08lx gosub LOAD_%s\n",crc,flist->tfs_fname);
		flist = flist->next;
	}

	flist = fbase;
	printf("\n\n");
	printf("echo $FTOT files updated.\n");
	printf("exit\n");

	printf("\n#\n##############################################\n");
	printf("# Subroutines:\n");
	printf("##############################################\n#\n\n");
	while(flist) {
		char fbuf[32], ibuf[32];

		ibuf[0] = fbuf[0] = 0;
		if (flist->flags[0])
			sprintf(fbuf," -f %s",flist->flags);
		if (flist->info[0])
			sprintf(ibuf," -i %s",flist->info);

		printf("\n#\n# LOAD_%s:\n",flist->tfs_fname);

		if (prefix[0])
			printf("tftp -F %s%s%s $TFTPSRVR get %s/%s\n",
				flist->tfs_fname,fbuf,ibuf,prefix,flist->host_fname);
		else
			printf("tftp -F %s%s%s $TFTPSRVR get %s\n",
				flist->tfs_fname,fbuf,ibuf,flist->host_fname);

		printf("set -i FTOT\nreturn\n");
		flist = flist->next;
	}

	printf("\n#\n##############################################\n");
	printf("# Error handlers:\n");
	printf("##############################################\n#\n\n");

	printf("\n");
	printf("# %s:\n",NOSRVR_ERROR);
	printf("echo This script requires the TFTPSRVR shell var be set.\n");
	printf("exit\n");

	printf("\n");
	printf("# %s:\n",DLDFAILURE_ERROR);
	printf("echo Failed to download ${FILE}, script aborted.\n");
	printf("exit\n");

}