Derek Wright <[email protected]> wrote on 2010/09/30 16:33:18: > > On Thu, Sep 30, 2010 at 10:19 AM, Joakim Tjernlund > <[email protected]> wrote: > > Derek Wright <[email protected]> wrote on 2010/09/30 16:11:57: > >> > >> On Thu, Sep 30, 2010 at 9:45 AM, Joakim Tjernlund > >> <[email protected]> wrote: > >> > Derek Wright <[email protected]> wrote on 2010/09/30 15:27:06: > >> >> > >> >> Hello all, I'm attempting to write a very small program that utilizes > >> >> the > >> >> bacula hmac and bin_to_base64 functions so I can auth to my director as > >> >> a > >> >> console. It seems that my output is slightly different than what the > >> >> director > >> >> computes for a base64 hash, example: > >> >> > >> >> Director expects: p6+IvREdwWdjZ8kPkQ+cUC > >> >> But the program I wrote gives: p6+IvREdwWdjZ8kPkQ+cU > >> > > >> > Could it be that Director expects an newline in the end? > >> > > >> > Jocke > >> > > >> > > >> But that ascii "C" is created in the encoding process from the 16bit > >> hmac-md5 hash (i think? :P ). When I take the text output from my > >> program and send it to the director it is terminated with a newline > >> character. Basically im executing this little program w/ PHP exec() > >> and sending the generated base64 to my director via a socket so I can > >> build a webapp to auth/manage all of my Bacula directors. > > > > Add en newline to the passwd before you hash it? > > > > > > That didnt seem to work, here is the new code: > > #include "bacula.h" > > char* chal; > char* password; > uint8_t hmac[20]; > char base64[23]; > uint8_t i; > char* newline; > > int main(int argc, char *argv[]) > { > chal = argv[1]; > newline = "\n"; > password = argv[2]; > strcat(password, newline); > hmac_md5((uint8_t *)chal, 50, (uint8_t *)password, > strlen(password), hmac); > bin_to_base64(base64, sizeof(base64), (char *)hmac, 16, false) + 1; > printf("%s\n", base64); > } > > labsrv03.***********-dir: cram-md5.c:104-0 Authenticate NOT OK: wanted > c8/PW59kvg/vO/+n3E/gjD, got c8/PW59kvg/vO/+n3E/gj > > I grabbed these routines right from the cram-md5.c file in bacula to > see how it checks the cram-md5-reponse and verifies it.
seems a bit short, should base64[23] be bigger? ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Bacula-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bacula-devel
