Get last_mac Address

if client not using SSO Login, then make a check if client try to login with no mac address, reject it. maybe like that
yes how can we reject login without mac address?
just create a script that @kicks user if his last_mac = 0000--000-0-00--0-0-0

thanks evilpuncker, i never thought about that
default_biggrin.png


 
I had already enabled sso packet when diff my client , but dunno why my last_mac  always goes to  0
default_sleep.png


AUAabs7w4.png
 
Last edited by a moderator:
@@Alexandria rocred is not an updater, but a login tool
default_tongue.png


@Topic

Updated it to the latest Hercules source code (as of the date of this post) and changed patch format to Git compliant, and added some mirrors.

 
Last edited by a moderator:
Let me see what I can do

Edit: Might not able to test the edit, since I don't have Launcher (and I need to recompile the server , which I couldn't afford atm)

Here you go:

https://github.com/dastgir/HPM-Plugins/tree/master/diff
OMG! TNX dastgir!

Tested and:

I don't know if it is related. but somehow, if i use ROCRED it always says failed (no error in map-server) to connect to server after character select. cant seem to check if last_mac is working. but i can log in without the ROCRED launcher could not detect last_mac.

FIXED! WORKING!

 
Last edited by a moderator:
@@Alexandria rocred is not an updater, but a login tool
default_tongue.png


@Topic

Updated it to the latest Hercules source code (as of the date of this post) and changed patch format to Git compliant, and added some mirrors.
Its confusing me. is this working or no? the First line of this topic is "it is not working" 

please edit if its working now. TY

 
Buenas, esto funciona? esta muy bueno la verdad! y e intentado meterlo manual pero no encuentro la linea

char *accname = (char *)RFIFOP(fd, 9);
         char *token = (char *)RFIFOP(fd, 0x5C);
+        char *mac = {(char *)RFIFOP(fd, 60)};
         size_t uAccLen = strlen(accname);
+        size_t uMac = 18;
         size_t uTokenLen = RFIFOREST(fd) - 0x5C;
+        safestrncpy(mac,mac, uMac);
+        safestrncpy(sd->mac_address,mac, uMac);
 
         version = RFIFOL(fd,4);
 
en src/login/login.c
 
alguien me colabora? y decir si funciona o no?
 
Buenas, esto funciona? esta muy bueno la verdad! y e intentado meterlo manual pero no encuentro la linea

char *accname = (char *)RFIFOP(fd, 9);
         char *token = (char *)RFIFOP(fd, 0x5C);
+        char *mac = {(char *)RFIFOP(fd, 60)};
         size_t uAccLen = strlen(accname);
+        size_t uMac = 18;
         size_t uTokenLen = RFIFOREST(fd) - 0x5C;
+        safestrncpy(mac,mac, uMac);
+        safestrncpy(sd->mac_address,mac, uMac);
 
         version = RFIFOL(fd,4);
 
en src/login/login.c
 
alguien me colabora? y decir si funciona o no?
Funciona...

 
Error in clif :

lclif.c:87:37: error: ‘const struct packet_CA_LOGIN’ has no member named ‘mac_address’
  safestrncpy(sd->mac_address, packet->mac_address, 17); // Mac Length on Address is 17
 
Can somebody update patch file ?
Thx a lot !
 
Back
Top